VerboseFuck

From Esolang
Jump to: navigation, search

VerboseFuck is an esoteric programming language created by David Catt (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());

conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {

] };

conditional(block.if, boolean.inequality(deref(pointer), byte(0))) { program.flow.labeledjump(defines.label.last()); };

undefine(defines.label, defines.label.last());

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

External resources