Icon operator precedence
Excerpted from The Icon Programming Language, 3rd edition
( expr )
{ expr1; expr2; … }
[ expr1, expr2, … ]
expr. f
expr1 [ expr2 , expr3 , … ]
expr1 [ expr2 : expr3 ]
expr1 [ expr2 +: expr3 ]
expr1 [ expr2 –: expr3 ]
expr ( expr1, expr2, … )
expr { expr1, expr2, … }
____________________
not expr
| expr
! expr
* expr
+ expr
– expr
. expr
/ expr
\ expr
= expr
? expr
~ expr
@ expr
^ expr
____________________
expr1 \ expr2
expr1 @ expr2
expr1 ! expr2
____________________
expr1 ^ expr2 (rt. assoc)
____________________
expr1 * expr2
expr1 / expr2
expr1 % expr2
expr1 ** expr2
____________________
expr1 + expr2
expr1 – expr2
expr1 ++ expr2
expr1 – – expr2
___________________
expr1 || expr2
expr1 ||| expr2
_______________
expr1 < expr2
expr1 <= expr2
expr1 = expr2
expr1 >= expr2
expr1 > expr2
expr1 ~= expr2
expr1 << expr2
expr1 <<= expr2
expr1 == expr2
expr1 >>= expr2
expr1 >> expr2
expr1 ~== expr2
expr1 === expr2
expr1 ~=== expr2
_______________
expr1 | expr2
_______________
expr1 to expr2 by expr3
_______________
expr1 := expr2 (rt. assoc)
expr1 <– expr2 (rt. assoc)
expr1 :=: expr2 (rt. assoc)
expr1 <–> expr2 (rt. assoc)
expr1 op:= expr2 (rt. assoc)
_______________
expr1 ? expr2
_______________
expr1 & expr2
_______________
break expr
case expr of { expr1 : expr2; expr3 : expr4; … }
create expr
every expr1 do expr2
fail
if expr1 then expr2 else expr3
next
repeat expr
return expr
suspend expr1 do expr2
until expr1 do expr2
while expr1 do expr2