/MACRO_SYNTAX_Expressions |
---|
Explanation of KUIP expression syntax.
KUIP has a built-in parser for different kinds of expressions: arithmetic expressions, boolean expressions, string expressions, and "garbage expressions".
/MACRO/SYNTAX/Expressions/Arithmetic |
---|
Explanation of arithmetic expression syntax.
The syntactic elements for building arithmetic expressions are:
They can be used in the macro statements DO, FOR, and EXITM, in macro variable assignments, as system function arguments where a numeric value is expected, or as the argument to the $EVAL function.
Note that all arithmetic operations are done in floating point, i.e., "5/2" becomes "2.5". If a floating point result appears in a place where an integer is expected, for example as an index, the value is truncated.
/MACRO/SYNTAX/Expressions/Boolean |
---|
Explanation of Boolean expression syntax.
Boolean expressions can only be used in the macro statements IF, WHILE, and
REPEAT. The possible syntactic elements are shown below.
/MACRO/SYNTAX/Expressions/String |
---|
Explanation of string expression syntax.
String expressions can be used in the macro statements CASE, FOR, and
EXITM, in macro variable assignments, as system function arguments where a
string value is expected, or as the argument to the $EVAL function. They
may be constructed from the syntactic elements shown below.
/MACRO/SYNTAX/Expressions/Garbage |
---|
Explanation of "garbage" expression syntax.
Expressions which do not satisfy any of the other syntax rules we want to
call "garbage" expressions. For example,
is not a proper string expression. Unless they appear in a macro statement
where specifically only an arithmetic or a boolean expression is allowed,
KUIP does not complain about these syntax errors. Instead the following
transformations are applied: