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!~