@NUM
Jump to navigation
Jump to search
@NUM
@NUM is my first programming language (the name is based on the structure of the code). The language itself consists of a syntax of 12 "words". @NUM is based on the size and simplicity of Brainf***, but adds the ability for dynamic memory manipulation. This language uses a cell based memory system and can technically have methods!
| Symbols | Purpose? |
|---|---|
| # | sets current address to the number on the right |
| @ | sets current cell value to the number on the right(only positive permitted) |
| + | increments current cell value by one |
| - | decrements current cell value by one |
| , | returns current point in input (the ascii number of the character) |
| $ | prints current cell value (in ascii) |
| ! | prints current cell value (the integer value) |
| = {} | if the number to the right of the ? is equal to the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| > {} | if the number to the right of the > is greater than the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| < {} | if the number to the right of the < is less than the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| E {} | while the number to the right of the E is equal to the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| G {} | while the number to the right of the G is greater than the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| L {} | while the number to the right of the L is less than the current cell value, then the code inside is the {} performed, otherwise it is skipped |
| F {} | for 0 to the number to the right of the F is less than the current cell value, then the code inside is the {} performed, otherwise it is skipped, sets current index to it's iterative index (0 to num) |
| % | the number on the right of this is the address of a cell, and the % sign returns the value of that cell(valid as return number for all syntax requiring it) |
| i | returns the length of input |
| ^ | returns square of number on the right |
| : | returns current cell address |
To Do
I just need to finish my interpreter, which has a couple bugs, and then make some examples