summaryrefslogtreecommitdiff
path: root/LANGUAGE.txt
blob: 0e7066b3a5d4f0b5cede57740929ae6e14a08419 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Statements are terminated by ';'.
The usual infix expression rules apply, with the following precedence table:
(higher precedence number means tighter binding)

 Operators   Precedence   Associativity
    **           14           Right
    - ! ~        12          Prefix (unary)
 * / // %        11           Left
    + -          10           Left
    &             9           Left
    ^             8           Left
    |             7           Left
 < > <= >=        6       Nonassociative
   == !=          5       Nonassociative
    &&            4           Left (short-circuiting)
    ^^            3           Left
    ||            2           Left (short-circuiting)
    =             1           Right  (also += -= *= /= %= **= &= ^= |=)


break and continue get parsed to calls to the __break() and __continue()
compiler intrinsics (thus become AST_CALL nodes).