Commit | Line | Data |
0de566d7 |
1 | case 2: |
166f8a29 |
2 | #line 97 "perly.y" |
a758b0b5 |
3 | { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;} |
0de566d7 |
4 | break; |
5 | |
6 | case 3: |
166f8a29 |
7 | #line 102 "perly.y" |
a758b0b5 |
8 | { if (PL_copline > (line_t)(yyvsp[-3].ival)) |
9 | PL_copline = (line_t)(yyvsp[-3].ival); |
10 | (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} |
0de566d7 |
11 | break; |
12 | |
13 | case 4: |
166f8a29 |
14 | #line 108 "perly.y" |
a758b0b5 |
15 | { (yyval.ival) = block_start(TRUE); ;} |
0de566d7 |
16 | break; |
17 | |
18 | case 5: |
166f8a29 |
19 | #line 112 "perly.y" |
0de566d7 |
20 | { |
a758b0b5 |
21 | PL_expect = XSTATE; (yyval.ival) = block_start(TRUE); |
0de566d7 |
22 | ;} |
23 | break; |
24 | |
25 | case 6: |
166f8a29 |
26 | #line 119 "perly.y" |
a758b0b5 |
27 | { if (PL_copline > (line_t)(yyvsp[-3].ival)) |
28 | PL_copline = (line_t)(yyvsp[-3].ival); |
29 | (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} |
0de566d7 |
30 | break; |
31 | |
32 | case 7: |
166f8a29 |
33 | #line 125 "perly.y" |
a758b0b5 |
34 | { (yyval.ival) = block_start(FALSE); ;} |
0de566d7 |
35 | break; |
36 | |
37 | case 8: |
166f8a29 |
38 | #line 129 "perly.y" |
a758b0b5 |
39 | { (yyval.ival) = PL_savestack_ix; ;} |
0de566d7 |
40 | break; |
41 | |
42 | case 9: |
166f8a29 |
43 | #line 133 "perly.y" |
a758b0b5 |
44 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
45 | break; |
46 | |
47 | case 10: |
166f8a29 |
48 | #line 135 "perly.y" |
a758b0b5 |
49 | { (yyval.opval) = (yyvsp[-1].opval); ;} |
0de566d7 |
50 | break; |
51 | |
52 | case 11: |
166f8a29 |
53 | #line 137 "perly.y" |
a758b0b5 |
54 | { LEAVE_SCOPE((yyvsp[-1].ival)); |
55 | (yyval.opval) = append_list(OP_LINESEQ, |
56 | (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval)); |
500bedb6 |
57 | PL_pad_reset_pending = TRUE; |
a758b0b5 |
58 | if ((yyvsp[-2].opval) && (yyvsp[0].opval)) PL_hints |= HINT_BLOCK_SCOPE; ;} |
500bedb6 |
59 | break; |
60 | |
61 | case 12: |
166f8a29 |
62 | #line 146 "perly.y" |
a758b0b5 |
63 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), (yyvsp[0].opval)); ;} |
0de566d7 |
64 | break; |
65 | |
500bedb6 |
66 | case 14: |
166f8a29 |
67 | #line 149 "perly.y" |
a758b0b5 |
68 | { if ((yyvsp[-1].pval) != Nullch) { |
69 | (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), newOP(OP_NULL, 0)); |
0de566d7 |
70 | } |
71 | else { |
a758b0b5 |
72 | (yyval.opval) = Nullop; |
0de566d7 |
73 | PL_copline = NOLINE; |
74 | } |
75 | PL_expect = XSTATE; ;} |
76 | break; |
77 | |
500bedb6 |
78 | case 15: |
166f8a29 |
79 | #line 158 "perly.y" |
a758b0b5 |
80 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), (yyvsp[-1].opval)); |
0de566d7 |
81 | PL_expect = XSTATE; ;} |
82 | break; |
83 | |
500bedb6 |
84 | case 16: |
166f8a29 |
85 | #line 164 "perly.y" |
a758b0b5 |
86 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
87 | break; |
88 | |
500bedb6 |
89 | case 17: |
166f8a29 |
90 | #line 166 "perly.y" |
a758b0b5 |
91 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
92 | break; |
93 | |
500bedb6 |
94 | case 18: |
166f8a29 |
95 | #line 168 "perly.y" |
a758b0b5 |
96 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} |
0de566d7 |
97 | break; |
98 | |
500bedb6 |
99 | case 19: |
166f8a29 |
100 | #line 170 "perly.y" |
a758b0b5 |
101 | { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} |
0de566d7 |
102 | break; |
103 | |
500bedb6 |
104 | case 20: |
166f8a29 |
105 | #line 172 "perly.y" |
a758b0b5 |
106 | { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval)); ;} |
0de566d7 |
107 | break; |
108 | |
500bedb6 |
109 | case 21: |
166f8a29 |
110 | #line 174 "perly.y" |
a758b0b5 |
111 | { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval));;} |
0de566d7 |
112 | break; |
113 | |
500bedb6 |
114 | case 22: |
166f8a29 |
115 | #line 176 "perly.y" |
a758b0b5 |
116 | { (yyval.opval) = newFOROP(0, Nullch, (line_t)(yyvsp[-1].ival), |
117 | Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop); ;} |
0de566d7 |
118 | break; |
119 | |
500bedb6 |
120 | case 23: |
166f8a29 |
121 | #line 182 "perly.y" |
a758b0b5 |
122 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
123 | break; |
124 | |
500bedb6 |
125 | case 24: |
166f8a29 |
126 | #line 184 "perly.y" |
a758b0b5 |
127 | { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval)); ;} |
0de566d7 |
128 | break; |
129 | |
500bedb6 |
130 | case 25: |
166f8a29 |
131 | #line 186 "perly.y" |
a758b0b5 |
132 | { PL_copline = (line_t)(yyvsp[-5].ival); |
133 | (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)); |
0de566d7 |
134 | PL_hints |= HINT_BLOCK_SCOPE; ;} |
135 | break; |
136 | |
500bedb6 |
137 | case 26: |
166f8a29 |
138 | #line 193 "perly.y" |
a758b0b5 |
139 | { PL_copline = (line_t)(yyvsp[-6].ival); |
140 | (yyval.opval) = block_end((yyvsp[-4].ival), |
141 | newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} |
0de566d7 |
142 | break; |
143 | |
500bedb6 |
144 | case 27: |
166f8a29 |
145 | #line 197 "perly.y" |
a758b0b5 |
146 | { PL_copline = (line_t)(yyvsp[-6].ival); |
147 | (yyval.opval) = block_end((yyvsp[-4].ival), |
148 | newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} |
0de566d7 |
149 | break; |
150 | |
500bedb6 |
151 | case 28: |
166f8a29 |
152 | #line 204 "perly.y" |
a758b0b5 |
153 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
154 | break; |
155 | |
500bedb6 |
156 | case 29: |
166f8a29 |
157 | #line 206 "perly.y" |
a758b0b5 |
158 | { (yyval.opval) = scope((yyvsp[0].opval)); ;} |
0de566d7 |
159 | break; |
160 | |
500bedb6 |
161 | case 30: |
166f8a29 |
162 | #line 211 "perly.y" |
a758b0b5 |
163 | { PL_copline = (line_t)(yyvsp[-6].ival); |
164 | (yyval.opval) = block_end((yyvsp[-4].ival), |
165 | newSTATEOP(0, (yyvsp[-7].pval), |
0de566d7 |
166 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 |
167 | (yyvsp[-6].ival), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)))); ;} |
0de566d7 |
168 | break; |
169 | |
500bedb6 |
170 | case 31: |
166f8a29 |
171 | #line 217 "perly.y" |
a758b0b5 |
172 | { PL_copline = (line_t)(yyvsp[-6].ival); |
173 | (yyval.opval) = block_end((yyvsp[-4].ival), |
174 | newSTATEOP(0, (yyvsp[-7].pval), |
0de566d7 |
175 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 |
176 | (yyvsp[-6].ival), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)))); ;} |
0de566d7 |
177 | break; |
178 | |
500bedb6 |
179 | case 32: |
166f8a29 |
180 | #line 223 "perly.y" |
a758b0b5 |
181 | { (yyval.opval) = block_end((yyvsp[-6].ival), |
182 | newFOROP(0, (yyvsp[-9].pval), (line_t)(yyvsp[-8].ival), (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} |
0de566d7 |
183 | break; |
184 | |
500bedb6 |
185 | case 33: |
166f8a29 |
186 | #line 226 "perly.y" |
a758b0b5 |
187 | { (yyval.opval) = block_end((yyvsp[-4].ival), |
188 | newFOROP(0, (yyvsp[-8].pval), (line_t)(yyvsp[-7].ival), mod((yyvsp[-6].opval), OP_ENTERLOOP), |
189 | (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} |
0de566d7 |
190 | break; |
191 | |
500bedb6 |
192 | case 34: |
166f8a29 |
193 | #line 230 "perly.y" |
a758b0b5 |
194 | { (yyval.opval) = block_end((yyvsp[-4].ival), |
195 | newFOROP(0, (yyvsp[-7].pval), (line_t)(yyvsp[-6].ival), Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} |
0de566d7 |
196 | break; |
197 | |
500bedb6 |
198 | case 35: |
166f8a29 |
199 | #line 234 "perly.y" |
0de566d7 |
200 | { OP *forop; |
a758b0b5 |
201 | PL_copline = (line_t)(yyvsp[-9].ival); |
202 | forop = newSTATEOP(0, (yyvsp[-10].pval), |
0de566d7 |
203 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 |
204 | (yyvsp[-9].ival), scalar((yyvsp[-4].opval)), |
205 | (yyvsp[0].opval), (yyvsp[-2].opval))); |
206 | if ((yyvsp[-6].opval)) { |
0de566d7 |
207 | forop = append_elem(OP_LINESEQ, |
a758b0b5 |
208 | newSTATEOP(0, ((yyvsp[-10].pval)?savepv((yyvsp[-10].pval)):Nullch), |
209 | (yyvsp[-6].opval)), |
0de566d7 |
210 | forop); |
211 | } |
212 | |
a758b0b5 |
213 | (yyval.opval) = block_end((yyvsp[-7].ival), forop); ;} |
0de566d7 |
214 | break; |
215 | |
500bedb6 |
216 | case 36: |
166f8a29 |
217 | #line 249 "perly.y" |
a758b0b5 |
218 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), |
0de566d7 |
219 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 |
220 | NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval))); ;} |
0de566d7 |
221 | break; |
222 | |
500bedb6 |
223 | case 37: |
166f8a29 |
224 | #line 256 "perly.y" |
a758b0b5 |
225 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
226 | break; |
227 | |
500bedb6 |
228 | case 39: |
166f8a29 |
229 | #line 262 "perly.y" |
a758b0b5 |
230 | { (void)scan_num("1", &yylval); (yyval.opval) = yylval.opval; ;} |
0de566d7 |
231 | break; |
232 | |
0de566d7 |
233 | case 41: |
166f8a29 |
234 | #line 268 "perly.y" |
a758b0b5 |
235 | { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;} |
0de566d7 |
236 | break; |
237 | |
238 | case 42: |
166f8a29 |
239 | #line 273 "perly.y" |
a758b0b5 |
240 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 |
241 | break; |
242 | |
243 | case 43: |
166f8a29 |
244 | #line 277 "perly.y" |
a758b0b5 |
245 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 |
246 | break; |
247 | |
248 | case 44: |
166f8a29 |
249 | #line 281 "perly.y" |
a758b0b5 |
250 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 |
251 | break; |
252 | |
253 | case 45: |
166f8a29 |
254 | #line 285 "perly.y" |
a758b0b5 |
255 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 |
256 | break; |
257 | |
500bedb6 |
258 | case 46: |
166f8a29 |
259 | #line 290 "perly.y" |
a758b0b5 |
260 | { (yyval.pval) = Nullch; ;} |
0de566d7 |
261 | break; |
262 | |
263 | case 48: |
166f8a29 |
264 | #line 296 "perly.y" |
a758b0b5 |
265 | { (yyval.ival) = 0; ;} |
0de566d7 |
266 | break; |
267 | |
268 | case 49: |
166f8a29 |
269 | #line 298 "perly.y" |
a758b0b5 |
270 | { (yyval.ival) = 0; ;} |
0de566d7 |
271 | break; |
272 | |
273 | case 50: |
166f8a29 |
274 | #line 300 "perly.y" |
a758b0b5 |
275 | { (yyval.ival) = 0; ;} |
0de566d7 |
276 | break; |
277 | |
278 | case 51: |
166f8a29 |
279 | #line 302 "perly.y" |
a758b0b5 |
280 | { (yyval.ival) = 0; ;} |
0de566d7 |
281 | break; |
282 | |
283 | case 52: |
166f8a29 |
284 | #line 304 "perly.y" |
a758b0b5 |
285 | { (yyval.ival) = 0; ;} |
0de566d7 |
286 | break; |
287 | |
288 | case 53: |
166f8a29 |
289 | #line 308 "perly.y" |
a758b0b5 |
290 | { newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
291 | break; |
292 | |
293 | case 54: |
166f8a29 |
294 | #line 311 "perly.y" |
a758b0b5 |
295 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
296 | break; |
297 | |
298 | case 55: |
166f8a29 |
299 | #line 312 "perly.y" |
a758b0b5 |
300 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
301 | break; |
302 | |
303 | case 56: |
166f8a29 |
304 | #line 317 "perly.y" |
a758b0b5 |
305 | { newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
306 | break; |
307 | |
308 | case 57: |
166f8a29 |
309 | #line 322 "perly.y" |
a758b0b5 |
310 | { newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
311 | break; |
312 | |
313 | case 58: |
166f8a29 |
314 | #line 326 "perly.y" |
a758b0b5 |
315 | { (yyval.ival) = start_subparse(FALSE, 0); ;} |
0de566d7 |
316 | break; |
317 | |
318 | case 59: |
166f8a29 |
319 | #line 330 "perly.y" |
a758b0b5 |
320 | { (yyval.ival) = start_subparse(FALSE, CVf_ANON); ;} |
0de566d7 |
321 | break; |
322 | |
323 | case 60: |
166f8a29 |
324 | #line 334 "perly.y" |
a758b0b5 |
325 | { (yyval.ival) = start_subparse(TRUE, 0); ;} |
500bedb6 |
326 | break; |
327 | |
328 | case 61: |
166f8a29 |
329 | #line 338 "perly.y" |
a758b0b5 |
330 | { STRLEN n_a; char *name = SvPV(((SVOP*)(yyvsp[0].opval))->op_sv,n_a); |
0de566d7 |
331 | if (strEQ(name, "BEGIN") || strEQ(name, "END") |
332 | || strEQ(name, "INIT") || strEQ(name, "CHECK")) |
333 | CvSPECIAL_on(PL_compcv); |
a758b0b5 |
334 | (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
335 | break; |
336 | |
500bedb6 |
337 | case 62: |
166f8a29 |
338 | #line 347 "perly.y" |
a758b0b5 |
339 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
340 | break; |
341 | |
342 | case 64: |
166f8a29 |
343 | #line 353 "perly.y" |
a758b0b5 |
344 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
345 | break; |
346 | |
347 | case 65: |
166f8a29 |
348 | #line 355 "perly.y" |
a758b0b5 |
349 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
350 | break; |
351 | |
352 | case 66: |
166f8a29 |
353 | #line 357 "perly.y" |
a758b0b5 |
354 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
355 | break; |
356 | |
357 | case 67: |
166f8a29 |
358 | #line 362 "perly.y" |
a758b0b5 |
359 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
360 | break; |
361 | |
362 | case 68: |
166f8a29 |
363 | #line 364 "perly.y" |
a758b0b5 |
364 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
365 | break; |
366 | |
367 | case 69: |
166f8a29 |
368 | #line 368 "perly.y" |
a758b0b5 |
369 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
370 | break; |
371 | |
372 | case 70: |
166f8a29 |
373 | #line 369 "perly.y" |
a758b0b5 |
374 | { (yyval.opval) = Nullop; PL_expect = XSTATE; ;} |
0de566d7 |
375 | break; |
376 | |
377 | case 71: |
166f8a29 |
378 | #line 373 "perly.y" |
a758b0b5 |
379 | { package((yyvsp[-1].opval)); ;} |
0de566d7 |
380 | break; |
381 | |
382 | case 72: |
166f8a29 |
383 | #line 377 "perly.y" |
500bedb6 |
384 | { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} |
0de566d7 |
385 | break; |
386 | |
387 | case 73: |
166f8a29 |
388 | #line 379 "perly.y" |
a758b0b5 |
389 | { utilize((yyvsp[-6].ival), (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval)); ;} |
0de566d7 |
390 | break; |
391 | |
392 | case 74: |
166f8a29 |
393 | #line 384 "perly.y" |
a758b0b5 |
394 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
395 | break; |
396 | |
397 | case 75: |
166f8a29 |
398 | #line 386 "perly.y" |
a758b0b5 |
399 | { (yyval.opval) = newLOGOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
500bedb6 |
400 | break; |
401 | |
402 | case 76: |
166f8a29 |
403 | #line 388 "perly.y" |
a758b0b5 |
404 | { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
405 | break; |
406 | |
500bedb6 |
407 | case 78: |
166f8a29 |
408 | #line 394 "perly.y" |
a758b0b5 |
409 | { (yyval.opval) = (yyvsp[-1].opval); ;} |
0de566d7 |
410 | break; |
411 | |
500bedb6 |
412 | case 79: |
166f8a29 |
413 | #line 396 "perly.y" |
a758b0b5 |
414 | { (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
415 | break; |
416 | |
500bedb6 |
417 | case 81: |
166f8a29 |
418 | #line 402 "perly.y" |
a758b0b5 |
419 | { (yyval.opval) = convert((yyvsp[-2].ival), OPf_STACKED, |
420 | prepend_elem(OP_LIST, newGVREF((yyvsp[-2].ival),(yyvsp[-1].opval)), (yyvsp[0].opval)) ); ;} |
0de566d7 |
421 | break; |
422 | |
500bedb6 |
423 | case 82: |
166f8a29 |
424 | #line 405 "perly.y" |
a758b0b5 |
425 | { (yyval.opval) = convert((yyvsp[-4].ival), OPf_STACKED, |
426 | prepend_elem(OP_LIST, newGVREF((yyvsp[-4].ival),(yyvsp[-2].opval)), (yyvsp[-1].opval)) ); ;} |
0de566d7 |
427 | break; |
428 | |
500bedb6 |
429 | case 83: |
166f8a29 |
430 | #line 408 "perly.y" |
a758b0b5 |
431 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 |
432 | append_elem(OP_LIST, |
a758b0b5 |
433 | prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)), |
434 | newUNOP(OP_METHOD, 0, (yyvsp[-3].opval)))); ;} |
0de566d7 |
435 | break; |
436 | |
500bedb6 |
437 | case 84: |
166f8a29 |
438 | #line 413 "perly.y" |
a758b0b5 |
439 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
440 | append_elem(OP_LIST, scalar((yyvsp[-2].opval)), |
441 | newUNOP(OP_METHOD, 0, (yyvsp[0].opval)))); ;} |
0de566d7 |
442 | break; |
443 | |
500bedb6 |
444 | case 85: |
166f8a29 |
445 | #line 417 "perly.y" |
a758b0b5 |
446 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 |
447 | append_elem(OP_LIST, |
a758b0b5 |
448 | prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)), |
449 | newUNOP(OP_METHOD, 0, (yyvsp[-2].opval)))); ;} |
0de566d7 |
450 | break; |
451 | |
500bedb6 |
452 | case 86: |
166f8a29 |
453 | #line 422 "perly.y" |
a758b0b5 |
454 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 |
455 | append_elem(OP_LIST, |
a758b0b5 |
456 | prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)), |
457 | newUNOP(OP_METHOD, 0, (yyvsp[-4].opval)))); ;} |
0de566d7 |
458 | break; |
459 | |
500bedb6 |
460 | case 87: |
166f8a29 |
461 | #line 427 "perly.y" |
a758b0b5 |
462 | { (yyval.opval) = convert((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 |
463 | break; |
464 | |
500bedb6 |
465 | case 88: |
166f8a29 |
466 | #line 429 "perly.y" |
a758b0b5 |
467 | { (yyval.opval) = convert((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} |
0de566d7 |
468 | break; |
469 | |
500bedb6 |
470 | case 89: |
166f8a29 |
471 | #line 431 "perly.y" |
a758b0b5 |
472 | { (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;} |
0de566d7 |
473 | break; |
474 | |
500bedb6 |
475 | case 90: |
166f8a29 |
476 | #line 433 "perly.y" |
a758b0b5 |
477 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
0de566d7 |
478 | append_elem(OP_LIST, |
a758b0b5 |
479 | prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval))); ;} |
0de566d7 |
480 | break; |
481 | |
500bedb6 |
482 | case 93: |
166f8a29 |
483 | #line 447 "perly.y" |
a758b0b5 |
484 | { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval))); |
0de566d7 |
485 | PL_expect = XOPERATOR; ;} |
486 | break; |
487 | |
500bedb6 |
488 | case 94: |
166f8a29 |
489 | #line 450 "perly.y" |
a758b0b5 |
490 | { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval))); ;} |
0de566d7 |
491 | break; |
492 | |
500bedb6 |
493 | case 95: |
166f8a29 |
494 | #line 452 "perly.y" |
a758b0b5 |
495 | { (yyval.opval) = newBINOP(OP_AELEM, 0, |
496 | ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV), |
497 | scalar((yyvsp[-1].opval)));;} |
0de566d7 |
498 | break; |
499 | |
500bedb6 |
500 | case 96: |
166f8a29 |
501 | #line 456 "perly.y" |
a758b0b5 |
502 | { (yyval.opval) = newBINOP(OP_AELEM, 0, |
503 | ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV), |
504 | scalar((yyvsp[-1].opval)));;} |
0de566d7 |
505 | break; |
506 | |
500bedb6 |
507 | case 97: |
166f8a29 |
508 | #line 460 "perly.y" |
a758b0b5 |
509 | { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval))); |
0de566d7 |
510 | PL_expect = XOPERATOR; ;} |
511 | break; |
512 | |
500bedb6 |
513 | case 98: |
166f8a29 |
514 | #line 463 "perly.y" |
a758b0b5 |
515 | { (yyval.opval) = newBINOP(OP_HELEM, 0, |
516 | ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV), |
517 | jmaybe((yyvsp[-2].opval))); |
0de566d7 |
518 | PL_expect = XOPERATOR; ;} |
519 | break; |
520 | |
500bedb6 |
521 | case 99: |
166f8a29 |
522 | #line 468 "perly.y" |
a758b0b5 |
523 | { (yyval.opval) = newBINOP(OP_HELEM, 0, |
524 | ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV), |
525 | jmaybe((yyvsp[-2].opval))); |
0de566d7 |
526 | PL_expect = XOPERATOR; ;} |
527 | break; |
528 | |
500bedb6 |
529 | case 100: |
166f8a29 |
530 | #line 473 "perly.y" |
a758b0b5 |
531 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
532 | newCVREF(0, scalar((yyvsp[-3].opval)))); ;} |
0de566d7 |
533 | break; |
534 | |
500bedb6 |
535 | case 101: |
166f8a29 |
536 | #line 476 "perly.y" |
a758b0b5 |
537 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
538 | append_elem(OP_LIST, (yyvsp[-1].opval), |
539 | newCVREF(0, scalar((yyvsp[-4].opval))))); ;} |
0de566d7 |
540 | break; |
541 | |
500bedb6 |
542 | case 102: |
166f8a29 |
543 | #line 481 "perly.y" |
a758b0b5 |
544 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
545 | append_elem(OP_LIST, (yyvsp[-1].opval), |
546 | newCVREF(0, scalar((yyvsp[-3].opval))))); ;} |
0de566d7 |
547 | break; |
548 | |
500bedb6 |
549 | case 103: |
166f8a29 |
550 | #line 485 "perly.y" |
a758b0b5 |
551 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
552 | newCVREF(0, scalar((yyvsp[-2].opval)))); ;} |
0de566d7 |
553 | break; |
554 | |
500bedb6 |
555 | case 104: |
166f8a29 |
556 | #line 491 "perly.y" |
a758b0b5 |
557 | { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), (yyvsp[-1].ival), (yyvsp[0].opval)); ;} |
0de566d7 |
558 | break; |
559 | |
500bedb6 |
560 | case 105: |
166f8a29 |
561 | #line 493 "perly.y" |
a758b0b5 |
562 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
563 | break; |
564 | |
500bedb6 |
565 | case 106: |
166f8a29 |
566 | #line 495 "perly.y" |
a758b0b5 |
567 | { if ((yyvsp[-1].ival) != OP_REPEAT) |
568 | scalar((yyvsp[-2].opval)); |
569 | (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
570 | break; |
571 | |
0de566d7 |
572 | case 107: |
166f8a29 |
573 | #line 499 "perly.y" |
a758b0b5 |
574 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
575 | break; |
576 | |
577 | case 108: |
166f8a29 |
578 | #line 501 "perly.y" |
a758b0b5 |
579 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
580 | break; |
581 | |
582 | case 109: |
166f8a29 |
583 | #line 503 "perly.y" |
a758b0b5 |
584 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
585 | break; |
586 | |
587 | case 110: |
166f8a29 |
588 | #line 505 "perly.y" |
a758b0b5 |
589 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
590 | break; |
591 | |
592 | case 111: |
166f8a29 |
593 | #line 507 "perly.y" |
a758b0b5 |
594 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
595 | break; |
596 | |
597 | case 112: |
166f8a29 |
598 | #line 509 "perly.y" |
a758b0b5 |
599 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 |
600 | break; |
601 | |
602 | case 113: |
166f8a29 |
603 | #line 511 "perly.y" |
a758b0b5 |
604 | { (yyval.opval) = newRANGE((yyvsp[-1].ival), scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));;} |
0de566d7 |
605 | break; |
606 | |
607 | case 114: |
166f8a29 |
608 | #line 513 "perly.y" |
a758b0b5 |
609 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
610 | break; |
611 | |
612 | case 115: |
166f8a29 |
613 | #line 515 "perly.y" |
a758b0b5 |
614 | { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
615 | break; |
616 | |
617 | case 116: |
166f8a29 |
618 | #line 517 "perly.y" |
a758b0b5 |
619 | { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
620 | break; |
621 | |
622 | case 117: |
166f8a29 |
623 | #line 519 "perly.y" |
a758b0b5 |
624 | { (yyval.opval) = bind_match((yyvsp[-1].ival), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
625 | break; |
626 | |
627 | case 118: |
166f8a29 |
628 | #line 524 "perly.y" |
a758b0b5 |
629 | { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 |
630 | break; |
631 | |
632 | case 119: |
166f8a29 |
633 | #line 526 "perly.y" |
a758b0b5 |
634 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
635 | break; |
636 | |
637 | case 120: |
166f8a29 |
638 | #line 528 "perly.y" |
a758b0b5 |
639 | { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 |
640 | break; |
641 | |
642 | case 121: |
166f8a29 |
643 | #line 530 "perly.y" |
a758b0b5 |
644 | { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));;} |
500bedb6 |
645 | break; |
646 | |
647 | case 122: |
166f8a29 |
648 | #line 532 "perly.y" |
a758b0b5 |
649 | { (yyval.opval) = newUNOP(OP_POSTINC, 0, |
650 | mod(scalar((yyvsp[-1].opval)), OP_POSTINC)); ;} |
0de566d7 |
651 | break; |
652 | |
500bedb6 |
653 | case 123: |
166f8a29 |
654 | #line 535 "perly.y" |
a758b0b5 |
655 | { (yyval.opval) = newUNOP(OP_POSTDEC, 0, |
656 | mod(scalar((yyvsp[-1].opval)), OP_POSTDEC)); ;} |
0de566d7 |
657 | break; |
658 | |
500bedb6 |
659 | case 124: |
166f8a29 |
660 | #line 538 "perly.y" |
a758b0b5 |
661 | { (yyval.opval) = newUNOP(OP_PREINC, 0, |
662 | mod(scalar((yyvsp[0].opval)), OP_PREINC)); ;} |
0de566d7 |
663 | break; |
664 | |
500bedb6 |
665 | case 125: |
166f8a29 |
666 | #line 541 "perly.y" |
a758b0b5 |
667 | { (yyval.opval) = newUNOP(OP_PREDEC, 0, |
668 | mod(scalar((yyvsp[0].opval)), OP_PREDEC)); ;} |
0de566d7 |
669 | break; |
670 | |
500bedb6 |
671 | case 126: |
166f8a29 |
672 | #line 548 "perly.y" |
a758b0b5 |
673 | { (yyval.opval) = newANONLIST((yyvsp[-1].opval)); ;} |
0de566d7 |
674 | break; |
675 | |
500bedb6 |
676 | case 127: |
166f8a29 |
677 | #line 550 "perly.y" |
a758b0b5 |
678 | { (yyval.opval) = newANONLIST(Nullop); ;} |
0de566d7 |
679 | break; |
680 | |
500bedb6 |
681 | case 128: |
166f8a29 |
682 | #line 552 "perly.y" |
a758b0b5 |
683 | { (yyval.opval) = newANONHASH((yyvsp[-2].opval)); ;} |
0de566d7 |
684 | break; |
685 | |
500bedb6 |
686 | case 129: |
166f8a29 |
687 | #line 554 "perly.y" |
a758b0b5 |
688 | { (yyval.opval) = newANONHASH(Nullop); ;} |
0de566d7 |
689 | break; |
690 | |
500bedb6 |
691 | case 130: |
166f8a29 |
692 | #line 556 "perly.y" |
a758b0b5 |
693 | { (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
694 | break; |
695 | |
500bedb6 |
696 | case 131: |
166f8a29 |
697 | #line 562 "perly.y" |
a758b0b5 |
698 | { (yyval.opval) = dofile((yyvsp[0].opval)); ;} |
0de566d7 |
699 | break; |
700 | |
500bedb6 |
701 | case 132: |
166f8a29 |
702 | #line 564 "perly.y" |
a758b0b5 |
703 | { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval))); ;} |
0de566d7 |
704 | break; |
705 | |
500bedb6 |
706 | case 133: |
166f8a29 |
707 | #line 566 "perly.y" |
a758b0b5 |
708 | { (yyval.opval) = newUNOP(OP_ENTERSUB, |
0de566d7 |
709 | OPf_SPECIAL|OPf_STACKED, |
710 | prepend_elem(OP_LIST, |
711 | scalar(newCVREF( |
712 | (OPpENTERSUB_AMPER<<8), |
a758b0b5 |
713 | scalar((yyvsp[-2].opval)) |
0de566d7 |
714 | )),Nullop)); dep();;} |
715 | break; |
716 | |
500bedb6 |
717 | case 134: |
166f8a29 |
718 | #line 574 "perly.y" |
a758b0b5 |
719 | { (yyval.opval) = newUNOP(OP_ENTERSUB, |
0de566d7 |
720 | OPf_SPECIAL|OPf_STACKED, |
721 | append_elem(OP_LIST, |
a758b0b5 |
722 | (yyvsp[-1].opval), |
0de566d7 |
723 | scalar(newCVREF( |
724 | (OPpENTERSUB_AMPER<<8), |
a758b0b5 |
725 | scalar((yyvsp[-3].opval)) |
0de566d7 |
726 | )))); dep();;} |
727 | break; |
728 | |
500bedb6 |
729 | case 135: |
166f8a29 |
730 | #line 583 "perly.y" |
a758b0b5 |
731 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, |
0de566d7 |
732 | prepend_elem(OP_LIST, |
a758b0b5 |
733 | scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();;} |
0de566d7 |
734 | break; |
735 | |
500bedb6 |
736 | case 136: |
166f8a29 |
737 | #line 587 "perly.y" |
a758b0b5 |
738 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, |
0de566d7 |
739 | prepend_elem(OP_LIST, |
a758b0b5 |
740 | (yyvsp[-1].opval), |
741 | scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();;} |
0de566d7 |
742 | break; |
743 | |
0de566d7 |
744 | case 141: |
166f8a29 |
745 | #line 599 "perly.y" |
a758b0b5 |
746 | { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 |
747 | break; |
748 | |
749 | case 142: |
166f8a29 |
750 | #line 601 "perly.y" |
a758b0b5 |
751 | { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN)); ;} |
0de566d7 |
752 | break; |
753 | |
754 | case 143: |
166f8a29 |
755 | #line 603 "perly.y" |
a758b0b5 |
756 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
757 | break; |
758 | |
759 | case 144: |
166f8a29 |
760 | #line 605 "perly.y" |
a758b0b5 |
761 | { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} |
0de566d7 |
762 | break; |
763 | |
764 | case 145: |
166f8a29 |
765 | #line 607 "perly.y" |
a758b0b5 |
766 | { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} |
0de566d7 |
767 | break; |
768 | |
769 | case 146: |
166f8a29 |
770 | #line 609 "perly.y" |
a758b0b5 |
771 | { (yyval.opval) = sawparens(newNULLLIST()); ;} |
0de566d7 |
772 | break; |
773 | |
774 | case 147: |
166f8a29 |
775 | #line 611 "perly.y" |
a758b0b5 |
776 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
777 | break; |
778 | |
779 | case 148: |
166f8a29 |
780 | #line 613 "perly.y" |
a758b0b5 |
781 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
782 | break; |
783 | |
784 | case 149: |
166f8a29 |
785 | #line 615 "perly.y" |
a758b0b5 |
786 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
787 | break; |
788 | |
789 | case 150: |
166f8a29 |
790 | #line 617 "perly.y" |
a758b0b5 |
791 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
792 | break; |
793 | |
794 | case 151: |
166f8a29 |
795 | #line 619 "perly.y" |
a758b0b5 |
796 | { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;} |
0de566d7 |
797 | break; |
798 | |
799 | case 152: |
166f8a29 |
800 | #line 621 "perly.y" |
a758b0b5 |
801 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
802 | break; |
803 | |
804 | case 153: |
166f8a29 |
805 | #line 623 "perly.y" |
a758b0b5 |
806 | { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval)); ;} |
0de566d7 |
807 | break; |
808 | |
809 | case 154: |
166f8a29 |
810 | #line 625 "perly.y" |
a758b0b5 |
811 | { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop); ;} |
500bedb6 |
812 | break; |
813 | |
814 | case 155: |
166f8a29 |
815 | #line 627 "perly.y" |
a758b0b5 |
816 | { (yyval.opval) = prepend_elem(OP_ASLICE, |
0de566d7 |
817 | newOP(OP_PUSHMARK, 0), |
818 | newLISTOP(OP_ASLICE, 0, |
a758b0b5 |
819 | list((yyvsp[-1].opval)), |
820 | ref((yyvsp[-3].opval), OP_ASLICE))); ;} |
0de566d7 |
821 | break; |
822 | |
500bedb6 |
823 | case 156: |
166f8a29 |
824 | #line 633 "perly.y" |
a758b0b5 |
825 | { (yyval.opval) = prepend_elem(OP_HSLICE, |
0de566d7 |
826 | newOP(OP_PUSHMARK, 0), |
827 | newLISTOP(OP_HSLICE, 0, |
a758b0b5 |
828 | list((yyvsp[-2].opval)), |
829 | ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE))); |
0de566d7 |
830 | PL_expect = XOPERATOR; ;} |
831 | break; |
832 | |
500bedb6 |
833 | case 157: |
166f8a29 |
834 | #line 640 "perly.y" |
a758b0b5 |
835 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
836 | break; |
837 | |
500bedb6 |
838 | case 158: |
166f8a29 |
839 | #line 642 "perly.y" |
a758b0b5 |
840 | { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 |
841 | break; |
842 | |
500bedb6 |
843 | case 159: |
166f8a29 |
844 | #line 644 "perly.y" |
a758b0b5 |
845 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval))); ;} |
0de566d7 |
846 | break; |
847 | |
500bedb6 |
848 | case 160: |
166f8a29 |
849 | #line 646 "perly.y" |
a758b0b5 |
850 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
851 | append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval)))); ;} |
0de566d7 |
852 | break; |
853 | |
500bedb6 |
854 | case 161: |
166f8a29 |
855 | #line 649 "perly.y" |
a758b0b5 |
856 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
857 | append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} |
0de566d7 |
858 | break; |
859 | |
500bedb6 |
860 | case 162: |
166f8a29 |
861 | #line 652 "perly.y" |
a758b0b5 |
862 | { (yyval.opval) = newOP((yyvsp[0].ival), OPf_SPECIAL); |
0de566d7 |
863 | PL_hints |= HINT_BLOCK_SCOPE; ;} |
864 | break; |
865 | |
500bedb6 |
866 | case 163: |
166f8a29 |
867 | #line 655 "perly.y" |
a758b0b5 |
868 | { (yyval.opval) = newLOOPEX((yyvsp[-1].ival),(yyvsp[0].opval)); ;} |
0de566d7 |
869 | break; |
870 | |
500bedb6 |
871 | case 164: |
166f8a29 |
872 | #line 657 "perly.y" |
a758b0b5 |
873 | { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 |
874 | break; |
875 | |
500bedb6 |
876 | case 165: |
166f8a29 |
877 | #line 659 "perly.y" |
a758b0b5 |
878 | { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} |
0de566d7 |
879 | break; |
880 | |
500bedb6 |
881 | case 166: |
166f8a29 |
882 | #line 661 "perly.y" |
a758b0b5 |
883 | { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 |
884 | break; |
885 | |
500bedb6 |
886 | case 167: |
166f8a29 |
887 | #line 663 "perly.y" |
a758b0b5 |
888 | { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 |
889 | break; |
890 | |
500bedb6 |
891 | case 168: |
166f8a29 |
892 | #line 665 "perly.y" |
a758b0b5 |
893 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
894 | append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} |
0de566d7 |
895 | break; |
896 | |
500bedb6 |
897 | case 169: |
166f8a29 |
898 | #line 668 "perly.y" |
a758b0b5 |
899 | { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} |
0de566d7 |
900 | break; |
901 | |
500bedb6 |
902 | case 170: |
166f8a29 |
903 | #line 670 "perly.y" |
a758b0b5 |
904 | { (yyval.opval) = newOP((yyvsp[-2].ival), 0); ;} |
0de566d7 |
905 | break; |
906 | |
500bedb6 |
907 | case 171: |
166f8a29 |
908 | #line 672 "perly.y" |
a758b0b5 |
909 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
910 | scalar((yyvsp[0].opval))); ;} |
0de566d7 |
911 | break; |
912 | |
500bedb6 |
913 | case 172: |
166f8a29 |
914 | #line 675 "perly.y" |
a758b0b5 |
915 | { (yyval.opval) = (yyvsp[-2].ival) == OP_NOT ? newUNOP((yyvsp[-2].ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) |
916 | : newOP((yyvsp[-2].ival), OPf_SPECIAL); ;} |
0de566d7 |
917 | break; |
918 | |
500bedb6 |
919 | case 173: |
a758b0b5 |
920 | #line 678 "perly.y" |
921 | { (yyval.opval) = newUNOP((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} |
0de566d7 |
922 | break; |
923 | |
500bedb6 |
924 | case 174: |
a758b0b5 |
925 | #line 680 "perly.y" |
926 | { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); ;} |
0de566d7 |
927 | break; |
928 | |
131b3ad0 |
929 | case 177: |
a758b0b5 |
930 | #line 687 "perly.y" |
931 | { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); ;} |
0de566d7 |
932 | break; |
933 | |
0de566d7 |
934 | case 178: |
a758b0b5 |
935 | #line 689 "perly.y" |
936 | { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} |
0de566d7 |
937 | break; |
938 | |
939 | case 179: |
a758b0b5 |
940 | #line 694 "perly.y" |
941 | { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} |
0de566d7 |
942 | break; |
943 | |
944 | case 180: |
a758b0b5 |
945 | #line 696 "perly.y" |
946 | { (yyval.opval) = sawparens(newNULLLIST()); ;} |
0de566d7 |
947 | break; |
948 | |
949 | case 181: |
a758b0b5 |
950 | #line 698 "perly.y" |
951 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
952 | break; |
953 | |
954 | case 182: |
a758b0b5 |
955 | #line 700 "perly.y" |
956 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
957 | break; |
958 | |
959 | case 183: |
a758b0b5 |
960 | #line 702 "perly.y" |
961 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
962 | break; |
963 | |
964 | case 184: |
a758b0b5 |
965 | #line 707 "perly.y" |
966 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
967 | break; |
968 | |
969 | case 185: |
a758b0b5 |
970 | #line 709 "perly.y" |
971 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
972 | break; |
973 | |
974 | case 186: |
a758b0b5 |
975 | #line 713 "perly.y" |
976 | { (yyval.opval) = Nullop; ;} |
0de566d7 |
977 | break; |
978 | |
979 | case 187: |
a758b0b5 |
980 | #line 715 "perly.y" |
981 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
982 | break; |
983 | |
984 | case 188: |
a758b0b5 |
985 | #line 717 "perly.y" |
986 | { (yyval.opval) = (yyvsp[-1].opval); ;} |
0de566d7 |
987 | break; |
988 | |
989 | case 189: |
a758b0b5 |
990 | #line 723 "perly.y" |
991 | { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;} |
0de566d7 |
992 | break; |
993 | |
994 | case 190: |
a758b0b5 |
995 | #line 727 "perly.y" |
996 | { (yyval.opval) = newCVREF((yyvsp[-1].ival),(yyvsp[0].opval)); ;} |
0de566d7 |
997 | break; |
998 | |
999 | case 191: |
a758b0b5 |
1000 | #line 731 "perly.y" |
1001 | { (yyval.opval) = newSVREF((yyvsp[0].opval)); ;} |
0de566d7 |
1002 | break; |
1003 | |
1004 | case 192: |
a758b0b5 |
1005 | #line 735 "perly.y" |
1006 | { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} |
0de566d7 |
1007 | break; |
1008 | |
1009 | case 193: |
a758b0b5 |
1010 | #line 739 "perly.y" |
1011 | { (yyval.opval) = newHVREF((yyvsp[0].opval)); ;} |
0de566d7 |
1012 | break; |
1013 | |
1014 | case 194: |
a758b0b5 |
1015 | #line 743 "perly.y" |
1016 | { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} |
0de566d7 |
1017 | break; |
1018 | |
1019 | case 195: |
a758b0b5 |
1020 | #line 747 "perly.y" |
1021 | { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); ;} |
0de566d7 |
1022 | break; |
1023 | |
1024 | case 196: |
a758b0b5 |
1025 | #line 752 "perly.y" |
1026 | { (yyval.opval) = scalar((yyvsp[0].opval)); ;} |
0de566d7 |
1027 | break; |
1028 | |
1029 | case 197: |
a758b0b5 |
1030 | #line 754 "perly.y" |
1031 | { (yyval.opval) = scalar((yyvsp[0].opval)); ;} |
0de566d7 |
1032 | break; |
1033 | |
1034 | case 198: |
a758b0b5 |
1035 | #line 756 "perly.y" |
1036 | { (yyval.opval) = scope((yyvsp[0].opval)); ;} |
500bedb6 |
1037 | break; |
1038 | |
131b3ad0 |
1039 | case 199: |
a758b0b5 |
1040 | #line 759 "perly.y" |
1041 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 |
1042 | break; |
1043 | |
1044 | |
1045 | |