Bub

From Esolang

Jump to: navigation, search

Bub (Brainfuck Ugly Bodge) is a variant of Brainfuck designed by Matthew Westcott. The essential difference is that Brainfuck's "while"-like instructions are replaced by "GOTO"-like ones.

Bub's claim to fame is that there is an interpreter for it written in Muriel, as a means of showing that Muriel is Turing-complete.


The following is a direct quote from the Bub page in the Muriel archive:

Essentially, Bub is Brainf*ck using GOTOs instead of 'while' loops. A Bub program consists of a string of digits, and these are split into blocks of 'w' digits (w=4 in the Hello World program). In most instructions, all but the last digit can be ignored - the last digit corresponds to a Brainf*ck instruction, with 012345678 corresponding to <>+-,.[] and 'end of program' respectively. In the case of [ and ], the preceding digits signify the instruction number to jump to (counting from 0) if the jump takes place - in other words, when translating from Brainf*ck to Bub, the location of the corresponding bracket is calculated in advance.

For example, the program [-] could be translated as

0036 9993 0017 9998

[edit] External resource

Personal tools