ref: ecf60a52205c9d7d8d731a83006e866f34354a66
parent: 4f90a4d919cc5862fd3ecbffc62b94b515dda7d3
author: Ori Bernstein <[email protected]>
date: Wed Aug 22 13:07:53 EDT 2012
Renumber precedences, such that higher precedences are higher numbers.
--- a/doc/lang.txt
+++ b/doc/lang.txt
@@ -349,13 +349,13 @@
BUG: There are too many precedence levels.
- Precedence 0: (*ok, not really operators)
+ Precedence 14: (*ok, not really operators)
(,,,) Tuple Construction
(e) Grouping
name Bare names
literal Values
- Precedence 1:
+ Precedence 13:
x.name Member lookup
x++ Postincrement
x-- Postdecrement
@@ -362,7 +362,7 @@
x[e] Index
x[from,to] Slice
- Precedence 2:
+ Precedence 12:
++x Preincrement
--x Predecrement
*x Dereference
@@ -372,33 +372,33 @@
+x Positive (no operation)
-x Negate x
- Precedence 3:
+ Precedence 11:
x << x Shift left
x >> x Shift right
- Precedence 4:
+ Precedence 10:
x * x Multiply
x / x Divide
x % x Modulo
- Precedence 5:
+ Precedence 9:
x + x Add
x - x Subtract
- Precedence 6:
+ Precedence 8:
x & y Bitwise and
Precedence 7:
x | y Bitwise or
- x ^ y Bitwise or
+ x ^ y Bitwise xor
- Precedence 8:
+ Precedence 6:
`Name x Union construction
- Precedence 9:
+ Precedence 5:
x casttto(type) Cast expression
- Precedence 10:
+ Precedence 4:
x == x Equality
x != x Inequality
x > x Greater than
@@ -406,13 +406,13 @@
x < x Less than
x <= x Less than or equal to
- Precedence 11:
+ Precedence 3:
x && x Logical and
- Precedence 12:
+ Precedence 2:
x || x Logical or
- Precedence 13:
+ Precedence 1:
x = x Assign Right assoc
x += x Fused add/assign Right assoc
x -= x Fused sub/assign Right assoc
@@ -425,7 +425,7 @@
x <<= x Fused shl/assign Right assoc
x >>= x Fused shr/assign Right assoc
- Precedence 14:
+ Precedence 0:
-> x Return expression
All expressions on integers act on complement-two values which wrap