diff --git a/perly.act b/perly.act index 1c98c6774171..a1acb18cc3eb 100644 --- a/perly.act +++ b/perly.act @@ -272,6 +272,31 @@ case 2: case 31: #line 294 "perly.y" /* yacc.c:1646 */ + { + init_named_cv(PL_compcv, (ps[-1].val.opval)); + parser->in_my = 0; + parser->in_my_stash = NULL; + } + + break; + + case 32: +#line 300 "perly.y" /* yacc.c:1646 */ + { + SvREFCNT_inc_simple_void(PL_compcv); + (ps[-5].val.opval)->op_type == OP_CONST + ? newATTRSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)) + : newMYSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)) + ; + (yyval.opval) = NULL; + intro_my(); + parser->parsed_sub = 1; + } + + break; + + case 33: +#line 311 "perly.y" /* yacc.c:1646 */ { package((ps[-1].val.opval)); if ((ps[-2].val.opval)) @@ -281,14 +306,14 @@ case 2: break; - case 32: -#line 301 "perly.y" /* yacc.c:1646 */ + case 34: +#line 318 "perly.y" /* yacc.c:1646 */ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; - case 33: -#line 303 "perly.y" /* yacc.c:1646 */ + case 35: +#line 320 "perly.y" /* yacc.c:1646 */ { SvREFCNT_inc_simple_void(PL_compcv); utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval)); @@ -298,8 +323,8 @@ case 2: break; - case 34: -#line 310 "perly.y" /* yacc.c:1646 */ + case 36: +#line 327 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); @@ -308,8 +333,8 @@ case 2: break; - case 35: -#line 316 "perly.y" /* yacc.c:1646 */ + case 37: +#line 333 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); @@ -318,8 +343,8 @@ case 2: break; - case 36: -#line 322 "perly.y" /* yacc.c:1646 */ + case 38: +#line 339 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-5].val.ival); @@ -327,20 +352,20 @@ case 2: break; - case 37: -#line 327 "perly.y" /* yacc.c:1646 */ + case 39: +#line 344 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; - case 38: -#line 329 "perly.y" /* yacc.c:1646 */ + case 40: +#line 346 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } break; - case 39: -#line 331 "perly.y" /* yacc.c:1646 */ + case 41: +#line 348 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -350,8 +375,8 @@ case 2: break; - case 40: -#line 338 "perly.y" /* yacc.c:1646 */ + case 42: +#line 355 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -361,20 +386,20 @@ case 2: break; - case 41: -#line 345 "perly.y" /* yacc.c:1646 */ + case 43: +#line 362 "perly.y" /* yacc.c:1646 */ { parser->expect = XTERM; } break; - case 42: -#line 347 "perly.y" /* yacc.c:1646 */ + case 44: +#line 364 "perly.y" /* yacc.c:1646 */ { parser->expect = XTERM; } break; - case 43: -#line 350 "perly.y" /* yacc.c:1646 */ + case 45: +#line 367 "perly.y" /* yacc.c:1646 */ { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, @@ -392,8 +417,8 @@ case 2: break; - case 44: -#line 365 "perly.y" /* yacc.c:1646 */ + case 46: +#line 382 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-8].val.ival); @@ -401,8 +426,8 @@ case 2: break; - case 45: -#line 370 "perly.y" /* yacc.c:1646 */ + case 47: +#line 387 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); @@ -411,14 +436,14 @@ case 2: break; - case 46: -#line 376 "perly.y" /* yacc.c:1646 */ + case 48: +#line 393 "perly.y" /* yacc.c:1646 */ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 47: -#line 378 "perly.y" /* yacc.c:1646 */ + case 49: +#line 395 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end( (ps[-7].val.ival), @@ -434,8 +459,8 @@ case 2: break; - case 48: -#line 391 "perly.y" /* yacc.c:1646 */ + case 50: +#line 408 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP( 0, op_lvalue(newUNOP(OP_REFGEN, 0, @@ -446,8 +471,8 @@ case 2: break; - case 49: -#line 399 "perly.y" /* yacc.c:1646 */ + case 51: +#line 416 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); @@ -456,8 +481,8 @@ case 2: break; - case 50: -#line 405 "perly.y" /* yacc.c:1646 */ + case 52: +#line 422 "perly.y" /* yacc.c:1646 */ { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -466,8 +491,8 @@ case 2: break; - case 51: -#line 411 "perly.y" /* yacc.c:1646 */ + case 53: +#line 428 "perly.y" /* yacc.c:1646 */ { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) { @@ -477,8 +502,8 @@ case 2: break; - case 52: -#line 418 "perly.y" /* yacc.c:1646 */ + case 54: +#line 435 "perly.y" /* yacc.c:1646 */ { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -489,16 +514,16 @@ case 2: break; - case 53: -#line 426 "perly.y" /* yacc.c:1646 */ + case 55: +#line 443 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[-1].val.opval); } break; - case 54: -#line 430 "perly.y" /* yacc.c:1646 */ + case 56: +#line 447 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -506,8 +531,8 @@ case 2: break; - case 55: -#line 435 "perly.y" /* yacc.c:1646 */ + case 57: +#line 452 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -515,8 +540,8 @@ case 2: break; - case 56: -#line 443 "perly.y" /* yacc.c:1646 */ + case 58: +#line 460 "perly.y" /* yacc.c:1646 */ { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -534,75 +559,75 @@ case 2: break; - case 57: -#line 460 "perly.y" /* yacc.c:1646 */ + case 59: +#line 477 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 58: -#line 462 "perly.y" /* yacc.c:1646 */ + case 60: +#line 479 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 59: -#line 467 "perly.y" /* yacc.c:1646 */ + case 61: +#line 484 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 60: -#line 469 "perly.y" /* yacc.c:1646 */ + case 62: +#line 486 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 61: -#line 471 "perly.y" /* yacc.c:1646 */ + case 63: +#line 488 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 62: -#line 473 "perly.y" /* yacc.c:1646 */ + case 64: +#line 490 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 63: -#line 475 "perly.y" /* yacc.c:1646 */ + case 65: +#line 492 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 64: -#line 477 "perly.y" /* yacc.c:1646 */ + case 66: +#line 494 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 65: -#line 479 "perly.y" /* yacc.c:1646 */ + case 67: +#line 496 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL); parser->copline = (line_t)(ps[-1].val.ival); } break; - case 66: -#line 482 "perly.y" /* yacc.c:1646 */ + case 68: +#line 499 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 67: -#line 487 "perly.y" /* yacc.c:1646 */ + case 69: +#line 504 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 68: -#line 489 "perly.y" /* yacc.c:1646 */ + case 70: +#line 506 "perly.y" /* yacc.c:1646 */ { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -610,8 +635,8 @@ case 2: break; - case 69: -#line 494 "perly.y" /* yacc.c:1646 */ + case 71: +#line 511 "perly.y" /* yacc.c:1646 */ { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -621,153 +646,153 @@ case 2: break; - case 70: -#line 504 "perly.y" /* yacc.c:1646 */ + case 72: +#line 521 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 71: -#line 506 "perly.y" /* yacc.c:1646 */ + case 73: +#line 523 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 72: -#line 511 "perly.y" /* yacc.c:1646 */ + case 74: +#line 528 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 73: -#line 517 "perly.y" /* yacc.c:1646 */ + case 75: +#line 534 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 75: -#line 523 "perly.y" /* yacc.c:1646 */ + case 77: +#line 540 "perly.y" /* yacc.c:1646 */ { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 77: -#line 531 "perly.y" /* yacc.c:1646 */ + case 79: +#line 548 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 78: -#line 536 "perly.y" /* yacc.c:1646 */ + case 80: +#line 553 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 79: -#line 540 "perly.y" /* yacc.c:1646 */ + case 81: +#line 557 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 80: -#line 543 "perly.y" /* yacc.c:1646 */ + case 82: +#line 560 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 81: -#line 544 "perly.y" /* yacc.c:1646 */ + case 83: +#line 561 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 82: -#line 548 "perly.y" /* yacc.c:1646 */ + case 84: +#line 565 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 83: -#line 554 "perly.y" /* yacc.c:1646 */ + case 85: +#line 571 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 84: -#line 559 "perly.y" /* yacc.c:1646 */ + case 86: +#line 576 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 87: -#line 570 "perly.y" /* yacc.c:1646 */ + case 89: +#line 587 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 89: -#line 576 "perly.y" /* yacc.c:1646 */ + case 91: +#line 593 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 90: -#line 578 "perly.y" /* yacc.c:1646 */ + case 92: +#line 595 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 91: -#line 580 "perly.y" /* yacc.c:1646 */ + case 93: +#line 597 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 92: -#line 585 "perly.y" /* yacc.c:1646 */ + case 94: +#line 602 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 93: -#line 587 "perly.y" /* yacc.c:1646 */ + case 95: +#line 604 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 94: -#line 598 "perly.y" /* yacc.c:1646 */ + case 96: +#line 615 "perly.y" /* yacc.c:1646 */ { parser->in_my = 0; (yyval.opval) = NULL; } break; - case 95: -#line 600 "perly.y" /* yacc.c:1646 */ + case 97: +#line 617 "perly.y" /* yacc.c:1646 */ { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 96: -#line 605 "perly.y" /* yacc.c:1646 */ + case 98: +#line 622 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = '@'; } break; - case 97: -#line 607 "perly.y" /* yacc.c:1646 */ + case 99: +#line 624 "perly.y" /* yacc.c:1646 */ { (yyval.ival) = '%'; } break; - case 98: -#line 611 "perly.y" /* yacc.c:1646 */ + case 100: +#line 628 "perly.y" /* yacc.c:1646 */ { I32 sigil = (ps[-2].val.ival); OP *var = (ps[-1].val.opval); @@ -786,26 +811,26 @@ case 2: break; - case 99: -#line 630 "perly.y" /* yacc.c:1646 */ + case 101: +#line 647 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 100: -#line 632 "perly.y" /* yacc.c:1646 */ + case 102: +#line 649 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 101: -#line 634 "perly.y" /* yacc.c:1646 */ + case 103: +#line 651 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 102: -#line 640 "perly.y" /* yacc.c:1646 */ + case 104: +#line 657 "perly.y" /* yacc.c:1646 */ { OP *var = (ps[-1].val.opval); OP *defexpr = (ps[0].val.opval); @@ -869,58 +894,58 @@ case 2: break; - case 103: -#line 705 "perly.y" /* yacc.c:1646 */ + case 105: +#line 722 "perly.y" /* yacc.c:1646 */ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 104: -#line 707 "perly.y" /* yacc.c:1646 */ + case 106: +#line 724 "perly.y" /* yacc.c:1646 */ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 105: -#line 713 "perly.y" /* yacc.c:1646 */ + case 107: +#line 730 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[-1].val.opval); } break; - case 106: -#line 715 "perly.y" /* yacc.c:1646 */ + case 108: +#line 732 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 107: -#line 719 "perly.y" /* yacc.c:1646 */ + case 109: +#line 736 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 108: -#line 724 "perly.y" /* yacc.c:1646 */ + case 110: +#line 741 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 109: -#line 726 "perly.y" /* yacc.c:1646 */ + case 111: +#line 743 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 110: -#line 729 "perly.y" /* yacc.c:1646 */ + case 112: +#line 746 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (OP*)NULL; } break; - case 111: -#line 731 "perly.y" /* yacc.c:1646 */ + case 113: +#line 748 "perly.y" /* yacc.c:1646 */ { ENTER; SAVEIV(parser->sig_elems); @@ -934,8 +959,8 @@ case 2: break; - case 112: -#line 743 "perly.y" /* yacc.c:1646 */ + case 114: +#line 760 "perly.y" /* yacc.c:1646 */ { OP *sigops = (ps[-1].val.opval); UNOP_AUX_item *aux; @@ -973,8 +998,8 @@ case 2: break; - case 113: -#line 782 "perly.y" /* yacc.c:1646 */ + case 115: +#line 799 "perly.y" /* yacc.c:1646 */ { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -984,44 +1009,44 @@ case 2: break; - case 114: -#line 792 "perly.y" /* yacc.c:1646 */ + case 116: +#line 809 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 115: -#line 793 "perly.y" /* yacc.c:1646 */ + case 117: +#line 810 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 116: -#line 798 "perly.y" /* yacc.c:1646 */ + case 118: +#line 815 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 117: -#line 800 "perly.y" /* yacc.c:1646 */ + case 119: +#line 817 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 118: -#line 802 "perly.y" /* yacc.c:1646 */ + case 120: +#line 819 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 120: -#line 808 "perly.y" /* yacc.c:1646 */ + case 122: +#line 825 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[-1].val.opval); } break; - case 121: -#line 810 "perly.y" /* yacc.c:1646 */ + case 123: +#line 827 "perly.y" /* yacc.c:1646 */ { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1029,24 +1054,24 @@ case 2: break; - case 123: -#line 819 "perly.y" /* yacc.c:1646 */ + case 125: +#line 836 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) ); } break; - case 124: -#line 823 "perly.y" /* yacc.c:1646 */ + case 126: +#line 840 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) ); } break; - case 125: -#line 827 "perly.y" /* yacc.c:1646 */ + case 127: +#line 844 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)), @@ -1055,8 +1080,8 @@ case 2: break; - case 126: -#line 833 "perly.y" /* yacc.c:1646 */ + case 128: +#line 850 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-2].val.opval)), newMETHOP(OP_METHOD, 0, (ps[0].val.opval)))); @@ -1064,8 +1089,8 @@ case 2: break; - case 127: -#line 838 "perly.y" /* yacc.c:1646 */ + case 129: +#line 855 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), @@ -1074,8 +1099,8 @@ case 2: break; - case 128: -#line 844 "perly.y" /* yacc.c:1646 */ + case 130: +#line 861 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)), @@ -1084,27 +1109,27 @@ case 2: break; - case 129: -#line 850 "perly.y" /* yacc.c:1646 */ + case 131: +#line 867 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 130: -#line 852 "perly.y" /* yacc.c:1646 */ + case 132: +#line 869 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 131: -#line 854 "perly.y" /* yacc.c:1646 */ + case 133: +#line 871 "perly.y" /* yacc.c:1646 */ { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); } break; - case 132: -#line 857 "perly.y" /* yacc.c:1646 */ + case 134: +#line 874 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval))); @@ -1112,21 +1137,21 @@ case 2: break; - case 135: -#line 872 "perly.y" /* yacc.c:1646 */ + case 137: +#line 889 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 136: -#line 874 "perly.y" /* yacc.c:1646 */ + case 138: +#line 891 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 137: -#line 877 "perly.y" /* yacc.c:1646 */ + case 139: +#line 894 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1134,8 +1159,8 @@ case 2: break; - case 138: -#line 882 "perly.y" /* yacc.c:1646 */ + case 140: +#line 899 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1143,31 +1168,31 @@ case 2: break; - case 139: -#line 887 "perly.y" /* yacc.c:1646 */ + case 141: +#line 904 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 140: -#line 890 "perly.y" /* yacc.c:1646 */ + case 142: +#line 907 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 141: -#line 894 "perly.y" /* yacc.c:1646 */ + case 143: +#line 911 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 142: -#line 898 "perly.y" /* yacc.c:1646 */ + case 144: +#line 915 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1176,8 +1201,8 @@ case 2: break; - case 143: -#line 904 "perly.y" /* yacc.c:1646 */ + case 145: +#line 921 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-4].val.opval))))); @@ -1187,8 +1212,8 @@ case 2: break; - case 144: -#line 912 "perly.y" /* yacc.c:1646 */ + case 146: +#line 929 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-3].val.opval))))); @@ -1198,8 +1223,8 @@ case 2: break; - case 145: -#line 919 "perly.y" /* yacc.c:1646 */ + case 147: +#line 936 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1208,38 +1233,38 @@ case 2: break; - case 146: -#line 925 "perly.y" /* yacc.c:1646 */ + case 148: +#line 942 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 147: -#line 927 "perly.y" /* yacc.c:1646 */ + case 149: +#line 944 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 148: -#line 929 "perly.y" /* yacc.c:1646 */ + case 150: +#line 946 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 149: -#line 934 "perly.y" /* yacc.c:1646 */ + case 151: +#line 951 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 150: -#line 936 "perly.y" /* yacc.c:1646 */ + case 152: +#line 953 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 151: -#line 938 "perly.y" /* yacc.c:1646 */ + case 153: +#line 955 "perly.y" /* yacc.c:1646 */ { if ((ps[-1].val.ival) != OP_REPEAT) scalar((ps[-2].val.opval)); (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval))); @@ -1247,112 +1272,112 @@ case 2: break; - case 152: -#line 943 "perly.y" /* yacc.c:1646 */ + case 154: +#line 960 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 153: -#line 945 "perly.y" /* yacc.c:1646 */ + case 155: +#line 962 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 154: -#line 947 "perly.y" /* yacc.c:1646 */ + case 156: +#line 964 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 155: -#line 949 "perly.y" /* yacc.c:1646 */ + case 157: +#line 966 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 156: -#line 951 "perly.y" /* yacc.c:1646 */ + case 158: +#line 968 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 157: -#line 953 "perly.y" /* yacc.c:1646 */ + case 159: +#line 970 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 158: -#line 955 "perly.y" /* yacc.c:1646 */ + case 160: +#line 972 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 159: -#line 957 "perly.y" /* yacc.c:1646 */ + case 161: +#line 974 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 160: -#line 959 "perly.y" /* yacc.c:1646 */ + case 162: +#line 976 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 161: -#line 961 "perly.y" /* yacc.c:1646 */ + case 163: +#line 978 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 162: -#line 963 "perly.y" /* yacc.c:1646 */ + case 164: +#line 980 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 163: -#line 968 "perly.y" /* yacc.c:1646 */ + case 165: +#line 985 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 164: -#line 970 "perly.y" /* yacc.c:1646 */ + case 166: +#line 987 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 165: -#line 973 "perly.y" /* yacc.c:1646 */ + case 167: +#line 990 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 166: -#line 975 "perly.y" /* yacc.c:1646 */ + case 168: +#line 992 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 167: -#line 977 "perly.y" /* yacc.c:1646 */ + case 169: +#line 994 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 168: -#line 980 "perly.y" /* yacc.c:1646 */ + case 170: +#line 997 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 169: -#line 983 "perly.y" /* yacc.c:1646 */ + case 171: +#line 1000 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1366,149 +1391,156 @@ case 2: break; - case 170: -#line 994 "perly.y" /* yacc.c:1646 */ + case 172: +#line 1011 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 171: -#line 997 "perly.y" /* yacc.c:1646 */ + case 173: +#line 1014 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 172: -#line 1004 "perly.y" /* yacc.c:1646 */ + case 174: +#line 1021 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 173: -#line 1006 "perly.y" /* yacc.c:1646 */ + case 175: +#line 1023 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newANONLIST(NULL);} break; - case 174: -#line 1008 "perly.y" /* yacc.c:1646 */ + case 176: +#line 1025 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 175: -#line 1010 "perly.y" /* yacc.c:1646 */ + case 177: +#line 1027 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newANONHASH(NULL); } break; - case 176: -#line 1012 "perly.y" /* yacc.c:1646 */ + case 178: +#line 1029 "perly.y" /* yacc.c:1646 */ { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); } break; - case 177: -#line 1018 "perly.y" /* yacc.c:1646 */ + case 179: +#line 1032 "perly.y" /* yacc.c:1646 */ + { SvREFCNT_inc_simple_void(PL_compcv); + (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); } + + break; + + case 180: +#line 1038 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 178: -#line 1020 "perly.y" /* yacc.c:1646 */ + case 181: +#line 1040 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 183: -#line 1028 "perly.y" /* yacc.c:1646 */ + case 186: +#line 1048 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 184: -#line 1030 "perly.y" /* yacc.c:1646 */ + case 187: +#line 1050 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 185: -#line 1032 "perly.y" /* yacc.c:1646 */ + case 188: +#line 1052 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 186: -#line 1034 "perly.y" /* yacc.c:1646 */ + case 189: +#line 1054 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 187: -#line 1036 "perly.y" /* yacc.c:1646 */ + case 190: +#line 1056 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 188: -#line 1038 "perly.y" /* yacc.c:1646 */ + case 191: +#line 1058 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 189: -#line 1040 "perly.y" /* yacc.c:1646 */ + case 192: +#line 1060 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 190: -#line 1042 "perly.y" /* yacc.c:1646 */ + case 193: +#line 1062 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 191: -#line 1044 "perly.y" /* yacc.c:1646 */ + case 194: +#line 1064 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 192: -#line 1046 "perly.y" /* yacc.c:1646 */ + case 195: +#line 1066 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 193: -#line 1048 "perly.y" /* yacc.c:1646 */ + case 196: +#line 1068 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 194: -#line 1050 "perly.y" /* yacc.c:1646 */ + case 197: +#line 1070 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 195: -#line 1052 "perly.y" /* yacc.c:1646 */ + case 198: +#line 1072 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 196: -#line 1054 "perly.y" /* yacc.c:1646 */ + case 199: +#line 1074 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 197: -#line 1056 "perly.y" /* yacc.c:1646 */ + case 200: +#line 1076 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1521,8 +1553,8 @@ case 2: break; - case 198: -#line 1066 "perly.y" /* yacc.c:1646 */ + case 201: +#line 1086 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1535,8 +1567,8 @@ case 2: break; - case 199: -#line 1076 "perly.y" /* yacc.c:1646 */ + case 202: +#line 1096 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1549,8 +1581,8 @@ case 2: break; - case 200: -#line 1086 "perly.y" /* yacc.c:1646 */ + case 203: +#line 1106 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1563,27 +1595,27 @@ case 2: break; - case 201: -#line 1096 "perly.y" /* yacc.c:1646 */ + case 204: +#line 1116 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 202: -#line 1098 "perly.y" /* yacc.c:1646 */ + case 205: +#line 1118 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 203: -#line 1100 "perly.y" /* yacc.c:1646 */ + case 206: +#line 1120 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 204: -#line 1103 "perly.y" /* yacc.c:1646 */ + case 207: +#line 1123 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1591,153 +1623,153 @@ case 2: break; - case 205: -#line 1108 "perly.y" /* yacc.c:1646 */ + case 208: +#line 1128 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 206: -#line 1112 "perly.y" /* yacc.c:1646 */ + case 209: +#line 1132 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 207: -#line 1114 "perly.y" /* yacc.c:1646 */ + case 210: +#line 1134 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 208: -#line 1116 "perly.y" /* yacc.c:1646 */ + case 211: +#line 1136 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 209: -#line 1118 "perly.y" /* yacc.c:1646 */ + case 212: +#line 1138 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 210: -#line 1121 "perly.y" /* yacc.c:1646 */ + case 213: +#line 1141 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 211: -#line 1123 "perly.y" /* yacc.c:1646 */ + case 214: +#line 1143 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 212: -#line 1126 "perly.y" /* yacc.c:1646 */ + case 215: +#line 1146 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 213: -#line 1128 "perly.y" /* yacc.c:1646 */ + case 216: +#line 1148 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 214: -#line 1130 "perly.y" /* yacc.c:1646 */ + case 217: +#line 1150 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 215: -#line 1132 "perly.y" /* yacc.c:1646 */ + case 218: +#line 1152 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 216: -#line 1134 "perly.y" /* yacc.c:1646 */ + case 219: +#line 1154 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 217: -#line 1136 "perly.y" /* yacc.c:1646 */ + case 220: +#line 1156 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 218: -#line 1138 "perly.y" /* yacc.c:1646 */ + case 221: +#line 1158 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 219: -#line 1140 "perly.y" /* yacc.c:1646 */ + case 222: +#line 1160 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 220: -#line 1142 "perly.y" /* yacc.c:1646 */ + case 223: +#line 1162 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 221: -#line 1145 "perly.y" /* yacc.c:1646 */ + case 224: +#line 1165 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 222: -#line 1147 "perly.y" /* yacc.c:1646 */ + case 225: +#line 1167 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 223: -#line 1149 "perly.y" /* yacc.c:1646 */ + case 226: +#line 1169 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 224: -#line 1151 "perly.y" /* yacc.c:1646 */ + case 227: +#line 1171 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[-2].val.opval); } break; - case 225: -#line 1153 "perly.y" /* yacc.c:1646 */ + case 228: +#line 1173 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 226: -#line 1155 "perly.y" /* yacc.c:1646 */ + case 229: +#line 1175 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT) ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP((ps[-2].val.ival), OPf_SPECIAL); } break; - case 227: -#line 1159 "perly.y" /* yacc.c:1646 */ + case 230: +#line 1179 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 228: -#line 1161 "perly.y" /* yacc.c:1646 */ + case 231: +#line 1181 "perly.y" /* yacc.c:1646 */ { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -1751,186 +1783,186 @@ case 2: break; - case 229: -#line 1172 "perly.y" /* yacc.c:1646 */ + case 232: +#line 1192 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 233: -#line 1180 "perly.y" /* yacc.c:1646 */ + case 236: +#line 1200 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 234: -#line 1182 "perly.y" /* yacc.c:1646 */ + case 237: +#line 1202 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 235: -#line 1184 "perly.y" /* yacc.c:1646 */ + case 238: +#line 1204 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 236: -#line 1189 "perly.y" /* yacc.c:1646 */ + case 239: +#line 1209 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 237: -#line 1191 "perly.y" /* yacc.c:1646 */ + case 240: +#line 1211 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 238: -#line 1194 "perly.y" /* yacc.c:1646 */ + case 241: +#line 1214 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 239: -#line 1196 "perly.y" /* yacc.c:1646 */ + case 242: +#line 1216 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 240: -#line 1198 "perly.y" /* yacc.c:1646 */ + case 243: +#line 1218 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 241: -#line 1203 "perly.y" /* yacc.c:1646 */ + case 244: +#line 1223 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 242: -#line 1205 "perly.y" /* yacc.c:1646 */ + case 245: +#line 1225 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 243: -#line 1209 "perly.y" /* yacc.c:1646 */ + case 246: +#line 1229 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 244: -#line 1211 "perly.y" /* yacc.c:1646 */ + case 247: +#line 1231 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 245: -#line 1215 "perly.y" /* yacc.c:1646 */ + case 248: +#line 1235 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = NULL; } break; - case 246: -#line 1217 "perly.y" /* yacc.c:1646 */ + case 249: +#line 1237 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; - case 247: -#line 1223 "perly.y" /* yacc.c:1646 */ + case 250: +#line 1243 "perly.y" /* yacc.c:1646 */ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 255: -#line 1240 "perly.y" /* yacc.c:1646 */ + case 258: +#line 1260 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 256: -#line 1244 "perly.y" /* yacc.c:1646 */ + case 259: +#line 1264 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 257: -#line 1248 "perly.y" /* yacc.c:1646 */ + case 260: +#line 1268 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 258: -#line 1254 "perly.y" /* yacc.c:1646 */ + case 261: +#line 1274 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 259: -#line 1260 "perly.y" /* yacc.c:1646 */ + case 262: +#line 1280 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 260: -#line 1262 "perly.y" /* yacc.c:1646 */ + case 263: +#line 1282 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 261: -#line 1266 "perly.y" /* yacc.c:1646 */ + case 264: +#line 1286 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 263: -#line 1271 "perly.y" /* yacc.c:1646 */ + case 266: +#line 1291 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 265: -#line 1276 "perly.y" /* yacc.c:1646 */ + case 268: +#line 1296 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 267: -#line 1281 "perly.y" /* yacc.c:1646 */ + case 270: +#line 1301 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 268: -#line 1286 "perly.y" /* yacc.c:1646 */ + case 271: +#line 1306 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 269: -#line 1288 "perly.y" /* yacc.c:1646 */ + case 272: +#line 1308 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 270: -#line 1290 "perly.y" /* yacc.c:1646 */ + case 273: +#line 1310 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 271: -#line 1293 "perly.y" /* yacc.c:1646 */ + case 274: +#line 1313 "perly.y" /* yacc.c:1646 */ { (yyval.opval) = (ps[0].val.opval); } break; @@ -1941,6 +1973,6 @@ case 2: /* Generated from: - * 6a23ac9b6bc07e4913adb8e36056ee0e94cb60bf9c02fe1b851c6087c47517bb perly.y + * 7d1ae56dfb5e7feea413f76193d80121912cb6aadf882158a70abc41e0153b1a perly.y * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl * ex: set ro: */ diff --git a/perly.h b/perly.h index 105ae7bdf051..50c0eb3fb587 100644 --- a/perly.h +++ b/perly.h @@ -74,64 +74,66 @@ extern int yydebug; LABEL = 277, FORMAT = 278, SUB = 279, - ANONSUB = 280, - PACKAGE = 281, - USE = 282, - WHILE = 283, - UNTIL = 284, - IF = 285, - UNLESS = 286, - ELSE = 287, - ELSIF = 288, - CONTINUE = 289, - FOR = 290, - GIVEN = 291, - WHEN = 292, - DEFAULT = 293, - LOOPEX = 294, - DOTDOT = 295, - YADAYADA = 296, - FUNC0 = 297, - FUNC1 = 298, - FUNC = 299, - UNIOP = 300, - LSTOP = 301, - RELOP = 302, - EQOP = 303, - MULOP = 304, - ADDOP = 305, - DOLSHARP = 306, - DO = 307, - HASHBRACK = 308, - NOAMP = 309, - LOCAL = 310, - MY = 311, - REQUIRE = 312, - COLONATTR = 313, - FORMLBRACK = 314, - FORMRBRACK = 315, - PREC_LOW = 316, - OROP = 317, - DOROP = 318, - ANDOP = 319, - NOTOP = 320, - ASSIGNOP = 321, - OROR = 322, - DORDOR = 323, - ANDAND = 324, - BITOROP = 325, - BITANDOP = 326, - SHIFTOP = 327, - MATCHOP = 328, - UMINUS = 329, - REFGEN = 330, - POWOP = 331, - PREINC = 332, - PREDEC = 333, - POSTINC = 334, - POSTDEC = 335, - POSTJOIN = 336, - ARROW = 337 + SIGSUB = 280, + ANONSUB = 281, + ANON_SIGSUB = 282, + PACKAGE = 283, + USE = 284, + WHILE = 285, + UNTIL = 286, + IF = 287, + UNLESS = 288, + ELSE = 289, + ELSIF = 290, + CONTINUE = 291, + FOR = 292, + GIVEN = 293, + WHEN = 294, + DEFAULT = 295, + LOOPEX = 296, + DOTDOT = 297, + YADAYADA = 298, + FUNC0 = 299, + FUNC1 = 300, + FUNC = 301, + UNIOP = 302, + LSTOP = 303, + RELOP = 304, + EQOP = 305, + MULOP = 306, + ADDOP = 307, + DOLSHARP = 308, + DO = 309, + HASHBRACK = 310, + NOAMP = 311, + LOCAL = 312, + MY = 313, + REQUIRE = 314, + COLONATTR = 315, + FORMLBRACK = 316, + FORMRBRACK = 317, + PREC_LOW = 318, + OROP = 319, + DOROP = 320, + ANDOP = 321, + NOTOP = 322, + ASSIGNOP = 323, + OROR = 324, + DORDOR = 325, + ANDAND = 326, + BITOROP = 327, + BITANDOP = 328, + SHIFTOP = 329, + MATCHOP = 330, + UMINUS = 331, + REFGEN = 332, + POWOP = 333, + PREINC = 334, + PREDEC = 335, + POSTINC = 336, + POSTDEC = 337, + POSTJOIN = 338, + ARROW = 339 }; #endif @@ -181,6 +183,6 @@ int yyparse (void); /* Generated from: - * 6a23ac9b6bc07e4913adb8e36056ee0e94cb60bf9c02fe1b851c6087c47517bb perly.y + * 7d1ae56dfb5e7feea413f76193d80121912cb6aadf882158a70abc41e0153b1a perly.y * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl * ex: set ro: */ diff --git a/perly.tab b/perly.tab index 84fb7b4047ee..38a7d4a0efbc 100644 --- a/perly.tab +++ b/perly.tab @@ -6,21 +6,21 @@ #define YYFINAL 14 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2985 +#define YYLAST 3032 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 105 +#define YYNTOKENS 107 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 86 +#define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 271 +#define YYNRULES 274 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 532 +#define YYNSTATES 544 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 337 +#define YYMAXUTOK 339 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -32,16 +32,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 88, 2, 2, 102, 16, 17, 2, - 100, 99, 103, 14, 77, 13, 19, 104, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 80, 101, - 2, 18, 2, 79, 15, 2, 2, 2, 2, 2, + 2, 2, 2, 90, 2, 2, 104, 16, 17, 2, + 102, 101, 105, 14, 79, 13, 19, 106, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 82, 103, + 2, 18, 2, 81, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 11, 2, 12, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 9, 2, 10, 89, 2, 2, 2, + 2, 2, 2, 9, 2, 10, 91, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -61,8 +61,8 @@ static const yytype_uint8 yytranslate[] = 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 78, 81, 82, 83, 84, 85, 86, 87, 90, - 91, 92, 93, 94, 95, 96, 97, 98 + 76, 77, 78, 80, 83, 84, 85, 86, 87, 88, + 89, 92, 93, 94, 95, 96, 97, 98, 99, 100 }; #if YYDEBUG @@ -72,31 +72,31 @@ static const yytype_uint16 yyrline[] = 0, 118, 118, 117, 129, 128, 139, 138, 152, 151, 165, 164, 178, 177, 190, 198, 206, 210, 218, 224, 225, 235, 236, 245, 249, 253, 257, 264, 266, 277, - 276, 293, 301, 300, 309, 315, 321, 326, 328, 330, - 337, 345, 347, 344, 364, 369, 376, 375, 390, 398, - 404, 411, 410, 425, 429, 434, 442, 460, 461, 466, - 468, 470, 472, 474, 476, 478, 481, 487, 488, 493, - 504, 505, 511, 517, 518, 523, 526, 530, 535, 539, - 543, 544, 548, 554, 559, 564, 565, 570, 571, 576, - 577, 579, 584, 586, 598, 599, 604, 606, 610, 630, - 631, 633, 639, 704, 706, 712, 714, 718, 724, 725, - 729, 731, 730, 781, 792, 793, 797, 799, 801, 803, - 807, 809, 814, 818, 822, 826, 832, 837, 843, 849, - 851, 854, 853, 864, 865, 869, 873, 876, 881, 886, - 889, 893, 897, 903, 911, 918, 924, 926, 928, 933, - 935, 937, 942, 944, 946, 948, 950, 952, 954, 956, - 958, 960, 962, 967, 969, 972, 974, 976, 979, 982, - 993, 996, 1003, 1005, 1007, 1009, 1011, 1017, 1019, 1023, - 1024, 1025, 1026, 1027, 1029, 1031, 1033, 1035, 1037, 1039, - 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1065, 1075, - 1085, 1095, 1097, 1099, 1102, 1107, 1111, 1113, 1115, 1117, - 1120, 1122, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139, - 1141, 1144, 1146, 1148, 1150, 1152, 1154, 1158, 1161, 1160, - 1173, 1174, 1175, 1179, 1181, 1183, 1188, 1190, 1193, 1195, - 1197, 1202, 1204, 1209, 1210, 1215, 1216, 1222, 1226, 1227, - 1228, 1231, 1232, 1235, 1236, 1239, 1243, 1247, 1253, 1259, - 1261, 1265, 1269, 1270, 1274, 1275, 1279, 1280, 1285, 1287, - 1289, 1292 + 276, 294, 293, 310, 318, 317, 326, 332, 338, 343, + 345, 347, 354, 362, 364, 361, 381, 386, 393, 392, + 407, 415, 421, 428, 427, 442, 446, 451, 459, 477, + 478, 483, 485, 487, 489, 491, 493, 495, 498, 504, + 505, 510, 521, 522, 528, 534, 535, 540, 543, 547, + 552, 556, 560, 561, 565, 571, 576, 581, 582, 587, + 588, 593, 594, 596, 601, 603, 615, 616, 621, 623, + 627, 647, 648, 650, 656, 721, 723, 729, 731, 735, + 741, 742, 746, 748, 747, 798, 809, 810, 814, 816, + 818, 820, 824, 826, 831, 835, 839, 843, 849, 854, + 860, 866, 868, 871, 870, 881, 882, 886, 890, 893, + 898, 903, 906, 910, 914, 920, 928, 935, 941, 943, + 945, 950, 952, 954, 959, 961, 963, 965, 967, 969, + 971, 973, 975, 977, 979, 984, 986, 989, 991, 993, + 996, 999, 1010, 1013, 1020, 1022, 1024, 1026, 1028, 1031, + 1037, 1039, 1043, 1044, 1045, 1046, 1047, 1049, 1051, 1053, + 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, + 1075, 1085, 1095, 1105, 1115, 1117, 1119, 1122, 1127, 1131, + 1133, 1135, 1137, 1140, 1142, 1145, 1147, 1149, 1151, 1153, + 1155, 1157, 1159, 1161, 1164, 1166, 1168, 1170, 1172, 1174, + 1178, 1181, 1180, 1193, 1194, 1195, 1199, 1201, 1203, 1208, + 1210, 1213, 1215, 1217, 1222, 1224, 1229, 1230, 1235, 1236, + 1242, 1246, 1247, 1248, 1251, 1252, 1255, 1256, 1259, 1263, + 1267, 1273, 1279, 1281, 1285, 1289, 1290, 1294, 1295, 1299, + 1300, 1305, 1307, 1309, 1312 }; #endif @@ -110,30 +110,30 @@ static const char *const yytname[] = "']'", "'-'", "'+'", "'@'", "'%'", "'&'", "'='", "'.'", "BAREWORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", - "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL", - "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", - "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", - "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO", - "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR", - "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "OROP", "DOROP", "ANDOP", - "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR", "DORDOR", "ANDAND", - "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "UMINUS", - "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", - "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", "$accept", "grammar", - "@1", "@2", "@3", "@4", "@5", "@6", "block", "formblock", "remember", - "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt", - "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10", "@11", "$@12", - "formline", "formarg", "sideff", "else", "cont", "mintro", "nexpr", - "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", - "startanonsub", "startformsub", "subname", "proto", "subattrlist", - "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem", - "sigdefault", "sigscalarelem", "sigelem", "siglist", "siglistornull", - "subsignature", "$@13", "realsubbody", "optsubbody", "expr", "listexpr", - "listop", "@14", "method", "subscripted", "termbinop", "termunop", - "anonymous", "termdo", "term", "@15", "myattrterm", "myterm", - "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var", - "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", - "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR + "LABEL", "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", + "USE", "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", + "FOR", "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", + "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", + "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", + "REQUIRE", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "OROP", + "DOROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR", + "DORDOR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", + "'~'", "UMINUS", "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", + "POSTDEC", "POSTJOIN", "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", + "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "block", + "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq", + "fullstmt", "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10", + "$@11", "@12", "$@13", "formline", "formarg", "sideff", "else", "cont", + "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", + "startsub", "startanonsub", "startformsub", "subname", "proto", + "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil", + "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist", + "siglistornull", "subsignature", "$@14", "realsubbody", "optsubbody", + "expr", "listexpr", "listop", "@15", "method", "subscripted", + "termbinop", "termunop", "anonymous", "termdo", "term", "@16", + "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl", "my_scalar", + "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", + "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; #endif @@ -149,81 +149,82 @@ static const yytype_uint16 yytoknum[] = 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 44, 321, 63, - 58, 322, 323, 324, 325, 326, 327, 328, 33, 126, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 41, - 40, 59, 36, 42, 47 + 314, 315, 316, 317, 318, 319, 320, 321, 322, 44, + 323, 63, 58, 324, 325, 326, 327, 328, 329, 330, + 33, 126, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 41, 40, 59, 36, 42, 47 }; # endif -#define YYPACT_NINF -431 +#define YYPACT_NINF -422 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-431))) + (!!((Yystate) == (-422))) -#define YYTABLE_NINF -267 +#define YYTABLE_NINF -270 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-267))) + (!!((Yytable_value) == (-270))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 737, -431, -431, -431, -431, -431, -431, 51, -431, 2726, - 58, 1418, 1323, -431, -431, -431, 1889, 2726, 2726, 1, - 1, 1, -431, 1, 1, -431, -431, 54, -82, -431, - 2726, -431, -431, -431, 2726, -24, -23, -9, 1796, 1701, - 1, 1796, 1982, 74, 2726, 171, 2726, 2726, 2726, 2726, - 2726, 2726, 2726, 2075, 1, 1, 267, 23, -431, 13, - -431, -431, -431, -431, 340, -431, -431, 8, 135, 140, - 248, -431, 110, 288, 291, 114, -431, -431, -431, -431, - -431, 74, 106, -431, 34, 43, 83, 88, 203, 97, - 98, 58, 103, -431, 160, -431, 141, 368, 1323, -431, - -431, -431, 658, 753, -431, 66, 493, 493, -431, -431, - -431, -431, -431, -431, -431, 2726, 131, 143, 2726, 154, - 526, 58, 242, 340, 173, 2168, 1701, -431, 526, 556, - 23, -431, 480, 2726, -431, -431, 526, 272, 116, -431, - -431, 2726, 526, 2819, 2261, 218, -431, -431, -431, 526, - 23, 493, 493, 493, 376, 376, 280, 56, -431, -431, - 2726, 2726, 2726, 2726, 2726, 2726, 2354, 2726, 2726, 2726, - 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, - 2726, 2726, -431, -431, -431, 45, 2447, 2726, 2726, 2726, - 2726, 2726, 2726, 2726, -431, 286, -431, 287, -431, -431, - -431, -431, -431, 201, 70, -431, -431, 210, -431, -431, - -431, -431, 58, -431, -431, 2726, 2726, 2726, 2726, 2726, - 2726, -431, -431, -431, -431, -431, 2726, 2726, 121, -431, - -431, -431, 256, -431, -431, 383, 216, 2726, 23, -431, - 320, -431, 2540, 493, 218, 46, 73, 111, -431, 391, - 308, -431, 2726, 322, 263, 263, -431, 340, 126, 159, - -431, 395, 1500, 513, 1779, 298, 352, 340, 2845, 1592, - 1592, 401, 1686, 1872, 641, 493, 493, 2726, 2726, 247, - 258, 270, -431, 279, 2633, 33, 283, 251, -431, -431, - 434, 155, 166, 163, 243, 271, 246, 296, 848, -431, - 334, -431, -4, 337, 2726, 2726, 2726, 2726, -431, 273, - -431, -431, 277, -431, -431, -431, -431, 1512, 109, -431, - 2726, 2726, -431, 267, -431, 267, 267, 267, 267, 267, - 275, -52, -431, 2726, 360, -431, -431, -431, 443, -431, - 3, 450, -431, -431, -431, 249, 2726, 396, -431, -431, - 2726, 329, 254, -431, -431, -431, -431, -431, 470, -431, - -431, 2726, -431, 405, -431, 407, -431, 418, -431, 421, - -431, -431, -431, 242, -431, -431, 413, 312, 267, 335, - 341, 267, 347, 353, -431, -431, -431, -431, 364, 366, - 314, -431, 2726, 378, 379, -431, 2726, 380, -431, -431, - 375, -431, -431, 48, -431, 274, -431, 2887, 485, -431, - -431, 402, -431, -431, -431, -431, 399, 256, -431, 2726, - -431, -431, 495, 495, 2726, 2726, 495, -431, 412, 403, - 495, 495, 267, -431, -431, 496, -431, -431, -431, 442, - 426, -431, 428, 495, 495, -431, 130, 130, 415, 431, - 160, 2726, 2726, 495, -431, -431, 112, -431, -431, -431, - -431, -431, 943, -431, 160, 160, -431, 495, 432, -431, - -431, 495, 495, -431, 433, 436, 160, -431, -431, 511, - 511, -431, -431, -431, 460, 447, 1038, 9, -431, -431, - -431, 1133, -431, 2726, 160, 160, -431, 495, -431, -431, - 469, 469, 112, -431, -431, 478, 531, -431, -431, 452, - -431, -431, -431, 160, 2726, -431, -431, -431, -431, -431, - -431, 495, 1606, -431, 340, 1228, 130, 471, -431, -431, - 495, -431 + 614, -422, -422, -422, -422, -422, -422, 15, -422, 2769, + 13, 1433, 1336, -422, -422, -422, 1914, 2769, 2769, 48, + 48, 48, -422, 48, 48, -422, -422, 14, -67, -422, + 2769, -422, -422, -422, -422, 2769, -47, -39, -35, 1819, + 1722, 48, 1819, 2009, 67, 2769, -2, 2769, 2769, 2769, + 2769, 2769, 2769, 2769, 2104, 48, 48, 293, 49, -422, + 12, -422, -422, -422, -422, 2890, -422, -422, -25, 120, + 142, 275, -422, 84, 294, 305, 102, -422, -422, -422, + -422, -422, 67, 67, 123, -422, 31, 52, 78, 92, + 204, 100, 108, 13, 44, -422, 183, -422, 139, 2102, + 1336, -422, -422, -422, 657, 754, -422, 21, 510, 510, + -422, -422, -422, -422, -422, -422, -422, 2769, 151, 164, + 2769, 140, 640, 13, 251, 251, 2890, 182, 2199, 1722, + -422, 640, 553, 49, -422, 487, 2769, -422, -422, 640, + 277, 4, -422, -422, 2769, 640, 2864, 2294, 219, -422, + -422, -422, 640, 49, 510, 510, 510, 181, 181, 283, + 132, -422, -422, 2769, 2769, 2769, 2769, 2769, 2769, 2389, + 2769, 2769, 2769, 2769, 2769, 2769, 2769, 2769, 2769, 2769, + 2769, 2769, 2769, 2769, 2769, -422, -422, -422, 37, 2484, + 2769, 2769, 2769, 2769, 2769, 2769, 2769, -422, 282, -422, + -422, 289, -422, -422, -422, -422, -422, 220, 107, -422, + -422, 216, -422, -422, -422, -422, 13, -422, -422, 2769, + 2769, 2769, 2769, 2769, 2769, -422, -422, -422, -422, -422, + 2769, 2769, 113, -422, -422, -422, 254, 254, -422, -422, + 252, 230, 2769, 49, -422, 322, -422, 2579, 510, 219, + 50, 55, 75, -422, 342, 312, -422, 2769, 331, 267, + 267, -422, 2890, 33, 128, -422, 396, 1517, 1992, 1802, + 445, 295, 2890, 422, 348, 348, 1610, 1707, 1897, 360, + 510, 510, 2769, 2769, 240, 244, 259, -422, 270, 2674, + 40, 271, 250, -422, -422, 437, 247, 138, 326, 162, + 350, 169, 375, 851, -422, 338, -422, -422, 3, 359, + 2769, 2769, 2769, 2769, -422, 279, -422, -422, 285, -422, + -422, -422, -422, 1529, 11, -422, 2769, 2769, -422, 293, + -422, 293, 293, 293, 293, 293, 290, -28, -422, 2769, + 363, -422, -422, -422, -422, 479, -422, 45, 482, -422, + -422, -422, 186, 2769, 380, -422, -422, 2769, 392, 224, + -422, -422, -422, -422, -422, 523, -422, -422, 2769, -422, + 388, -422, 389, -422, 403, -422, 404, -422, -422, -422, + 251, 251, -422, -422, 400, 315, 293, 329, 337, 293, + 340, 353, -422, -422, -422, -422, 364, 336, 330, -422, + 2769, 369, 373, -422, 2769, 376, -422, -422, 374, -422, + -422, -422, 63, -422, 284, -422, 2932, 451, -422, -422, + 378, -422, -422, -422, -422, 377, 254, 254, -422, 2769, + -422, -422, 472, 472, 2769, 2769, 472, -422, 384, 391, + 472, 472, 293, -422, -422, 480, -422, -422, -422, 421, + 397, 397, -422, 398, 472, 472, -422, 43, 43, 416, + 423, 183, 2769, 2769, 472, -422, -422, 54, -422, -422, + -422, -422, -422, -422, 948, -422, 183, 183, -422, 472, + 430, -422, -422, 472, 472, -422, 420, 424, 183, -422, + -422, 511, 511, -422, -422, -422, 462, 460, 1045, 24, + -422, -422, -422, 1142, -422, 2769, 183, 183, -422, 472, + -422, -422, 466, 466, 54, -422, -422, 505, 533, -422, + -422, 477, -422, -422, -422, 183, 2769, -422, -422, -422, + -422, -422, -422, 472, 1625, -422, 2890, 1239, 43, 478, + -422, -422, 472, -422 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -231,88 +232,89 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 2, 4, 6, 8, 10, 12, 0, 16, 243, + 0, 2, 4, 6, 8, 10, 12, 0, 16, 246, 0, 0, 0, 19, 1, 19, 0, 0, 0, 0, - 0, 0, 230, 0, 0, 201, 228, 189, 223, 225, - 219, 83, 232, 83, 211, 221, 0, 0, 214, 241, - 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 119, 231, 196, - 179, 180, 181, 182, 122, 186, 5, 202, 191, 194, - 193, 195, 192, 0, 0, 0, 16, 7, 59, 27, - 84, 0, 0, 82, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 70, 9, 0, 60, 0, 11, - 24, 23, 0, 0, 173, 0, 163, 164, 268, 271, - 270, 269, 257, 258, 255, 241, 0, 0, 0, 0, - 220, 0, 87, 212, 0, 0, 243, 215, 216, 268, - 242, 129, 269, 0, 259, 178, 177, 0, 0, 85, - 86, 241, 187, 0, 0, 234, 238, 240, 239, 218, - 213, 165, 166, 184, 170, 171, 190, 0, 256, 261, - 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 233, 0, 0, 204, 231, 192, 226, 228, + 222, 85, 235, 85, 85, 214, 224, 0, 0, 217, + 244, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 121, 234, + 199, 182, 183, 184, 185, 124, 189, 5, 205, 194, + 197, 196, 198, 195, 0, 0, 0, 16, 7, 61, + 27, 86, 0, 0, 0, 84, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 72, 9, 0, 62, + 0, 11, 24, 23, 0, 0, 175, 0, 165, 166, + 271, 274, 273, 272, 260, 261, 258, 244, 0, 0, + 0, 0, 223, 0, 89, 89, 215, 0, 0, 246, + 218, 219, 271, 245, 131, 272, 0, 262, 181, 180, + 0, 0, 87, 88, 244, 190, 0, 0, 237, 241, + 243, 242, 221, 216, 167, 168, 187, 172, 173, 193, + 0, 259, 264, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 167, 168, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 19, 81, 82, 0, 32, 16, - 16, 16, 16, 16, 0, 16, 16, 0, 16, 16, - 38, 54, 0, 50, 53, 0, 0, 0, 0, 0, - 0, 26, 25, 20, 172, 127, 243, 0, 0, 224, - 131, 88, 89, 222, 226, 0, 0, 0, 123, 175, - 0, 205, 0, 185, 0, 191, 194, 193, 237, 0, - 93, 233, 0, 188, 117, 118, 116, 121, 0, 0, - 145, 0, 158, 154, 155, 151, 152, 149, 0, 160, - 161, 159, 157, 156, 153, 162, 150, 0, 0, 263, - 265, 0, 133, 0, 0, 0, 267, 126, 134, 203, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 0, 29, 0, 0, 75, 0, 0, 0, 253, 0, - 254, 251, 0, 252, 248, 249, 250, 0, 0, 16, - 0, 0, 71, 63, 64, 77, 61, 62, 65, 66, - 0, 245, 147, 241, 91, 16, 227, 130, 0, 174, - 190, 0, 235, 236, 92, 0, 0, 0, 138, 144, - 0, 0, 0, 207, 208, 209, 260, 142, 0, 206, - 210, 243, 204, 0, 136, 0, 197, 0, 198, 0, - 14, 16, 28, 87, 16, 31, 0, 0, 76, 0, - 0, 78, 0, 0, 247, 16, 74, 79, 0, 0, - 60, 46, 0, 0, 0, 128, 0, 0, 132, 90, - 110, 176, 124, 188, 148, 0, 141, 183, 0, 137, - 143, 0, 139, 199, 200, 135, 0, 89, 51, 241, - 72, 72, 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 246, 229, 111, 0, 146, 140, 125, 0, - 16, 19, 0, 0, 0, 18, 67, 67, 0, 0, - 70, 75, 0, 0, 36, 37, 108, 19, 21, 115, - 114, 30, 0, 33, 70, 70, 19, 0, 0, 34, - 35, 0, 0, 49, 0, 0, 70, 96, 97, 94, - 94, 104, 103, 107, 109, 0, 0, 0, 52, 39, - 40, 0, 68, 0, 70, 70, 42, 0, 45, 95, - 99, 99, 105, 112, 113, 57, 0, 22, 17, 0, - 44, 48, 72, 70, 100, 102, 98, 106, 19, 56, - 15, 0, 0, 47, 101, 0, 67, 0, 58, 69, - 0, 43 + 0, 0, 0, 0, 0, 169, 170, 171, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 19, 83, 84, + 84, 0, 34, 16, 16, 16, 16, 16, 0, 16, + 16, 0, 16, 16, 40, 56, 0, 52, 55, 0, + 0, 0, 0, 0, 0, 26, 25, 20, 174, 129, + 246, 0, 0, 227, 133, 90, 91, 91, 225, 229, + 0, 0, 0, 125, 177, 0, 208, 0, 188, 0, + 194, 197, 196, 240, 0, 95, 236, 0, 191, 119, + 120, 118, 123, 0, 0, 147, 0, 160, 156, 157, + 153, 154, 151, 0, 162, 163, 161, 159, 158, 155, + 164, 152, 0, 0, 266, 268, 0, 135, 0, 0, + 0, 270, 128, 136, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 0, 29, 31, 0, 0, + 77, 0, 0, 0, 256, 0, 257, 254, 0, 255, + 251, 252, 253, 0, 0, 16, 0, 0, 73, 65, + 66, 79, 63, 64, 67, 68, 0, 248, 149, 244, + 93, 16, 16, 230, 132, 0, 176, 193, 0, 238, + 239, 94, 0, 0, 0, 140, 146, 0, 0, 0, + 210, 211, 212, 263, 144, 0, 209, 213, 246, 207, + 0, 138, 0, 200, 0, 201, 0, 14, 16, 28, + 89, 89, 16, 33, 0, 0, 78, 0, 0, 80, + 0, 0, 250, 16, 76, 81, 0, 0, 62, 48, + 0, 0, 0, 130, 0, 0, 134, 92, 112, 178, + 179, 126, 191, 150, 0, 143, 186, 0, 139, 145, + 0, 141, 202, 203, 137, 0, 91, 91, 53, 244, + 74, 74, 0, 0, 0, 0, 0, 43, 0, 0, + 0, 0, 249, 232, 113, 0, 148, 142, 127, 0, + 16, 16, 19, 0, 0, 0, 18, 69, 69, 0, + 0, 72, 77, 0, 0, 38, 39, 110, 19, 21, + 117, 116, 30, 32, 0, 35, 72, 72, 19, 0, + 0, 36, 37, 0, 0, 51, 0, 0, 72, 98, + 99, 96, 96, 106, 105, 109, 111, 0, 0, 0, + 54, 41, 42, 0, 70, 0, 72, 72, 44, 0, + 47, 97, 101, 101, 107, 114, 115, 59, 0, 22, + 17, 0, 46, 50, 74, 72, 102, 104, 100, 108, + 19, 58, 15, 0, 0, 49, 103, 0, 69, 0, + 60, 71, 0, 45 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -431, -431, -431, -431, -431, -431, -431, -431, -10, -431, - 7, -163, -431, -12, -431, 568, 484, 18, -431, -431, - -431, -431, -431, -431, -431, -431, -304, -430, -181, -410, - -431, 132, 289, -271, 71, -431, 410, 559, -431, 520, - 230, 202, 381, 146, -431, -431, 119, -431, 125, -431, - -431, -431, -431, 188, -431, 59, -35, -431, -431, -431, - -431, -431, -431, -431, -431, -11, -431, -431, 489, -107, - -117, -431, -431, 326, -431, -431, 441, 50, -29, -25, - -431, -431, -431, -431, -431, 24 + -422, -422, -422, -422, -422, -422, -422, -422, -10, -422, + 22, -121, -422, -12, -422, 570, 489, 32, -422, -422, + -422, -422, -422, -422, -422, -422, -422, -318, -408, -140, + -421, -422, 129, 281, -251, 68, -422, -81, 104, -422, + 95, -116, -226, 356, 119, -422, -422, 99, -422, 109, + -422, -422, -422, -422, -155, 174, 28, -32, -422, -422, + -422, -422, -422, -422, -422, -422, -11, -422, -422, 481, + -99, -125, -422, -422, 302, -422, -422, 435, 236, -29, + -26, -422, -422, -422, -422, -422, 248 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 7, 8, 9, 10, 11, 12, 13, 110, 372, - 400, 446, 466, 102, 487, 223, 100, 101, 373, 303, - 451, 512, 428, 441, 507, 519, 96, 469, 213, 443, - 387, 377, 324, 380, 389, 300, 198, 121, 195, 141, - 232, 335, 251, 500, 480, 481, 515, 482, 483, 484, - 485, 435, 456, 401, 461, 97, 57, 58, 333, 287, - 59, 60, 61, 62, 63, 64, 117, 65, 145, 131, - 66, 397, 383, 311, 312, 206, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 158 + -1, 7, 8, 9, 10, 11, 12, 13, 112, 379, + 408, 457, 478, 104, 499, 227, 102, 103, 380, 381, + 309, 462, 524, 438, 452, 519, 531, 98, 481, 217, + 454, 395, 385, 330, 388, 397, 305, 202, 123, 198, + 144, 236, 341, 256, 512, 492, 493, 527, 494, 495, + 496, 497, 445, 467, 471, 472, 99, 58, 59, 339, + 292, 60, 61, 62, 63, 64, 65, 119, 66, 148, + 134, 67, 405, 391, 317, 318, 210, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 161 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -320,701 +322,712 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 77, 94, 94, 103, 130, 374, 106, 107, 225, 236, - 76, 444, 150, 386, 252, 15, 147, 470, 119, 120, - 148, 108, 164, 123, 165, 163, 109, 128, 127, 95, - 136, 135, 505, 142, 241, 149, 382, 151, 152, 153, - 154, 155, 76, 112, 113, 114, 388, 115, 116, 393, - 394, 14, 396, 108, 277, 187, 278, 188, 109, 346, - 279, 280, 281, 133, 134, 118, 282, 76, 56, 111, - 111, 111, -237, 111, 111, 105, 124, 125, 224, 159, - 130, 210, -262, 194, -262, 19, 20, 21, 94, 132, - 111, 126, 94, 94, 139, 146, 529, 375, 238, 140, - 163, 138, 522, 54, 111, 111, 130, 283, 186, 330, - 506, 230, 157, 166, 246, -238, 222, -236, 247, -266, - -264, 429, -264, 193, 19, 20, 197, 477, 478, 160, - 161, 162, 243, 332, 199, 54, 359, 310, 207, 160, - 161, 162, -240, 200, 187, 284, 188, 285, 286, -262, - 237, -262, 257, 448, 449, 253, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 348, 54, 467, 468, 315, 132, 228, 364, 316, - -239, 475, 298, 201, 235, 56, 19, 20, 202, 160, - 161, 162, 331, 245, 160, 161, 162, 208, 209, 160, - 161, 162, 322, 249, 211, 212, 304, 305, 306, 307, - 309, 54, 317, 318, 479, 320, 321, 240, 386, 254, - 255, 256, 509, 258, 259, 261, 398, 347, 160, 161, - 162, 226, 160, 161, 162, 288, 160, 161, 162, 160, - 161, 162, 214, 227, 411, 290, 291, 292, 293, 294, - 295, 296, 297, 229, 314, 366, 363, -264, 368, -264, - 447, 404, 143, 450, 365, 231, 409, 454, 455, 473, - 203, 144, 233, 54, 323, 325, 326, 327, 328, 329, - 464, 465, 239, 489, 490, 56, 436, 250, 94, 315, - 476, 252, 308, 316, 204, 498, 338, 189, 130, 190, - 191, 341, 192, 205, 492, 54, 299, 302, 494, 495, - 319, 345, 442, 510, 511, 337, 160, 161, 162, 160, - 161, 162, 160, 161, 162, 334, 392, 160, 161, 162, - 339, 344, 523, 346, 513, 111, 351, 352, 162, 407, - 160, 161, 162, 358, 160, 161, 162, 160, 161, 162, - 353, 361, 371, 215, 216, 217, 218, 376, 526, 384, - 219, 354, 220, 378, 325, 381, 381, 531, 314, 160, - 161, 162, 367, 355, 395, 54, 390, 385, 416, 381, - 381, 418, 356, 399, 130, 180, 360, 160, 161, 162, - 181, 167, 425, 182, 183, 184, 185, 369, 168, 169, - 170, 171, 160, 161, 162, 405, 406, 215, 216, 217, - 218, 420, 170, -78, 219, 412, 220, 413, 172, 173, - 56, 174, 175, 176, 177, 178, 179, 180, 414, 462, - 408, 415, 181, 419, 421, 182, 183, 184, 185, 180, - 422, 160, 161, 162, 181, 486, 423, 182, 183, 184, - 185, 381, 94, 424, 491, 432, 160, 161, 162, 168, - 169, 170, 171, 426, 160, 161, 162, 427, 160, 161, - 162, -267, -267, -267, 185, 434, 94, 430, 431, 433, - -191, 94, 336, 381, 381, 177, 178, 179, 180, 187, - 343, 188, -191, 181, 349, 437, 182, 183, 184, 185, - 439, 438, 453, 524, 445, 457, 525, 160, 161, 162, - 378, 381, 452, 458, 471, 94, 160, 161, 162, -191, - -191, -191, -191, 160, 161, 162, -191, 459, -191, 463, - 472, -191, 493, 362, 496, 497, 499, 502, -191, -191, - -191, -191, 402, 160, 161, 162, 503, 514, 518, 403, - 520, 521, 381, -191, -191, -191, -230, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -230, 410, - 530, -267, -191, 170, 171, -191, -191, -191, -191, -191, - 99, -191, 221, 474, -191, 181, 170, 171, 182, 183, - 184, 185, 122, 527, 379, -230, -230, -230, -230, 179, - 180, 196, -230, 417, -230, 181, 301, -230, 182, 183, - 184, 185, 179, 180, -230, -230, -230, -230, 181, 440, - 516, 182, 183, 184, 185, 342, 501, 517, 460, -230, - -230, -230, 244, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, 391, 313, 0, 0, -230, 0, - 0, -230, -230, -230, -230, -230, 0, -230, -13, 78, - -230, 0, 0, 0, 0, 0, 0, 76, 0, 16, - 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, - 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 79, 98, 80, 81, 33, 82, 83, 84, 85, 86, - 87, 170, 171, 0, 88, 89, 90, 91, 34, 0, - 92, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 180, 0, - 0, 0, 0, 181, 47, 0, 182, 183, 184, 185, - 1, 2, 3, 4, 5, 6, 48, 49, 0, 50, - 0, 51, 52, -3, 78, 0, 0, 0, 53, 93, - 54, 55, 76, 0, 16, 0, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 79, 98, 80, 81, 33, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 88, - 89, 90, 91, 34, 0, 92, 35, 36, 37, 38, - 39, 0, 0, 0, 0, 40, 41, 42, 43, 44, - 45, 46, 0, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 50, 0, 51, 52, 0, 78, - 0, 0, 0, 53, 93, 54, 55, 76, 370, 16, - 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, - 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 79, 98, 80, 81, 33, 82, 83, 84, 85, 86, - 87, 0, 0, 0, 88, 89, 90, 91, 34, 0, - 92, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 50, - 0, 51, 52, 0, 78, 0, 0, 0, 53, 93, - 54, 55, 76, 488, 16, 0, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 79, 98, 80, 81, 33, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 88, - 89, 90, 91, 34, 0, 92, 35, 36, 37, 38, - 39, 0, 0, 0, 0, 40, 41, 42, 43, 44, - 45, 46, 0, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 50, 0, 51, 52, 0, 78, - 0, 0, 0, 53, 93, 54, 55, 76, 504, 16, - 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, - 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 79, 98, 80, 81, 33, 82, 83, 84, 85, 86, - 87, 0, 0, 0, 88, 89, 90, 91, 34, 0, - 92, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 50, - 0, 51, 52, 0, 78, 0, 0, 0, 53, 93, - 54, 55, 76, 508, 16, 0, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 79, 98, 80, 81, 33, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 88, - 89, 90, 91, 34, 0, 92, 35, 36, 37, 38, - 39, 0, 0, 0, 0, 40, 41, 42, 43, 44, - 45, 46, 0, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 50, 0, 51, 52, 0, 78, - 0, 0, 0, 53, 93, 54, 55, 76, 0, 16, - 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, - 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 79, 98, 80, 81, 33, 82, 83, 84, 85, 86, - 87, 0, 0, 0, 88, 89, 90, 91, 34, 0, - 92, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 528, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 50, - 0, 51, 52, 0, 78, 0, 0, 0, 53, 93, - 54, 55, 76, 0, 16, 0, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 79, 98, 80, 81, 33, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 88, - 89, 90, 91, 34, 0, 92, 35, 36, 37, 38, - 39, 0, 0, 0, 0, 40, 41, 42, 43, 44, - 45, 46, 0, 0, 0, 0, 0, 0, 0, 47, + 78, 96, 96, 105, 241, 394, 108, 109, 133, 237, + 455, 342, 382, 19, 20, 14, 153, 150, 229, 122, + 151, 167, 77, 168, 126, 120, 19, 20, 131, 130, + 15, 139, 138, 228, 145, 121, 152, 57, 154, 155, + 156, 157, 158, 97, 107, 246, 282, 517, 283, 77, + 482, 166, 284, 285, 286, 127, 257, 77, 287, 190, + 110, 191, 390, 128, -265, 111, -265, 129, 110, 489, + 490, 141, 396, 111, 353, 401, 402, 189, 404, 163, + 164, 165, 160, 214, -267, 133, -267, 142, 479, 480, + 96, 146, 143, -269, 96, 96, 163, 164, 165, 197, + 147, 288, 55, 534, 243, 336, 383, 245, 163, 164, + 165, 196, 133, 234, 169, 55, -240, 251, 306, 307, + 252, -241, 19, 20, 21, 338, -243, 518, 166, 190, + 541, 191, 226, 203, -239, 248, 354, 124, 125, 289, + 355, 290, 291, 201, 55, 366, -242, 215, 232, 439, + 371, -265, 55, -265, 204, 262, 240, 57, 491, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 373, 254, 316, 199, 200, 321, + 205, 375, 322, 459, 460, 303, 409, 410, 163, 164, + 165, 259, 260, 261, 206, 263, 264, 266, 413, 337, + 450, 451, 212, 163, 164, 165, 328, 163, 164, 165, + 213, 55, 487, 163, 164, 165, 394, 295, 296, 297, + 298, 299, 300, 301, 302, 310, 311, 312, 313, 315, + 216, 323, 324, 258, 326, 327, 418, 163, 164, 165, + 406, 233, 218, 420, 163, 164, 165, 329, 331, 332, + 333, 334, 335, 230, 521, 113, 113, 113, 57, 113, + 113, 163, 164, 165, 426, 427, 231, 114, 115, 116, + 345, 117, 118, 207, 235, 348, 135, 113, -270, -270, + -270, 188, 149, 238, -267, 352, -267, 244, 136, 137, + 255, 113, 113, 96, 257, 321, 446, 208, 322, 163, + 164, 165, 304, 192, 162, 193, 209, 133, 55, 308, + 358, 359, 458, 314, 194, 461, 195, 365, 325, 465, + 466, 485, 163, 164, 165, 340, 211, 163, 164, 165, + 453, 344, 346, 476, 477, 351, 501, 502, 386, 331, + 389, 389, 353, 488, 165, 360, 416, 400, 510, 361, + 370, 398, 368, 343, 389, 389, 378, 173, 504, 163, + 164, 165, 506, 507, 362, 135, 522, 523, 163, 164, + 165, 219, 220, 221, 222, 363, 367, 242, 223, 384, + 224, 414, 250, 55, 183, 535, 407, 393, 525, 184, + 415, 403, 185, 186, 187, 188, 57, 133, 421, 422, + 425, 163, 164, 165, 428, 163, 164, 165, 171, 172, + 173, 174, 538, 423, 424, 435, 430, 163, 164, 165, + 429, 543, 173, 174, 293, 163, 164, 165, 389, 372, + 431, -80, 442, 179, 180, 181, 182, 183, 432, 437, + 474, 433, 184, 350, 320, 185, 186, 187, 188, 183, + 163, 164, 165, 374, 184, 434, 498, 185, 186, 187, + 188, 447, 389, 389, 96, 436, 503, 163, 164, 165, + 440, 163, 164, 165, 441, 170, 444, 443, 376, 448, + 449, 456, 171, 172, 173, 174, 463, -194, 96, 468, + 386, 389, 464, 96, 469, 417, 190, 356, 191, -194, + 470, 475, 175, 176, 357, 177, 178, 179, 180, 181, + 182, 183, 163, 164, 165, 536, 184, 483, 537, 185, + 186, 187, 188, 508, 484, 509, 113, 96, -194, -194, + -194, -194, 505, 389, 183, -194, 511, -194, 369, 184, + -194, 514, 185, 186, 187, 188, 526, -194, -194, -194, + -194, 392, 532, -233, 163, 164, 165, 163, 164, 165, + 320, 515, -194, -194, -194, -233, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, -194, 530, 533, 542, + 411, -194, 101, 412, -194, -194, -194, -194, -194, 225, + -194, 486, 387, -194, -233, -233, -233, -233, 163, 164, + 165, -233, 539, -233, 184, 349, -233, 185, 186, 187, + 188, 513, 528, -233, -233, -233, -233, 1, 2, 3, + 4, 5, 6, 529, 419, 473, 399, 249, -233, -233, + -233, 0, -233, -233, -233, -233, -233, -233, -233, -233, + -233, -233, -233, 319, 0, 0, 0, -233, 0, 0, + -233, -233, -233, -233, -233, 0, -233, -13, 79, -233, + 0, 0, 0, 0, 0, 0, 77, 0, 16, 0, + 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, + 25, 26, 0, 27, 28, 29, 30, 31, 32, 80, + 100, 81, 82, 83, 33, 34, 84, 85, 86, 87, + 88, 89, 173, 174, 0, 90, 91, 92, 93, 35, + 0, 94, 36, 37, 38, 39, 40, 0, 0, 0, + 0, 41, 42, 43, 44, 45, 46, 47, 182, 183, + 0, 0, 0, 0, 184, 48, 0, 185, 186, 187, + 188, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 51, 0, 52, 53, -3, 79, 0, 0, 0, 54, + 95, 55, 56, 77, 0, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 80, 100, 81, 82, + 83, 33, 34, 84, 85, 86, 87, 88, 89, 0, + 0, 0, 90, 91, 92, 93, 35, 0, 94, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 79, 0, 0, 0, 54, 95, 55, 56, + 77, 377, 16, 0, 17, 18, 19, 20, 21, 0, + 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, + 30, 31, 32, 80, 100, 81, 82, 83, 33, 34, + 84, 85, 86, 87, 88, 89, 0, 0, 0, 90, + 91, 92, 93, 35, 0, 94, 36, 37, 38, 39, + 40, 0, 0, 0, 0, 41, 42, 43, 44, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 50, 0, 51, 52, 0, 78, - 0, 0, 0, 53, 93, 54, 55, 76, 0, 16, + 0, 49, 50, 0, 51, 0, 52, 53, 0, 79, + 0, 0, 0, 54, 95, 55, 56, 77, 500, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 79, 0, 80, 81, 33, 82, 83, 84, 85, 86, - 87, 0, 0, 0, 88, 89, 90, 91, 34, 0, - 92, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 50, - 0, 51, 52, 78, 0, 0, 0, 0, 53, 93, - 54, 55, 0, 16, 0, 17, 18, 19, 20, 21, + 80, 100, 81, 82, 83, 33, 34, 84, 85, 86, + 87, 88, 89, 0, 0, 0, 90, 91, 92, 93, + 35, 0, 94, 36, 37, 38, 39, 40, 0, 0, + 0, 0, 41, 42, 43, 44, 45, 46, 47, 0, + 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, + 0, 51, 0, 52, 53, 0, 79, 0, 0, 0, + 54, 95, 55, 56, 77, 516, 16, 0, 17, 18, + 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, + 0, 27, 28, 29, 30, 31, 32, 80, 100, 81, + 82, 83, 33, 34, 84, 85, 86, 87, 88, 89, + 0, 0, 0, 90, 91, 92, 93, 35, 0, 94, + 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, + 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 50, 0, 51, 0, + 52, 53, 0, 79, 0, 0, 0, 54, 95, 55, + 56, 77, 520, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, - 0, -267, 0, 0, 0, 0, 0, 0, 168, 169, - 170, 171, 34, 0, 0, 35, 36, 37, 38, 39, - 0, 0, 0, 0, 40, 41, 42, 43, 44, 45, - 46, 174, 175, 176, 177, 178, 179, 180, 47, 0, - 0, 0, 181, 0, 0, 182, 183, 184, 185, 0, - 48, 49, 0, 50, 0, 51, 52, 78, 0, 0, - 0, 0, 53, -73, 54, 55, 0, 16, 0, 17, - 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, - 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, - 168, 169, 170, 171, 0, 0, 34, 0, 0, 35, - 36, 37, 38, 39, 0, 0, 0, 0, 40, 41, - 42, 43, 44, 45, 46, 176, 177, 178, 179, 180, - 0, 0, 47, 0, 181, 0, 0, 182, 183, 184, - 185, 0, 0, 0, 48, 49, 0, 50, 0, 51, - 52, 0, 0, 0, 0, -73, 53, 0, 54, 55, - 76, 0, 16, 0, 17, 18, 19, 20, 21, 0, - 0, 129, 23, 24, 25, 26, 109, 27, 28, 29, - 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 168, 169, 170, 171, 0, 0, - 0, 34, 0, 0, 35, 36, 37, 38, 39, 0, - 0, 0, 0, 40, 41, 42, 43, 44, 45, 46, - 0, 178, 179, 180, 0, 0, 0, 47, 181, 0, - 0, 182, 183, 184, 185, 0, 0, 0, 0, 48, - 49, 0, 50, 0, 51, 52, 0, 0, 0, 0, - 0, 53, 0, 54, 55, 76, 0, 16, 0, 17, + 29, 30, 31, 32, 80, 100, 81, 82, 83, 33, + 34, 84, 85, 86, 87, 88, 89, 0, 0, 0, + 90, 91, 92, 93, 35, 0, 94, 36, 37, 38, + 39, 40, 0, 0, 0, 0, 41, 42, 43, 44, + 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 50, 0, 51, 0, 52, 53, 0, + 79, 0, 0, 0, 54, 95, 55, 56, 77, 0, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 80, 100, 81, 82, 83, 33, 34, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 90, 91, 92, + 93, 35, 0, 94, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 540, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 79, 0, 0, + 0, 54, 95, 55, 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, - 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 33, 0, 0, 0, 0, 168, -267, 170, - 171, 0, 0, 0, 0, 0, 34, 0, 0, 35, - 36, 37, 38, 39, 0, 0, 0, 0, 40, 41, - 42, 43, 44, 45, 46, 179, 180, 0, 0, 0, - 0, 181, 47, 0, 182, 183, 184, 185, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 50, 0, 51, - 52, 0, 0, 0, 0, 0, 53, 0, 54, 55, - 16, 104, 17, 18, 19, 20, 21, 0, 0, 22, + 26, 0, 27, 28, 29, 30, 31, 32, 80, 100, + 81, 82, 83, 33, 34, 84, 85, 86, 87, 88, + 89, 0, 0, 0, 90, 91, 92, 93, 35, 0, + 94, 36, 37, 38, 39, 40, 0, 0, 0, 0, + 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 51, + 0, 52, 53, 0, 79, 0, 0, 0, 54, 95, + 55, 56, 77, 0, 16, 0, 17, 18, 19, 20, + 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, + 28, 29, 30, 31, 32, 80, 0, 81, 82, 83, + 33, 34, 84, 85, 86, 87, 88, 89, 0, 0, + 0, 90, 91, 92, 93, 35, 0, 94, 36, 37, + 38, 39, 40, 0, 0, 0, 0, 41, 42, 43, + 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 50, 0, 51, 0, 52, 53, + 79, 0, 0, 0, 0, 54, 95, 55, 56, 0, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, - 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 168, 169, 170, 171, 0, 0, 0, 0, 0, 34, - 0, 0, 35, 36, 37, 38, 39, 0, 0, 0, - 0, 40, 41, 42, 43, 44, 45, 46, 179, 180, - 0, 0, 0, 0, 181, 47, 0, 182, 183, 184, - 185, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 50, 0, 51, 52, 0, 0, 0, 0, 0, 53, - 0, 54, 55, 16, 0, 17, 18, 19, 20, 21, - 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, - 29, 30, 31, 32, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 35, 36, 37, 38, 39, - 0, 0, 0, 0, 40, 41, 42, 43, 44, 45, - 46, 0, 0, 0, 0, 0, 0, 0, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 50, 0, 51, 52, 0, 0, 0, - 0, 0, 53, 137, 54, 55, 16, 0, 17, 18, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, + -270, 0, 0, 0, 0, 0, 0, 171, 172, 173, + 174, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 177, 178, 179, 180, 181, 182, 183, 48, 0, 0, + 0, 184, 0, 0, 185, 186, 187, 188, 0, 49, + 50, 0, 51, 0, 52, 53, 79, 0, 0, 0, + 0, 54, -75, 55, 56, 0, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 34, 0, 0, 35, 36, - 37, 38, 39, 0, 0, 0, 0, 40, 41, 42, - 43, 44, 45, 46, 0, 0, 0, 0, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 50, 0, 51, 52, - 0, 0, 0, 0, 156, 53, 0, 54, 55, 16, - 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, - 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, - 0, 35, 36, 37, 38, 39, 0, 0, 0, 0, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 50, - 0, 51, 52, 0, 0, 0, 0, 234, 53, 0, - 54, 55, 16, 0, 17, 18, 19, 20, 21, 0, - 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, - 30, 31, 32, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 34, 0, 0, 35, 36, 37, 38, 39, 0, - 0, 0, 0, 40, 41, 42, 43, 44, 45, 46, - 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 50, 0, 51, 52, 0, 0, 0, 0, - 248, 53, 0, 54, 55, 16, 0, 17, 18, 19, + 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, + 171, 172, 173, 174, 0, 0, 0, 35, 0, 0, + 36, 37, 38, 39, 40, 0, 0, 0, 0, 41, + 42, 43, 44, 45, 46, 47, 180, 181, 182, 183, + 0, 0, 0, 48, 184, 0, 0, 185, 186, 187, + 188, 0, 0, 0, 0, 49, 50, 0, 51, 0, + 52, 53, 0, 0, 0, 0, -75, 54, 0, 55, + 56, 77, 0, 16, 0, 17, 18, 19, 20, 21, + 0, 0, 132, 23, 24, 25, 26, 111, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 33, + 34, 0, 0, 0, 0, 0, 0, 171, 172, 173, + 174, 0, 0, 0, 35, 0, 0, 36, 37, 38, + 39, 40, 0, 0, 0, 0, 41, 42, 43, 44, + 45, 46, 47, 0, 181, 182, 183, 0, 0, 0, + 48, 184, 0, 0, 185, 186, 187, 188, 0, 0, + 0, 0, 49, 50, 0, 51, 0, 52, 53, 0, + 0, 0, 0, 0, 54, 0, 55, 56, 77, 0, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, + 0, 0, 171, -270, 173, 174, 0, 0, 0, 0, + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 182, 183, 0, 0, 0, 0, 184, 48, 0, 185, + 186, 187, 188, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 0, 54, 0, 55, 56, 16, 106, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34, 0, 0, 35, 36, 37, - 38, 39, 0, 0, 0, 0, 40, 41, 42, 43, - 44, 45, 46, 0, 0, 0, 0, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 50, 0, 51, 52, 0, - 0, 0, 0, 260, 53, 0, 54, 55, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, - 25, 26, 0, 27, 28, 29, 30, 31, 32, 0, - 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 35, 36, 37, 38, 39, 0, 0, 0, 0, 40, - 41, 42, 43, 44, 45, 46, 0, 0, 0, 0, - 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 50, 0, - 51, 52, 0, 0, 0, 0, 289, 53, 0, 54, - 55, 16, 0, 17, 18, 19, 20, 21, 0, 0, - 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, - 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 33, 34, 0, 0, 0, 0, 171, 172, 173, + 174, 0, 0, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 182, 183, 0, 0, 0, + 0, 184, 48, 0, 185, 186, 187, 188, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 0, 54, 0, 55, 56, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, + 0, 0, -270, 0, 173, 174, 0, 0, 0, 0, + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 182, 183, 0, 0, 0, 0, 184, 48, 0, 185, + 186, 187, 188, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 0, 54, 140, 55, 56, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 33, 34, 219, 220, 221, 222, 0, 0, 0, + 223, 0, 224, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 163, 164, 165, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 159, 54, 0, 55, 56, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 0, 0, 35, 36, 37, 38, 39, 0, 0, - 0, 0, 40, 41, 42, 43, 44, 45, 46, 0, - 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, - 0, 50, 0, 51, 52, 0, 0, 0, 0, 340, - 53, 0, 54, 55, 16, 0, 17, 18, 19, 20, - 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, - 28, 29, 30, 31, 32, 0, 0, 0, 0, 33, + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 239, 54, 0, 55, 56, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 253, 54, 0, 55, 56, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 34, 0, 0, 35, 36, 37, 38, - 39, 0, 0, 0, 0, 40, 41, 42, 43, 44, - 45, 46, 0, 0, 0, 0, 0, 0, 0, 47, + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 265, 54, 0, 55, 56, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 294, 54, 0, 55, 56, + 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, + 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 50, 0, 51, 52, 0, 0, - 0, 0, 357, 53, 0, 54, 55, 16, 0, 17, - 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, - 26, 0, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 0, 0, 35, - 36, 37, 38, 39, 0, 0, 0, 0, 40, 41, - 42, 43, 44, 45, 46, 0, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 50, 0, 51, - 52, 0, 0, 0, 0, 0, 53, 0, 54, 55, + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 347, 54, 0, 55, 56, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 364, 54, 0, 55, 56, 16, 0, 17, 18, 19, 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, - 32, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, - 0, 0, 35, 36, 37, 38, 39, 0, 0, 0, - 0, 40, 41, 42, 43, 44, 45, 46, 0, 0, - 0, 0, 0, 0, 0, 47, 167, 0, 0, 0, - 0, 0, 0, 168, 169, 170, 171, 48, 49, 0, - 50, 0, 51, 52, 0, 0, 0, 0, 0, 242, - 0, 54, 55, 172, 173, 350, 174, 175, 176, 177, - 178, 179, 180, 0, 0, 0, 0, 181, 167, 0, - 182, 183, 184, 185, 0, 168, 169, 170, 171, 0, + 32, 0, 0, 0, 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 173, 0, 174, 175, - 176, 177, 178, 179, 180, 0, 0, 0, 0, 181, - 0, 0, 182, 183, 184, 185 + 0, 35, 0, 0, 36, 37, 38, 39, 40, 0, + 0, 0, 0, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 51, 0, 52, 53, 0, 0, 0, 0, + 0, 54, 0, 55, 56, 16, 0, 17, 18, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 26, 0, + 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 36, + 37, 38, 39, 40, 0, 0, 0, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 48, 170, 0, 0, 0, 0, 0, 0, + 171, 172, 173, 174, 49, 50, 0, 51, 0, 52, + 53, 0, 0, 0, 0, 0, 247, 0, 55, 56, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 183, + 0, 0, 0, 0, 184, 170, 0, 185, 186, 187, + 188, 0, 171, 172, 173, 174, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 177, 178, 179, 180, 181, + 182, 183, 0, 0, 0, 0, 184, 0, 0, 185, + 186, 187, 188 }; static const yytype_int16 yycheck[] = { - 10, 11, 12, 15, 39, 9, 17, 18, 115, 126, - 9, 421, 47, 317, 11, 8, 45, 447, 100, 30, - 45, 20, 9, 34, 11, 77, 25, 38, 38, 11, - 41, 41, 23, 44, 141, 46, 307, 48, 49, 50, - 51, 52, 9, 19, 20, 21, 317, 23, 24, 320, - 321, 0, 104, 20, 9, 9, 11, 11, 25, 11, - 15, 16, 17, 39, 40, 11, 21, 9, 9, 19, - 20, 21, 69, 23, 24, 16, 100, 100, 12, 55, - 115, 91, 9, 76, 11, 15, 16, 17, 98, 39, - 40, 100, 102, 103, 20, 45, 526, 101, 133, 25, - 77, 42, 512, 102, 54, 55, 141, 62, 100, 226, - 101, 121, 53, 100, 143, 69, 98, 69, 143, 9, - 9, 392, 11, 9, 15, 16, 20, 15, 16, 73, - 74, 75, 143, 12, 100, 102, 103, 67, 88, 73, - 74, 75, 69, 100, 9, 100, 11, 102, 103, 9, - 126, 11, 163, 424, 425, 99, 167, 168, 169, 170, + 10, 11, 12, 15, 129, 323, 17, 18, 40, 125, + 431, 237, 9, 15, 16, 0, 48, 46, 117, 30, + 46, 9, 9, 11, 35, 11, 15, 16, 39, 39, + 8, 42, 42, 12, 45, 102, 47, 9, 49, 50, + 51, 52, 53, 11, 16, 144, 9, 23, 11, 9, + 458, 79, 15, 16, 17, 102, 11, 9, 21, 9, + 20, 11, 313, 102, 9, 25, 11, 102, 20, 15, + 16, 43, 323, 25, 11, 326, 327, 102, 106, 75, + 76, 77, 54, 93, 9, 117, 11, 20, 45, 46, + 100, 93, 25, 9, 104, 105, 75, 76, 77, 77, + 102, 64, 104, 524, 136, 230, 103, 103, 75, 76, + 77, 9, 144, 123, 102, 104, 71, 146, 199, 200, + 146, 71, 15, 16, 17, 12, 71, 103, 79, 9, + 538, 11, 100, 102, 71, 146, 103, 33, 34, 102, + 12, 104, 105, 20, 104, 105, 71, 103, 120, 400, + 12, 9, 104, 11, 102, 166, 128, 129, 104, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 12, 102, 43, 44, 204, 126, 118, 12, 204, - 69, 452, 194, 100, 125, 126, 15, 16, 100, 73, - 74, 75, 227, 143, 73, 74, 75, 100, 100, 73, - 74, 75, 212, 144, 101, 45, 199, 200, 201, 202, - 203, 102, 205, 206, 102, 208, 209, 101, 522, 160, - 161, 162, 493, 164, 165, 166, 333, 101, 73, 74, - 75, 100, 73, 74, 75, 185, 73, 74, 75, 73, - 74, 75, 101, 100, 361, 186, 187, 188, 189, 190, - 191, 192, 193, 99, 204, 12, 101, 9, 12, 11, - 423, 12, 91, 426, 101, 23, 12, 430, 431, 450, - 67, 100, 99, 102, 215, 216, 217, 218, 219, 220, - 443, 444, 10, 464, 465, 226, 12, 69, 298, 318, - 453, 11, 91, 318, 91, 476, 237, 9, 333, 11, - 9, 242, 11, 100, 467, 102, 20, 20, 471, 472, - 100, 252, 419, 494, 495, 99, 73, 74, 75, 73, - 74, 75, 73, 74, 75, 69, 319, 73, 74, 75, - 10, 23, 513, 11, 497, 285, 277, 278, 75, 350, - 73, 74, 75, 284, 73, 74, 75, 73, 74, 75, - 103, 100, 18, 39, 40, 41, 42, 20, 521, 309, - 46, 103, 48, 304, 305, 306, 307, 530, 318, 73, - 74, 75, 101, 103, 99, 102, 317, 100, 371, 320, - 321, 374, 103, 23, 419, 87, 103, 73, 74, 75, - 92, 51, 385, 95, 96, 97, 98, 101, 58, 59, - 60, 61, 73, 74, 75, 346, 10, 39, 40, 41, - 42, 99, 60, 99, 46, 10, 48, 10, 78, 79, - 361, 81, 82, 83, 84, 85, 86, 87, 10, 441, - 101, 10, 92, 20, 99, 95, 96, 97, 98, 87, - 99, 73, 74, 75, 92, 457, 99, 95, 96, 97, - 98, 392, 462, 100, 466, 396, 73, 74, 75, 58, - 59, 60, 61, 99, 73, 74, 75, 101, 73, 74, - 75, 95, 96, 97, 98, 100, 486, 99, 99, 99, - 0, 491, 99, 424, 425, 84, 85, 86, 87, 9, - 99, 11, 12, 92, 99, 10, 95, 96, 97, 98, - 101, 99, 99, 514, 9, 9, 518, 73, 74, 75, - 451, 452, 100, 71, 99, 525, 73, 74, 75, 39, - 40, 41, 42, 73, 74, 75, 46, 101, 48, 101, - 99, 51, 100, 99, 101, 99, 25, 77, 58, 59, - 60, 61, 99, 73, 74, 75, 99, 78, 70, 99, - 19, 99, 493, 73, 74, 75, 0, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 12, 99, - 99, 58, 92, 60, 61, 95, 96, 97, 98, 99, - 12, 101, 98, 451, 104, 92, 60, 61, 95, 96, - 97, 98, 33, 522, 305, 39, 40, 41, 42, 86, - 87, 81, 46, 373, 48, 92, 196, 51, 95, 96, - 97, 98, 86, 87, 58, 59, 60, 61, 92, 417, - 501, 95, 96, 97, 98, 244, 480, 502, 440, 73, - 74, 75, 143, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 318, 204, -1, -1, 92, -1, - -1, 95, 96, 97, 98, 99, -1, 101, 0, 1, - 104, -1, -1, -1, -1, -1, -1, 9, -1, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 60, 61, -1, 46, 47, 48, 49, 50, -1, - 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, 87, -1, - -1, -1, -1, 92, 76, -1, 95, 96, 97, 98, - 3, 4, 5, 6, 7, 8, 88, 89, -1, 91, - -1, 93, 94, 0, 1, -1, -1, -1, 100, 101, - 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, - 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, - -1, -1, -1, 100, 101, 102, 103, 9, 10, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, - 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, - -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, - 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, - 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, - -1, -1, -1, 100, 101, 102, 103, 9, 10, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, - 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, - -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, - 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, - 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, + 181, 182, 183, 184, 12, 147, 69, 82, 83, 208, + 102, 12, 208, 434, 435, 197, 341, 342, 75, 76, + 77, 163, 164, 165, 102, 167, 168, 169, 12, 231, + 426, 427, 102, 75, 76, 77, 216, 75, 76, 77, + 102, 104, 463, 75, 76, 77, 534, 189, 190, 191, + 192, 193, 194, 195, 196, 203, 204, 205, 206, 207, + 47, 209, 210, 101, 212, 213, 12, 75, 76, 77, + 339, 101, 103, 368, 75, 76, 77, 219, 220, 221, + 222, 223, 224, 102, 505, 19, 20, 21, 230, 23, + 24, 75, 76, 77, 380, 381, 102, 19, 20, 21, + 242, 23, 24, 69, 23, 247, 40, 41, 97, 98, + 99, 100, 46, 101, 9, 257, 11, 10, 40, 41, + 71, 55, 56, 303, 11, 324, 12, 93, 324, 75, + 76, 77, 20, 9, 56, 11, 102, 339, 104, 20, + 282, 283, 433, 93, 9, 436, 11, 289, 102, 440, + 441, 461, 75, 76, 77, 71, 90, 75, 76, 77, + 429, 101, 10, 454, 455, 23, 476, 477, 310, 311, + 312, 313, 11, 464, 77, 105, 357, 325, 488, 105, + 103, 323, 102, 101, 326, 327, 18, 62, 479, 75, + 76, 77, 483, 484, 105, 129, 506, 507, 75, 76, + 77, 41, 42, 43, 44, 105, 105, 129, 48, 20, + 50, 353, 146, 104, 89, 525, 23, 102, 509, 94, + 10, 101, 97, 98, 99, 100, 368, 429, 10, 10, + 378, 75, 76, 77, 382, 75, 76, 77, 60, 61, + 62, 63, 533, 10, 10, 393, 101, 75, 76, 77, + 20, 542, 62, 63, 188, 75, 76, 77, 400, 103, + 101, 101, 404, 85, 86, 87, 88, 89, 101, 103, + 452, 101, 94, 101, 208, 97, 98, 99, 100, 89, + 75, 76, 77, 103, 94, 102, 468, 97, 98, 99, + 100, 10, 434, 435, 474, 101, 478, 75, 76, 77, + 101, 75, 76, 77, 101, 53, 102, 101, 103, 101, + 103, 9, 60, 61, 62, 63, 102, 0, 498, 9, + 462, 463, 101, 503, 73, 103, 9, 101, 11, 12, + 103, 103, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 75, 76, 77, 526, 94, 101, 530, 97, + 98, 99, 100, 103, 101, 101, 290, 537, 41, 42, + 43, 44, 102, 505, 89, 48, 25, 50, 101, 94, + 53, 79, 97, 98, 99, 100, 80, 60, 61, 62, + 63, 315, 19, 0, 75, 76, 77, 75, 76, 77, + 324, 101, 75, 76, 77, 12, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 72, 101, 101, + 101, 94, 12, 101, 97, 98, 99, 100, 101, 100, + 103, 462, 311, 106, 41, 42, 43, 44, 75, 76, + 77, 48, 534, 50, 94, 249, 53, 97, 98, 99, + 100, 492, 513, 60, 61, 62, 63, 3, 4, 5, + 6, 7, 8, 514, 101, 451, 324, 146, 75, 76, + 77, -1, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 208, -1, -1, -1, 94, -1, -1, + 97, 98, 99, 100, 101, -1, 103, 0, 1, 106, + -1, -1, -1, -1, -1, -1, 9, -1, 11, -1, + 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, + 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 62, 63, -1, 48, 49, 50, 51, 52, + -1, 54, 55, 56, 57, 58, 59, -1, -1, -1, + -1, 64, 65, 66, 67, 68, 69, 70, 88, 89, + -1, -1, -1, -1, 94, 78, -1, 97, 98, 99, + 100, -1, -1, -1, -1, -1, -1, 90, 91, -1, + 93, -1, 95, 96, 0, 1, -1, -1, -1, 102, + 103, 104, 105, 9, -1, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, -1, + -1, -1, 48, 49, 50, 51, 52, -1, 54, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, 1, -1, -1, -1, 102, 103, 104, 105, + 9, 10, 11, -1, 13, 14, 15, 16, 17, -1, + -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, -1, -1, -1, 48, + 49, 50, 51, 52, -1, 54, 55, 56, 57, 58, + 59, -1, -1, -1, -1, 64, 65, 66, 67, 68, + 69, 70, -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, - -1, -1, -1, 100, 101, 102, 103, 9, -1, 11, + -1, 90, 91, -1, 93, -1, 95, 96, -1, 1, + -1, -1, -1, 102, 103, 104, 105, 9, 10, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, - 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, -1, 71, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, - -1, 93, 94, -1, 1, -1, -1, -1, 100, 101, - 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, -1, -1, -1, 46, - 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, 1, - -1, -1, -1, 100, 101, 102, 103, 9, -1, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - 32, -1, 34, 35, 36, 37, 38, 39, 40, 41, - 42, -1, -1, -1, 46, 47, 48, 49, 50, -1, - 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, - -1, 93, 94, 1, -1, -1, -1, -1, 100, 101, - 102, 103, -1, 11, -1, 13, 14, 15, 16, 17, + 42, 43, 44, -1, -1, -1, 48, 49, 50, 51, + 52, -1, 54, 55, 56, 57, 58, 59, -1, -1, + -1, -1, 64, 65, 66, 67, 68, 69, 70, -1, + -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, + -1, 93, -1, 95, 96, -1, 1, -1, -1, -1, + 102, 103, 104, 105, 9, 10, 11, -1, 13, 14, + 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + -1, -1, -1, 48, 49, 50, 51, 52, -1, 54, + 55, 56, 57, 58, 59, -1, -1, -1, -1, 64, + 65, 66, 67, 68, 69, 70, -1, -1, -1, -1, + -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 90, 91, -1, 93, -1, + 95, 96, -1, 1, -1, -1, -1, 102, 103, 104, + 105, 9, 10, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, - -1, 51, -1, -1, -1, -1, -1, -1, 58, 59, - 60, 61, 50, -1, -1, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, 81, 82, 83, 84, 85, 86, 87, 76, -1, - -1, -1, 92, -1, -1, 95, 96, 97, 98, -1, - 88, 89, -1, 91, -1, 93, 94, 1, -1, -1, - -1, -1, 100, 101, 102, 103, -1, 11, -1, 13, - 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - 58, 59, 60, 61, -1, -1, 50, -1, -1, 53, - 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, - 64, 65, 66, 67, 68, 83, 84, 85, 86, 87, - -1, -1, 76, -1, 92, -1, -1, 95, 96, 97, - 98, -1, -1, -1, 88, 89, -1, 91, -1, 93, - 94, -1, -1, -1, -1, 99, 100, -1, 102, 103, - 9, -1, 11, -1, 13, 14, 15, 16, 17, -1, - -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, - -1, 50, -1, -1, 53, 54, 55, 56, 57, -1, - -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, - -1, 85, 86, 87, -1, -1, -1, 76, 92, -1, - -1, 95, 96, 97, 98, -1, -1, -1, -1, 88, - 89, -1, 91, -1, 93, 94, -1, -1, -1, -1, - -1, 100, -1, 102, 103, 9, -1, 11, -1, 13, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, -1, -1, -1, + 48, 49, 50, 51, 52, -1, 54, 55, 56, 57, + 58, 59, -1, -1, -1, -1, 64, 65, 66, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 90, 91, -1, 93, -1, 95, 96, -1, + 1, -1, -1, -1, 102, 103, 104, 105, 9, -1, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, -1, -1, -1, 48, 49, 50, + 51, 52, -1, 54, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, -1, 73, -1, -1, -1, -1, 78, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, 1, -1, -1, + -1, 102, 103, 104, 105, 9, -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, 36, -1, -1, -1, -1, 58, 59, 60, - 61, -1, -1, -1, -1, -1, 50, -1, -1, 53, - 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, - 64, 65, 66, 67, 68, 86, 87, -1, -1, -1, - -1, 92, 76, -1, 95, 96, 97, 98, -1, -1, - -1, -1, -1, -1, 88, 89, -1, 91, -1, 93, - 94, -1, -1, -1, -1, -1, 100, -1, 102, 103, - 11, 12, 13, 14, 15, 16, 17, -1, -1, 20, + 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, -1, -1, -1, 48, 49, 50, 51, 52, -1, + 54, 55, 56, 57, 58, 59, -1, -1, -1, -1, + 64, 65, 66, 67, 68, 69, 70, -1, -1, -1, + -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 90, 91, -1, 93, + -1, 95, 96, -1, 1, -1, -1, -1, 102, 103, + 104, 105, 9, -1, 11, -1, 13, 14, 15, 16, + 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, -1, -1, + -1, 48, 49, 50, 51, 52, -1, 54, 55, 56, + 57, 58, 59, -1, -1, -1, -1, 64, 65, 66, + 67, 68, 69, 70, -1, -1, -1, -1, -1, -1, + -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 90, 91, -1, 93, -1, 95, 96, + 1, -1, -1, -1, -1, 102, 103, 104, 105, -1, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, - 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, - 58, 59, 60, 61, -1, -1, -1, -1, -1, 50, - -1, -1, 53, 54, 55, 56, 57, -1, -1, -1, - -1, 62, 63, 64, 65, 66, 67, 68, 86, 87, - -1, -1, -1, -1, 92, 76, -1, 95, 96, 97, - 98, -1, -1, -1, -1, -1, -1, 88, 89, -1, - 91, -1, 93, 94, -1, -1, -1, -1, -1, 100, - -1, 102, 103, 11, -1, 13, 14, 15, 16, 17, - -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, -1, -1, -1, -1, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, -1, -1, 53, 54, 55, 56, 57, - -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, - 68, -1, -1, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, -1, 91, -1, 93, 94, -1, -1, -1, - -1, -1, 100, 101, 102, 103, 11, -1, 13, 14, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, + 53, -1, -1, -1, -1, -1, -1, 60, 61, 62, + 63, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + 83, 84, 85, 86, 87, 88, 89, 78, -1, -1, + -1, 94, -1, -1, 97, 98, 99, 100, -1, 90, + 91, -1, 93, -1, 95, 96, 1, -1, -1, -1, + -1, 102, 103, 104, 105, -1, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, - -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 50, -1, -1, 53, 54, - 55, 56, 57, -1, -1, -1, -1, 62, 63, 64, - 65, 66, 67, 68, -1, -1, -1, -1, -1, -1, - -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 88, 89, -1, 91, -1, 93, 94, - -1, -1, -1, -1, 99, 100, -1, 102, 103, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, - -1, 53, 54, 55, 56, 57, -1, -1, -1, -1, - 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, - -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 91, - -1, 93, 94, -1, -1, -1, -1, 99, 100, -1, - 102, 103, 11, -1, 13, 14, 15, 16, 17, -1, - -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, - 29, 30, 31, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 50, -1, -1, 53, 54, 55, 56, 57, -1, - -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, - -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, - 89, -1, 91, -1, 93, 94, -1, -1, -1, -1, - 99, 100, -1, 102, 103, 11, -1, 13, 14, 15, + -1, -1, 37, 38, -1, -1, -1, -1, -1, -1, + 60, 61, 62, 63, -1, -1, -1, 52, -1, -1, + 55, 56, 57, 58, 59, -1, -1, -1, -1, 64, + 65, 66, 67, 68, 69, 70, 86, 87, 88, 89, + -1, -1, -1, 78, 94, -1, -1, 97, 98, 99, + 100, -1, -1, -1, -1, 90, 91, -1, 93, -1, + 95, 96, -1, -1, -1, -1, 101, 102, -1, 104, + 105, 9, -1, 11, -1, 13, 14, 15, 16, 17, + -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, -1, -1, -1, -1, -1, 37, + 38, -1, -1, -1, -1, -1, -1, 60, 61, 62, + 63, -1, -1, -1, 52, -1, -1, 55, 56, 57, + 58, 59, -1, -1, -1, -1, 64, 65, 66, 67, + 68, 69, 70, -1, 87, 88, 89, -1, -1, -1, + 78, 94, -1, -1, 97, 98, 99, 100, -1, -1, + -1, -1, 90, 91, -1, 93, -1, 95, 96, -1, + -1, -1, -1, -1, 102, -1, 104, 105, 9, -1, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, + -1, -1, 60, 61, 62, 63, -1, -1, -1, -1, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + 88, 89, -1, -1, -1, -1, 94, 78, -1, 97, + 98, 99, 100, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + -1, 102, -1, 104, 105, 11, 12, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, - 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 50, -1, -1, 53, 54, 55, - 56, 57, -1, -1, -1, -1, 62, 63, 64, 65, - 66, 67, 68, -1, -1, -1, -1, -1, -1, -1, - 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, 89, -1, 91, -1, 93, 94, -1, - -1, -1, -1, 99, 100, -1, 102, 103, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, - 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, - 63, 64, 65, 66, 67, 68, -1, -1, -1, -1, - -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, -1, 91, -1, - 93, 94, -1, -1, -1, -1, 99, 100, -1, 102, - 103, 11, -1, 13, 14, 15, 16, 17, -1, -1, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, 36, -1, -1, -1, + -1, 37, 38, -1, -1, -1, -1, 60, 61, 62, + 63, -1, -1, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, 88, 89, -1, -1, -1, + -1, 94, 78, -1, 97, 98, 99, 100, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, -1, 102, -1, 104, 105, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, + -1, -1, 60, -1, 62, 63, -1, -1, -1, -1, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + 88, 89, -1, -1, -1, -1, 94, 78, -1, 97, + 98, 99, 100, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + -1, 102, 103, 104, 105, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, 37, 38, 41, 42, 43, 44, -1, -1, -1, + 48, -1, 50, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, 75, 76, 77, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, 101, 102, -1, 104, 105, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 50, -1, -1, 53, 54, 55, 56, 57, -1, -1, - -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, - -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, - -1, 91, -1, 93, 94, -1, -1, -1, -1, 99, - 100, -1, 102, 103, 11, -1, 13, 14, 15, 16, - 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, -1, -1, -1, -1, 36, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + 101, 102, -1, 104, 105, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, 101, 102, -1, 104, 105, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 50, -1, -1, 53, 54, 55, 56, - 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, - 67, 68, -1, -1, -1, -1, -1, -1, -1, 76, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + 101, 102, -1, 104, 105, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, 101, 102, -1, 104, 105, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, -1, 91, -1, 93, 94, -1, -1, - -1, -1, 99, 100, -1, 102, 103, 11, -1, 13, - 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, 31, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 50, -1, -1, 53, - 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, - 64, 65, 66, 67, 68, -1, -1, -1, -1, -1, - -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 88, 89, -1, 91, -1, 93, - 94, -1, -1, -1, -1, -1, 100, -1, 102, 103, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + 101, 102, -1, 104, 105, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, 101, 102, -1, 104, 105, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, - 31, -1, -1, -1, -1, 36, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, - -1, -1, 53, 54, 55, 56, 57, -1, -1, -1, - -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, - -1, -1, -1, -1, -1, 76, 51, -1, -1, -1, - -1, -1, -1, 58, 59, 60, 61, 88, 89, -1, - 91, -1, 93, 94, -1, -1, -1, -1, -1, 100, - -1, 102, 103, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, -1, -1, -1, -1, 92, 51, -1, - 95, 96, 97, 98, -1, 58, 59, 60, 61, -1, + 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, + 91, -1, 93, -1, 95, 96, -1, -1, -1, -1, + -1, 102, -1, 104, 105, 11, -1, 13, 14, 15, + 16, 17, -1, -1, 20, 21, 22, 23, 24, -1, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 52, -1, -1, 55, + 56, 57, 58, 59, -1, -1, -1, -1, 64, 65, + 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 78, 53, -1, -1, -1, -1, -1, -1, + 60, 61, 62, 63, 90, 91, -1, 93, -1, 95, + 96, -1, -1, -1, -1, -1, 102, -1, 104, 105, + 80, 81, -1, 83, 84, 85, 86, 87, 88, 89, + -1, -1, -1, -1, 94, 53, -1, 97, 98, 99, + 100, -1, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 79, -1, 81, 82, - 83, 84, 85, 86, 87, -1, -1, -1, -1, 92, - -1, -1, 95, 96, 97, 98 + -1, -1, -1, 81, -1, 83, 84, 85, 86, 87, + 88, 89, -1, -1, -1, -1, 94, -1, -1, 97, + 98, 99, 100 }; /* 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, 8, 106, 107, 108, - 109, 110, 111, 112, 0, 115, 11, 13, 14, 15, + 0, 3, 4, 5, 6, 7, 8, 108, 109, 110, + 111, 112, 113, 114, 0, 117, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, - 29, 30, 31, 36, 50, 53, 54, 55, 56, 57, - 62, 63, 64, 65, 66, 67, 68, 76, 88, 89, - 91, 93, 94, 100, 102, 103, 160, 161, 162, 165, - 166, 167, 168, 169, 170, 172, 175, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 9, 113, 1, 32, - 34, 35, 37, 38, 39, 40, 41, 42, 46, 47, - 48, 49, 52, 101, 113, 122, 131, 160, 33, 120, - 121, 122, 118, 118, 12, 160, 170, 170, 20, 25, - 113, 182, 190, 190, 190, 190, 190, 171, 11, 100, - 170, 142, 142, 170, 100, 100, 100, 113, 170, 20, - 161, 174, 182, 190, 190, 113, 170, 101, 160, 20, - 25, 144, 170, 91, 100, 173, 182, 183, 184, 170, - 161, 170, 170, 170, 170, 170, 99, 160, 190, 190, - 73, 74, 75, 77, 9, 11, 100, 51, 58, 59, - 60, 61, 78, 79, 81, 82, 83, 84, 85, 86, - 87, 92, 95, 96, 97, 98, 100, 9, 11, 9, - 11, 9, 11, 9, 115, 143, 144, 20, 141, 100, - 100, 100, 100, 67, 91, 100, 180, 182, 100, 100, - 113, 101, 45, 133, 101, 39, 40, 41, 42, 46, - 48, 121, 122, 120, 12, 174, 100, 100, 160, 99, - 113, 23, 145, 99, 99, 160, 175, 190, 161, 10, - 101, 174, 100, 170, 173, 182, 183, 184, 99, 160, - 69, 147, 11, 99, 160, 160, 160, 170, 160, 160, - 99, 160, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 9, 11, 15, - 16, 17, 21, 62, 100, 102, 103, 164, 182, 99, - 160, 160, 160, 160, 160, 160, 160, 160, 118, 20, - 140, 141, 20, 124, 115, 115, 115, 115, 91, 115, - 67, 178, 179, 181, 182, 183, 184, 115, 115, 100, - 115, 115, 113, 160, 137, 160, 160, 160, 160, 160, - 175, 161, 12, 163, 69, 146, 99, 99, 160, 10, - 99, 160, 147, 99, 23, 160, 11, 101, 12, 99, - 80, 160, 160, 103, 103, 103, 103, 99, 160, 103, - 103, 100, 99, 101, 12, 101, 12, 101, 12, 101, - 10, 18, 114, 123, 9, 101, 20, 136, 160, 137, - 138, 160, 138, 177, 182, 100, 131, 135, 138, 139, - 160, 178, 115, 138, 138, 99, 104, 176, 174, 23, - 115, 158, 99, 99, 12, 160, 10, 170, 101, 12, - 99, 175, 10, 10, 10, 10, 115, 145, 115, 20, - 99, 99, 99, 99, 100, 115, 99, 101, 127, 138, - 99, 99, 160, 99, 100, 156, 12, 10, 99, 101, - 146, 128, 174, 134, 134, 9, 116, 116, 138, 138, - 116, 125, 100, 99, 116, 116, 157, 9, 71, 101, - 158, 159, 118, 101, 116, 116, 117, 43, 44, 132, - 132, 99, 99, 133, 136, 138, 116, 15, 16, 102, - 149, 150, 152, 153, 154, 155, 118, 119, 10, 133, - 133, 118, 116, 100, 116, 116, 101, 99, 133, 25, - 148, 148, 77, 99, 10, 23, 101, 129, 10, 138, - 133, 133, 126, 116, 78, 151, 151, 153, 70, 130, - 19, 99, 134, 133, 170, 118, 116, 139, 71, 132, - 99, 116 + 29, 30, 31, 37, 38, 52, 55, 56, 57, 58, + 59, 64, 65, 66, 67, 68, 69, 70, 78, 90, + 91, 93, 95, 96, 102, 104, 105, 163, 164, 165, + 168, 169, 170, 171, 172, 173, 175, 178, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 9, 115, 1, + 32, 34, 35, 36, 39, 40, 41, 42, 43, 44, + 48, 49, 50, 51, 54, 103, 115, 124, 134, 163, + 33, 122, 123, 124, 120, 120, 12, 163, 173, 173, + 20, 25, 115, 185, 193, 193, 193, 193, 193, 174, + 11, 102, 173, 145, 145, 145, 173, 102, 102, 102, + 115, 173, 20, 164, 177, 185, 193, 193, 115, 173, + 103, 163, 20, 25, 147, 173, 93, 102, 176, 185, + 186, 187, 173, 164, 173, 173, 173, 173, 173, 101, + 163, 193, 193, 75, 76, 77, 79, 9, 11, 102, + 53, 60, 61, 62, 63, 80, 81, 83, 84, 85, + 86, 87, 88, 89, 94, 97, 98, 99, 100, 102, + 9, 11, 9, 11, 9, 11, 9, 117, 146, 147, + 147, 20, 144, 102, 102, 102, 102, 69, 93, 102, + 183, 185, 102, 102, 115, 103, 47, 136, 103, 41, + 42, 43, 44, 48, 50, 123, 124, 122, 12, 177, + 102, 102, 163, 101, 115, 23, 148, 148, 101, 101, + 163, 178, 193, 164, 10, 103, 177, 102, 173, 176, + 185, 186, 187, 101, 163, 71, 150, 11, 101, 163, + 163, 163, 173, 163, 163, 101, 163, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 9, 11, 15, 16, 17, 21, 64, 102, + 104, 105, 167, 185, 101, 163, 163, 163, 163, 163, + 163, 163, 163, 120, 20, 143, 144, 144, 20, 127, + 117, 117, 117, 117, 93, 117, 69, 181, 182, 184, + 185, 186, 187, 117, 117, 102, 117, 117, 115, 163, + 140, 163, 163, 163, 163, 163, 178, 164, 12, 166, + 71, 149, 149, 101, 101, 163, 10, 101, 163, 150, + 101, 23, 163, 11, 103, 12, 101, 82, 163, 163, + 105, 105, 105, 105, 101, 163, 105, 105, 102, 101, + 103, 12, 103, 12, 103, 12, 103, 10, 18, 116, + 125, 126, 9, 103, 20, 139, 163, 140, 141, 163, + 141, 180, 185, 102, 134, 138, 141, 142, 163, 181, + 117, 141, 141, 101, 106, 179, 177, 23, 117, 161, + 161, 101, 101, 12, 163, 10, 173, 103, 12, 101, + 178, 10, 10, 10, 10, 117, 148, 148, 117, 20, + 101, 101, 101, 101, 102, 117, 101, 103, 130, 141, + 101, 101, 163, 101, 102, 159, 12, 10, 101, 103, + 149, 149, 131, 177, 137, 137, 9, 118, 118, 141, + 141, 118, 128, 102, 101, 118, 118, 160, 9, 73, + 103, 161, 162, 162, 120, 103, 118, 118, 119, 45, + 46, 135, 135, 101, 101, 136, 139, 141, 118, 15, + 16, 104, 152, 153, 155, 156, 157, 158, 120, 121, + 10, 136, 136, 120, 118, 102, 118, 118, 103, 101, + 136, 25, 151, 151, 79, 101, 10, 23, 103, 132, + 10, 141, 136, 136, 129, 118, 80, 154, 154, 156, + 72, 133, 19, 101, 137, 136, 173, 120, 118, 142, + 73, 135, 101, 118 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 105, 107, 106, 108, 106, 109, 106, 110, 106, - 111, 106, 112, 106, 113, 114, 115, 116, 117, 118, - 118, 119, 119, 120, 120, 121, 121, 122, 122, 123, - 122, 122, 124, 122, 122, 122, 122, 122, 122, 122, - 122, 125, 126, 122, 122, 122, 127, 122, 122, 122, - 122, 128, 122, 122, 122, 122, 129, 130, 130, 131, - 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, - 133, 133, 134, 135, 135, 136, 136, 137, 138, 139, - 140, 140, 141, 142, 143, 144, 144, 145, 145, 146, - 146, 146, 147, 147, 148, 148, 149, 149, 150, 151, - 151, 151, 152, 153, 153, 154, 154, 154, 155, 155, - 156, 157, 156, 158, 159, 159, 160, 160, 160, 160, - 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, - 162, 163, 162, 164, 164, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 165, 165, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 168, 168, 168, 168, 168, 169, 169, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 171, 170, - 170, 170, 170, 172, 172, 172, 173, 173, 173, 173, - 173, 174, 174, 175, 175, 176, 176, 177, 178, 178, - 178, 179, 179, 180, 180, 181, 182, 183, 184, 185, - 185, 186, 187, 187, 188, 188, 189, 189, 190, 190, - 190, 190 + 0, 107, 109, 108, 110, 108, 111, 108, 112, 108, + 113, 108, 114, 108, 115, 116, 117, 118, 119, 120, + 120, 121, 121, 122, 122, 123, 123, 124, 124, 125, + 124, 126, 124, 124, 127, 124, 124, 124, 124, 124, + 124, 124, 124, 128, 129, 124, 124, 124, 130, 124, + 124, 124, 124, 131, 124, 124, 124, 124, 132, 133, + 133, 134, 134, 134, 134, 134, 134, 134, 134, 135, + 135, 135, 136, 136, 137, 138, 138, 139, 139, 140, + 141, 142, 143, 143, 144, 145, 146, 147, 147, 148, + 148, 149, 149, 149, 150, 150, 151, 151, 152, 152, + 153, 154, 154, 154, 155, 156, 156, 157, 157, 157, + 158, 158, 159, 160, 159, 161, 162, 162, 163, 163, + 163, 163, 164, 164, 164, 165, 165, 165, 165, 165, + 165, 165, 165, 166, 165, 167, 167, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 171, 171, 171, 171, 171, 171, + 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 174, 173, 173, 173, 173, 175, 175, 175, 176, + 176, 176, 176, 176, 177, 177, 178, 178, 179, 179, + 180, 181, 181, 181, 182, 182, 183, 183, 184, 185, + 186, 187, 188, 188, 189, 190, 190, 191, 191, 192, + 192, 193, 193, 193, 193 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1023,31 +1036,31 @@ static const yytype_uint8 yyr2[] = 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 4, 7, 0, 4, 0, 0, 2, 0, 2, 1, 1, 2, 2, 1, 4, 0, - 7, 4, 0, 7, 7, 7, 6, 6, 2, 8, - 8, 0, 0, 13, 9, 8, 0, 10, 9, 7, - 2, 0, 8, 2, 2, 1, 2, 0, 3, 1, - 1, 3, 3, 3, 3, 3, 3, 0, 2, 6, - 0, 2, 0, 0, 1, 0, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, - 2, 1, 2, 1, 0, 1, 1, 1, 3, 0, - 1, 2, 3, 1, 1, 2, 3, 1, 0, 1, - 0, 0, 4, 5, 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, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 2, 4, 3, 5, 2, 2, 1, - 1, 1, 1, 5, 2, 3, 1, 2, 3, 1, - 2, 1, 1, 1, 1, 1, 1, 4, 4, 5, - 5, 1, 1, 3, 4, 3, 4, 4, 4, 4, - 4, 1, 2, 2, 1, 2, 2, 1, 2, 1, - 2, 1, 3, 1, 3, 1, 3, 4, 0, 6, - 1, 1, 1, 3, 2, 4, 3, 2, 1, 1, - 1, 0, 1, 0, 1, 0, 2, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, - 4, 2, 1, 3, 1, 3, 1, 3, 1, 1, - 1, 1 + 7, 0, 7, 4, 0, 7, 7, 7, 6, 6, + 2, 8, 8, 0, 0, 13, 9, 8, 0, 10, + 9, 7, 2, 0, 8, 2, 2, 1, 2, 0, + 3, 1, 1, 3, 3, 3, 3, 3, 3, 0, + 2, 6, 0, 2, 0, 0, 1, 0, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, + 1, 0, 2, 1, 2, 1, 0, 1, 1, 1, + 3, 0, 1, 2, 3, 1, 1, 2, 3, 1, + 0, 1, 0, 0, 4, 5, 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, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 2, 4, 3, 5, 5, + 2, 2, 1, 1, 1, 1, 5, 2, 3, 1, + 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, + 4, 4, 5, 5, 1, 1, 3, 4, 3, 4, + 4, 4, 4, 4, 1, 2, 2, 1, 2, 2, + 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, + 4, 0, 6, 1, 1, 1, 3, 2, 4, 3, + 2, 1, 1, 1, 0, 1, 0, 1, 0, 2, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 4, 2, 1, 3, 1, 3, 1, + 3, 1, 1, 1, 1 }; typedef enum { @@ -1062,33 +1075,33 @@ static const toketypes yy_type_tab[] = toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, 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_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_pval, 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_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_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_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_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - 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_ival, - toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, 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_ival, toketype_ival, toketype_ival, 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_ival, 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_ival, 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_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_opval, toketype_opval, 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 }; /* Generated from: - * 6a23ac9b6bc07e4913adb8e36056ee0e94cb60bf9c02fe1b851c6087c47517bb perly.y + * 7d1ae56dfb5e7feea413f76193d80121912cb6aadf882158a70abc41e0153b1a perly.y * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl * ex: set ro: */ diff --git a/perly.y b/perly.y index f10cfbdb119b..dd00deb264b4 100644 --- a/perly.y +++ b/perly.y @@ -51,7 +51,7 @@ %token FUNC0OP FUNC0SUB UNIOPSUB LSTOPSUB %token PLUGEXPR PLUGSTMT %token LABEL -%token FORMAT SUB ANONSUB PACKAGE USE +%token FORMAT SUB SIGSUB ANONSUB ANON_SIGSUB PACKAGE USE %token WHILE UNTIL IF UNLESS ELSE ELSIF CONTINUE FOR %token GIVEN WHEN DEFAULT %token LOOPEX DOTDOT YADAYADA @@ -290,6 +290,23 @@ barestmt: PLUGSTMT intro_my(); parser->parsed_sub = 1; } + | SIGSUB subname startsub + { + init_named_cv(PL_compcv, $2); + parser->in_my = 0; + parser->in_my_stash = NULL; + } + proto subattrlist optsubbody + { + SvREFCNT_inc_simple_void(PL_compcv); + $2->op_type == OP_CONST + ? newATTRSUB($3, $2, $5, $6, $7) + : newMYSUB($3, $2, $5, $6, $7) + ; + $$ = NULL; + intro_my(); + parser->parsed_sub = 1; + } | PACKAGE BAREWORD BAREWORD ';' { package($3); @@ -1011,6 +1028,9 @@ anonymous: '[' expr ']' | ANONSUB startanonsub proto subattrlist realsubbody %prec '(' { SvREFCNT_inc_simple_void(PL_compcv); $$ = newANONATTRSUB($2, $3, $4, $5); } + | ANON_SIGSUB startanonsub proto subattrlist realsubbody %prec '(' + { SvREFCNT_inc_simple_void(PL_compcv); + $$ = newANONATTRSUB($2, $3, $4, $5); } ; /* Things called with "do" */ diff --git a/toke.c b/toke.c index 4f2aa5729d2d..020a545404e2 100644 --- a/toke.c +++ b/toke.c @@ -310,6 +310,7 @@ static struct debug_tokens { { ANDAND, TOKENTYPE_NONE, "ANDAND" }, { ANDOP, TOKENTYPE_NONE, "ANDOP" }, { ANONSUB, TOKENTYPE_IVAL, "ANONSUB" }, + { ANON_SIGSUB, TOKENTYPE_IVAL, "ANON_SIGSUB" }, { ARROW, TOKENTYPE_NONE, "ARROW" }, { ASSIGNOP, TOKENTYPE_OPNUM, "ASSIGNOP" }, { BITANDOP, TOKENTYPE_OPNUM, "BITANDOP" }, @@ -367,6 +368,7 @@ static struct debug_tokens { { RELOP, TOKENTYPE_OPNUM, "RELOP" }, { REQUIRE, TOKENTYPE_NONE, "REQUIRE" }, { SHIFTOP, TOKENTYPE_OPNUM, "SHIFTOP" }, + { SIGSUB, TOKENTYPE_NONE, "SIGSUB" }, { SUB, TOKENTYPE_NONE, "SUB" }, { THING, TOKENTYPE_OPVAL, "THING" }, { UMINUS, TOKENTYPE_NONE, "UMINUS" }, @@ -8662,6 +8664,7 @@ Perl_yylex(pTHX) bool have_name, have_proto; const int key = tmp; SV *format_name = NULL; + bool is_sigsub = FEATURE_SIGNATURES_IS_ENABLED; SSize_t off = s-SvPVX(PL_linestr); s = skipspace(s); @@ -8721,7 +8724,7 @@ Perl_yylex(pTHX) } /* Look for a prototype */ - if (*s == '(' && !FEATURE_SIGNATURES_IS_ENABLED) { + if (*s == '(' && !is_sigsub) { s = scan_str(s,FALSE,FALSE,FALSE,NULL); COPLINE_SET_FROM_MULTI_END; if (!s) @@ -8761,10 +8764,16 @@ Perl_yylex(pTHX) sv_setpvs(PL_subname, "__ANON__"); else sv_setpvs(PL_subname, "__ANON__::__ANON__"); - TOKEN(ANONSUB); + if (is_sigsub) + TOKEN(ANON_SIGSUB); + else + TOKEN(ANONSUB); } force_ident_maybe_lex('&'); - TOKEN(SUB); + if (is_sigsub) + TOKEN(SIGSUB); + else + TOKEN(SUB); } case KEY_system: