fuckbeEs
Jump to navigation
Jump to search
Paradigm(s) | imperative |
---|---|
Designed by | slackerSnail |
Appeared in | 2016 |
Memory system | tape-based |
Dimensions | one-dimensional |
Computational class | Turing complete |
Reference implementation | This page |
Influenced by | brainfuck |
File extension(s) | .txt.zip.exe |
fuckbeEs is exactly the same as Brainfuck except better
Language overview
fuckbeEs operates on an array of memory cells, also referred to as the tape, each initially set to zero. There is a pointer, initially pointing to the first memory cell. The commands are:
Command | Description |
---|---|
f
|
Move the pointer to the right |
u
|
Move the pointer to the left |
c
|
Increment the memory cell under the pointer |
k
|
Decrement the memory cell under the pointer |
b
|
Output the character signified by the cell at the pointer |
e
|
Input a character and store it in the cell at the pointer |
E
|
Jump past the matching s if the cell under the pointer is 0
|
s
|
Jump back to the matching E if the cell under the pointer is nonzero
|
All characters other than fuckbeEs
should be considered comments and ignored. But, see extensions below.
History
fuckbeEs was created to show that there are too many brainfuck clones and that people should stop, please.
Examples
Hello, World!
cEuEfkucEucccuEcccccccccccusEskEfsu kssccccccccccfsuuuuuukkkkbffcccbfkb bcccbfkbuuubffbcccbkkkkkkbukbffcbfb
Implementation
#!/usr/bin/ruby eval 'm=Hash.new(p=0);'+ARGF.read.gsub( /./, 'f' => 'p-=1;', 'u' => 'p+=1;', 'c' => 'm[p]+=1;', 'k' => 'm[p]-=1;', 'b' => 'putc m[p];', 'e' => 'm[p]=STDIN.getbyte if !STDIN.eof;', 'E' => '(', 's' => ')while((m[p]&=255)!=0);')