PoeticFuck

From Esolang
Jump to navigation Jump to search

PoeticFuck is an esolang invented by User:None1, inspired by brainfuck and Poetic, it is made to represent Poetic in a brainfuck-like way.

Instructions

PoeticFuck Poetic Digit equivalent Meaning
; 0 End program execution here.
[ 1 If the current byte is equal to 0, jump execution to after the matching [.
] 2 If the current byte is not equal to 0, jump execution to the matching [.
+ 3* Increment cell under pointer
- 4* Decrement cell under pointer
> 5* Increment pointer
< 6* Decrement pointer
. 7 Output the value of the current byte as an ASCII character.
, 8 Read a character from the input stream, and write its ASCII value to the current byte. (Note: This fails to update the current byte upon end of input.)
? 9 Set the current byte to a random value from 0 to 255.

* These commands have an argument: the value to increment or decrement, when translating from digits to PoeticFuck, they should get expanded (e.g.: 35 to +++++)

Examples

Hello World!

++++++++++[>+++++++>++++++++++>+++>+++++++++>+<<<<<-]>++.>+.+++++++..+++.>++.>---.<<.+++.------.--------.>+.>>.;

Cat

,[.[-],];

Reverse cat

,[>,]<[.<];

ASCII Loop

--[>>>>>>>+.<<<<<<<]

Random Number

?[>+>+<<-]>[<+>><-]++++++>[<------>[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[>++++++<-]>>]>]<[[>>>++++++++<<<-]>>>>]<[.[-]<<<<<<>>>];

Interpreters