•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  STG Help 
  •  Show info about hypertext 
  •  View a new file 
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.