int main()
{
int acc = 0, asc = 0;
srandomdev();
EOF
$post = <<EOF;
putchar('\\n');
}
EOF
$post_loop = <<EOF;
}
}
EOF
%ops = (
a => 'acc++',
b => 'acc--',
c => 'asc ? putchar(acc) : printf("%d", acc)',
d => 'acc = -acc',
r => 'acc = random() % (acc+1)',
n => 'acc = 0',
'$'=>'asc = !asc',
';'=>'printf("%d%c", acc, (char)acc)'
);
sub compile {
my ($abc) = @_;
die "Syntax error: unrecognized operator $1 at char $+[1]\n"
if $abc =~ /([^abcdrn\$l;\s])/;
warn "Unreachable code detected at char @{[$-[1]+(1)]}: $1\n"
if $abc =~ /l\s*(\S+.*)/s;