summaryrefslogtreecommitdiff
path: root/assemble
blob: 3ad14f7d96bfe754d62bc76bde357e97f21037d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use B::Assembler qw(assemble_fh);
use FileHandle;

my ($filename, $fh);

if ($ARGV[0] eq "-d") {
    B::Assembler::debug(1);
    shift;
}

if (@ARGV == 0) {
    $fh = \*STDIN;
    $filename = "-";
} elsif (@ARGV == 1) {
    $filename = $ARGV[0];
    $fh = new FileHandle "<$filename";
} else {
    die "Usage: assemble [filename]\n";
}

$SIG{__WARN__} = sub { warn "$filename:@_" };
$SIG{__DIE__} = sub { die "$filename: @_" };
assemble_fh($fh, sub { print @_ });