114 of 158
108 After all of the command line options and files have been processed, the compiler proceeds to the next phase – semantic analysis. If no errors are detected and unless directed otherwise, the compiler then proceeds to the final phase – code generation. It is during this last phase that the code output file, optional link map file and optional listing file are produced. Note that some settings made by command line options may be overridden for individual modules by the presence of option directives in those modules. See Section 2.3.1 for more information on option directives. All options are case-sensitive. Filenames may be case sensitive depending on the host operating system. Space characters are not allowed within options except within filenames (where supported by the host operating system) and possibly within strings. The command line language of the host operating system most likely requires option values containing spaces to be enclosed in quote marks. ZBasic Compiler Options Long Form Short Form Description --alloc-str={on|off|default} *Specify the use of dynamic string allocation. --allow-conditionals *Allow the use of conditionals in project and arguments files. --api[(<width>)][=<file>] Request the generation of an API file for the IDE. --args=<file> -fa<file> Specify an arguments file to be processed. --array-base=<value> Specify the default array base value. --called-by-list Request the generation of a “called-by” list for each routine. --calls-list Request the generation of a “calls” list for each routine. --code-limit=<value> Specify a limit for generated code size. --create-library=[<file>] Request building a library. --directory=<directory> *Specify the “current directory”. --entry=<subroutine> Specify an alternate entry point routine. --error=<file> -fe<file> Specify an output file for error information. --error-format[=<fmt-spec>] Specify a format for error messages. --error-limit=<value> Specify a limit for error messages. --gcc-opts=<options> Specify options to pass on to gcc. --heap-limit=<value> Specify the heap growth limit. --heap-size=<value> Specify the size of the heap area. --help -h Display a summary of the invocation syntax. --help-all -hh Display a longer summary of the invocation syntax. --help-optimize -ho Display a summary of the optimization options with an indication of the defaults. --help-warning -hw Display a summary of the warning options with an indication of the defaults. --include-path=[<path-list>] -I[<path-list>] *Specify a semicolon-separated list of directories to search for include files. --language=<language> -l<language> *Specify the source language variant. --keep-files Request retention of intermediate files. --list=[<file>] -fl[<file>] Request a detailed listing file. --main-task-stack-size=<value> Specify the size of the task stack for Main(). --map=<file> -fm<file> Specify an output file for the link map. --no-code Suppress the generation of code. --no-map Suppress the generation of a link map. --optimize=<opt-type> -o<opt-type> *Assert or deassert optimization options. --out=<file> -fo<file> Specify an output file for generated code. --project=<file> -fp<file> Specify a project to be processed. --strict={on|off|default} *Specify the compilation mode. --string-size=<value> -s<value> *Specify the default string size.