summaryrefslogtreecommitdiff
path: root/LANGUAGE.txt
blob: 9d72f0864d7a93271a6c5ffe91aa7304547ca3ef (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:
(lower precedence number means tighter binding)

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


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