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