SNUSP stands for SNUSP's Not Unix but a Structured Path. Pretty silly, huh?
It is based on the PATH language, which has the two-dimensional code space of the Befunge language combined with the data model and minimal set of operators of the Brainf**k language. SNUSP clears up some of the irregularities in PATH, getting a closer feel to Brainf**k without losing any of its power. Here are the sum total of the supported operators in Modular SNUSP. (The first six are from Brainf**k.)
Opcode | Operation |
> |
Increment the data pointer. |
< |
Decrement the data pointer. |
+ |
Increment the current cell. |
- |
Decrement the current cell. |
, |
Read an ASCII character into the current cell (getchar). |
. |
Write the current cell as an ASCII character (putchar). |
/ |
Reflect the instruction pointer along the line x = y. |
\ |
Reflect the instruction pointer along the line x = -y. |
! |
Skip over one character in the current direction. |
? |
Skip over one character if the current cell is zero. |
@ |
Nest, save the next position and direction on the stack. |
# |
Unnest, execution continues at nested direction and one past the saved position. |
$ |
Start execution here, if present (otherwise at top left). Always start going right. |