diff options
Diffstat (limited to 'madly.act')
-rw-r--r-- | madly.act | 1514 |
1 files changed, 0 insertions, 1514 deletions
diff --git a/madly.act b/madly.act deleted file mode 100644 index 319ce77642..0000000000 --- a/madly.act +++ /dev/null @@ -1,1514 +0,0 @@ -case 2: -#line 102 "madly.y" - { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;} - break; - - case 3: -#line 107 "madly.y" - { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival) - PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival; - (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 4: -#line 116 "madly.y" - { (yyval.ival) = block_start(TRUE); ;} - break; - - case 5: -#line 120 "madly.y" - { (yyval.ival) = (I32) allocmy("$_"); ;} - break; - - case 6: -#line 124 "madly.y" - { - PL_expect = XSTATE; (yyval.ival) = block_start(TRUE); - ;} - break; - - case 7: -#line 131 "madly.y" - { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival) - PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival; - (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 8: -#line 140 "madly.y" - { (yyval.ival) = block_start(FALSE); ;} - break; - - case 9: -#line 144 "madly.y" - { (yyval.ival) = PL_savestack_ix; ;} - break; - - case 10: -#line 148 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 11: -#line 151 "madly.y" - { (yyval.opval) = append_list(OP_LINESEQ, - (LISTOP*)(yyvsp[-1].opval), (LISTOP*)(yyvsp[0].opval)); ;} - break; - - case 12: -#line 154 "madly.y" - { LEAVE_SCOPE((yyvsp[-1].ival)); - (yyval.opval) = append_list(OP_LINESEQ, - (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval)); - PL_pad_reset_pending = TRUE; - if ((yyvsp[-2].opval) && (yyvsp[0].opval)) PL_hints |= HINT_BLOCK_SCOPE; ;} - break; - - case 13: -#line 163 "madly.y" - { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;} - break; - - case 15: -#line 167 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 16: -#line 169 "madly.y" - { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval)); ;} - break; - - case 17: -#line 171 "madly.y" - { - if (((yyvsp[-1].tkval))->tk_lval.pval) { - (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, newOP(OP_NULL, 0)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'L'); - token_getmad((yyvsp[0].tkval),((LISTOP*)(yyval.opval))->op_first,';'); - } - else { - (yyval.opval) = newOP(OP_NULL, 0); - PL_copline = NOLINE; - token_free((yyvsp[-1].tkval)); - token_getmad((yyvsp[0].tkval),(yyval.opval),';'); - } - PL_expect = XSTATE; - ;} - break; - - case 18: -#line 186 "madly.y" - { OP* op; - (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval, (yyvsp[-1].opval)); - PL_expect = XSTATE; - /* sideff might already have a nexstate */ - op = ((LISTOP*)(yyval.opval))->op_first; - if (op) { - while (op->op_sibling && - op->op_sibling->op_type == OP_NEXTSTATE) - op = op->op_sibling; - token_getmad((yyvsp[-2].tkval),op,'L'); - token_getmad((yyvsp[0].tkval),op,';'); - } - ;} - break; - - case 19: -#line 203 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 20: -#line 205 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 21: -#line 207 "madly.y" - { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'i'); - ;} - break; - - case 22: -#line 211 "madly.y" - { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'i'); - ;} - break; - - case 23: -#line 215 "madly.y" - { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'w'); - ;} - break; - - case 24: -#line 219 "madly.y" - { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'w'); - ;} - break; - - case 25: -#line 223 "madly.y" - { (yyval.opval) = newFOROP(0, Nullch, (line_t)((yyvsp[-1].tkval))->tk_lval.ival, - Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop); - token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w'); - ;} - break; - - case 26: -#line 231 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 27: -#line 233 "madly.y" - { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 28: -#line 237 "madly.y" - { PL_copline = (line_t)((yyvsp[-5].tkval))->tk_lval.ival; - (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)); - PL_hints |= HINT_BLOCK_SCOPE; - token_getmad((yyvsp[-5].tkval),(yyval.opval),'I'); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'('); - token_getmad((yyvsp[-2].tkval),(yyval.opval),')'); - ;} - break; - - case 29: -#line 248 "madly.y" - { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival; - (yyval.opval) = block_end((yyvsp[-4].ival), - newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); - token_getmad((yyvsp[-6].tkval),(yyval.opval),'I'); - token_getmad((yyvsp[-5].tkval),(yyval.opval),'('); - token_getmad((yyvsp[-2].tkval),(yyval.opval),')'); - ;} - break; - - case 30: -#line 256 "madly.y" - { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival; - (yyval.opval) = block_end((yyvsp[-4].ival), - newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); - token_getmad((yyvsp[-6].tkval),(yyval.opval),'I'); - token_getmad((yyvsp[-5].tkval),(yyval.opval),'('); - token_getmad((yyvsp[-2].tkval),(yyval.opval),')'); - ;} - break; - - case 31: -#line 267 "madly.y" - { (yyval.opval) = block_end((yyvsp[-3].ival), - newWHENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)))); ;} - break; - - case 32: -#line 270 "madly.y" - { (yyval.opval) = newWHENOP(0, scope((yyvsp[0].opval))); ;} - break; - - case 33: -#line 275 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 34: -#line 277 "madly.y" - { (yyval.opval) = scope((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 35: -#line 284 "madly.y" - { OP *innerop; - PL_copline = (line_t)(yyvsp[-7].tkval); - (yyval.opval) = block_end((yyvsp[-5].ival), - newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval, - innerop = newWHILEOP(0, 1, (LOOP*)Nullop, - ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival)))); - token_getmad((yyvsp[-8].tkval),innerop,'L'); - token_getmad((yyvsp[-7].tkval),innerop,'W'); - token_getmad((yyvsp[-6].tkval),innerop,'('); - token_getmad((yyvsp[-3].tkval),innerop,')'); - ;} - break; - - case 36: -#line 297 "madly.y" - { OP *innerop; - PL_copline = (line_t)(yyvsp[-7].tkval); - (yyval.opval) = block_end((yyvsp[-5].ival), - newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval, - newWHILEOP(0, 1, (LOOP*)Nullop, - ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival)))); - token_getmad((yyvsp[-8].tkval),innerop,'L'); - token_getmad((yyvsp[-7].tkval),innerop,'W'); - token_getmad((yyvsp[-6].tkval),innerop,'('); - token_getmad((yyvsp[-3].tkval),innerop,')'); - ;} - break; - - case 37: -#line 309 "madly.y" - { OP *innerop; - (yyval.opval) = block_end((yyvsp[-6].ival), - innerop = newFOROP(0, ((yyvsp[-9].tkval))->tk_lval.pval, (line_t)((yyvsp[-8].tkval))->tk_lval.ival, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); - token_getmad((yyvsp[-9].tkval),((LISTOP*)innerop)->op_first,'L'); - token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W'); - token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'d'); - token_getmad((yyvsp[-4].tkval),((LISTOP*)innerop)->op_first->op_sibling,'('); - token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')'); - ;} - break; - - case 38: -#line 319 "madly.y" - { OP *innerop; - (yyval.opval) = block_end((yyvsp[-4].ival), - innerop = newFOROP(0, ((yyvsp[-8].tkval))->tk_lval.pval, (line_t)((yyvsp[-7].tkval))->tk_lval.ival, mod((yyvsp[-6].opval), OP_ENTERLOOP), - (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); - token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first,'L'); - token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W'); - token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'('); - token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')'); - ;} - break; - - case 39: -#line 329 "madly.y" - { OP *innerop; - (yyval.opval) = block_end((yyvsp[-4].ival), - innerop = newFOROP(0, ((yyvsp[-7].tkval))->tk_lval.pval, (line_t)((yyvsp[-6].tkval))->tk_lval.ival, Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); - token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first,'L'); - token_getmad((yyvsp[-6].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W'); - token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'('); - token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')'); - ;} - break; - - case 40: -#line 340 "madly.y" - { OP *forop; - PL_copline = (line_t)((yyvsp[-10].tkval))->tk_lval.ival; - forop = newSTATEOP(0, ((yyvsp[-11].tkval))->tk_lval.pval, - newWHILEOP(0, 1, (LOOP*)Nullop, - ((yyvsp[-10].tkval))->tk_lval.ival, scalar((yyvsp[-5].opval)), - (yyvsp[0].opval), (yyvsp[-2].opval), (yyvsp[-3].ival))); - if (!(yyvsp[-7].opval)) - (yyvsp[-7].opval) = newOP(OP_NULL, 0); - forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ, - newSTATEOP(0, - (((yyvsp[-11].tkval))->tk_lval.pval - ?savepv(((yyvsp[-11].tkval))->tk_lval.pval):Nullch), - (yyvsp[-7].opval)), - forop)); - - token_getmad((yyvsp[-10].tkval),forop,'3'); - token_getmad((yyvsp[-9].tkval),forop,'('); - token_getmad((yyvsp[-6].tkval),forop,'1'); - token_getmad((yyvsp[-4].tkval),forop,'2'); - token_getmad((yyvsp[-1].tkval),forop,')'); - token_getmad((yyvsp[-11].tkval),forop,'L'); - (yyval.opval) = block_end((yyvsp[-8].ival), forop); ;} - break; - - case 41: -#line 363 "madly.y" - { (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval, - newWHILEOP(0, 1, (LOOP*)Nullop, - NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval), 0)); - token_getmad((yyvsp[-2].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;} - break; - - case 42: -#line 371 "madly.y" - { PL_copline = (line_t) (yyvsp[-6].tkval); - (yyval.opval) = block_end((yyvsp[-4].ival), - newSTATEOP(0, ((yyvsp[-7].tkval))->tk_lval.pval, - newGIVENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)), - (PADOFFSET) (yyvsp[-3].ival)) )); ;} - break; - - case 43: -#line 380 "madly.y" - { (yyval.ival) = (PL_min_intro_pending && - PL_max_intro_pending >= PL_min_intro_pending); - intro_my(); ;} - break; - - case 44: -#line 386 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 46: -#line 392 "madly.y" - { YYSTYPE tmplval; - (void)scan_num("1", &tmplval); - (yyval.opval) = tmplval.opval; ;} - break; - - case 48: -#line 400 "madly.y" - { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;} - break; - - case 49: -#line 405 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} - break; - - case 50: -#line 409 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} - break; - - case 51: -#line 413 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} - break; - - case 52: -#line 418 "madly.y" - { YYSTYPE tmplval; - tmplval.pval = Nullch; - (yyval.tkval) = newTOKEN(OP_NULL, tmplval, 0); ;} - break; - - case 54: -#line 426 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 55: -#line 428 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 56: -#line 430 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 57: -#line 432 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 58: -#line 434 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 59: -#line 436 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 60: -#line 440 "madly.y" - { (yyval.opval) = newOP(OP_NULL,0); - token_getmad((yyvsp[0].tkval),(yyval.opval),'p'); - ;} - break; - - case 61: -#line 446 "madly.y" - { SvREFCNT_inc(PL_compcv); - (yyval.opval) = newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval)); - prepend_madprops((yyvsp[-3].tkval)->tk_mad, (yyval.opval), 'F'); - (yyvsp[-3].tkval)->tk_mad = 0; - token_free((yyvsp[-3].tkval)); - ;} - break; - - case 62: -#line 454 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 63: -#line 455 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 64: -#line 460 "madly.y" - { SvREFCNT_inc(PL_compcv); - (yyval.opval) = newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-5].tkval),(yyval.opval),'d'); - ;} - break; - - case 65: -#line 468 "madly.y" - { SvREFCNT_inc(PL_compcv); - OP* o = newSVOP(OP_ANONCODE, 0, - (SV*)newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); - (yyval.opval) = newOP(OP_NULL,0); - op_getmad(o,(yyval.opval),'&'); - op_getmad((yyvsp[-3].opval),(yyval.opval),'n'); - op_getmad((yyvsp[-2].opval),(yyval.opval),'s'); - op_getmad((yyvsp[-1].opval),(yyval.opval),'a'); - token_getmad((yyvsp[-5].tkval),(yyval.opval),'d'); - append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 0); - (yyvsp[0].opval)->op_madprop = 0; - ;} - break; - - case 66: -#line 483 "madly.y" - { (yyval.ival) = start_subparse(FALSE, 0); - SAVEFREESV(PL_compcv); ;} - break; - - case 67: -#line 489 "madly.y" - { (yyval.ival) = start_subparse(FALSE, CVf_ANON); - SAVEFREESV(PL_compcv); ;} - break; - - case 68: -#line 494 "madly.y" - { (yyval.ival) = start_subparse(TRUE, 0); - SAVEFREESV(PL_compcv); ;} - break; - - case 69: -#line 499 "madly.y" - { const char *const name = SvPV_nolen_const(((SVOP*)(yyvsp[0].opval))->op_sv); - if (strEQ(name, "BEGIN") || strEQ(name, "END") - || strEQ(name, "INIT") || strEQ(name, "CHECK") - || strEQ(name, "UNITCHECK")) - CvSPECIAL_on(PL_compcv); - (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 70: -#line 509 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 72: -#line 515 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 73: -#line 517 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); - token_getmad((yyvsp[-1].tkval),(yyval.opval),':'); - ;} - break; - - case 74: -#line 521 "madly.y" - { (yyval.opval) = newOP(OP_NULL, 0); - token_getmad((yyvsp[0].tkval),(yyval.opval),':'); - ;} - break; - - case 75: -#line 528 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); - token_getmad((yyvsp[-1].tkval),(yyval.opval),':'); - ;} - break; - - case 76: -#line 532 "madly.y" - { (yyval.opval) = newOP(OP_NULL, 0); - token_getmad((yyvsp[0].tkval),(yyval.opval),':'); - ;} - break; - - case 77: -#line 538 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 78: -#line 539 "madly.y" - { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE; - token_getmad((yyvsp[0].tkval),(yyval.opval),';'); - ;} - break; - - case 79: -#line 545 "madly.y" - { (yyval.opval) = package((yyvsp[-1].opval)); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[0].tkval),(yyval.opval),';'); - ;} - break; - - case 80: -#line 552 "madly.y" - { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} - break; - - case 81: -#line 554 "madly.y" - { SvREFCNT_inc(PL_compcv); - (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval)); - token_getmad((yyvsp[-6].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[0].tkval),(yyval.opval),';'); - if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0) - append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0); - ;} - break; - - case 82: -#line 565 "madly.y" - { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 83: -#line 569 "madly.y" - { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 84: -#line 573 "madly.y" - { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 86: -#line 581 "madly.y" - { OP* op = newNULLLIST(); - token_getmad((yyvsp[0].tkval),op,','); - (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op); - ;} - break; - - case 87: -#line 586 "madly.y" - { - (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),','); - (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)); - ;} - break; - - case 89: -#line 596 "madly.y" - { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED, - prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) ); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'o'); - ;} - break; - - case 90: -#line 601 "madly.y" - { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED, - prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) ); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 91: -#line 608 "madly.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)))); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'A'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 92: -#line 617 "madly.y" - { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, scalar((yyvsp[-2].opval)), - newUNOP(OP_METHOD, 0, (yyvsp[0].opval)))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'A'); - ;} - break; - - case 93: -#line 623 "madly.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 94: -#line 629 "madly.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)))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 95: -#line 637 "madly.y" - { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 96: -#line 641 "madly.y" - { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 97: -#line 647 "madly.y" - { SvREFCNT_inc(PL_compcv); - (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;} - break; - - case 98: -#line 650 "madly.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 101: -#line 665 "madly.y" - { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval))); - PL_expect = XOPERATOR; - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 102: -#line 672 "madly.y" - { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 103: -#line 677 "madly.y" - { (yyval.opval) = newBINOP(OP_AELEM, 0, - ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV), - scalar((yyvsp[-1].opval))); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'a'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 104: -#line 685 "madly.y" - { (yyval.opval) = newBINOP(OP_AELEM, 0, - ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV), - scalar((yyvsp[-1].opval))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 105: -#line 692 "madly.y" - { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval))); - PL_expect = XOPERATOR; - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 106: -#line 699 "madly.y" - { (yyval.opval) = newBINOP(OP_HELEM, 0, - ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV), - jmaybe((yyvsp[-2].opval))); - PL_expect = XOPERATOR; - token_getmad((yyvsp[-4].tkval),(yyval.opval),'a'); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 107: -#line 709 "madly.y" - { (yyval.opval) = newBINOP(OP_HELEM, 0, - ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV), - jmaybe((yyvsp[-2].opval))); - PL_expect = XOPERATOR; - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 108: -#line 718 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - newCVREF(0, scalar((yyvsp[-3].opval)))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'a'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 109: -#line 725 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, (yyvsp[-1].opval), - newCVREF(0, scalar((yyvsp[-4].opval))))); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'a'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 110: -#line 734 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, (yyvsp[-1].opval), - newCVREF(0, scalar((yyvsp[-3].opval))))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 111: -#line 741 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - newCVREF(0, scalar((yyvsp[-2].opval)))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 112: -#line 747 "madly.y" - { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval)); - token_getmad((yyvsp[-5].tkval),(yyval.opval),'('); - token_getmad((yyvsp[-3].tkval),(yyval.opval),')'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 113: -#line 754 "madly.y" - { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'('); - token_getmad((yyvsp[-3].tkval),(yyval.opval),')'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 114: -#line 764 "madly.y" - { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 115: -#line 768 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 116: -#line 772 "madly.y" - { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT) - scalar((yyvsp[-2].opval)); - (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 117: -#line 778 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 118: -#line 782 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 119: -#line 786 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 120: -#line 790 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 121: -#line 794 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 122: -#line 798 "madly.y" - { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 123: -#line 802 "madly.y" - { UNOP *op; - (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); - op = (UNOP*)(yyval.opval); - op = (UNOP*)op->op_first; /* get to flop */ - op = (UNOP*)op->op_first; /* get to flip */ - op = (UNOP*)op->op_first; /* get to range */ - token_getmad((yyvsp[-1].tkval),(OP*)op,'o'); - ;} - break; - - case 124: -#line 811 "madly.y" - { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 125: -#line 815 "madly.y" - { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 126: -#line 819 "madly.y" - { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 127: -#line 823 "madly.y" - { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval)); - if ((yyval.opval)->op_type == OP_NOT) - token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~'); - else - token_getmad((yyvsp[-1].tkval),(yyval.opval),'~'); - ;} - break; - - case 128: -#line 833 "madly.y" - { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 129: -#line 837 "madly.y" - { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'+'); - ;} - break; - - case 130: -#line 841 "madly.y" - { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 131: -#line 845 "madly.y" - { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 132: -#line 849 "madly.y" - { (yyval.opval) = newUNOP(OP_POSTINC, 0, - mod(scalar((yyvsp[-1].opval)), OP_POSTINC)); - token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); - ;} - break; - - case 133: -#line 854 "madly.y" - { (yyval.opval) = newUNOP(OP_POSTDEC, 0, - mod(scalar((yyvsp[-1].opval)), OP_POSTDEC)); - token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); - ;} - break; - - case 134: -#line 859 "madly.y" - { (yyval.opval) = newUNOP(OP_PREINC, 0, - mod(scalar((yyvsp[0].opval)), OP_PREINC)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 135: -#line 864 "madly.y" - { (yyval.opval) = newUNOP(OP_PREDEC, 0, - mod(scalar((yyvsp[0].opval)), OP_PREDEC)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 136: -#line 873 "madly.y" - { (yyval.opval) = newANONLIST((yyvsp[-1].opval)); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 137: -#line 878 "madly.y" - { (yyval.opval) = newANONLIST(Nullop); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 138: -#line 883 "madly.y" - { (yyval.opval) = newANONHASH((yyvsp[-2].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 139: -#line 889 "madly.y" - { (yyval.opval) = newANONHASH(Nullop); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 140: -#line 895 "madly.y" - { SvREFCNT_inc(PL_compcv); - (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'o'); - op_getmad((yyvsp[-2].opval),(yyval.opval),'s'); - op_getmad((yyvsp[-1].opval),(yyval.opval),'a'); - ;} - break; - - case 141: -#line 906 "madly.y" - { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 142: -#line 910 "madly.y" - { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'D'); - ;} - break; - - case 143: -#line 914 "madly.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(); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 144: -#line 926 "madly.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(); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 145: -#line 939 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, - prepend_elem(OP_LIST, - scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep(); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 146: -#line 947 "madly.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(); - token_getmad((yyvsp[-4].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 151: -#line 963 "madly.y" - { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'?'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),':'); - ;} - break; - - case 152: -#line 968 "madly.y" - { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 153: -#line 972 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 154: -#line 974 "madly.y" - { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'d'); - ;} - break; - - case 155: -#line 978 "madly.y" - { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 156: -#line 983 "madly.y" - { (yyval.opval) = sawparens(newNULLLIST()); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 157: -#line 988 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 158: -#line 990 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 159: -#line 992 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 160: -#line 994 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 161: -#line 996 "madly.y" - { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;} - break; - - case 162: -#line 998 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 163: -#line 1000 "madly.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))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'['); - token_getmad((yyvsp[0].tkval),(yyval.opval),']'); - ;} - break; - - case 164: -#line 1009 "madly.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; - token_getmad((yyvsp[-3].tkval),(yyval.opval),'{'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),';'); - token_getmad((yyvsp[0].tkval),(yyval.opval),'}'); - ;} - break; - - case 165: -#line 1020 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 166: -#line 1022 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;} - break; - - case 167: -#line 1024 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 168: -#line 1029 "madly.y" - { OP* op; - (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval)))); - op = (yyval.opval); - if (op->op_type == OP_CONST) { /* defeat const fold */ - op = (OP*)op->op_madprop->mad_val; - } - token_getmad((yyvsp[-2].tkval),op,'('); - token_getmad((yyvsp[0].tkval),op,')'); - ;} - break; - - case 169: -#line 1040 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'o'); - ;} - break; - - case 170: -#line 1045 "madly.y" - { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL); - PL_hints |= HINT_BLOCK_SCOPE; - token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); - ;} - break; - - case 171: -#line 1050 "madly.y" - { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 172: -#line 1054 "madly.y" - { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 173: -#line 1058 "madly.y" - { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0); - token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); - ;} - break; - - case 174: -#line 1062 "madly.y" - { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 175: -#line 1066 "madly.y" - { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); - ;} - break; - - case 176: -#line 1070 "madly.y" - { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;} - break; - - case 177: -#line 1072 "madly.y" - { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;} - break; - - case 178: -#line 1074 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[0].opval))); ;} - break; - - case 179: -#line 1076 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} - break; - - case 180: -#line 1079 "madly.y" - { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0); - token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); - ;} - break; - - case 181: -#line 1083 "madly.y" - { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 182: -#line 1089 "madly.y" - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - scalar((yyvsp[0].opval))); ;} - break; - - case 183: -#line 1092 "madly.y" - { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 184: -#line 1098 "madly.y" - { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval)); - token_getmad((yyvsp[-3].tkval),(yyval.opval),'o'); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 185: -#line 1104 "madly.y" - { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 188: -#line 1114 "madly.y" - { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'d'); - append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a'); - (yyvsp[0].opval)->op_madprop = 0; - ;} - break; - - case 189: -#line 1120 "madly.y" - { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'d'); - ;} - break; - - case 190: -#line 1127 "madly.y" - { (yyval.opval) = sawparens((yyvsp[-1].opval)); - token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 191: -#line 1132 "madly.y" - { (yyval.opval) = sawparens(newNULLLIST()); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); - token_getmad((yyvsp[0].tkval),(yyval.opval),')'); - ;} - break; - - case 192: -#line 1137 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 193: -#line 1139 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 194: -#line 1141 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 195: -#line 1146 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 196: -#line 1148 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 197: -#line 1152 "madly.y" - { (yyval.opval) = Nullop; ;} - break; - - case 198: -#line 1154 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - case 199: -#line 1156 "madly.y" - { OP* op = newNULLLIST(); - token_getmad((yyvsp[0].tkval),op,','); - (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op); - ;} - break; - - case 200: -#line 1165 "madly.y" - { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;} - break; - - case 201: -#line 1169 "madly.y" - { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'&'); - ;} - break; - - case 202: -#line 1175 "madly.y" - { (yyval.opval) = newSVREF((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'$'); - ;} - break; - - case 203: -#line 1181 "madly.y" - { (yyval.opval) = newAVREF((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'@'); - ;} - break; - - case 204: -#line 1187 "madly.y" - { (yyval.opval) = newHVREF((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'%'); - ;} - break; - - case 205: -#line 1193 "madly.y" - { (yyval.opval) = newAVREF((yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'l'); - ;} - break; - - case 206: -#line 1199 "madly.y" - { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); - token_getmad((yyvsp[-1].tkval),(yyval.opval),'*'); - ;} - break; - - case 207: -#line 1206 "madly.y" - { (yyval.opval) = scalar((yyvsp[0].opval)); ;} - break; - - case 208: -#line 1208 "madly.y" - { (yyval.opval) = scalar((yyvsp[0].opval)); ;} - break; - - case 209: -#line 1210 "madly.y" - { (yyval.opval) = scope((yyvsp[0].opval)); ;} - break; - - case 210: -#line 1213 "madly.y" - { (yyval.opval) = (yyvsp[0].opval); ;} - break; - - - default: break; - |