Its just like Brainfck but with 6 new commands...here is the complete listing of commands:
> moves the pointer east.
< moves the pointer west.
^ moves the pointer north.
v moves the pointer south.
+ increment (increase by one) the value(top of the stack) at the pointer.
- decrement (decrease by one) the value(top of the stack) at the pointer.
. output the value of the byte(top of the stack) at the pointer.
, accept one byte of input, storing its value in the top of the stack at the pointer.
[ jump forward to the command after the corresponding ] if the byte at the pointer is zero.
] jump back to the command after the corresponding [ if the byte at the pointer is nonzero.
@ pushes an empty cell onto the top of the location's stack
# pops the top most cell off of the location's stack
% copies the current location's value and places it into the global variable
& pastes the global variable's value into the current location's value
Now, let me explain the new aspects. Its not 1d like BF, this is 2d. You can move in 4 directions instead of 2. Also, each "cell" is now a stack. When you use + and -, you affect the top of the stack. There are also 2 commands for coping and pasting cells.
I did this in 2 hours so the code is ugly, crammed into 2 functions, and may not work 100%! The loops is the only aspect that may not work perfectly, but from my few tests, they worked. Here is the compiler with source:
I know its not much and doesnt add much greatness to BF, but I wanted a project to mess around with in a short amount of time and learn some things about the STL. Have fun