Previous Index Next

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