5. Expressions
An expression is composed of integers, identifiers, and operators.
5.1. Operators
Operators are listed in descending precedence order. Operators without a horizontal line dividing them have equal precedence. For example, addition and subtraction have an equal level of precedence.
Class |
Operation |
Symbol |
Usage |
Associativity |
---|---|---|---|---|
Arithmetic |
multiplication division |
* / |
|
left left |
addition subtraction |
+ - |
|
left left |
|
Comparison |
less than greater than |
< > |
|
left left |
is equal is not equal |
== != |
|
left left |
5.2. Valid Expressions
Valid formats for expressions are
(<expr>)
<expr> <op> <expr>
<int>
<id>
expr
is an expression.int
is an integer.id
is the identifier of a variable.
Examples of valid expressions are
i * 2 * 10 + 4
2 - 4 * 5
5.3. Precedence
Precedence determines what order operations are evaluated in. Precedence works as defined in the following table:
Precedence |
Operations |
---|---|
HIGHER |
* / |
+ - |
|
< > |
|
LOWER |
== != |