An <exit-code> is an integer number to be returned to
the operating system process that started Tefigel.
An <input-block>, or an <alternative-input-block>,
is a sequence of logical input lines, that
may contain none, one, or more Tefigel command lines.
A <case-evaluator> is defined as follows:
<comparison-operator><comparison-value>
A <case-variable> is a <variable> that gets automatically
initialized and evaluated by Tefigel while performing the corresponding
multiblock conditional statement.
A <for-each-list> is a list of strings separated by the current
argdelim <special-function>.
A <counter-variable> is a numeric variable that gets
automatically initialized to 0 or 1 and incremented at each iteration
of the for loop. There are four such variables: the
name of these variables are the same
as the corresponding <loop-variable> with the following suffixes:
- _counter, starting from 1;
- _COUNTER, starting from 1;
- _counter0, starting from 0.
- _COUNTER0, starting from 0;
A <total-loops-variable> is a numeric variable that gets
automatically initialized with the for loop.
There are two such variables: the name of these variables are the same
as the corresponding <loop-variable> with suffixes
_loops and _LOOPS respectively.
All <counter-variable>'s and <total-loops-variable>'s get
automatically unset after the corresponding endfor
instruction.
A <range-definition> is a list of two or three numbers
separated by the current argdelim <special-function>.
The first number specifies the initialization value for the
<loop-variable>; the second number specifies the loop
termination value; the third optional number specifies the
loop increment or decrement step, which defaults to 1 if not
otherwise specified.
A <loop-variable> is a <variable> that gets automatically
initialized and updated by Tefigel while performing the corresponding
loop.
A <target-label> is a sequence of non-blank characters, that is
a sequence of letters, digits and underscore ('_').
When performing a conditional statement,
the <input-block> is processed if
the value of <boolean-comparison> is true,
whereas the <alternative-input-block> is processed if
the value of <boolean-comparison> is false.
The else instruction and
the <alternative-input-block> may be omitted.
When performing a multiblock conditional statement,
each <input-block> is processed if
the value of the related <case-evaluator> applied to the
<case-variable> yields true,
whereas the <alternative-input-block>, if present, is processed
only if all <case-evaluator>'s evaluate to false.
When performing a loop, depending on the type of loop,
the <input-block> is repeatedly processed as long as:
When performing an unconditional transfer of control,
on processing the jump instruction file generation
control is transferred to the input line immediately following
the label instruction, so that the <input-block>
is not processed. Both forward and backward transfer of control
are allowed.
When performing a conditional transfer of control,
on processing the jumpcond instruction, if the
<boolean-comparison> yields true, file generation
control is transferred to the input line immediately following
the label instruction, so that the <input-block>
is not processed. Both forward and backward conditional transfer of control
are allowed.
[Previous chapter]
[Next chapter]
[Back to top]