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")) CvSPECIAL_on(PL_compcv); (yyval.opval) = (yyvsp[0].opval); ;} break; case 70: #line 508 "madly.y" { (yyval.opval) = Nullop; ;} break; case 72: #line 514 "madly.y" { (yyval.opval) = Nullop; ;} break; case 73: #line 516 "madly.y" { (yyval.opval) = (yyvsp[0].opval); token_getmad((yyvsp[-1].tkval),(yyval.opval),':'); ;} break; case 74: #line 520 "madly.y" { (yyval.opval) = newOP(OP_NULL, 0); token_getmad((yyvsp[0].tkval),(yyval.opval),':'); ;} break; case 75: #line 527 "madly.y" { (yyval.opval) = (yyvsp[0].opval); token_getmad((yyvsp[-1].tkval),(yyval.opval),':'); ;} break; case 76: #line 531 "madly.y" { (yyval.opval) = newOP(OP_NULL, 0); token_getmad((yyvsp[0].tkval),(yyval.opval),':'); ;} break; case 77: #line 537 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 78: #line 538 "madly.y" { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE; token_getmad((yyvsp[0].tkval),(yyval.opval),';'); ;} break; case 79: #line 544 "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 551 "madly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} break; case 81: #line 553 "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 564 "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 568 "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 572 "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 580 "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 585 "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 595 "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 600 "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 607 "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 616 "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 622 "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 628 "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 636 "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 640 "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 646 "madly.y" { SvREFCNT_inc(PL_compcv); (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;} break; case 98: #line 649 "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 664 "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 671 "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 676 "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 684 "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 691 "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 698 "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 708 "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 717 "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 724 "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 733 "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 740 "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 746 "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 753 "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 763 "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 767 "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 771 "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 777 "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 781 "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 785 "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 789 "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 793 "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 797 "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 801 "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 810 "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 814 "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 818 "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 822 "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 832 "madly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval))); token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); ;} break; case 129: #line 836 "madly.y" { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'+'); ;} break; case 130: #line 840 "madly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); ;} break; case 131: #line 844 "madly.y" { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval))); token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); ;} break; case 132: #line 848 "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 853 "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 858 "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 863 "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 872 "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 877 "madly.y" { (yyval.opval) = newANONLIST(Nullop); token_getmad((yyvsp[-1].tkval),(yyval.opval),'['); token_getmad((yyvsp[0].tkval),(yyval.opval),']'); ;} break; case 138: #line 882 "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 888 "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 894 "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 905 "madly.y" { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); ;} break; case 142: #line 909 "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 913 "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 925 "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 938 "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 946 "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 962 "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 967 "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 971 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 154: #line 973 "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 977 "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 982 "madly.y" { (yyval.opval) = sawparens(newNULLLIST()); token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); token_getmad((yyvsp[0].tkval),(yyval.opval),')'); ;} break; case 157: #line 987 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 158: #line 989 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 159: #line 991 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 160: #line 993 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 161: #line 995 "madly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;} break; case 162: #line 997 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 163: #line 999 "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 1008 "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 1019 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 166: #line 1021 "madly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;} break; case 167: #line 1023 "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 1028 "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 1039 "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 1044 "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 1049 "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 1053 "madly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); token_getmad((yyvsp[-1].tkval),(yyval.opval),'o'); ;} break; case 173: #line 1057 "madly.y" { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0); token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); ;} break; case 174: #line 1061 "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 1065 "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 1069 "madly.y" { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;} break; case 177: #line 1071 "madly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;} break; case 178: #line 1073 "madly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} break; case 179: #line 1076 "madly.y" { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0); token_getmad((yyvsp[0].tkval),(yyval.opval),'o'); ;} break; case 180: #line 1080 "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 181: #line 1086 "madly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[0].opval))); ;} break; case 182: #line 1089 "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 183: #line 1095 "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 184: #line 1101 "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 187: #line 1111 "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 188: #line 1117 "madly.y" { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival); token_getmad((yyvsp[-1].tkval),(yyval.opval),'d'); ;} break; case 189: #line 1124 "madly.y" { (yyval.opval) = sawparens((yyvsp[-1].opval)); token_getmad((yyvsp[-2].tkval),(yyval.opval),'('); token_getmad((yyvsp[0].tkval),(yyval.opval),')'); ;} break; case 190: #line 1129 "madly.y" { (yyval.opval) = sawparens(newNULLLIST()); token_getmad((yyvsp[-1].tkval),(yyval.opval),'('); token_getmad((yyvsp[0].tkval),(yyval.opval),')'); ;} break; case 191: #line 1134 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 192: #line 1136 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 193: #line 1138 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 194: #line 1143 "madly.y" { (yyval.opval) = Nullop; ;} break; case 195: #line 1145 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 196: #line 1149 "madly.y" { (yyval.opval) = Nullop; ;} break; case 197: #line 1151 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 198: #line 1153 "madly.y" { OP* op = newNULLLIST(); token_getmad((yyvsp[0].tkval),op,','); (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op); ;} break; case 199: #line 1162 "madly.y" { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;} break; case 200: #line 1166 "madly.y" { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'&'); ;} break; case 201: #line 1172 "madly.y" { (yyval.opval) = newSVREF((yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'$'); ;} break; case 202: #line 1178 "madly.y" { (yyval.opval) = newAVREF((yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'@'); ;} break; case 203: #line 1184 "madly.y" { (yyval.opval) = newHVREF((yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'%'); ;} break; case 204: #line 1190 "madly.y" { (yyval.opval) = newAVREF((yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'l'); ;} break; case 205: #line 1196 "madly.y" { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); token_getmad((yyvsp[-1].tkval),(yyval.opval),'*'); ;} break; case 206: #line 1203 "madly.y" { (yyval.opval) = scalar((yyvsp[0].opval)); ;} break; case 207: #line 1205 "madly.y" { (yyval.opval) = scalar((yyvsp[0].opval)); ;} break; case 208: #line 1207 "madly.y" { (yyval.opval) = scope((yyvsp[0].opval)); ;} break; case 209: #line 1210 "madly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; default: break;