VerboseFuck
VerboseFuck is an esoteric programming language created by user:David.werecat that makes Brainfuck verbose. It's most likely the result of the author being too lazy to create a brand new language.
Instructions
The code is stripped of spaces, tabs and newlines upon loading and converted into Brainfuck code. The code is then executed, but throws error whenever any unknown character is reached. A conversion table for VerboseFuck to Brainfuck is as follows:
| Brainfuck | VerboseFuck |
|---|---|
< |
math.equation(pointer = pointer - void(1));
|
> |
math.equation(pointer = pointer + void(1));
|
+ |
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
|
- |
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
|
[ |
define(defines.label, defines.label.createnew());
|
] |
};
|
, |
math.equation(deref(pointer) = programcode(conversion.changedatatype(program.console.standardoutput.stream.readunbufferedchars(1).getvalue(0), types.byte)));
|
. |
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
|
To define a comment in the code, it must be preceded with the tag ~!comment!~ and superseded with the tag ~!uncomment!~. There must be at least one comment per 1000 bytes of code (including comments).
Each program must begin with the following:
program.initialize(); math.equation(program.errors.handler.activated = boolean(false)); program.console.standardinput.openstream(); program.console.standardoutput.openstream(); define(defines.variable, variable(pointer)); implanttype(pointer, types.pointer(to:types.byte)); math.equation(pointer = void(0)); program.memory.allocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
And end with the following:
program.memory.deallocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional); undefine(defines.variable, variable(pointer)); program.console.standardoutput.closestream(); program.console.standardinput.closestream(); program.terminate();
Examples
Cat Program
~!comment!~DO INITIALIZATION ROUTINES~!uncomment!~
program.initialize();
math.equation(program.errors.handler.activated = boolean(false));
program.console.standardinput.openstream();
program.console.standardoutput.openstream();
define(defines.variable, variable(pointer));
implanttype(pointer, types.pointer(to:types.byte));
math.equation(pointer = void(0));
program.memory.allocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
~!comment!~END INITIALIZATION ROUTINES~!uncomment!~
~!comment!~DO CAT PROGRAM~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
define(defines.label, defines.label.createnew());
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
math.equation(deref(pointer) = programcode(conversion.changedatatype(program.console.standardoutput.stream.readunbufferedchars(1).getvalue(0), types.byte)));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
};
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
program.flow.labeledjump(defines.label.last());
};
undefine(defines.label, defines.label.last());
~!comment!~END CAT PROGRAM~!uncomment!~
~!comment!~DO CLEANUP AND TERMINATION~!uncomment!~
program.memory.deallocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
undefine(defines.variable, variable(pointer));
program.console.standardoutput.closestream();
program.console.standardinput.closestream();
program.terminate();
~!comment!~END CLEANUP AND TERMINATION~!uncomment!~
Hello, World!
~!comment!~MANDATORY~!uncomment!~
program.initialize();
math.equation(program.errors.handler.activated = boolean(false));
program.console.standardinput.openstream();
program.console.standardoutput.openstream();
define(defines.variable, variable(pointer));
implanttype(pointer, types.pointer(to:types.byte));
math.equation(pointer = void(0));
program.memory.allocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
define(defines.label, defines.label.createnew());
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
math.equation(pointer = pointer + void(1));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(pointer = pointer + void(1));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(pointer = pointer - void(1));
math.equation(pointer = pointer - void(1));
math.equation(pointer = pointer - void(1));
math.equation(pointer = pointer - void(1));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
};
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
program.flow.labeledjump(defines.label.last());
};
undefine(defines.label, defines.label.last());
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(pointer = pointer - void(1));
math.equation(pointer = pointer - void(1));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
~!comment!~MANDATORY~!uncomment!~
math.equation(pointer = pointer + void(1));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(pointer = pointer + void(1));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
~!comment!~MANDATORY~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
math.equation(pointer = pointer + void(1));
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
~!comment!~MANDATORY~!uncomment!~
program.memory.deallocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
undefine(defines.variable, variable(pointer));
program.console.standardoutput.closestream();
program.console.standardinput.closestream();
program.terminate();
~!comment!~MANDATORY~!uncomment!~