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