|
The VKM description, Version 0.8
This describes VisKProg version 0.1.4; please note, that
the function translator of 0.1.4 doesn't support
full property access or method calls.
A VisKProg module (*.vkm) is a pre-translated VisKProg function or
event file.
It contains the function/event declaration and correct VisKProg
commands, in pre-translated form, exactly one command per line
(block separators ( '{', '}' ) also stand in an extra line):
The semiconlon separation is removed, every command
what indicates a block (like 'if', 'for') is followed by
a real block, not by a single command.
Recursive commands (with function calls or other operation as arguments)
are replaced. In all function/method calls, the only correct
arguments are VK variables and any constants.
This also means, that boolean operations mustn't be used as arguments.
E.g. "if (a==b)" must be replaced with two commands like:
helpvar = a==b
if(helpvar)
Mathematic operations must have exactly two operands, more complex
operations are split in several lines.
Example:
Change a = b + ( 3 * c ) to:
helpvar = 3 * c
a = b + helpvar
Blocks end with "}xxxx", where "xxxx" means the number of
bytes from block start ({) to block end. The function translator
doesn't need this length, so you can write any four
letters instead of the real number, if you want only to
use the module with the function (module) translator.
All code is written in lower cases.
White space is removed wherever it is possible.
Examples:
a=b is correct
a = b is wrong
[TAB]a=b is wrong
Christoph Pinkel, Dec 1999
|