We have tried to make the generated code as readable as possible. We hope users are able to read it and also make modifications. One can use to get a skeleton for one's algorithm and then modify and refine it by hand. A lot of typing can be avoided in this respect.
RCS and SCCS ids are already generated, so that files directly can be imported under change control.
generates some test code which is dependent on the flag .OXDEBUG.. If you set this manually in the code or set the .-DOXDEBUG. flag during a make, the running code will produce some test output. Users also can insert target predicates with print-statements and #ifdef-switches in order to print debug information.
However, the actual printing of the test output is dependent on the value of some option/variable of/in the engine. This is
"oxdebug". Thus, if the engine has got the option
"oxdebug", then test output is printed.
In order to test the option, generates a call to
.engineStateGet., which delivers the engine state. It is assumed
to have a field options, which contains the engine option
database. Thus the query is
Note that users must save the options into the engine state
at engine initialization.
int oxdebug; is queried if output is
to be printed.
This is the normal case for AST-mode.
In Cosy-fSDL-mode this is useful only if everything is clustered into
one process.
There is a second test print system which works in the same
way. However, it prints less test output and is dependent on the
engine option "oxblip", or the global variable int oxblip;,
respectively.