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