Chris@0
|
1 Mathematical operators
|
Chris@0
|
2 -----
|
Chris@0
|
3 <?php
|
Chris@0
|
4
|
Chris@0
|
5 // unary ops
|
Chris@0
|
6 ~$a;
|
Chris@0
|
7 +$a;
|
Chris@0
|
8 -$a;
|
Chris@0
|
9
|
Chris@0
|
10 // binary ops
|
Chris@0
|
11 $a & $b;
|
Chris@0
|
12 $a | $b;
|
Chris@0
|
13 $a ^ $b;
|
Chris@0
|
14 $a . $b;
|
Chris@0
|
15 $a / $b;
|
Chris@0
|
16 $a - $b;
|
Chris@0
|
17 $a % $b;
|
Chris@0
|
18 $a * $b;
|
Chris@0
|
19 $a + $b;
|
Chris@0
|
20 $a << $b;
|
Chris@0
|
21 $a >> $b;
|
Chris@0
|
22 $a ** $b;
|
Chris@0
|
23
|
Chris@0
|
24 // associativity
|
Chris@0
|
25 $a * $b * $c;
|
Chris@0
|
26 $a * ($b * $c);
|
Chris@0
|
27
|
Chris@0
|
28 // precedence
|
Chris@0
|
29 $a + $b * $c;
|
Chris@0
|
30 ($a + $b) * $c;
|
Chris@0
|
31
|
Chris@0
|
32 // pow is special
|
Chris@0
|
33 $a ** $b ** $c;
|
Chris@0
|
34 ($a ** $b) ** $c;
|
Chris@0
|
35 -----
|
Chris@0
|
36 array(
|
Chris@0
|
37 0: Expr_BitwiseNot(
|
Chris@0
|
38 expr: Expr_Variable(
|
Chris@0
|
39 name: a
|
Chris@0
|
40 )
|
Chris@0
|
41 comments: array(
|
Chris@0
|
42 0: // unary ops
|
Chris@0
|
43 )
|
Chris@0
|
44 )
|
Chris@0
|
45 1: Expr_UnaryPlus(
|
Chris@0
|
46 expr: Expr_Variable(
|
Chris@0
|
47 name: a
|
Chris@0
|
48 )
|
Chris@0
|
49 )
|
Chris@0
|
50 2: Expr_UnaryMinus(
|
Chris@0
|
51 expr: Expr_Variable(
|
Chris@0
|
52 name: a
|
Chris@0
|
53 )
|
Chris@0
|
54 )
|
Chris@0
|
55 3: Expr_BinaryOp_BitwiseAnd(
|
Chris@0
|
56 left: Expr_Variable(
|
Chris@0
|
57 name: a
|
Chris@0
|
58 comments: array(
|
Chris@0
|
59 0: // binary ops
|
Chris@0
|
60 )
|
Chris@0
|
61 )
|
Chris@0
|
62 right: Expr_Variable(
|
Chris@0
|
63 name: b
|
Chris@0
|
64 )
|
Chris@0
|
65 comments: array(
|
Chris@0
|
66 0: // binary ops
|
Chris@0
|
67 )
|
Chris@0
|
68 )
|
Chris@0
|
69 4: Expr_BinaryOp_BitwiseOr(
|
Chris@0
|
70 left: Expr_Variable(
|
Chris@0
|
71 name: a
|
Chris@0
|
72 )
|
Chris@0
|
73 right: Expr_Variable(
|
Chris@0
|
74 name: b
|
Chris@0
|
75 )
|
Chris@0
|
76 )
|
Chris@0
|
77 5: Expr_BinaryOp_BitwiseXor(
|
Chris@0
|
78 left: Expr_Variable(
|
Chris@0
|
79 name: a
|
Chris@0
|
80 )
|
Chris@0
|
81 right: Expr_Variable(
|
Chris@0
|
82 name: b
|
Chris@0
|
83 )
|
Chris@0
|
84 )
|
Chris@0
|
85 6: Expr_BinaryOp_Concat(
|
Chris@0
|
86 left: Expr_Variable(
|
Chris@0
|
87 name: a
|
Chris@0
|
88 )
|
Chris@0
|
89 right: Expr_Variable(
|
Chris@0
|
90 name: b
|
Chris@0
|
91 )
|
Chris@0
|
92 )
|
Chris@0
|
93 7: Expr_BinaryOp_Div(
|
Chris@0
|
94 left: Expr_Variable(
|
Chris@0
|
95 name: a
|
Chris@0
|
96 )
|
Chris@0
|
97 right: Expr_Variable(
|
Chris@0
|
98 name: b
|
Chris@0
|
99 )
|
Chris@0
|
100 )
|
Chris@0
|
101 8: Expr_BinaryOp_Minus(
|
Chris@0
|
102 left: Expr_Variable(
|
Chris@0
|
103 name: a
|
Chris@0
|
104 )
|
Chris@0
|
105 right: Expr_Variable(
|
Chris@0
|
106 name: b
|
Chris@0
|
107 )
|
Chris@0
|
108 )
|
Chris@0
|
109 9: Expr_BinaryOp_Mod(
|
Chris@0
|
110 left: Expr_Variable(
|
Chris@0
|
111 name: a
|
Chris@0
|
112 )
|
Chris@0
|
113 right: Expr_Variable(
|
Chris@0
|
114 name: b
|
Chris@0
|
115 )
|
Chris@0
|
116 )
|
Chris@0
|
117 10: Expr_BinaryOp_Mul(
|
Chris@0
|
118 left: Expr_Variable(
|
Chris@0
|
119 name: a
|
Chris@0
|
120 )
|
Chris@0
|
121 right: Expr_Variable(
|
Chris@0
|
122 name: b
|
Chris@0
|
123 )
|
Chris@0
|
124 )
|
Chris@0
|
125 11: Expr_BinaryOp_Plus(
|
Chris@0
|
126 left: Expr_Variable(
|
Chris@0
|
127 name: a
|
Chris@0
|
128 )
|
Chris@0
|
129 right: Expr_Variable(
|
Chris@0
|
130 name: b
|
Chris@0
|
131 )
|
Chris@0
|
132 )
|
Chris@0
|
133 12: Expr_BinaryOp_ShiftLeft(
|
Chris@0
|
134 left: Expr_Variable(
|
Chris@0
|
135 name: a
|
Chris@0
|
136 )
|
Chris@0
|
137 right: Expr_Variable(
|
Chris@0
|
138 name: b
|
Chris@0
|
139 )
|
Chris@0
|
140 )
|
Chris@0
|
141 13: Expr_BinaryOp_ShiftRight(
|
Chris@0
|
142 left: Expr_Variable(
|
Chris@0
|
143 name: a
|
Chris@0
|
144 )
|
Chris@0
|
145 right: Expr_Variable(
|
Chris@0
|
146 name: b
|
Chris@0
|
147 )
|
Chris@0
|
148 )
|
Chris@0
|
149 14: Expr_BinaryOp_Pow(
|
Chris@0
|
150 left: Expr_Variable(
|
Chris@0
|
151 name: a
|
Chris@0
|
152 )
|
Chris@0
|
153 right: Expr_Variable(
|
Chris@0
|
154 name: b
|
Chris@0
|
155 )
|
Chris@0
|
156 )
|
Chris@0
|
157 15: Expr_BinaryOp_Mul(
|
Chris@0
|
158 left: Expr_BinaryOp_Mul(
|
Chris@0
|
159 left: Expr_Variable(
|
Chris@0
|
160 name: a
|
Chris@0
|
161 comments: array(
|
Chris@0
|
162 0: // associativity
|
Chris@0
|
163 )
|
Chris@0
|
164 )
|
Chris@0
|
165 right: Expr_Variable(
|
Chris@0
|
166 name: b
|
Chris@0
|
167 )
|
Chris@0
|
168 comments: array(
|
Chris@0
|
169 0: // associativity
|
Chris@0
|
170 )
|
Chris@0
|
171 )
|
Chris@0
|
172 right: Expr_Variable(
|
Chris@0
|
173 name: c
|
Chris@0
|
174 )
|
Chris@0
|
175 comments: array(
|
Chris@0
|
176 0: // associativity
|
Chris@0
|
177 )
|
Chris@0
|
178 )
|
Chris@0
|
179 16: Expr_BinaryOp_Mul(
|
Chris@0
|
180 left: Expr_Variable(
|
Chris@0
|
181 name: a
|
Chris@0
|
182 )
|
Chris@0
|
183 right: Expr_BinaryOp_Mul(
|
Chris@0
|
184 left: Expr_Variable(
|
Chris@0
|
185 name: b
|
Chris@0
|
186 )
|
Chris@0
|
187 right: Expr_Variable(
|
Chris@0
|
188 name: c
|
Chris@0
|
189 )
|
Chris@0
|
190 )
|
Chris@0
|
191 )
|
Chris@0
|
192 17: Expr_BinaryOp_Plus(
|
Chris@0
|
193 left: Expr_Variable(
|
Chris@0
|
194 name: a
|
Chris@0
|
195 comments: array(
|
Chris@0
|
196 0: // precedence
|
Chris@0
|
197 )
|
Chris@0
|
198 )
|
Chris@0
|
199 right: Expr_BinaryOp_Mul(
|
Chris@0
|
200 left: Expr_Variable(
|
Chris@0
|
201 name: b
|
Chris@0
|
202 )
|
Chris@0
|
203 right: Expr_Variable(
|
Chris@0
|
204 name: c
|
Chris@0
|
205 )
|
Chris@0
|
206 )
|
Chris@0
|
207 comments: array(
|
Chris@0
|
208 0: // precedence
|
Chris@0
|
209 )
|
Chris@0
|
210 )
|
Chris@0
|
211 18: Expr_BinaryOp_Mul(
|
Chris@0
|
212 left: Expr_BinaryOp_Plus(
|
Chris@0
|
213 left: Expr_Variable(
|
Chris@0
|
214 name: a
|
Chris@0
|
215 )
|
Chris@0
|
216 right: Expr_Variable(
|
Chris@0
|
217 name: b
|
Chris@0
|
218 )
|
Chris@0
|
219 )
|
Chris@0
|
220 right: Expr_Variable(
|
Chris@0
|
221 name: c
|
Chris@0
|
222 )
|
Chris@0
|
223 )
|
Chris@0
|
224 19: Expr_BinaryOp_Pow(
|
Chris@0
|
225 left: Expr_Variable(
|
Chris@0
|
226 name: a
|
Chris@0
|
227 comments: array(
|
Chris@0
|
228 0: // pow is special
|
Chris@0
|
229 )
|
Chris@0
|
230 )
|
Chris@0
|
231 right: Expr_BinaryOp_Pow(
|
Chris@0
|
232 left: Expr_Variable(
|
Chris@0
|
233 name: b
|
Chris@0
|
234 )
|
Chris@0
|
235 right: Expr_Variable(
|
Chris@0
|
236 name: c
|
Chris@0
|
237 )
|
Chris@0
|
238 )
|
Chris@0
|
239 comments: array(
|
Chris@0
|
240 0: // pow is special
|
Chris@0
|
241 )
|
Chris@0
|
242 )
|
Chris@0
|
243 20: Expr_BinaryOp_Pow(
|
Chris@0
|
244 left: Expr_BinaryOp_Pow(
|
Chris@0
|
245 left: Expr_Variable(
|
Chris@0
|
246 name: a
|
Chris@0
|
247 )
|
Chris@0
|
248 right: Expr_Variable(
|
Chris@0
|
249 name: b
|
Chris@0
|
250 )
|
Chris@0
|
251 )
|
Chris@0
|
252 right: Expr_Variable(
|
Chris@0
|
253 name: c
|
Chris@0
|
254 )
|
Chris@0
|
255 )
|
Chris@0
|
256 ) |