•  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-FileGFA-BasicGFA-Basic is the best BASIC for the Atari!
 is expanded via meta commands.  These are commands placed in
comments with a special marker.  GFA-BasicGFA-Basic is the best BASIC for the Atari!
 has two commands for placing
remarks in the source code.  The command REM and the single quote (') are
treated the same.  The meta commands must be placed in a REM statement with
the special marker or they will be ignored.  See below for an example.

The meta commands are as follows:

Command  Description                    Default
#EXT     binary extender                'prg'
#LIB     compiler/linker/library set    1st set in the list
#MAK     compiler/linker/lib + ext      0 (break)
#LNK     link object files              link no extra files
#MP=     memory protection              private
#PF=     program flags                  no bits set
#SYM     append symbol table            no symbol table
#CLR     clear inline                   -
#INL     load inline                    var_name%
#INC     include a *.LST or *.GFA file  -
#IFM     conditional control            -
#IFT     conditional control            -
#IF*     optimize boolean comparisons   do not optimize boolean comparisons
#TR@     delete 'TRON proc'             do not delete TRON proc
#DL*     delete line(s)                 do not delete any lines
#LOG     log message to console         cr/lf
#DMP     dump meta command settings     -
#BRK     set break point                halt Make and/or Run
#ASK     prompt user via an alert       0
#POP     prompt user via a popup        0
#KEY     prompt user via keyboard       0
#DC*     define constants               do not replace constants
#TLx     trace lines                    do not trace lines
#ASM     associate assembler file       -
#LG@     optimize LOCALs into Globals   -
#SUB     exclude unused subroutines     -

Example:

REM #INC fsel.lst  !include a LST file

The pound sign (#) is the special marker and it must be the first character
of the line.  The reason is simple, backward compatibility.  If you happen
to load an old listing which uses REMs as intended, it should not cause any
problems.

These are syntax checked at Test and processed at Run and Make.

If the command is not found the default state is used.

Note: They are not case sensitive and can be entered in lower case.
Comments may also be used within the commands.
The last one encountered is the one that will be used.

Nesting of commands is allowed to a certain degree.  For example you can
nest commands of different types.  But you cannot nest the same command
within the same type of command.