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!
10 parser->expect = XSTATE;
17 newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
18 PL_compiling.cop_seq = 0;
26 parser->expect = XTERM;
33 PL_eval_root = (ps[(3) - (3)].val.opval);
41 parser->expect = XBLOCK;
48 PL_pad_reset_pending = TRUE;
49 PL_eval_root = (ps[(3) - (3)].val.opval);
52 parser->yychar = YYEOF;
59 parser->expect = XSTATE;
66 PL_pad_reset_pending = TRUE;
67 PL_eval_root = (ps[(3) - (3)].val.opval);
70 parser->yychar = YYEOF;
77 parser->expect = XSTATE;
84 PL_pad_reset_pending = TRUE;
85 PL_eval_root = (ps[(3) - (3)].val.opval);
88 parser->yychar = YYEOF;
95 parser->expect = XSTATE;
102 PL_eval_root = (ps[(3) - (3)].val.opval);
109 { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
110 parser->copline = (line_t)(ps[(1) - (4)].val.ival);
111 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
117 { if (parser->copline > (line_t)(ps[(1) - (7)].val.ival))
118 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
119 (yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
125 { (yyval.ival) = block_start(TRUE);
126 parser->parsed_sub = 0; ;}
131 { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
132 parser->copline = (line_t)(ps[(1) - (4)].val.ival);
133 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
139 { (yyval.ival) = block_start(FALSE);
140 parser->parsed_sub = 0; ;}
145 { (yyval.opval) = (OP*)NULL; ;}
150 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
151 PL_pad_reset_pending = TRUE;
152 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
153 PL_hints |= HINT_BLOCK_SCOPE;
159 { (yyval.opval) = (OP*)NULL; ;}
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;
174 (yyval.opval) = (ps[(1) - (1)].val.opval) ? newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval)) : NULL;
180 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
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));
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));
199 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
205 CV *fmtcv = PL_compcv;
206 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
207 (yyval.opval) = (OP*)NULL;
208 if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
209 pad_add_weakref(fmtcv);
211 parser->parsed_sub = 1;
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")
222 || strEQ(name, "INIT") || strEQ(name, "CHECK")
223 || strEQ(name, "UNITCHECK"))
224 CvSPECIAL_on(PL_compcv);
227 /* State subs inside anonymous subs need to be
228 clonable themselves. */
229 if (CvANON(CvOUTSIDE(PL_compcv))
230 || CvCLONE(CvOUTSIDE(PL_compcv))
231 || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
233 ))[(ps[(2) - (3)].val.opval)->op_targ]))
234 CvCLONE_on(PL_compcv);
236 parser->in_my_stash = NULL;
243 SvREFCNT_inc_simple_void(PL_compcv);
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))
248 (yyval.opval) = (OP*)NULL;
250 parser->parsed_sub = 1;
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);
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(
272 ))[(ps[(2) - (3)].val.opval)->op_targ]))
273 CvCLONE_on(PL_compcv);
275 parser->in_my_stash = NULL;
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)));
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)
293 (yyval.opval) = (OP*)NULL;
295 parser->parsed_sub = 1;
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;
311 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
317 SvREFCNT_inc_simple_void(PL_compcv);
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));
319 parser->parsed_sub = 1;
320 (yyval.opval) = (OP*)NULL;
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)));
329 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
336 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
337 newCONDOP(0, (ps[(4) - (7)].val.opval), (ps[(7) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval))));
338 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
345 (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)), 0));
346 parser->copline = (line_t)(ps[(1) - (6)].val.ival);
352 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
357 { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
363 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
364 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
365 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
366 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
373 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
374 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
375 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
376 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
382 { parser->expect = XTERM; ;}
387 { parser->expect = XTERM; ;}
393 OP *initop = (ps[(4) - (13)].val.opval);
394 OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
395 scalar((ps[(7) - (13)].val.opval)), (ps[(13) - (13)].val.opval), (ps[(11) - (13)].val.opval), (ps[(10) - (13)].val.ival));
397 forop = op_prepend_elem(OP_LINESEQ, initop,
398 op_append_elem(OP_LINESEQ,
399 newOP(OP_UNSTACK, OPf_SPECIAL),
402 PL_hints |= HINT_BLOCK_SCOPE;
403 (yyval.opval) = block_end((ps[(3) - (13)].val.ival), forop);
404 parser->copline = (line_t)(ps[(1) - (13)].val.ival);
411 (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
412 parser->copline = (line_t)(ps[(1) - (9)].val.ival);
419 (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
420 op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
421 parser->copline = (line_t)(ps[(1) - (8)].val.ival);
427 { parser->in_my = 0; (yyval.opval) = my((ps[(4) - (4)].val.opval)); ;}
433 (yyval.opval) = block_end(
434 (ps[(3) - (10)].val.ival),
437 newUNOP(OP_REFGEN, 0,
438 (ps[(5) - (10)].val.opval)),
440 (ps[(7) - (10)].val.opval), (ps[(9) - (10)].val.opval), (ps[(10) - (10)].val.opval))
442 parser->copline = (line_t)(ps[(1) - (10)].val.ival);
449 (yyval.opval) = block_end((ps[(5) - (9)].val.ival), newFOROP(
450 0, op_lvalue(newUNOP(OP_REFGEN, 0,
451 (ps[(3) - (9)].val.opval)),
452 OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
453 parser->copline = (line_t)(ps[(1) - (9)].val.ival);
460 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
461 newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
462 parser->copline = (line_t)(ps[(1) - (7)].val.ival);
469 /* a block is a loop that happens once */
470 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
471 (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
478 package((ps[(3) - (5)].val.opval));
479 if ((ps[(2) - (5)].val.opval)) {
480 package_version((ps[(2) - (5)].val.opval));
488 /* a block is a loop that happens once */
489 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
490 (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
491 if (parser->copline > (line_t)(ps[(4) - (8)].val.ival))
492 parser->copline = (line_t)(ps[(4) - (8)].val.ival);
499 (yyval.opval) = (ps[(1) - (2)].val.opval);
506 (yyval.opval) = (OP*)NULL;
507 parser->copline = NOLINE;
514 if ((ps[(2) - (2)].val.opval)) {
515 OP *term = (ps[(2) - (2)].val.opval);
516 list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), term);
519 list = (ps[(1) - (2)].val.opval);
521 if (parser->copline == NOLINE)
522 parser->copline = CopLINE(PL_curcop)-1;
523 else parser->copline--;
524 (yyval.opval) = newSTATEOP(0, NULL,
525 op_convert_list(OP_FORMLINE, 0, list));
531 { (yyval.opval) = NULL; ;}
536 { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); ;}
541 { (yyval.opval) = (OP*)NULL; ;}
546 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
551 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
556 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
561 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); ;}
566 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
571 { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
572 parser->copline = (line_t)(ps[(2) - (3)].val.ival); ;}
577 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
582 { (yyval.opval) = (OP*)NULL; ;}
588 ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
589 (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
595 { parser->copline = (line_t)(ps[(1) - (6)].val.ival);
596 (yyval.opval) = newCONDOP(0,
597 newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
598 op_scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
599 PL_hints |= HINT_BLOCK_SCOPE;
605 { (yyval.opval) = (OP*)NULL; ;}
610 { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); ;}
615 { (yyval.ival) = (PL_min_intro_pending &&
616 PL_max_intro_pending >= PL_min_intro_pending);
622 { (yyval.opval) = (OP*)NULL; ;}
628 (void)scan_num("1", &tmplval);
629 (yyval.opval) = tmplval.opval; ;}
634 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
639 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
644 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
649 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
654 { (yyval.opval) = (OP*)NULL; ;}
659 { (yyval.ival) = start_subparse(FALSE, 0);
660 SAVEFREESV(PL_compcv); ;}
665 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
666 SAVEFREESV(PL_compcv); ;}
671 { (yyval.ival) = start_subparse(TRUE, 0);
672 SAVEFREESV(PL_compcv); ;}
677 { (yyval.opval) = (OP*)NULL; ;}
682 { (yyval.opval) = (OP*)NULL; ;}
687 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
692 { (yyval.opval) = (OP*)NULL; ;}
697 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
702 { (yyval.opval) = (OP*)NULL; ;}
707 { parser->in_my = 0; (yyval.opval) = (OP*)NULL; ;}
712 { parser->in_my = 0; (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
717 { (yyval.ival) = '@'; ;}
722 { (yyval.ival) = '%'; ;}
728 I32 sigil = (ps[(1) - (3)].val.ival);
729 OP *var = (ps[(2) - (3)].val.opval);
730 OP *defexpr = (ps[(3) - (3)].val.opval);
732 if (parser->sig_slurpy)
733 yyerror("Multiple slurpy parameters not allowed");
734 parser->sig_slurpy = (char)sigil;
737 yyerror("A slurpy parameter may not have "
740 (yyval.opval) = var ? newSTATEOP(0, NULL, var) : (OP*)NULL;
746 { (yyval.opval) = (OP*)NULL; ;}
751 { (yyval.opval) = newOP(OP_NULL, 0); ;}
756 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
762 OP *var = (ps[(2) - (3)].val.opval);
763 OP *defexpr = (ps[(3) - (3)].val.opval);
765 if (parser->sig_slurpy)
766 yyerror("Slurpy parameter not last");
771 parser->sig_optelems++;
773 if ( defexpr->op_type == OP_NULL
774 && !(defexpr->op_flags & OPf_KIDS))
776 /* handle '$=' special case */
778 yyerror("Optional parameter "
779 "lacks default expression");
783 /* a normal '=default' expression */
784 OP *defop = (OP*)alloc_LOGOP(OP_ARGDEFELEM,
787 /* re-purpose op_targ to hold @_ index */
789 (PADOFFSET)(parser->sig_elems - 1);
792 var->op_flags |= OPf_STACKED;
793 (void)op_sibling_splice(var,
798 var = newUNOP(OP_NULL, 0, defop);
801 /* NB: normally the first child of a
802 * logop is executed before the logop,
803 * and it pushes a boolean result
804 * ready for the logop. For ARGDEFELEM,
805 * the op itself does the boolean
806 * calculation, so set the first op to
809 var->op_next = defop;
810 defexpr->op_next = var;
814 if (parser->sig_optelems)
815 yyerror("Mandatory parameter "
816 "follows optional parameter");
819 (yyval.opval) = var ? newSTATEOP(0, NULL, var) : (OP*)NULL;
825 { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
830 { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
835 { (yyval.opval) = (ps[(1) - (2)].val.opval); ;}
841 (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
847 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
852 { (yyval.opval) = (OP*)NULL; ;}
857 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
864 SAVEIV(parser->sig_elems);
865 SAVEIV(parser->sig_optelems);
866 SAVEI8(parser->sig_slurpy);
867 parser->sig_elems = 0;
868 parser->sig_optelems = 0;
869 parser->sig_slurpy = 0;
870 parser->in_my = KEY_sigvar;
877 OP *sigops = (ps[(3) - (4)].val.opval);
881 if (!parser->error_count) {
882 assert(FEATURE_SIGNATURES_IS_ENABLED);
885 /* We shouldn't get here otherwise */
886 Perl_ck_warner_d(aTHX_
887 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
888 "The signatures feature is experimental");
890 aux = (UNOP_AUX_item*)PerlMemShared_malloc(
891 sizeof(UNOP_AUX_item) * 3);
892 aux[0].iv = parser->sig_elems;
893 aux[1].iv = parser->sig_optelems;
894 aux[2].iv = parser->sig_slurpy;
895 check = newUNOP_AUX(OP_ARGCHECK, 0, NULL, aux);
896 sigops = op_prepend_elem(OP_LINESEQ, check, sigops);
897 sigops = op_prepend_elem(OP_LINESEQ,
898 newSTATEOP(0, NULL, NULL),
900 /* a nextstate at the end handles context
901 * correctly for an empty sub body */
902 (yyval.opval) = op_append_elem(OP_LINESEQ,
904 newSTATEOP(0, NULL, NULL));
907 parser->expect = XATTRBLOCK;
914 { (yyval.opval) = (OP*)NULL; ;}
919 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
924 { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
929 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
934 { (yyval.opval) = (ps[(1) - (2)].val.opval); ;}
940 OP* term = (ps[(3) - (3)].val.opval);
941 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
947 { (yyval.opval) = op_convert_list((ps[(1) - (3)].val.ival), OPf_STACKED,
948 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
954 { (yyval.opval) = op_convert_list((ps[(1) - (5)].val.ival), OPf_STACKED,
955 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
961 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
962 op_append_elem(OP_LIST,
963 op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
964 newMETHOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
970 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
971 op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
972 newMETHOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
978 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
979 op_append_elem(OP_LIST,
980 op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
981 newMETHOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
987 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
988 op_append_elem(OP_LIST,
989 op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
990 newMETHOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
996 { (yyval.opval) = op_convert_list((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
1001 { (yyval.opval) = op_convert_list((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
1006 { SvREFCNT_inc_simple_void(PL_compcv);
1007 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
1012 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1013 op_append_elem(OP_LIST,
1014 op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
1020 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); ;}
1025 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
1031 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1032 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
1033 scalar((ps[(4) - (5)].val.opval)));
1039 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1040 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
1041 scalar((ps[(3) - (4)].val.opval)));
1047 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
1053 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1054 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
1055 jmaybe((ps[(4) - (6)].val.opval))); ;}
1060 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1061 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
1062 jmaybe((ps[(3) - (5)].val.opval))); ;}
1067 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1068 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); ;}
1073 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1074 op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
1075 newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); ;}
1080 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1081 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
1082 newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); ;}
1087 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1088 newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); ;}
1093 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); ;}
1098 { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); ;}
1103 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); ;}
1108 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); ;}
1113 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1118 { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
1119 scalar((ps[(1) - (3)].val.opval));
1120 (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
1126 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1131 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1136 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1141 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1146 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1151 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1156 { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1161 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1166 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1171 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1176 { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1181 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1186 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
1191 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1196 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, scalar((ps[(2) - (2)].val.opval))); ;}
1201 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1202 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); ;}
1206 #line 1001 "perly.y"
1207 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1208 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));;}
1212 #line 1004 "perly.y"
1213 { (yyval.opval) = op_convert_list(OP_JOIN, 0,
1220 (ps[(1) - (2)].val.opval)
1226 #line 1015 "perly.y"
1227 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1228 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); ;}
1232 #line 1018 "perly.y"
1233 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1234 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); ;}
1238 #line 1025 "perly.y"
1239 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); ;}
1243 #line 1027 "perly.y"
1244 { (yyval.opval) = newANONLIST((OP*)NULL);;}
1248 #line 1029 "perly.y"
1249 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); ;}
1253 #line 1031 "perly.y"
1254 { (yyval.opval) = newANONHASH((OP*)NULL); ;}
1258 #line 1033 "perly.y"
1259 { SvREFCNT_inc_simple_void(PL_compcv);
1260 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); ;}
1264 #line 1036 "perly.y"
1267 if (parser->copline > (line_t)(ps[(6) - (8)].val.ival))
1268 parser->copline = (line_t)(ps[(6) - (8)].val.ival);
1269 body = block_end((ps[(3) - (8)].val.ival),
1270 op_append_list(OP_LINESEQ, (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval)));
1271 SvREFCNT_inc_simple_void(PL_compcv);
1272 (yyval.opval) = newANONATTRSUB((ps[(2) - (8)].val.ival), NULL, (ps[(5) - (8)].val.opval), body);
1277 #line 1050 "perly.y"
1278 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));;}
1282 #line 1052 "perly.y"
1283 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));;}
1287 #line 1060 "perly.y"
1288 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); ;}
1292 #line 1062 "perly.y"
1293 { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[(2) - (2)].val.opval)); ;}
1297 #line 1064 "perly.y"
1298 { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[(3) - (3)].val.opval),1)); ;}
1302 #line 1066 "perly.y"
1303 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1307 #line 1068 "perly.y"
1308 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),0); ;}
1312 #line 1070 "perly.y"
1313 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
1317 #line 1072 "perly.y"
1318 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1322 #line 1074 "perly.y"
1323 { (yyval.opval) = sawparens(newNULLLIST()); ;}
1327 #line 1076 "perly.y"
1328 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1332 #line 1078 "perly.y"
1333 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1337 #line 1080 "perly.y"
1338 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1342 #line 1082 "perly.y"
1343 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1347 #line 1084 "perly.y"
1348 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
1352 #line 1086 "perly.y"
1353 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1357 #line 1088 "perly.y"
1358 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
1359 newOP(OP_PUSHMARK, 0),
1360 newLISTOP(OP_ASLICE, 0,
1361 list((ps[(3) - (4)].val.opval)),
1362 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1363 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1364 (yyval.opval)->op_private |=
1365 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1370 #line 1098 "perly.y"
1371 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1372 newOP(OP_PUSHMARK, 0),
1373 newLISTOP(OP_KVASLICE, 0,
1374 list((ps[(3) - (4)].val.opval)),
1375 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
1376 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1377 (yyval.opval)->op_private |=
1378 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1383 #line 1108 "perly.y"
1384 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
1385 newOP(OP_PUSHMARK, 0),
1386 newLISTOP(OP_HSLICE, 0,
1387 list((ps[(3) - (5)].val.opval)),
1388 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
1389 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1390 (yyval.opval)->op_private |=
1391 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
1396 #line 1118 "perly.y"
1397 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1398 newOP(OP_PUSHMARK, 0),
1399 newLISTOP(OP_KVHSLICE, 0,
1400 list((ps[(3) - (5)].val.opval)),
1401 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
1402 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1403 (yyval.opval)->op_private |=
1404 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
1409 #line 1128 "perly.y"
1410 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1414 #line 1130 "perly.y"
1415 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
1419 #line 1132 "perly.y"
1420 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1425 #line 1135 "perly.y"
1427 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1428 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
1433 #line 1140 "perly.y"
1434 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1435 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1440 #line 1144 "perly.y"
1441 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); ;}
1445 #line 1146 "perly.y"
1446 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
1450 #line 1148 "perly.y"
1451 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); ;}
1455 #line 1150 "perly.y"
1456 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1457 scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); ;}
1461 #line 1153 "perly.y"
1462 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); ;}
1466 #line 1155 "perly.y"
1467 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
1468 PL_hints |= HINT_BLOCK_SCOPE; ;}
1472 #line 1158 "perly.y"
1473 { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
1477 #line 1160 "perly.y"
1478 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1482 #line 1162 "perly.y"
1483 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
1487 #line 1164 "perly.y"
1488 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
1492 #line 1166 "perly.y"
1493 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
1497 #line 1168 "perly.y"
1498 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); ;}
1502 #line 1170 "perly.y"
1503 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); ;}
1507 #line 1172 "perly.y"
1508 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1512 #line 1174 "perly.y"
1513 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1514 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
1518 #line 1177 "perly.y"
1519 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
1523 #line 1179 "perly.y"
1524 { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);;}
1528 #line 1181 "perly.y"
1529 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1533 #line 1183 "perly.y"
1534 { (yyval.opval) = (ps[(1) - (3)].val.opval); ;}
1538 #line 1185 "perly.y"
1539 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1543 #line 1187 "perly.y"
1544 { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
1545 ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1546 : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); ;}
1550 #line 1191 "perly.y"
1551 { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
1555 #line 1193 "perly.y"
1557 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1558 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1559 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1561 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1562 SAVEFREESV(PL_compcv);
1569 #line 1204 "perly.y"
1570 { (yyval.opval) = pmruntime((ps[(1) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), 1, (ps[(2) - (6)].val.ival)); ;}
1574 #line 1208 "perly.y"
1576 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1577 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
1582 #line 1217 "perly.y"
1583 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); ;}
1587 #line 1219 "perly.y"
1588 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),1); ;}
1592 #line 1221 "perly.y"
1593 { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[(3) - (4)].val.opval),(ps[(4) - (4)].val.opval))); ;}
1597 #line 1226 "perly.y"
1598 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
1602 #line 1228 "perly.y"
1603 { (yyval.opval) = sawparens(newNULLLIST()); ;}
1607 #line 1231 "perly.y"
1608 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1612 #line 1233 "perly.y"
1613 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1617 #line 1235 "perly.y"
1618 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1622 #line 1240 "perly.y"
1623 { (yyval.opval) = (OP*)NULL; ;}
1627 #line 1242 "perly.y"
1628 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1632 #line 1246 "perly.y"
1633 { (yyval.opval) = (OP*)NULL; ;}
1637 #line 1248 "perly.y"
1638 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1642 #line 1252 "perly.y"
1643 { (yyval.opval) = (OP*)NULL; ;}
1647 #line 1254 "perly.y"
1648 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
1652 #line 1260 "perly.y"
1653 { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1657 #line 1277 "perly.y"
1658 { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
1662 #line 1281 "perly.y"
1663 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); ;}
1667 #line 1285 "perly.y"
1668 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1669 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
1674 #line 1291 "perly.y"
1675 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1676 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
1681 #line 1297 "perly.y"
1682 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); ;}
1686 #line 1299 "perly.y"
1687 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
1691 #line 1303 "perly.y"
1692 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); ;}
1696 #line 1308 "perly.y"
1697 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); ;}
1701 #line 1313 "perly.y"
1702 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); ;}
1706 #line 1318 "perly.y"
1707 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); ;}
1711 #line 1323 "perly.y"
1712 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1716 #line 1325 "perly.y"
1717 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1721 #line 1327 "perly.y"
1722 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
1726 #line 1330 "perly.y"
1727 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1731 /* Line 1267 of yacc.c. */
1737 * b1f32b9f6f7c53d22517de00b5b5bfe4dd9d657c8573b9ea9eab7a43e852850a perly.y
1738 * 3e1dff60f26df8933d7aed0c0e87177a0f022c14800c0707eb62a7db4196ac98 regen_perly.pl