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 { (yyval.opval) = (OP*)NULL; ;}
712 { (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->expect = XSIGVAR; (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
830 { parser->expect = XSIGVAR; (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->expect = XSIGVAR;
877 OP *sigops = (ps[(3) - (4)].val.opval);
881 assert(FEATURE_SIGNATURES_IS_ENABLED);
883 /* We shouldn't get here otherwise */
884 Perl_ck_warner_d(aTHX_
885 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
886 "The signatures feature is experimental");
888 aux = (UNOP_AUX_item*)PerlMemShared_malloc(
889 sizeof(UNOP_AUX_item) * 3);
890 aux[0].iv = parser->sig_elems;
891 aux[1].iv = parser->sig_optelems;
892 aux[2].iv = parser->sig_slurpy;
893 check = newUNOP_AUX(OP_ARGCHECK, 0, NULL, aux);
894 sigops = op_prepend_elem(OP_LINESEQ, check, sigops);
895 sigops = op_prepend_elem(OP_LINESEQ,
896 newSTATEOP(0, NULL, NULL),
898 /* a nextstate at the end handles context
899 * correctly for an empty sub body */
900 (yyval.opval) = op_append_elem(OP_LINESEQ,
902 newSTATEOP(0, NULL, NULL));
904 parser->expect = XATTRBLOCK;
911 { (yyval.opval) = (OP*)NULL; ;}
916 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
921 { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
926 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
931 { (yyval.opval) = (ps[(1) - (2)].val.opval); ;}
937 OP* term = (ps[(3) - (3)].val.opval);
938 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
944 { (yyval.opval) = op_convert_list((ps[(1) - (3)].val.ival), OPf_STACKED,
945 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
951 { (yyval.opval) = op_convert_list((ps[(1) - (5)].val.ival), OPf_STACKED,
952 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
958 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
959 op_append_elem(OP_LIST,
960 op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
961 newMETHOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
967 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
968 op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
969 newMETHOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
975 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
976 op_append_elem(OP_LIST,
977 op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
978 newMETHOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
984 { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
985 op_append_elem(OP_LIST,
986 op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
987 newMETHOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
993 { (yyval.opval) = op_convert_list((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
998 { (yyval.opval) = op_convert_list((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
1003 { SvREFCNT_inc_simple_void(PL_compcv);
1004 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
1009 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1010 op_append_elem(OP_LIST,
1011 op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
1017 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); ;}
1022 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
1028 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1029 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
1030 scalar((ps[(4) - (5)].val.opval)));
1036 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1037 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
1038 scalar((ps[(3) - (4)].val.opval)));
1044 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
1050 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1051 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
1052 jmaybe((ps[(4) - (6)].val.opval))); ;}
1057 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1058 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
1059 jmaybe((ps[(3) - (5)].val.opval))); ;}
1064 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1065 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); ;}
1070 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1071 op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
1072 newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); ;}
1077 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1078 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
1079 newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); ;}
1084 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1085 newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); ;}
1090 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); ;}
1095 { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); ;}
1100 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); ;}
1105 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); ;}
1110 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1115 { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
1116 scalar((ps[(1) - (3)].val.opval));
1117 (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
1123 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1128 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1133 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1138 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1143 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1148 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1153 { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
1158 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1163 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1168 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1173 { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
1178 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1183 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
1188 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1193 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, scalar((ps[(2) - (2)].val.opval))); ;}
1198 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1199 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); ;}
1204 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1205 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));;}
1209 #line 1001 "perly.y"
1210 { (yyval.opval) = op_convert_list(OP_JOIN, 0,
1217 (ps[(1) - (2)].val.opval)
1223 #line 1012 "perly.y"
1224 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1225 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); ;}
1229 #line 1015 "perly.y"
1230 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1231 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); ;}
1235 #line 1022 "perly.y"
1236 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); ;}
1240 #line 1024 "perly.y"
1241 { (yyval.opval) = newANONLIST((OP*)NULL);;}
1245 #line 1026 "perly.y"
1246 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); ;}
1250 #line 1028 "perly.y"
1251 { (yyval.opval) = newANONHASH((OP*)NULL); ;}
1255 #line 1030 "perly.y"
1256 { SvREFCNT_inc_simple_void(PL_compcv);
1257 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); ;}
1261 #line 1033 "perly.y"
1264 if (parser->copline > (line_t)(ps[(6) - (8)].val.ival))
1265 parser->copline = (line_t)(ps[(6) - (8)].val.ival);
1266 body = block_end((ps[(3) - (8)].val.ival),
1267 op_append_list(OP_LINESEQ, (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval)));
1268 SvREFCNT_inc_simple_void(PL_compcv);
1269 (yyval.opval) = newANONATTRSUB((ps[(2) - (8)].val.ival), NULL, (ps[(5) - (8)].val.opval), body);
1274 #line 1047 "perly.y"
1275 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));;}
1279 #line 1049 "perly.y"
1280 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));;}
1284 #line 1057 "perly.y"
1285 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); ;}
1289 #line 1059 "perly.y"
1290 { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[(2) - (2)].val.opval)); ;}
1294 #line 1061 "perly.y"
1295 { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[(3) - (3)].val.opval),1)); ;}
1299 #line 1063 "perly.y"
1300 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1304 #line 1065 "perly.y"
1305 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),0); ;}
1309 #line 1067 "perly.y"
1310 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
1314 #line 1069 "perly.y"
1315 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1319 #line 1071 "perly.y"
1320 { (yyval.opval) = sawparens(newNULLLIST()); ;}
1324 #line 1073 "perly.y"
1325 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1329 #line 1075 "perly.y"
1330 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1334 #line 1077 "perly.y"
1335 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1339 #line 1079 "perly.y"
1340 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1344 #line 1081 "perly.y"
1345 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
1349 #line 1083 "perly.y"
1350 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1354 #line 1085 "perly.y"
1355 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
1356 newOP(OP_PUSHMARK, 0),
1357 newLISTOP(OP_ASLICE, 0,
1358 list((ps[(3) - (4)].val.opval)),
1359 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1360 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1361 (yyval.opval)->op_private |=
1362 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1367 #line 1095 "perly.y"
1368 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1369 newOP(OP_PUSHMARK, 0),
1370 newLISTOP(OP_KVASLICE, 0,
1371 list((ps[(3) - (4)].val.opval)),
1372 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
1373 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1374 (yyval.opval)->op_private |=
1375 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1380 #line 1105 "perly.y"
1381 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
1382 newOP(OP_PUSHMARK, 0),
1383 newLISTOP(OP_HSLICE, 0,
1384 list((ps[(3) - (5)].val.opval)),
1385 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
1386 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1387 (yyval.opval)->op_private |=
1388 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
1393 #line 1115 "perly.y"
1394 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1395 newOP(OP_PUSHMARK, 0),
1396 newLISTOP(OP_KVHSLICE, 0,
1397 list((ps[(3) - (5)].val.opval)),
1398 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
1399 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1400 (yyval.opval)->op_private |=
1401 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
1406 #line 1125 "perly.y"
1407 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1411 #line 1127 "perly.y"
1412 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
1416 #line 1129 "perly.y"
1417 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1422 #line 1132 "perly.y"
1424 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1425 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
1430 #line 1137 "perly.y"
1431 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1432 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1437 #line 1141 "perly.y"
1438 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); ;}
1442 #line 1143 "perly.y"
1443 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
1447 #line 1145 "perly.y"
1448 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); ;}
1452 #line 1147 "perly.y"
1453 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1454 scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); ;}
1458 #line 1150 "perly.y"
1459 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); ;}
1463 #line 1152 "perly.y"
1464 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
1465 PL_hints |= HINT_BLOCK_SCOPE; ;}
1469 #line 1155 "perly.y"
1470 { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
1474 #line 1157 "perly.y"
1475 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
1479 #line 1159 "perly.y"
1480 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
1484 #line 1161 "perly.y"
1485 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
1489 #line 1163 "perly.y"
1490 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
1494 #line 1165 "perly.y"
1495 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); ;}
1499 #line 1167 "perly.y"
1500 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); ;}
1504 #line 1169 "perly.y"
1505 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1509 #line 1171 "perly.y"
1510 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1511 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
1515 #line 1174 "perly.y"
1516 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
1520 #line 1176 "perly.y"
1521 { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);;}
1525 #line 1178 "perly.y"
1526 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1530 #line 1180 "perly.y"
1531 { (yyval.opval) = (ps[(1) - (3)].val.opval); ;}
1535 #line 1182 "perly.y"
1536 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1540 #line 1184 "perly.y"
1541 { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
1542 ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1543 : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); ;}
1547 #line 1188 "perly.y"
1548 { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
1552 #line 1190 "perly.y"
1554 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1555 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1556 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1558 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1559 SAVEFREESV(PL_compcv);
1566 #line 1201 "perly.y"
1567 { (yyval.opval) = pmruntime((ps[(1) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), 1, (ps[(2) - (6)].val.ival)); ;}
1571 #line 1205 "perly.y"
1573 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1574 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
1579 #line 1214 "perly.y"
1580 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); ;}
1584 #line 1216 "perly.y"
1585 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),1); ;}
1589 #line 1218 "perly.y"
1590 { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[(3) - (4)].val.opval),(ps[(4) - (4)].val.opval))); ;}
1594 #line 1223 "perly.y"
1595 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
1599 #line 1225 "perly.y"
1600 { (yyval.opval) = sawparens(newNULLLIST()); ;}
1604 #line 1228 "perly.y"
1605 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1609 #line 1230 "perly.y"
1610 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1614 #line 1232 "perly.y"
1615 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1619 #line 1237 "perly.y"
1620 { (yyval.opval) = (OP*)NULL; ;}
1624 #line 1239 "perly.y"
1625 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1629 #line 1243 "perly.y"
1630 { (yyval.opval) = (OP*)NULL; ;}
1634 #line 1245 "perly.y"
1635 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1639 #line 1249 "perly.y"
1640 { (yyval.opval) = (OP*)NULL; ;}
1644 #line 1251 "perly.y"
1645 { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
1649 #line 1257 "perly.y"
1650 { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1654 #line 1274 "perly.y"
1655 { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
1659 #line 1278 "perly.y"
1660 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); ;}
1664 #line 1282 "perly.y"
1665 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1666 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
1671 #line 1288 "perly.y"
1672 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1673 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
1678 #line 1294 "perly.y"
1679 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); ;}
1683 #line 1296 "perly.y"
1684 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
1688 #line 1300 "perly.y"
1689 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); ;}
1693 #line 1305 "perly.y"
1694 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); ;}
1698 #line 1310 "perly.y"
1699 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); ;}
1703 #line 1315 "perly.y"
1704 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); ;}
1708 #line 1320 "perly.y"
1709 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1713 #line 1322 "perly.y"
1714 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1718 #line 1324 "perly.y"
1719 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
1723 #line 1327 "perly.y"
1724 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1728 /* Line 1267 of yacc.c. */
1734 * a9693ac90aafd6114d4c5413f46dba1d4488b62feb193e6d1cf11e77e9b25088 perly.y
1735 * 3e1dff60f26df8933d7aed0c0e87177a0f022c14800c0707eb62a7db4196ac98 regen_perly.pl