diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2004-02-14 02:06:53 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2004-02-14 02:06:53 +0000 |
commit | 0de566d74fdaf0a49123989fe8d4ad06603c6608 (patch) | |
tree | a7e6f359c44eb372067a0f7567f1e4ef9953ae22 /perly.act | |
parent | 21d1ba01f501963c6f61499860ffc70a78ab21c0 (diff) | |
download | perl-0de566d74fdaf0a49123989fe8d4ad06603c6608.tar.gz |
Switch from byacc to bison and simplify the perly.* regeneration
process
p4raw-id: //depot/perl@22302
Diffstat (limited to 'perly.act')
-rw-r--r-- | perly.act | 1043 |
1 files changed, 1043 insertions, 0 deletions
diff --git a/perly.act b/perly.act new file mode 100644 index 0000000000..eafa340b95 --- /dev/null +++ b/perly.act @@ -0,0 +1,1043 @@ +case 2: +#line 88 "perly.y" + { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); ;} + break; + + case 3: +#line 93 "perly.y" + { if (PL_copline > (line_t)yyvsp[-3].ival) + PL_copline = (line_t)yyvsp[-3].ival; + yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); ;} + break; + + case 4: +#line 99 "perly.y" + { yyval.ival = block_start(TRUE); ;} + break; + + case 5: +#line 103 "perly.y" + { + PL_expect = XSTATE; yyval.ival = block_start(TRUE); + ;} + break; + + case 6: +#line 110 "perly.y" + { if (PL_copline > (line_t)yyvsp[-3].ival) + PL_copline = (line_t)yyvsp[-3].ival; + yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); ;} + break; + + case 7: +#line 116 "perly.y" + { yyval.ival = block_start(FALSE); ;} + break; + + case 8: +#line 121 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 9: +#line 123 "perly.y" + { yyval.opval = yyvsp[-1].opval; ;} + break; + + case 10: +#line 125 "perly.y" + { yyval.opval = append_list(OP_LINESEQ, + (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); + PL_pad_reset_pending = TRUE; + if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; ;} + break; + + case 11: +#line 133 "perly.y" + { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); ;} + break; + + case 13: +#line 136 "perly.y" + { if (yyvsp[-1].pval != Nullch) { + yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0)); + } + else { + yyval.opval = Nullop; + PL_copline = NOLINE; + } + PL_expect = XSTATE; ;} + break; + + case 14: +#line 145 "perly.y" + { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval); + PL_expect = XSTATE; ;} + break; + + case 15: +#line 151 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 16: +#line 153 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 17: +#line 155 "perly.y" + { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); ;} + break; + + case 18: +#line 157 "perly.y" + { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); ;} + break; + + case 19: +#line 159 "perly.y" + { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); ;} + break; + + case 20: +#line 161 "perly.y" + { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);;} + break; + + case 21: +#line 163 "perly.y" + { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival, + Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); ;} + break; + + case 22: +#line 169 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 23: +#line 171 "perly.y" + { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); ;} + break; + + case 24: +#line 173 "perly.y" + { PL_copline = (line_t)yyvsp[-5].ival; + yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); + PL_hints |= HINT_BLOCK_SCOPE; ;} + break; + + case 25: +#line 180 "perly.y" + { PL_copline = (line_t)yyvsp[-6].ival; + yyval.opval = block_end(yyvsp[-4].ival, + newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); ;} + break; + + case 26: +#line 184 "perly.y" + { PL_copline = (line_t)yyvsp[-6].ival; + yyval.opval = block_end(yyvsp[-4].ival, + newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); ;} + break; + + case 27: +#line 191 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 28: +#line 193 "perly.y" + { yyval.opval = scope(yyvsp[0].opval); ;} + break; + + case 29: +#line 198 "perly.y" + { PL_copline = (line_t)yyvsp[-6].ival; + yyval.opval = block_end(yyvsp[-4].ival, + newSTATEOP(0, yyvsp[-7].pval, + newWHILEOP(0, 1, (LOOP*)Nullop, + yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); ;} + break; + + case 30: +#line 204 "perly.y" + { PL_copline = (line_t)yyvsp[-6].ival; + yyval.opval = block_end(yyvsp[-4].ival, + newSTATEOP(0, yyvsp[-7].pval, + newWHILEOP(0, 1, (LOOP*)Nullop, + yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); ;} + break; + + case 31: +#line 210 "perly.y" + { yyval.opval = block_end(yyvsp[-6].ival, + newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); ;} + break; + + case 32: +#line 213 "perly.y" + { yyval.opval = block_end(yyvsp[-4].ival, + newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP), + yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); ;} + break; + + case 33: +#line 217 "perly.y" + { yyval.opval = block_end(yyvsp[-4].ival, + newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); ;} + break; + + case 34: +#line 221 "perly.y" + { OP *forop; + PL_copline = (line_t)yyvsp[-9].ival; + forop = newSTATEOP(0, yyvsp[-10].pval, + newWHILEOP(0, 1, (LOOP*)Nullop, + yyvsp[-9].ival, scalar(yyvsp[-4].opval), + yyvsp[0].opval, yyvsp[-2].opval)); + if (yyvsp[-6].opval) { + forop = append_elem(OP_LINESEQ, + newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch), + yyvsp[-6].opval), + forop); + } + + yyval.opval = block_end(yyvsp[-7].ival, forop); ;} + break; + + case 35: +#line 236 "perly.y" + { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, + newWHILEOP(0, 1, (LOOP*)Nullop, + NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); ;} + break; + + case 36: +#line 243 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 38: +#line 249 "perly.y" + { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; ;} + break; + + case 40: +#line 255 "perly.y" + { yyval.opval = invert(scalar(yyvsp[0].opval)); ;} + break; + + case 41: +#line 260 "perly.y" + { yyval.opval = yyvsp[0].opval; intro_my(); ;} + break; + + case 42: +#line 264 "perly.y" + { yyval.opval = yyvsp[0].opval; intro_my(); ;} + break; + + case 43: +#line 268 "perly.y" + { yyval.opval = yyvsp[0].opval; intro_my(); ;} + break; + + case 44: +#line 272 "perly.y" + { yyval.opval = yyvsp[0].opval; intro_my(); ;} + break; + + case 45: +#line 277 "perly.y" + { yyval.pval = Nullch; ;} + break; + + case 47: +#line 283 "perly.y" + { yyval.ival = 0; ;} + break; + + case 48: +#line 285 "perly.y" + { yyval.ival = 0; ;} + break; + + case 49: +#line 287 "perly.y" + { yyval.ival = 0; ;} + break; + + case 50: +#line 289 "perly.y" + { yyval.ival = 0; ;} + break; + + case 51: +#line 291 "perly.y" + { yyval.ival = 0; ;} + break; + + case 52: +#line 295 "perly.y" + { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); ;} + break; + + case 53: +#line 298 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 54: +#line 299 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 55: +#line 304 "perly.y" + { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); ;} + break; + + case 56: +#line 309 "perly.y" + { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); ;} + break; + + case 57: +#line 313 "perly.y" + { yyval.ival = start_subparse(FALSE, 0); ;} + break; + + case 58: +#line 317 "perly.y" + { yyval.ival = start_subparse(FALSE, CVf_ANON); ;} + break; + + case 59: +#line 321 "perly.y" + { yyval.ival = start_subparse(TRUE, 0); ;} + break; + + case 60: +#line 325 "perly.y" + { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a); + if (strEQ(name, "BEGIN") || strEQ(name, "END") + || strEQ(name, "INIT") || strEQ(name, "CHECK")) + CvSPECIAL_on(PL_compcv); + yyval.opval = yyvsp[0].opval; ;} + break; + + case 61: +#line 334 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 63: +#line 340 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 64: +#line 342 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 65: +#line 344 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 66: +#line 349 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 67: +#line 351 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 68: +#line 355 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 69: +#line 356 "perly.y" + { yyval.opval = Nullop; PL_expect = XSTATE; ;} + break; + + case 70: +#line 360 "perly.y" + { package(yyvsp[-1].opval); ;} + break; + + case 71: +#line 364 "perly.y" + { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} + break; + + case 72: +#line 366 "perly.y" + { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); ;} + break; + + case 73: +#line 371 "perly.y" + { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 74: +#line 373 "perly.y" + { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 75: +#line 375 "perly.y" + { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 77: +#line 381 "perly.y" + { yyval.opval = yyvsp[-1].opval; ;} + break; + + case 78: +#line 383 "perly.y" + { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 80: +#line 389 "perly.y" + { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED, + prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); ;} + break; + + case 81: +#line 392 "perly.y" + { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED, + prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); ;} + break; + + case 82: +#line 395 "perly.y" + { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, + prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval), + newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); ;} + break; + + case 83: +#line 400 "perly.y" + { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, scalar(yyvsp[-2].opval), + newUNOP(OP_METHOD, 0, yyvsp[0].opval))); ;} + break; + + case 84: +#line 404 "perly.y" + { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, + prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval), + newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); ;} + break; + + case 85: +#line 409 "perly.y" + { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, + prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval), + newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); ;} + break; + + case 86: +#line 414 "perly.y" + { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); ;} + break; + + case 87: +#line 416 "perly.y" + { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); ;} + break; + + case 88: +#line 418 "perly.y" + { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); ;} + break; + + case 89: +#line 420 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, + prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); ;} + break; + + case 92: +#line 434 "perly.y" + { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); + PL_expect = XOPERATOR; ;} + break; + + case 93: +#line 437 "perly.y" + { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); ;} + break; + + case 94: +#line 439 "perly.y" + { yyval.opval = newBINOP(OP_AELEM, 0, + ref(newAVREF(yyvsp[-4].opval),OP_RV2AV), + scalar(yyvsp[-1].opval));;} + break; + + case 95: +#line 443 "perly.y" + { yyval.opval = newBINOP(OP_AELEM, 0, + ref(newAVREF(yyvsp[-3].opval),OP_RV2AV), + scalar(yyvsp[-1].opval));;} + break; + + case 96: +#line 447 "perly.y" + { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval)); + PL_expect = XOPERATOR; ;} + break; + + case 97: +#line 450 "perly.y" + { yyval.opval = newBINOP(OP_HELEM, 0, + ref(newHVREF(yyvsp[-5].opval),OP_RV2HV), + jmaybe(yyvsp[-2].opval)); + PL_expect = XOPERATOR; ;} + break; + + case 98: +#line 455 "perly.y" + { yyval.opval = newBINOP(OP_HELEM, 0, + ref(newHVREF(yyvsp[-4].opval),OP_RV2HV), + jmaybe(yyvsp[-2].opval)); + PL_expect = XOPERATOR; ;} + break; + + case 99: +#line 460 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + newCVREF(0, scalar(yyvsp[-3].opval))); ;} + break; + + case 100: +#line 463 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, yyvsp[-1].opval, + newCVREF(0, scalar(yyvsp[-4].opval)))); ;} + break; + + case 101: +#line 468 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, yyvsp[-1].opval, + newCVREF(0, scalar(yyvsp[-3].opval)))); ;} + break; + + case 102: +#line 472 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + newCVREF(0, scalar(yyvsp[-2].opval))); ;} + break; + + case 103: +#line 478 "perly.y" + { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); ;} + break; + + case 104: +#line 480 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 105: +#line 482 "perly.y" + { if (yyvsp[-1].ival != OP_REPEAT) + scalar(yyvsp[-2].opval); + yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); ;} + break; + + case 106: +#line 486 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 107: +#line 488 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 108: +#line 490 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 109: +#line 492 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 110: +#line 494 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 111: +#line 496 "perly.y" + { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); ;} + break; + + case 112: +#line 498 "perly.y" + { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));;} + break; + + case 113: +#line 500 "perly.y" + { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 114: +#line 502 "perly.y" + { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 115: +#line 504 "perly.y" + { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 116: +#line 506 "perly.y" + { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 117: +#line 511 "perly.y" + { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); ;} + break; + + case 118: +#line 513 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 119: +#line 515 "perly.y" + { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); ;} + break; + + case 120: +#line 517 "perly.y" + { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));;} + break; + + case 121: +#line 519 "perly.y" + { yyval.opval = newUNOP(OP_POSTINC, 0, + mod(scalar(yyvsp[-1].opval), OP_POSTINC)); ;} + break; + + case 122: +#line 522 "perly.y" + { yyval.opval = newUNOP(OP_POSTDEC, 0, + mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); ;} + break; + + case 123: +#line 525 "perly.y" + { yyval.opval = newUNOP(OP_PREINC, 0, + mod(scalar(yyvsp[0].opval), OP_PREINC)); ;} + break; + + case 124: +#line 528 "perly.y" + { yyval.opval = newUNOP(OP_PREDEC, 0, + mod(scalar(yyvsp[0].opval), OP_PREDEC)); ;} + break; + + case 125: +#line 535 "perly.y" + { yyval.opval = newANONLIST(yyvsp[-1].opval); ;} + break; + + case 126: +#line 537 "perly.y" + { yyval.opval = newANONLIST(Nullop); ;} + break; + + case 127: +#line 539 "perly.y" + { yyval.opval = newANONHASH(yyvsp[-2].opval); ;} + break; + + case 128: +#line 541 "perly.y" + { yyval.opval = newANONHASH(Nullop); ;} + break; + + case 129: +#line 543 "perly.y" + { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); ;} + break; + + case 130: +#line 549 "perly.y" + { yyval.opval = dofile(yyvsp[0].opval); ;} + break; + + case 131: +#line 551 "perly.y" + { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); ;} + break; + + case 132: +#line 553 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, + OPf_SPECIAL|OPf_STACKED, + prepend_elem(OP_LIST, + scalar(newCVREF( + (OPpENTERSUB_AMPER<<8), + scalar(yyvsp[-2].opval) + )),Nullop)); dep();;} + break; + + case 133: +#line 561 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, + OPf_SPECIAL|OPf_STACKED, + append_elem(OP_LIST, + yyvsp[-1].opval, + scalar(newCVREF( + (OPpENTERSUB_AMPER<<8), + scalar(yyvsp[-3].opval) + )))); dep();;} + break; + + case 134: +#line 570 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, + prepend_elem(OP_LIST, + scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();;} + break; + + case 135: +#line 574 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, + prepend_elem(OP_LIST, + yyvsp[-1].opval, + scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();;} + break; + + case 140: +#line 586 "perly.y" + { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); ;} + break; + + case 141: +#line 588 "perly.y" + { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); ;} + break; + + case 142: +#line 590 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 143: +#line 592 "perly.y" + { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); ;} + break; + + case 144: +#line 594 "perly.y" + { yyval.opval = sawparens(yyvsp[-1].opval); ;} + break; + + case 145: +#line 596 "perly.y" + { yyval.opval = sawparens(newNULLLIST()); ;} + break; + + case 146: +#line 598 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 147: +#line 600 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 148: +#line 602 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 149: +#line 604 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 150: +#line 606 "perly.y" + { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));;} + break; + + case 151: +#line 608 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 152: +#line 610 "perly.y" + { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); ;} + break; + + case 153: +#line 612 "perly.y" + { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); ;} + break; + + case 154: +#line 614 "perly.y" + { yyval.opval = prepend_elem(OP_ASLICE, + newOP(OP_PUSHMARK, 0), + newLISTOP(OP_ASLICE, 0, + list(yyvsp[-1].opval), + ref(yyvsp[-3].opval, OP_ASLICE))); ;} + break; + + case 155: +#line 620 "perly.y" + { yyval.opval = prepend_elem(OP_HSLICE, + newOP(OP_PUSHMARK, 0), + newLISTOP(OP_HSLICE, 0, + list(yyvsp[-2].opval), + ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))); + PL_expect = XOPERATOR; ;} + break; + + case 156: +#line 627 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 157: +#line 629 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); ;} + break; + + case 158: +#line 631 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); ;} + break; + + case 159: +#line 633 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); ;} + break; + + case 160: +#line 636 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); ;} + break; + + case 161: +#line 639 "perly.y" + { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); + PL_hints |= HINT_BLOCK_SCOPE; ;} + break; + + case 162: +#line 642 "perly.y" + { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); ;} + break; + + case 163: +#line 644 "perly.y" + { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); ;} + break; + + case 164: +#line 646 "perly.y" + { yyval.opval = newOP(yyvsp[0].ival, 0); ;} + break; + + case 165: +#line 648 "perly.y" + { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); ;} + break; + + case 166: +#line 650 "perly.y" + { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); ;} + break; + + case 167: +#line 652 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); ;} + break; + + case 168: +#line 655 "perly.y" + { yyval.opval = newOP(yyvsp[0].ival, 0); ;} + break; + + case 169: +#line 657 "perly.y" + { yyval.opval = newOP(yyvsp[-2].ival, 0); ;} + break; + + case 170: +#line 659 "perly.y" + { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, + scalar(yyvsp[0].opval)); ;} + break; + + case 171: +#line 662 "perly.y" + { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); ;} + break; + + case 172: +#line 664 "perly.y" + { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); ;} + break; + + case 173: +#line 666 "perly.y" + { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); ;} + break; + + case 174: +#line 668 "perly.y" + { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); ;} + break; + + case 177: +#line 675 "perly.y" + { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); ;} + break; + + case 178: +#line 677 "perly.y" + { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); ;} + break; + + case 179: +#line 682 "perly.y" + { yyval.opval = sawparens(yyvsp[-1].opval); ;} + break; + + case 180: +#line 684 "perly.y" + { yyval.opval = sawparens(newNULLLIST()); ;} + break; + + case 181: +#line 686 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 182: +#line 688 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 183: +#line 690 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 184: +#line 695 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 185: +#line 697 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 186: +#line 701 "perly.y" + { yyval.opval = Nullop; ;} + break; + + case 187: +#line 703 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + case 188: +#line 705 "perly.y" + { yyval.opval = yyvsp[-1].opval; ;} + break; + + case 189: +#line 711 "perly.y" + { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); ;} + break; + + case 190: +#line 715 "perly.y" + { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); ;} + break; + + case 191: +#line 719 "perly.y" + { yyval.opval = newSVREF(yyvsp[0].opval); ;} + break; + + case 192: +#line 723 "perly.y" + { yyval.opval = newAVREF(yyvsp[0].opval); ;} + break; + + case 193: +#line 727 "perly.y" + { yyval.opval = newHVREF(yyvsp[0].opval); ;} + break; + + case 194: +#line 731 "perly.y" + { yyval.opval = newAVREF(yyvsp[0].opval); ;} + break; + + case 195: +#line 735 "perly.y" + { yyval.opval = newGVREF(0,yyvsp[0].opval); ;} + break; + + case 196: +#line 740 "perly.y" + { yyval.opval = scalar(yyvsp[0].opval); ;} + break; + + case 197: +#line 742 "perly.y" + { yyval.opval = scalar(yyvsp[0].opval); ;} + break; + + case 198: +#line 744 "perly.y" + { yyval.opval = scope(yyvsp[0].opval); ;} + break; + + case 199: +#line 747 "perly.y" + { yyval.opval = yyvsp[0].opval; ;} + break; + + + |