User:Jpnk

From D Wiki
Revision as of 19:55, 29 September 2014 by Jpnk (talk | contribs) (Created page with "Source: [https://github.com/D-Programming-Language/dmd/blob/2a54fd3f6fae8a2fb6eeb1f138cb99d301c96f1b/src/parse.h], [https://github.com/D-Programming-Language/dmd/blob/2a54fd3f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Source: [1], [2].

Priority Description Operators Comments
15

highest

Template instantiation ! Top-level ',' in rhs expression treated specially. Cannot be chained
14.5 Lambda abstraction => Not a real operator, occurs twice, this is binding power to the left.
14 Postfix operators . ++ -- ( [ ( and [ treat top-level ',' in rhs expression specially and require balanced ) or ] in order to be completed
13 Power operator ^^ Right-associative
12 Unary operators & ++ -- * + - ! ~ cast
11 - * / %
10 - + - ~ Binary '~' is the concatenation operator
9 Bit shift operators << >> >>>
6a Comparison operators == != > < >= <= !> !< !>= !<= <> !<> <>= !<>= in !in is !is Unordered with respect to bitwise operators, cannot be chained.
8b Bitwise AND & Unordered with respect to comparison operators
7b Bitwise XOR ^ Unordered with respect to comparison operators
6b Bitwise OR | Unordered with respect to comparison operators
5 Logical AND && Short-circuit
4 Logical OR || Short-circuit
3 Conditional operator ?: Right-associative
2 Assignment operators = -= += <<= >>= >>>= = *= %= ^= ^^= ~= Right-associative
1.5 Lambda abstraction => Not a real operator, occurs twice, this is binding power to the right
1 Comma operator , Not to be confused with other uses of ',', though their precedence is the same
0

lowest

Range separator .. Not a real operator, hardwired into syntax at specific points