Topic : The GFA-Basic Compendium
Author : GFA Systemtechnik GmbH
Version : GFABasic.HYP v2.98 (12/31/2023)
Subject : Documentation/Programming
Nodes : 899
Index Size : 28056
HCP-Version : 3
Compiled on : Atari
@charset : atarist
@lang :
@default : Document not found
@help : Help
@options : +g -i -s +z
@width : 75
@hostname : STRNGSRV
@hostname : CAB
@hostname : HIGHWIRE
@hostname : THING
View Ref-FileThe manual begins with a short description of the 3 programming
language, followed by an explanation of the manual structure and an
introduction to the use of the Interpreter. It ends with a
description of the points which one must take note of when using programs which
were written in older versions of .
The next chapter describes the commands for the operation of the Editor. The
remaining chapters of the manual detail the instructions and facilities of
3.0. These are arranged according to criteria concerning the
contents, with joint explanations of related terms, e.g. MIN() and MAX(). In
the Appendix an alphabetical overview of the instructions and functions is
given, with references to the appropriate pages for full explanation.
Descriptions of Commands, etc. are laid out as follows:
∙ The syntax
∙ Description of the permissible parameter types
∙ Explanatory text
∙ Example
In the Syntax description optional parameters are indicated with square
brackets, e.g.
LEFT$(a$[,x])
In there are Commands and Functions. Commands do not return a value,
e.g.
LINE 100,100,200,200
Functions, on the other hand, do return a value and can display this value with
PRINT, assign it to variables, etc. Here are some examples:
PRINT ASC("65")
PRINT ASC("a")
a=ASC("a")
b=ASC("a")+32
In this manual the fact that a Function returns a value is not noted in the
Syntax section, but is made clear in the explanation. In the Syntax section, in
the case of the function ASC for example, only ASC(a$) is specified and the
fact that this would be assigned to a numeric variable is not stated.
Where many optional parameters may be given, e.g. with the DATA statement, this
is shown by three periods:
DATA x[,y,...]
The description of permitted parameter types follows the Syntax section. For
these types the following abbreviations are used:
avar Arithmetic variable
This a numeric variable, which can be of any form, e.g. floating-point,
integer, boolean, etc.
aexp Arithmetic expression
This is any simple or complex expression which produces a number and can
include variables. Examples of arithmetic expressions are:
a%
3
2+a%+ASC("a")
svar String variable
This is a character string variable ending with $, e.g.:
a$
sexp String expression
This expression can be of arbitrary complexity but must finally result in a
String. Examples of string expressions are:
a$
"Test"
a$+"GFA BASIC"+LEFT$("MANUAL",4)
ivar Integer variable
This can be any integer variable.
iexp Integer expression
This is any simple or complex expression but the result must be an integer.
bexp Boolean (logical) expression
Any expression from which the result is a Boolean number.
It is important for some numerical expressions that particular variable types
must be used. The most important example of this is with memory addresses.
Addresses must be specified with at least a four byte variable and Boolean,
Byte, or Word variables are thus not allowed.
After the description of the parameter types comes the explanation of the
command. Here the meaning of the command and its individual parameters are
explained. The discussion of a command is terminated with one or more examples.
These examples are designed to be entered into the Editor and started with RUN
(shift+F10 or clicking RUN in the menu bar). After each example the effect it
produces is given.
This form of command description is modified only in the section dealing with
the AES library routines. Here the name of the appropriate command is given,
followed by the explanation of its function, then the syntax of the command
with the description of the individual parameters. At the end of the chapter
concerning the libraries several longer example programs are provided. The
reasoning behind this structure is that many commands in the chapter must be
used in correct conjunction with other commands, so that example programs tend
to contain many AES calls and tend to be somewhat more extensive.
The manual concludes with a collection of tables and an alphabetical list of
all commands, with their page numbers.
Note: Where a program line is longer than the width of the page it has been
wrapped round on the page and right justified. This will not happen
when you are typing in the line, it will just extend to the right of
the screen as far as necessary (up to 254 characters).
Memo: The original manual claims a line can be up to 255 characters.
That is incorrect.