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