Operator Precedence
The following are the precedence levels and associativity of the operators in the Pyr language. The higher the precedence, the faster the operation will be performed.
Operator | Description | Associativity | Precedence |
---|---|---|---|
() , [] |
Function Call, Indexing | Left-to-right | 11 |
- , ! |
Negation | Right-to-left | 10 |
^ |
Exponent | 9 | |
* , / , % |
Multiply, Division, Modulo | Left-to-right | 8 |
+ , - |
Addition, Subtraction | 7 | |
<< , >> |
Bitwise Shift Left, Bitwise Shift Right | 6 | |
< , <= , > , >= |
Less Than, Less Than or Equal, Greater Than, Greater Than or Equal | Not chainable | 5 |
== , != |
Equal, Not Equal | 4 | |
& |
Bitwise AND | Left-to-right | 3 |
| |
Bitwise OR | 2 | |
and , or |
Logical And, Logical Or | 1 | |
= |
Variable Assignment | Right-to-left | 0 |
For more information about each of the operators, see Arithmetic, Comparison and Bitwise.