Topic : GFA-Basic Editor Author : Lonny Pursell Version : GBE.HYP v3.74 (12/31/2023) Subject : Programming/Documentation Nodes : 171 Index Size : 4296 HCP-Version : 3 Compiled on : Atari @charset : atarist @lang : @default : Default @help : STG Help @options : +g -i -s +z @width : 75 @hostname : THING @hostname : STRNGSRV @hostname : HIGHWIRE @hostname : CAB View Ref-FileInclude a *.LST or *.GFA file. A maximum of 64 files can be included. Includes can't be nested. Example: REM #INC fsel.lst !relative to project path (same dir as the *.gfa file) REM #INC aes\fsel.lst !relative path REM #INC ..\modules\fsel.lst !relative path REM #INC d:\my_lib\fsel.lst !absolute path REM #INC blit.gfa !tokenized file (slower) An absolute path either exists or fails. A releative path is first looked for in the path of the project. If the file is not found there, it then looks in the Include path in the Paths dialog. This allows one to over-ride a global include if the file exists in both places. Note: This will impact the speed at Run and Make since the files must be tokenized on the fly. If a syntax error occurs, GBE will halt the preprocessor phase and place the cursor on the include line. Since the included file is not in ram, GBE cannot locate the exact line. Care should be taken to insure that all included files are bug free. When a file is included the preprocessor backs up to the start of the code it just included, thus meta commands can be used in the included files. Since the preprocessor manages the source before it's handed off to the compiler, one can manipulate the $compiler commands using the meta commands. Including *.GFA files is much slower, since they require an extra step. They must first be detokenized. To optimize the preprocessor performance. Try to place all includes at the end of the listing which contain purely PROCs and FUNCs. Each line that is inserted causes all the lower lines to be shifted down in memory. Once the pre-processor phase finishes, the expanded source is passed to the compiler. It's possible for an include to be syntax ok, but not structurely ok, like a missing LOOP or ENDIF. If the compiler rejects the expanded listing GBE will report that the listing has structure errors. If this message appears, recheck all included files for structure errors. GBE will not be able to locate the line since it's not actually in the editor.