#!/usr/bin/perl
use SWF::Builder::ActionScript::Compiler;
use Getopt::Std;
use Pod::Usage;
my %opts;
getopts('ath?e:V:W:O:T:', \%opts);
pod2usage() if $opts{h} or $opts{'?'};
my $text = $opts{e};
unless (defined $text) {
local $/;
$text = <>;
}
$a = SWF::Builder::ActionScript::Compiler->new($text, Version=>$opts{V}, Warning =>$opts{W}, Optimize => $opts{O}, Trace => $opts{T});
if ($opts{t}) {
$a->compile('tree');
} elsif ($opts{a}) {
$a->compile('text');
} else {
$a->compile('dump');
}
__END__
=head1 NAME
asc.plx - SWF ActionScript compiler script.
=head1 SYNOPSIS
perl asc.plx [ -V[5/6] -Wx -Ox -Tsss -t -a ] [ file.as / -e 'script' ]
=head2 Options
=over 4
=item -V
SWF version. 5 or 6. Default is 6.
=item -W
Warning level.
=item -O
Optimizarion control flags.
=item -T
How to compile trace action. none/eval/lcwin/trace.
=item -t
Output a parsed syntax tree instead of compiled action records.
=item -a
Output an 'assembly' action tag list instead of compiled action records.
=item -e
Compile given script text instead of a file.
=item -h/-?
Show this message.
=back
=cut