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