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@13
|
37 0: Stmt_Expression(
|
Chris@13
|
38 expr: Expr_BitwiseNot(
|
Chris@13
|
39 expr: Expr_Variable(
|
Chris@13
|
40 name: a
|
Chris@13
|
41 )
|
Chris@13
|
42 comments: array(
|
Chris@13
|
43 0: // unary ops
|
Chris@13
|
44 )
|
Chris@0
|
45 )
|
Chris@0
|
46 comments: array(
|
Chris@0
|
47 0: // unary ops
|
Chris@0
|
48 )
|
Chris@0
|
49 )
|
Chris@13
|
50 1: Stmt_Expression(
|
Chris@13
|
51 expr: Expr_UnaryPlus(
|
Chris@13
|
52 expr: Expr_Variable(
|
Chris@13
|
53 name: a
|
Chris@13
|
54 )
|
Chris@0
|
55 )
|
Chris@0
|
56 )
|
Chris@13
|
57 2: Stmt_Expression(
|
Chris@13
|
58 expr: Expr_UnaryMinus(
|
Chris@13
|
59 expr: Expr_Variable(
|
Chris@13
|
60 name: a
|
Chris@13
|
61 )
|
Chris@0
|
62 )
|
Chris@0
|
63 )
|
Chris@13
|
64 3: Stmt_Expression(
|
Chris@13
|
65 expr: Expr_BinaryOp_BitwiseAnd(
|
Chris@0
|
66 left: Expr_Variable(
|
Chris@0
|
67 name: a
|
Chris@0
|
68 comments: array(
|
Chris@13
|
69 0: // binary ops
|
Chris@0
|
70 )
|
Chris@0
|
71 )
|
Chris@0
|
72 right: Expr_Variable(
|
Chris@0
|
73 name: b
|
Chris@0
|
74 )
|
Chris@0
|
75 comments: array(
|
Chris@13
|
76 0: // binary ops
|
Chris@0
|
77 )
|
Chris@0
|
78 )
|
Chris@0
|
79 comments: array(
|
Chris@13
|
80 0: // binary ops
|
Chris@0
|
81 )
|
Chris@0
|
82 )
|
Chris@13
|
83 4: Stmt_Expression(
|
Chris@13
|
84 expr: Expr_BinaryOp_BitwiseOr(
|
Chris@0
|
85 left: Expr_Variable(
|
Chris@0
|
86 name: a
|
Chris@0
|
87 )
|
Chris@0
|
88 right: Expr_Variable(
|
Chris@0
|
89 name: b
|
Chris@0
|
90 )
|
Chris@0
|
91 )
|
Chris@0
|
92 )
|
Chris@13
|
93 5: Stmt_Expression(
|
Chris@13
|
94 expr: Expr_BinaryOp_BitwiseXor(
|
Chris@0
|
95 left: Expr_Variable(
|
Chris@0
|
96 name: a
|
Chris@0
|
97 )
|
Chris@0
|
98 right: Expr_Variable(
|
Chris@0
|
99 name: b
|
Chris@0
|
100 )
|
Chris@0
|
101 )
|
Chris@13
|
102 )
|
Chris@13
|
103 6: Stmt_Expression(
|
Chris@13
|
104 expr: Expr_BinaryOp_Concat(
|
Chris@13
|
105 left: Expr_Variable(
|
Chris@13
|
106 name: a
|
Chris@13
|
107 )
|
Chris@13
|
108 right: Expr_Variable(
|
Chris@13
|
109 name: b
|
Chris@13
|
110 )
|
Chris@13
|
111 )
|
Chris@13
|
112 )
|
Chris@13
|
113 7: Stmt_Expression(
|
Chris@13
|
114 expr: Expr_BinaryOp_Div(
|
Chris@13
|
115 left: Expr_Variable(
|
Chris@13
|
116 name: a
|
Chris@13
|
117 )
|
Chris@13
|
118 right: Expr_Variable(
|
Chris@13
|
119 name: b
|
Chris@13
|
120 )
|
Chris@13
|
121 )
|
Chris@13
|
122 )
|
Chris@13
|
123 8: Stmt_Expression(
|
Chris@13
|
124 expr: Expr_BinaryOp_Minus(
|
Chris@13
|
125 left: Expr_Variable(
|
Chris@13
|
126 name: a
|
Chris@13
|
127 )
|
Chris@13
|
128 right: Expr_Variable(
|
Chris@13
|
129 name: b
|
Chris@13
|
130 )
|
Chris@13
|
131 )
|
Chris@13
|
132 )
|
Chris@13
|
133 9: Stmt_Expression(
|
Chris@13
|
134 expr: Expr_BinaryOp_Mod(
|
Chris@13
|
135 left: Expr_Variable(
|
Chris@13
|
136 name: a
|
Chris@13
|
137 )
|
Chris@13
|
138 right: Expr_Variable(
|
Chris@13
|
139 name: b
|
Chris@13
|
140 )
|
Chris@13
|
141 )
|
Chris@13
|
142 )
|
Chris@13
|
143 10: Stmt_Expression(
|
Chris@13
|
144 expr: Expr_BinaryOp_Mul(
|
Chris@13
|
145 left: Expr_Variable(
|
Chris@13
|
146 name: a
|
Chris@13
|
147 )
|
Chris@13
|
148 right: Expr_Variable(
|
Chris@13
|
149 name: b
|
Chris@13
|
150 )
|
Chris@13
|
151 )
|
Chris@13
|
152 )
|
Chris@13
|
153 11: Stmt_Expression(
|
Chris@13
|
154 expr: Expr_BinaryOp_Plus(
|
Chris@13
|
155 left: Expr_Variable(
|
Chris@13
|
156 name: a
|
Chris@13
|
157 )
|
Chris@13
|
158 right: Expr_Variable(
|
Chris@13
|
159 name: b
|
Chris@13
|
160 )
|
Chris@13
|
161 )
|
Chris@13
|
162 )
|
Chris@13
|
163 12: Stmt_Expression(
|
Chris@13
|
164 expr: Expr_BinaryOp_ShiftLeft(
|
Chris@13
|
165 left: Expr_Variable(
|
Chris@13
|
166 name: a
|
Chris@13
|
167 )
|
Chris@13
|
168 right: Expr_Variable(
|
Chris@13
|
169 name: b
|
Chris@13
|
170 )
|
Chris@13
|
171 )
|
Chris@13
|
172 )
|
Chris@13
|
173 13: Stmt_Expression(
|
Chris@13
|
174 expr: Expr_BinaryOp_ShiftRight(
|
Chris@13
|
175 left: Expr_Variable(
|
Chris@13
|
176 name: a
|
Chris@13
|
177 )
|
Chris@13
|
178 right: Expr_Variable(
|
Chris@13
|
179 name: b
|
Chris@13
|
180 )
|
Chris@13
|
181 )
|
Chris@13
|
182 )
|
Chris@13
|
183 14: Stmt_Expression(
|
Chris@13
|
184 expr: Expr_BinaryOp_Pow(
|
Chris@13
|
185 left: Expr_Variable(
|
Chris@13
|
186 name: a
|
Chris@13
|
187 )
|
Chris@13
|
188 right: Expr_Variable(
|
Chris@13
|
189 name: b
|
Chris@13
|
190 )
|
Chris@13
|
191 )
|
Chris@13
|
192 )
|
Chris@13
|
193 15: Stmt_Expression(
|
Chris@13
|
194 expr: Expr_BinaryOp_Mul(
|
Chris@13
|
195 left: Expr_BinaryOp_Mul(
|
Chris@13
|
196 left: Expr_Variable(
|
Chris@13
|
197 name: a
|
Chris@13
|
198 comments: array(
|
Chris@13
|
199 0: // associativity
|
Chris@13
|
200 )
|
Chris@13
|
201 )
|
Chris@13
|
202 right: Expr_Variable(
|
Chris@13
|
203 name: b
|
Chris@13
|
204 )
|
Chris@13
|
205 comments: array(
|
Chris@13
|
206 0: // associativity
|
Chris@13
|
207 )
|
Chris@13
|
208 )
|
Chris@13
|
209 right: Expr_Variable(
|
Chris@13
|
210 name: c
|
Chris@13
|
211 )
|
Chris@13
|
212 comments: array(
|
Chris@13
|
213 0: // associativity
|
Chris@13
|
214 )
|
Chris@13
|
215 )
|
Chris@13
|
216 comments: array(
|
Chris@13
|
217 0: // associativity
|
Chris@13
|
218 )
|
Chris@13
|
219 )
|
Chris@13
|
220 16: Stmt_Expression(
|
Chris@13
|
221 expr: Expr_BinaryOp_Mul(
|
Chris@13
|
222 left: Expr_Variable(
|
Chris@13
|
223 name: a
|
Chris@13
|
224 )
|
Chris@13
|
225 right: Expr_BinaryOp_Mul(
|
Chris@13
|
226 left: Expr_Variable(
|
Chris@13
|
227 name: b
|
Chris@13
|
228 )
|
Chris@13
|
229 right: Expr_Variable(
|
Chris@13
|
230 name: c
|
Chris@13
|
231 )
|
Chris@13
|
232 )
|
Chris@13
|
233 )
|
Chris@13
|
234 )
|
Chris@13
|
235 17: Stmt_Expression(
|
Chris@13
|
236 expr: Expr_BinaryOp_Plus(
|
Chris@13
|
237 left: Expr_Variable(
|
Chris@13
|
238 name: a
|
Chris@13
|
239 comments: array(
|
Chris@13
|
240 0: // precedence
|
Chris@13
|
241 )
|
Chris@13
|
242 )
|
Chris@13
|
243 right: Expr_BinaryOp_Mul(
|
Chris@13
|
244 left: Expr_Variable(
|
Chris@13
|
245 name: b
|
Chris@13
|
246 )
|
Chris@13
|
247 right: Expr_Variable(
|
Chris@13
|
248 name: c
|
Chris@13
|
249 )
|
Chris@13
|
250 )
|
Chris@13
|
251 comments: array(
|
Chris@13
|
252 0: // precedence
|
Chris@13
|
253 )
|
Chris@13
|
254 )
|
Chris@13
|
255 comments: array(
|
Chris@13
|
256 0: // precedence
|
Chris@13
|
257 )
|
Chris@13
|
258 )
|
Chris@13
|
259 18: Stmt_Expression(
|
Chris@13
|
260 expr: Expr_BinaryOp_Mul(
|
Chris@13
|
261 left: Expr_BinaryOp_Plus(
|
Chris@13
|
262 left: Expr_Variable(
|
Chris@13
|
263 name: a
|
Chris@13
|
264 )
|
Chris@13
|
265 right: Expr_Variable(
|
Chris@13
|
266 name: b
|
Chris@13
|
267 )
|
Chris@13
|
268 )
|
Chris@13
|
269 right: Expr_Variable(
|
Chris@13
|
270 name: c
|
Chris@13
|
271 )
|
Chris@13
|
272 )
|
Chris@13
|
273 )
|
Chris@13
|
274 19: Stmt_Expression(
|
Chris@13
|
275 expr: Expr_BinaryOp_Pow(
|
Chris@13
|
276 left: Expr_Variable(
|
Chris@13
|
277 name: a
|
Chris@13
|
278 comments: array(
|
Chris@13
|
279 0: // pow is special
|
Chris@13
|
280 )
|
Chris@13
|
281 )
|
Chris@13
|
282 right: Expr_BinaryOp_Pow(
|
Chris@13
|
283 left: Expr_Variable(
|
Chris@13
|
284 name: b
|
Chris@13
|
285 )
|
Chris@13
|
286 right: Expr_Variable(
|
Chris@13
|
287 name: c
|
Chris@13
|
288 )
|
Chris@13
|
289 )
|
Chris@13
|
290 comments: array(
|
Chris@13
|
291 0: // pow is special
|
Chris@13
|
292 )
|
Chris@13
|
293 )
|
Chris@13
|
294 comments: array(
|
Chris@13
|
295 0: // pow is special
|
Chris@13
|
296 )
|
Chris@13
|
297 )
|
Chris@13
|
298 20: Stmt_Expression(
|
Chris@13
|
299 expr: Expr_BinaryOp_Pow(
|
Chris@13
|
300 left: Expr_BinaryOp_Pow(
|
Chris@13
|
301 left: Expr_Variable(
|
Chris@13
|
302 name: a
|
Chris@13
|
303 )
|
Chris@13
|
304 right: Expr_Variable(
|
Chris@13
|
305 name: b
|
Chris@13
|
306 )
|
Chris@13
|
307 )
|
Chris@13
|
308 right: Expr_Variable(
|
Chris@13
|
309 name: c
|
Chris@13
|
310 )
|
Chris@0
|
311 )
|
Chris@0
|
312 )
|
Chris@0
|
313 ) |