From: Nicholas Clark Date: Thu, 9 Mar 2006 13:45:30 +0000 (+0000) Subject: Add the MAD change to perly.y, which brings a new PEG token. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7f46837f634959685269c98c9e8370762c3b74d1;p=p5sagit%2Fp5-mst-13.2.git Add the MAD change to perly.y, which brings a new PEG token. p4raw-id: //depot/perl@27437 --- diff --git a/perly.act b/perly.act index 817bde9..9e2acc6 100644 --- a/perly.act +++ b/perly.act @@ -1,61 +1,61 @@ case 2: -#line 100 "perly.y" +#line 105 "perly.y" { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;} break; case 3: -#line 105 "perly.y" +#line 110 "perly.y" { if (PL_copline > (line_t)(yyvsp[-3].ival)) PL_copline = (line_t)(yyvsp[-3].ival); (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} break; case 4: -#line 111 "perly.y" +#line 116 "perly.y" { (yyval.ival) = block_start(TRUE); ;} break; case 5: -#line 115 "perly.y" +#line 120 "perly.y" { (yyval.ival) = (I32) allocmy("$_"); ;} break; case 6: -#line 119 "perly.y" +#line 124 "perly.y" { PL_expect = XSTATE; (yyval.ival) = block_start(TRUE); ;} break; case 7: -#line 126 "perly.y" +#line 131 "perly.y" { if (PL_copline > (line_t)(yyvsp[-3].ival)) PL_copline = (line_t)(yyvsp[-3].ival); (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} break; case 8: -#line 132 "perly.y" +#line 137 "perly.y" { (yyval.ival) = block_start(FALSE); ;} break; case 9: -#line 136 "perly.y" +#line 141 "perly.y" { (yyval.ival) = PL_savestack_ix; ;} break; case 10: -#line 140 "perly.y" +#line 145 "perly.y" { (yyval.opval) = Nullop; ;} break; case 11: -#line 142 "perly.y" +#line 147 "perly.y" { (yyval.opval) = (yyvsp[-1].opval); ;} break; case 12: -#line 144 "perly.y" +#line 149 "perly.y" { LEAVE_SCOPE((yyvsp[-1].ival)); (yyval.opval) = append_list(OP_LINESEQ, (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval)); @@ -64,22 +64,22 @@ case 2: break; case 13: -#line 153 "perly.y" +#line 158 "perly.y" { (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), (yyvsp[0].opval)); ;} break; case 15: -#line 156 "perly.y" +#line 161 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 16: -#line 158 "perly.y" +#line 163 "perly.y" { (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), (yyvsp[0].opval)); ;} break; case 17: -#line 160 "perly.y" +#line 165 "perly.y" { if ((yyvsp[-1].pval) != Nullch) { (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), newOP(OP_NULL, 0)); } @@ -91,101 +91,101 @@ case 2: break; case 18: -#line 169 "perly.y" +#line 174 "perly.y" { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), (yyvsp[-1].opval)); PL_expect = XSTATE; ;} break; case 19: -#line 175 "perly.y" +#line 180 "perly.y" { (yyval.opval) = Nullop; ;} break; case 20: -#line 177 "perly.y" +#line 182 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 21: -#line 179 "perly.y" +#line 184 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} break; case 22: -#line 181 "perly.y" +#line 186 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} break; case 23: -#line 183 "perly.y" +#line 188 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval)); ;} break; case 24: -#line 185 "perly.y" +#line 190 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval));;} break; case 25: -#line 187 "perly.y" +#line 192 "perly.y" { (yyval.opval) = newFOROP(0, Nullch, (line_t)(yyvsp[-1].ival), Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop); ;} break; case 26: -#line 193 "perly.y" +#line 198 "perly.y" { (yyval.opval) = Nullop; ;} break; case 27: -#line 195 "perly.y" +#line 200 "perly.y" { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval)); ;} break; case 28: -#line 197 "perly.y" +#line 202 "perly.y" { PL_copline = (line_t)(yyvsp[-5].ival); (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)); PL_hints |= HINT_BLOCK_SCOPE; ;} break; case 29: -#line 204 "perly.y" +#line 209 "perly.y" { PL_copline = (line_t)(yyvsp[-6].ival); (yyval.opval) = block_end((yyvsp[-4].ival), newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} break; case 30: -#line 208 "perly.y" +#line 213 "perly.y" { PL_copline = (line_t)(yyvsp[-6].ival); (yyval.opval) = block_end((yyvsp[-4].ival), newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} break; case 31: -#line 215 "perly.y" +#line 220 "perly.y" { (yyval.opval) = block_end((yyvsp[-3].ival), newWHENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)))); ;} break; case 32: -#line 218 "perly.y" +#line 223 "perly.y" { (yyval.opval) = newWHENOP(0, scope((yyvsp[0].opval))); ;} break; case 33: -#line 223 "perly.y" +#line 228 "perly.y" { (yyval.opval) = Nullop; ;} break; case 34: -#line 225 "perly.y" +#line 230 "perly.y" { (yyval.opval) = scope((yyvsp[0].opval)); ;} break; case 35: -#line 230 "perly.y" +#line 235 "perly.y" { PL_copline = (line_t)(yyvsp[-7].ival); (yyval.opval) = block_end((yyvsp[-5].ival), newSTATEOP(0, (yyvsp[-8].pval), @@ -194,7 +194,7 @@ case 2: break; case 36: -#line 236 "perly.y" +#line 241 "perly.y" { PL_copline = (line_t)(yyvsp[-7].ival); (yyval.opval) = block_end((yyvsp[-5].ival), newSTATEOP(0, (yyvsp[-8].pval), @@ -203,26 +203,26 @@ case 2: break; case 37: -#line 242 "perly.y" +#line 247 "perly.y" { (yyval.opval) = block_end((yyvsp[-6].ival), newFOROP(0, (yyvsp[-9].pval), (line_t)(yyvsp[-8].ival), (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} break; case 38: -#line 245 "perly.y" +#line 250 "perly.y" { (yyval.opval) = block_end((yyvsp[-4].ival), newFOROP(0, (yyvsp[-8].pval), (line_t)(yyvsp[-7].ival), mod((yyvsp[-6].opval), OP_ENTERLOOP), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} break; case 39: -#line 249 "perly.y" +#line 254 "perly.y" { (yyval.opval) = block_end((yyvsp[-4].ival), newFOROP(0, (yyvsp[-7].pval), (line_t)(yyvsp[-6].ival), Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} break; case 40: -#line 254 "perly.y" +#line 259 "perly.y" { OP *forop; PL_copline = (line_t)(yyvsp[-10].ival); forop = newSTATEOP(0, (yyvsp[-11].pval), @@ -240,14 +240,14 @@ case 2: break; case 41: -#line 269 "perly.y" +#line 274 "perly.y" { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), newWHILEOP(0, 1, (LOOP*)Nullop, NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval), 0)); ;} break; case 42: -#line 276 "perly.y" +#line 281 "perly.y" { PL_copline = (line_t) (yyvsp[-6].ival); (yyval.opval) = block_end((yyvsp[-4].ival), newSTATEOP(0, (yyvsp[-7].pval), @@ -256,114 +256,114 @@ case 2: break; case 43: -#line 285 "perly.y" +#line 290 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); ;} break; case 44: -#line 291 "perly.y" +#line 296 "perly.y" { (yyval.opval) = Nullop; ;} break; case 46: -#line 297 "perly.y" +#line 302 "perly.y" { (void)scan_num("1", &yylval); (yyval.opval) = yylval.opval; ;} break; case 48: -#line 303 "perly.y" +#line 308 "perly.y" { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;} break; case 49: -#line 308 "perly.y" +#line 313 "perly.y" { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} break; case 50: -#line 312 "perly.y" +#line 317 "perly.y" { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} break; case 51: -#line 316 "perly.y" +#line 321 "perly.y" { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} break; case 52: -#line 321 "perly.y" +#line 326 "perly.y" { (yyval.pval) = Nullch; ;} break; case 54: -#line 327 "perly.y" +#line 332 "perly.y" { (yyval.ival) = 0; ;} break; case 55: -#line 329 "perly.y" +#line 334 "perly.y" { (yyval.ival) = 0; ;} break; case 56: -#line 331 "perly.y" +#line 336 "perly.y" { (yyval.ival) = 0; ;} break; case 57: -#line 333 "perly.y" +#line 338 "perly.y" { (yyval.ival) = 0; ;} break; case 58: -#line 335 "perly.y" +#line 340 "perly.y" { (yyval.ival) = 0; ;} break; case 59: -#line 339 "perly.y" +#line 344 "perly.y" { newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} break; case 60: -#line 342 "perly.y" +#line 347 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 61: -#line 343 "perly.y" +#line 348 "perly.y" { (yyval.opval) = Nullop; ;} break; case 62: -#line 348 "perly.y" +#line 353 "perly.y" { newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} break; case 63: -#line 353 "perly.y" +#line 358 "perly.y" { newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} break; case 64: -#line 357 "perly.y" +#line 362 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); ;} break; case 65: -#line 361 "perly.y" +#line 366 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); ;} break; case 66: -#line 365 "perly.y" +#line 370 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); ;} break; case 67: -#line 369 "perly.y" +#line 374 "perly.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")) @@ -372,99 +372,99 @@ case 2: break; case 68: -#line 378 "perly.y" +#line 383 "perly.y" { (yyval.opval) = Nullop; ;} break; case 70: -#line 384 "perly.y" +#line 389 "perly.y" { (yyval.opval) = Nullop; ;} break; case 71: -#line 386 "perly.y" +#line 391 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 72: -#line 388 "perly.y" +#line 393 "perly.y" { (yyval.opval) = Nullop; ;} break; case 73: -#line 393 "perly.y" +#line 398 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 74: -#line 395 "perly.y" +#line 400 "perly.y" { (yyval.opval) = Nullop; ;} break; case 75: -#line 399 "perly.y" +#line 404 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 76: -#line 400 "perly.y" +#line 405 "perly.y" { (yyval.opval) = Nullop; PL_expect = XSTATE; ;} break; case 77: -#line 404 "perly.y" +#line 409 "perly.y" { package((yyvsp[-1].opval)); ;} break; case 78: -#line 408 "perly.y" +#line 413 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} break; case 79: -#line 410 "perly.y" +#line 415 "perly.y" { utilize((yyvsp[-6].ival), (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval)); ;} break; case 80: -#line 415 "perly.y" +#line 420 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 81: -#line 417 "perly.y" +#line 422 "perly.y" { (yyval.opval) = newLOGOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 82: -#line 419 "perly.y" +#line 424 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 84: -#line 425 "perly.y" +#line 430 "perly.y" { (yyval.opval) = (yyvsp[-1].opval); ;} break; case 85: -#line 427 "perly.y" +#line 432 "perly.y" { (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 87: -#line 433 "perly.y" +#line 438 "perly.y" { (yyval.opval) = convert((yyvsp[-2].ival), OPf_STACKED, prepend_elem(OP_LIST, newGVREF((yyvsp[-2].ival),(yyvsp[-1].opval)), (yyvsp[0].opval)) ); ;} break; case 88: -#line 436 "perly.y" +#line 441 "perly.y" { (yyval.opval) = convert((yyvsp[-4].ival), OPf_STACKED, prepend_elem(OP_LIST, newGVREF((yyvsp[-4].ival),(yyvsp[-2].opval)), (yyvsp[-1].opval)) ); ;} break; case 89: -#line 439 "perly.y" +#line 444 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)), @@ -472,14 +472,14 @@ case 2: break; case 90: -#line 444 "perly.y" +#line 449 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, scalar((yyvsp[-2].opval)), newUNOP(OP_METHOD, 0, (yyvsp[0].opval)))); ;} break; case 91: -#line 448 "perly.y" +#line 453 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)), @@ -487,7 +487,7 @@ case 2: break; case 92: -#line 453 "perly.y" +#line 458 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)), @@ -495,60 +495,60 @@ case 2: break; case 93: -#line 458 "perly.y" +#line 463 "perly.y" { (yyval.opval) = convert((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} break; case 94: -#line 460 "perly.y" +#line 465 "perly.y" { (yyval.opval) = convert((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} break; case 95: -#line 462 "perly.y" +#line 467 "perly.y" { (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;} break; case 96: -#line 464 "perly.y" +#line 469 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval))); ;} break; case 99: -#line 478 "perly.y" +#line 483 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval))); PL_expect = XOPERATOR; ;} break; case 100: -#line 481 "perly.y" +#line 486 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval))); ;} break; case 101: -#line 483 "perly.y" +#line 488 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV), scalar((yyvsp[-1].opval)));;} break; case 102: -#line 487 "perly.y" +#line 492 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV), scalar((yyvsp[-1].opval)));;} break; case 103: -#line 491 "perly.y" +#line 496 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval))); PL_expect = XOPERATOR; ;} break; case 104: -#line 494 "perly.y" +#line 499 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV), jmaybe((yyvsp[-2].opval))); @@ -556,7 +556,7 @@ case 2: break; case 105: -#line 499 "perly.y" +#line 504 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV), jmaybe((yyvsp[-2].opval))); @@ -564,194 +564,194 @@ case 2: break; case 106: -#line 504 "perly.y" +#line 509 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((yyvsp[-3].opval)))); ;} break; case 107: -#line 507 "perly.y" +#line 512 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[-1].opval), newCVREF(0, scalar((yyvsp[-4].opval))))); ;} break; case 108: -#line 512 "perly.y" +#line 517 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[-1].opval), newCVREF(0, scalar((yyvsp[-3].opval))))); ;} break; case 109: -#line 516 "perly.y" +#line 521 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((yyvsp[-2].opval)))); ;} break; case 110: -#line 519 "perly.y" +#line 524 "perly.y" { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval)); ;} break; case 111: -#line 521 "perly.y" +#line 526 "perly.y" { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop); ;} break; case 112: -#line 526 "perly.y" +#line 531 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), (yyvsp[-1].ival), (yyvsp[0].opval)); ;} break; case 113: -#line 528 "perly.y" +#line 533 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 114: -#line 530 "perly.y" +#line 535 "perly.y" { if ((yyvsp[-1].ival) != OP_REPEAT) scalar((yyvsp[-2].opval)); (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval))); ;} break; case 115: -#line 534 "perly.y" +#line 539 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 116: -#line 536 "perly.y" +#line 541 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 117: -#line 538 "perly.y" +#line 543 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 118: -#line 540 "perly.y" +#line 545 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 119: -#line 542 "perly.y" +#line 547 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 120: -#line 544 "perly.y" +#line 549 "perly.y" { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} break; case 121: -#line 546 "perly.y" +#line 551 "perly.y" { (yyval.opval) = newRANGE((yyvsp[-1].ival), scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));;} break; case 122: -#line 548 "perly.y" +#line 553 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 123: -#line 550 "perly.y" +#line 555 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 124: -#line 552 "perly.y" +#line 557 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 125: -#line 554 "perly.y" +#line 559 "perly.y" { (yyval.opval) = bind_match((yyvsp[-1].ival), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 126: -#line 559 "perly.y" +#line 564 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval))); ;} break; case 127: -#line 561 "perly.y" +#line 566 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 128: -#line 563 "perly.y" +#line 568 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} break; case 129: -#line 565 "perly.y" +#line 570 "perly.y" { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));;} break; case 130: -#line 567 "perly.y" +#line 572 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, mod(scalar((yyvsp[-1].opval)), OP_POSTINC)); ;} break; case 131: -#line 570 "perly.y" +#line 575 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, mod(scalar((yyvsp[-1].opval)), OP_POSTDEC)); ;} break; case 132: -#line 573 "perly.y" +#line 578 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, mod(scalar((yyvsp[0].opval)), OP_PREINC)); ;} break; case 133: -#line 576 "perly.y" +#line 581 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, mod(scalar((yyvsp[0].opval)), OP_PREDEC)); ;} break; case 134: -#line 583 "perly.y" +#line 588 "perly.y" { (yyval.opval) = newANONLIST((yyvsp[-1].opval)); ;} break; case 135: -#line 585 "perly.y" +#line 590 "perly.y" { (yyval.opval) = newANONLIST(Nullop); ;} break; case 136: -#line 587 "perly.y" +#line 592 "perly.y" { (yyval.opval) = newANONHASH((yyvsp[-2].opval)); ;} break; case 137: -#line 589 "perly.y" +#line 594 "perly.y" { (yyval.opval) = newANONHASH(Nullop); ;} break; case 138: -#line 591 "perly.y" +#line 596 "perly.y" { (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} break; case 139: -#line 597 "perly.y" +#line 602 "perly.y" { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].ival)); ;} break; case 140: -#line 599 "perly.y" +#line 604 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval))); ;} break; case 141: -#line 601 "perly.y" +#line 606 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, prepend_elem(OP_LIST, @@ -762,7 +762,7 @@ case 2: break; case 142: -#line 609 "perly.y" +#line 614 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, append_elem(OP_LIST, @@ -774,14 +774,14 @@ case 2: break; case 143: -#line 618 "perly.y" +#line 623 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, prepend_elem(OP_LIST, scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();;} break; case 144: -#line 622 "perly.y" +#line 627 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, prepend_elem(OP_LIST, (yyvsp[-1].opval), @@ -789,67 +789,67 @@ case 2: break; case 149: -#line 634 "perly.y" +#line 639 "perly.y" { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} break; case 150: -#line 636 "perly.y" +#line 641 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN)); ;} break; case 151: -#line 638 "perly.y" +#line 643 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 152: -#line 640 "perly.y" +#line 645 "perly.y" { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} break; case 153: -#line 642 "perly.y" +#line 647 "perly.y" { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} break; case 154: -#line 644 "perly.y" +#line 649 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); ;} break; case 155: -#line 646 "perly.y" +#line 651 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 156: -#line 648 "perly.y" +#line 653 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 157: -#line 650 "perly.y" +#line 655 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 158: -#line 652 "perly.y" +#line 657 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 159: -#line 654 "perly.y" +#line 659 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;} break; case 160: -#line 656 "perly.y" +#line 661 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 161: -#line 658 "perly.y" +#line 663 "perly.y" { (yyval.opval) = prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -858,7 +858,7 @@ case 2: break; case 162: -#line 664 "perly.y" +#line 669 "perly.y" { (yyval.opval) = prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -868,223 +868,223 @@ case 2: break; case 163: -#line 671 "perly.y" +#line 676 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 164: -#line 673 "perly.y" +#line 678 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;} break; case 165: -#line 675 "perly.y" +#line 680 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval))); ;} break; case 166: -#line 677 "perly.y" +#line 682 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval)))); ;} break; case 167: -#line 680 "perly.y" +#line 685 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} break; case 168: -#line 683 "perly.y" +#line 688 "perly.y" { (yyval.opval) = newOP((yyvsp[0].ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; ;} break; case 169: -#line 686 "perly.y" +#line 691 "perly.y" { (yyval.opval) = newLOOPEX((yyvsp[-1].ival),(yyvsp[0].opval)); ;} break; case 170: -#line 688 "perly.y" +#line 693 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} break; case 171: -#line 690 "perly.y" +#line 695 "perly.y" { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} break; case 172: -#line 692 "perly.y" +#line 697 "perly.y" { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} break; case 173: -#line 694 "perly.y" +#line 699 "perly.y" { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} break; case 174: -#line 696 "perly.y" +#line 701 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].ival) ? OPf_SPECIAL : 0); ;} break; case 175: -#line 698 "perly.y" +#line 703 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].ival) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;} break; case 176: -#line 700 "perly.y" +#line 705 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} break; case 177: -#line 703 "perly.y" +#line 708 "perly.y" { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} break; case 178: -#line 705 "perly.y" +#line 710 "perly.y" { (yyval.opval) = newOP((yyvsp[-2].ival), 0); ;} break; case 179: -#line 707 "perly.y" +#line 712 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[0].opval))); ;} break; case 180: -#line 710 "perly.y" +#line 715 "perly.y" { (yyval.opval) = (yyvsp[-2].ival) == OP_NOT ? newUNOP((yyvsp[-2].ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP((yyvsp[-2].ival), OPf_SPECIAL); ;} break; case 181: -#line 713 "perly.y" +#line 718 "perly.y" { (yyval.opval) = newUNOP((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} break; case 182: -#line 715 "perly.y" +#line 720 "perly.y" { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); ;} break; case 185: -#line 722 "perly.y" +#line 727 "perly.y" { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); ;} break; case 186: -#line 724 "perly.y" +#line 729 "perly.y" { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} break; case 187: -#line 729 "perly.y" +#line 734 "perly.y" { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} break; case 188: -#line 731 "perly.y" +#line 736 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); ;} break; case 189: -#line 733 "perly.y" +#line 738 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 190: -#line 735 "perly.y" +#line 740 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 191: -#line 737 "perly.y" +#line 742 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 192: -#line 742 "perly.y" +#line 747 "perly.y" { (yyval.opval) = Nullop; ;} break; case 193: -#line 744 "perly.y" +#line 749 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 194: -#line 748 "perly.y" +#line 753 "perly.y" { (yyval.opval) = Nullop; ;} break; case 195: -#line 750 "perly.y" +#line 755 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; case 196: -#line 752 "perly.y" +#line 757 "perly.y" { (yyval.opval) = (yyvsp[-1].opval); ;} break; case 197: -#line 758 "perly.y" +#line 763 "perly.y" { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;} break; case 198: -#line 762 "perly.y" +#line 767 "perly.y" { (yyval.opval) = newCVREF((yyvsp[-1].ival),(yyvsp[0].opval)); ;} break; case 199: -#line 766 "perly.y" +#line 771 "perly.y" { (yyval.opval) = newSVREF((yyvsp[0].opval)); ;} break; case 200: -#line 770 "perly.y" +#line 775 "perly.y" { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} break; case 201: -#line 774 "perly.y" +#line 779 "perly.y" { (yyval.opval) = newHVREF((yyvsp[0].opval)); ;} break; case 202: -#line 778 "perly.y" +#line 783 "perly.y" { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} break; case 203: -#line 782 "perly.y" +#line 787 "perly.y" { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); ;} break; case 204: -#line 787 "perly.y" +#line 792 "perly.y" { (yyval.opval) = scalar((yyvsp[0].opval)); ;} break; case 205: -#line 789 "perly.y" +#line 794 "perly.y" { (yyval.opval) = scalar((yyvsp[0].opval)); ;} break; case 206: -#line 791 "perly.y" +#line 796 "perly.y" { (yyval.opval) = scope((yyvsp[0].opval)); ;} break; case 207: -#line 794 "perly.y" +#line 799 "perly.y" { (yyval.opval) = (yyvsp[0].opval); ;} break; diff --git a/perly.h b/perly.h index 7c6ec99..c5b5494 100644 --- a/perly.h +++ b/perly.h @@ -96,7 +96,8 @@ POSTINC = 321, PREDEC = 322, PREINC = 323, - ARROW = 324 + ARROW = 324, + PEG = 325 }; #endif /* Tokens. */ @@ -167,6 +168,7 @@ #define PREDEC 322 #define PREINC 323 #define ARROW 324 +#define PEG 325 @@ -177,11 +179,14 @@ typedef union YYSTYPE { I32 ival; char *pval; +#ifdef PERL_MAD + TOKEN* tkval; +#endif OP *opval; GV *gvval; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 183 "perly.h" +#line 188 "perly.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 diff --git a/perly.tab b/perly.tab index aab8ed0..5c7e678 100644 --- a/perly.tab +++ b/perly.tab @@ -1,9 +1,9 @@ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2047 +#define YYLAST 2065 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 89 +#define YYNTOKENS 90 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 65 /* YYNRULES -- Number of rules. */ @@ -13,7 +13,7 @@ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 324 +#define YYMAXUTOK 325 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -24,16 +24,16 @@ static const unsigned char yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 67, 2, 2, 85, 87, 50, 2, - 78, 77, 88, 84, 56, 83, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 59, 81, - 2, 2, 2, 58, 86, 2, 2, 2, 2, 2, + 2, 2, 2, 67, 2, 2, 86, 88, 50, 2, + 78, 77, 89, 85, 56, 84, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 59, 82, + 2, 2, 2, 58, 87, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 79, 2, 82, 2, 2, 2, 2, 2, 2, + 2, 79, 2, 83, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 2, 80, 68, 2, 2, 2, + 2, 2, 2, 3, 2, 81, 68, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -53,7 +53,7 @@ static const unsigned char yytranslate[] = 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 60, 61, 62, 63, 64, 65, 66, 69, 70, 71, - 72, 73, 74, 75, 76 + 72, 73, 74, 75, 76, 80 }; #if YYDEBUG @@ -87,105 +87,105 @@ static const unsigned short int yyprhs[] = /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 90, 0, -1, 94, 98, -1, 3, 92, 98, 80, - -1, -1, -1, -1, 3, 96, 98, 80, -1, -1, - -1, -1, 98, 115, -1, 98, 97, 99, -1, 114, - 102, -1, 105, -1, 106, -1, 114, 103, -1, 114, - 81, -1, 114, 100, 81, -1, 1, -1, 131, -1, - 131, 21, 131, -1, 131, 22, 131, -1, 131, 19, - 131, -1, 131, 20, 110, -1, 131, 26, 131, -1, - -1, 23, 95, -1, 24, 78, 111, 77, 95, 101, - -1, 21, 78, 92, 111, 77, 95, 101, -1, 22, - 78, 92, 113, 77, 95, 101, -1, 28, 78, 92, - 111, 77, 95, -1, 29, 91, -1, -1, 25, 91, - -1, 114, 19, 78, 92, 109, 77, 107, 95, 104, - -1, 114, 20, 78, 92, 110, 77, 107, 95, 104, - -1, 114, 26, 46, 92, 146, 78, 111, 77, 95, - 104, -1, 114, 26, 148, 78, 92, 111, 77, 95, - 104, -1, 114, 26, 78, 92, 111, 77, 95, 104, - -1, 114, 26, 78, 92, 112, 81, 109, 81, 107, - 112, 77, 95, -1, 114, 91, 104, -1, 114, 27, - 78, 92, 93, 111, 77, 95, -1, -1, -1, 100, - -1, -1, 131, -1, 131, -1, 131, -1, 108, -1, - 110, -1, -1, 13, -1, 116, -1, 119, -1, 118, - -1, 128, -1, 129, -1, 14, 122, 117, 91, -1, - 4, -1, -1, 47, 120, 123, 124, 125, 127, -1, - 15, 120, 123, 124, 125, 127, -1, -1, -1, -1, + 91, 0, -1, 95, 99, -1, 3, 93, 99, 81, + -1, -1, -1, -1, 3, 97, 99, 81, -1, -1, + -1, -1, 99, 116, -1, 99, 98, 100, -1, 115, + 103, -1, 106, -1, 107, -1, 115, 104, -1, 115, + 82, -1, 115, 101, 82, -1, 1, -1, 132, -1, + 132, 21, 132, -1, 132, 22, 132, -1, 132, 19, + 132, -1, 132, 20, 111, -1, 132, 26, 132, -1, + -1, 23, 96, -1, 24, 78, 112, 77, 96, 102, + -1, 21, 78, 93, 112, 77, 96, 102, -1, 22, + 78, 93, 114, 77, 96, 102, -1, 28, 78, 93, + 112, 77, 96, -1, 29, 92, -1, -1, 25, 92, + -1, 115, 19, 78, 93, 110, 77, 108, 96, 105, + -1, 115, 20, 78, 93, 111, 77, 108, 96, 105, + -1, 115, 26, 46, 93, 147, 78, 112, 77, 96, + 105, -1, 115, 26, 149, 78, 93, 112, 77, 96, + 105, -1, 115, 26, 78, 93, 112, 77, 96, 105, + -1, 115, 26, 78, 93, 113, 82, 110, 82, 108, + 113, 77, 96, -1, 115, 92, 105, -1, 115, 27, + 78, 93, 94, 112, 77, 96, -1, -1, -1, 101, + -1, -1, 132, -1, 132, -1, 132, -1, 109, -1, + 111, -1, -1, 13, -1, 117, -1, 120, -1, 119, + -1, 129, -1, 130, -1, 14, 123, 118, 92, -1, + 4, -1, -1, 47, 121, 124, 125, 126, 128, -1, + 15, 121, 124, 125, 126, 128, -1, -1, -1, -1, 4, -1, -1, 7, -1, -1, 49, 7, -1, 49, - -1, 49, 7, -1, 49, -1, 91, -1, 81, -1, - 17, 4, 81, -1, -1, 18, 120, 130, 4, 4, - 144, 81, -1, 131, 54, 131, -1, 131, 53, 131, - -1, 131, 52, 131, -1, 132, -1, 132, 56, -1, - 132, 56, 141, -1, 141, -1, 36, 153, 132, -1, - 34, 78, 153, 131, 77, -1, 141, 76, 135, 78, - 145, 77, -1, 141, 76, 135, -1, 5, 153, 144, - -1, 6, 153, 78, 145, 77, -1, 36, 144, -1, - 34, 78, 145, 77, -1, -1, 12, 121, 91, 134, - 144, -1, 5, -1, 148, -1, 152, 3, 131, 81, - 80, -1, 148, 79, 131, 82, -1, 141, 76, 79, - 131, 82, -1, 136, 79, 131, 82, -1, 148, 3, - 131, 81, 80, -1, 141, 76, 3, 131, 81, 80, - -1, 136, 3, 131, 81, 80, -1, 141, 76, 78, - 77, -1, 141, 76, 78, 131, 77, -1, 136, 78, - 131, 77, -1, 136, 78, 77, -1, 78, 131, 77, - 79, 131, 82, -1, 78, 77, 79, 131, 82, -1, - 141, 57, 141, -1, 141, 71, 141, -1, 141, 39, - 141, -1, 141, 40, 141, -1, 141, 65, 141, -1, - 141, 37, 141, -1, 141, 38, 141, -1, 141, 64, - 141, -1, 141, 63, 141, -1, 141, 31, 141, -1, - 141, 62, 141, -1, 141, 61, 141, -1, 141, 60, - 141, -1, 141, 66, 141, -1, 83, 141, -1, 84, - 141, -1, 67, 141, -1, 68, 141, -1, 141, 73, - -1, 141, 72, -1, 75, 141, -1, 74, 141, -1, - 79, 131, 82, -1, 79, 82, -1, 43, 131, 81, - 80, -1, 43, 81, 80, -1, 16, 121, 124, 125, - 91, -1, 42, 141, -1, 42, 91, -1, 42, 4, - 78, 77, -1, 42, 4, 78, 131, 77, -1, 42, - 148, 78, 77, -1, 42, 148, 78, 131, 77, -1, - 137, -1, 138, -1, 139, -1, 140, -1, 141, 58, - 141, 59, 141, -1, 69, 141, -1, 142, -1, 45, - 141, -1, 78, 131, 77, -1, 78, 77, -1, 148, - -1, 152, -1, 150, -1, 149, -1, 151, -1, 136, - -1, 149, 79, 131, 82, -1, 149, 3, 131, 81, - 80, -1, 7, -1, 147, -1, 147, 78, 77, -1, - 147, 78, 131, 77, -1, 44, 4, 144, -1, 30, - -1, 30, 141, -1, 55, 132, -1, 35, -1, 35, - 91, -1, 35, 141, -1, 48, -1, 48, 141, -1, - 11, 141, -1, 32, -1, 32, 78, 77, -1, 10, - -1, 33, 78, 77, -1, 33, 78, 131, 77, -1, - 8, 78, 132, 77, -1, 4, -1, 133, -1, 46, - 143, 126, -1, 46, 143, -1, 78, 131, 77, -1, - 78, 77, -1, 148, -1, 150, -1, 149, -1, -1, - 132, -1, -1, 131, -1, 131, 56, -1, 148, -1, - 50, 153, -1, 85, 153, -1, 86, 153, -1, 87, - 153, -1, 41, 153, -1, 88, 153, -1, 4, -1, - 148, -1, 91, -1, 9, -1 + -1, 49, 7, -1, 49, -1, 92, -1, 82, -1, + 17, 4, 82, -1, -1, 18, 121, 131, 4, 4, + 145, 82, -1, 132, 54, 132, -1, 132, 53, 132, + -1, 132, 52, 132, -1, 133, -1, 133, 56, -1, + 133, 56, 142, -1, 142, -1, 36, 154, 133, -1, + 34, 78, 154, 132, 77, -1, 142, 76, 136, 78, + 146, 77, -1, 142, 76, 136, -1, 5, 154, 145, + -1, 6, 154, 78, 146, 77, -1, 36, 145, -1, + 34, 78, 146, 77, -1, -1, 12, 122, 92, 135, + 145, -1, 5, -1, 149, -1, 153, 3, 132, 82, + 81, -1, 149, 79, 132, 83, -1, 142, 76, 79, + 132, 83, -1, 137, 79, 132, 83, -1, 149, 3, + 132, 82, 81, -1, 142, 76, 3, 132, 82, 81, + -1, 137, 3, 132, 82, 81, -1, 142, 76, 78, + 77, -1, 142, 76, 78, 132, 77, -1, 137, 78, + 132, 77, -1, 137, 78, 77, -1, 78, 132, 77, + 79, 132, 83, -1, 78, 77, 79, 132, 83, -1, + 142, 57, 142, -1, 142, 71, 142, -1, 142, 39, + 142, -1, 142, 40, 142, -1, 142, 65, 142, -1, + 142, 37, 142, -1, 142, 38, 142, -1, 142, 64, + 142, -1, 142, 63, 142, -1, 142, 31, 142, -1, + 142, 62, 142, -1, 142, 61, 142, -1, 142, 60, + 142, -1, 142, 66, 142, -1, 84, 142, -1, 85, + 142, -1, 67, 142, -1, 68, 142, -1, 142, 73, + -1, 142, 72, -1, 75, 142, -1, 74, 142, -1, + 79, 132, 83, -1, 79, 83, -1, 43, 132, 82, + 81, -1, 43, 82, 81, -1, 16, 122, 125, 126, + 92, -1, 42, 142, -1, 42, 92, -1, 42, 4, + 78, 77, -1, 42, 4, 78, 132, 77, -1, 42, + 149, 78, 77, -1, 42, 149, 78, 132, 77, -1, + 138, -1, 139, -1, 140, -1, 141, -1, 142, 58, + 142, 59, 142, -1, 69, 142, -1, 143, -1, 45, + 142, -1, 78, 132, 77, -1, 78, 77, -1, 149, + -1, 153, -1, 151, -1, 150, -1, 152, -1, 137, + -1, 150, 79, 132, 83, -1, 150, 3, 132, 82, + 81, -1, 7, -1, 148, -1, 148, 78, 77, -1, + 148, 78, 132, 77, -1, 44, 4, 145, -1, 30, + -1, 30, 142, -1, 55, 133, -1, 35, -1, 35, + 92, -1, 35, 142, -1, 48, -1, 48, 142, -1, + 11, 142, -1, 32, -1, 32, 78, 77, -1, 10, + -1, 33, 78, 77, -1, 33, 78, 132, 77, -1, + 8, 78, 133, 77, -1, 4, -1, 134, -1, 46, + 144, 127, -1, 46, 144, -1, 78, 132, 77, -1, + 78, 77, -1, 149, -1, 151, -1, 150, -1, -1, + 133, -1, -1, 132, -1, 132, 56, -1, 149, -1, + 50, 154, -1, 86, 154, -1, 87, 154, -1, 88, + 154, -1, 41, 154, -1, 89, 154, -1, 4, -1, + 149, -1, 92, -1, 9, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 98, 98, 104, 111, 115, 119, 125, 132, 136, - 140, 141, 143, 152, 154, 155, 157, 159, 168, 174, - 176, 178, 180, 182, 184, 186, 193, 194, 196, 203, - 207, 214, 217, 223, 224, 229, 235, 241, 244, 248, - 251, 268, 275, 285, 291, 292, 297, 298, 302, 307, - 311, 315, 321, 322, 326, 328, 330, 332, 334, 338, - 342, 343, 347, 352, 357, 361, 365, 369, 378, 379, - 384, 385, 387, 392, 394, 399, 400, 403, 408, 407, - 414, 416, 418, 420, 424, 426, 428, 432, 435, 438, - 443, 447, 452, 457, 459, 462, 461, 470, 471, 475, - 480, 482, 486, 490, 493, 498, 503, 506, 511, 515, - 518, 520, 525, 527, 529, 533, 535, 537, 539, 541, - 543, 545, 547, 549, 551, 553, 558, 560, 562, 564, - 566, 569, 572, 575, 582, 584, 586, 588, 590, 596, - 598, 600, 608, 617, 621, 629, 630, 631, 632, 633, - 635, 637, 639, 641, 643, 645, 647, 649, 651, 653, - 655, 657, 663, 670, 672, 674, 676, 679, 682, 685, - 687, 689, 691, 693, 695, 697, 699, 702, 704, 706, - 709, 712, 714, 716, 717, 721, 723, 728, 730, 732, - 734, 736, 741, 743, 748, 749, 751, 757, 761, 765, - 769, 773, 777, 781, 786, 788, 790, 793 + 0, 103, 103, 109, 116, 120, 124, 130, 137, 141, + 145, 146, 148, 157, 159, 160, 162, 164, 173, 179, + 181, 183, 185, 187, 189, 191, 198, 199, 201, 208, + 212, 219, 222, 228, 229, 234, 240, 246, 249, 253, + 256, 273, 280, 290, 296, 297, 302, 303, 307, 312, + 316, 320, 326, 327, 331, 333, 335, 337, 339, 343, + 347, 348, 352, 357, 362, 366, 370, 374, 383, 384, + 389, 390, 392, 397, 399, 404, 405, 408, 413, 412, + 419, 421, 423, 425, 429, 431, 433, 437, 440, 443, + 448, 452, 457, 462, 464, 467, 466, 475, 476, 480, + 485, 487, 491, 495, 498, 503, 508, 511, 516, 520, + 523, 525, 530, 532, 534, 538, 540, 542, 544, 546, + 548, 550, 552, 554, 556, 558, 563, 565, 567, 569, + 571, 574, 577, 580, 587, 589, 591, 593, 595, 601, + 603, 605, 613, 622, 626, 634, 635, 636, 637, 638, + 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, + 660, 662, 668, 675, 677, 679, 681, 684, 687, 690, + 692, 694, 696, 698, 700, 702, 704, 707, 709, 711, + 714, 717, 719, 721, 722, 726, 728, 733, 735, 737, + 739, 741, 746, 748, 753, 754, 756, 762, 766, 770, + 774, 778, 782, 786, 791, 793, 795, 798 }; #endif @@ -205,8 +205,8 @@ static const char *const yytname[] = "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('", "'['", - "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "$accept", - "prog", "block", "remember", "mydefsv", "progstart", "mblock", + "PEG", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", + "$accept", "prog", "block", "remember", "mydefsv", "progstart", "mblock", "mremember", "savescope", "lineseq", "line", "sideff", "else", "cond", "case", "cont", "loop", "switch", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "miexpr", "label", "decl", "format", "formname", @@ -232,34 +232,34 @@ static const unsigned short int yytoknum[] = 38, 304, 305, 306, 307, 308, 44, 309, 63, 58, 310, 311, 312, 313, 314, 315, 316, 33, 126, 317, 318, 319, 320, 321, 322, 323, 324, 41, 40, 91, - 125, 59, 93, 45, 43, 36, 64, 37, 42 + 325, 125, 59, 93, 45, 43, 36, 64, 37, 42 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 98, 98, 99, 99, 99, 99, 99, 99, 100, - 100, 100, 100, 100, 100, 100, 101, 101, 101, 102, - 102, 103, 103, 104, 104, 105, 105, 105, 105, 105, - 105, 105, 106, 107, 108, 108, 109, 109, 110, 111, - 112, 113, 114, 114, 115, 115, 115, 115, 115, 116, - 117, 117, 118, 119, 120, 121, 122, 123, 124, 124, - 125, 125, 125, 126, 126, 127, 127, 128, 130, 129, - 131, 131, 131, 131, 132, 132, 132, 133, 133, 133, - 133, 133, 133, 133, 133, 134, 133, 135, 135, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, - 138, 138, 138, 138, 139, 139, 139, 139, 139, 140, - 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 142, 142, 143, 143, 143, - 143, 143, 144, 144, 145, 145, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 153, 153, 153 + 0, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 99, 99, 100, 100, 100, 100, 100, 100, 101, + 101, 101, 101, 101, 101, 101, 102, 102, 102, 103, + 103, 104, 104, 105, 105, 106, 106, 106, 106, 106, + 106, 106, 107, 108, 109, 109, 110, 110, 111, 112, + 113, 114, 115, 115, 116, 116, 116, 116, 116, 117, + 118, 118, 119, 120, 121, 122, 123, 124, 125, 125, + 126, 126, 126, 127, 127, 128, 128, 129, 131, 130, + 132, 132, 132, 132, 133, 133, 133, 134, 134, 134, + 134, 134, 134, 134, 134, 135, 134, 136, 136, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 139, 139, 139, 139, + 139, 139, 139, 139, 140, 140, 140, 140, 140, 141, + 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 143, 143, 144, 144, 144, + 144, 144, 145, 145, 146, 146, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 154, 154, 154 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -354,60 +354,60 @@ static const short int yydefgoto[] = #define YYPACT_NINF -362 static const short int yypact[] = { - -362, 19, -362, -362, 123, -362, -362, 20, -362, -362, - 40, -362, -362, -362, -362, -362, -362, 51, 57, -8, - -362, 57, -362, -362, -362, -362, 291, -362, 73, -362, - 70, -362, 95, 70, -362, -362, -362, 17, 17, -362, - 41, -362, 1660, -362, -362, 43, 46, 50, 58, 83, - 65, 67, 73, 1660, 68, 78, 84, 639, 553, 17, - 725, 810, 138, 1660, 262, 1660, 17, 1660, 1660, 1660, - 1660, 1660, 1660, 895, 980, -362, 1660, 1660, 17, 17, - 17, 17, 140, 86, -362, -362, 604, 108, -362, 10, - -362, -362, -362, -362, 1911, -362, 91, 11, 14, -362, - -362, 171, -362, -362, 128, 180, 128, -362, -362, -362, - -362, -362, 1660, 126, 1660, 796, 73, 70, -362, -362, - -362, -362, -362, -362, 137, -362, -362, -362, 1911, 109, - 1065, 553, -362, 796, 1794, 108, -362, 1730, 1660, -362, - 161, -362, 796, 39, 169, 160, 1660, 796, 1150, 168, - -362, -362, -362, 796, -362, 108, 499, 499, 499, -35, - -35, 172, 214, -362, -23, 499, 499, -362, -362, -362, - -362, 73, -362, -362, 1660, 1660, 1660, 1660, 1660, 1660, - 1660, 1660, 1660, 1660, 1235, 1660, 1660, 1660, 1660, 1660, - 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, - 1660, -362, -362, 47, 1320, 1660, 1660, 1660, 1660, 1660, - 211, 6, 1660, 6, 64, -362, 1660, -45, -362, 128, - 1660, 1660, 1660, 1660, 155, 379, -362, -362, 1660, -362, - -362, 349, 149, 176, 1660, 108, 1405, 1490, -362, 179, - -362, -362, 428, 253, -362, 1660, 182, -362, -362, 383, - -362, 383, 383, 383, 383, 227, 227, -362, 1911, 235, - -362, 471, 31, 1971, 758, 625, 842, 100, 1911, 1868, - 207, 207, 455, 540, 711, 367, 499, 499, 1660, -362, - 1575, 1660, 206, -362, -362, 514, 276, 139, 290, 204, - 364, -362, -362, -362, -362, 201, -362, -362, 213, -362, - 1660, 73, 216, 383, 223, 229, 383, -362, 231, 244, - -362, -362, -362, 232, 257, 378, 1660, 1660, 268, -362, - -362, -362, 600, -362, 657, -362, 667, -362, -362, -362, - 222, 1660, 270, -362, -362, 1660, 433, -362, 686, 300, - 1660, -362, 271, -362, 275, -362, 281, -362, -362, -362, - -362, -362, -362, 353, 353, 1660, 353, 1660, 311, 316, - 353, -362, -362, -362, -362, 310, -362, 1954, 287, -362, - -362, 317, -362, -362, -362, 353, 353, -362, 16, 16, - 319, 140, 324, 353, 353, -362, -362, -362, -362, 140, - 140, -362, 353, 330, -362, -362, 353, -362, -362, 140, - -362, -362, -362, 116, -362, 1660, 140, 467, -362, -362, - 333, -362, 342, 353, 353, 16, -362, -362 + -362, 13, -362, -362, 198, -362, -362, 23, -362, -362, + 19, -362, -362, -362, -362, -362, -362, 37, 51, -9, + -362, 51, -362, -362, -362, -362, 316, -362, 54, -362, + 112, -362, 95, 112, -362, -362, -362, 16, 16, -362, + 43, -362, 1701, -362, -362, 50, 56, 60, 66, -25, + 68, 93, 54, 1701, 96, 98, 99, 668, 581, 16, + 755, 841, 127, 1701, 118, 1701, 16, 1701, 1701, 1701, + 1701, 1701, 1701, 927, 1013, -362, 1701, 1701, 16, 16, + 16, 16, 107, 85, -362, -362, 287, 114, -362, 11, + -362, -362, -362, -362, 1929, -362, 106, 8, 14, -362, + -362, 170, -362, -362, 137, 197, 137, -362, -362, -362, + -362, -362, 1701, 124, 1701, 353, 54, 112, -362, -362, + -362, -362, -362, -362, 129, -362, -362, -362, 1929, 140, + 1099, 581, -362, 353, 1839, 114, -362, 1774, 1701, -362, + 136, -362, 353, 39, 142, -23, 1701, 353, 1185, 169, + -362, -362, -362, 353, -362, 114, 168, 168, 168, 92, + 92, 167, 390, -362, 89, 168, 168, -362, -362, -362, + -362, 54, -362, -362, 1701, 1701, 1701, 1701, 1701, 1701, + 1701, 1701, 1701, 1701, 1271, 1701, 1701, 1701, 1701, 1701, + 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, + 1701, -362, -362, 47, 1357, 1701, 1701, 1701, 1701, 1701, + 240, 6, 1701, 6, 64, -362, 1701, -19, -362, 137, + 1701, 1701, 1701, 1701, 163, 405, -362, -362, 1701, -362, + -362, 409, 242, 179, 1701, 114, 1443, 1529, -362, 177, + -362, -362, 479, 259, -362, 1701, 192, -362, -362, -14, + -362, -14, -14, -14, -14, 221, 221, -362, 1929, 31, + -362, 600, 207, 1989, 741, 567, 796, 788, 1929, 1886, + 1744, 1744, 393, 481, 654, 90, 168, 168, 1701, -362, + 1615, 1701, 200, -362, -362, 609, 139, 324, 230, 424, + 234, -362, -362, -362, -362, 194, -362, -362, 202, -362, + 1701, 54, 214, -14, 215, 220, -14, -362, 222, 225, + -362, -362, -362, 227, 236, 248, 1701, 1701, 252, -362, + -362, -362, 629, -362, 687, -362, 696, -362, -362, -362, + 460, 1701, 249, -362, -362, 1701, 315, -362, 716, 512, + 1701, -362, 253, -362, 272, -362, 273, -362, -362, -362, + -362, -362, -362, 330, 330, 1701, 330, 1701, 286, 293, + 330, -362, -362, -362, -362, 547, -362, 1972, 294, -362, + -362, 297, -362, -362, -362, 330, 330, -362, 53, 53, + 302, 107, 298, 330, 330, -362, -362, -362, -362, 107, + 107, -362, 330, 304, -362, -362, 330, -362, -362, 107, + -362, -362, -362, 122, -362, 1701, 107, 494, -362, -362, + 309, -362, 310, 330, 330, 53, -362, -362 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -362, -362, -24, -51, -362, -362, 1508, -362, -362, -106, - -362, 402, -361, -362, -362, -183, -362, -362, -342, -362, - 85, -196, -220, -39, -362, -362, -362, -362, -362, -362, - -362, 49, 397, -362, 423, -17, -99, -362, 236, -362, + -362, -362, -24, -51, -362, -362, -103, -362, -362, -106, + -362, 362, -361, -362, -362, -34, -362, -362, -342, -362, + 32, -197, -220, -11, -362, -362, -362, -362, -362, -362, + -362, 115, 355, -362, 387, -17, -99, -362, 201, -362, -362, -362, -26, -52, -362, -362, -362, -362, -362, -362, -362, -362, 38, -362, -362, -100, -213, -362, -362, -15, - 386, 387, -362, -362, 184 + 356, 358, -362, -362, 184 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -418,128 +418,123 @@ static const short int yypgoto[] = static const short int yytable[] = { 86, 214, 82, 298, 102, 313, 135, 213, 318, 35, - 376, 182, 215, 183, 205, 155, 106, 207, 395, 3, - 35, 108, 111, 111, 19, 304, 109, 307, 127, 179, - 180, 181, 299, 132, 124, 145, 141, -184, -184, 392, - 393, 203, 205, 137, 111, 143, 240, 162, 164, 150, - 278, 111, 279, 22, 417, 27, 407, 20, 21, 247, - 135, 29, 217, 111, 111, 111, 111, 220, 221, 222, - 223, 224, 225, 31, 227, 228, 35, 103, 5, 6, - 115, 7, 8, 179, 180, 181, 235, 292, 184, 185, - 206, 128, 218, 208, 135, 133, 358, 359, 142, 105, + 376, 205, 215, 3, 183, 155, 106, 207, 395, 35, + 108, 122, 111, 111, 304, 109, 307, 19, 127, 179, + 180, 181, 22, 132, 124, 145, 141, 182, 179, 180, + 181, 27, 205, 137, 111, 143, 240, 162, 164, 150, + 278, 111, 279, 123, 417, 29, 407, 35, 299, 239, + 135, 78, 217, 111, 111, 111, 111, 220, 221, 222, + 223, 224, 225, 31, 227, 228, 392, 393, 5, 6, + 115, 7, 8, 179, 180, 181, 235, 206, 292, 184, + 185, 128, 218, 208, 135, 133, 358, 359, 142, 105, 219, 147, 78, 153, 231, 232, 156, 157, 158, 159, - 160, 9, 295, 334, 165, 166, 137, 237, 206, 114, - 301, 118, 242, -2, 119, 280, 281, 371, 120, 122, - 5, 6, 78, 7, 8, 380, 121, 5, 6, 189, - 7, 8, 146, 125, 297, 126, 129, 248, 249, 251, - 252, 253, 254, 255, 256, 257, 130, 259, 261, 262, - 135, 123, 131, 9, 182, 171, 199, 173, 78, 204, - 9, 200, 201, 202, 209, 316, 203, 210, 285, 286, - 287, 288, 289, 290, 212, 410, 229, 293, 283, 293, - 232, 179, 180, 181, 303, 251, 409, 251, 397, 315, - 349, 179, 180, 181, 216, 320, 401, 402, 322, 310, - 324, 326, 179, 180, 181, 226, 408, 243, 291, 330, - 258, 343, 113, 411, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 236, - 78, 239, 138, 139, 187, 188, 189, 190, 135, 238, - 154, 245, 336, 321, 338, 339, 179, 180, 181, 327, - 329, 331, 167, 168, 169, 170, 179, 180, 181, 195, - 196, 197, 198, 199, 179, 180, 181, 350, 200, 201, - 202, 181, 347, 203, 340, 403, 345, 179, 180, 181, - 348, 246, 34, 351, 35, 36, 37, 38, 39, 40, - 352, 41, 42, 43, 364, 365, 353, 44, 354, 356, - 45, 46, 47, 48, 232, 234, 332, 49, 50, 51, - 52, 53, 355, 54, 55, 56, 57, 58, 179, 180, - 181, 303, 59, 60, 61, 62, 63, 64, 357, 65, - 148, 66, 179, 180, 181, 360, 67, 78, 79, 80, - 366, 372, 179, 180, 181, 373, 377, 342, 68, 69, - 70, 374, 179, 180, 181, 71, 72, 387, 412, 73, - 74, 344, 75, 367, 76, 77, 78, 79, 80, 81, - 34, 86, 370, 36, 37, 38, 39, 40, 383, 41, - 42, 43, 386, 384, 388, 44, 396, 174, 175, 176, - 177, 179, 180, 181, 178, 398, 189, 190, 405, 53, - 413, 54, 55, 56, 57, 58, 179, 180, 181, 414, - 59, 60, 61, 62, 63, 64, 319, 65, 83, 66, - 179, 180, 181, 199, 67, 179, 180, 181, 200, 201, - 202, 117, 382, 203, 33, 346, 68, 69, 70, 296, - 151, 152, 0, 71, 72, -49, 0, 73, 74, 0, - -44, 0, 76, 77, 78, 79, 80, 81, 34, 0, - 0, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 179, 180, 181, 44, 0, 179, 180, 181, 0, 0, - 0, 0, 187, 188, 189, 190, 0, 53, 0, 54, - 55, 56, 57, 58, 0, 328, 0, 0, 59, 60, - 61, 62, 63, 64, 368, 65, 0, 66, 196, 197, - 198, 199, 67, 179, 180, 181, 200, 201, 202, 0, - 0, 203, 0, 0, 68, 69, 70, 0, 0, 0, - 0, 71, 72, 0, -44, 73, 74, 0, 333, 0, - 76, 77, 78, 79, 80, 81, 35, 134, 37, 38, - 39, 40, 109, 41, 42, 43, 179, 180, 181, 44, - 200, 201, 202, 0, 0, 203, 0, 187, 188, 189, - 190, 0, 0, 53, 0, 54, 55, 56, 57, 58, - 0, 341, 0, 0, 59, 60, 61, 62, 63, 64, - 0, 65, 0, 66, 197, 198, 199, 0, 67, 0, - 0, 200, 201, 202, 0, 0, 203, 0, 0, 0, - 68, 69, 70, 174, 175, 176, 177, 71, 72, 0, - 178, 73, 74, 0, 0, 0, 76, 77, 78, 79, - 80, 81, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 179, 180, 181, 44, 179, 180, 181, 0, - 0, 0, 187, -184, 189, 190, 0, 0, 0, 53, - 0, 54, 55, 56, 57, 58, 0, 361, 0, 0, - 59, 60, 61, 62, 63, 64, 0, 65, 0, 66, - 198, 199, 0, 0, 67, 0, 200, 201, 202, 0, - 0, 203, 0, 0, 0, 0, 68, 69, 70, 179, - 180, 181, 0, 71, 72, 0, 0, 73, 74, 179, - 180, 181, 76, 77, 78, 79, 80, 81, 35, 140, + 160, 9, 295, 332, 165, 166, 137, 237, 206, 103, + 301, 114, 242, 20, 21, 280, 281, 371, 118, 189, + 190, 146, 171, 78, 119, 380, 5, 6, 120, 7, + 8, 179, 180, 181, 121, 297, 125, 248, 249, 251, + 252, 253, 254, 255, 256, 257, 199, 259, 261, 262, + 135, 200, 201, 202, -184, -184, 203, 173, 203, 9, + 182, 126, 247, 209, 129, 316, 130, 131, 285, 286, + 287, 288, 289, 290, 204, 410, 210, 293, 283, 293, + 232, 179, 180, 181, 303, 251, 148, 251, -2, 315, + 349, 212, 216, 409, 78, 79, 80, 226, 322, 310, + 324, 326, 5, 6, 236, 7, 8, 229, 243, 330, + 258, 342, 113, 238, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 200, + 201, 202, 138, 139, 203, 9, 245, 291, 135, 78, + 154, 379, 336, 381, 338, 339, 321, 385, 327, 179, + 180, 181, 167, 168, 169, 170, 329, 174, 175, 176, + 177, 331, 389, 390, 178, 181, 347, 350, 340, 348, + 399, 400, 179, 180, 181, 403, 179, 180, 181, 404, + 334, 351, 352, 406, 179, 180, 181, 353, 320, 354, + 179, 180, 181, 355, 356, 365, 174, 175, 176, 177, + 415, 416, 344, 178, 232, 234, 346, 34, 357, 35, + 36, 37, 38, 39, 40, -49, 41, 42, 43, 360, + 366, 303, 44, 377, 372, 45, 46, 47, 48, 179, + 180, 181, 49, 50, 51, 52, 53, 397, 54, 55, + 56, 57, 58, 373, 374, 401, 402, 59, 60, 61, + 62, 63, 64, 383, 65, 408, 66, 179, 180, 181, + 384, 67, 411, 367, 388, 387, 179, 180, 181, 396, + 398, 86, 405, 68, 69, 70, 413, 414, 83, 382, + 71, 72, 189, 190, 73, 74, 412, 368, 75, 117, + 76, 77, 78, 79, 80, 81, 34, 343, 33, 36, + 37, 38, 39, 40, 296, 41, 42, 43, 198, 199, + 151, 44, 152, 0, 200, 201, 202, 0, 0, 203, + 187, 188, 189, 190, 0, 53, 0, 54, 55, 56, + 57, 58, 179, 180, 181, 0, 59, 60, 61, 62, + 63, 64, 0, 65, 0, 66, 196, 197, 198, 199, + 67, 179, 180, 181, 200, 201, 202, 246, 0, 203, + 0, 0, 68, 69, 70, 0, 179, 180, 181, 71, + 72, 0, 0, 73, 74, 0, 319, -44, 0, 76, + 77, 78, 79, 80, 81, 34, 0, 0, 36, 37, + 38, 39, 40, 0, 41, 42, 43, 345, 0, 0, + 44, 0, 179, 180, 181, 0, 0, 0, 187, 188, + 189, 190, 0, 0, 53, 0, 54, 55, 56, 57, + 58, 179, 180, 181, 0, 59, 60, 61, 62, 63, + 64, 0, 65, 364, 66, 197, 198, 199, 0, 67, + 0, 0, 200, 201, 202, 0, 328, 203, 0, 0, + 0, 68, 69, 70, 179, 180, 181, 0, 71, 72, + 0, -44, 73, 74, 0, 0, 0, 0, 76, 77, + 78, 79, 80, 81, 35, 134, 37, 38, 39, 40, + 109, 41, 42, 43, 0, 370, 0, 44, 0, 179, + 180, 181, 0, 0, 187, -184, 189, 190, 0, 0, + 0, 53, 0, 54, 55, 56, 57, 58, 0, 0, + 0, 0, 59, 60, 61, 62, 63, 64, 0, 65, + 386, 66, 198, 199, 0, 0, 67, 0, 200, 201, + 202, 0, 0, 203, 0, 0, 0, 0, 68, 69, + 70, 0, 179, 180, 181, 71, 72, 0, 0, 73, + 74, 179, 180, 181, 0, 76, 77, 78, 79, 80, + 81, 35, 36, 37, 38, 39, 40, 333, 41, 42, + 43, 179, 180, 181, 44, 0, 341, 0, 0, 0, + 0, 187, 188, 189, 190, 0, 0, 0, 53, 0, + 54, 55, 56, 57, 58, 0, 361, 0, 0, 59, + 60, 61, 62, 63, 64, 0, 65, 0, 66, 198, + 199, 0, 0, 67, 0, 200, 201, 202, 0, 0, + 203, 0, 0, 0, 0, 68, 69, 70, 0, 179, + 180, 181, 71, 72, 0, 0, 73, 74, 179, 180, + 181, 0, 76, 77, 78, 79, 80, 81, 35, 140, 37, 38, 39, 40, 362, 41, 42, 43, 179, 180, - 181, 44, 0, 0, 363, 0, 0, 0, 187, 188, + 181, 44, 0, 363, 0, 0, 0, 0, -184, 0, 189, 190, 0, 0, 0, 53, 0, 54, 55, 56, 57, 58, 0, 369, 0, 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, 66, 198, 199, 0, 0, 67, 0, 200, 201, 202, 0, 0, 203, 0, 0, - 0, 0, 68, 69, 70, -184, 0, 189, 190, 71, - 72, 0, 0, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 198, 199, 0, 44, 0, 0, 200, - 201, 202, 0, 0, 203, 189, 190, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 198, 199, 0, 0, 67, 0, 200, 201, 202, - 0, 0, 203, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 0, 71, 72, 0, 0, 73, 74, - 0, 144, 0, 76, 77, 78, 79, 80, 81, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 199, 0, - 0, 44, 0, 200, 201, 202, 0, 0, 203, 0, - 0, 0, 0, 0, 0, 53, 0, 54, 55, 56, - 57, 58, 0, 0, 0, 0, 59, 60, 61, 62, - 63, 64, 0, 65, 0, 66, 0, 0, 0, 0, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 68, 69, 70, 0, 0, 0, 0, 71, - 72, 0, 161, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 68, 69, 70, 0, 0, 189, 0, 71, + 72, 0, 0, 73, 74, 0, 0, 0, 0, 76, + 77, 78, 79, 80, 81, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 199, 0, 0, 44, 0, 200, + 201, 202, 199, 0, 203, 0, 0, 200, 201, 202, + 0, 53, 203, 54, 55, 56, 57, 58, 0, 0, + 0, 0, 59, 60, 61, 62, 63, 64, 0, 65, + 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, + 70, 0, 0, 0, 0, 71, 72, 0, 0, 73, + 74, 0, 0, 144, 0, 76, 77, 78, 79, 80, + 81, 36, 37, 38, 39, 40, 0, 41, 42, 43, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 0, 54, + 55, 56, 57, 58, 0, 0, 0, 0, 59, 60, + 61, 62, 63, 64, 0, 65, 0, 66, 0, 0, + 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 69, 70, 0, 0, 0, + 0, 71, 72, 0, 161, 73, 74, 0, 0, 0, + 0, 76, 77, 78, 79, 80, 81, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 0, 71, 72, 0, 0, 73, 74, - 0, 0, 163, 76, 77, 78, 79, 80, 81, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 0, 54, 55, 56, - 57, 58, 0, 0, 0, 0, 59, 60, 61, 62, - 63, 64, 0, 65, 0, 66, 0, 0, 0, 0, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 68, 69, 70, 0, 0, 0, 0, 71, - 72, 0, 230, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 53, 0, 54, 55, 56, 57, 58, + 0, 0, 0, 0, 59, 60, 61, 62, 63, 64, + 0, 65, 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 0, 71, 72, 0, 241, 73, 74, + 68, 69, 70, 0, 0, 0, 0, 71, 72, 0, + 0, 73, 74, 0, 0, 0, 163, 76, 77, 78, + 79, 80, 81, 36, 37, 38, 39, 40, 0, 41, + 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 0, 54, 55, 56, 57, 58, 0, 0, 0, 0, + 59, 60, 61, 62, 63, 64, 0, 65, 0, 66, + 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 68, 69, 70, 0, + 0, 0, 0, 71, 72, 0, 230, 73, 74, 0, 0, 0, 0, 76, 77, 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, @@ -548,32 +543,41 @@ static const short int yytable[] = 63, 64, 0, 65, 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, 0, 0, 0, 0, 71, - 72, 0, 260, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, + 72, 0, 241, 73, 74, 0, 0, 0, 0, 76, + 77, 78, 79, 80, 81, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 0, 71, 72, 0, 284, 73, 74, - 0, 0, 0, 76, 77, 78, 79, 80, 81, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 0, 54, 55, 56, - 57, 58, 0, 0, 0, 0, 59, 60, 61, 62, - 63, 64, 0, 65, 0, 66, 0, 0, 0, 0, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 68, 69, 70, 0, 0, 0, 0, 71, - 72, 0, 323, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, + 0, 53, 0, 54, 55, 56, 57, 58, 0, 0, + 0, 0, 59, 60, 61, 62, 63, 64, 0, 65, + 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, + 70, 0, 0, 0, 0, 71, 72, 0, 260, 73, + 74, 0, 0, 0, 0, 76, 77, 78, 79, 80, + 81, 36, 37, 38, 39, 40, 0, 41, 42, 43, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 0, 54, + 55, 56, 57, 58, 0, 0, 0, 0, 59, 60, + 61, 62, 63, 64, 0, 65, 0, 66, 0, 0, + 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 69, 70, 0, 0, 0, + 0, 71, 72, 0, 284, 73, 74, 0, 0, 0, + 0, 76, 77, 78, 79, 80, 81, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 53, 0, 54, 55, 56, 57, 58, + 0, 0, 0, 0, 59, 60, 61, 62, 63, 64, + 0, 65, 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 0, 71, 72, 0, 325, 73, 74, + 68, 69, 70, 0, 0, 0, 0, 71, 72, 0, + 323, 73, 74, 0, 0, 0, 0, 76, 77, 78, + 79, 80, 81, 36, 37, 38, 39, 40, 0, 41, + 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 0, 54, 55, 56, 57, 58, 0, 0, 0, 0, + 59, 60, 61, 62, 63, 64, 0, 65, 0, 66, + 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 68, 69, 70, 0, + 0, 0, 0, 71, 72, 0, 325, 73, 74, 0, 0, 0, 0, 76, 77, 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, @@ -582,174 +586,167 @@ static const short int yytable[] = 63, 64, 0, 65, 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, 0, 0, 0, 0, 71, - 72, 0, 337, 73, 74, 0, 0, 0, 76, 77, - 78, 79, 80, 81, 36, 37, 38, 39, 40, 0, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, + 72, 0, 337, 73, 74, 0, 0, 0, 0, 76, + 77, 78, 79, 80, 81, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 0, 54, 55, 56, 57, 58, 0, 0, 0, - 0, 59, 60, 61, 62, 63, 64, 0, 65, 0, - 66, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, - 0, 0, 0, 205, 71, 72, 0, 0, 73, 74, - 0, 0, 0, 76, 77, 78, 79, 80, 81, -155, - -155, -155, -155, 0, 0, 0, -155, 0, 0, 0, - 0, -155, 0, 0, 0, 0, 0, -155, -155, -155, - -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -155, -155, -155, 0, -155, -155, -155, -155, - -155, -155, -155, -155, -155, -155, -155, 0, 0, 0, - 0, -155, -155, -155, 0, 0, -155, -155, 0, 206, - 0, -155, -155, -183, -183, -183, -183, 0, 0, 0, - -183, 0, 0, 0, 0, -183, 0, 0, 0, 0, - 0, -183, -183, -183, -183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -183, -183, -183, 0, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, 0, 379, 0, 381, -183, -183, -183, 385, 0, - -183, -183, 0, 0, 0, -183, -183, 0, 0, 0, - 0, 0, 0, 389, 390, 0, 0, 0, 0, 0, - 0, 399, 400, 0, 0, 0, 0, 0, 0, 186, - 404, 0, 0, 0, 406, 187, 188, 189, 190, 0, + 0, 53, 0, 54, 55, 56, 57, 58, 0, 0, + 0, 0, 59, 60, 61, 62, 63, 64, 0, 65, + 0, 66, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, + 70, 0, 0, 0, 0, 71, 72, 205, 0, 73, + 74, 187, 188, 189, 190, 76, 77, 78, 79, 80, + 81, 0, 0, -155, -155, -155, -155, 0, 0, 0, + -155, 0, 0, 0, 0, -155, 195, 196, 197, 198, + 199, -155, -155, -155, -155, 200, 201, 202, 0, 0, + 203, 0, 0, 0, 0, 0, -155, -155, -155, 0, + -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, + -155, 0, 0, 0, 0, -155, -155, -155, 0, 0, + -155, -155, 0, 206, 0, 0, -155, -155, -183, -183, + -183, -183, 0, 0, 0, -183, 0, 0, 0, 0, + -183, 0, 0, 0, 0, 0, -183, -183, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 415, 416, 0, 0, 191, 192, 335, 193, 194, - 195, 196, 197, 198, 199, 0, 0, 0, 0, 200, - 201, 202, 186, 0, 203, 0, 0, 0, 187, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 0, 193, 194, 195, 196, 197, 198, 199, 0, 0, - 0, 0, 200, 201, 202, 186, 0, 203, 0, 0, - 0, 187, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, -184, 0, 0, 0, 0, 0, 187, 188, - 189, 190, 192, 0, 193, 194, 195, 196, 197, 198, - 199, 0, 0, 0, 0, 200, 201, 202, 0, 0, - 203, 193, 194, 195, 196, 197, 198, 199, 0, 0, - 0, 0, 200, 201, 202, 0, 0, 203 + 0, -183, -183, -183, 0, -183, -183, -183, -183, -183, + -183, -183, -183, -183, -183, -183, 0, 0, 0, 0, + -183, -183, -183, 0, 0, -183, -183, 186, 0, 0, + 0, -183, -183, 187, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 335, 193, 194, 195, 196, + 197, 198, 199, 0, 0, 0, 0, 200, 201, 202, + 186, 0, 203, 0, 0, 0, 187, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 0, 193, + 194, 195, 196, 197, 198, 199, 0, 0, 0, 0, + 200, 201, 202, 186, 0, 203, 0, 0, 0, 187, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + -184, 0, 0, 0, 0, 0, 187, 188, 189, 190, + 192, 0, 193, 194, 195, 196, 197, 198, 199, 0, + 0, 0, 0, 200, 201, 202, 0, 0, 203, 193, + 194, 195, 196, 197, 198, 199, 0, 0, 0, 0, + 200, 201, 202, 0, 0, 203 }; static const short int yycheck[] = { 26, 107, 26, 216, 28, 225, 58, 106, 228, 3, - 352, 56, 112, 3, 3, 67, 33, 3, 379, 0, - 3, 4, 37, 38, 4, 221, 9, 223, 52, 52, - 53, 54, 77, 57, 49, 61, 60, 72, 73, 23, - 24, 76, 3, 58, 59, 60, 146, 73, 74, 64, - 3, 66, 5, 13, 415, 4, 398, 8, 9, 82, - 112, 4, 114, 78, 79, 80, 81, 118, 119, 120, - 121, 122, 123, 81, 125, 126, 3, 7, 14, 15, - 42, 17, 18, 52, 53, 54, 138, 81, 78, 79, + 352, 3, 112, 0, 3, 67, 33, 3, 379, 3, + 4, 46, 37, 38, 221, 9, 223, 4, 52, 52, + 53, 54, 13, 57, 49, 61, 60, 56, 52, 53, + 54, 4, 3, 58, 59, 60, 146, 73, 74, 64, + 3, 66, 5, 78, 415, 4, 398, 3, 77, 82, + 112, 86, 114, 78, 79, 80, 81, 118, 119, 120, + 121, 122, 123, 82, 125, 126, 23, 24, 14, 15, + 42, 17, 18, 52, 53, 54, 138, 79, 82, 78, 79, 53, 116, 79, 146, 57, 316, 317, 60, 4, - 117, 63, 85, 65, 130, 131, 68, 69, 70, 71, - 72, 47, 212, 82, 76, 77, 131, 78, 79, 78, - 219, 78, 148, 0, 78, 78, 79, 340, 78, 46, - 14, 15, 85, 17, 18, 355, 78, 14, 15, 39, - 17, 18, 4, 78, 80, 78, 78, 171, 174, 175, - 176, 177, 178, 179, 180, 181, 78, 183, 184, 185, - 212, 78, 78, 47, 56, 25, 66, 81, 85, 78, - 47, 71, 72, 73, 3, 226, 76, 49, 204, 205, - 206, 207, 208, 209, 4, 405, 77, 211, 203, 213, - 216, 52, 53, 54, 220, 221, 80, 223, 381, 225, - 300, 52, 53, 54, 78, 56, 389, 390, 234, 224, - 236, 237, 52, 53, 54, 78, 399, 49, 7, 245, - 182, 82, 38, 406, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 78, - 85, 81, 58, 59, 37, 38, 39, 40, 300, 80, - 66, 79, 278, 77, 280, 281, 52, 53, 54, 80, - 7, 79, 78, 79, 80, 81, 52, 53, 54, 62, - 63, 64, 65, 66, 52, 53, 54, 301, 71, 72, - 73, 54, 81, 76, 78, 391, 82, 52, 53, 54, - 77, 77, 1, 77, 3, 4, 5, 6, 7, 8, - 77, 10, 11, 12, 82, 331, 77, 16, 77, 77, - 19, 20, 21, 22, 340, 131, 81, 26, 27, 28, - 29, 30, 78, 32, 33, 34, 35, 36, 52, 53, - 54, 357, 41, 42, 43, 44, 45, 46, 81, 48, - 78, 50, 52, 53, 54, 77, 55, 85, 86, 87, - 80, 80, 52, 53, 54, 80, 3, 81, 67, 68, - 69, 80, 52, 53, 54, 74, 75, 80, 407, 78, - 79, 81, 81, 335, 83, 84, 85, 86, 87, 88, - 1, 407, 82, 4, 5, 6, 7, 8, 77, 10, - 11, 12, 82, 77, 77, 16, 77, 19, 20, 21, - 22, 52, 53, 54, 26, 81, 39, 40, 78, 30, - 77, 32, 33, 34, 35, 36, 52, 53, 54, 77, - 41, 42, 43, 44, 45, 46, 77, 48, 26, 50, - 52, 53, 54, 66, 55, 52, 53, 54, 71, 72, - 73, 44, 357, 76, 21, 81, 67, 68, 69, 213, - 64, 64, -1, 74, 75, 77, -1, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 1, -1, - -1, 4, 5, 6, 7, 8, -1, 10, 11, 12, - 52, 53, 54, 16, -1, 52, 53, 54, -1, -1, - -1, -1, 37, 38, 39, 40, -1, 30, -1, 32, - 33, 34, 35, 36, -1, 77, -1, -1, 41, 42, - 43, 44, 45, 46, 81, 48, -1, 50, 63, 64, - 65, 66, 55, 52, 53, 54, 71, 72, 73, -1, - -1, 76, -1, -1, 67, 68, 69, -1, -1, -1, - -1, 74, 75, -1, 77, 78, 79, -1, 77, -1, - 83, 84, 85, 86, 87, 88, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 52, 53, 54, 16, - 71, 72, 73, -1, -1, 76, -1, 37, 38, 39, - 40, -1, -1, 30, -1, 32, 33, 34, 35, 36, - -1, 77, -1, -1, 41, 42, 43, 44, 45, 46, - -1, 48, -1, 50, 64, 65, 66, -1, 55, -1, - -1, 71, 72, 73, -1, -1, 76, -1, -1, -1, - 67, 68, 69, 19, 20, 21, 22, 74, 75, -1, - 26, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, 3, 4, 5, 6, 7, 8, -1, 10, - 11, 12, 52, 53, 54, 16, 52, 53, 54, -1, - -1, -1, 37, 38, 39, 40, -1, -1, -1, 30, - -1, 32, 33, 34, 35, 36, -1, 77, -1, -1, - 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, - 65, 66, -1, -1, 55, -1, 71, 72, 73, -1, - -1, 76, -1, -1, -1, -1, 67, 68, 69, 52, - 53, 54, -1, 74, 75, -1, -1, 78, 79, 52, - 53, 54, 83, 84, 85, 86, 87, 88, 3, 4, + 117, 63, 86, 65, 130, 131, 68, 69, 70, 71, + 72, 47, 212, 82, 76, 77, 131, 78, 79, 7, + 219, 78, 148, 8, 9, 78, 79, 340, 78, 39, + 40, 4, 25, 86, 78, 355, 14, 15, 78, 17, + 18, 52, 53, 54, 78, 81, 78, 171, 174, 175, + 176, 177, 178, 179, 180, 181, 66, 183, 184, 185, + 212, 71, 72, 73, 72, 73, 76, 82, 76, 47, + 56, 78, 83, 3, 78, 226, 78, 78, 204, 205, + 206, 207, 208, 209, 78, 405, 49, 211, 203, 213, + 216, 52, 53, 54, 220, 221, 78, 223, 0, 225, + 300, 4, 78, 81, 86, 87, 88, 78, 234, 224, + 236, 237, 14, 15, 78, 17, 18, 77, 49, 245, + 182, 82, 38, 81, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 71, + 72, 73, 58, 59, 76, 47, 79, 7, 300, 86, + 66, 354, 278, 356, 280, 281, 77, 360, 81, 52, + 53, 54, 78, 79, 80, 81, 7, 19, 20, 21, + 22, 79, 375, 376, 26, 54, 82, 301, 78, 77, + 383, 384, 52, 53, 54, 391, 52, 53, 54, 392, + 83, 77, 77, 396, 52, 53, 54, 77, 56, 77, + 52, 53, 54, 78, 77, 331, 19, 20, 21, 22, + 413, 414, 82, 26, 340, 131, 82, 1, 82, 3, + 4, 5, 6, 7, 8, 77, 10, 11, 12, 77, + 81, 357, 16, 3, 81, 19, 20, 21, 22, 52, + 53, 54, 26, 27, 28, 29, 30, 381, 32, 33, + 34, 35, 36, 81, 81, 389, 390, 41, 42, 43, + 44, 45, 46, 77, 48, 399, 50, 52, 53, 54, + 77, 55, 406, 335, 77, 81, 52, 53, 54, 77, + 82, 407, 78, 67, 68, 69, 77, 77, 26, 357, + 74, 75, 39, 40, 78, 79, 407, 82, 82, 44, + 84, 85, 86, 87, 88, 89, 1, 83, 21, 4, + 5, 6, 7, 8, 213, 10, 11, 12, 65, 66, + 64, 16, 64, -1, 71, 72, 73, -1, -1, 76, + 37, 38, 39, 40, -1, 30, -1, 32, 33, 34, + 35, 36, 52, 53, 54, -1, 41, 42, 43, 44, + 45, 46, -1, 48, -1, 50, 63, 64, 65, 66, + 55, 52, 53, 54, 71, 72, 73, 77, -1, 76, + -1, -1, 67, 68, 69, -1, 52, 53, 54, 74, + 75, -1, -1, 78, 79, -1, 77, 82, -1, 84, + 85, 86, 87, 88, 89, 1, -1, -1, 4, 5, + 6, 7, 8, -1, 10, 11, 12, 83, -1, -1, + 16, -1, 52, 53, 54, -1, -1, -1, 37, 38, + 39, 40, -1, -1, 30, -1, 32, 33, 34, 35, + 36, 52, 53, 54, -1, 41, 42, 43, 44, 45, + 46, -1, 48, 83, 50, 64, 65, 66, -1, 55, + -1, -1, 71, 72, 73, -1, 77, 76, -1, -1, + -1, 67, 68, 69, 52, 53, 54, -1, 74, 75, + -1, 77, 78, 79, -1, -1, -1, -1, 84, 85, + 86, 87, 88, 89, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, 83, -1, 16, -1, 52, + 53, 54, -1, -1, 37, 38, 39, 40, -1, -1, + -1, 30, -1, 32, 33, 34, 35, 36, -1, -1, + -1, -1, 41, 42, 43, 44, 45, 46, -1, 48, + 83, 50, 65, 66, -1, -1, 55, -1, 71, 72, + 73, -1, -1, 76, -1, -1, -1, -1, 67, 68, + 69, -1, 52, 53, 54, 74, 75, -1, -1, 78, + 79, 52, 53, 54, -1, 84, 85, 86, 87, 88, + 89, 3, 4, 5, 6, 7, 8, 77, 10, 11, + 12, 52, 53, 54, 16, -1, 77, -1, -1, -1, + -1, 37, 38, 39, 40, -1, -1, -1, 30, -1, + 32, 33, 34, 35, 36, -1, 77, -1, -1, 41, + 42, 43, 44, 45, 46, -1, 48, -1, 50, 65, + 66, -1, -1, 55, -1, 71, 72, 73, -1, -1, + 76, -1, -1, -1, -1, 67, 68, 69, -1, 52, + 53, 54, 74, 75, -1, -1, 78, 79, 52, 53, + 54, -1, 84, 85, 86, 87, 88, 89, 3, 4, 5, 6, 7, 8, 77, 10, 11, 12, 52, 53, - 54, 16, -1, -1, 77, -1, -1, -1, 37, 38, + 54, 16, -1, 77, -1, -1, -1, -1, 37, -1, 39, 40, -1, -1, -1, 30, -1, 32, 33, 34, 35, 36, -1, 77, -1, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, 65, 66, -1, -1, 55, -1, 71, 72, 73, -1, -1, 76, -1, -1, - -1, -1, 67, 68, 69, 37, -1, 39, 40, 74, - 75, -1, -1, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, 65, 66, -1, 16, -1, -1, 71, - 72, 73, -1, -1, 76, 39, 40, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, 65, 66, -1, -1, 55, -1, 71, 72, 73, - -1, -1, 76, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, -1, 74, 75, -1, -1, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 4, - 5, 6, 7, 8, -1, 10, 11, 12, 66, -1, - -1, 16, -1, 71, 72, 73, -1, -1, 76, -1, - -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, - 35, 36, -1, -1, -1, -1, 41, 42, 43, 44, - 45, 46, -1, 48, -1, 50, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, - 75, -1, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, + -1, -1, 67, 68, 69, -1, -1, 39, -1, 74, + 75, -1, -1, 78, 79, -1, -1, -1, -1, 84, + 85, 86, 87, 88, 89, 4, 5, 6, 7, 8, + -1, 10, 11, 12, 66, -1, -1, 16, -1, 71, + 72, 73, 66, -1, 76, -1, -1, 71, 72, 73, + -1, 30, 76, 32, 33, 34, 35, 36, -1, -1, + -1, -1, 41, 42, 43, 44, 45, 46, -1, 48, + -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, + 69, -1, -1, -1, -1, 74, 75, -1, -1, 78, + 79, -1, -1, 82, -1, 84, 85, 86, 87, 88, + 89, 4, 5, 6, 7, 8, -1, 10, 11, 12, + -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, + 33, 34, 35, 36, -1, -1, -1, -1, 41, 42, + 43, 44, 45, 46, -1, 48, -1, 50, -1, -1, + -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, + -1, 74, 75, -1, 77, 78, 79, -1, -1, -1, + -1, 84, 85, 86, 87, 88, 89, 4, 5, 6, + 7, 8, -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, -1, 74, 75, -1, -1, 78, 79, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 4, - 5, 6, 7, 8, -1, 10, 11, 12, -1, -1, - -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, - 35, 36, -1, -1, -1, -1, 41, 42, 43, 44, - 45, 46, -1, 48, -1, 50, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, - 75, -1, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, + -1, -1, -1, 30, -1, 32, 33, 34, 35, 36, + -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, + -1, 48, -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, -1, 74, 75, -1, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, 4, + 67, 68, 69, -1, -1, -1, -1, 74, 75, -1, + -1, 78, 79, -1, -1, -1, 83, 84, 85, 86, + 87, 88, 89, 4, 5, 6, 7, 8, -1, 10, + 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, + -1, 32, 33, 34, 35, 36, -1, -1, -1, -1, + 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, + -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 67, 68, 69, -1, + -1, -1, -1, 74, 75, -1, 77, 78, 79, -1, + -1, -1, -1, 84, 85, 86, 87, 88, 89, 4, 5, 6, 7, 8, -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, @@ -757,33 +754,42 @@ static const short int yycheck[] = 45, 46, -1, 48, -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, - 75, -1, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, + 75, -1, 77, 78, 79, -1, -1, -1, -1, 84, + 85, 86, 87, 88, 89, 4, 5, 6, 7, 8, + -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, -1, 74, 75, -1, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, 4, - 5, 6, 7, 8, -1, 10, 11, 12, -1, -1, - -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, - 35, 36, -1, -1, -1, -1, 41, 42, 43, 44, - 45, 46, -1, 48, -1, 50, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, - 75, -1, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, + -1, 30, -1, 32, 33, 34, 35, 36, -1, -1, + -1, -1, 41, 42, 43, 44, 45, 46, -1, 48, + -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, + 69, -1, -1, -1, -1, 74, 75, -1, 77, 78, + 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, + 89, 4, 5, 6, 7, 8, -1, 10, 11, 12, + -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, + 33, 34, 35, 36, -1, -1, -1, -1, 41, 42, + 43, 44, 45, 46, -1, 48, -1, 50, -1, -1, + -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, + -1, 74, 75, -1, 77, 78, 79, -1, -1, -1, + -1, 84, 85, 86, 87, 88, 89, 4, 5, 6, + 7, 8, -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, -1, 74, 75, -1, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, 4, + -1, -1, -1, 30, -1, 32, 33, 34, 35, 36, + -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, + -1, 48, -1, 50, -1, -1, -1, -1, 55, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 67, 68, 69, -1, -1, -1, -1, 74, 75, -1, + 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, + 87, 88, 89, 4, 5, 6, 7, 8, -1, 10, + 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, + -1, 32, 33, 34, 35, 36, -1, -1, -1, -1, + 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, + -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 67, 68, 69, -1, + -1, -1, -1, 74, 75, -1, 77, 78, 79, -1, + -1, -1, -1, 84, 85, 86, 87, 88, 89, 4, 5, 6, 7, 8, -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, @@ -791,92 +797,90 @@ static const short int yycheck[] = 45, 46, -1, 48, -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, - 75, -1, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, 4, 5, 6, 7, 8, -1, - 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, + 75, -1, 77, 78, 79, -1, -1, -1, -1, 84, + 85, 86, 87, 88, 89, 4, 5, 6, 7, 8, + -1, 10, 11, 12, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, - 50, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, - -1, -1, -1, 3, 74, 75, -1, -1, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, 19, - 20, 21, 22, -1, -1, -1, 26, -1, -1, -1, - -1, 31, -1, -1, -1, -1, -1, 37, 38, 39, - 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 52, 53, 54, -1, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, - -1, 71, 72, 73, -1, -1, 76, 77, -1, 79, - -1, 81, 82, 19, 20, 21, 22, -1, -1, -1, - 26, -1, -1, -1, -1, 31, -1, -1, -1, -1, - -1, 37, 38, 39, 40, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, 53, 54, -1, + -1, 30, -1, 32, 33, 34, 35, 36, -1, -1, + -1, -1, 41, 42, 43, 44, 45, 46, -1, 48, + -1, 50, -1, -1, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, + 69, -1, -1, -1, -1, 74, 75, 3, -1, 78, + 79, 37, 38, 39, 40, 84, 85, 86, 87, 88, + 89, -1, -1, 19, 20, 21, 22, -1, -1, -1, + 26, -1, -1, -1, -1, 31, 62, 63, 64, 65, + 66, 37, 38, 39, 40, 71, 72, 73, -1, -1, + 76, -1, -1, -1, -1, -1, 52, 53, 54, -1, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, -1, 354, -1, 356, 71, 72, 73, 360, -1, - 76, 77, -1, -1, -1, 81, 82, -1, -1, -1, - -1, -1, -1, 375, 376, -1, -1, -1, -1, -1, - -1, 383, 384, -1, -1, -1, -1, -1, -1, 31, - 392, -1, -1, -1, 396, 37, 38, 39, 40, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 413, 414, -1, -1, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, -1, -1, -1, -1, 71, - 72, 73, 31, -1, 76, -1, -1, -1, 37, 38, - 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 57, 58, - -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, - -1, -1, 71, 72, 73, 31, -1, 76, -1, -1, - -1, 37, 38, 39, 40, -1, -1, -1, -1, -1, - -1, -1, 31, -1, -1, -1, -1, -1, 37, 38, - 39, 40, 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, 71, 72, 73, -1, -1, - 76, 60, 61, 62, 63, 64, 65, 66, -1, -1, - -1, -1, 71, 72, 73, -1, -1, 76 + 76, 77, -1, 79, -1, -1, 82, 83, 19, 20, + 21, 22, -1, -1, -1, 26, -1, -1, -1, -1, + 31, -1, -1, -1, -1, -1, 37, 38, 39, 40, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, 53, 54, -1, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, + 71, 72, 73, -1, -1, 76, 77, 31, -1, -1, + -1, 82, 83, 37, 38, 39, 40, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, -1, -1, -1, -1, 71, 72, 73, + 31, -1, 76, -1, -1, -1, 37, 38, 39, 40, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, + 71, 72, 73, 31, -1, 76, -1, -1, -1, 37, + 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, + 31, -1, -1, -1, -1, -1, 37, 38, 39, 40, + 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, + -1, -1, -1, 71, 72, 73, -1, -1, 76, 60, + 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, + 71, 72, 73, -1, -1, 76 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 90, 94, 0, 98, 14, 15, 17, 18, 47, - 97, 115, 116, 118, 119, 128, 129, 122, 120, 4, - 120, 120, 13, 99, 105, 106, 114, 4, 117, 4, - 123, 81, 130, 123, 1, 3, 4, 5, 6, 7, + 0, 91, 95, 0, 99, 14, 15, 17, 18, 47, + 98, 116, 117, 119, 120, 129, 130, 123, 121, 4, + 121, 121, 13, 100, 106, 107, 115, 4, 118, 4, + 124, 82, 131, 124, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 16, 19, 20, 21, 22, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46, 48, 50, 55, 67, 68, - 69, 74, 75, 78, 79, 81, 83, 84, 85, 86, - 87, 88, 91, 100, 102, 103, 131, 132, 133, 136, - 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, - 151, 152, 91, 7, 124, 4, 124, 92, 4, 9, - 91, 148, 153, 153, 78, 141, 121, 121, 78, 78, - 78, 78, 46, 78, 148, 78, 78, 91, 141, 78, - 78, 78, 91, 141, 4, 132, 144, 148, 153, 153, - 4, 91, 141, 148, 81, 131, 4, 141, 78, 143, - 148, 149, 150, 141, 153, 132, 141, 141, 141, 141, - 141, 77, 131, 82, 131, 141, 141, 153, 153, 153, - 153, 25, 104, 81, 19, 20, 21, 22, 26, 52, + 69, 74, 75, 78, 79, 82, 84, 85, 86, 87, + 88, 89, 92, 101, 103, 104, 132, 133, 134, 137, + 138, 139, 140, 141, 142, 143, 148, 149, 150, 151, + 152, 153, 92, 7, 125, 4, 125, 93, 4, 9, + 92, 149, 154, 154, 78, 142, 122, 122, 78, 78, + 78, 78, 46, 78, 149, 78, 78, 92, 142, 78, + 78, 78, 92, 142, 4, 133, 145, 149, 154, 154, + 4, 92, 142, 149, 82, 132, 4, 142, 78, 144, + 149, 150, 151, 142, 154, 133, 142, 142, 142, 142, + 142, 77, 132, 83, 132, 142, 142, 154, 154, 154, + 154, 25, 105, 82, 19, 20, 21, 22, 26, 52, 53, 54, 56, 3, 78, 79, 31, 37, 38, 39, 40, 57, 58, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73, 76, 78, 3, 79, 3, 79, 3, - 49, 125, 4, 125, 98, 144, 78, 132, 91, 124, - 92, 92, 92, 92, 92, 92, 78, 92, 92, 77, - 77, 131, 131, 145, 153, 132, 78, 78, 80, 81, - 144, 77, 131, 49, 126, 79, 77, 82, 91, 131, - 110, 131, 131, 131, 131, 131, 131, 131, 141, 131, - 77, 131, 131, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 3, 5, - 78, 79, 135, 148, 77, 131, 131, 131, 131, 131, - 131, 7, 81, 91, 127, 144, 127, 80, 145, 77, - 134, 125, 109, 131, 110, 111, 131, 110, 113, 146, - 148, 100, 108, 111, 112, 131, 92, 93, 111, 77, - 56, 77, 131, 77, 131, 77, 131, 80, 77, 7, - 131, 79, 81, 77, 82, 59, 131, 77, 131, 131, - 78, 77, 81, 82, 81, 82, 81, 81, 77, 144, - 91, 77, 77, 77, 77, 78, 77, 81, 111, 111, - 77, 77, 77, 77, 82, 131, 80, 141, 81, 77, - 82, 145, 80, 80, 80, 107, 107, 3, 95, 95, - 111, 95, 109, 77, 77, 95, 82, 80, 77, 95, - 95, 96, 23, 24, 101, 101, 77, 104, 81, 95, - 95, 104, 104, 98, 95, 78, 95, 107, 104, 80, - 111, 104, 112, 77, 77, 95, 95, 101 + 49, 126, 4, 126, 99, 145, 78, 133, 92, 125, + 93, 93, 93, 93, 93, 93, 78, 93, 93, 77, + 77, 132, 132, 146, 154, 133, 78, 78, 81, 82, + 145, 77, 132, 49, 127, 79, 77, 83, 92, 132, + 111, 132, 132, 132, 132, 132, 132, 132, 142, 132, + 77, 132, 132, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 3, 5, + 78, 79, 136, 149, 77, 132, 132, 132, 132, 132, + 132, 7, 82, 92, 128, 145, 128, 81, 146, 77, + 135, 126, 110, 132, 111, 112, 132, 111, 114, 147, + 149, 101, 109, 112, 113, 132, 93, 94, 112, 77, + 56, 77, 132, 77, 132, 77, 132, 81, 77, 7, + 132, 79, 82, 77, 83, 59, 132, 77, 132, 132, + 78, 77, 82, 83, 82, 83, 82, 82, 77, 145, + 92, 77, 77, 77, 77, 78, 77, 82, 112, 112, + 77, 77, 77, 77, 83, 132, 81, 142, 82, 77, + 83, 146, 81, 81, 81, 108, 108, 3, 96, 96, + 112, 96, 110, 77, 77, 96, 83, 81, 77, 96, + 96, 97, 23, 24, 102, 102, 77, 105, 82, 96, + 96, 105, 105, 99, 96, 78, 96, 108, 105, 81, + 112, 105, 113, 77, 77, 96, 96, 102 }; diff --git a/perly.y b/perly.y index c81cee3..cbd2f7a 100644 --- a/perly.y +++ b/perly.y @@ -30,6 +30,9 @@ %union { I32 ival; char *pval; +#ifdef PERL_MAD + TOKEN* tkval; +#endif OP *opval; GV *gvval; } @@ -92,6 +95,8 @@ %left '(' %left '[' '{' +%token PEG + %% /* RULES */ /* The whole program */