This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlguts: add section on context stack
[perl5.git] / perly.act
CommitLineData
e8fb9efb
NC
1/* -*- buffer-read-only: t -*-
2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3 This file is built by regen_perly.pl from perly.y.
4 Any changes made here will be lost!
5 */
6
0de566d7 7case 2:
d39c26a6 8#line 115 "perly.y"
727a8fe5 9 {
624fa8bd 10 parser->expect = XSTATE;
5d051ee0 11 }
0de566d7
DM
12 break;
13
14 case 3:
d39c26a6 15#line 119 "perly.y"
636def1f 16 {
727a8fe5 17 newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
8635e3c2 18 PL_compiling.cop_seq = 0;
727a8fe5 19 (yyval.ival) = 0;
5d051ee0 20 }
9eb5c532
Z
21 break;
22
23 case 4:
8635e3c2 24#line 125 "perly.y"
727a8fe5 25 {
78cdf107 26 parser->expect = XTERM;
5d051ee0 27 }
727a8fe5
Z
28 break;
29
30 case 5:
8635e3c2 31#line 129 "perly.y"
9eb5c532
Z
32 {
33 PL_eval_root = (ps[(3) - (3)].val.opval);
636def1f 34 (yyval.ival) = 0;
5d051ee0 35 }
636def1f
RGS
36 break;
37
727a8fe5 38 case 6:
8635e3c2 39#line 134 "perly.y"
07ffcb73 40 {
78cdf107 41 parser->expect = XBLOCK;
5d051ee0 42 }
07ffcb73
Z
43 break;
44
727a8fe5 45 case 7:
8635e3c2 46#line 138 "perly.y"
07ffcb73 47 {
5f211341 48 PL_pad_reset_pending = TRUE;
a7aaec61 49 PL_eval_root = (ps[(3) - (3)].val.opval);
07ffcb73 50 (yyval.ival) = 0;
e53d8f76
Z
51 yyunlex();
52 parser->yychar = YYEOF;
5d051ee0 53 }
07ffcb73
Z
54 break;
55
727a8fe5 56 case 8:
8635e3c2 57#line 146 "perly.y"
e53d8f76
Z
58 {
59 parser->expect = XSTATE;
5d051ee0 60 }
636def1f
RGS
61 break;
62
727a8fe5 63 case 9:
8635e3c2 64#line 150 "perly.y"
e53d8f76 65 {
8359b381 66 PL_pad_reset_pending = TRUE;
e53d8f76
Z
67 PL_eval_root = (ps[(3) - (3)].val.opval);
68 (yyval.ival) = 0;
8359b381
Z
69 yyunlex();
70 parser->yychar = YYEOF;
5d051ee0 71 }
e53d8f76
Z
72 break;
73
727a8fe5 74 case 10:
8635e3c2 75#line 158 "perly.y"
8359b381
Z
76 {
77 parser->expect = XSTATE;
5d051ee0 78 }
e53d8f76
Z
79 break;
80
727a8fe5 81 case 11:
8635e3c2 82#line 162 "perly.y"
8359b381 83 {
78cdf107 84 PL_pad_reset_pending = TRUE;
8359b381
Z
85 PL_eval_root = (ps[(3) - (3)].val.opval);
86 (yyval.ival) = 0;
78cdf107
Z
87 yyunlex();
88 parser->yychar = YYEOF;
5d051ee0 89 }
8359b381
Z
90 break;
91
8359b381 92 case 12:
8635e3c2 93#line 170 "perly.y"
78cdf107
Z
94 {
95 parser->expect = XSTATE;
5d051ee0 96 }
78cdf107
Z
97 break;
98
99 case 13:
8635e3c2 100#line 174 "perly.y"
78cdf107
Z
101 {
102 PL_eval_root = (ps[(3) - (3)].val.opval);
103 (yyval.ival) = 0;
5d051ee0 104 }
78cdf107
Z
105 break;
106
107 case 14:
8635e3c2 108#line 182 "perly.y"
624fa8bd
FC
109 { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
110 parser->copline = (line_t)(ps[(1) - (4)].val.ival);
1654d593 111 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
5d051ee0 112 }
0de566d7
DM
113 break;
114
78cdf107 115 case 15:
8635e3c2 116#line 190 "perly.y"
624fa8bd
FC
117 { if (parser->copline > (line_t)(ps[(1) - (7)].val.ival))
118 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
705fe0e5 119 (yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
5d051ee0 120 }
0d863452
RH
121 break;
122
78cdf107 123 case 16:
8635e3c2 124#line 197 "perly.y"
34b54951 125 { (yyval.ival) = block_start(TRUE);
5d051ee0 126 parser->parsed_sub = 0; }
7c70caa5
FC
127 break;
128
129 case 17:
34b54951 130#line 202 "perly.y"
624fa8bd
FC
131 { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
132 parser->copline = (line_t)(ps[(1) - (4)].val.ival);
1654d593 133 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
5d051ee0 134 }
0de566d7
DM
135 break;
136
7c70caa5 137 case 18:
34b54951
FC
138#line 209 "perly.y"
139 { (yyval.ival) = block_start(FALSE);
5d051ee0 140 parser->parsed_sub = 0; }
0de566d7
DM
141 break;
142
7c70caa5 143 case 19:
34b54951 144#line 215 "perly.y"
5d051ee0 145 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
146 break;
147
7c70caa5 148 case 20:
34b54951 149#line 217 "perly.y"
2fcb4757 150 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
500bedb6 151 PL_pad_reset_pending = TRUE;
503de470
DM
152 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
153 PL_hints |= HINT_BLOCK_SCOPE;
5d051ee0 154 }
500bedb6
DM
155 break;
156
7c70caa5 157 case 21:
34b54951 158#line 226 "perly.y"
5d051ee0 159 { (yyval.opval) = (OP*)NULL; }
705fe0e5
FC
160 break;
161
162 case 22:
34b54951 163#line 228 "perly.y"
705fe0e5
FC
164 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
165 PL_pad_reset_pending = TRUE;
166 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
167 PL_hints |= HINT_BLOCK_SCOPE;
5d051ee0 168 }
705fe0e5
FC
169 break;
170
171 case 23:
34b54951 172#line 237 "perly.y"
eae48c89 173 {
b5bbe64a 174 (yyval.opval) = (ps[(1) - (1)].val.opval) ? newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval)) : NULL;
5d051ee0 175 }
0d863452
RH
176 break;
177
705fe0e5 178 case 24:
34b54951 179#line 241 "perly.y"
5d051ee0 180 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0d863452
RH
181 break;
182
705fe0e5 183 case 25:
34b54951 184#line 245 "perly.y"
8e720305 185 {
b5bbe64a 186 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
5d051ee0 187 }
8e720305
Z
188 break;
189
705fe0e5 190 case 26:
34b54951 191#line 249 "perly.y"
8e720305 192 {
b5bbe64a 193 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
5d051ee0 194 }
8e720305
Z
195 break;
196
705fe0e5 197 case 27:
34b54951 198#line 256 "perly.y"
5d051ee0 199 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
8e720305
Z
200 break;
201
705fe0e5 202 case 28:
34b54951 203#line 258 "perly.y"
eae48c89
Z
204 {
205 CV *fmtcv = PL_compcv;
eae48c89
Z
206 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
207 (yyval.opval) = (OP*)NULL;
4a273b91 208 if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
74a9453a 209 pad_add_weakref(fmtcv);
eae48c89 210 }
8b9fb2f9 211 parser->parsed_sub = 1;
5d051ee0 212 }
0de566d7
DM
213 break;
214
b5bbe64a 215 case 29:
74a9453a 216#line 268 "perly.y"
50278755
FC
217 {
218 if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
219 const char *const name =
220 SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
221 if (strEQ(name, "BEGIN") || strEQ(name, "END")
764212cf
FC
222 || strEQ(name, "INIT") || strEQ(name, "CHECK")
223 || strEQ(name, "UNITCHECK"))
224 CvSPECIAL_on(PL_compcv);
50278755 225 }
e07561e6
FC
226 else
227 /* State subs inside anonymous subs need to be
228 clonable themselves. */
6d5c2147
FC
229 if (CvANON(CvOUTSIDE(PL_compcv))
230 || CvCLONE(CvOUTSIDE(PL_compcv))
231 || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
232 CvOUTSIDE(PL_compcv)
233 ))[(ps[(2) - (3)].val.opval)->op_targ]))
e07561e6 234 CvCLONE_on(PL_compcv);
624fa8bd
FC
235 parser->in_my = 0;
236 parser->in_my_stash = NULL;
5d051ee0 237 }
764212cf
FC
238 break;
239
b5bbe64a 240 case 30:
74a9453a 241#line 290 "perly.y"
f05e27e5 242 {
eae48c89 243 SvREFCNT_inc_simple_void(PL_compcv);
50278755
FC
244 (ps[(2) - (7)].val.opval)->op_type == OP_CONST
245 ? newATTRSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
246 : newMYSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
50278755 247 ;
eae48c89 248 (yyval.opval) = (OP*)NULL;
764212cf 249 intro_my();
34b54951 250 parser->parsed_sub = 1;
5d051ee0 251 }
0de566d7
DM
252 break;
253
b5bbe64a 254 case 31:
74a9453a 255#line 301 "perly.y"
f05e27e5 256 {
abcf453d
PM
257 if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
258 const char *const name =
259 SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
260 if (strEQ(name, "BEGIN") || strEQ(name, "END")
261 || strEQ(name, "INIT") || strEQ(name, "CHECK")
262 || strEQ(name, "UNITCHECK"))
263 CvSPECIAL_on(PL_compcv);
264 }
265 else
266 /* State subs inside anonymous subs need to be
267 clonable themselves. */
268 if (CvANON(CvOUTSIDE(PL_compcv))
269 || CvCLONE(CvOUTSIDE(PL_compcv))
270 || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
271 CvOUTSIDE(PL_compcv)
272 ))[(ps[(2) - (3)].val.opval)->op_targ]))
273 CvCLONE_on(PL_compcv);
274 parser->in_my = 0;
275 parser->in_my_stash = NULL;
5d051ee0 276 }
abcf453d
PM
277 break;
278
279 case 32:
280#line 323 "perly.y"
281 {
282 OP *body;
283 if (parser->copline > (line_t)(ps[(8) - (10)].val.ival))
284 parser->copline = (line_t)(ps[(8) - (10)].val.ival);
285 body = block_end((ps[(5) - (10)].val.ival),
286 op_append_list(OP_LINESEQ, (ps[(6) - (10)].val.opval), (ps[(9) - (10)].val.opval)));
287
288 SvREFCNT_inc_simple_void(PL_compcv);
289 (ps[(2) - (10)].val.opval)->op_type == OP_CONST
290 ? newATTRSUB((ps[(3) - (10)].val.ival), (ps[(2) - (10)].val.opval), NULL, (ps[(7) - (10)].val.opval), body)
291 : newMYSUB((ps[(3) - (10)].val.ival), (ps[(2) - (10)].val.opval), NULL, (ps[(7) - (10)].val.opval), body)
292 ;
293 (yyval.opval) = (OP*)NULL;
294 intro_my();
295 parser->parsed_sub = 1;
5d051ee0 296 }
abcf453d
PM
297 break;
298
299 case 33:
300#line 340 "perly.y"
301 {
eae48c89
Z
302 package((ps[(3) - (4)].val.opval));
303 if ((ps[(2) - (4)].val.opval))
304 package_version((ps[(2) - (4)].val.opval));
305 (yyval.opval) = (OP*)NULL;
5d051ee0 306 }
0de566d7
DM
307 break;
308
abcf453d
PM
309 case 34:
310#line 347 "perly.y"
5d051ee0 311 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
0de566d7
DM
312 break;
313
abcf453d
PM
314 case 35:
315#line 349 "perly.y"
5f211341 316 {
eae48c89 317 SvREFCNT_inc_simple_void(PL_compcv);
b5bbe64a 318 utilize((ps[(1) - (7)].val.ival), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
34b54951 319 parser->parsed_sub = 1;
eae48c89 320 (yyval.opval) = (OP*)NULL;
5d051ee0 321 }
5f211341
Z
322 break;
323
abcf453d
PM
324 case 36:
325#line 356 "perly.y"
eae48c89 326 {
3ad73efd
Z
327 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
328 newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
624fa8bd 329 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
5d051ee0 330 }
4098b6bb
JV
331 break;
332
abcf453d
PM
333 case 37:
334#line 362 "perly.y"
eae48c89 335 {
3ad73efd 336 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
08b3e84f 337 newCONDOP(0, (ps[(4) - (7)].val.opval), (ps[(7) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval))));
624fa8bd 338 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
5d051ee0 339 }
4e4da3ac
Z
340 break;
341
abcf453d
PM
342 case 38:
343#line 368 "perly.y"
eae48c89 344 {
5d051ee0 345 (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)), 0));
624fa8bd 346 parser->copline = (line_t)(ps[(1) - (6)].val.ival);
5d051ee0 347 }
0de566d7
DM
348 break;
349
abcf453d 350 case 39:
5d051ee0
DM
351#line 373 "perly.y"
352 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
0de566d7
DM
353 break;
354
abcf453d 355 case 40:
5d051ee0
DM
356#line 375 "perly.y"
357 { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
0de566d7
DM
358 break;
359
abcf453d 360 case 41:
5d051ee0 361#line 377 "perly.y"
eae48c89
Z
362 {
363 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
364 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 365 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
624fa8bd 366 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
5d051ee0 367 }
0de566d7
DM
368 break;
369
abcf453d 370 case 42:
5d051ee0 371#line 384 "perly.y"
eae48c89
Z
372 {
373 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
94bf0465
Z
374 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
375 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
624fa8bd 376 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
5d051ee0 377 }
0de566d7
DM
378 break;
379
abcf453d 380 case 43:
5d051ee0
DM
381#line 391 "perly.y"
382 { parser->expect = XTERM; }
2d0e3c96
FC
383 break;
384
abcf453d 385 case 44:
5d051ee0
DM
386#line 393 "perly.y"
387 { parser->expect = XTERM; }
2d0e3c96
FC
388 break;
389
abcf453d 390 case 45:
5d051ee0 391#line 396 "perly.y"
eae48c89 392 {
2d0e3c96 393 OP *initop = (ps[(4) - (13)].val.opval);
eae48c89 394 OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
2d0e3c96 395 scalar((ps[(7) - (13)].val.opval)), (ps[(13) - (13)].val.opval), (ps[(11) - (13)].val.opval), (ps[(10) - (13)].val.ival));
eae48c89
Z
396 if (initop) {
397 forop = op_prepend_elem(OP_LINESEQ, initop,
398 op_append_elem(OP_LINESEQ,
399 newOP(OP_UNSTACK, OPf_SPECIAL),
400 forop));
401 }
0f602692 402 PL_hints |= HINT_BLOCK_SCOPE;
2d0e3c96 403 (yyval.opval) = block_end((ps[(3) - (13)].val.ival), forop);
624fa8bd 404 parser->copline = (line_t)(ps[(1) - (13)].val.ival);
5d051ee0 405 }
0de566d7
DM
406 break;
407
abcf453d 408 case 46:
5d051ee0 409#line 411 "perly.y"
eae48c89 410 {
94bf0465 411 (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
624fa8bd 412 parser->copline = (line_t)(ps[(1) - (9)].val.ival);
5d051ee0 413 }
f20dcd76
VP
414 break;
415
abcf453d 416 case 47:
5d051ee0 417#line 416 "perly.y"
eae48c89 418 {
94bf0465 419 (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
3ad73efd 420 op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
624fa8bd 421 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
5d051ee0 422 }
0de566d7
DM
423 break;
424
abcf453d 425 case 48:
5d051ee0
DM
426#line 422 "perly.y"
427 { parser->in_my = 0; (yyval.opval) = my((ps[(5) - (5)].val.opval)); }
d39c26a6
FC
428 break;
429
abcf453d 430 case 49:
5d051ee0 431#line 424 "perly.y"
d39c26a6
FC
432 {
433 (yyval.opval) = block_end(
434 (ps[(4) - (11)].val.ival),
435 newFOROP(0,
436 op_lvalue(
437 newUNOP(OP_REFGEN, 0,
96801525 438 (ps[(6) - (11)].val.opval)),
d39c26a6
FC
439 OP_ENTERLOOP),
440 (ps[(8) - (11)].val.opval), (ps[(10) - (11)].val.opval), (ps[(11) - (11)].val.opval))
441 );
442 parser->copline = (line_t)(ps[(1) - (11)].val.ival);
5d051ee0 443 }
d39c26a6
FC
444 break;
445
abcf453d 446 case 50:
5d051ee0 447#line 437 "perly.y"
d39c26a6
FC
448 {
449 (yyval.opval) = block_end((ps[(5) - (9)].val.ival), newFOROP(
450 0, op_lvalue(newUNOP(OP_REFGEN, 0,
96801525 451 (ps[(3) - (9)].val.opval)),
d39c26a6
FC
452 OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
453 parser->copline = (line_t)(ps[(1) - (9)].val.ival);
5d051ee0 454 }
d39c26a6
FC
455 break;
456
abcf453d 457 case 51:
5d051ee0 458#line 445 "perly.y"
eae48c89
Z
459 {
460 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
94bf0465 461 newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
624fa8bd 462 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
5d051ee0 463 }
0de566d7
DM
464 break;
465
abcf453d 466 case 52:
5d051ee0 467#line 451 "perly.y"
eae48c89
Z
468 {
469 /* a block is a loop that happens once */
470 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 471 (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
5d051ee0 472 }
0de566d7
DM
473 break;
474
abcf453d 475 case 53:
5d051ee0 476#line 457 "perly.y"
eae48c89 477 {
eae48c89 478 package((ps[(3) - (5)].val.opval));
eae48c89 479 if ((ps[(2) - (5)].val.opval)) {
eae48c89 480 package_version((ps[(2) - (5)].val.opval));
eae48c89 481 }
5d051ee0 482 }
0de566d7
DM
483 break;
484
abcf453d 485 case 54:
5d051ee0 486#line 464 "perly.y"
eae48c89
Z
487 {
488 /* a block is a loop that happens once */
94bf0465 489 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
eae48c89 490 (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
624fa8bd
FC
491 if (parser->copline > (line_t)(ps[(4) - (8)].val.ival))
492 parser->copline = (line_t)(ps[(4) - (8)].val.ival);
5d051ee0 493 }
0d863452
RH
494 break;
495
abcf453d 496 case 55:
5d051ee0 497#line 472 "perly.y"
eae48c89 498 {
eae48c89 499 (yyval.opval) = (ps[(1) - (2)].val.opval);
5d051ee0 500 }
0d863452
RH
501 break;
502
abcf453d 503 case 56:
5d051ee0 504#line 476 "perly.y"
eae48c89 505 {
b5bbe64a 506 (yyval.opval) = (OP*)NULL;
624fa8bd 507 parser->copline = NOLINE;
5d051ee0 508 }
0de566d7
DM
509 break;
510
abcf453d 511 case 57:
5d051ee0 512#line 484 "perly.y"
705fe0e5
FC
513 { OP *list;
514 if ((ps[(2) - (2)].val.opval)) {
515 OP *term = (ps[(2) - (2)].val.opval);
705fe0e5
FC
516 list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), term);
517 }
518 else {
705fe0e5 519 list = (ps[(1) - (2)].val.opval);
705fe0e5 520 }
624fa8bd
FC
521 if (parser->copline == NOLINE)
522 parser->copline = CopLINE(PL_curcop)-1;
523 else parser->copline--;
705fe0e5 524 (yyval.opval) = newSTATEOP(0, NULL,
03d05f6e 525 op_convert_list(OP_FORMLINE, 0, list));
5d051ee0 526 }
0de566d7
DM
527 break;
528
8d2a5fb4 529 case 58:
5d051ee0
DM
530#line 501 "perly.y"
531 { (yyval.opval) = NULL; }
0de566d7
DM
532 break;
533
8d2a5fb4 534 case 59:
5d051ee0
DM
535#line 503 "perly.y"
536 { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
0de566d7
DM
537 break;
538
b5bbe64a 539 case 60:
5d051ee0
DM
540#line 508 "perly.y"
541 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
542 break;
543
b5bbe64a 544 case 61:
5d051ee0
DM
545#line 510 "perly.y"
546 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0d863452
RH
547 break;
548
b5bbe64a 549 case 62:
5d051ee0
DM
550#line 512 "perly.y"
551 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
2d0e3c96
FC
552 break;
553
554 case 63:
5d051ee0
DM
555#line 514 "perly.y"
556 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
2d0e3c96
FC
557 break;
558
559 case 64:
5d051ee0
DM
560#line 516 "perly.y"
561 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); }
d39c26a6
FC
562 break;
563
564 case 65:
5d051ee0
DM
565#line 518 "perly.y"
566 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
d39c26a6
FC
567 break;
568
569 case 66:
5d051ee0 570#line 520 "perly.y"
abcf453d 571 { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
5d051ee0 572 parser->copline = (line_t)(ps[(2) - (3)].val.ival); }
d39c26a6
FC
573 break;
574
575 case 67:
5d051ee0
DM
576#line 523 "perly.y"
577 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
abcf453d
PM
578 break;
579
580 case 68:
5d051ee0
DM
581#line 528 "perly.y"
582 { (yyval.opval) = (OP*)NULL; }
abcf453d
PM
583 break;
584
585 case 69:
5d051ee0 586#line 530 "perly.y"
3ad73efd
Z
587 {
588 ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
589 (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
5d051ee0 590 }
eae48c89
Z
591 break;
592
abcf453d 593 case 70:
5d051ee0 594#line 535 "perly.y"
624fa8bd 595 { parser->copline = (line_t)(ps[(1) - (6)].val.ival);
3ad73efd
Z
596 (yyval.opval) = newCONDOP(0,
597 newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
598 op_scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
599 PL_hints |= HINT_BLOCK_SCOPE;
5d051ee0 600 }
eae48c89
Z
601 break;
602
abcf453d 603 case 71:
5d051ee0
DM
604#line 545 "perly.y"
605 { (yyval.opval) = (OP*)NULL; }
eae48c89
Z
606 break;
607
abcf453d 608 case 72:
5d051ee0
DM
609#line 547 "perly.y"
610 { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); }
eae48c89
Z
611 break;
612
abcf453d 613 case 73:
5d051ee0 614#line 552 "perly.y"
9a9798c2 615 { (yyval.ival) = (PL_min_intro_pending &&
a034e688 616 PL_max_intro_pending >= PL_min_intro_pending);
5d051ee0 617 intro_my(); }
0de566d7
DM
618 break;
619
d39c26a6 620 case 74:
5d051ee0
DM
621#line 558 "perly.y"
622 { (yyval.opval) = (OP*)NULL; }
7c70caa5
FC
623 break;
624
b5bbe64a 625 case 76:
5d051ee0 626#line 564 "perly.y"
abcf453d
PM
627 { YYSTYPE tmplval;
628 (void)scan_num("1", &tmplval);
5d051ee0 629 (yyval.opval) = tmplval.opval; }
0de566d7
DM
630 break;
631
b5bbe64a 632 case 78:
5d051ee0
DM
633#line 572 "perly.y"
634 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
500bedb6
DM
635 break;
636
b5bbe64a 637 case 79:
5d051ee0
DM
638#line 577 "perly.y"
639 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
2af555bf
DM
640 break;
641
2d0e3c96 642 case 80:
5d051ee0
DM
643#line 581 "perly.y"
644 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
0de566d7
DM
645 break;
646
2d0e3c96 647 case 81:
08b3e84f
TC
648#line 584 "perly.y"
649 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
650 break;
651
d39c26a6 652 case 82:
08b3e84f
TC
653#line 585 "perly.y"
654 { (yyval.opval) = (OP*)NULL; }
b5bbe64a
JH
655 break;
656
d39c26a6 657 case 83:
5d051ee0 658#line 589 "perly.y"
abcf453d 659 { (yyval.ival) = start_subparse(FALSE, 0);
5d051ee0 660 SAVEFREESV(PL_compcv); }
0de566d7
DM
661 break;
662
08b3e84f
TC
663 case 84:
664#line 595 "perly.y"
abcf453d 665 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
5d051ee0 666 SAVEFREESV(PL_compcv); }
0de566d7
DM
667 break;
668
08b3e84f
TC
669 case 85:
670#line 600 "perly.y"
abcf453d 671 { (yyval.ival) = start_subparse(TRUE, 0);
5d051ee0 672 SAVEFREESV(PL_compcv); }
0de566d7
DM
673 break;
674
08b3e84f
TC
675 case 88:
676#line 611 "perly.y"
5d051ee0 677 { (yyval.opval) = (OP*)NULL; }
2d0e3c96
FC
678 break;
679
08b3e84f
TC
680 case 90:
681#line 617 "perly.y"
5d051ee0 682 { (yyval.opval) = (OP*)NULL; }
2d0e3c96
FC
683 break;
684
08b3e84f
TC
685 case 91:
686#line 619 "perly.y"
5d051ee0 687 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
d39c26a6
FC
688 break;
689
08b3e84f
TC
690 case 92:
691#line 621 "perly.y"
5d051ee0 692 { (yyval.opval) = (OP*)NULL; }
d39c26a6
FC
693 break;
694
08b3e84f
TC
695 case 93:
696#line 626 "perly.y"
5d051ee0 697 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
d39c26a6
FC
698 break;
699
08b3e84f
TC
700 case 94:
701#line 628 "perly.y"
5d051ee0 702 { (yyval.opval) = (OP*)NULL; }
abcf453d
PM
703 break;
704
08b3e84f
TC
705 case 95:
706#line 633 "perly.y"
30d9c59b 707 {
abcf453d
PM
708 /* We shouldn't get here otherwise */
709 assert(FEATURE_SIGNATURES_IS_ENABLED);
710
30d9c59b
Z
711 Perl_ck_warner_d(aTHX_
712 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
713 "The signatures feature is experimental");
714 (yyval.opval) = parse_subsignature();
5d051ee0 715 }
30d9c59b
Z
716 break;
717
08b3e84f
TC
718 case 96:
719#line 643 "perly.y"
30d9c59b
Z
720 {
721 (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(2) - (3)].val.opval),
722 newSTATEOP(0, NULL, sawparens(newNULLLIST())));
abcf453d 723 parser->expect = XATTRBLOCK;
5d051ee0 724 }
30d9c59b
Z
725 break;
726
08b3e84f
TC
727 case 98:
728#line 652 "perly.y"
5d051ee0 729 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
730 break;
731
08b3e84f
TC
732 case 99:
733#line 657 "perly.y"
5d051ee0 734 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
b5bbe64a
JH
735 break;
736
08b3e84f
TC
737 case 100:
738#line 659 "perly.y"
5d051ee0 739 { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
740 break;
741
08b3e84f
TC
742 case 101:
743#line 661 "perly.y"
5d051ee0 744 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
745 break;
746
08b3e84f
TC
747 case 103:
748#line 667 "perly.y"
5d051ee0 749 { (yyval.opval) = (ps[(1) - (2)].val.opval); }
0de566d7
DM
750 break;
751
08b3e84f
TC
752 case 104:
753#line 669 "perly.y"
abcf453d 754 {
1654d593 755 OP* term = (ps[(3) - (3)].val.opval);
2fcb4757 756 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
5d051ee0 757 }
0de566d7
DM
758 break;
759
08b3e84f
TC
760 case 106:
761#line 678 "perly.y"
03d05f6e 762 { (yyval.opval) = op_convert_list((ps[(1) - (3)].val.ival), OPf_STACKED,
b5bbe64a 763 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
5d051ee0 764 }
0de566d7
DM
765 break;
766
08b3e84f
TC
767 case 107:
768#line 682 "perly.y"
03d05f6e 769 { (yyval.opval) = op_convert_list((ps[(1) - (5)].val.ival), OPf_STACKED,
b5bbe64a 770 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
5d051ee0 771 }
0de566d7
DM
772 break;
773
08b3e84f
TC
774 case 108:
775#line 686 "perly.y"
03d05f6e 776 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
777 op_append_elem(OP_LIST,
778 op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
b46e009d 779 newMETHOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
5d051ee0 780 }
0de566d7
DM
781 break;
782
08b3e84f
TC
783 case 109:
784#line 692 "perly.y"
03d05f6e 785 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
2fcb4757 786 op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
b46e009d 787 newMETHOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
5d051ee0 788 }
0de566d7
DM
789 break;
790
08b3e84f
TC
791 case 110:
792#line 697 "perly.y"
03d05f6e 793 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
794 op_append_elem(OP_LIST,
795 op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
b46e009d 796 newMETHOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
5d051ee0 797 }
0de566d7
DM
798 break;
799
08b3e84f
TC
800 case 111:
801#line 703 "perly.y"
03d05f6e 802 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
803 op_append_elem(OP_LIST,
804 op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
b46e009d 805 newMETHOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
5d051ee0 806 }
0de566d7
DM
807 break;
808
08b3e84f
TC
809 case 112:
810#line 709 "perly.y"
5d051ee0 811 { (yyval.opval) = op_convert_list((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
812 break;
813
08b3e84f
TC
814 case 113:
815#line 711 "perly.y"
5d051ee0 816 { (yyval.opval) = op_convert_list((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
0de566d7
DM
817 break;
818
08b3e84f
TC
819 case 114:
820#line 713 "perly.y"
5a5094bd 821 { SvREFCNT_inc_simple_void(PL_compcv);
5d051ee0 822 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
0de566d7
DM
823 break;
824
08b3e84f
TC
825 case 115:
826#line 716 "perly.y"
f05e27e5 827 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
828 op_append_elem(OP_LIST,
829 op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
5d051ee0 830 }
0de566d7
DM
831 break;
832
08b3e84f
TC
833 case 118:
834#line 731 "perly.y"
5d051ee0 835 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); }
0de566d7
DM
836 break;
837
08b3e84f
TC
838 case 119:
839#line 733 "perly.y"
1654d593 840 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
5d051ee0 841 }
0de566d7
DM
842 break;
843
08b3e84f
TC
844 case 120:
845#line 736 "perly.y"
f05e27e5 846 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
847 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
848 scalar((ps[(4) - (5)].val.opval)));
5d051ee0 849 }
0de566d7
DM
850 break;
851
08b3e84f
TC
852 case 121:
853#line 741 "perly.y"
f05e27e5 854 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
855 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
856 scalar((ps[(3) - (4)].val.opval)));
5d051ee0 857 }
0de566d7
DM
858 break;
859
08b3e84f
TC
860 case 122:
861#line 746 "perly.y"
1654d593 862 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
5d051ee0 863 }
0de566d7
DM
864 break;
865
08b3e84f
TC
866 case 123:
867#line 749 "perly.y"
f05e27e5 868 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593 869 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
5d051ee0 870 jmaybe((ps[(4) - (6)].val.opval))); }
0de566d7
DM
871 break;
872
08b3e84f
TC
873 case 124:
874#line 753 "perly.y"
f05e27e5 875 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593 876 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
5d051ee0 877 jmaybe((ps[(3) - (5)].val.opval))); }
0de566d7
DM
878 break;
879
08b3e84f
TC
880 case 125:
881#line 757 "perly.y"
b5bbe64a 882 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
5d051ee0 883 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); }
b5bbe64a
JH
884 break;
885
08b3e84f
TC
886 case 126:
887#line 760 "perly.y"
9a9798c2 888 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
b5bbe64a 889 op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
5d051ee0 890 newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); }
0de566d7
DM
891 break;
892
08b3e84f
TC
893 case 127:
894#line 765 "perly.y"
9a9798c2 895 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
b5bbe64a 896 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
5d051ee0 897 newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); }
0de566d7
DM
898 break;
899
08b3e84f
TC
900 case 128:
901#line 769 "perly.y"
d39c26a6 902 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
5d051ee0 903 newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); }
ea25a9b2
Z
904 break;
905
08b3e84f
TC
906 case 129:
907#line 772 "perly.y"
5d051ee0 908 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); }
0de566d7
DM
909 break;
910
08b3e84f
TC
911 case 130:
912#line 774 "perly.y"
5d051ee0 913 { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); }
0de566d7
DM
914 break;
915
08b3e84f
TC
916 case 131:
917#line 776 "perly.y"
5d051ee0 918 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); }
0de566d7
DM
919 break;
920
08b3e84f
TC
921 case 132:
922#line 781 "perly.y"
5d051ee0 923 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
924 break;
925
08b3e84f
TC
926 case 133:
927#line 783 "perly.y"
5d051ee0 928 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
8d2a5fb4
FC
929 break;
930
08b3e84f
TC
931 case 134:
932#line 785 "perly.y"
d39c26a6
FC
933 { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
934 scalar((ps[(1) - (3)].val.opval));
935 (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
5d051ee0 936 }
0de566d7
DM
937 break;
938
08b3e84f
TC
939 case 135:
940#line 790 "perly.y"
941 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
942 break;
943
2d0e3c96 944 case 136:
08b3e84f 945#line 792 "perly.y"
5d051ee0 946 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
f20dcd76
VP
947 break;
948
2d0e3c96 949 case 137:
08b3e84f 950#line 794 "perly.y"
5d051ee0 951 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
4098b6bb
JV
952 break;
953
2d0e3c96 954 case 138:
08b3e84f 955#line 796 "perly.y"
5d051ee0 956 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
7c70caa5
FC
957 break;
958
2d0e3c96 959 case 139:
08b3e84f 960#line 798 "perly.y"
5d051ee0 961 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
764212cf
FC
962 break;
963
2d0e3c96 964 case 140:
08b3e84f 965#line 800 "perly.y"
5d051ee0 966 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
0de566d7
DM
967 break;
968
2d0e3c96 969 case 141:
08b3e84f 970#line 802 "perly.y"
5d051ee0 971 { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
0de566d7
DM
972 break;
973
08b3e84f
TC
974 case 142:
975#line 804 "perly.y"
5d051ee0 976 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
977 break;
978
08b3e84f
TC
979 case 143:
980#line 806 "perly.y"
5d051ee0 981 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
500bedb6
DM
982 break;
983
08b3e84f
TC
984 case 144:
985#line 808 "perly.y"
5d051ee0 986 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
987 break;
988
08b3e84f
TC
989 case 145:
990#line 810 "perly.y"
5d051ee0 991 { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
992 break;
993
08b3e84f
TC
994 case 146:
995#line 815 "perly.y"
5d051ee0 996 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
997 break;
998
08b3e84f
TC
999 case 147:
1000#line 817 "perly.y"
5d051ee0 1001 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
0de566d7
DM
1002 break;
1003
08b3e84f
TC
1004 case 148:
1005#line 820 "perly.y"
5d051ee0 1006 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
1007 break;
1008
08b3e84f
TC
1009 case 149:
1010#line 822 "perly.y"
5d051ee0 1011 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, scalar((ps[(2) - (2)].val.opval))); }
cc624add
FC
1012 break;
1013
08b3e84f
TC
1014 case 150:
1015#line 824 "perly.y"
d39c26a6 1016 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
5d051ee0 1017 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); }
0de566d7
DM
1018 break;
1019
08b3e84f
TC
1020 case 151:
1021#line 827 "perly.y"
d39c26a6 1022 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
5d051ee0 1023 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));}
b5bbe64a
JH
1024 break;
1025
08b3e84f
TC
1026 case 152:
1027#line 830 "perly.y"
03d05f6e 1028 { (yyval.opval) = op_convert_list(OP_JOIN, 0,
d39c26a6
FC
1029 op_append_elem(
1030 OP_LIST,
1031 newSVREF(scalar(
1032 newSVOP(OP_CONST,0,
1033 newSVpvs("\""))
1034 )),
1035 (ps[(1) - (2)].val.opval)
1036 ));
5d051ee0 1037 }
0de566d7
DM
1038 break;
1039
08b3e84f
TC
1040 case 153:
1041#line 841 "perly.y"
d39c26a6 1042 { (yyval.opval) = newUNOP(OP_PREINC, 0,
5d051ee0 1043 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); }
0de566d7
DM
1044 break;
1045
08b3e84f
TC
1046 case 154:
1047#line 844 "perly.y"
d39c26a6 1048 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
5d051ee0 1049 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); }
0de566d7
DM
1050 break;
1051
08b3e84f
TC
1052 case 155:
1053#line 851 "perly.y"
5d051ee0 1054 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); }
0de566d7
DM
1055 break;
1056
08b3e84f
TC
1057 case 156:
1058#line 853 "perly.y"
5d051ee0 1059 { (yyval.opval) = newANONLIST((OP*)NULL);}
9a9798c2
YST
1060 break;
1061
08b3e84f
TC
1062 case 157:
1063#line 855 "perly.y"
5d051ee0 1064 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); }
9a9798c2
YST
1065 break;
1066
08b3e84f
TC
1067 case 158:
1068#line 857 "perly.y"
5d051ee0 1069 { (yyval.opval) = newANONHASH((OP*)NULL); }
f05e27e5
DM
1070 break;
1071
08b3e84f
TC
1072 case 159:
1073#line 859 "perly.y"
d39c26a6 1074 { SvREFCNT_inc_simple_void(PL_compcv);
5d051ee0 1075 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
0de566d7
DM
1076 break;
1077
08b3e84f
TC
1078 case 160:
1079#line 862 "perly.y"
abcf453d
PM
1080 {
1081 OP *body;
1082 if (parser->copline > (line_t)(ps[(6) - (8)].val.ival))
1083 parser->copline = (line_t)(ps[(6) - (8)].val.ival);
1084 body = block_end((ps[(3) - (8)].val.ival),
1085 op_append_list(OP_LINESEQ, (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval)));
1086 SvREFCNT_inc_simple_void(PL_compcv);
1087 (yyval.opval) = newANONATTRSUB((ps[(2) - (8)].val.ival), NULL, (ps[(5) - (8)].val.opval), body);
5d051ee0 1088 }
0de566d7
DM
1089 break;
1090
08b3e84f
TC
1091 case 161:
1092#line 876 "perly.y"
5d051ee0 1093 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));}
0de566d7
DM
1094 break;
1095
08b3e84f
TC
1096 case 162:
1097#line 878 "perly.y"
5d051ee0 1098 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));}
0de566d7
DM
1099 break;
1100
08b3e84f
TC
1101 case 167:
1102#line 886 "perly.y"
5d051ee0 1103 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
0de566d7
DM
1104 break;
1105
08b3e84f
TC
1106 case 168:
1107#line 888 "perly.y"
5d051ee0 1108 { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1109 break;
1110
08b3e84f
TC
1111 case 169:
1112#line 890 "perly.y"
5d051ee0 1113 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
ea25a9b2
Z
1114 break;
1115
08b3e84f
TC
1116 case 170:
1117#line 892 "perly.y"
5d051ee0 1118 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
0de566d7
DM
1119 break;
1120
08b3e84f
TC
1121 case 171:
1122#line 894 "perly.y"
5d051ee0 1123 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
0de566d7
DM
1124 break;
1125
08b3e84f
TC
1126 case 172:
1127#line 896 "perly.y"
5d051ee0 1128 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
f20dcd76
VP
1129 break;
1130
08b3e84f
TC
1131 case 173:
1132#line 898 "perly.y"
5d051ee0 1133 { (yyval.opval) = sawparens(newNULLLIST()); }
8e720305
Z
1134 break;
1135
08b3e84f
TC
1136 case 174:
1137#line 900 "perly.y"
1138 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
1139 break;
1140
2d0e3c96 1141 case 175:
08b3e84f 1142#line 902 "perly.y"
5d051ee0 1143 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
4210d3f1
FC
1144 break;
1145
2d0e3c96 1146 case 176:
08b3e84f 1147#line 904 "perly.y"
5d051ee0 1148 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
cc624add
FC
1149 break;
1150
2d0e3c96 1151 case 177:
08b3e84f 1152#line 906 "perly.y"
5d051ee0 1153 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
d39c26a6
FC
1154 break;
1155
1156 case 178:
08b3e84f 1157#line 908 "perly.y"
5d051ee0 1158 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
d39c26a6
FC
1159 break;
1160
08b3e84f
TC
1161 case 179:
1162#line 910 "perly.y"
5d051ee0 1163 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
abcf453d
PM
1164 break;
1165
08b3e84f
TC
1166 case 180:
1167#line 912 "perly.y"
2fcb4757 1168 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
f05e27e5
DM
1169 newOP(OP_PUSHMARK, 0),
1170 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1171 list((ps[(3) - (4)].val.opval)),
1172 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
429a2555
FC
1173 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1174 (yyval.opval)->op_private |=
1175 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
5d051ee0 1176 }
0de566d7
DM
1177 break;
1178
08b3e84f
TC
1179 case 181:
1180#line 922 "perly.y"
6dd3e0f2
RZ
1181 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1182 newOP(OP_PUSHMARK, 0),
1183 newLISTOP(OP_KVASLICE, 0,
1184 list((ps[(3) - (4)].val.opval)),
1185 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
95a31aad
FC
1186 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1187 (yyval.opval)->op_private |=
1188 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
5d051ee0 1189 }
6dd3e0f2
RZ
1190 break;
1191
08b3e84f
TC
1192 case 182:
1193#line 932 "perly.y"
2fcb4757 1194 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
f05e27e5
DM
1195 newOP(OP_PUSHMARK, 0),
1196 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1197 list((ps[(3) - (5)].val.opval)),
1198 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
429a2555
FC
1199 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1200 (yyval.opval)->op_private |=
1201 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
5d051ee0 1202 }
0de566d7
DM
1203 break;
1204
08b3e84f
TC
1205 case 183:
1206#line 942 "perly.y"
5cae3edb
RZ
1207 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1208 newOP(OP_PUSHMARK, 0),
1209 newLISTOP(OP_KVHSLICE, 0,
1210 list((ps[(3) - (5)].val.opval)),
1211 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
95a31aad
FC
1212 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1213 (yyval.opval)->op_private |=
1214 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
5d051ee0 1215 }
0de566d7
DM
1216 break;
1217
08b3e84f
TC
1218 case 184:
1219#line 952 "perly.y"
5d051ee0 1220 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
5cae3edb
RZ
1221 break;
1222
08b3e84f
TC
1223 case 185:
1224#line 954 "perly.y"
5d051ee0 1225 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
0de566d7
DM
1226 break;
1227
08b3e84f
TC
1228 case 186:
1229#line 956 "perly.y"
abcf453d 1230 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
5d051ee0 1231 }
abcf453d
PM
1232 break;
1233
08b3e84f
TC
1234 case 187:
1235#line 959 "perly.y"
f05e27e5
DM
1236 {
1237 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1238 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
5d051ee0 1239 }
0de566d7
DM
1240 break;
1241
08b3e84f
TC
1242 case 188:
1243#line 964 "perly.y"
f05e27e5 1244 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1245 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
5d051ee0 1246 }
89f35911
FC
1247 break;
1248
08b3e84f
TC
1249 case 189:
1250#line 968 "perly.y"
5d051ee0 1251 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); }
89f35911
FC
1252 break;
1253
08b3e84f
TC
1254 case 190:
1255#line 970 "perly.y"
5d051ee0 1256 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
89f35911
FC
1257 break;
1258
08b3e84f
TC
1259 case 191:
1260#line 972 "perly.y"
5d051ee0 1261 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); }
0de566d7
DM
1262 break;
1263
08b3e84f
TC
1264 case 192:
1265#line 974 "perly.y"
abcf453d 1266 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
5d051ee0 1267 scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); }
0de566d7
DM
1268 break;
1269
08b3e84f
TC
1270 case 193:
1271#line 977 "perly.y"
5d051ee0 1272 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); }
0de566d7
DM
1273 break;
1274
08b3e84f
TC
1275 case 194:
1276#line 979 "perly.y"
abcf453d 1277 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
5d051ee0 1278 PL_hints |= HINT_BLOCK_SCOPE; }
0de566d7
DM
1279 break;
1280
08b3e84f
TC
1281 case 195:
1282#line 982 "perly.y"
5d051ee0 1283 { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
0de566d7
DM
1284 break;
1285
08b3e84f
TC
1286 case 196:
1287#line 984 "perly.y"
5d051ee0 1288 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
1289 break;
1290
08b3e84f
TC
1291 case 197:
1292#line 986 "perly.y"
5d051ee0 1293 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
0de566d7
DM
1294 break;
1295
08b3e84f
TC
1296 case 198:
1297#line 988 "perly.y"
5d051ee0 1298 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1299 break;
1300
08b3e84f
TC
1301 case 199:
1302#line 990 "perly.y"
5d051ee0 1303 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
9eb5c532
Z
1304 break;
1305
08b3e84f
TC
1306 case 200:
1307#line 992 "perly.y"
5d051ee0 1308 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); }
0de566d7
DM
1309 break;
1310
08b3e84f
TC
1311 case 201:
1312#line 994 "perly.y"
5d051ee0 1313 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1314 break;
1315
08b3e84f
TC
1316 case 202:
1317#line 996 "perly.y"
5d051ee0 1318 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
0de566d7
DM
1319 break;
1320
08b3e84f
TC
1321 case 203:
1322#line 998 "perly.y"
abcf453d 1323 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
5d051ee0 1324 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
7eb971ee
FC
1325 break;
1326
08b3e84f
TC
1327 case 204:
1328#line 1001 "perly.y"
5d051ee0 1329 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
7eb971ee
FC
1330 break;
1331
08b3e84f
TC
1332 case 205:
1333#line 1003 "perly.y"
5d051ee0 1334 { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);}
0de566d7
DM
1335 break;
1336
08b3e84f
TC
1337 case 206:
1338#line 1005 "perly.y"
5d051ee0 1339 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1340 break;
1341
08b3e84f
TC
1342 case 207:
1343#line 1007 "perly.y"
5d051ee0 1344 { (yyval.opval) = (ps[(1) - (3)].val.opval); }
d39c26a6
FC
1345 break;
1346
08b3e84f
TC
1347 case 208:
1348#line 1009 "perly.y"
5d051ee0 1349 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
d39c26a6
FC
1350 break;
1351
08b3e84f
TC
1352 case 209:
1353#line 1011 "perly.y"
abcf453d
PM
1354 { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
1355 ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
5d051ee0 1356 : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); }
d39c26a6
FC
1357 break;
1358
08b3e84f
TC
1359 case 210:
1360#line 1015 "perly.y"
5d051ee0 1361 { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
abcf453d
PM
1362 break;
1363
08b3e84f
TC
1364 case 211:
1365#line 1017 "perly.y"
d63c20f2
DM
1366 {
1367 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1368 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1369 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1370 {
1371 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1372 SAVEFREESV(PL_compcv);
1373 } else
1374 (yyval.ival) = 0;
5d051ee0 1375 }
d63c20f2
DM
1376 break;
1377
08b3e84f
TC
1378 case 212:
1379#line 1028 "perly.y"
5d051ee0 1380 { (yyval.opval) = pmruntime((ps[(1) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), 1, (ps[(2) - (6)].val.ival)); }
0de566d7
DM
1381 break;
1382
08b3e84f
TC
1383 case 215:
1384#line 1032 "perly.y"
be25f609 1385 {
1386 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1387 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
5d051ee0 1388 }
0de566d7
DM
1389 break;
1390
08b3e84f
TC
1391 case 217:
1392#line 1041 "perly.y"
5d051ee0 1393 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); }
4098b6bb
JV
1394 break;
1395
08b3e84f
TC
1396 case 218:
1397#line 1043 "perly.y"
5d051ee0 1398 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
ea25a9b2
Z
1399 break;
1400
08b3e84f
TC
1401 case 219:
1402#line 1048 "perly.y"
5d051ee0 1403 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
d63c20f2
DM
1404 break;
1405
08b3e84f
TC
1406 case 220:
1407#line 1050 "perly.y"
5d051ee0 1408 { (yyval.opval) = sawparens(newNULLLIST()); }
7c70caa5
FC
1409 break;
1410
08b3e84f
TC
1411 case 221:
1412#line 1053 "perly.y"
1413 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
1414 break;
1415
2d0e3c96 1416 case 222:
08b3e84f 1417#line 1055 "perly.y"
5d051ee0 1418 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
764212cf
FC
1419 break;
1420
2d0e3c96 1421 case 223:
08b3e84f 1422#line 1057 "perly.y"
5d051ee0 1423 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
4210d3f1
FC
1424 break;
1425
2d0e3c96 1426 case 224:
08b3e84f
TC
1427#line 1062 "perly.y"
1428 { (yyval.opval) = (OP*)NULL; }
5cae3edb
RZ
1429 break;
1430
2d0e3c96 1431 case 225:
08b3e84f
TC
1432#line 1064 "perly.y"
1433 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
6dd3e0f2
RZ
1434 break;
1435
2d0e3c96 1436 case 226:
5d051ee0 1437#line 1068 "perly.y"
08b3e84f 1438 { (yyval.opval) = (OP*)NULL; }
cc624add
FC
1439 break;
1440
2d0e3c96 1441 case 227:
08b3e84f
TC
1442#line 1070 "perly.y"
1443 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1444 break;
1445
2d0e3c96 1446 case 228:
5d051ee0 1447#line 1074 "perly.y"
08b3e84f 1448 { (yyval.opval) = (OP*)NULL; }
9b6b7be8
FC
1449 break;
1450
1451 case 229:
08b3e84f
TC
1452#line 1076 "perly.y"
1453 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
9b6b7be8
FC
1454 break;
1455
1456 case 230:
08b3e84f
TC
1457#line 1082 "perly.y"
1458 { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
d39c26a6
FC
1459 break;
1460
08b3e84f
TC
1461 case 236:
1462#line 1095 "perly.y"
1463 { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
d39c26a6
FC
1464 break;
1465
9b6b7be8 1466 case 237:
5d051ee0 1467#line 1099 "perly.y"
08b3e84f 1468 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); }
d39c26a6
FC
1469 break;
1470
9b6b7be8 1471 case 238:
5d051ee0 1472#line 1103 "perly.y"
abcf453d 1473 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
b5bbe64a 1474 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
5d051ee0 1475 }
0de566d7
DM
1476 break;
1477
08b3e84f
TC
1478 case 239:
1479#line 1109 "perly.y"
abcf453d
PM
1480 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1481 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
5d051ee0 1482 }
500bedb6
DM
1483 break;
1484
08b3e84f
TC
1485 case 240:
1486#line 1115 "perly.y"
5d051ee0 1487 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); }
a72a1c8b
RGS
1488 break;
1489
08b3e84f
TC
1490 case 241:
1491#line 1117 "perly.y"
5d051ee0 1492 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
ff25e5db
FC
1493 break;
1494
08b3e84f
TC
1495 case 242:
1496#line 1121 "perly.y"
5d051ee0 1497 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); }
503de470
DM
1498 break;
1499
08b3e84f
TC
1500 case 244:
1501#line 1126 "perly.y"
5d051ee0 1502 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); }
89f35911
FC
1503 break;
1504
08b3e84f
TC
1505 case 246:
1506#line 1131 "perly.y"
5d051ee0 1507 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); }
76eba8ab
FC
1508 break;
1509
08b3e84f
TC
1510 case 248:
1511#line 1136 "perly.y"
5d051ee0 1512 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); }
89f35911
FC
1513 break;
1514
08b3e84f
TC
1515 case 249:
1516#line 1141 "perly.y"
5d051ee0 1517 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
3cd0a11a
RGS
1518 break;
1519
08b3e84f
TC
1520 case 250:
1521#line 1143 "perly.y"
5d051ee0 1522 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
f05e27e5
DM
1523 break;
1524
08b3e84f
TC
1525 case 251:
1526#line 1145 "perly.y"
5d051ee0 1527 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
5cae3edb 1528 break;
fb602e32 1529
08b3e84f
TC
1530 case 252:
1531#line 1148 "perly.y"
5d051ee0 1532 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
abcf453d 1533 break;
8635e3c2 1534
20515881 1535 default: break;
0de566d7 1536
e8fb9efb 1537
c24c946d 1538/* Generated from:
08b3e84f 1539 * f6b41138394461b75dff7cc97a55c3e6682571cf7e66b977351d30f1534831b2 perly.y
b5bbe64a 1540 * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
c24c946d 1541 * ex: set ro: */