CHARGE

Syntax CHARGE [task_file$]
Location Turbo Toolkit

This command starts up the Turbo Compiler and attempts to compile the program currently loaded in SuperBASIC Job 0.

It is similar to issuing the commands:

EXEC_W flp1_PARSER_TASK
EXEC flp1_CODEGEN_TASK

The default device which contains the Turbo compiler (PARSER_TASK and CODEGEN_TASK) can be configured with a special toolkit configuration program.

If you do not specify a task_file$, then the one which is configured is assumed to be the name of the new compiled file to be generated. This and several other defaults may be altered from the front panel which is generated by PARSER_TASK. The default settings on the front panel may also be configured and set using various directives such as TURBO_obfil.

The maximum length of the task_file$ is 12 characters. If a longer string is supplied, only the first 12 characters are used.

Example

CHARGE ‘GENEALOGY’

NOTE 1

This command will not work on Minerva and SMS.

NOTE 2

The filename for the new task has never really worked correctly when passed as a parameter, if you specify a device as part of the filename. The filename becomes corrupted if this is the case.

NOTE 3

When you compile a program using TURBO, it is imperative that all of the machine code procedures and functions which are used by that program are linked into the machine. If you fail to do this, then an error will be reported when you try to run your compiled program using EXEC or EXEC_W for example.

This is different to QLiberator, which only checks whether each machine code function or procedure is linked in when (and if) it tries to use them whilst the compiled program is being run.

CROSS-REFERENCE

DATA_AREA and various TURBO_xxx directives exist, starting with TURBO_diags to allow you to specify various compilation options from within your program’s source code.

Please also refer to COMPILED.