BFshort
Jump to navigation
Jump to search
BFshort is a Brainfuck derivative where scripts are usually 2x shorter.
Commands
+-<>[].,
+`12345678
-90-=qwert
<yuiop[]\a
>sdfghjkl;
['zxcvbnm,
]./~!@#$%^
.&*()_+QWE
,RTYUIOP{}
Cat
OQ
Counter
5*.
Converter to and from brainfuck
Written in JavaScript.
const matrix = "`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}";
const bfChars = "+-<>[].,";
function bfshortToBrainfuck(program)
{
let result = "";
for(const char of program)
{
const index = matrix.indexOf(char);
if(index >= 0)
{
result += bfChars.charAt(Math.floor(index / 9));
if(index % 9 > 0)
result += bfChars.charAt(index % 9 - 1);
}
}
return result;
}
function brainfuckToBFshort(program)
{
program = program.replace(/[^-+<>\[\].,]/g, "");
let result = "";
for(let i = 0; i < program.length; i += 2)
{
const first = program.charAt(i);
const second = program.charAt(i + 1) || " ";
const firstIndex = bfChars.indexOf(first);
const secondIndex = " +-<>[].,".indexOf(second);
result += matrix[firstIndex * 9 + secondIndex];
}
return result;
}