DetailedFuck

From Esolang
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

Interpreter