From 727a8fe57e1987d0161772d4c35cc278f2ec6be8 Mon Sep 17 00:00:00 2001 From: Zefram Date: Tue, 26 Oct 2010 20:47:51 +0100 Subject: refactor GRAMPROG grammar slightly Shift the structure of the GRAMPROG production (whole-file grammar) to more closely match that of the other top-level productions. --- perly.act | 804 +++++++++++++++++---------------- perly.h | 2 +- perly.tab | 1490 +++++++++++++++++++++++++++++++------------------------------ perly.y | 26 +- 4 files changed, 1159 insertions(+), 1163 deletions(-) diff --git a/perly.act b/perly.act index cafdff7416..99aaa39cf5 100644 --- a/perly.act +++ b/perly.act @@ -1,17 +1,27 @@ case 2: #line 143 "perly.y" - { (yyval.ival) = (ps[(2) - (2)].val.ival); ;} + { + PL_parser->expect = XSTATE; + ;} break; case 3: -#line 145 "perly.y" +#line 147 "perly.y" { - parser->expect = XBLOCK; + newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval))); + (yyval.ival) = 0; ;} break; case 4: -#line 149 "perly.y" +#line 152 "perly.y" + { + parser->expect = XBLOCK; + ;} + break; + + case 5: +#line 156 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[(3) - (3)].val.opval); @@ -21,15 +31,15 @@ case 2: ;} break; - case 5: -#line 157 "perly.y" + case 6: +#line 164 "perly.y" { parser->expect = XSTATE; ;} break; - case 6: -#line 161 "perly.y" + case 7: +#line 168 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[(3) - (3)].val.opval); @@ -39,15 +49,15 @@ case 2: ;} break; - case 7: -#line 169 "perly.y" + case 8: +#line 176 "perly.y" { parser->expect = XSTATE; ;} break; - case 8: -#line 173 "perly.y" + case 9: +#line 180 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[(3) - (3)].val.opval); @@ -57,28 +67,23 @@ case 2: ;} break; - case 9: -#line 181 "perly.y" + case 10: +#line 188 "perly.y" { parser->expect = XSTATE; ;} break; - case 10: -#line 185 "perly.y" + case 11: +#line 192 "perly.y" { PL_eval_root = (ps[(3) - (3)].val.opval); (yyval.ival) = 0; ;} break; - case 11: -#line 194 "perly.y" - { (yyval.ival) = (ps[(1) - (2)].val.ival); newPROG(block_end((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval))); ;} - break; - case 12: -#line 199 "perly.y" +#line 200 "perly.y" { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval))) PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval)); (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval)); @@ -88,24 +93,17 @@ case 2: break; case 13: -#line 208 "perly.y" +#line 209 "perly.y" { (yyval.ival) = block_start(TRUE); ;} break; case 14: -#line 212 "perly.y" +#line 213 "perly.y" { (yyval.ival) = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); ;} break; case 15: -#line 216 "perly.y" - { - PL_parser->expect = XSTATE; (yyval.ival) = block_start(TRUE); - ;} - break; - - case 16: -#line 223 "perly.y" +#line 217 "perly.y" { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval))) PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval)); (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval)); @@ -114,18 +112,18 @@ case 2: ;} break; - case 17: -#line 232 "perly.y" + case 16: +#line 226 "perly.y" { (yyval.ival) = block_start(FALSE); ;} break; - case 18: -#line 237 "perly.y" + case 17: +#line 231 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 19: -#line 239 "perly.y" + case 18: +#line 233 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval)); PL_pad_reset_pending = TRUE; if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval)) @@ -133,8 +131,8 @@ case 2: ;} break; - case 20: -#line 248 "perly.y" + case 19: +#line 242 "perly.y" { if (PVAL((ps[(1) - (2)].val.p_tkval)) || (ps[(2) - (2)].val.opval)) { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); @@ -146,21 +144,21 @@ case 2: ;} break; - case 21: -#line 261 "perly.y" + case 20: +#line 255 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 22: -#line 263 "perly.y" + case 21: +#line 257 "perly.y" { (yyval.opval) = newOP(OP_NULL,0); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p'); ;} break; - case 23: -#line 268 "perly.y" + case 22: +#line 262 "perly.y" { CV *fmtcv = PL_compcv; SvREFCNT_inc_simple_void(PL_compcv); @@ -180,8 +178,8 @@ case 2: ;} break; - case 24: -#line 286 "perly.y" + case 23: +#line 280 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); #ifdef MAD @@ -204,8 +202,8 @@ case 2: ;} break; - case 25: -#line 307 "perly.y" + case 24: +#line 301 "perly.y" { /* Unimplemented "my sub foo { }" */ SvREFCNT_inc_simple_void(PL_compcv); @@ -219,8 +217,8 @@ case 2: ;} break; - case 26: -#line 319 "perly.y" + case 25: +#line 313 "perly.y" { #ifdef MAD (yyval.opval) = package((ps[(3) - (4)].val.opval)); @@ -237,13 +235,13 @@ case 2: ;} break; - case 27: -#line 334 "perly.y" + case 26: +#line 328 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} break; - case 28: -#line 336 "perly.y" + case 27: +#line 330 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); #ifdef MAD @@ -260,8 +258,8 @@ case 2: ;} break; - case 29: -#line 351 "perly.y" + case 28: +#line 345 "perly.y" { (yyval.opval) = block_end((ps[(3) - (7)].val.ival), newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval))); @@ -272,8 +270,8 @@ case 2: ;} break; - case 30: -#line 360 "perly.y" + case 29: +#line 354 "perly.y" { (yyval.opval) = block_end((ps[(3) - (7)].val.ival), newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval))); @@ -284,8 +282,8 @@ case 2: ;} break; - case 31: -#line 369 "perly.y" + case 30: +#line 363 "perly.y" { (yyval.opval) = block_end((ps[(3) - (7)].val.ival), newGIVENOP((ps[(5) - (7)].val.opval), op_scope((ps[(7) - (7)].val.opval)), (PADOFFSET)(ps[(4) - (7)].val.ival))); @@ -293,18 +291,18 @@ case 2: ;} break; - case 32: -#line 375 "perly.y" + case 31: +#line 369 "perly.y" { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;} break; - case 33: -#line 377 "perly.y" + case 32: +#line 371 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;} break; - case 34: -#line 379 "perly.y" + case 33: +#line 373 "perly.y" { (yyval.opval) = block_end((ps[(3) - (8)].val.ival), newWHILEOP(0, 1, (LOOP*)(OP*)NULL, @@ -316,8 +314,8 @@ case 2: ;} break; - case 35: -#line 389 "perly.y" + case 34: +#line 383 "perly.y" { (yyval.opval) = block_end((ps[(3) - (8)].val.ival), newWHILEOP(0, 1, (LOOP*)(OP*)NULL, @@ -329,8 +327,8 @@ case 2: ;} break; - case 36: -#line 400 "perly.y" + case 35: +#line 394 "perly.y" { OP *initop = IF_MAD((ps[(4) - (11)].val.opval) ? (ps[(4) - (11)].val.opval) : newOP(OP_NULL, 0), (ps[(4) - (11)].val.opval)); OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, @@ -352,8 +350,8 @@ case 2: ;} break; - case 37: -#line 420 "perly.y" + case 36: +#line 414 "perly.y" { (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval))); TOKEN_GETMAD((ps[(1) - (9)].val.i_tkval),(yyval.opval),'W'); @@ -364,8 +362,8 @@ case 2: ;} break; - case 38: -#line 429 "perly.y" + case 37: +#line 423 "perly.y" { (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0, op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval))); @@ -376,8 +374,8 @@ case 2: ;} break; - case 39: -#line 438 "perly.y" + case 38: +#line 432 "perly.y" { (yyval.opval) = block_end((ps[(3) - (7)].val.ival), newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))); @@ -388,8 +386,8 @@ case 2: ;} break; - case 40: -#line 447 "perly.y" + case 39: +#line 441 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, @@ -398,8 +396,8 @@ case 2: ;} break; - case 41: -#line 454 "perly.y" + case 40: +#line 448 "perly.y" { int save_3_latefree = (ps[(3) - (5)].val.opval)->op_latefree; (ps[(3) - (5)].val.opval)->op_latefree = 1; @@ -414,8 +412,8 @@ case 2: ;} break; - case 42: -#line 467 "perly.y" + case 41: +#line 461 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, @@ -430,8 +428,8 @@ case 2: ;} break; - case 43: -#line 480 "perly.y" + case 42: +#line 474 "perly.y" { PL_parser->expect = XSTATE; (yyval.opval) = (ps[(1) - (2)].val.opval); @@ -439,8 +437,8 @@ case 2: ;} break; - case 44: -#line 486 "perly.y" + case 43: +#line 480 "perly.y" { PL_parser->expect = XSTATE; (yyval.opval) = IF_MAD(newOP(OP_NULL, 0), (OP*)NULL); @@ -449,64 +447,64 @@ case 2: ;} break; - case 45: -#line 496 "perly.y" + case 44: +#line 490 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 46: -#line 498 "perly.y" + case 45: +#line 492 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 47: -#line 500 "perly.y" + case 46: +#line 494 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i'); ;} break; - case 48: -#line 504 "perly.y" + case 47: +#line 498 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i'); ;} break; - case 49: -#line 508 "perly.y" + case 48: +#line 502 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w'); ;} break; - case 50: -#line 512 "perly.y" + case 49: +#line 506 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w'); ;} break; - case 51: -#line 516 "perly.y" + case 50: +#line 510 "perly.y" { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w'); PL_parser->copline = (line_t)IVAL((ps[(2) - (3)].val.i_tkval)); ;} break; - case 52: -#line 521 "perly.y" + case 51: +#line 515 "perly.y" { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;} break; - case 53: -#line 526 "perly.y" + case 52: +#line 520 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 54: -#line 528 "perly.y" + case 53: +#line 522 "perly.y" { ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); @@ -514,8 +512,8 @@ case 2: ;} break; - case 55: -#line 534 "perly.y" + case 54: +#line 528 "perly.y" { PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval)); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)), @@ -527,60 +525,60 @@ case 2: ;} break; - case 56: -#line 547 "perly.y" + case 55: +#line 541 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 57: -#line 549 "perly.y" + case 56: +#line 543 "perly.y" { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 58: -#line 557 "perly.y" + case 57: +#line 551 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); ;} break; - case 59: -#line 563 "perly.y" + case 58: +#line 557 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 61: -#line 569 "perly.y" + case 60: +#line 563 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; ;} break; - case 63: -#line 577 "perly.y" + case 62: +#line 571 "perly.y" { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;} break; - case 64: -#line 582 "perly.y" + case 63: +#line 576 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;} break; - case 65: -#line 586 "perly.y" + case 64: +#line 580 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;} break; - case 66: -#line 590 "perly.y" + case 65: +#line 584 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;} break; - case 67: -#line 595 "perly.y" + case 66: +#line 589 "perly.y" { #ifdef MAD YYSTYPE tmplval; @@ -592,36 +590,36 @@ case 2: ;} break; - case 69: -#line 607 "perly.y" + case 68: +#line 601 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 70: -#line 608 "perly.y" + case 69: +#line 602 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 71: -#line 612 "perly.y" + case 70: +#line 606 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); ;} break; - case 72: -#line 618 "perly.y" + case 71: +#line 612 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); ;} break; - case 73: -#line 623 "perly.y" + case 72: +#line 617 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); ;} break; - case 74: -#line 628 "perly.y" + case 73: +#line 622 "perly.y" { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv); if (strEQ(name, "BEGIN") || strEQ(name, "END") || strEQ(name, "INIT") || strEQ(name, "CHECK") @@ -630,25 +628,25 @@ case 2: (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 75: -#line 638 "perly.y" + case 74: +#line 632 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 77: -#line 644 "perly.y" + case 76: +#line 638 "perly.y" { (yyval.opval) = (OP*)NULL; ;} break; - case 78: -#line 646 "perly.y" + case 77: +#line 640 "perly.y" { (yyval.opval) = (ps[(2) - (2)].val.opval); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':'); ;} break; - case 79: -#line 650 "perly.y" + case 78: +#line 644 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL, 0), (OP*)NULL @@ -657,15 +655,15 @@ case 2: ;} break; - case 80: -#line 660 "perly.y" + case 79: +#line 654 "perly.y" { (yyval.opval) = (ps[(2) - (2)].val.opval); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':'); ;} break; - case 81: -#line 664 "perly.y" + case 80: +#line 658 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL, 0), (OP*)NULL @@ -674,13 +672,13 @@ case 2: ;} break; - case 82: -#line 673 "perly.y" + case 81: +#line 667 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 83: -#line 674 "perly.y" + case 82: +#line 668 "perly.y" { (yyval.opval) = IF_MAD( newOP(OP_NULL,0), (OP*)NULL @@ -690,29 +688,29 @@ case 2: ;} break; - case 84: -#line 685 "perly.y" + case 83: +#line 679 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 85: -#line 689 "perly.y" + case 84: +#line 683 "perly.y" { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 86: -#line 693 "perly.y" + case 85: +#line 687 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 88: -#line 701 "perly.y" + case 87: +#line 695 "perly.y" { #ifdef MAD OP* op = newNULLLIST(); @@ -724,8 +722,8 @@ case 2: ;} break; - case 89: -#line 711 "perly.y" + case 88: +#line 705 "perly.y" { OP* term = (ps[(3) - (3)].val.opval); DO_MAD( @@ -736,16 +734,16 @@ case 2: ;} break; - case 91: -#line 724 "perly.y" + case 90: +#line 718 "perly.y" { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) ); TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 92: -#line 729 "perly.y" + case 91: +#line 723 "perly.y" { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) ); TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o'); @@ -754,8 +752,8 @@ case 2: ;} break; - case 93: -#line 736 "perly.y" + case 92: +#line 730 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)), @@ -766,8 +764,8 @@ case 2: ;} break; - case 94: -#line 745 "perly.y" + case 93: +#line 739 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)), newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval)))); @@ -775,8 +773,8 @@ case 2: ;} break; - case 95: -#line 751 "perly.y" + case 94: +#line 745 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)), @@ -784,8 +782,8 @@ case 2: ;} break; - case 96: -#line 757 "perly.y" + case 95: +#line 751 "perly.y" { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)), @@ -795,15 +793,15 @@ case 2: ;} break; - case 97: -#line 765 "perly.y" + case 96: +#line 759 "perly.y" { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 98: -#line 769 "perly.y" + case 97: +#line 763 "perly.y" { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval)); TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o'); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'('); @@ -811,22 +809,22 @@ case 2: ;} break; - case 99: -#line 775 "perly.y" + case 98: +#line 769 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;} break; - case 100: -#line 778 "perly.y" + case 99: +#line 772 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval))); ;} break; - case 103: -#line 793 "perly.y" + case 102: +#line 787 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); PL_parser->expect = XOPERATOR; TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{'); @@ -835,16 +833,16 @@ case 2: ;} break; - case 104: -#line 800 "perly.y" + case 103: +#line 794 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval))); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'['); TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']'); ;} break; - case 105: -#line 805 "perly.y" + case 104: +#line 799 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV), scalar((ps[(4) - (5)].val.opval))); @@ -854,8 +852,8 @@ case 2: ;} break; - case 106: -#line 813 "perly.y" + case 105: +#line 807 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV), scalar((ps[(3) - (4)].val.opval))); @@ -864,8 +862,8 @@ case 2: ;} break; - case 107: -#line 820 "perly.y" + case 106: +#line 814 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval))); PL_parser->expect = XOPERATOR; TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{'); @@ -874,8 +872,8 @@ case 2: ;} break; - case 108: -#line 827 "perly.y" + case 107: +#line 821 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV), jmaybe((ps[(4) - (6)].val.opval))); @@ -887,8 +885,8 @@ case 2: ;} break; - case 109: -#line 837 "perly.y" + case 108: +#line 831 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV), jmaybe((ps[(3) - (5)].val.opval))); @@ -899,8 +897,8 @@ case 2: ;} break; - case 110: -#line 846 "perly.y" + case 109: +#line 840 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a'); @@ -909,8 +907,8 @@ case 2: ;} break; - case 111: -#line 853 "perly.y" + case 110: +#line 847 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval), newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); @@ -920,8 +918,8 @@ case 2: ;} break; - case 112: -#line 862 "perly.y" + case 111: +#line 856 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); @@ -930,8 +928,8 @@ case 2: ;} break; - case 113: -#line 869 "perly.y" + case 112: +#line 863 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'('); @@ -939,8 +937,8 @@ case 2: ;} break; - case 114: -#line 875 "perly.y" + case 113: +#line 869 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')'); @@ -949,16 +947,16 @@ case 2: ;} break; - case 115: -#line 882 "perly.y" + case 114: +#line 876 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'['); TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']'); ;} break; - case 116: -#line 887 "perly.y" + case 115: +#line 881 "perly.y" { (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),')'); @@ -967,22 +965,22 @@ case 2: ;} break; - case 117: -#line 897 "perly.y" + case 116: +#line 891 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 118: -#line 901 "perly.y" + case 117: +#line 895 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 119: -#line 905 "perly.y" + case 118: +#line 899 "perly.y" { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT) scalar((ps[(1) - (3)].val.opval)); (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval))); @@ -990,50 +988,50 @@ case 2: ;} break; + case 119: +#line 905 "perly.y" + { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); + TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); + ;} + break; + case 120: -#line 911 "perly.y" +#line 909 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; case 121: -#line 915 "perly.y" +#line 913 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; case 122: -#line 919 "perly.y" +#line 917 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; case 123: -#line 923 "perly.y" +#line 921 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; case 124: -#line 927 "perly.y" +#line 925 "perly.y" { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; case 125: -#line 931 "perly.y" - { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); - TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); - ;} - break; - - case 126: -#line 935 "perly.y" +#line 929 "perly.y" { (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); DO_MAD({ @@ -1047,29 +1045,29 @@ case 2: ;} break; - case 127: -#line 947 "perly.y" + case 126: +#line 941 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 128: -#line 951 "perly.y" + case 127: +#line 945 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 129: -#line 955 "perly.y" + case 128: +#line 949 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 130: -#line 959 "perly.y" + case 129: +#line 953 "perly.y" { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval), ((yyval.opval)->op_type == OP_NOT @@ -1078,15 +1076,15 @@ case 2: ;} break; - case 131: -#line 969 "perly.y" + case 130: +#line 963 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 132: -#line 973 "perly.y" + case 131: +#line 967 "perly.y" { (yyval.opval) = IF_MAD( newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)), (ps[(2) - (2)].val.opval) @@ -1095,70 +1093,70 @@ case 2: ;} break; - case 133: -#line 980 "perly.y" + case 132: +#line 974 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 134: -#line 984 "perly.y" + case 133: +#line 978 "perly.y" { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 135: -#line 988 "perly.y" + case 134: +#line 982 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 136: -#line 993 "perly.y" + case 135: +#line 987 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC)); TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 137: -#line 998 "perly.y" + case 136: +#line 992 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 138: -#line 1003 "perly.y" + case 137: +#line 997 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 139: -#line 1012 "perly.y" + case 138: +#line 1006 "perly.y" { (yyval.opval) = newANONLIST((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 140: -#line 1017 "perly.y" + case 139: +#line 1011 "perly.y" { (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),']'); ;} break; - case 141: -#line 1022 "perly.y" + case 140: +#line 1016 "perly.y" { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{'); TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';'); @@ -1166,8 +1164,8 @@ case 2: ;} break; - case 142: -#line 1028 "perly.y" + case 141: +#line 1022 "perly.y" { (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),';'); @@ -1175,8 +1173,8 @@ case 2: ;} break; - case 143: -#line 1034 "perly.y" + case 142: +#line 1028 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o'); @@ -1185,22 +1183,22 @@ case 2: ;} break; - case 144: -#line 1045 "perly.y" + case 143: +#line 1039 "perly.y" { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 145: -#line 1049 "perly.y" + case 144: +#line 1043 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D'); ;} break; - case 146: -#line 1053 "perly.y" + case 145: +#line 1047 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, op_prepend_elem(OP_LIST, @@ -1214,8 +1212,8 @@ case 2: ;} break; - case 147: -#line 1065 "perly.y" + case 146: +#line 1059 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, op_append_elem(OP_LIST, @@ -1230,8 +1228,8 @@ case 2: ;} break; - case 148: -#line 1078 "perly.y" + case 147: +#line 1072 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, op_prepend_elem(OP_LIST, scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep(); @@ -1241,8 +1239,8 @@ case 2: ;} break; - case 149: -#line 1086 "perly.y" + case 148: +#line 1080 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), @@ -1253,86 +1251,86 @@ case 2: ;} break; - case 154: -#line 1102 "perly.y" + case 153: +#line 1096 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?'); TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':'); ;} break; - case 155: -#line 1107 "perly.y" + case 154: +#line 1101 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 156: -#line 1111 "perly.y" + case 155: +#line 1105 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 157: -#line 1113 "perly.y" + case 156: +#line 1107 "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),'k'); ;} break; - case 158: -#line 1117 "perly.y" + case 157: +#line 1111 "perly.y" { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (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 159: -#line 1122 "perly.y" + case 158: +#line 1116 "perly.y" { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;} break; - case 160: -#line 1124 "perly.y" + case 159: +#line 1118 "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 160: +#line 1123 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} + break; + case 161: -#line 1129 "perly.y" +#line 1125 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 162: -#line 1131 "perly.y" +#line 1127 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 163: -#line 1133 "perly.y" +#line 1129 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 164: -#line 1135 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} - break; - - case 165: -#line 1137 "perly.y" +#line 1131 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;} break; - case 166: -#line 1139 "perly.y" + case 165: +#line 1133 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 167: -#line 1141 "perly.y" + case 166: +#line 1135 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1343,8 +1341,8 @@ case 2: ;} break; - case 168: -#line 1150 "perly.y" + case 167: +#line 1144 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1357,26 +1355,26 @@ case 2: ;} break; - case 169: -#line 1161 "perly.y" + case 168: +#line 1155 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; - case 170: -#line 1163 "perly.y" + case 169: +#line 1157 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;} break; - case 171: -#line 1165 "perly.y" + case 170: +#line 1159 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval))); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')'); ;} break; - case 172: -#line 1170 "perly.y" + case 171: +#line 1164 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval)))); @@ -1391,91 +1389,91 @@ case 2: ;} break; - case 173: -#line 1183 "perly.y" + case 172: +#line 1177 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval)))); TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 174: -#line 1188 "perly.y" + case 173: +#line 1182 "perly.y" { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 175: -#line 1193 "perly.y" + case 174: +#line 1187 "perly.y" { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 176: -#line 1197 "perly.y" + case 175: +#line 1191 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 177: -#line 1201 "perly.y" + case 176: +#line 1195 "perly.y" { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 178: -#line 1205 "perly.y" + case 177: +#line 1199 "perly.y" { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 179: -#line 1209 "perly.y" + case 178: +#line 1203 "perly.y" { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 180: -#line 1213 "perly.y" + case 179: +#line 1207 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 181: -#line 1217 "perly.y" + case 180: +#line 1211 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 182: -#line 1221 "perly.y" + case 181: +#line 1215 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;} break; - case 183: -#line 1223 "perly.y" + case 182: +#line 1217 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;} break; - case 184: -#line 1226 "perly.y" + case 183: +#line 1220 "perly.y" { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0); TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o'); ;} break; - case 185: -#line 1230 "perly.y" + case 184: +#line 1224 "perly.y" { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0); TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o'); TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'('); @@ -1483,14 +1481,14 @@ case 2: ;} break; - case 186: -#line 1236 "perly.y" + case 185: +#line 1230 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;} break; - case 187: -#line 1239 "perly.y" + case 186: +#line 1233 "perly.y" { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT) ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL); @@ -1501,8 +1499,8 @@ case 2: ;} break; - case 188: -#line 1248 "perly.y" + case 187: +#line 1242 "perly.y" { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval)); TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o'); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'('); @@ -1510,16 +1508,16 @@ case 2: ;} break; - case 189: -#line 1254 "perly.y" + case 188: +#line 1248 "perly.y" { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1); TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'('); TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')'); ;} break; - case 192: -#line 1261 "perly.y" + case 191: +#line 1255 "perly.y" { (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -1527,8 +1525,8 @@ case 2: ;} break; - case 194: -#line 1271 "perly.y" + case 193: +#line 1265 "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'); @@ -1538,143 +1536,143 @@ case 2: ;} break; - case 195: -#line 1279 "perly.y" + case 194: +#line 1273 "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 196: -#line 1286 "perly.y" + case 195: +#line 1280 "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 197: -#line 1291 "perly.y" + case 196: +#line 1285 "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 197: +#line 1290 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} + break; + case 198: -#line 1296 "perly.y" +#line 1292 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 199: -#line 1298 "perly.y" +#line 1294 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 200: -#line 1300 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} +#line 1299 "perly.y" + { (yyval.opval) = (OP*)NULL; ;} break; case 201: -#line 1305 "perly.y" - { (yyval.opval) = (OP*)NULL; ;} +#line 1301 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 202: -#line 1307 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} +#line 1305 "perly.y" + { (yyval.opval) = (OP*)NULL; ;} break; case 203: -#line 1311 "perly.y" - { (yyval.opval) = (OP*)NULL; ;} +#line 1307 "perly.y" + { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; case 204: -#line 1313 "perly.y" - { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} +#line 1311 "perly.y" + { (yyval.i_tkval) = (ps[(1) - (1)].val.i_tkval); ;} break; case 205: -#line 1317 "perly.y" - { (yyval.i_tkval) = (ps[(1) - (1)].val.i_tkval); ;} +#line 1313 "perly.y" + { munge_qwlist_to_paren_list((ps[(1) - (1)].val.opval)); ;} break; case 206: -#line 1319 "perly.y" - { munge_qwlist_to_paren_list((ps[(1) - (1)].val.opval)); ;} +#line 1315 "perly.y" + { (yyval.i_tkval) = (ps[(3) - (3)].val.i_tkval); ;} break; case 207: #line 1321 "perly.y" - { (yyval.i_tkval) = (ps[(3) - (3)].val.i_tkval); ;} - break; - - case 208: -#line 1327 "perly.y" { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;} break; - case 209: -#line 1331 "perly.y" + case 208: +#line 1325 "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 210: -#line 1337 "perly.y" + case 209: +#line 1331 "perly.y" { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$'); ;} break; - case 211: -#line 1343 "perly.y" + case 210: +#line 1337 "perly.y" { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@'); ;} break; - case 212: -#line 1349 "perly.y" + case 211: +#line 1343 "perly.y" { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%'); ;} break; - case 213: -#line 1355 "perly.y" + case 212: +#line 1349 "perly.y" { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l'); ;} break; - case 214: -#line 1361 "perly.y" + case 213: +#line 1355 "perly.y" { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*'); ;} break; - case 215: -#line 1368 "perly.y" + case 214: +#line 1362 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 216: -#line 1370 "perly.y" + case 215: +#line 1364 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 217: -#line 1372 "perly.y" + case 216: +#line 1366 "perly.y" { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;} break; - case 218: -#line 1375 "perly.y" + case 217: +#line 1369 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; diff --git a/perly.h b/perly.h index 95db74499f..3450f1de12 100644 --- a/perly.h +++ b/perly.h @@ -221,7 +221,7 @@ typedef union YYSTYPE TOKEN* tkval; #endif } -/* Line 1489 of yacc.c. */ +/* Line 1529 of yacc.c. */ YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/perly.tab b/perly.tab index 7b24be5ecc..a6353a5efc 100644 --- a/perly.tab +++ b/perly.tab @@ -1,13 +1,13 @@ -#define YYFINAL 13 +#define YYFINAL 12 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2112 +#define YYLAST 2137 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 99 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 63 +#define YYNNTS 62 /* YYNRULES -- Number of rules. */ -#define YYNRULES 218 +#define YYNRULES 217 /* YYNRULES -- Number of states. */ #define YYNSTATES 441 @@ -62,136 +62,136 @@ static const yytype_uint8 yytranslate[] = YYRHS. */ static const yytype_uint16 yyprhs[] = { - 0, 0, 3, 6, 7, 11, 12, 16, 17, 21, - 22, 26, 29, 34, 35, 36, 37, 42, 43, 44, - 47, 50, 52, 54, 59, 66, 73, 78, 79, 87, - 95, 103, 111, 118, 121, 130, 139, 151, 161, 170, - 178, 181, 182, 191, 194, 196, 198, 200, 204, 208, - 212, 216, 220, 224, 225, 228, 235, 236, 239, 240, - 241, 243, 244, 246, 248, 250, 252, 254, 255, 257, - 259, 260, 261, 262, 263, 265, 266, 268, 269, 272, - 274, 277, 279, 281, 283, 287, 291, 295, 297, 300, - 304, 306, 310, 316, 323, 327, 331, 337, 340, 345, - 346, 352, 354, 356, 362, 367, 373, 378, 384, 391, - 397, 402, 408, 413, 417, 424, 429, 435, 439, 443, - 447, 451, 455, 459, 463, 467, 471, 475, 479, 483, - 487, 491, 494, 497, 500, 503, 506, 509, 512, 515, - 519, 522, 527, 531, 537, 540, 543, 548, 554, 559, - 565, 567, 569, 571, 573, 579, 582, 584, 587, 591, - 593, 596, 598, 600, 602, 604, 606, 608, 613, 619, - 621, 623, 627, 632, 636, 638, 641, 644, 646, 649, - 652, 654, 657, 659, 662, 664, 668, 670, 674, 679, - 684, 686, 688, 690, 692, 696, 699, 703, 706, 708, - 710, 712, 713, 715, 716, 718, 720, 721, 725, 727, - 730, 733, 736, 739, 742, 745, 747, 749, 751 + 0, 0, 3, 4, 9, 10, 14, 15, 19, 20, + 24, 25, 29, 34, 35, 36, 41, 42, 43, 46, + 49, 51, 53, 58, 65, 72, 77, 78, 86, 94, + 102, 110, 117, 120, 129, 138, 150, 160, 169, 177, + 180, 181, 190, 193, 195, 197, 199, 203, 207, 211, + 215, 219, 223, 224, 227, 234, 235, 238, 239, 240, + 242, 243, 245, 247, 249, 251, 253, 254, 256, 258, + 259, 260, 261, 262, 264, 265, 267, 268, 271, 273, + 276, 278, 280, 282, 286, 290, 294, 296, 299, 303, + 305, 309, 315, 322, 326, 330, 336, 339, 344, 345, + 351, 353, 355, 361, 366, 372, 377, 383, 390, 396, + 401, 407, 412, 416, 423, 428, 434, 438, 442, 446, + 450, 454, 458, 462, 466, 470, 474, 478, 482, 486, + 490, 493, 496, 499, 502, 505, 508, 511, 514, 518, + 521, 526, 530, 536, 539, 542, 547, 553, 558, 564, + 566, 568, 570, 572, 578, 581, 583, 586, 590, 592, + 595, 597, 599, 601, 603, 605, 607, 612, 618, 620, + 622, 626, 631, 635, 637, 640, 643, 645, 648, 651, + 653, 656, 658, 661, 663, 667, 669, 673, 678, 683, + 685, 687, 689, 691, 695, 698, 702, 705, 707, 709, + 711, 712, 714, 715, 717, 719, 720, 724, 726, 729, + 732, 735, 738, 741, 744, 746, 748, 750 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 100, 0, -1, 3, 105, -1, -1, 4, 101, 106, - -1, -1, 5, 102, 114, -1, -1, 6, 103, 113, - -1, -1, 7, 104, 112, -1, 109, 112, -1, 8, - 107, 112, 9, -1, -1, -1, -1, 8, 111, 112, - 9, -1, -1, -1, 112, 113, -1, 127, 114, -1, - 31, -1, 98, -1, 33, 131, 128, 106, -1, 34, - 129, 132, 133, 134, 136, -1, 67, 129, 132, 133, - 134, 136, -1, 36, 20, 20, 19, -1, -1, 37, - 129, 115, 20, 20, 150, 19, -1, 40, 152, 107, - 124, 96, 110, 118, -1, 41, 152, 107, 126, 96, - 110, 118, -1, 46, 152, 107, 108, 124, 96, 110, - -1, 47, 152, 107, 124, 96, 110, -1, 48, 106, - -1, 38, 152, 107, 122, 96, 120, 110, 119, -1, - 39, 152, 107, 123, 96, 120, 110, 119, -1, 45, - 152, 107, 125, 19, 122, 19, 120, 125, 96, 110, - -1, 45, 66, 107, 154, 152, 124, 96, 110, 119, - -1, 45, 156, 152, 107, 124, 96, 110, 119, -1, - 45, 152, 107, 124, 96, 110, 119, -1, 106, 119, - -1, -1, 36, 20, 20, 8, 107, 116, 112, 9, - -1, 117, 19, -1, 19, -1, 1, -1, 137, -1, - 137, 40, 137, -1, 137, 41, 137, -1, 137, 38, - 137, -1, 137, 39, 123, -1, 137, 45, 137, -1, - 137, 47, 137, -1, -1, 42, 110, -1, 43, 152, - 124, 96, 110, 118, -1, -1, 44, 106, -1, -1, - -1, 117, -1, -1, 137, -1, 137, -1, 137, -1, - 121, -1, 123, -1, -1, 32, -1, 20, -1, -1, - -1, -1, -1, 20, -1, -1, 23, -1, -1, 69, - 23, -1, 69, -1, 69, 23, -1, 69, -1, 106, - -1, 19, -1, 137, 73, 137, -1, 137, 72, 137, - -1, 137, 71, 137, -1, 138, -1, 138, 75, -1, - 138, 75, 147, -1, 147, -1, 56, 161, 138, -1, - 54, 97, 161, 137, 96, -1, 147, 95, 141, 152, - 151, 96, -1, 147, 95, 141, -1, 21, 161, 150, - -1, 22, 161, 97, 151, 96, -1, 56, 150, -1, - 54, 97, 151, 96, -1, -1, 29, 130, 106, 140, - 150, -1, 21, -1, 156, -1, 160, 8, 137, 19, - 9, -1, 156, 10, 137, 11, -1, 147, 95, 10, - 137, 11, -1, 142, 10, 137, 11, -1, 156, 8, - 137, 19, 9, -1, 147, 95, 8, 137, 19, 9, - -1, 142, 8, 137, 19, 9, -1, 147, 95, 97, - 96, -1, 147, 95, 97, 137, 96, -1, 142, 152, - 137, 96, -1, 142, 152, 96, -1, 97, 137, 96, - 10, 137, 11, -1, 26, 10, 137, 11, -1, 97, - 96, 10, 137, 11, -1, 147, 76, 147, -1, 147, - 90, 147, -1, 147, 59, 147, -1, 147, 60, 147, - -1, 147, 84, 147, -1, 147, 57, 147, -1, 147, - 58, 147, -1, 147, 83, 147, -1, 147, 82, 147, - -1, 147, 50, 147, -1, 147, 81, 147, -1, 147, - 80, 147, -1, 147, 79, 147, -1, 147, 85, 147, - -1, 12, 147, -1, 13, 147, -1, 86, 147, -1, - 87, 147, -1, 147, 92, -1, 147, 91, -1, 94, - 147, -1, 93, 147, -1, 10, 137, 11, -1, 10, - 11, -1, 63, 137, 19, 9, -1, 63, 19, 9, - -1, 35, 130, 133, 134, 106, -1, 62, 147, -1, - 62, 106, -1, 62, 20, 152, 96, -1, 62, 20, - 152, 137, 96, -1, 62, 156, 152, 96, -1, 62, - 156, 152, 137, 96, -1, 143, -1, 144, -1, 145, - -1, 146, -1, 147, 77, 147, 78, 147, -1, 88, - 147, -1, 148, -1, 65, 147, -1, 97, 137, 96, - -1, 26, -1, 97, 96, -1, 156, -1, 160, -1, - 158, -1, 157, -1, 159, -1, 142, -1, 157, 10, - 137, 11, -1, 157, 8, 137, 19, 9, -1, 23, - -1, 155, -1, 155, 152, 96, -1, 155, 152, 137, - 96, -1, 64, 20, 150, -1, 49, -1, 49, 147, - -1, 74, 138, -1, 55, -1, 55, 106, -1, 55, - 147, -1, 68, -1, 68, 147, -1, 28, -1, 28, - 147, -1, 52, -1, 52, 97, 96, -1, 27, -1, - 53, 97, 96, -1, 53, 97, 137, 96, -1, 24, - 97, 138, 96, -1, 20, -1, 139, -1, 51, -1, - 30, -1, 66, 149, 135, -1, 66, 149, -1, 97, - 137, 96, -1, 97, 96, -1, 156, -1, 158, -1, - 157, -1, -1, 138, -1, -1, 137, -1, 97, -1, - -1, 26, 153, 97, -1, 156, -1, 18, 161, -1, - 14, 161, -1, 15, 161, -1, 16, 161, -1, 61, - 161, -1, 17, 161, -1, 20, -1, 156, -1, 106, - -1, 25, -1 + 100, 0, -1, -1, 3, 101, 107, 111, -1, -1, + 4, 102, 106, -1, -1, 5, 103, 113, -1, -1, + 6, 104, 112, -1, -1, 7, 105, 111, -1, 8, + 107, 111, 9, -1, -1, -1, 8, 110, 111, 9, + -1, -1, -1, 111, 112, -1, 126, 113, -1, 31, + -1, 98, -1, 33, 130, 127, 106, -1, 34, 128, + 131, 132, 133, 135, -1, 67, 128, 131, 132, 133, + 135, -1, 36, 20, 20, 19, -1, -1, 37, 128, + 114, 20, 20, 149, 19, -1, 40, 151, 107, 123, + 96, 109, 117, -1, 41, 151, 107, 125, 96, 109, + 117, -1, 46, 151, 107, 108, 123, 96, 109, -1, + 47, 151, 107, 123, 96, 109, -1, 48, 106, -1, + 38, 151, 107, 121, 96, 119, 109, 118, -1, 39, + 151, 107, 122, 96, 119, 109, 118, -1, 45, 151, + 107, 124, 19, 121, 19, 119, 124, 96, 109, -1, + 45, 66, 107, 153, 151, 123, 96, 109, 118, -1, + 45, 155, 151, 107, 123, 96, 109, 118, -1, 45, + 151, 107, 123, 96, 109, 118, -1, 106, 118, -1, + -1, 36, 20, 20, 8, 107, 115, 111, 9, -1, + 116, 19, -1, 19, -1, 1, -1, 136, -1, 136, + 40, 136, -1, 136, 41, 136, -1, 136, 38, 136, + -1, 136, 39, 122, -1, 136, 45, 136, -1, 136, + 47, 136, -1, -1, 42, 109, -1, 43, 151, 123, + 96, 109, 117, -1, -1, 44, 106, -1, -1, -1, + 116, -1, -1, 136, -1, 136, -1, 136, -1, 120, + -1, 122, -1, -1, 32, -1, 20, -1, -1, -1, + -1, -1, 20, -1, -1, 23, -1, -1, 69, 23, + -1, 69, -1, 69, 23, -1, 69, -1, 106, -1, + 19, -1, 136, 73, 136, -1, 136, 72, 136, -1, + 136, 71, 136, -1, 137, -1, 137, 75, -1, 137, + 75, 146, -1, 146, -1, 56, 160, 137, -1, 54, + 97, 160, 136, 96, -1, 146, 95, 140, 151, 150, + 96, -1, 146, 95, 140, -1, 21, 160, 149, -1, + 22, 160, 97, 150, 96, -1, 56, 149, -1, 54, + 97, 150, 96, -1, -1, 29, 129, 106, 139, 149, + -1, 21, -1, 155, -1, 159, 8, 136, 19, 9, + -1, 155, 10, 136, 11, -1, 146, 95, 10, 136, + 11, -1, 141, 10, 136, 11, -1, 155, 8, 136, + 19, 9, -1, 146, 95, 8, 136, 19, 9, -1, + 141, 8, 136, 19, 9, -1, 146, 95, 97, 96, + -1, 146, 95, 97, 136, 96, -1, 141, 151, 136, + 96, -1, 141, 151, 96, -1, 97, 136, 96, 10, + 136, 11, -1, 26, 10, 136, 11, -1, 97, 96, + 10, 136, 11, -1, 146, 76, 146, -1, 146, 90, + 146, -1, 146, 59, 146, -1, 146, 60, 146, -1, + 146, 84, 146, -1, 146, 57, 146, -1, 146, 58, + 146, -1, 146, 83, 146, -1, 146, 82, 146, -1, + 146, 50, 146, -1, 146, 81, 146, -1, 146, 80, + 146, -1, 146, 79, 146, -1, 146, 85, 146, -1, + 12, 146, -1, 13, 146, -1, 86, 146, -1, 87, + 146, -1, 146, 92, -1, 146, 91, -1, 94, 146, + -1, 93, 146, -1, 10, 136, 11, -1, 10, 11, + -1, 63, 136, 19, 9, -1, 63, 19, 9, -1, + 35, 129, 132, 133, 106, -1, 62, 146, -1, 62, + 106, -1, 62, 20, 151, 96, -1, 62, 20, 151, + 136, 96, -1, 62, 155, 151, 96, -1, 62, 155, + 151, 136, 96, -1, 142, -1, 143, -1, 144, -1, + 145, -1, 146, 77, 146, 78, 146, -1, 88, 146, + -1, 147, -1, 65, 146, -1, 97, 136, 96, -1, + 26, -1, 97, 96, -1, 155, -1, 159, -1, 157, + -1, 156, -1, 158, -1, 141, -1, 156, 10, 136, + 11, -1, 156, 8, 136, 19, 9, -1, 23, -1, + 154, -1, 154, 151, 96, -1, 154, 151, 136, 96, + -1, 64, 20, 149, -1, 49, -1, 49, 146, -1, + 74, 137, -1, 55, -1, 55, 106, -1, 55, 146, + -1, 68, -1, 68, 146, -1, 28, -1, 28, 146, + -1, 52, -1, 52, 97, 96, -1, 27, -1, 53, + 97, 96, -1, 53, 97, 136, 96, -1, 24, 97, + 137, 96, -1, 20, -1, 138, -1, 51, -1, 30, + -1, 66, 148, 134, -1, 66, 148, -1, 97, 136, + 96, -1, 97, 96, -1, 155, -1, 157, -1, 156, + -1, -1, 137, -1, -1, 136, -1, 97, -1, -1, + 26, 152, 97, -1, 155, -1, 18, 160, -1, 14, + 160, -1, 15, 160, -1, 16, 160, -1, 61, 160, + -1, 17, 160, -1, 20, -1, 155, -1, 106, -1, + 25, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 142, 142, 145, 144, 157, 156, 169, 168, 181, - 180, 192, 198, 208, 212, 216, 222, 232, 237, 238, - 247, 260, 262, 267, 285, 306, 318, 334, 333, 350, - 359, 368, 374, 376, 378, 388, 398, 419, 428, 437, - 446, 454, 453, 479, 485, 495, 497, 499, 503, 507, - 511, 515, 520, 526, 527, 533, 547, 548, 557, 563, - 564, 569, 572, 576, 581, 585, 589, 595, 604, 607, - 608, 612, 618, 623, 628, 638, 639, 644, 645, 649, - 659, 663, 673, 674, 684, 688, 692, 696, 700, 710, - 719, 723, 728, 735, 744, 750, 756, 764, 768, 775, - 774, 785, 786, 790, 799, 804, 812, 819, 826, 836, - 845, 852, 861, 868, 874, 881, 886, 896, 900, 904, - 910, 914, 918, 922, 926, 930, 934, 946, 950, 954, - 958, 968, 972, 979, 983, 987, 992, 997, 1002, 1011, - 1016, 1021, 1027, 1033, 1044, 1048, 1052, 1064, 1077, 1085, - 1097, 1098, 1099, 1100, 1101, 1106, 1110, 1112, 1116, 1121, - 1123, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1149, 1160, - 1162, 1164, 1169, 1182, 1187, 1192, 1196, 1200, 1204, 1208, - 1212, 1216, 1220, 1222, 1225, 1229, 1235, 1238, 1247, 1253, - 1258, 1259, 1260, 1266, 1270, 1278, 1285, 1290, 1295, 1297, - 1299, 1304, 1306, 1311, 1312, 1316, 1319, 1318, 1326, 1330, - 1336, 1342, 1348, 1354, 1360, 1367, 1369, 1371, 1374 + 0, 143, 143, 142, 152, 151, 164, 163, 176, 175, + 188, 187, 199, 209, 213, 216, 226, 231, 232, 241, + 254, 256, 261, 279, 300, 312, 328, 327, 344, 353, + 362, 368, 370, 372, 382, 392, 413, 422, 431, 440, + 448, 447, 473, 479, 489, 491, 493, 497, 501, 505, + 509, 514, 520, 521, 527, 541, 542, 551, 557, 558, + 563, 566, 570, 575, 579, 583, 589, 598, 601, 602, + 606, 612, 617, 622, 632, 633, 638, 639, 643, 653, + 657, 667, 668, 678, 682, 686, 690, 694, 704, 713, + 717, 722, 729, 738, 744, 750, 758, 762, 769, 768, + 779, 780, 784, 793, 798, 806, 813, 820, 830, 839, + 846, 855, 862, 868, 875, 880, 890, 894, 898, 904, + 908, 912, 916, 920, 924, 928, 940, 944, 948, 952, + 962, 966, 973, 977, 981, 986, 991, 996, 1005, 1010, + 1015, 1021, 1027, 1038, 1042, 1046, 1058, 1071, 1079, 1091, + 1092, 1093, 1094, 1095, 1100, 1104, 1106, 1110, 1115, 1117, + 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1143, 1154, 1156, + 1158, 1163, 1176, 1181, 1186, 1190, 1194, 1198, 1202, 1206, + 1210, 1214, 1216, 1219, 1223, 1229, 1232, 1241, 1247, 1252, + 1253, 1254, 1260, 1264, 1272, 1279, 1284, 1289, 1291, 1293, + 1298, 1300, 1305, 1306, 1310, 1313, 1312, 1320, 1324, 1330, + 1336, 1342, 1348, 1354, 1361, 1363, 1365, 1368 }; #endif @@ -213,16 +213,16 @@ static const char *const yytname[] = "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", - "')'", "'('", "PEG", "$accept", "grammar", "@1", "@2", "@3", "@4", - "prog", "block", "remember", "mydefsv", "progstart", "mblock", - "mremember", "stmtseq", "fullstmt", "barestmt", "@5", "@6", "sideff", - "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", - "miexpr", "label", "formname", "startsub", "startanonsub", - "startformsub", "subname", "proto", "subattrlist", "myattrlist", - "subbody", "expr", "argexpr", "listop", "@7", "method", "subscripted", - "termbinop", "termunop", "anonymous", "termdo", "term", "myattrterm", - "myterm", "listexpr", "listexprcom", "lpar_or_qw", "@8", "my_scalar", - "amper", "scalar", "ary", "hsh", "arylen", "star", "indirob", 0 + "')'", "'('", "PEG", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", + "block", "remember", "mydefsv", "mblock", "mremember", "stmtseq", + "fullstmt", "barestmt", "@6", "@7", "sideff", "else", "cont", "mintro", + "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "miexpr", "label", + "formname", "startsub", "startanonsub", "startformsub", "subname", + "proto", "subattrlist", "myattrlist", "subbody", "expr", "argexpr", + "listop", "@8", "method", "subscripted", "termbinop", "termunop", + "anonymous", "termdo", "term", "myattrterm", "myterm", "listexpr", + "listexprcom", "lpar_or_qw", "@9", "my_scalar", "amper", "scalar", "ary", + "hsh", "arylen", "star", "indirob", 0 }; #endif @@ -247,55 +247,55 @@ static const yytype_uint16 yytoknum[] = /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 99, 100, 101, 100, 102, 100, 103, 100, 104, - 100, 105, 106, 107, 108, 109, 110, 111, 112, 112, - 113, 114, 114, 114, 114, 114, 114, 115, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 116, 114, 114, 114, 117, 117, 117, 117, 117, - 117, 117, 117, 118, 118, 118, 119, 119, 120, 121, - 121, 122, 122, 123, 124, 125, 126, 127, 127, 128, - 128, 129, 130, 131, 132, 133, 133, 134, 134, 134, - 135, 135, 136, 136, 137, 137, 137, 137, 138, 138, - 138, 139, 139, 139, 139, 139, 139, 139, 139, 140, - 139, 141, 141, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 144, 144, 144, 144, 144, 144, 144, 144, 145, - 145, 145, 145, 145, 146, 146, 146, 146, 146, 146, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 148, 148, 149, 149, 149, 149, - 149, 150, 150, 151, 151, 152, 153, 152, 154, 155, - 156, 157, 158, 159, 160, 161, 161, 161, 161 + 0, 99, 101, 100, 102, 100, 103, 100, 104, 100, + 105, 100, 106, 107, 108, 109, 110, 111, 111, 112, + 113, 113, 113, 113, 113, 113, 114, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 115, 113, 113, 113, 116, 116, 116, 116, 116, 116, + 116, 116, 117, 117, 117, 118, 118, 119, 120, 120, + 121, 121, 122, 123, 124, 125, 126, 126, 127, 127, + 128, 129, 130, 131, 132, 132, 133, 133, 133, 134, + 134, 135, 135, 136, 136, 136, 136, 137, 137, 137, + 138, 138, 138, 138, 138, 138, 138, 138, 139, 138, + 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 141, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 143, 143, 143, 143, 143, 143, 143, 143, 144, 144, + 144, 144, 144, 145, 145, 145, 145, 145, 145, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 147, 147, 148, 148, 148, 148, 148, + 149, 149, 150, 150, 151, 152, 151, 153, 154, 155, + 156, 157, 158, 159, 160, 160, 160, 160 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { - 0, 2, 2, 0, 3, 0, 3, 0, 3, 0, - 3, 2, 4, 0, 0, 0, 4, 0, 0, 2, - 2, 1, 1, 4, 6, 6, 4, 0, 7, 7, - 7, 7, 6, 2, 8, 8, 11, 9, 8, 7, - 2, 0, 8, 2, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 0, 2, 6, 0, 2, 0, 0, - 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, - 0, 0, 0, 0, 1, 0, 1, 0, 2, 1, - 2, 1, 1, 1, 3, 3, 3, 1, 2, 3, - 1, 3, 5, 6, 3, 3, 5, 2, 4, 0, - 5, 1, 1, 5, 4, 5, 4, 5, 6, 5, - 4, 5, 4, 3, 6, 4, 5, 3, 3, 3, + 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, + 0, 3, 4, 0, 0, 4, 0, 0, 2, 2, + 1, 1, 4, 6, 6, 4, 0, 7, 7, 7, + 7, 6, 2, 8, 8, 11, 9, 8, 7, 2, + 0, 8, 2, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 0, 2, 6, 0, 2, 0, 0, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, + 0, 0, 0, 1, 0, 1, 0, 2, 1, 2, + 1, 1, 1, 3, 3, 3, 1, 2, 3, 1, + 3, 5, 6, 3, 3, 5, 2, 4, 0, 5, + 1, 1, 5, 4, 5, 4, 5, 6, 5, 4, + 5, 4, 3, 6, 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, - 2, 4, 3, 5, 2, 2, 4, 5, 4, 5, - 1, 1, 1, 1, 5, 2, 1, 2, 3, 1, - 2, 1, 1, 1, 1, 1, 1, 4, 5, 1, - 1, 3, 4, 3, 1, 2, 2, 1, 2, 2, - 1, 2, 1, 2, 1, 3, 1, 3, 4, 4, - 1, 1, 1, 1, 3, 2, 3, 2, 1, 1, - 1, 0, 1, 0, 1, 1, 0, 3, 1, 2, - 2, 2, 2, 2, 2, 1, 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, + 4, 3, 5, 2, 2, 4, 5, 4, 5, 1, + 1, 1, 1, 5, 2, 1, 2, 3, 1, 2, + 1, 1, 1, 1, 1, 1, 4, 5, 1, 1, + 3, 4, 3, 1, 2, 2, 1, 2, 2, 1, + 2, 1, 2, 1, 3, 1, 3, 4, 4, 1, + 1, 1, 1, 3, 2, 3, 2, 1, 1, 1, + 0, 1, 0, 1, 1, 0, 3, 1, 2, 2, + 2, 2, 2, 2, 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -303,615 +303,619 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 15, 3, 5, 7, 9, 0, 2, 18, 0, - 0, 67, 18, 1, 67, 13, 4, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 190, 0, 0, - 169, 0, 159, 186, 182, 72, 193, 21, 73, 71, - 72, 0, 71, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 192, 184, 0, 0, 177, 201, 0, 0, - 0, 0, 0, 0, 71, 180, 0, 0, 0, 0, - 0, 0, 0, 22, 56, 6, 0, 46, 87, 191, - 166, 150, 151, 152, 153, 90, 156, 170, 161, 164, - 163, 165, 162, 68, 8, 0, 67, 19, 18, 140, - 0, 131, 132, 215, 218, 217, 216, 210, 211, 212, - 214, 209, 201, 0, 0, 0, 183, 0, 70, 0, - 75, 0, 27, 206, 205, 13, 13, 13, 13, 13, - 13, 0, 13, 13, 33, 175, 0, 0, 203, 178, - 179, 215, 202, 97, 216, 0, 213, 190, 145, 144, - 161, 0, 0, 201, 157, 0, 195, 198, 200, 199, - 0, 181, 176, 133, 134, 155, 138, 137, 160, 0, - 0, 40, 43, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 0, 13, 0, 0, + 66, 17, 1, 17, 13, 5, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 189, 0, 0, 168, + 0, 158, 185, 181, 71, 192, 20, 72, 70, 71, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 173, 191, 183, 0, 0, 176, 200, 0, 0, 0, + 0, 0, 0, 70, 179, 0, 0, 0, 0, 0, + 0, 0, 21, 55, 7, 0, 45, 86, 190, 165, + 149, 150, 151, 152, 89, 155, 169, 160, 163, 162, + 164, 161, 67, 9, 0, 66, 66, 17, 139, 0, + 130, 131, 214, 217, 216, 215, 209, 210, 211, 213, + 208, 200, 0, 0, 0, 182, 0, 69, 0, 74, + 0, 26, 205, 204, 13, 13, 13, 13, 13, 13, + 0, 13, 13, 32, 174, 0, 0, 202, 177, 178, + 214, 201, 96, 215, 0, 212, 189, 144, 143, 160, + 0, 0, 200, 156, 0, 194, 197, 199, 198, 0, + 180, 175, 132, 133, 154, 137, 136, 159, 0, 0, + 39, 42, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 136, 135, 0, 0, 0, 0, 0, 0, 0, - 20, 67, 139, 95, 203, 0, 0, 99, 69, 0, - 74, 75, 76, 77, 0, 0, 0, 61, 0, 0, - 0, 0, 0, 13, 14, 0, 185, 187, 0, 204, - 0, 0, 91, 0, 0, 142, 0, 173, 197, 0, - 81, 194, 75, 0, 158, 57, 49, 50, 63, 47, - 48, 51, 52, 86, 85, 84, 89, 0, 0, 113, - 0, 126, 122, 123, 119, 120, 117, 0, 129, 128, - 127, 125, 124, 121, 130, 118, 0, 0, 101, 0, - 94, 102, 171, 0, 0, 0, 0, 0, 0, 12, - 0, 189, 115, 201, 23, 77, 79, 0, 13, 26, - 0, 207, 0, 62, 0, 0, 64, 66, 0, 0, - 208, 60, 65, 0, 0, 46, 0, 0, 0, 188, - 98, 0, 146, 0, 148, 0, 141, 196, 80, 77, - 0, 0, 0, 106, 112, 0, 0, 0, 110, 0, - 203, 172, 0, 104, 0, 167, 0, 96, 100, 0, - 78, 143, 41, 201, 58, 58, 0, 0, 0, 0, - 61, 0, 0, 0, 92, 147, 149, 0, 116, 0, - 109, 154, 0, 105, 111, 0, 107, 168, 103, 83, - 82, 24, 18, 0, 0, 0, 17, 53, 53, 0, - 56, 0, 0, 0, 32, 25, 114, 108, 93, 67, - 28, 56, 56, 18, 0, 0, 29, 30, 0, 39, - 58, 56, 31, 42, 34, 35, 67, 54, 0, 56, - 0, 38, 16, 0, 37, 0, 0, 0, 53, 36, - 55 + 135, 134, 0, 0, 0, 0, 0, 0, 0, 19, + 18, 66, 138, 94, 202, 0, 0, 98, 68, 0, + 73, 74, 75, 76, 0, 0, 0, 60, 0, 0, + 0, 0, 0, 13, 14, 0, 184, 186, 0, 203, + 0, 0, 90, 0, 0, 141, 0, 172, 196, 0, + 80, 193, 74, 0, 157, 56, 48, 49, 62, 46, + 47, 50, 51, 85, 84, 83, 88, 0, 0, 112, + 0, 125, 121, 122, 118, 119, 116, 0, 128, 127, + 126, 124, 123, 120, 129, 117, 0, 0, 100, 0, + 93, 101, 170, 0, 0, 0, 0, 0, 0, 12, + 0, 188, 114, 200, 22, 76, 78, 0, 13, 25, + 0, 206, 0, 61, 0, 0, 63, 65, 0, 0, + 207, 59, 64, 0, 0, 45, 0, 0, 0, 187, + 97, 0, 145, 0, 147, 0, 140, 195, 79, 76, + 0, 0, 0, 105, 111, 0, 0, 0, 109, 0, + 202, 171, 0, 103, 0, 166, 0, 95, 99, 0, + 77, 142, 40, 200, 57, 57, 0, 0, 0, 0, + 60, 0, 0, 0, 91, 146, 148, 0, 115, 0, + 108, 153, 0, 104, 110, 0, 106, 167, 102, 82, + 81, 23, 17, 0, 0, 0, 16, 52, 52, 0, + 55, 0, 0, 0, 31, 24, 113, 107, 92, 66, + 27, 55, 55, 17, 0, 0, 28, 29, 0, 38, + 57, 55, 30, 41, 33, 34, 66, 53, 0, 55, + 0, 37, 15, 0, 36, 0, 0, 0, 52, 35, + 54 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 6, 9, 10, 11, 12, 7, 105, 98, 327, - 8, 397, 413, 14, 97, 75, 225, 392, 76, 416, - 171, 394, 322, 312, 257, 315, 324, 318, 95, 219, - 119, 117, 118, 221, 223, 307, 251, 391, 316, 78, - 79, 303, 290, 80, 81, 82, 83, 84, 85, 86, - 156, 143, 240, 125, 226, 319, 87, 88, 89, 90, - 91, 92, 107 + -1, 6, 7, 8, 9, 10, 11, 104, 13, 327, + 397, 413, 95, 210, 74, 225, 392, 75, 416, 170, + 394, 322, 312, 257, 315, 324, 318, 94, 219, 118, + 116, 117, 221, 223, 307, 251, 391, 316, 77, 78, + 303, 290, 79, 80, 81, 82, 83, 84, 85, 155, + 142, 240, 124, 226, 319, 86, 87, 88, 89, 90, + 91, 106 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -372 +#define YYPACT_NINF -345 static const yytype_int16 yypact[] = { - 799, -372, -372, -372, -372, -372, 34, -372, -372, 33, - 411, 12, -372, -372, 29, -372, -372, -372, 1002, 1878, - 1878, 322, 322, 322, 322, 322, -372, -372, 322, 322, - -372, -44, 44, -372, 1878, -372, -372, -372, -372, -372, - -372, 68, -372, -6, -6, -6, -6, 16, -6, -6, - 33, 1878, -372, -4, 1, 9, 766, 678, 322, 854, - 1088, 87, 1878, 22, -372, 1878, 1878, 1878, 1878, 1878, - 1878, 1878, 1174, -372, 79, -372, 101, 1086, 58, -372, - -3, -372, -372, -372, -372, 1939, -372, -6, 192, 202, - -372, -372, 128, -372, -372, 411, 46, -372, -372, -372, - 28, 183, 183, -372, -372, -372, -372, -372, -372, -372, - -372, -372, 1878, 47, 1878, 1878, 447, 33, 123, 129, - 127, 139, -372, -372, -372, -372, -372, -372, -372, -372, - -372, -6, -372, -372, -372, 1939, 64, 1262, 678, -372, - 447, 314, 58, -372, 915, 1878, -372, -6, -372, 447, - 14, 163, 173, 1878, 447, 1350, 119, -372, -372, -372, - 129, 447, 58, 183, 183, 183, 39, 39, 179, 136, - 33, -372, -372, 1878, 1878, 1878, 1878, 1878, 1878, 1878, - 1878, 1878, 1878, 1878, 1878, 1438, 1878, 1878, 1878, 1878, - 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, - 1878, -372, -372, 11, 1526, 1878, 1878, 1878, 1878, 1878, - -372, 19, -372, -372, 1878, -17, 45, -372, -372, 33, - -372, 127, -372, 134, 41, 195, 122, 1878, 1878, 1878, - 1878, 209, 500, -372, -372, 1878, -372, -372, 245, 110, - 120, 1878, 58, 1614, 1702, -372, 215, -372, -372, 304, - 204, -372, 127, 1878, 226, -372, 110, -372, 110, 110, - 110, 110, 110, 164, 164, -372, 1939, 230, 75, -372, - 415, 2017, 987, 751, 399, 624, 1939, 1900, 488, 488, - 575, 664, 886, 536, 183, 183, 1878, 1878, -372, 1790, - -6, -372, -372, 486, 272, 81, 296, 114, 382, -372, - 142, -372, -372, 1878, -372, 134, 219, 33, -372, -372, - 234, -372, 154, 110, 184, 189, 110, -372, 196, -6, - -372, -372, -372, 203, 281, 266, 1878, 1878, 212, -372, - -372, 639, -372, 665, -372, 727, -372, -372, -372, 134, - 168, 1878, 311, -372, -372, 1878, 398, 210, -372, 741, - 1878, -372, 312, -372, 317, -372, 320, -372, -372, 76, - -372, -372, -372, 1878, -372, -372, 326, 326, 1878, 326, - 1878, 239, 250, 326, -372, -372, -372, 76, -372, 224, - -372, 1978, 339, -372, -372, 253, -372, -372, -372, -372, - -372, -372, -372, 331, 326, 326, -372, 5, 5, 255, - 79, 337, 326, 326, -372, -372, -372, -372, -372, 65, - -372, 79, 79, -372, 326, -6, -372, -372, 326, -372, - -372, 79, -372, -372, -372, -372, 71, -372, 1878, 79, - 588, -372, -372, 261, -372, 262, 326, 326, 5, -372, - -372 + 435, -345, -345, -345, -345, -345, 41, -345, 48, 436, + 56, -345, -345, -345, -345, -345, -345, 1027, 1903, 1903, + 246, 246, 246, 246, 246, -345, -345, 246, 246, -345, + -4, 90, -345, 1903, -345, -345, -345, -345, -345, -345, + 83, -345, -20, -20, -20, -20, -5, -20, -20, 48, + 1903, -345, 20, 59, 75, 791, 703, 246, 879, 1113, + 88, 1903, 29, -345, 1903, 1903, 1903, 1903, 1903, 1903, + 1903, 1199, -345, 105, -345, 165, 1111, 117, -345, 61, + -345, -345, -345, -345, 1964, -345, -20, 110, 134, -345, + -345, 195, -345, -345, 436, 47, 52, -345, -345, 9, + 238, 238, -345, -345, -345, -345, -345, -345, -345, -345, + -345, 1903, 115, 1903, 1903, 324, 48, 197, 202, 188, + 206, -345, -345, -345, -345, -345, -345, -345, -345, -345, + -20, -345, -345, -345, 1964, 143, 1287, 703, -345, 324, + 315, 117, -345, 940, 1903, -345, -20, -345, 324, 81, + 249, 157, 1903, 324, 1375, 190, -345, -345, -345, 202, + 324, 117, 238, 238, 238, 184, 184, 257, 50, 48, + -345, -345, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, + 1903, 1903, 1903, 1903, 1463, 1903, 1903, 1903, 1903, 1903, + 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, + -345, -345, 62, 1551, 1903, 1903, 1903, 1903, 1903, -345, + -345, 19, -345, -345, 1903, 141, 38, -345, -345, 48, + -345, 188, -345, 199, 93, 261, 185, 1903, 1903, 1903, + 1903, 279, 525, -345, -345, 1903, -345, -345, 239, 174, + 198, 1903, 117, 1639, 1727, -345, 287, -345, -345, 267, + 274, -345, 188, 1903, 289, -345, 174, -345, 174, 174, + 174, 174, 174, 227, 227, -345, 1964, 170, 79, -345, + 422, 2042, 1012, 776, 424, 232, 1964, 1925, 513, 513, + 600, 689, 911, 472, 238, 238, 1903, 1903, -345, 1815, + -20, -345, -345, 440, 191, 108, 201, 114, 212, -345, + 213, -345, -345, 1903, -345, 199, 285, 48, -345, -345, + 282, -345, 218, 174, 220, 222, 174, -345, 223, -20, + -345, -345, -345, 224, 302, 305, 1903, 1903, 235, -345, + -345, 574, -345, 664, -345, 690, -345, -345, -345, 199, + 136, 1903, 327, -345, -345, 1903, 217, 142, -345, 752, + 1903, -345, 328, -345, 333, -345, 338, -345, -345, 135, + -345, -345, -345, 1903, -345, -345, 340, 340, 1903, 340, + 1903, 253, 255, 340, -345, -345, -345, 135, -345, 177, + -345, 2003, 348, -345, -345, 262, -345, -345, -345, -345, + -345, -345, -345, 345, 340, 340, -345, -6, -6, 263, + 105, 347, 340, 340, -345, -345, -345, -345, -345, 46, + -345, 105, 105, -345, 340, -20, -345, -345, 340, -345, + -345, 105, -345, -345, -345, -345, 106, -345, 1903, 105, + 613, -345, -345, 272, -345, 273, 340, 340, -6, -345, + -345 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -372, -372, -372, -372, -372, -372, -372, 7, -57, -372, - -372, -189, -372, -11, 352, 270, -372, -372, -229, -371, - -102, -361, -372, 8, 0, -217, -60, -372, -372, -372, - 13, 342, -372, 223, -188, -274, -372, 2, -10, -31, - -372, -372, -372, -372, -372, -372, -372, -372, 70, -372, - -372, -110, -208, -35, -372, -372, -372, 265, 325, 344, - -372, -372, 133 + -345, -345, -345, -345, -345, -345, -345, 8, 5, -345, + -212, -345, -11, 360, 277, -345, -345, -229, -344, -160, + -325, -345, 10, -68, -228, -51, -345, -345, -345, 33, + 350, -345, 244, -117, -274, -345, 27, -9, -38, -345, + -345, -345, -345, -345, -345, -345, -345, 237, -345, -345, + -110, -209, -33, -345, -345, -345, 2, 351, 355, -345, + -345, 11 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -191 +#define YYTABLE_NINF -190 static const yytype_int16 yytable[] = { - 77, 96, 213, 321, 395, 183, 300, 184, 100, 126, - 127, 128, 130, 132, 133, 323, 16, 74, 328, 286, - 123, 287, 205, 123, 206, 21, 142, 417, 299, -11, - 21, 359, 288, 305, 13, 162, 21, 22, 23, 212, - 123, 15, 123, 247, 93, 185, -10, 414, 415, 308, - 152, 93, 204, 114, 115, 122, 302, 134, 182, 430, - 309, 93, 169, 139, 339, 377, 148, 440, 227, 228, - 229, 230, 231, 232, 423, 234, 235, 160, 93, 301, - 432, 142, 129, 215, 15, 77, 343, 211, 121, 101, - 102, 124, 353, 136, 124, 389, 233, 93, 137, 179, - 180, 181, 74, 93, 116, 216, 138, 153, 289, 371, - 372, 124, 243, 124, 242, 244, 179, 180, 181, 155, - 172, 135, 142, 170, 217, 355, 140, 238, 239, 149, - -191, -191, 154, 182, 203, 161, 209, 163, 164, 165, - 166, 167, 385, 218, 214, 249, 179, 180, 181, 220, - 222, 399, 179, 180, 181, 108, 109, 110, 111, 224, - 236, 112, 113, 256, 258, 259, 260, 261, 262, 263, - 264, 265, 245, 267, 268, 270, 326, 255, 398, 378, - 400, 179, 180, 181, 404, 179, 180, 181, 250, 253, - 145, 146, 246, 358, 293, 294, 295, 296, 297, 298, - 205, 321, 206, 306, 239, 411, 412, 179, 180, 181, - 207, 433, 208, 421, 422, 310, 330, 313, 258, 311, - 258, 383, 325, 21, 336, 427, 304, 338, 314, 429, - 317, 331, 254, 333, 335, 406, 341, 181, 357, 179, - 180, 181, 360, 340, 179, 180, 181, 438, 439, 342, - 364, 362, 266, 393, 363, 350, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 241, 142, 200, 201, 202, 346, 347, 203, 349, - 365, 179, 180, 181, 368, 366, 106, 106, 106, 106, - 106, 352, 367, 106, 106, 179, 180, 181, 419, 369, - 370, 179, 180, 181, 173, 174, 175, 176, 373, 424, - 425, 177, 131, 178, 361, 354, 179, 180, 181, 431, - 380, 386, 144, 106, 150, -190, 387, 434, 157, 388, - 15, 379, 142, -190, 396, 402, 21, 179, 180, 181, - 239, 329, 103, 179, 180, 181, 403, 104, 407, 408, - 410, 418, -190, -190, -190, -190, 420, 436, 437, -190, - 313, -190, -64, 94, -190, 210, 390, 179, 180, 181, - 435, -190, -190, -190, -190, 179, 180, 181, 401, 405, - 428, 409, 120, 252, 390, -190, -190, -190, 158, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - 337, 356, 426, 144, -190, -190, -190, 159, 0, -190, - -190, 0, 17, 0, 0, 381, 0, 382, 0, 15, - 77, 18, 0, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 0, 32, 33, 34, - 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 179, 180, 181, 47, 48, 49, 50, - 51, 0, 52, 53, 54, 55, 56, 57, 291, 179, - 180, 181, 58, 59, 60, 61, 62, 63, 64, 65, - 0, 0, 0, 0, 199, 66, 179, 180, 181, 200, - 201, 202, 0, 0, 203, 0, 320, 67, 68, 69, - 0, 17, 0, 0, 70, 71, 189, 190, 72, 73, - 18, 344, 19, 20, 21, 22, 23, 24, 25, -59, - 27, 28, 29, 30, 31, 0, 32, 33, 34, 35, - 36, 198, 199, 0, 0, 40, 0, 200, 201, 202, - 0, 0, 203, 0, 0, 187, 188, 189, 190, 51, - 0, 52, 53, 54, 55, 56, 57, 179, 180, 181, - 0, 58, 59, 60, 61, 62, 63, 0, 65, 195, - 196, 197, 198, 199, 66, 0, 0, 0, 200, 201, - 202, 0, 351, 203, 0, 0, 67, 68, 69, 17, - 0, 0, 0, 70, 71, 189, 190, 72, 18, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 27, 28, - 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, - 0, 199, 0, 40, 0, 0, 200, 201, 202, 0, - 0, 203, 187, 188, 189, 190, 0, 51, 0, 52, - 53, 54, 55, 56, 57, 0, 0, 0, 0, 58, - 59, 60, 61, 62, 63, 0, 65, 196, 197, 198, - 199, 0, 66, 0, 0, 200, 201, 202, 0, 0, - 203, 0, 0, 0, 67, 68, 69, 0, 0, 0, - 0, 70, 71, 189, -59, 72, 15, 0, 18, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 141, 28, - 29, 30, 31, 104, 32, 33, 34, 35, 36, 199, - 179, 180, 181, 40, 200, 201, 202, 0, 0, 203, - 0, 187, 188, 189, 190, 0, 0, 51, 0, 52, - 53, 54, 55, 56, 57, 374, 179, 180, 181, 58, - 59, 60, 61, 62, 63, 0, 65, 197, 198, 199, - 0, 0, 66, 0, 200, 201, 202, 0, 0, 203, - 0, 375, 0, 0, 67, 68, 69, 0, 0, 0, - 0, 70, 71, 0, 15, 72, 18, 0, 19, 20, - 21, 22, 23, 24, 25, 0, 27, 28, 29, 30, - 31, 0, 32, 33, 34, 35, 36, 0, 179, 180, - 181, 40, 1, 2, 3, 4, 5, 0, 187, -191, - 189, 190, 179, 180, 181, 51, 0, 52, 53, 54, - 55, 56, 57, 376, 0, 0, 0, 58, 59, 60, - 61, 62, 63, 0, 65, 198, 199, 384, 0, 0, - 66, 200, 201, 202, 0, 0, 203, 0, 0, 0, - 0, 0, 67, 68, 69, 0, 0, 0, 0, 70, - 71, 0, 15, 72, 18, 0, 19, 20, 21, 22, - 23, 24, 25, 0, 147, 28, 29, 30, 31, 0, - 32, 33, 34, 35, 36, 0, 0, 0, 0, 40, + 76, 213, 96, 321, 323, 300, 122, 328, 99, 20, + 125, 126, 127, 129, 131, 132, 15, 73, 141, 97, + 212, 122, 105, 105, 105, 105, 105, 161, 299, 105, + 105, 359, 107, 108, 109, 110, 414, 415, 111, 112, + 395, 12, 247, 20, 21, 22, 184, -11, 130, 302, + 151, 92, -3, 203, 417, 423, 14, 133, 143, 105, + 149, 128, 168, 138, 156, 377, 147, 144, 145, 182, + 286, 183, 287, 141, 121, 215, 20, 123, 92, 92, + 178, 179, 180, 288, 92, 76, 211, 122, 92, 204, + 343, 205, 123, 113, 440, 430, 159, 233, 371, 372, + 114, 308, 73, 120, 305, 216, 242, 122, 152, 178, + 179, 180, 309, 243, 141, 432, 244, 135, 204, 353, + 205, 178, 179, 180, 217, 355, 154, 238, 239, 227, + 228, 229, 230, 231, 232, 339, 234, 235, 92, 143, + 399, 385, 206, 14, 207, 249, 254, 378, 241, 169, + 178, 179, 180, 383, 389, 398, 136, 400, 123, 289, + 314, 404, 317, 256, 258, 259, 260, 261, 262, 263, + 264, 265, 137, 267, 268, 270, 246, 255, 123, 178, + 179, 180, 411, 412, 171, 178, 179, 180, 406, 342, + 421, 422, 181, 358, 293, 294, 295, 296, 297, 298, + 433, 321, 427, 208, 291, 239, 429, 178, 179, 180, + 352, 222, 214, 178, 179, 180, 181, 218, 313, 258, + 354, 258, 220, 325, 438, 439, 224, 304, 178, 179, + 180, 356, 331, 320, 333, 335, 382, 301, 326, 236, + 419, 178, 179, 180, 340, 178, 179, 180, 178, 179, + 180, 424, 425, 393, 14, 100, 101, 350, 245, 250, + 20, 431, 178, 179, 180, 141, 102, 253, 306, 434, + 115, 103, 178, 179, 180, -190, -190, 346, 347, 202, + 349, 310, 311, 178, 179, 180, 368, 134, 178, 179, + 180, 188, 139, 20, 330, 148, 336, 338, 153, 341, + 180, 160, 363, 162, 163, 164, 165, 166, 360, 357, + 178, 179, 180, 362, 364, 361, 365, 198, 366, 367, + 369, 370, 199, 200, 201, 141, -189, 202, 199, 200, + 201, 373, 379, 202, -189, 329, 380, 386, 178, 179, + 180, 239, 387, 172, 173, 174, 175, 388, 396, 402, + 176, 403, 177, -189, -189, -189, -189, 407, 408, 418, + -189, 313, -189, 337, 410, -189, 420, 390, 436, 437, + 93, 209, -189, -189, -189, -189, 178, 179, 180, 435, + 401, 409, 428, 188, 189, 390, -189, -189, -189, 119, + -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, + -189, -63, 426, 252, 405, -189, -189, -189, 197, 198, + -189, -189, 0, 157, 199, 200, 201, 158, 266, 202, + 0, 76, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 16, 1, 2, + 3, 4, 5, 0, 14, 0, 17, 0, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 0, 31, 32, 33, 34, 35, 36, 0, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, + 0, 46, 47, 48, 49, 50, 0, 51, 52, 53, + 54, 55, 56, 178, 179, 180, 0, 57, 58, 59, + 60, 61, 62, 63, 64, 0, 0, 0, 0, 198, + 65, 178, 179, 180, 199, 200, 201, 0, 344, 202, + 0, 0, 66, 67, 68, 0, 16, 0, 0, 69, + 70, 188, 189, 71, 72, 17, 351, 18, 19, 20, + 21, 22, 23, 24, -58, 26, 27, 28, 29, 30, + 0, 31, 32, 33, 34, 35, 0, 198, 0, 0, + 39, 0, 199, 200, 201, 0, 0, 202, 0, 0, + 186, 187, 188, 189, 50, 0, 51, 52, 53, 54, + 55, 56, 381, 0, 0, 0, 57, 58, 59, 60, + 61, 62, 0, 64, 194, 195, 196, 197, 198, 65, + 0, 0, 0, 199, 200, 201, 0, 0, 202, 0, + 0, 66, 67, 68, 16, 0, 0, 0, 69, 70, + 0, 0, 71, 17, 0, 18, 19, 20, 21, 22, + 23, 24, 0, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 0, 178, 179, 180, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 186, 187, 188, + 189, 0, 50, 0, 51, 52, 53, 54, 55, 56, + 374, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 0, 64, 195, 196, 197, 198, 0, 65, 0, 0, + 199, 200, 201, 0, 0, 202, 0, 0, 0, 66, + 67, 68, 0, 0, 0, 0, 69, 70, 0, -58, + 71, 14, 0, 17, 0, 18, 19, 20, 21, 22, + 23, 24, 0, 140, 27, 28, 29, 30, 103, 31, + 32, 33, 34, 35, 0, 178, 179, 180, 39, 0, + 0, 0, 0, 0, 0, 0, 186, 187, 188, 189, + 0, 0, 50, 0, 51, 52, 53, 54, 55, 56, + 375, 178, 179, 180, 57, 58, 59, 60, 61, 62, + 0, 64, 196, 197, 198, 0, 0, 65, 0, 199, + 200, 201, 0, 0, 202, 0, 376, 0, 0, 66, + 67, 68, 0, 0, 0, 0, 69, 70, 0, 14, + 71, 17, 0, 18, 19, 20, 21, 22, 23, 24, + 0, 26, 27, 28, 29, 30, 0, 31, 32, 33, + 34, 35, 0, 178, 179, 180, 39, 0, 0, 0, + 0, 0, 0, 186, -190, 188, 189, 0, 0, 0, + 50, 0, 51, 52, 53, 54, 55, 56, 384, 0, + 0, 0, 57, 58, 59, 60, 61, 62, 0, 64, + 197, 198, 0, 0, 0, 65, 199, 200, 201, 0, + 0, 202, 0, 0, 0, 0, 0, 66, 67, 68, + 0, 0, 0, 0, 69, 70, 0, 14, 71, 17, + 0, 18, 19, 20, 21, 22, 23, 24, 0, 146, + 27, 28, 29, 30, 0, 31, 32, 33, 34, 35, + 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 51, 52, 53, 54, 55, 56, 0, 0, 0, 0, + 57, 58, 59, 60, 61, 62, 0, 64, 204, 0, + 205, -160, 0, 65, 0, 0, 0, 0, 0, -160, + 0, 0, 0, 0, 0, 66, 67, 68, 186, 187, + 188, 189, 69, 70, 0, 0, 71, 0, -160, -160, + -160, -160, 0, 0, 0, -160, 0, -160, 0, 0, + -160, 0, 0, 0, 0, 197, 198, -160, -160, -160, + -160, 199, 200, 201, 0, 0, 202, 0, 0, 0, + 0, -160, -160, -160, 0, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, 0, 0, 0, 0, + -160, -160, -160, 0, 0, -160, -160, 17, 98, 18, + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, + 29, 30, 0, 31, 32, 33, 34, 35, 0, 0, + 0, 0, 39, 0, 0, 0, 0, 0, 0, -190, + 0, 188, 189, 0, 0, 0, 50, 0, 51, 52, + 53, 54, 55, 56, 0, 0, 0, 0, 57, 58, + 59, 60, 61, 62, 0, 64, 197, 198, 0, 0, + 0, 65, 199, 200, 201, 0, 0, 202, 0, 0, + 0, 0, 0, 66, 67, 68, 0, 0, 0, 0, + 69, 70, 0, 17, 71, 18, 19, 20, 21, 22, + 23, 24, 150, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 0, 0, 0, 0, 39, 172, + 173, 174, 175, 0, 0, 0, 176, 0, 177, 0, + 0, 0, 50, 0, 51, 52, 53, 54, 55, 56, + 0, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 0, 64, 178, 179, 180, 0, 0, 65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 67, 68, 0, 0, 0, 0, 69, 70, 0, 17, + 71, 18, 19, 20, 21, 22, 23, 24, 0, 26, + 27, 28, 29, 30, 0, 31, 32, 33, 34, 35, + 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 51, 52, 53, 54, 55, 56, 0, 0, 0, 0, + 57, 58, 59, 60, 61, 62, 0, 64, 0, 0, + 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 67, 68, 0, 0, + 0, 0, 69, 70, 0, 167, 71, 17, 0, 18, + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, + 29, 30, 0, 31, 32, 33, 34, 35, 0, 0, + 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 0, 51, 52, + 53, 54, 55, 56, 0, 0, 0, 0, 57, 58, + 59, 60, 61, 62, 0, 64, 0, 0, 0, 0, + 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 66, 67, 68, 0, 0, 0, 0, + 69, 70, 0, 237, 71, 17, 0, 18, 19, 20, + 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, + 0, 31, 32, 33, 34, 35, 0, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 51, 52, 53, 54, + 55, 56, 0, 0, 0, 0, 57, 58, 59, 60, + 61, 62, 0, 64, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 0, 52, 53, 54, 55, 56, - 57, 0, 0, 0, 0, 58, 59, 60, 61, 62, - 63, 0, 65, 205, 0, 206, -161, 0, 66, 0, - 0, 0, 0, 0, -161, 0, 0, 0, 0, 0, - 67, 68, 69, 187, 188, 189, 190, 70, 71, 0, - 0, 72, 0, -161, -161, -161, -161, 0, 0, 0, - -161, 0, -161, 0, 0, -161, 0, 0, 0, 0, - 198, 199, -161, -161, -161, -161, 200, 201, 202, 0, - 0, 203, 0, 0, 0, 0, -161, -161, -161, 0, - -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, 0, 0, 0, 0, -161, -161, -161, 0, 0, - -161, -161, 18, 99, 19, 20, 21, 22, 23, 24, - 25, 0, 27, 28, 29, 30, 31, 0, 32, 33, - 34, 35, 36, 0, 0, 0, 0, 40, 0, 0, - 0, 0, 0, 0, -191, 0, 189, 190, 0, 0, - 0, 51, 0, 52, 53, 54, 55, 56, 57, 0, - 0, 0, 0, 58, 59, 60, 61, 62, 63, 0, - 65, 198, 199, 0, 0, 0, 66, 200, 201, 202, - 0, 0, 203, 0, 0, 0, 0, 0, 67, 68, - 69, 0, 0, 0, 0, 70, 71, 0, 18, 72, - 19, 20, 21, 22, 23, 24, 25, 151, 27, 28, - 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, - 0, 0, 0, 40, 173, 174, 175, 176, 0, 0, - 0, 177, 0, 178, 0, 0, 0, 51, 0, 52, - 53, 54, 55, 56, 57, 0, 0, 0, 0, 58, - 59, 60, 61, 62, 63, 0, 65, 179, 180, 181, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, - 0, 70, 71, 0, 18, 72, 19, 20, 21, 22, - 23, 24, 25, 0, 27, 28, 29, 30, 31, 0, - 32, 33, 34, 35, 36, 0, 0, 0, 0, 40, + 0, 66, 67, 68, 0, 0, 0, 0, 69, 70, + 0, 248, 71, 17, 0, 18, 19, 20, 21, 22, + 23, 24, 0, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 0, 52, 53, 54, 55, 56, - 57, 0, 0, 0, 0, 58, 59, 60, 61, 62, - 63, 0, 65, 0, 0, 0, 0, 0, 66, 0, + 0, 0, 50, 0, 51, 52, 53, 54, 55, 56, + 0, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 0, 64, 0, 0, 0, 0, 0, 65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 67, 68, 0, 0, 0, 0, 69, 70, 0, 269, + 71, 17, 0, 18, 19, 20, 21, 22, 23, 24, + 0, 26, 27, 28, 29, 30, 0, 31, 32, 33, + 34, 35, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 68, 69, 0, 0, 0, 0, 70, 71, 0, - 168, 72, 18, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 27, 28, 29, 30, 31, 0, 32, 33, - 34, 35, 36, 0, 0, 0, 0, 40, 0, 0, + 50, 0, 51, 52, 53, 54, 55, 56, 0, 0, + 0, 0, 57, 58, 59, 60, 61, 62, 0, 64, + 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 67, 68, + 0, 0, 0, 0, 69, 70, 0, 292, 71, 17, + 0, 18, 19, 20, 21, 22, 23, 24, 0, 26, + 27, 28, 29, 30, 0, 31, 32, 33, 34, 35, + 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 51, 52, 53, 54, 55, 56, 0, 0, 0, 0, + 57, 58, 59, 60, 61, 62, 0, 64, 0, 0, + 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 67, 68, 0, 0, + 0, 0, 69, 70, 0, 332, 71, 17, 0, 18, + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, + 29, 30, 0, 31, 32, 33, 34, 35, 0, 0, + 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 0, 51, 52, + 53, 54, 55, 56, 0, 0, 0, 0, 57, 58, + 59, 60, 61, 62, 0, 64, 0, 0, 0, 0, + 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 66, 67, 68, 0, 0, 0, 0, + 69, 70, 0, 334, 71, 17, 0, 18, 19, 20, + 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, + 0, 31, 32, 33, 34, 35, 0, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 51, 52, 53, 54, + 55, 56, 0, 0, 0, 0, 57, 58, 59, 60, + 61, 62, 0, 64, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 52, 53, 54, 55, 56, 57, 0, - 0, 0, 0, 58, 59, 60, 61, 62, 63, 0, - 65, 0, 0, 0, 0, 0, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, - 69, 0, 0, 0, 0, 70, 71, 0, 237, 72, - 18, 0, 19, 20, 21, 22, 23, 24, 25, 0, - 27, 28, 29, 30, 31, 0, 32, 33, 34, 35, - 36, 0, 0, 0, 0, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 0, 52, 53, 54, 55, 56, 57, 0, 0, 0, - 0, 58, 59, 60, 61, 62, 63, 0, 65, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, - 0, 0, 0, 70, 71, 0, 248, 72, 18, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 27, 28, - 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 0, 52, - 53, 54, 55, 56, 57, 0, 0, 0, 0, 58, - 59, 60, 61, 62, 63, 0, 65, 0, 0, 0, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 68, 69, 0, 0, 0, - 0, 70, 71, 0, 269, 72, 18, 0, 19, 20, - 21, 22, 23, 24, 25, 0, 27, 28, 29, 30, - 31, 0, 32, 33, 34, 35, 36, 0, 0, 0, - 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 52, 53, 54, - 55, 56, 57, 0, 0, 0, 0, 58, 59, 60, - 61, 62, 63, 0, 65, 0, 0, 0, 0, 0, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 68, 69, 0, 0, 0, 0, 70, - 71, 0, 292, 72, 18, 0, 19, 20, 21, 22, - 23, 24, 25, 0, 27, 28, 29, 30, 31, 0, - 32, 33, 34, 35, 36, 0, 0, 0, 0, 40, + 0, 66, 67, 68, 0, 0, 0, 0, 69, 70, + 0, 348, 71, 17, 0, 18, 19, 20, 21, 22, + 23, 24, 0, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 0, 52, 53, 54, 55, 56, - 57, 0, 0, 0, 0, 58, 59, 60, 61, 62, - 63, 0, 65, 0, 0, 0, 0, 0, 66, 0, + 0, 0, 50, 0, 51, 52, 53, 54, 55, 56, + 0, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 0, 64, 0, 0, 0, 185, 0, 65, 0, 0, + 0, 0, 186, 187, 188, 189, 0, 0, 0, 66, + 67, 68, 0, 0, 0, 0, 69, 70, 0, 0, + 71, 190, 191, 345, 192, 193, 194, 195, 196, 197, + 198, 0, 0, 0, 185, 199, 200, 201, 0, 0, + 202, 186, 187, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 68, 69, 0, 0, 0, 0, 70, 71, 0, - 332, 72, 18, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 27, 28, 29, 30, 31, 0, 32, 33, - 34, 35, 36, 0, 0, 0, 0, 40, 0, 0, + 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, + 0, 0, 0, 185, 199, 200, 201, 0, 0, 202, + 186, 187, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 52, 53, 54, 55, 56, 57, 0, - 0, 0, 0, 58, 59, 60, 61, 62, 63, 0, - 65, 0, 0, 0, 0, 0, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, - 69, 0, 0, 0, 0, 70, 71, 0, 334, 72, - 18, 0, 19, 20, 21, 22, 23, 24, 25, 0, - 27, 28, 29, 30, 31, 0, 32, 33, 34, 35, - 36, 0, 0, 0, 0, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 0, 52, 53, 54, 55, 56, 57, 0, 0, 0, - 0, 58, 59, 60, 61, 62, 63, 0, 65, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 67, 68, 69, 0, - 0, 0, 0, 70, 71, 0, 348, 72, 18, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 27, 28, - 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 0, 52, - 53, 54, 55, 56, 57, 0, 0, 0, 0, 58, - 59, 60, 61, 62, 63, 0, 65, 0, 0, 0, - 186, 0, 66, 0, 0, 0, 0, 187, 188, 189, - 190, 0, 0, 0, 67, 68, 69, 0, 0, 0, - 0, 70, 71, 0, 0, 72, 191, 192, 345, 193, - 194, 195, 196, 197, 198, 199, 0, 0, 0, 186, - 200, 201, 202, 0, 0, 203, 187, 188, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 0, + 0, 0, -190, 199, 200, 201, 0, 0, 202, 186, + 187, 188, 189, 0, 0, 0, 0, 0, 0, 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, 186, 200, - 201, 202, 0, 0, 203, 187, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 0, 193, 194, 195, - 196, 197, 198, 199, 0, 0, 0, -191, 200, 201, - 202, 0, 0, 203, 187, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 195, 196, - 197, 198, 199, 0, 0, 0, 0, 200, 201, 202, - 0, 0, 203 + 0, 192, 193, 194, 195, 196, 197, 198, 0, 0, + 0, 0, 199, 200, 201, 0, 0, 202 }; static const yytype_int16 yycheck[] = { - 10, 12, 112, 232, 365, 8, 214, 10, 18, 44, - 45, 46, 47, 48, 49, 232, 9, 10, 235, 8, - 26, 10, 8, 26, 10, 14, 57, 398, 9, 0, - 14, 305, 21, 221, 0, 66, 14, 15, 16, 11, - 26, 8, 26, 153, 32, 80, 0, 42, 43, 8, - 60, 32, 87, 97, 10, 42, 11, 50, 75, 420, - 19, 32, 72, 56, 252, 339, 59, 438, 125, 126, - 127, 128, 129, 130, 9, 132, 133, 64, 32, 96, - 9, 112, 66, 114, 8, 95, 11, 98, 20, 19, - 20, 97, 11, 97, 97, 19, 131, 32, 97, 71, - 72, 73, 95, 32, 34, 115, 97, 20, 97, 326, - 327, 97, 147, 97, 145, 150, 71, 72, 73, 97, - 19, 51, 153, 44, 117, 11, 56, 137, 138, 59, - 91, 92, 62, 75, 95, 65, 8, 67, 68, 69, - 70, 71, 350, 20, 97, 155, 71, 72, 73, 20, - 23, 368, 71, 72, 73, 22, 23, 24, 25, 20, - 96, 28, 29, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 9, 183, 184, 185, 233, 170, 367, 11, - 369, 71, 72, 73, 373, 71, 72, 73, 69, 10, - 57, 58, 19, 303, 204, 205, 206, 207, 208, 209, - 8, 430, 10, 69, 214, 394, 395, 71, 72, 73, - 8, 428, 10, 402, 403, 20, 96, 227, 228, 97, - 230, 11, 232, 14, 9, 414, 219, 23, 228, 418, - 230, 241, 96, 243, 244, 11, 10, 73, 96, 71, - 72, 73, 23, 253, 71, 72, 73, 436, 437, 19, - 96, 308, 182, 363, 20, 290, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 138, 303, 90, 91, 92, 286, 287, 95, 289, - 96, 71, 72, 73, 319, 96, 21, 22, 23, 24, - 25, 19, 96, 28, 29, 71, 72, 73, 400, 96, - 19, 71, 72, 73, 38, 39, 40, 41, 96, 411, - 412, 45, 47, 47, 307, 19, 71, 72, 73, 421, - 9, 9, 57, 58, 59, 11, 9, 429, 63, 9, - 8, 341, 363, 19, 8, 96, 14, 71, 72, 73, - 350, 96, 20, 71, 72, 73, 96, 25, 9, 96, - 19, 96, 38, 39, 40, 41, 19, 96, 96, 45, - 370, 47, 96, 11, 50, 95, 359, 71, 72, 73, - 430, 57, 58, 59, 60, 71, 72, 73, 370, 377, - 415, 392, 40, 160, 377, 71, 72, 73, 63, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 96, 19, 413, 138, 90, 91, 92, 63, -1, 95, - 96, -1, 1, -1, -1, 345, -1, 19, -1, 8, - 430, 10, -1, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, - 29, 30, 31, -1, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 71, 72, 73, 45, 46, 47, 48, - 49, -1, 51, 52, 53, 54, 55, 56, 203, 71, - 72, 73, 61, 62, 63, 64, 65, 66, 67, 68, - -1, -1, -1, -1, 85, 74, 71, 72, 73, 90, - 91, 92, -1, -1, 95, -1, 231, 86, 87, 88, - -1, 1, -1, -1, 93, 94, 59, 60, 97, 98, - 10, 96, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, 84, 85, -1, -1, 35, -1, 90, 91, 92, - -1, -1, 95, -1, -1, 57, 58, 59, 60, 49, - -1, 51, 52, 53, 54, 55, 56, 71, 72, 73, - -1, 61, 62, 63, 64, 65, 66, -1, 68, 81, - 82, 83, 84, 85, 74, -1, -1, -1, 90, 91, - 92, -1, 96, 95, -1, -1, 86, 87, 88, 1, - -1, -1, -1, 93, 94, 59, 60, 97, 10, -1, - 12, 13, 14, 15, 16, 17, 18, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, -1, - -1, 85, -1, 35, -1, -1, 90, 91, 92, -1, - -1, 95, 57, 58, 59, 60, -1, 49, -1, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, 61, - 62, 63, 64, 65, 66, -1, 68, 82, 83, 84, - 85, -1, 74, -1, -1, 90, 91, 92, -1, -1, - 95, -1, -1, -1, 86, 87, 88, -1, -1, -1, - -1, 93, 94, 59, 96, 97, 8, -1, 10, -1, - 12, 13, 14, 15, 16, 17, 18, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 85, - 71, 72, 73, 35, 90, 91, 92, -1, -1, 95, - -1, 57, 58, 59, 60, -1, -1, 49, -1, 51, - 52, 53, 54, 55, 56, 96, 71, 72, 73, 61, - 62, 63, 64, 65, 66, -1, 68, 83, 84, 85, - -1, -1, 74, -1, 90, 91, 92, -1, -1, 95, - -1, 96, -1, -1, 86, 87, 88, -1, -1, -1, - -1, 93, 94, -1, 8, 97, 10, -1, 12, 13, - 14, 15, 16, 17, 18, -1, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, -1, 71, 72, - 73, 35, 3, 4, 5, 6, 7, -1, 57, 58, - 59, 60, 71, 72, 73, 49, -1, 51, 52, 53, - 54, 55, 56, 96, -1, -1, -1, 61, 62, 63, - 64, 65, 66, -1, 68, 84, 85, 96, -1, -1, - 74, 90, 91, 92, -1, -1, 95, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, - 94, -1, 8, 97, 10, -1, 12, 13, 14, 15, - 16, 17, 18, -1, 20, 21, 22, 23, 24, -1, - 26, 27, 28, 29, 30, -1, -1, -1, -1, 35, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 49, -1, 51, 52, 53, 54, 55, - 56, -1, -1, -1, -1, 61, 62, 63, 64, 65, - 66, -1, 68, 8, -1, 10, 11, -1, 74, -1, - -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, - 86, 87, 88, 57, 58, 59, 60, 93, 94, -1, - -1, 97, -1, 38, 39, 40, 41, -1, -1, -1, - 45, -1, 47, -1, -1, 50, -1, -1, -1, -1, - 84, 85, 57, 58, 59, 60, 90, 91, 92, -1, - -1, 95, -1, -1, -1, -1, 71, 72, 73, -1, + 9, 111, 13, 232, 232, 214, 26, 235, 17, 14, + 43, 44, 45, 46, 47, 48, 8, 9, 56, 14, + 11, 26, 20, 21, 22, 23, 24, 65, 9, 27, + 28, 305, 21, 22, 23, 24, 42, 43, 27, 28, + 365, 0, 152, 14, 15, 16, 79, 0, 46, 11, + 59, 32, 0, 86, 398, 9, 8, 49, 56, 57, + 58, 66, 71, 55, 62, 339, 58, 56, 57, 8, + 8, 10, 10, 111, 41, 113, 14, 97, 32, 32, + 71, 72, 73, 21, 32, 94, 97, 26, 32, 8, + 11, 10, 97, 97, 438, 420, 63, 130, 326, 327, + 10, 8, 94, 20, 221, 114, 144, 26, 20, 71, + 72, 73, 19, 146, 152, 9, 149, 97, 8, 11, + 10, 71, 72, 73, 116, 11, 97, 136, 137, 124, + 125, 126, 127, 128, 129, 252, 131, 132, 32, 137, + 368, 350, 8, 8, 10, 154, 96, 11, 137, 44, + 71, 72, 73, 11, 19, 367, 97, 369, 97, 97, + 228, 373, 230, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 97, 182, 183, 184, 19, 169, 97, 71, + 72, 73, 394, 395, 19, 71, 72, 73, 11, 19, + 402, 403, 75, 303, 203, 204, 205, 206, 207, 208, + 428, 430, 414, 8, 202, 214, 418, 71, 72, 73, + 19, 23, 97, 71, 72, 73, 75, 20, 227, 228, + 19, 230, 20, 232, 436, 437, 20, 219, 71, 72, + 73, 19, 241, 231, 243, 244, 19, 96, 233, 96, + 400, 71, 72, 73, 253, 71, 72, 73, 71, 72, + 73, 411, 412, 363, 8, 18, 19, 290, 9, 69, + 14, 421, 71, 72, 73, 303, 20, 10, 69, 429, + 33, 25, 71, 72, 73, 91, 92, 286, 287, 95, + 289, 20, 97, 71, 72, 73, 319, 50, 71, 72, + 73, 59, 55, 14, 96, 58, 9, 23, 61, 10, + 73, 64, 20, 66, 67, 68, 69, 70, 23, 96, + 71, 72, 73, 308, 96, 307, 96, 85, 96, 96, + 96, 19, 90, 91, 92, 363, 11, 95, 90, 91, + 92, 96, 341, 95, 19, 96, 9, 9, 71, 72, + 73, 350, 9, 38, 39, 40, 41, 9, 8, 96, + 45, 96, 47, 38, 39, 40, 41, 9, 96, 96, + 45, 370, 47, 96, 19, 50, 19, 359, 96, 96, + 10, 94, 57, 58, 59, 60, 71, 72, 73, 430, + 370, 392, 415, 59, 60, 377, 71, 72, 73, 39, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, -1, -1, -1, -1, 90, 91, 92, -1, -1, - 95, 96, 10, 11, 12, 13, 14, 15, 16, 17, - 18, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, -1, -1, -1, -1, 35, -1, -1, - -1, -1, -1, -1, 57, -1, 59, 60, -1, -1, - -1, 49, -1, 51, 52, 53, 54, 55, 56, -1, - -1, -1, -1, 61, 62, 63, 64, 65, 66, -1, - 68, 84, 85, -1, -1, -1, 74, 90, 91, 92, - -1, -1, 95, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, -1, 93, 94, -1, 10, 97, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, -1, - -1, -1, -1, 35, 38, 39, 40, 41, -1, -1, - -1, 45, -1, 47, -1, -1, -1, 49, -1, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, 61, - 62, 63, 64, 65, 66, -1, 68, 71, 72, 73, - -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, - -1, 93, 94, -1, 10, 97, 12, 13, 14, 15, - 16, 17, 18, -1, 20, 21, 22, 23, 24, -1, - 26, 27, 28, 29, 30, -1, -1, -1, -1, 35, + 85, 96, 413, 159, 377, 90, 91, 92, 84, 85, + 95, 96, -1, 62, 90, 91, 92, 62, 181, 95, + -1, 430, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 1, 3, 4, + 5, 6, 7, -1, 8, -1, 10, -1, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, -1, 26, 27, 28, 29, 30, 31, -1, 33, + 34, 35, 36, 37, 38, 39, 40, 41, -1, -1, + -1, 45, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, 56, 71, 72, 73, -1, 61, 62, 63, + 64, 65, 66, 67, 68, -1, -1, -1, -1, 85, + 74, 71, 72, 73, 90, 91, 92, -1, 96, 95, + -1, -1, 86, 87, 88, -1, 1, -1, -1, 93, + 94, 59, 60, 97, 98, 10, 96, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, 26, 27, 28, 29, 30, -1, 85, -1, -1, + 35, -1, 90, 91, 92, -1, -1, 95, -1, -1, + 57, 58, 59, 60, 49, -1, 51, 52, 53, 54, + 55, 56, 345, -1, -1, -1, 61, 62, 63, 64, + 65, 66, -1, 68, 81, 82, 83, 84, 85, 74, + -1, -1, -1, 90, 91, 92, -1, -1, 95, -1, + -1, 86, 87, 88, 1, -1, -1, -1, 93, 94, + -1, -1, 97, 10, -1, 12, 13, 14, 15, 16, + 17, 18, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, -1, 71, 72, 73, 35, -1, + -1, -1, -1, -1, -1, -1, -1, 57, 58, 59, + 60, -1, 49, -1, 51, 52, 53, 54, 55, 56, + 96, -1, -1, -1, 61, 62, 63, 64, 65, 66, + -1, 68, 82, 83, 84, 85, -1, 74, -1, -1, + 90, 91, 92, -1, -1, 95, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, 94, -1, 96, + 97, 8, -1, 10, -1, 12, 13, 14, 15, 16, + 17, 18, -1, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 71, 72, 73, 35, -1, + -1, -1, -1, -1, -1, -1, 57, 58, 59, 60, + -1, -1, 49, -1, 51, 52, 53, 54, 55, 56, + 96, 71, 72, 73, 61, 62, 63, 64, 65, 66, + -1, 68, 83, 84, 85, -1, -1, 74, -1, 90, + 91, 92, -1, -1, 95, -1, 96, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, 94, -1, 8, + 97, 10, -1, 12, 13, 14, 15, 16, 17, 18, + -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, -1, 71, 72, 73, 35, -1, -1, -1, + -1, -1, -1, 57, 58, 59, 60, -1, -1, -1, + 49, -1, 51, 52, 53, 54, 55, 56, 96, -1, + -1, -1, 61, 62, 63, 64, 65, 66, -1, 68, + 84, 85, -1, -1, -1, 74, 90, 91, 92, -1, + -1, 95, -1, -1, -1, -1, -1, 86, 87, 88, + -1, -1, -1, -1, 93, 94, -1, 8, 97, 10, + -1, 12, 13, 14, 15, 16, 17, 18, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + 61, 62, 63, 64, 65, 66, -1, 68, 8, -1, + 10, 11, -1, 74, -1, -1, -1, -1, -1, 19, + -1, -1, -1, -1, -1, 86, 87, 88, 57, 58, + 59, 60, 93, 94, -1, -1, 97, -1, 38, 39, + 40, 41, -1, -1, -1, 45, -1, 47, -1, -1, + 50, -1, -1, -1, -1, 84, 85, 57, 58, 59, + 60, 90, 91, 92, -1, -1, 95, -1, -1, -1, + -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, + 90, 91, 92, -1, -1, 95, 96, 10, 11, 12, + 13, 14, 15, 16, 17, 18, -1, 20, 21, 22, + 23, 24, -1, 26, 27, 28, 29, 30, -1, -1, + -1, -1, 35, -1, -1, -1, -1, -1, -1, 57, + -1, 59, 60, -1, -1, -1, 49, -1, 51, 52, + 53, 54, 55, 56, -1, -1, -1, -1, 61, 62, + 63, 64, 65, 66, -1, 68, 84, 85, -1, -1, + -1, 74, 90, 91, 92, -1, -1, 95, -1, -1, + -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, + 93, 94, -1, 10, 97, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, -1, -1, -1, -1, 35, 38, + 39, 40, 41, -1, -1, -1, 45, -1, 47, -1, + -1, -1, 49, -1, 51, 52, 53, 54, 55, 56, + -1, -1, -1, -1, 61, 62, 63, 64, 65, 66, + -1, 68, 71, 72, 73, -1, -1, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, 94, -1, 10, + 97, 12, 13, 14, 15, 16, 17, 18, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + 61, 62, 63, 64, 65, 66, -1, 68, -1, -1, + -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, + -1, -1, 93, 94, -1, 96, 97, 10, -1, 12, + 13, 14, 15, 16, 17, 18, -1, 20, 21, 22, + 23, 24, -1, 26, 27, 28, 29, 30, -1, -1, + -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 49, -1, 51, 52, + 53, 54, 55, 56, -1, -1, -1, -1, 61, 62, + 63, 64, 65, 66, -1, 68, -1, -1, -1, -1, + -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, + 93, 94, -1, 96, 97, 10, -1, 12, 13, 14, + 15, 16, 17, 18, -1, 20, 21, 22, 23, 24, + -1, 26, 27, 28, 29, 30, -1, -1, -1, -1, + 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, -1, 51, 52, 53, 54, + 55, 56, -1, -1, -1, -1, 61, 62, 63, 64, + 65, 66, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 49, -1, 51, 52, 53, 54, 55, - 56, -1, -1, -1, -1, 61, 62, 63, 64, 65, - 66, -1, 68, -1, -1, -1, -1, -1, 74, -1, + -1, 86, 87, 88, -1, -1, -1, -1, 93, 94, + -1, 96, 97, 10, -1, 12, 13, 14, 15, 16, + 17, 18, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 86, 87, 88, -1, -1, -1, -1, 93, 94, -1, - 96, 97, 10, -1, 12, 13, 14, 15, 16, 17, - 18, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, -1, -1, -1, -1, 35, -1, -1, + -1, -1, 49, -1, 51, 52, 53, 54, 55, 56, + -1, -1, -1, -1, 61, 62, 63, 64, 65, 66, + -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, 94, -1, 96, + 97, 10, -1, 12, 13, 14, 15, 16, 17, 18, + -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, -1, 51, 52, 53, 54, 55, 56, -1, - -1, -1, -1, 61, 62, 63, 64, 65, 66, -1, - 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, -1, 93, 94, -1, 96, 97, - 10, -1, 12, 13, 14, 15, 16, 17, 18, -1, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, -1, -1, -1, -1, 35, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, - -1, 51, 52, 53, 54, 55, 56, -1, -1, -1, - -1, 61, 62, 63, 64, 65, 66, -1, 68, -1, - -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 86, 87, 88, -1, - -1, -1, -1, 93, 94, -1, 96, 97, 10, -1, - 12, 13, 14, 15, 16, 17, 18, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, -1, - -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 49, -1, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, 61, - 62, 63, 64, 65, 66, -1, 68, -1, -1, -1, - -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, - -1, 93, 94, -1, 96, 97, 10, -1, 12, 13, - 14, 15, 16, 17, 18, -1, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, -1, -1, -1, - -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 49, -1, 51, 52, 53, - 54, 55, 56, -1, -1, -1, -1, 61, 62, 63, - 64, 65, 66, -1, 68, -1, -1, -1, -1, -1, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, 87, 88, -1, -1, -1, -1, 93, - 94, -1, 96, 97, 10, -1, 12, 13, 14, 15, - 16, 17, 18, -1, 20, 21, 22, 23, 24, -1, - 26, 27, 28, 29, 30, -1, -1, -1, -1, 35, + 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, + -1, -1, 61, 62, 63, 64, 65, 66, -1, 68, + -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 86, 87, 88, + -1, -1, -1, -1, 93, 94, -1, 96, 97, 10, + -1, 12, 13, 14, 15, 16, 17, 18, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + 61, 62, 63, 64, 65, 66, -1, 68, -1, -1, + -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, + -1, -1, 93, 94, -1, 96, 97, 10, -1, 12, + 13, 14, 15, 16, 17, 18, -1, 20, 21, 22, + 23, 24, -1, 26, 27, 28, 29, 30, -1, -1, + -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 49, -1, 51, 52, + 53, 54, 55, 56, -1, -1, -1, -1, 61, 62, + 63, 64, 65, 66, -1, 68, -1, -1, -1, -1, + -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, + 93, 94, -1, 96, 97, 10, -1, 12, 13, 14, + 15, 16, 17, 18, -1, 20, 21, 22, 23, 24, + -1, 26, 27, 28, 29, 30, -1, -1, -1, -1, + 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, -1, 51, 52, 53, 54, + 55, 56, -1, -1, -1, -1, 61, 62, 63, 64, + 65, 66, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 49, -1, 51, 52, 53, 54, 55, - 56, -1, -1, -1, -1, 61, 62, 63, 64, 65, - 66, -1, 68, -1, -1, -1, -1, -1, 74, -1, + -1, 86, 87, 88, -1, -1, -1, -1, 93, 94, + -1, 96, 97, 10, -1, 12, 13, 14, 15, 16, + 17, 18, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 86, 87, 88, -1, -1, -1, -1, 93, 94, -1, - 96, 97, 10, -1, 12, 13, 14, 15, 16, 17, - 18, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, -1, -1, -1, -1, 35, -1, -1, + -1, -1, 49, -1, 51, 52, 53, 54, 55, 56, + -1, -1, -1, -1, 61, 62, 63, 64, 65, 66, + -1, 68, -1, -1, -1, 50, -1, 74, -1, -1, + -1, -1, 57, 58, 59, 60, -1, -1, -1, 86, + 87, 88, -1, -1, -1, -1, 93, 94, -1, -1, + 97, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, -1, -1, -1, 50, 90, 91, 92, -1, -1, + 95, 57, 58, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, -1, 51, 52, 53, 54, 55, 56, -1, - -1, -1, -1, 61, 62, 63, 64, 65, 66, -1, - 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 86, 87, - 88, -1, -1, -1, -1, 93, 94, -1, 96, 97, - 10, -1, 12, 13, 14, 15, 16, 17, 18, -1, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, -1, -1, -1, -1, 35, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, - -1, 51, 52, 53, 54, 55, 56, -1, -1, -1, - -1, 61, 62, 63, 64, 65, 66, -1, 68, -1, - -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 86, 87, 88, -1, - -1, -1, -1, 93, 94, -1, 96, 97, 10, -1, - 12, 13, 14, 15, 16, 17, 18, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, -1, - -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 49, -1, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, 61, - 62, 63, 64, 65, 66, -1, 68, -1, -1, -1, - 50, -1, 74, -1, -1, -1, -1, 57, 58, 59, - 60, -1, -1, -1, 86, 87, 88, -1, -1, -1, - -1, 93, 94, -1, -1, 97, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, -1, -1, -1, 50, - 90, 91, 92, -1, -1, 95, 57, 58, 59, 60, + 76, 77, -1, 79, 80, 81, 82, 83, 84, 85, + -1, -1, -1, 50, 90, 91, 92, -1, -1, 95, + 57, 58, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, -1, 79, 80, - 81, 82, 83, 84, 85, -1, -1, -1, 50, 90, - 91, 92, -1, -1, 95, 57, 58, 59, 60, -1, + 77, -1, 79, 80, 81, 82, 83, 84, 85, -1, + -1, -1, 50, 90, 91, 92, -1, -1, 95, 57, + 58, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 77, -1, 79, 80, 81, - 82, 83, 84, 85, -1, -1, -1, 50, 90, 91, - 92, -1, -1, 95, 57, 58, 59, 60, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 79, 80, 81, 82, - 83, 84, 85, -1, -1, -1, -1, 90, 91, 92, - -1, -1, 95 + -1, 79, 80, 81, 82, 83, 84, 85, -1, -1, + -1, -1, 90, 91, 92, -1, -1, 95 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 3, 4, 5, 6, 7, 100, 105, 109, 101, - 102, 103, 104, 0, 112, 8, 106, 1, 10, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 45, 46, 47, - 48, 49, 51, 52, 53, 54, 55, 56, 61, 62, - 63, 64, 65, 66, 67, 68, 74, 86, 87, 88, - 93, 94, 97, 98, 106, 114, 117, 137, 138, 139, - 142, 143, 144, 145, 146, 147, 148, 155, 156, 157, - 158, 159, 160, 32, 113, 127, 112, 113, 107, 11, - 137, 147, 147, 20, 25, 106, 156, 161, 161, 161, - 161, 161, 161, 161, 97, 10, 147, 130, 131, 129, - 130, 20, 129, 26, 97, 152, 152, 152, 152, 66, - 152, 156, 152, 152, 106, 147, 97, 97, 97, 106, - 147, 20, 138, 150, 156, 161, 161, 20, 106, 147, - 156, 19, 137, 20, 147, 97, 149, 156, 157, 158, - 129, 147, 138, 147, 147, 147, 147, 147, 96, 137, - 44, 119, 19, 38, 39, 40, 41, 45, 47, 71, - 72, 73, 75, 8, 10, 152, 50, 57, 58, 59, - 60, 76, 77, 79, 80, 81, 82, 83, 84, 85, - 90, 91, 92, 95, 152, 8, 10, 8, 10, 8, - 114, 112, 11, 150, 97, 138, 137, 106, 20, 128, - 20, 132, 23, 133, 20, 115, 153, 107, 107, 107, - 107, 107, 107, 152, 107, 107, 96, 96, 137, 137, - 151, 161, 138, 152, 152, 9, 19, 150, 96, 137, - 69, 135, 132, 10, 96, 106, 137, 123, 137, 137, - 137, 137, 137, 137, 137, 137, 147, 137, 137, 96, - 137, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 8, 10, 21, 97, - 141, 156, 96, 137, 137, 137, 137, 137, 137, 9, - 151, 96, 11, 140, 106, 133, 69, 134, 8, 19, - 20, 97, 122, 137, 123, 124, 137, 123, 126, 154, - 156, 117, 121, 124, 125, 137, 107, 108, 124, 96, - 96, 137, 96, 137, 96, 137, 9, 96, 23, 133, - 137, 10, 19, 11, 96, 78, 137, 137, 96, 137, - 152, 96, 19, 11, 19, 11, 19, 96, 150, 134, - 23, 106, 107, 20, 96, 96, 96, 96, 152, 96, - 19, 124, 124, 96, 96, 96, 96, 134, 11, 137, - 9, 147, 19, 11, 96, 151, 9, 9, 9, 19, - 106, 136, 116, 150, 120, 120, 8, 110, 110, 124, - 110, 122, 96, 96, 110, 136, 11, 9, 96, 112, - 19, 110, 110, 111, 42, 43, 118, 118, 96, 119, - 19, 110, 110, 9, 119, 119, 112, 110, 152, 110, - 120, 119, 9, 124, 119, 125, 96, 96, 110, 110, - 118 + 0, 3, 4, 5, 6, 7, 100, 101, 102, 103, + 104, 105, 0, 107, 8, 106, 1, 10, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 45, 46, 47, 48, + 49, 51, 52, 53, 54, 55, 56, 61, 62, 63, + 64, 65, 66, 67, 68, 74, 86, 87, 88, 93, + 94, 97, 98, 106, 113, 116, 136, 137, 138, 141, + 142, 143, 144, 145, 146, 147, 154, 155, 156, 157, + 158, 159, 32, 112, 126, 111, 111, 107, 11, 136, + 146, 146, 20, 25, 106, 155, 160, 160, 160, 160, + 160, 160, 160, 97, 10, 146, 129, 130, 128, 129, + 20, 128, 26, 97, 151, 151, 151, 151, 66, 151, + 155, 151, 151, 106, 146, 97, 97, 97, 106, 146, + 20, 137, 149, 155, 160, 160, 20, 106, 146, 155, + 19, 136, 20, 146, 97, 148, 155, 156, 157, 128, + 146, 137, 146, 146, 146, 146, 146, 96, 136, 44, + 118, 19, 38, 39, 40, 41, 45, 47, 71, 72, + 73, 75, 8, 10, 151, 50, 57, 58, 59, 60, + 76, 77, 79, 80, 81, 82, 83, 84, 85, 90, + 91, 92, 95, 151, 8, 10, 8, 10, 8, 113, + 112, 111, 11, 149, 97, 137, 136, 106, 20, 127, + 20, 131, 23, 132, 20, 114, 152, 107, 107, 107, + 107, 107, 107, 151, 107, 107, 96, 96, 136, 136, + 150, 160, 137, 151, 151, 9, 19, 149, 96, 136, + 69, 134, 131, 10, 96, 106, 136, 122, 136, 136, + 136, 136, 136, 136, 136, 136, 146, 136, 136, 96, + 136, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 8, 10, 21, 97, + 140, 155, 96, 136, 136, 136, 136, 136, 136, 9, + 150, 96, 11, 139, 106, 132, 69, 133, 8, 19, + 20, 97, 121, 136, 122, 123, 136, 122, 125, 153, + 155, 116, 120, 123, 124, 136, 107, 108, 123, 96, + 96, 136, 96, 136, 96, 136, 9, 96, 23, 132, + 136, 10, 19, 11, 96, 78, 136, 136, 96, 136, + 151, 96, 19, 11, 19, 11, 19, 96, 149, 133, + 23, 106, 107, 20, 96, 96, 96, 96, 151, 96, + 19, 123, 123, 96, 96, 96, 96, 133, 11, 136, + 9, 146, 19, 11, 96, 150, 9, 9, 9, 19, + 106, 135, 115, 149, 119, 119, 8, 109, 109, 123, + 109, 121, 96, 96, 109, 135, 11, 9, 96, 111, + 19, 109, 109, 110, 42, 43, 117, 117, 96, 118, + 19, 109, 109, 9, 118, 118, 111, 109, 151, 109, + 119, 118, 9, 123, 118, 124, 96, 96, 109, 109, + 117 }; typedef enum { @@ -934,14 +938,14 @@ static const toketypes yy_type_tab[] = toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_p_tkval, toketype_opval, toketype_ival, toketype_ival, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_p_tkval, + toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_i_tkval, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval + toketype_opval, toketype_i_tkval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval }; diff --git a/perly.y b/perly.y index 7407b21749..b8de63b0c8 100644 --- a/perly.y +++ b/perly.y @@ -89,7 +89,7 @@ %type lpar_or_qw -%type grammar prog progstart remember mremember +%type grammar remember mremember %type startsub startanonsub startformsub /* FIXME for MAD - are these two ival? */ %type mydefsv mintro @@ -139,8 +139,15 @@ %% /* RULES */ /* Top-level choice of what kind of thing yyparse was called to parse */ -grammar : GRAMPROG prog - { $$ = $2; } +grammar : GRAMPROG + { + PL_parser->expect = XSTATE; + } + remember stmtseq + { + newPROG(block_end($3,$4)); + $$ = 0; + } | GRAMBLOCK { parser->expect = XBLOCK; @@ -188,12 +195,6 @@ grammar : GRAMPROG prog } ; -/* The whole program */ -prog : progstart - /*CONTINUED*/ stmtseq - { $$ = $1; newPROG(block_end($1,$2)); } - ; - /* An ordinary block */ block : '{' remember stmtseq '}' { if (PL_parser->copline > (line_t)IVAL($1)) @@ -212,13 +213,6 @@ mydefsv: /* NULL */ /* lexicalize $_ */ { $$ = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); } ; -progstart: - { - PL_parser->expect = XSTATE; $$ = block_start(TRUE); - } - ; - - mblock : '{' mremember stmtseq '}' { if (PL_parser->copline > (line_t)IVAL($1)) PL_parser->copline = (line_t)IVAL($1); -- cgit v1.2.1