X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perly.act;h=5a908c39563ed46a1aede733cfc2f0202ad3f1eb;hb=3dae3b3445810204b098aa3420cb5d43bf991d8b;hp=5e034eab915ae9806c9693d584d5af5f9919de20;hpb=503de4705ff6537018ae94e9179e16636748b2a6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perly.act b/perly.act index 5e034ea..5a908c3 100644 --- a/perly.act +++ b/perly.act @@ -47,7 +47,7 @@ case 2: case 9: #line 180 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 10: @@ -97,7 +97,7 @@ case 2: else { (yyval.opval) = IF_MAD( newOP(OP_NULL, 0), - Nullop); + (OP*)NULL); PL_parser->copline = NOLINE; TOKEN_FREE((ps[(1) - (2)].val.p_tkval)); TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';'); @@ -127,7 +127,7 @@ case 2: case 18: #line 243 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 19: @@ -165,15 +165,15 @@ case 2: case 24: #line 263 "perly.y" - { (yyval.opval) = newFOROP(0, Nullch, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)), - Nullop, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), Nullop); + { (yyval.opval) = newFOROP(0, NULL, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)), + (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w'); ;} break; case 25: #line 271 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 26: @@ -186,7 +186,7 @@ case 2: case 27: #line 277 "perly.y" { PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval)); - (yyval.opval) = newCONDOP(0, (ps[(3) - (6)].val.opval), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval)); + (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval)); PL_hints |= HINT_BLOCK_SCOPE; TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I'); TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'('); @@ -229,7 +229,7 @@ case 2: case 32: #line 315 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 33: @@ -245,7 +245,7 @@ case 2: PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval); (yyval.opval) = block_end((ps[(4) - (9)].val.ival), newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)), - innerop = newWHILEOP(0, 1, (LOOP*)Nullop, + innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival)))); TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L'); TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W'); @@ -260,7 +260,7 @@ case 2: PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval); (yyval.opval) = block_end((ps[(4) - (9)].val.ival), newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)), - innerop = newWHILEOP(0, 1, (LOOP*)Nullop, + innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival)))); TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L'); TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W'); @@ -301,7 +301,7 @@ case 2: { OP *innerop; (yyval.opval) = block_end((ps[(4) - (8)].val.ival), innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)), - Nullop, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval))); + (OP*)NULL, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval))); TOKEN_GETMAD((ps[(1) - (8)].val.p_tkval),((LISTOP*)innerop)->op_first,'L'); TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W'); TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'('); @@ -314,7 +314,7 @@ case 2: { OP *forop; PL_parser->copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval)); forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)), - newWHILEOP(0, 1, (LOOP*)Nullop, + newWHILEOP(0, 1, (LOOP*)(OP*)NULL, IVAL((ps[(2) - (12)].val.i_tkval)), scalar((ps[(7) - (12)].val.opval)), (ps[(12) - (12)].val.opval), (ps[(10) - (12)].val.opval), (ps[(9) - (12)].val.ival))); #ifdef MAD @@ -345,8 +345,8 @@ case 2: case 40: #line 412 "perly.y" { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)), - newWHILEOP(0, 1, (LOOP*)Nullop, - NOLINE, Nullop, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0)); + newWHILEOP(0, 1, (LOOP*)(OP*)NULL, + NOLINE, (OP*)NULL, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0)); TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;} break; @@ -368,7 +368,7 @@ case 2: case 43: #line 435 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 45: @@ -403,10 +403,10 @@ case 2: { #ifdef MAD YYSTYPE tmplval; - tmplval.pval = Nullch; + tmplval.pval = NULL; (yyval.p_tkval) = newTOKEN(OP_NULL, tmplval, 0); #else - (yyval.p_tkval) = Nullch; + (yyval.p_tkval) = NULL; #endif ;} break; @@ -458,7 +458,7 @@ case 2: token_free((ps[(1) - (4)].val.i_tkval)); #else newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval)); - (yyval.opval) = Nullop; + (yyval.opval) = (OP*)NULL; #endif ;} break; @@ -470,7 +470,7 @@ case 2: case 62: #line 518 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 63: @@ -481,7 +481,7 @@ case 2: token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d'); #else newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)); - (yyval.opval) = Nullop; + (yyval.opval) = (OP*)NULL; #endif ;} break; @@ -504,7 +504,7 @@ case 2: } #else newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)); - (yyval.opval) = Nullop; + (yyval.opval) = (OP*)NULL; #endif ;} break; @@ -539,12 +539,12 @@ case 2: case 69: #line 584 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 71: #line 590 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (OP*)NULL; ;} break; case 72: @@ -558,7 +558,7 @@ case 2: #line 596 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL, 0), - Nullop + (OP*)NULL ); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':'); ;} @@ -575,7 +575,7 @@ case 2: #line 610 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL, 0), - Nullop + (OP*)NULL ); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':'); ;} @@ -590,7 +590,7 @@ case 2: #line 620 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL,0), - Nullop + (OP*)NULL ); PL_parser->expect = XSTATE; TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';'); @@ -606,7 +606,7 @@ case 2: token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';'); #else package((ps[(2) - (3)].val.opval)); - (yyval.opval) = Nullop; + (yyval.opval) = (OP*)NULL; #endif ;} break; @@ -628,7 +628,7 @@ case 2: append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0); #else utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval)); - (yyval.opval) = Nullop; + (yyval.opval) = (OP*)NULL; #endif ;} break; @@ -757,7 +757,7 @@ case 2: case 96: #line 752 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); - (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, Nullop, (ps[(3) - (3)].val.opval)); ;} + (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;} break; case 97: @@ -894,7 +894,7 @@ case 2: case 112: #line 859 "perly.y" - { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), Nullop); + { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')'); TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'['); @@ -1086,7 +1086,7 @@ case 2: case 136: #line 989 "perly.y" - { (yyval.opval) = newANONLIST(Nullop); + { (yyval.opval) = newANONLIST((OP*)NULL); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'['); TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']'); ;} @@ -1103,7 +1103,7 @@ case 2: case 138: #line 1000 "perly.y" - { (yyval.opval) = newANONHASH(Nullop); + { (yyval.opval) = newANONHASH((OP*)NULL); TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{'); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';'); TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}'); @@ -1142,7 +1142,7 @@ case 2: scalar(newCVREF( (OPpENTERSUB_AMPER<<8), scalar((ps[(2) - (4)].val.opval)) - )),Nullop)); dep(); + )),(OP*)NULL)); dep(); TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o'); TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')'); @@ -1169,7 +1169,7 @@ case 2: #line 1050 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, prepend_elem(OP_LIST, - scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), Nullop)); dep(); + scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep(); TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o'); TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')'); @@ -1449,7 +1449,15 @@ case 2: break; case 187: -#line 1234 "perly.y" +#line 1231 "perly.y" + { + (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), + newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); + ;} + break; + + case 188: +#line 1239 "perly.y" { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); DO_MAD( token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d'); @@ -1459,66 +1467,66 @@ case 2: ;} break; - case 188: -#line 1242 "perly.y" + case 189: +#line 1247 "perly.y" { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d'); ;} break; - case 189: -#line 1249 "perly.y" + case 190: +#line 1254 "perly.y" { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')'); ;} break; - case 190: -#line 1254 "perly.y" + case 191: +#line 1259 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')'); ;} break; - case 191: -#line 1259 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} - break; - case 192: -#line 1261 "perly.y" +#line 1264 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 193: -#line 1263 "perly.y" +#line 1266 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 194: #line 1268 "perly.y" - { (yyval.opval) = Nullop; ;} + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 195: -#line 1270 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} +#line 1273 "perly.y" + { (yyval.opval) = (OP*)NULL; ;} break; case 196: -#line 1274 "perly.y" - { (yyval.opval) = Nullop; ;} +#line 1275 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 197: -#line 1276 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} +#line 1279 "perly.y" + { (yyval.opval) = (OP*)NULL; ;} break; case 198: -#line 1278 "perly.y" +#line 1281 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} + break; + + case 199: +#line 1283 "perly.y" { #ifdef MAD OP* op = newNULLLIST(); @@ -1531,70 +1539,70 @@ case 2: ;} break; - case 199: -#line 1293 "perly.y" + case 200: +#line 1298 "perly.y" { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;} break; - case 200: -#line 1297 "perly.y" + case 201: +#line 1302 "perly.y" { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&'); ;} break; - case 201: -#line 1303 "perly.y" + case 202: +#line 1308 "perly.y" { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$'); ;} break; - case 202: -#line 1309 "perly.y" + case 203: +#line 1314 "perly.y" { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@'); ;} break; - case 203: -#line 1315 "perly.y" + case 204: +#line 1320 "perly.y" { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%'); ;} break; - case 204: -#line 1321 "perly.y" + case 205: +#line 1326 "perly.y" { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l'); ;} break; - case 205: -#line 1327 "perly.y" + case 206: +#line 1332 "perly.y" { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*'); ;} break; - case 206: -#line 1334 "perly.y" + case 207: +#line 1339 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 207: -#line 1336 "perly.y" + case 208: +#line 1341 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 208: -#line 1338 "perly.y" + case 209: +#line 1343 "perly.y" { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;} break; - case 209: -#line 1341 "perly.y" + case 210: +#line 1346 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break;