Operator precedence

Perun2 operator precedence applies similar rules as used in majority of programming languages. A noticeable difference is inclusion of several new syntax structures such as filters. Because brackets have higher precedence than any other data type expression element, they should be used to enforce a desired precedence and explain possible ambiguity. All operators are associated left-to-right.

PrecedenceNameOperator / Expression
19 Command brackets { ... } ... { ... }
18 Command separator ... ; ...
17 Command print ... select ... copy ... to ...
Variable assignment ... = ...
Variable modification ... += ... ... -= ... ... *= ...
16 Brackets ( ... )
15 Element at index ... [ ... ]
14 Function ... () ... ( ... ) ... ( ... , ... )
13 Filter ... where ... ... order by ... ... limit ...
12 Boolean binary operator ... and ... ... or ... ... xor ...
11 Boolean negation not ...
10 Like, In, Resembles, Between, Regexp ... like ... ... not like ... ... in ...
9 Comparison ... = ... ... == ... ... >= ...
8 Collection separator ... , ...
7 Addition ... + ...
Subtraction ... - ...
6 Multiplication ... * ...
Division ... / ...
Modulo ... % ...
5 Number/period negation - ...
4 Binary condition ... ? ...
3 Ternary condition ... ? ... : ...
2 Member access ... . ...
Period constant ... ...
Time constant ... ... ... ... , ... : ... ... , ... : ... : ...
1 Basic unit 'string' 1500.31 variable
Operators and expressions are explained here.