Auf dieser Seite werden die verfügbaren Operatoren der CLEM-Sprache aufgelistet.
Tabelle 1. Operatoren der CLEM-Sprache
Operation
Kommentare
Rangfolge (siehe nächsten Abschnitt)
or
Wird zwischen zwei CLEM-Ausdrücken verwendet. Ergibt den Wert "Wahr", wenn mindestens einer der beiden Terme wahr ist.
10
and
Wird zwischen zwei CLEM-Ausdrücken verwendet. Ergibt den Wert "Wahr", wenn beide Terme "wahr" sind.
9
=
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Ergibt den Wert "Wahr", wenn ELEMENT1 gleich ELEMENT2 ist.
7
==
Identisch mit =.
7
/=
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Gibt 'true' zurück, wenn 'ITEM1' nicht gleich ELEMENT2 ist.
7
/==
Identisch mit /=.
7
>
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Ergibt den Wert "Wahr", wenn ELEMENT1 größer als ELEMENT2 ist.
6
>=
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Ergibt den Wert "Wahr", wenn ELEMENT1 größer-gleich ELEMENT2 ist.
6
<
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Ergibt den Wert "Wahr", wenn ELEMENT1 kleiner als ELEMENT2 ist.
6
<=
Wird zwischen zwei beliebigen miteinander vergleichbaren Elementen verwendet. Ergibt den Wert "Wahr", wenn ELEMENT1 kleiner-gleich ELEMENT2 ist.
6
&&=_0
Wird zwischen zwei ganzen Zahlen verwendet. Entspricht dem booleschen Ausdruck GANZZ1 && GANZZ2 = 0.
6
&&/=_0
Wird zwischen zwei ganzen Zahlen verwendet. Entspricht dem booleschen Ausdruck GANZZ1 && GANZZ2 /= 0.
6
+
Addiert zwei Zahlen: ZAHL1 + ZAHL2.
5
><
Verknüpft zwei Zeichenfolgen, z. B. STRING1 >< STRING2.
5
-
Subtrahiert eine Zahl von einer anderen Zahl: ZAHL1 - ZAHL2. Kann auch vor einer Zahl verwendet werden: - NUM.
5
*
Multipliziert zwei Zahlen mit einander: ZAHL1 * ZAHL2.
4
&&
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das bitweise "Und" der ganzen Zahlen GANZZ1 und GANZZ2.
4
&&~~
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das bitweise "Und" von GANZZ1 und das bitweise Komplement von GANZZ2.
4
||
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das bitweise "Oder" von GANZZ1 und GANZZ2.
4
~~
Wird vor einer ganzen Zahl verwendet. Ergibt das bitweise Komplement von GANZZ.
4
||/&
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das bitweise "exklusive Oder" von GANZZ1 und GANZZ2.
4
INT1 << N
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das Bitmuster von GANZZ, um N Positionen nach links verschoben.
4
INT1 >> N
Wird zwischen zwei ganzen Zahlen verwendet. Ergibt das Bitmuster von GANZZ, um N Positionen nach rechts verschoben.
4
/
Dividiert eine Zahl durch eine andere: ZAHL1 / ZAHL2.
4
**
Wird zwischen zwei Zahlen verwendet: BASIS ** POTENZ. Ergibt BASIS hoch POTENZ.
3
rem
Wird zwischen zwei ganzen Zahlen verwendet: GANZZ1 rem GANZZ2. Ergibt den Rest: GANZZ1 - (GANZZ1 div GANZZ2) * GANZZ2.
2
div
Wird zwischen zwei ganzen Zahlen verwendet: GANZZ1 div GANZZ2. Führt eine ganzzahlige Division durch.
2
Vorrangstellung für Operatoren
Copy link to section
Rangfolgen bestimmen die Analyse komplexer Ausdrücke, insbesondere von Ausdrücken ohne Klammern mit mehreren Infix-Operatoren. Beispiel:
3 + 4 * 5
Copy to clipboardIn die Zwischenablage kopiert
wird als 3 + (4 * 5) und nicht als (3 + 4) *
5 geparst, da die relativen Vorgänger festlegen, dass * vor +geparst werden soll. Jedem Operator in der CLEM-Sprache ist ein Rangfolgewert zugeordnet. Je kleiner dieser Wert ist, desto wichtiger ist er in der Parsingliste, d. h., er wird früher verarbeitet als andere Operatoren mit größeren Rangfolgewerten.