Statements are terminated by ';'. The usual infix expression rules apply, with the following precedence table: (higher precedence number means tighter binding) Operators Precedence Associativity = += -= *= 1 Right /= //= %= **= 1 Right &= ^= |= 1 Right || 2 Left (short-circuiting) ^^ 3 Left && 4 Left (short-circuiting) == != 5 Nonassociative < > <= >= 6 Nonassociative | 7 Left ^ 8 Left & 9 Left + - 10 Left * / // % 11 Left (-) (!) (~) 12 Prefix (unary) ** 13 Right break and continue get parsed to calls to the __builtin_break() and __builtin_continue() compiler intrinsics (thus become AST_CALL nodes).