Line | |
---|
1 | use B::Assembler qw(assemble_fh);
|
---|
2 | use FileHandle;
|
---|
3 |
|
---|
4 | my ($filename, $fh, $out);
|
---|
5 |
|
---|
6 | if ($ARGV[0] eq "-d") {
|
---|
7 | B::Assembler::debug(1);
|
---|
8 | shift;
|
---|
9 | }
|
---|
10 |
|
---|
11 | $out = \*STDOUT;
|
---|
12 |
|
---|
13 | if (@ARGV == 0) {
|
---|
14 | $fh = \*STDIN;
|
---|
15 | $filename = "-";
|
---|
16 | } elsif (@ARGV == 1) {
|
---|
17 | $filename = $ARGV[0];
|
---|
18 | $fh = new FileHandle "<$filename";
|
---|
19 | } elsif (@ARGV == 2) {
|
---|
20 | $filename = $ARGV[0];
|
---|
21 | $fh = new FileHandle "<$filename";
|
---|
22 | $out = new FileHandle ">$ARGV[1]";
|
---|
23 | } else {
|
---|
24 | die "Usage: assemble [filename] [outfilename]\n";
|
---|
25 | }
|
---|
26 |
|
---|
27 | binmode $out;
|
---|
28 | $SIG{__WARN__} = sub { warn "$filename:@_" };
|
---|
29 | $SIG{__DIE__} = sub { die "$filename: @_" };
|
---|
30 | assemble_fh($fh, sub { print $out @_ });
|
---|
Note:
See
TracBrowser
for help on using the repository browser.