Acme::URMURM (unlimited register machine) emulation | |
Download |
Acme::URM Ranking & Summary
Advertisement
- License:
- Perl Artistic License
- Price:
- FREE
- Publisher Name:
- Alexander Soudakov
- Publisher web site:
- http://search.cpan.org/~cyga/
Acme::URM Tags
Acme::URM Description
URM (unlimited register machine) emulation Acme::URM is a Perl module that gives you the methods needed to emulate an URM in Perl.Why? Because we can.What is URM?URM stands for unlimited register machine.URM has unlimited number of registers: R0, R1, ... Those contain natural numbers: r0, r1, ... Default values for ri are 0.Instruction for URM is one of the following instructions: * Z(n) - set up register with index n to zero * S(n) - increment value of register with index n by 1 * T(m, n) - set up register with index n to value of register with index m * J(m, n, q) - conditional instruction: if values of registers with indexes m, n are equal, then go to insturction with index q (zero based index), else move to following instructionProgram of URM is a finite list of URM instructions.SYNOPSIS use Acme::URM; my $rm = Acme::URM->new(); # program that summarize parameters given in R0,R1 $urm->program( 'T(0,2)', 'T(1,3)', 'J(3,4,6)', 'S(2)', 'S(4)', 'J(0,0,2)', 'T(0,3)', 'J(3,1,'.Acme::URM::LAST.')', 'J(3,2,11)', 'S(3)', 'J(0,0,7)', 'T(1,0)', ); $urm->register( 0, 2, 2 ); # fill the registers my $res = $urm->run(); # res must be 4 Requirements: · Perl
Acme::URM Related Software