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