Acme-Beatnik
view release on metacpan or search on metacpan
%reftable =
(5, \&_push,
6, \&_pop,
7, \&_add,
8, \&_input,
9, \&_output,
10, \&_subtract,
11, \&_swap,
12, \&_duplicate,
13, \&_jump_forward_if_zero,
14, \&_jump_forward_if_not_zero,
15, \&_jump_back_if_zero,
16, \&_jump_back_if_not_zero,
17, \&_halt
);
%scrabble =
('A',1,'B',3,'C',3,'D',2,'E',1,'F',4,'G',2,'H',4,'I',1,'J',8,'K',5,'L',1,'M',3,'N',1,'O',1,'P',3,'Q',10,'R',1,'S',1,'T',1,'U',1,'V',4,'W',4,'X',8,'Y',4,'Z',10);
$VERSION = '0.02';
sub _push
{ $ip++;
push(@stack,$stack[$#stack]);
}
sub _jump_forward_if_zero
{ my $n = pop(@stack);
$ip++;
if($n == 0)
{ $ip += $numbers[$ip]; print "jump $n words forward\n" if $debug; }
}
sub _jump_forward_if_not_zero
{ my $n = pop(@stack);
$ip++;
if($n != 0)
{ $ip += $numbers[$ip]; print "jump $n words forward\n" if $debug; }
}
sub _jump_back_if_zero
{ my $n = pop(@stack);
$ip++;
if($n == 0) { $ip -= $numbers[$ip]; print "jump $n words backward\n" if $debug; }
}
sub _jump_back_if_not_zero
{ my $n = pop(@stack);
$ip++;
if($n != 0) { $ip -= $numbers[$ip]; print "jump $n words backward\n" if $debug; }
}
sub _halt
{ $ip = $#numbers+1;
print "halting...\n" if $debug;
exit;
}
( run in 0.828 second using v1.01-cache-2.11-cpan-cc502c75498 )