interbflang
interbflang was an esolang designed by User:TheBigH to be a language brainfuck can compile to that is easier to implement than brainfuck.
The language was created to be implemented in Google Sheets.
Overview
Of course, it's tape based. Because brainfuck is meant to compile to it, it has the same tape that brainfuck does.
The instructions are stored as a list of numbers (8-bit, 64-bit, bignum, whatever, although bigger is better). Each number is called an inumber. The instructions are very similar to brainfuck.
| Command | Description |
|---|---|
0 |
Add one to the current tape cell. (brainfuck +) |
1 |
Subtract one from the current tape cell. (brainfuck -) |
2 |
Move the tape pointer one cell to the left. (brainfuck <) |
3 |
Move the tape pointer one cell to the right. (brainfuck >) |
4 n |
If the current cell is 0, jump to inumber n. (Yes, you can jump to arguments.) (modified brainfuck [) |
5 n |
If the current cell is not 0, jump to inumber n. (modified brainfuck ]) |
6 |
Output the current cell. (brainfuck .) |
7 |
Take one item from the input queue. (brainfuck ,) |
8 |
Halt. |
Note that you MUST include 8 or else it will not halt.
Programs
The only program created so far for this esolang is a simple multiplier program
7 3 7 2 4 32 3 4 18 3 0 3 0 2 2 1 5 9 3 4 27 2 0 3 1 5 21 2 2 1 5 6 3 3 3 6 8
which was compiled (manually) from the brainfuck program
,>,<[>[>+>+<<-]>[<+>-]<<-]>>>.
Interpreters
There was one interpreter written in Google Sheets. Unfortunately it got deleted with the creator's school email.