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.

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!

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
DECREMENT 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
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
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
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
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
MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
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
DECREMENT 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
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
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
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
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
MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
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
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
PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
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
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
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
PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
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
MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
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
PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
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