Neben der Darstellung von Werten als Konstanten des Typs STRING, INTEGER oder BOOLEAN können in Zuweisungen auch bereits existierende Variablenwerte und die Ergebnisse von Funktionsaufrufen verwendet und in verschiedenen Operationen untereinander sowie mit Konstanten verknüpft werden. Solche komplexen Darstellungen werden als Ausdrücke bezeichnet und ähneln auch bezüglich der Schreibweise den entsprechenden Konstrukten höherer Programmiersprachen.
Jeder Ausdruck liefert ein Ergebnis, das einem der drei Basistypen angehört. Im einfachsten Fall besteht ein Ausdruck nur aus einer Konstanten, dem Namen einer Variablen (die einen einfachen Wert besitzen muss) oder dem Aufruf einer Funktion. Darüber hinaus können diese sog. Basisterme durch Operatoren miteinander verknüpft werden, wobei für jeden Operator festgelegt ist, welche Typen seine Operanden haben dürfen und welchen Ergebnistyp er liefert.
Ausdrücke können folgende Operatoren enthalten:
arithmetische Operatoren: |
|
Vergleichsoperatoren: | < , > , <= , >= , == , <> |
bzw. (gleichwertige Operatoren): | LT , GT , LE , GE , EQ , NE |
logische Operatoren: | NOT , OR , AND , XOR |
Stringoperator (Verkettung): | // |
Eine genauere Beschreibung der einzelnen Operatoren findet sich ab "Operatoren ".
Bei den Vergleichsoperatoren ist zu beachten, dass beide Operanden vom selben Typ sein müssen (beide STRING, INTEGER oder BOOLEAN; für Letztere sind nur Abfragen auf Gleichheit oder Ungleichheit zulässig). Dementsprechend wird der Vergleich typgerecht ausgeführt: Der Ausdruck 12 > 9 liefert den Wert TRUE, der Stringvergleich '12' > '9' hingegen FALSE, weil Strings von links nach rechts zeichenweise verglichen werden.
Da der Bindestrich sowohl innerhalb von Variablennamen als auch in Ausdrücken als arithmetischer Operator (Minuszeichen) auftreten kann, muss er als Operator in Leerzeichen eingeschlossen werden, falls er sonst als Namensbestandteil interpretiert werden könnte. Beispielsweise subtrahiert das Kommando
/ I = I - 1
die Konstante 1 von der Variablen I und weist das Ergebnis derselben Variablen als neuen Wert zu. Das Kommando
/ I = I-1
dagegen nimmt Bezug auf eine Variable I-1 und weist deren Wert der Variablen I zu.
Natürlich müssen auch die aus Buchstabenfolgen bestehenden Operatoren wie MOD, EQ oder AND durch Leerzeichen von benachbarten Namen oder Zahlen getrennt werden. Es empfiehlt sich generell, alle Operatoren im Interesse einer besseren Lesbarkeit in Leerzeichen einzuschließen, auch wenn die Syntaxanalyse dies nicht immer erfordert.
Ausdrücke dürfen, außer in den Zuweisungen durch SET-VARIABLE, auch als Operanden einiger anderer (insbesondere der in diesem Handbuch beschriebenen) Kommandos benutzt werden.