A compiler for the URM15 programming language.
Jason K. MacDuffie 7b0e9dcafe Ignore urm15c-files | 9 anos atrás | |
---|---|---|
.gitignore | 9 anos atrás | |
LICENSE | 9 anos atrás | |
README.md | 9 anos atrás | |
add.urm | 9 anos atrás | |
urm.scm | 9 anos atrás |
URM15scm is an interpreter for my language, URM15, which is based off of a theoretical model of an unbounded register machine. A complete description of the internal operations of this machine are given at https://proofwiki.org/wiki/Definition:Unlimited_Register_Machine
The registers and instructions begin indexing at 1 in the language, but internally they start indexing at 0.
Commands are read line-by-line, with comments beginning with the character '#' which potentially allows for #! syntax (although I doubt anyone needs it). The program keeps executing instructions in order, unless a jump occurs in which case it executes the line specified by the jump.
The program stops running when it tries to execute an instruction that does not exist. This either happens by jumping to a non-existent location, or simply by executing the final instruction.
There are four computation commands, and four I/O commands: Rx is read as "the register with index x."