MMP
Jump to navigation
Jump to search
MMP - MicroMathProcessor
This language is built to do math. I suppose that a 'MMP+' could include text output, but currently all I/O is integer I/O because I want all programs to run the same on all platforms; different charsets, and standards would make that impossible.
By default, position 1 is selected on tape. Positions below 1 aren't assumed to exist.
R=register
| s | select position R on tape |
| r | copy tape selection to register |
| t | copy register to tape |
| o | output register |
| i | input to register |
| ( | while register |
| ) | wend |
| f | if R>0 goto instruction # at tape |
| g | GOTO instruction R |
| e | end execution |
| + | increment register |
| - | decrement register |
| < | move selection on tape left |
| > | move selection on tape right |
This language is Turing-complete.
| Brainfuck | MMP | Brainfuck | MMP | |
|---|---|---|---|---|
| < | < | > | > | |
| + | r+t | - | r-t | |
| , | i | . | o | |
| [ | r( | ] | r) |
this conversion shows MMP to be turing complete.
Please don't flame me for how bad this language is, or how badly formatted this page is; I am 13 and this is my first esolang. Not to mention, I can't figure out how to use formatting on this page editor.