Overview
Brainfunk is derivative of Brainfuck language with aims to:
- Unify cell pointer and cell increment and decrement operations to single + and - operations. Remove > and < operations.
- Introduce fast copy instruction usable between all address spaces.
Command
|
Description
|
+
|
Increment value
|
-
|
Decrement value
|
[
|
Jump past the matching ] if the value is 0
|
]
|
Jump back to the matching [ if the value is nonzero
|
#
|
Switch value to memory space
|
&
|
Switch value to pointer space
|
$
|
Switch value to I/O space
|
@
|
Switch value to accumulator space
|
%
|
Copy from previous memory space to current space
|
Brainfuck comparison
Description
|
Brainfuck
|
Brainfunk
|
Increment value |
+ |
#+
|
Decrement value |
- |
#-
|
Move the pointer to the right |
< |
&+
|
Move the pointer to the left |
> |
&-
|
Write cell to output |
. |
#$%
|
Read input to cell |
, |
$#%
|
Skip loop if cell is zero |
[ |
[
|
Loop back if cell is nonzero |
] |
]
|
Cat |
,[.,] |
$#%[$%#%]
|
Clear value |
[-] |
#[-]
|
Move value |
>[-]<[->+<] |
&+#[-]&-#[-&+#+&-#]
|
Copy value |
>[-]>[-]<<[->+>+<<]>>[-<<+>>] |
#@%&+@#%
|
Swap value |
>[-]<<[->>+<<]>[-<+>]>[-<+>] |
#@%&++@#%&-#@%&-@#%&++#@%&-@#%
|