DetailedFuck
Jump to navigation
Jump to search
DetailedFuck is a clone of Brainfuck. The goal of DetailedFuck is to allow for easier understandability of brainfuck code. It is a member of the TrivialBrainfuckSubstitution family of programming languages.
Instructions
The following juxtaposition enumerates the DetailedFuck substitutes for the respective original brainfuck commands:
Brainfuck | DetailedFuck |
---|---|
> |
MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
|
< |
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
|
+ |
INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
|
- |
DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
|
, |
REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT
|
. |
PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
|
[ |
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
|
] |
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
|
Examples
Hello World!
The following code prints “Hello World!”:
INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE LEFT MOVE THE MEMORY POINTER ONE CELL TO THE LEFT MOVE THE MEMORY POINTER ONE CELL TO THE LEFT MOVE THE MEMORY POINTER ONE CELL TO THE LEFT DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE LEFT IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE LEFT DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE LEFT DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE LEFT PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
Cat program
An infinitely repeating cat program is implemented in the following:
REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
See also
- Human's mind have sex with someone, a conceptually consanguineous, less loquacious language in the employment of descriptive command names
Interpreter
- Common Lisp implementation of the DetailedFuck programming language, consisting of an interpreter and converters between DetailedFuck and brainfuck.
- An interpreter in Python by User:None1.