.. _charge: 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** :ref:`data-area` and various TURBO_xxx directives exist, starting with :ref:`turbo-diags` to allow you to specify various compilation options from within your program's source code. Please also refer to :ref:`compiled`.