FuckbeEs

From Esolang
Jump to: navigation, search
fuckbees
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);')