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!
8 #line 119 "perly.y" /* yacc.c:1646 */
10 parser->expect = XSTATE;
17 #line 124 "perly.y" /* yacc.c:1646 */
19 newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
20 PL_compiling.cop_seq = 0;
27 #line 130 "perly.y" /* yacc.c:1646 */
29 parser->expect = XTERM;
36 #line 135 "perly.y" /* yacc.c:1646 */
38 PL_eval_root = (ps[0].val.opval);
45 #line 140 "perly.y" /* yacc.c:1646 */
47 parser->expect = XBLOCK;
54 #line 145 "perly.y" /* yacc.c:1646 */
56 PL_pad_reset_pending = TRUE;
57 PL_eval_root = (ps[0].val.opval);
60 parser->yychar = yytoken = YYEOF;
66 #line 153 "perly.y" /* yacc.c:1646 */
68 parser->expect = XSTATE;
75 #line 158 "perly.y" /* yacc.c:1646 */
77 PL_pad_reset_pending = TRUE;
78 PL_eval_root = (ps[0].val.opval);
81 parser->yychar = yytoken = YYEOF;
87 #line 166 "perly.y" /* yacc.c:1646 */
89 parser->expect = XSTATE;
96 #line 171 "perly.y" /* yacc.c:1646 */
98 PL_pad_reset_pending = TRUE;
99 PL_eval_root = (ps[0].val.opval);
102 parser->yychar = yytoken = YYEOF;
108 #line 179 "perly.y" /* yacc.c:1646 */
110 parser->expect = XSTATE;
117 #line 184 "perly.y" /* yacc.c:1646 */
119 PL_eval_root = (ps[0].val.opval);
126 #line 192 "perly.y" /* yacc.c:1646 */
127 { if (parser->copline > (line_t)(ps[-3].val.ival))
128 parser->copline = (line_t)(ps[-3].val.ival);
129 (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
135 #line 200 "perly.y" /* yacc.c:1646 */
136 { if (parser->copline > (line_t)(ps[-6].val.ival))
137 parser->copline = (line_t)(ps[-6].val.ival);
138 (yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval));
144 #line 207 "perly.y" /* yacc.c:1646 */
145 { (yyval.ival) = block_start(TRUE);
146 parser->parsed_sub = 0; }
151 #line 212 "perly.y" /* yacc.c:1646 */
152 { if (parser->copline > (line_t)(ps[-3].val.ival))
153 parser->copline = (line_t)(ps[-3].val.ival);
154 (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
160 #line 219 "perly.y" /* yacc.c:1646 */
161 { (yyval.ival) = block_start(FALSE);
162 parser->parsed_sub = 0; }
167 #line 225 "perly.y" /* yacc.c:1646 */
168 { (yyval.opval) = NULL; }
173 #line 227 "perly.y" /* yacc.c:1646 */
174 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
175 PL_pad_reset_pending = TRUE;
176 if ((ps[-1].val.opval) && (ps[0].val.opval))
177 PL_hints |= HINT_BLOCK_SCOPE;
183 #line 236 "perly.y" /* yacc.c:1646 */
184 { (yyval.opval) = NULL; }
189 #line 238 "perly.y" /* yacc.c:1646 */
190 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
191 PL_pad_reset_pending = TRUE;
192 if ((ps[-1].val.opval) && (ps[0].val.opval))
193 PL_hints |= HINT_BLOCK_SCOPE;
199 #line 247 "perly.y" /* yacc.c:1646 */
201 (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
207 #line 251 "perly.y" /* yacc.c:1646 */
208 { (yyval.opval) = (ps[0].val.opval); }
213 #line 255 "perly.y" /* yacc.c:1646 */
215 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
221 #line 259 "perly.y" /* yacc.c:1646 */
223 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
229 #line 266 "perly.y" /* yacc.c:1646 */
230 { (yyval.opval) = (ps[0].val.opval); }
235 #line 268 "perly.y" /* yacc.c:1646 */
237 CV *fmtcv = PL_compcv;
238 newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
239 (yyval.opval) = NULL;
240 if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
241 pad_add_weakref(fmtcv);
243 parser->parsed_sub = 1;
249 #line 280 "perly.y" /* yacc.c:1646 */
251 init_named_cv(PL_compcv, (ps[-1].val.opval));
253 parser->in_my_stash = NULL;
259 #line 286 "perly.y" /* yacc.c:1646 */
261 SvREFCNT_inc_simple_void(PL_compcv);
262 (ps[-5].val.opval)->op_type == OP_CONST
263 ? newATTRSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
264 : newMYSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
266 (yyval.opval) = NULL;
268 parser->parsed_sub = 1;
274 #line 301 "perly.y" /* yacc.c:1646 */
276 init_named_cv(PL_compcv, (ps[-1].val.opval));
278 parser->in_my_stash = NULL;
284 #line 307 "perly.y" /* yacc.c:1646 */
286 SvREFCNT_inc_simple_void(PL_compcv);
287 (ps[-4].val.opval)->op_type == OP_CONST
288 ? newATTRSUB((ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), (ps[0].val.opval))
289 : newMYSUB( (ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), (ps[0].val.opval))
291 (yyval.opval) = NULL;
293 parser->parsed_sub = 1;
299 #line 318 "perly.y" /* yacc.c:1646 */
301 package((ps[-1].val.opval));
302 if ((ps[-2].val.opval))
303 package_version((ps[-2].val.opval));
304 (yyval.opval) = NULL;
310 #line 325 "perly.y" /* yacc.c:1646 */
311 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
316 #line 327 "perly.y" /* yacc.c:1646 */
318 SvREFCNT_inc_simple_void(PL_compcv);
319 utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval));
320 parser->parsed_sub = 1;
321 (yyval.opval) = NULL;
327 #line 334 "perly.y" /* yacc.c:1646 */
329 (yyval.opval) = block_end((ps[-4].val.ival),
330 newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval)));
331 parser->copline = (line_t)(ps[-6].val.ival);
337 #line 340 "perly.y" /* yacc.c:1646 */
339 (yyval.opval) = block_end((ps[-4].val.ival),
340 newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval))));
341 parser->copline = (line_t)(ps[-6].val.ival);
347 #line 346 "perly.y" /* yacc.c:1646 */
349 (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0));
350 parser->copline = (line_t)(ps[-5].val.ival);
356 #line 351 "perly.y" /* yacc.c:1646 */
357 { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
362 #line 353 "perly.y" /* yacc.c:1646 */
363 { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
368 #line 355 "perly.y" /* yacc.c:1646 */
370 (yyval.opval) = block_end((ps[-5].val.ival),
371 newWHILEOP(0, 1, NULL,
372 (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
373 parser->copline = (line_t)(ps[-7].val.ival);
379 #line 362 "perly.y" /* yacc.c:1646 */
381 (yyval.opval) = block_end((ps[-5].val.ival),
382 newWHILEOP(0, 1, NULL,
383 (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
384 parser->copline = (line_t)(ps[-7].val.ival);
390 #line 369 "perly.y" /* yacc.c:1646 */
391 { parser->expect = XTERM; }
396 #line 371 "perly.y" /* yacc.c:1646 */
397 { parser->expect = XTERM; }
402 #line 374 "perly.y" /* yacc.c:1646 */
404 OP *initop = (ps[-9].val.opval);
405 OP *forop = newWHILEOP(0, 1, NULL,
406 scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival));
408 forop = op_prepend_elem(OP_LINESEQ, initop,
409 op_append_elem(OP_LINESEQ,
410 newOP(OP_UNSTACK, OPf_SPECIAL),
413 PL_hints |= HINT_BLOCK_SCOPE;
414 (yyval.opval) = block_end((ps[-10].val.ival), forop);
415 parser->copline = (line_t)(ps[-12].val.ival);
421 #line 389 "perly.y" /* yacc.c:1646 */
423 (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)));
424 parser->copline = (line_t)(ps[-8].val.ival);
430 #line 394 "perly.y" /* yacc.c:1646 */
432 (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0,
433 op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
434 parser->copline = (line_t)(ps[-7].val.ival);
440 #line 400 "perly.y" /* yacc.c:1646 */
441 { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
446 #line 402 "perly.y" /* yacc.c:1646 */
448 (yyval.opval) = block_end(
452 newUNOP(OP_REFGEN, 0,
455 (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
457 parser->copline = (line_t)(ps[-9].val.ival);
463 #line 415 "perly.y" /* yacc.c:1646 */
465 (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
466 0, op_lvalue(newUNOP(OP_REFGEN, 0,
468 OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
469 parser->copline = (line_t)(ps[-8].val.ival);
475 #line 423 "perly.y" /* yacc.c:1646 */
477 (yyval.opval) = block_end((ps[-4].val.ival),
478 newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
479 parser->copline = (line_t)(ps[-6].val.ival);
485 #line 429 "perly.y" /* yacc.c:1646 */
487 /* a block is a loop that happens once */
488 (yyval.opval) = newWHILEOP(0, 1, NULL,
489 NULL, (ps[-1].val.opval), (ps[0].val.opval), 0);
495 #line 435 "perly.y" /* yacc.c:1646 */
497 package((ps[-2].val.opval));
498 if ((ps[-3].val.opval)) {
499 package_version((ps[-3].val.opval));
506 #line 442 "perly.y" /* yacc.c:1646 */
508 /* a block is a loop that happens once */
509 (yyval.opval) = newWHILEOP(0, 1, NULL,
510 NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
511 if (parser->copline > (line_t)(ps[-4].val.ival))
512 parser->copline = (line_t)(ps[-4].val.ival);
518 #line 450 "perly.y" /* yacc.c:1646 */
520 (yyval.opval) = (ps[-1].val.opval);
526 #line 454 "perly.y" /* yacc.c:1646 */
528 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
529 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
535 #line 459 "perly.y" /* yacc.c:1646 */
537 (yyval.opval) = NULL;
538 parser->copline = NOLINE;
544 #line 467 "perly.y" /* yacc.c:1646 */
546 if ((ps[0].val.opval)) {
547 OP *term = (ps[0].val.opval);
548 list = op_append_elem(OP_LIST, (ps[-1].val.opval), term);
551 list = (ps[-1].val.opval);
553 if (parser->copline == NOLINE)
554 parser->copline = CopLINE(PL_curcop)-1;
555 else parser->copline--;
556 (yyval.opval) = newSTATEOP(0, NULL,
557 op_convert_list(OP_FORMLINE, 0, list));
563 #line 484 "perly.y" /* yacc.c:1646 */
564 { (yyval.opval) = NULL; }
569 #line 486 "perly.y" /* yacc.c:1646 */
570 { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
575 #line 491 "perly.y" /* yacc.c:1646 */
576 { (yyval.opval) = NULL; }
581 #line 493 "perly.y" /* yacc.c:1646 */
582 { (yyval.opval) = (ps[0].val.opval); }
587 #line 495 "perly.y" /* yacc.c:1646 */
588 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
593 #line 497 "perly.y" /* yacc.c:1646 */
594 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
599 #line 499 "perly.y" /* yacc.c:1646 */
600 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
605 #line 501 "perly.y" /* yacc.c:1646 */
606 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
611 #line 503 "perly.y" /* yacc.c:1646 */
612 { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
613 parser->copline = (line_t)(ps[-1].val.ival); }
618 #line 506 "perly.y" /* yacc.c:1646 */
619 { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
624 #line 511 "perly.y" /* yacc.c:1646 */
625 { (yyval.opval) = NULL; }
630 #line 513 "perly.y" /* yacc.c:1646 */
632 ((ps[0].val.opval))->op_flags |= OPf_PARENS;
633 (yyval.opval) = op_scope((ps[0].val.opval));
639 #line 518 "perly.y" /* yacc.c:1646 */
640 { parser->copline = (line_t)(ps[-5].val.ival);
641 (yyval.opval) = newCONDOP(0,
642 newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
643 op_scope((ps[-1].val.opval)), (ps[0].val.opval));
644 PL_hints |= HINT_BLOCK_SCOPE;
650 #line 528 "perly.y" /* yacc.c:1646 */
651 { (yyval.opval) = NULL; }
656 #line 530 "perly.y" /* yacc.c:1646 */
657 { (yyval.opval) = op_scope((ps[0].val.opval)); }
662 #line 535 "perly.y" /* yacc.c:1646 */
663 { (yyval.ival) = (PL_min_intro_pending &&
664 PL_max_intro_pending >= PL_min_intro_pending);
670 #line 541 "perly.y" /* yacc.c:1646 */
671 { (yyval.opval) = NULL; }
676 #line 547 "perly.y" /* yacc.c:1646 */
678 (void)scan_num("1", &tmplval);
679 (yyval.opval) = tmplval.opval; }
684 #line 555 "perly.y" /* yacc.c:1646 */
685 { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
690 #line 560 "perly.y" /* yacc.c:1646 */
691 { (yyval.opval) = (ps[0].val.opval); intro_my(); }
696 #line 564 "perly.y" /* yacc.c:1646 */
697 { (yyval.opval) = (ps[0].val.opval); intro_my(); }
702 #line 567 "perly.y" /* yacc.c:1646 */
703 { (yyval.opval) = (ps[0].val.opval); }
708 #line 568 "perly.y" /* yacc.c:1646 */
709 { (yyval.opval) = NULL; }
714 #line 572 "perly.y" /* yacc.c:1646 */
715 { (yyval.ival) = start_subparse(FALSE, 0);
716 SAVEFREESV(PL_compcv); }
721 #line 578 "perly.y" /* yacc.c:1646 */
722 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
723 SAVEFREESV(PL_compcv); }
728 #line 583 "perly.y" /* yacc.c:1646 */
729 { (yyval.ival) = start_subparse(TRUE, 0);
730 SAVEFREESV(PL_compcv); }
735 #line 594 "perly.y" /* yacc.c:1646 */
736 { (yyval.opval) = NULL; }
741 #line 600 "perly.y" /* yacc.c:1646 */
742 { (yyval.opval) = NULL; }
747 #line 602 "perly.y" /* yacc.c:1646 */
748 { (yyval.opval) = (ps[0].val.opval); }
753 #line 604 "perly.y" /* yacc.c:1646 */
754 { (yyval.opval) = NULL; }
759 #line 609 "perly.y" /* yacc.c:1646 */
760 { (yyval.opval) = (ps[0].val.opval); }
765 #line 611 "perly.y" /* yacc.c:1646 */
766 { (yyval.opval) = NULL; }
771 #line 622 "perly.y" /* yacc.c:1646 */
772 { parser->in_my = 0; (yyval.opval) = NULL; }
777 #line 624 "perly.y" /* yacc.c:1646 */
778 { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
783 #line 629 "perly.y" /* yacc.c:1646 */
784 { (yyval.ival) = '@'; }
789 #line 631 "perly.y" /* yacc.c:1646 */
790 { (yyval.ival) = '%'; }
795 #line 635 "perly.y" /* yacc.c:1646 */
797 I32 sigil = (ps[-2].val.ival);
798 OP *var = (ps[-1].val.opval);
799 OP *defexpr = (ps[0].val.opval);
801 if (parser->sig_slurpy)
802 yyerror("Multiple slurpy parameters not allowed");
803 parser->sig_slurpy = (char)sigil;
806 yyerror("A slurpy parameter may not have "
809 (yyval.opval) = var ? newSTATEOP(0, NULL, var) : NULL;
815 #line 654 "perly.y" /* yacc.c:1646 */
816 { (yyval.opval) = NULL; }
821 #line 656 "perly.y" /* yacc.c:1646 */
822 { (yyval.opval) = newOP(OP_NULL, 0); }
827 #line 658 "perly.y" /* yacc.c:1646 */
828 { (yyval.opval) = (ps[0].val.opval); }
833 #line 664 "perly.y" /* yacc.c:1646 */
835 OP *var = (ps[-1].val.opval);
836 OP *defexpr = (ps[0].val.opval);
838 if (parser->sig_slurpy)
839 yyerror("Slurpy parameter not last");
844 parser->sig_optelems++;
846 if ( defexpr->op_type == OP_NULL
847 && !(defexpr->op_flags & OPf_KIDS))
849 /* handle '$=' special case */
851 yyerror("Optional parameter "
852 "lacks default expression");
856 /* a normal '=default' expression */
857 OP *defop = (OP*)alloc_LOGOP(OP_ARGDEFELEM,
860 /* re-purpose op_targ to hold @_ index */
862 (PADOFFSET)(parser->sig_elems - 1);
865 var->op_flags |= OPf_STACKED;
866 (void)op_sibling_splice(var,
871 var = newUNOP(OP_NULL, 0, defop);
874 /* NB: normally the first child of a
875 * logop is executed before the logop,
876 * and it pushes a boolean result
877 * ready for the logop. For ARGDEFELEM,
878 * the op itself does the boolean
879 * calculation, so set the first op to
882 var->op_next = defop;
883 defexpr->op_next = var;
887 if (parser->sig_optelems)
888 yyerror("Mandatory parameter "
889 "follows optional parameter");
892 (yyval.opval) = var ? newSTATEOP(0, NULL, var) : NULL;
898 #line 729 "perly.y" /* yacc.c:1646 */
899 { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
904 #line 731 "perly.y" /* yacc.c:1646 */
905 { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
910 #line 737 "perly.y" /* yacc.c:1646 */
911 { (yyval.opval) = (ps[-1].val.opval); }
916 #line 739 "perly.y" /* yacc.c:1646 */
918 (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval));
924 #line 743 "perly.y" /* yacc.c:1646 */
925 { (yyval.opval) = (ps[0].val.opval); }
930 #line 748 "perly.y" /* yacc.c:1646 */
931 { (yyval.opval) = NULL; }
936 #line 750 "perly.y" /* yacc.c:1646 */
937 { (yyval.opval) = (ps[0].val.opval); }
942 #line 754 "perly.y" /* yacc.c:1646 */
943 { (yyval.opval) = NULL; }
948 #line 756 "perly.y" /* yacc.c:1646 */
949 { (yyval.opval) = (ps[0].val.opval); }
954 #line 760 "perly.y" /* yacc.c:1646 */
957 SAVEIV(parser->sig_elems);
958 SAVEIV(parser->sig_optelems);
959 SAVEI8(parser->sig_slurpy);
960 parser->sig_elems = 0;
961 parser->sig_optelems = 0;
962 parser->sig_slurpy = 0;
963 parser->in_my = KEY_sigvar;
969 #line 772 "perly.y" /* yacc.c:1646 */
971 OP *sigops = (ps[-1].val.opval);
975 if (!FEATURE_SIGNATURES_IS_ENABLED)
976 Perl_croak(aTHX_ "Experimental "
977 "subroutine signatures not enabled");
979 /* We shouldn't get here otherwise */
980 Perl_ck_warner_d(aTHX_
981 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
982 "The signatures feature is experimental");
984 aux = (UNOP_AUX_item*)PerlMemShared_malloc(
985 sizeof(UNOP_AUX_item) * 3);
986 aux[0].iv = parser->sig_elems;
987 aux[1].iv = parser->sig_optelems;
988 aux[2].iv = parser->sig_slurpy;
989 check = newUNOP_AUX(OP_ARGCHECK, 0, NULL, aux);
990 sigops = op_prepend_elem(OP_LINESEQ, check, sigops);
991 sigops = op_prepend_elem(OP_LINESEQ,
992 newSTATEOP(0, NULL, NULL),
994 /* a nextstate at the end handles context
995 * correctly for an empty sub body */
996 (yyval.opval) = op_append_elem(OP_LINESEQ,
998 newSTATEOP(0, NULL, NULL));
1001 /* tell the toker that attrributes can follow
1002 * this sig, but only so that the toker
1003 * can skip through any (illegal) trailing
1004 * attribute text then give a useful error
1005 * message about "attributes before sig",
1006 * rather than falling over ina mess at
1007 * unrecognised syntax.
1009 parser->expect = XATTRBLOCK;
1010 parser->sig_seen = TRUE;
1017 #line 818 "perly.y" /* yacc.c:1646 */
1018 { (yyval.opval) = (ps[0].val.opval); }
1023 #line 819 "perly.y" /* yacc.c:1646 */
1024 { (yyval.opval) = NULL; }
1029 #line 825 "perly.y" /* yacc.c:1646 */
1031 if (parser->copline > (line_t)(ps[-2].val.ival))
1032 parser->copline = (line_t)(ps[-2].val.ival);
1033 (yyval.opval) = block_end((ps[-3].val.ival), (ps[-1].val.opval));
1039 #line 835 "perly.y" /* yacc.c:1646 */
1040 { (yyval.opval) = (ps[0].val.opval); }
1045 #line 836 "perly.y" /* yacc.c:1646 */
1046 { (yyval.opval) = NULL; }
1051 #line 840 "perly.y" /* yacc.c:1646 */
1053 if (parser->copline > (line_t)(ps[-2].val.ival))
1054 parser->copline = (line_t)(ps[-2].val.ival);
1055 (yyval.opval) = block_end((ps[-4].val.ival),
1056 op_append_list(OP_LINESEQ, (ps[-3].val.opval), (ps[-1].val.opval)));
1062 #line 851 "perly.y" /* yacc.c:1646 */
1063 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1068 #line 853 "perly.y" /* yacc.c:1646 */
1069 { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1074 #line 855 "perly.y" /* yacc.c:1646 */
1075 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1080 #line 861 "perly.y" /* yacc.c:1646 */
1081 { (yyval.opval) = (ps[-1].val.opval); }
1086 #line 863 "perly.y" /* yacc.c:1646 */
1088 OP* term = (ps[0].val.opval);
1089 (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
1095 #line 872 "perly.y" /* yacc.c:1646 */
1096 { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
1097 op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) );
1103 #line 876 "perly.y" /* yacc.c:1646 */
1104 { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
1105 op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) );
1111 #line 880 "perly.y" /* yacc.c:1646 */
1112 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
1113 op_append_elem(OP_LIST,
1114 op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
1115 newMETHOP(OP_METHOD, 0, (ps[-3].val.opval))));
1121 #line 886 "perly.y" /* yacc.c:1646 */
1122 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
1123 op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
1124 newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
1130 #line 891 "perly.y" /* yacc.c:1646 */
1131 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
1132 op_append_elem(OP_LIST,
1133 op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
1134 newMETHOP(OP_METHOD, 0, (ps[-2].val.opval))));
1140 #line 897 "perly.y" /* yacc.c:1646 */
1141 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
1142 op_append_elem(OP_LIST,
1143 op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
1144 newMETHOP(OP_METHOD, 0, (ps[-4].val.opval))));
1150 #line 903 "perly.y" /* yacc.c:1646 */
1151 { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
1156 #line 905 "perly.y" /* yacc.c:1646 */
1157 { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
1162 #line 907 "perly.y" /* yacc.c:1646 */
1163 { SvREFCNT_inc_simple_void(PL_compcv);
1164 (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); }
1169 #line 910 "perly.y" /* yacc.c:1646 */
1170 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1171 op_append_elem(OP_LIST,
1172 op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
1178 #line 925 "perly.y" /* yacc.c:1646 */
1179 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
1184 #line 927 "perly.y" /* yacc.c:1646 */
1185 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
1191 #line 930 "perly.y" /* yacc.c:1646 */
1192 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1193 ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
1194 scalar((ps[-1].val.opval)));
1200 #line 935 "perly.y" /* yacc.c:1646 */
1201 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1202 ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
1203 scalar((ps[-1].val.opval)));
1209 #line 940 "perly.y" /* yacc.c:1646 */
1210 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
1216 #line 943 "perly.y" /* yacc.c:1646 */
1217 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1218 ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
1219 jmaybe((ps[-2].val.opval))); }
1224 #line 947 "perly.y" /* yacc.c:1646 */
1225 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1226 ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
1227 jmaybe((ps[-2].val.opval))); }
1232 #line 951 "perly.y" /* yacc.c:1646 */
1233 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1234 newCVREF(0, scalar((ps[-3].val.opval))));
1235 if (parser->expect == XBLOCK)
1236 parser->expect = XOPERATOR;
1242 #line 957 "perly.y" /* yacc.c:1646 */
1243 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1244 op_append_elem(OP_LIST, (ps[-1].val.opval),
1245 newCVREF(0, scalar((ps[-4].val.opval)))));
1246 if (parser->expect == XBLOCK)
1247 parser->expect = XOPERATOR;
1253 #line 965 "perly.y" /* yacc.c:1646 */
1254 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1255 op_append_elem(OP_LIST, (ps[-1].val.opval),
1256 newCVREF(0, scalar((ps[-3].val.opval)))));
1257 if (parser->expect == XBLOCK)
1258 parser->expect = XOPERATOR;
1264 #line 972 "perly.y" /* yacc.c:1646 */
1265 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1266 newCVREF(0, scalar((ps[-2].val.opval))));
1267 if (parser->expect == XBLOCK)
1268 parser->expect = XOPERATOR;
1274 #line 978 "perly.y" /* yacc.c:1646 */
1275 { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
1280 #line 980 "perly.y" /* yacc.c:1646 */
1281 { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
1286 #line 982 "perly.y" /* yacc.c:1646 */
1287 { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
1292 #line 987 "perly.y" /* yacc.c:1646 */
1293 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
1298 #line 989 "perly.y" /* yacc.c:1646 */
1299 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1304 #line 991 "perly.y" /* yacc.c:1646 */
1305 { if ((ps[-1].val.ival) != OP_REPEAT)
1306 scalar((ps[-2].val.opval));
1307 (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
1313 #line 996 "perly.y" /* yacc.c:1646 */
1314 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1319 #line 998 "perly.y" /* yacc.c:1646 */
1320 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1325 #line 1000 "perly.y" /* yacc.c:1646 */
1326 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1331 #line 1002 "perly.y" /* yacc.c:1646 */
1332 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1337 #line 1004 "perly.y" /* yacc.c:1646 */
1338 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1343 #line 1006 "perly.y" /* yacc.c:1646 */
1344 { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1349 #line 1008 "perly.y" /* yacc.c:1646 */
1350 { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1355 #line 1010 "perly.y" /* yacc.c:1646 */
1356 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1361 #line 1012 "perly.y" /* yacc.c:1646 */
1362 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1367 #line 1014 "perly.y" /* yacc.c:1646 */
1368 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1373 #line 1016 "perly.y" /* yacc.c:1646 */
1374 { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1379 #line 1021 "perly.y" /* yacc.c:1646 */
1380 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
1385 #line 1023 "perly.y" /* yacc.c:1646 */
1386 { (yyval.opval) = (ps[0].val.opval); }
1391 #line 1026 "perly.y" /* yacc.c:1646 */
1392 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
1397 #line 1028 "perly.y" /* yacc.c:1646 */
1398 { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
1403 #line 1030 "perly.y" /* yacc.c:1646 */
1404 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1405 op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
1410 #line 1033 "perly.y" /* yacc.c:1646 */
1411 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1412 op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
1417 #line 1036 "perly.y" /* yacc.c:1646 */
1418 { (yyval.opval) = op_convert_list(OP_JOIN, 0,
1432 #line 1047 "perly.y" /* yacc.c:1646 */
1433 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1434 op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
1439 #line 1050 "perly.y" /* yacc.c:1646 */
1440 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1441 op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
1446 #line 1057 "perly.y" /* yacc.c:1646 */
1447 { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
1452 #line 1059 "perly.y" /* yacc.c:1646 */
1453 { (yyval.opval) = newANONLIST(NULL);}
1458 #line 1061 "perly.y" /* yacc.c:1646 */
1459 { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
1464 #line 1063 "perly.y" /* yacc.c:1646 */
1465 { (yyval.opval) = newANONHASH(NULL); }
1470 #line 1065 "perly.y" /* yacc.c:1646 */
1471 { SvREFCNT_inc_simple_void(PL_compcv);
1472 (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
1477 #line 1068 "perly.y" /* yacc.c:1646 */
1478 { SvREFCNT_inc_simple_void(PL_compcv);
1479 (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
1484 #line 1074 "perly.y" /* yacc.c:1646 */
1485 { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
1490 #line 1076 "perly.y" /* yacc.c:1646 */
1491 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
1496 #line 1084 "perly.y" /* yacc.c:1646 */
1497 { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
1502 #line 1086 "perly.y" /* yacc.c:1646 */
1503 { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
1508 #line 1088 "perly.y" /* yacc.c:1646 */
1509 { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
1514 #line 1090 "perly.y" /* yacc.c:1646 */
1515 { (yyval.opval) = (ps[0].val.opval); }
1520 #line 1092 "perly.y" /* yacc.c:1646 */
1521 { (yyval.opval) = localize((ps[0].val.opval),0); }
1526 #line 1094 "perly.y" /* yacc.c:1646 */
1527 { (yyval.opval) = sawparens((ps[-1].val.opval)); }
1532 #line 1096 "perly.y" /* yacc.c:1646 */
1533 { (yyval.opval) = (ps[0].val.opval); }
1538 #line 1098 "perly.y" /* yacc.c:1646 */
1539 { (yyval.opval) = sawparens(newNULLLIST()); }
1544 #line 1100 "perly.y" /* yacc.c:1646 */
1545 { (yyval.opval) = (ps[0].val.opval); }
1550 #line 1102 "perly.y" /* yacc.c:1646 */
1551 { (yyval.opval) = (ps[0].val.opval); }
1556 #line 1104 "perly.y" /* yacc.c:1646 */
1557 { (yyval.opval) = (ps[0].val.opval); }
1562 #line 1106 "perly.y" /* yacc.c:1646 */
1563 { (yyval.opval) = (ps[0].val.opval); }
1568 #line 1108 "perly.y" /* yacc.c:1646 */
1569 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
1574 #line 1110 "perly.y" /* yacc.c:1646 */
1575 { (yyval.opval) = (ps[0].val.opval); }
1580 #line 1112 "perly.y" /* yacc.c:1646 */
1581 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
1582 newOP(OP_PUSHMARK, 0),
1583 newLISTOP(OP_ASLICE, 0,
1584 list((ps[-1].val.opval)),
1585 ref((ps[-3].val.opval), OP_ASLICE)));
1586 if ((yyval.opval) && (ps[-3].val.opval))
1587 (yyval.opval)->op_private |=
1588 (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
1594 #line 1122 "perly.y" /* yacc.c:1646 */
1595 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1596 newOP(OP_PUSHMARK, 0),
1597 newLISTOP(OP_KVASLICE, 0,
1598 list((ps[-1].val.opval)),
1599 ref(oopsAV((ps[-3].val.opval)), OP_KVASLICE)));
1600 if ((yyval.opval) && (ps[-3].val.opval))
1601 (yyval.opval)->op_private |=
1602 (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
1608 #line 1132 "perly.y" /* yacc.c:1646 */
1609 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
1610 newOP(OP_PUSHMARK, 0),
1611 newLISTOP(OP_HSLICE, 0,
1612 list((ps[-2].val.opval)),
1613 ref(oopsHV((ps[-4].val.opval)), OP_HSLICE)));
1614 if ((yyval.opval) && (ps[-4].val.opval))
1615 (yyval.opval)->op_private |=
1616 (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
1622 #line 1142 "perly.y" /* yacc.c:1646 */
1623 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1624 newOP(OP_PUSHMARK, 0),
1625 newLISTOP(OP_KVHSLICE, 0,
1626 list((ps[-2].val.opval)),
1627 ref((ps[-4].val.opval), OP_KVHSLICE)));
1628 if ((yyval.opval) && (ps[-4].val.opval))
1629 (yyval.opval)->op_private |=
1630 (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
1636 #line 1152 "perly.y" /* yacc.c:1646 */
1637 { (yyval.opval) = (ps[0].val.opval); }
1642 #line 1154 "perly.y" /* yacc.c:1646 */
1643 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
1648 #line 1156 "perly.y" /* yacc.c:1646 */
1649 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
1655 #line 1159 "perly.y" /* yacc.c:1646 */
1657 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1658 op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
1664 #line 1164 "perly.y" /* yacc.c:1646 */
1665 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1666 op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
1672 #line 1168 "perly.y" /* yacc.c:1646 */
1673 { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
1678 #line 1170 "perly.y" /* yacc.c:1646 */
1679 { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
1684 #line 1172 "perly.y" /* yacc.c:1646 */
1685 { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
1690 #line 1174 "perly.y" /* yacc.c:1646 */
1691 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1692 scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
1697 #line 1177 "perly.y" /* yacc.c:1646 */
1698 { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
1703 #line 1179 "perly.y" /* yacc.c:1646 */
1704 { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
1705 PL_hints |= HINT_BLOCK_SCOPE; }
1710 #line 1182 "perly.y" /* yacc.c:1646 */
1711 { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
1716 #line 1184 "perly.y" /* yacc.c:1646 */
1717 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
1722 #line 1186 "perly.y" /* yacc.c:1646 */
1723 { (yyval.opval) = newOP((ps[0].val.ival), 0); }
1728 #line 1188 "perly.y" /* yacc.c:1646 */
1729 { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
1734 #line 1190 "perly.y" /* yacc.c:1646 */
1735 { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
1740 #line 1192 "perly.y" /* yacc.c:1646 */
1741 { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
1746 #line 1194 "perly.y" /* yacc.c:1646 */
1747 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
1752 #line 1196 "perly.y" /* yacc.c:1646 */
1753 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
1758 #line 1198 "perly.y" /* yacc.c:1646 */
1759 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1760 op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
1765 #line 1201 "perly.y" /* yacc.c:1646 */
1766 { (yyval.opval) = newOP((ps[0].val.ival), 0); }
1771 #line 1203 "perly.y" /* yacc.c:1646 */
1772 { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
1777 #line 1205 "perly.y" /* yacc.c:1646 */
1778 { (yyval.opval) = (ps[0].val.opval); }
1783 #line 1207 "perly.y" /* yacc.c:1646 */
1784 { (yyval.opval) = (ps[-2].val.opval); }
1789 #line 1209 "perly.y" /* yacc.c:1646 */
1790 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
1795 #line 1211 "perly.y" /* yacc.c:1646 */
1796 { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
1797 ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1798 : newOP((ps[-2].val.ival), OPf_SPECIAL); }
1803 #line 1215 "perly.y" /* yacc.c:1646 */
1804 { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
1809 #line 1217 "perly.y" /* yacc.c:1646 */
1811 if ( (ps[0].val.opval)->op_type != OP_TRANS
1812 && (ps[0].val.opval)->op_type != OP_TRANSR
1813 && (((PMOP*)(ps[0].val.opval))->op_pmflags & PMf_HAS_CV))
1815 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1816 SAVEFREESV(PL_compcv);
1824 #line 1228 "perly.y" /* yacc.c:1646 */
1825 { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
1830 #line 1236 "perly.y" /* yacc.c:1646 */
1831 { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
1836 #line 1238 "perly.y" /* yacc.c:1646 */
1837 { (yyval.opval) = localize((ps[0].val.opval),1); }
1842 #line 1240 "perly.y" /* yacc.c:1646 */
1843 { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
1848 #line 1245 "perly.y" /* yacc.c:1646 */
1849 { (yyval.opval) = sawparens((ps[-1].val.opval)); }
1854 #line 1247 "perly.y" /* yacc.c:1646 */
1855 { (yyval.opval) = sawparens(newNULLLIST()); }
1860 #line 1250 "perly.y" /* yacc.c:1646 */
1861 { (yyval.opval) = (ps[0].val.opval); }
1866 #line 1252 "perly.y" /* yacc.c:1646 */
1867 { (yyval.opval) = (ps[0].val.opval); }
1872 #line 1254 "perly.y" /* yacc.c:1646 */
1873 { (yyval.opval) = (ps[0].val.opval); }
1878 #line 1259 "perly.y" /* yacc.c:1646 */
1879 { (yyval.opval) = NULL; }
1884 #line 1261 "perly.y" /* yacc.c:1646 */
1885 { (yyval.opval) = (ps[0].val.opval); }
1890 #line 1265 "perly.y" /* yacc.c:1646 */
1891 { (yyval.opval) = NULL; }
1896 #line 1267 "perly.y" /* yacc.c:1646 */
1897 { (yyval.opval) = (ps[0].val.opval); }
1902 #line 1271 "perly.y" /* yacc.c:1646 */
1903 { (yyval.opval) = NULL; }
1908 #line 1273 "perly.y" /* yacc.c:1646 */
1909 { (yyval.opval) = (ps[0].val.opval); }
1914 #line 1279 "perly.y" /* yacc.c:1646 */
1915 { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
1920 #line 1296 "perly.y" /* yacc.c:1646 */
1921 { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
1926 #line 1300 "perly.y" /* yacc.c:1646 */
1927 { (yyval.opval) = newSVREF((ps[0].val.opval)); }
1932 #line 1304 "perly.y" /* yacc.c:1646 */
1933 { (yyval.opval) = newAVREF((ps[0].val.opval));
1934 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
1940 #line 1310 "perly.y" /* yacc.c:1646 */
1941 { (yyval.opval) = newHVREF((ps[0].val.opval));
1942 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
1948 #line 1316 "perly.y" /* yacc.c:1646 */
1949 { (yyval.opval) = newAVREF((ps[0].val.opval)); }
1954 #line 1318 "perly.y" /* yacc.c:1646 */
1955 { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
1960 #line 1322 "perly.y" /* yacc.c:1646 */
1961 { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
1966 #line 1327 "perly.y" /* yacc.c:1646 */
1967 { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
1972 #line 1332 "perly.y" /* yacc.c:1646 */
1973 { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
1978 #line 1337 "perly.y" /* yacc.c:1646 */
1979 { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
1984 #line 1342 "perly.y" /* yacc.c:1646 */
1985 { (yyval.opval) = scalar((ps[0].val.opval)); }
1990 #line 1344 "perly.y" /* yacc.c:1646 */
1991 { (yyval.opval) = scalar((ps[0].val.opval)); }
1996 #line 1346 "perly.y" /* yacc.c:1646 */
1997 { (yyval.opval) = op_scope((ps[0].val.opval)); }
2002 #line 1349 "perly.y" /* yacc.c:1646 */
2003 { (yyval.opval) = (ps[0].val.opval); }
2013 * ac323bb6f3cacf4eb8eda6403a58c41f30954d07a4a6d6f7f00de81577b2c79a perly.y
2014 * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl