9.5 'for', 'FOR' loops
-----------------------
Syntax:
for ([<initial expression>]; [<condition>]; [<incrementation>])
<operator>
The loop 'for' is executed until the value <condition> is false. If
<condition> starts off false, then the body of 'for' is not executed and
control is immediately passed to the following statement. <initial
expression> and <incrementation> are usually used to initialize and modify
the loop options.
The first step in executing 'for' is to calculate <initial expression>
if one exists. Then <condition> is calculated and evaluated as follows:
If <condition> is true, then the body of the operator is executed,
after wheich <incrementation>, if it exists, is calculated, and the process
repeats.
If <condition> is omitted, then it is taken to have a value of true.
In this case 'for' is an endless loop which can end only if there is a
'break', 'goto', or 'return' in its body.
If <condition> is false, then the 'for' loop terminates and control
passes to the next statement.
'FOR' is similar to 'for' but the code generates is 3 bytes shorter. The
code generated in a 'FOR' loop must be less than 127 bytes.
Example:
for(i=0;i<5;i++){
WRITESTR("STRING");
WRITEWORD(i);
WRITELN();
}
There is no restriction on the size of <initial expression> and
<incrementation>. Statements in these must be comma-separated.
for ( a=1, b=2 ; a<5 ; a++, b+=a ) {...
Logical integration of <conditions> is also possible. Up to 32
conditions can be logically combined. Each of these conditions must be in
parentheses. For example:
for ( a=0 ; (a>=0) && (a<10) ; a++ ){...