diff options
-rw-r--r-- | perl.h | 19 | ||||
-rw-r--r-- | perly.act | 850 | ||||
-rw-r--r-- | perly.h | 67 | ||||
-rw-r--r-- | perly.tab | 1884 | ||||
-rw-r--r-- | perly.y | 47 | ||||
-rw-r--r-- | toke.c | 39 |
6 files changed, 1505 insertions, 1401 deletions
@@ -6009,12 +6009,19 @@ enum Perl_custom_infix_precedence { * they should not be changed within a stable release cycle, but they can * be freely altered during a development cycle because no ABI guarantees * are made at that time */ - INFIX_PREC_LOW = 10, /* non-associative */ - INFIX_PREC_REL = 30, /* non-associative, just below `==` */ - INFIX_PREC_ADD = 50, /* left-associative, same precedence as `+` */ - INFIX_PREC_MUL = 70, /* left-associative, same precedence as `*` */ - INFIX_PREC_POW = 90, /* right-associative, same precedence as `**` */ - INFIX_PREC_HIGH = 110, /* non-associative */ + INFIX_PREC_LOW = 10, /* non-associative */ + INFIX_PREC_LOGICAL_OR_LOW = 30, /* left-associative, as `or` */ + INFIX_PREC_LOGICAL_AND_LOW = 40, /* left-associative, as `and` */ + INFIX_PREC_ASSIGN = 50, /* right-associative, as `=` */ + INFIX_PREC_LOGICAL_OR = 70, /* left-associative, as `||` */ + INFIX_PREC_LOGICAL_AND = 80, /* left-associative, as `&&` */ + INFIX_PREC_REL = 90, /* non-associative, just below `==` */ + INFIX_PREC_ADD = 110, /* left-associative, as `+` */ + INFIX_PREC_MUL = 130, /* left-associative, as `*` */ + INFIX_PREC_POW = 150, /* right-associative, as `**` */ + INFIX_PREC_HIGH = 170, /* non-associative */ + /* Try to keep within the range of a U8 in case we need to split the field + * and add flags */ }; struct Perl_custom_infix; struct Perl_custom_infix { @@ -5,7 +5,7 @@ */ case 2: -#line 159 "perly.y" +#line 156 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -14,7 +14,7 @@ case 2: break; case 3: -#line 164 "perly.y" +#line 161 "perly.y" { newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval))); PL_compiling.cop_seq = 0; @@ -24,7 +24,7 @@ case 2: break; case 4: -#line 170 "perly.y" +#line 167 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: break; case 5: -#line 175 "perly.y" +#line 172 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -42,7 +42,7 @@ case 2: break; case 6: -#line 180 "perly.y" +#line 177 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: break; case 7: -#line 185 "perly.y" +#line 182 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -63,7 +63,7 @@ case 2: break; case 8: -#line 193 "perly.y" +#line 190 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: break; case 9: -#line 198 "perly.y" +#line 195 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -84,7 +84,7 @@ case 2: break; case 10: -#line 206 "perly.y" +#line 203 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: break; case 11: -#line 211 "perly.y" +#line 208 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -105,7 +105,7 @@ case 2: break; case 12: -#line 219 "perly.y" +#line 216 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: break; case 13: -#line 224 "perly.y" +#line 221 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -123,7 +123,7 @@ case 2: break; case 14: -#line 229 "perly.y" +#line 226 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: break; case 15: -#line 234 "perly.y" +#line 231 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -141,7 +141,7 @@ case 2: break; case 16: -#line 242 "perly.y" +#line 239 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval)); @@ -150,13 +150,13 @@ case 2: break; case 17: -#line 249 "perly.y" +#line 246 "perly.y" { (yyval.opval) = NULL; } break; case 18: -#line 254 "perly.y" +#line 251 "perly.y" { if (parser->copline > (line_t)(ps[-6].val.ival)) parser->copline = (line_t)(ps[-6].val.ival); (yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval)); @@ -165,14 +165,14 @@ case 2: break; case 19: -#line 261 "perly.y" +#line 258 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; case 20: -#line 266 "perly.y" +#line 263 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval)); @@ -181,32 +181,32 @@ case 2: break; case 21: -#line 273 "perly.y" +#line 270 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; case 23: -#line 282 "perly.y" +#line 279 "perly.y" { parser->in_my = 1; } break; case 24: -#line 284 "perly.y" +#line 281 "perly.y" { parser->in_my = 0; intro_my(); } break; case 25: -#line 286 "perly.y" +#line 283 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; case 27: -#line 293 "perly.y" +#line 290 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval)); PL_pad_reset_pending = TRUE; if ((ps[-1].val.opval) && (ps[0].val.opval)) @@ -216,7 +216,7 @@ case 2: break; case 29: -#line 304 "perly.y" +#line 301 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval)); PL_pad_reset_pending = TRUE; if ((ps[-1].val.opval) && (ps[0].val.opval)) @@ -226,7 +226,7 @@ case 2: break; case 30: -#line 313 "perly.y" +#line 310 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } @@ -234,13 +234,13 @@ case 2: break; case 31: -#line 317 "perly.y" +#line 314 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 32: -#line 321 "perly.y" +#line 318 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -251,7 +251,7 @@ case 2: break; case 33: -#line 328 "perly.y" +#line 325 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -262,13 +262,13 @@ case 2: break; case 34: -#line 338 "perly.y" +#line 335 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 35: -#line 340 "perly.y" +#line 337 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -282,7 +282,7 @@ case 2: break; case 36: -#line 352 "perly.y" +#line 349 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -292,7 +292,7 @@ case 2: break; case 37: -#line 358 "perly.y" +#line 355 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -307,7 +307,7 @@ case 2: break; case 38: -#line 373 "perly.y" +#line 370 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -317,7 +317,7 @@ case 2: break; case 39: -#line 379 "perly.y" +#line 376 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-4].val.opval)->op_type == OP_CONST @@ -332,7 +332,7 @@ case 2: break; case 40: -#line 394 "perly.y" +#line 391 "perly.y" { package((ps[-1].val.opval)); if ((ps[-2].val.opval)) @@ -343,13 +343,13 @@ case 2: break; case 41: -#line 401 "perly.y" +#line 398 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; case 42: -#line 405 "perly.y" +#line 402 "perly.y" { 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)); @@ -360,7 +360,7 @@ case 2: break; case 43: -#line 412 "perly.y" +#line 409 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); @@ -370,7 +370,7 @@ case 2: break; case 44: -#line 418 "perly.y" +#line 415 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); @@ -380,7 +380,7 @@ case 2: break; case 45: -#line 424 "perly.y" +#line 421 "perly.y" { (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); @@ -389,19 +389,19 @@ case 2: break; case 46: -#line 429 "perly.y" +#line 426 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; case 47: -#line 431 "perly.y" +#line 428 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } break; case 48: -#line 433 "perly.y" +#line 430 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -412,7 +412,7 @@ case 2: break; case 49: -#line 440 "perly.y" +#line 437 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -423,19 +423,19 @@ case 2: break; case 50: -#line 447 "perly.y" +#line 444 "perly.y" { parser->expect = XTERM; } break; case 51: -#line 449 "perly.y" +#line 446 "perly.y" { parser->expect = XTERM; } break; case 52: -#line 452 "perly.y" +#line 449 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, @@ -454,7 +454,7 @@ case 2: break; case 53: -#line 467 "perly.y" +#line 464 "perly.y" { (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); @@ -463,7 +463,7 @@ case 2: break; case 54: -#line 472 "perly.y" +#line 469 "perly.y" { if ((ps[-6].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... @@ -476,7 +476,7 @@ case 2: break; case 55: -#line 481 "perly.y" +#line 478 "perly.y" { (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))); @@ -486,13 +486,13 @@ case 2: break; case 56: -#line 487 "perly.y" +#line 484 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; case 57: -#line 489 "perly.y" +#line 486 "perly.y" { (yyval.opval) = block_end( (ps[-7].val.ival), @@ -509,7 +509,7 @@ case 2: break; case 58: -#line 502 "perly.y" +#line 499 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP( 0, op_lvalue(newUNOP(OP_REFGEN, 0, @@ -521,7 +521,7 @@ case 2: break; case 59: -#line 510 "perly.y" +#line 507 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); @@ -531,7 +531,7 @@ case 2: break; case 60: -#line 516 "perly.y" +#line 513 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -542,7 +542,7 @@ case 2: break; case 61: -#line 523 "perly.y" +#line 520 "perly.y" { (yyval.opval) = newTRYCATCHOP(0, (ps[-6].val.opval), (ps[-3].val.opval), block_end((ps[-4].val.ival), op_scope((ps[-1].val.opval)))); @@ -554,7 +554,7 @@ case 2: break; case 62: -#line 531 "perly.y" +#line 528 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -564,7 +564,7 @@ case 2: break; case 63: -#line 537 "perly.y" +#line 534 "perly.y" { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) { @@ -575,7 +575,7 @@ case 2: break; case 64: -#line 544 "perly.y" +#line 541 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -587,7 +587,7 @@ case 2: break; case 65: -#line 552 "perly.y" +#line 549 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -595,7 +595,7 @@ case 2: break; case 66: -#line 556 "perly.y" +#line 553 "perly.y" { (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval))); } @@ -603,7 +603,7 @@ case 2: break; case 67: -#line 560 "perly.y" +#line 557 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), @@ -613,7 +613,7 @@ case 2: break; case 68: -#line 566 "perly.y" +#line 563 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -622,7 +622,7 @@ case 2: break; case 69: -#line 574 "perly.y" +#line 571 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -641,62 +641,62 @@ case 2: break; case 71: -#line 593 "perly.y" +#line 590 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; case 73: -#line 601 "perly.y" +#line 598 "perly.y" { (yyval.opval) = NULL; } break; case 74: -#line 603 "perly.y" +#line 600 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 75: -#line 605 "perly.y" +#line 602 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 76: -#line 607 "perly.y" +#line 604 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 77: -#line 609 "perly.y" +#line 606 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; case 78: -#line 611 "perly.y" +#line 608 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 79: -#line 613 "perly.y" +#line 610 "perly.y" { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL); parser->copline = (line_t)(ps[-1].val.ival); } break; case 80: -#line 616 "perly.y" +#line 613 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; case 82: -#line 623 "perly.y" +#line 620 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -705,7 +705,7 @@ case 2: break; case 83: -#line 628 "perly.y" +#line 625 "perly.y" { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -716,25 +716,25 @@ case 2: break; case 85: -#line 640 "perly.y" +#line 637 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 86: -#line 645 "perly.y" +#line 642 "perly.y" { (yyval.opval) = NULL; } break; case 87: -#line 647 "perly.y" +#line 644 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 88: -#line 652 "perly.y" +#line 649 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } @@ -742,7 +742,7 @@ case 2: break; case 91: -#line 664 "perly.y" +#line 661 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } @@ -750,52 +750,52 @@ case 2: break; case 93: -#line 672 "perly.y" +#line 669 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; case 94: -#line 677 "perly.y" +#line 674 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 95: -#line 681 "perly.y" +#line 678 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 96: -#line 684 "perly.y" +#line 681 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 98: -#line 689 "perly.y" +#line 686 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; case 99: -#line 695 "perly.y" +#line 692 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; case 100: -#line 700 "perly.y" +#line 697 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; case 106: -#line 719 "perly.y" +#line 716 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -806,49 +806,49 @@ case 2: break; case 107: -#line 726 "perly.y" +#line 723 "perly.y" { (yyval.opval) = NULL; } break; case 108: -#line 731 "perly.y" +#line 728 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 109: -#line 733 "perly.y" +#line 730 "perly.y" { (yyval.opval) = NULL; } break; case 110: -#line 744 "perly.y" +#line 741 "perly.y" { parser->in_my = 0; (yyval.opval) = NULL; } break; case 111: -#line 746 "perly.y" +#line 743 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; case 112: -#line 751 "perly.y" +#line 748 "perly.y" { (yyval.ival) = '@'; } break; case 113: -#line 753 "perly.y" +#line 750 "perly.y" { (yyval.ival) = '%'; } break; case 114: -#line 757 "perly.y" +#line 754 "perly.y" { I32 sigil = (ps[-2].val.ival); OP *var = (ps[-1].val.opval); @@ -868,13 +868,13 @@ case 2: break; case 116: -#line 778 "perly.y" +#line 775 "perly.y" { (yyval.opval) = newARGDEFELEMOP(0, newOP(OP_NULL, 0), parser->sig_elems); } break; case 117: -#line 780 "perly.y" +#line 777 "perly.y" { I32 flags = 0; if ((ps[-1].val.ival) == OP_DORASSIGN) @@ -887,7 +887,7 @@ case 2: break; case 118: -#line 793 "perly.y" +#line 790 "perly.y" { OP *var = (ps[-1].val.opval); OP *defop = (ps[0].val.opval); @@ -947,25 +947,25 @@ case 2: break; case 119: -#line 853 "perly.y" +#line 850 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 120: -#line 855 "perly.y" +#line 852 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 121: -#line 861 "perly.y" +#line 858 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 122: -#line 863 "perly.y" +#line 860 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval)); } @@ -973,19 +973,19 @@ case 2: break; case 123: -#line 867 "perly.y" +#line 864 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 128: -#line 884 "perly.y" +#line 881 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 129: -#line 887 "perly.y" +#line 884 "perly.y" { ENTER; SAVEIV(parser->sig_elems); @@ -1000,7 +1000,7 @@ case 2: break; case 130: -#line 898 "perly.y" +#line 895 "perly.y" { OP *sigops = (ps[0].val.opval); struct op_argcheck_aux *aux; @@ -1057,13 +1057,13 @@ case 2: break; case 132: -#line 955 "perly.y" +#line 952 "perly.y" { (yyval.opval) = NULL; } break; case 133: -#line 961 "perly.y" +#line 958 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1073,13 +1073,13 @@ case 2: break; case 135: -#line 973 "perly.y" +#line 970 "perly.y" { (yyval.opval) = NULL; } break; case 136: -#line 978 "perly.y" +#line 975 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1090,25 +1090,37 @@ case 2: break; case 137: -#line 989 "perly.y" +#line 986 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 138: -#line 991 "perly.y" +#line 988 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 139: +#line 990 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 140: -#line 997 "perly.y" +#line 992 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 142: +#line 998 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 141: -#line 999 "perly.y" + case 143: +#line 1000 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1116,24 +1128,24 @@ case 2: break; - case 143: -#line 1008 "perly.y" + case 145: +#line 1009 "perly.y" { (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 144: -#line 1012 "perly.y" + case 146: +#line 1013 "perly.y" { (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 145: -#line 1016 "perly.y" + case 147: +#line 1017 "perly.y" { (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)), @@ -1142,8 +1154,8 @@ case 2: break; - case 146: -#line 1022 "perly.y" + case 148: +#line 1023 "perly.y" { (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)))); @@ -1151,8 +1163,8 @@ case 2: break; - case 147: -#line 1027 "perly.y" + case 149: +#line 1028 "perly.y" { (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)), @@ -1161,8 +1173,8 @@ case 2: break; - case 148: -#line 1033 "perly.y" + case 150: +#line 1034 "perly.y" { (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)), @@ -1171,33 +1183,33 @@ case 2: break; - case 149: -#line 1039 "perly.y" + case 151: +#line 1040 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 150: -#line 1041 "perly.y" + case 152: +#line 1042 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 151: -#line 1043 "perly.y" + case 153: +#line 1044 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 152: -#line 1045 "perly.y" + case 154: +#line 1046 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); } break; - case 153: -#line 1048 "perly.y" + case 155: +#line 1049 "perly.y" { (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))); @@ -1205,21 +1217,21 @@ case 2: break; - case 156: -#line 1063 "perly.y" + case 158: +#line 1064 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 157: -#line 1065 "perly.y" + case 159: +#line 1066 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 158: -#line 1068 "perly.y" + case 160: +#line 1069 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1227,8 +1239,8 @@ case 2: break; - case 159: -#line 1073 "perly.y" + case 161: +#line 1074 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1236,31 +1248,31 @@ case 2: break; - case 160: -#line 1078 "perly.y" + case 162: +#line 1079 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 161: -#line 1081 "perly.y" + case 163: +#line 1082 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 162: -#line 1085 "perly.y" + case 164: +#line 1086 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 163: -#line 1089 "perly.y" + case 165: +#line 1090 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1269,8 +1281,8 @@ case 2: break; - case 164: -#line 1095 "perly.y" + case 166: +#line 1096 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-4].val.opval))))); @@ -1280,8 +1292,8 @@ case 2: break; - case 165: -#line 1103 "perly.y" + case 167: +#line 1104 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-3].val.opval))))); @@ -1291,8 +1303,8 @@ case 2: break; - case 166: -#line 1110 "perly.y" + case 168: +#line 1111 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1301,50 +1313,56 @@ case 2: break; - case 167: -#line 1116 "perly.y" + case 169: +#line 1117 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 168: -#line 1118 "perly.y" + case 170: +#line 1119 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 169: -#line 1120 "perly.y" + case 171: +#line 1121 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 170: -#line 1125 "perly.y" + case 172: +#line 1126 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 171: -#line 1127 "perly.y" + case 173: +#line 1128 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 172: -#line 1129 "perly.y" + case 174: +#line 1130 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 175: +#line 1132 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 173: -#line 1131 "perly.y" + case 176: +#line 1134 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 174: -#line 1133 "perly.y" + case 177: +#line 1136 "perly.y" { 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))); @@ -1352,208 +1370,220 @@ case 2: break; - case 175: -#line 1138 "perly.y" + case 178: +#line 1141 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 176: -#line 1140 "perly.y" + case 179: +#line 1143 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 177: -#line 1142 "perly.y" + case 180: +#line 1145 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 178: -#line 1144 "perly.y" + case 181: +#line 1147 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 179: -#line 1146 "perly.y" + case 182: +#line 1149 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 180: -#line 1148 "perly.y" + case 183: +#line 1151 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 181: -#line 1150 "perly.y" + case 184: +#line 1153 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 182: -#line 1152 "perly.y" + case 185: +#line 1155 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 183: -#line 1154 "perly.y" + case 186: +#line 1157 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 184: -#line 1156 "perly.y" + case 187: +#line 1159 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 185: -#line 1158 "perly.y" + case 188: +#line 1161 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 189: +#line 1163 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 186: -#line 1160 "perly.y" + case 190: +#line 1165 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 191: +#line 1167 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 187: -#line 1162 "perly.y" + case 192: +#line 1169 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 188: -#line 1164 "perly.y" + case 193: +#line 1171 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 189: -#line 1168 "perly.y" + case 194: +#line 1175 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 190: -#line 1170 "perly.y" + case 195: +#line 1177 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 191: -#line 1172 "perly.y" + case 196: +#line 1179 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 192: -#line 1174 "perly.y" + case 197: +#line 1181 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 193: -#line 1176 "perly.y" + case 198: +#line 1183 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 194: -#line 1180 "perly.y" + case 199: +#line 1187 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 195: -#line 1182 "perly.y" + case 200: +#line 1189 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 196: -#line 1186 "perly.y" + case 201: +#line 1193 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 197: -#line 1188 "perly.y" + case 202: +#line 1195 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 198: -#line 1190 "perly.y" + case 203: +#line 1197 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 199: -#line 1192 "perly.y" + case 204: +#line 1199 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 200: -#line 1196 "perly.y" + case 205: +#line 1203 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 201: -#line 1198 "perly.y" + case 206: +#line 1205 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 202: -#line 1203 "perly.y" + case 207: +#line 1210 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 203: -#line 1205 "perly.y" + case 208: +#line 1212 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 204: -#line 1208 "perly.y" + case 209: +#line 1215 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 205: -#line 1210 "perly.y" + case 210: +#line 1217 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 206: -#line 1212 "perly.y" + case 211: +#line 1219 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 207: -#line 1215 "perly.y" + case 212: +#line 1222 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 208: -#line 1218 "perly.y" + case 213: +#line 1225 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1567,138 +1597,138 @@ case 2: break; - case 209: -#line 1229 "perly.y" + case 214: +#line 1236 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 210: -#line 1232 "perly.y" + case 215: +#line 1239 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 211: -#line 1240 "perly.y" + case 216: +#line 1247 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 212: -#line 1242 "perly.y" + case 217: +#line 1249 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 213: -#line 1244 "perly.y" + case 218: +#line 1251 "perly.y" { 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 214: -#line 1247 "perly.y" + case 219: +#line 1254 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); } break; - case 215: -#line 1253 "perly.y" + case 220: +#line 1260 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 216: -#line 1255 "perly.y" + case 221: +#line 1262 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 221: -#line 1263 "perly.y" + case 226: +#line 1270 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 222: -#line 1265 "perly.y" + case 227: +#line 1272 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 223: -#line 1267 "perly.y" + case 228: +#line 1274 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 224: -#line 1269 "perly.y" + case 229: +#line 1276 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 225: -#line 1271 "perly.y" + case 230: +#line 1278 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 226: -#line 1273 "perly.y" + case 231: +#line 1280 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 227: -#line 1275 "perly.y" + case 232: +#line 1282 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 228: -#line 1277 "perly.y" + case 233: +#line 1284 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 229: -#line 1279 "perly.y" + case 234: +#line 1286 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 230: -#line 1281 "perly.y" + case 235: +#line 1288 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 231: -#line 1283 "perly.y" + case 236: +#line 1290 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 232: -#line 1285 "perly.y" + case 237: +#line 1292 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 233: -#line 1287 "perly.y" + case 238: +#line 1294 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 234: -#line 1289 "perly.y" + case 239: +#line 1296 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1711,8 +1741,8 @@ case 2: break; - case 235: -#line 1299 "perly.y" + case 240: +#line 1306 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1725,8 +1755,8 @@ case 2: break; - case 236: -#line 1309 "perly.y" + case 241: +#line 1316 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1739,8 +1769,8 @@ case 2: break; - case 237: -#line 1319 "perly.y" + case 242: +#line 1326 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1753,27 +1783,27 @@ case 2: break; - case 238: -#line 1329 "perly.y" + case 243: +#line 1336 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 239: -#line 1331 "perly.y" + case 244: +#line 1338 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 240: -#line 1333 "perly.y" + case 245: +#line 1340 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 241: -#line 1336 "perly.y" + case 246: +#line 1343 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1781,153 +1811,153 @@ case 2: break; - case 242: -#line 1341 "perly.y" + case 247: +#line 1348 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 243: -#line 1345 "perly.y" + case 248: +#line 1352 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 244: -#line 1347 "perly.y" + case 249: +#line 1354 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 245: -#line 1349 "perly.y" + case 250: +#line 1356 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 246: -#line 1351 "perly.y" + case 251: +#line 1358 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 247: -#line 1354 "perly.y" + case 252: +#line 1361 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 248: -#line 1356 "perly.y" + case 253: +#line 1363 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 249: -#line 1359 "perly.y" + case 254: +#line 1366 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 250: -#line 1361 "perly.y" + case 255: +#line 1368 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 251: -#line 1363 "perly.y" + case 256: +#line 1370 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 252: -#line 1365 "perly.y" + case 257: +#line 1372 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 253: -#line 1367 "perly.y" + case 258: +#line 1374 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 254: -#line 1369 "perly.y" + case 259: +#line 1376 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 255: -#line 1371 "perly.y" + case 260: +#line 1378 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 256: -#line 1373 "perly.y" + case 261: +#line 1380 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 257: -#line 1375 "perly.y" + case 262: +#line 1382 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 258: -#line 1378 "perly.y" + case 263: +#line 1385 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 259: -#line 1380 "perly.y" + case 264: +#line 1387 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 260: -#line 1382 "perly.y" + case 265: +#line 1389 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 261: -#line 1384 "perly.y" + case 266: +#line 1391 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 262: -#line 1386 "perly.y" + case 267: +#line 1393 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 263: -#line 1388 "perly.y" + case 268: +#line 1395 "perly.y" { (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 264: -#line 1392 "perly.y" + case 269: +#line 1399 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 265: -#line 1394 "perly.y" + case 270: +#line 1401 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -1941,182 +1971,182 @@ case 2: break; - case 266: -#line 1405 "perly.y" + case 271: +#line 1412 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 270: -#line 1414 "perly.y" + case 275: +#line 1421 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 271: -#line 1416 "perly.y" + case 276: +#line 1423 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 272: -#line 1418 "perly.y" + case 277: +#line 1425 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 273: -#line 1420 "perly.y" + case 278: +#line 1427 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 274: -#line 1425 "perly.y" + case 279: +#line 1432 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 275: -#line 1427 "perly.y" + case 280: +#line 1434 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 276: -#line 1430 "perly.y" + case 281: +#line 1437 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 277: -#line 1432 "perly.y" + case 282: +#line 1439 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 278: -#line 1434 "perly.y" + case 283: +#line 1441 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: -#line 1450 "perly.y" + case 289: +#line 1457 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: -#line 1456 "perly.y" + case 290: +#line 1463 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 286: -#line 1461 "perly.y" + case 291: +#line 1468 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 287: -#line 1463 "perly.y" + case 292: +#line 1470 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 289: -#line 1470 "perly.y" + case 294: +#line 1477 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 297: -#line 1487 "perly.y" + case 302: +#line 1494 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 298: -#line 1491 "perly.y" + case 303: +#line 1498 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 299: -#line 1495 "perly.y" + case 304: +#line 1502 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 300: -#line 1501 "perly.y" + case 305: +#line 1508 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 301: -#line 1507 "perly.y" + case 306: +#line 1514 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 302: -#line 1509 "perly.y" + case 307: +#line 1516 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 303: -#line 1513 "perly.y" + case 308: +#line 1520 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 305: -#line 1518 "perly.y" + case 310: +#line 1525 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 307: -#line 1523 "perly.y" + case 312: +#line 1530 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 309: -#line 1528 "perly.y" + case 314: +#line 1535 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 310: -#line 1533 "perly.y" + case 315: +#line 1540 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 311: -#line 1535 "perly.y" + case 316: +#line 1542 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 312: -#line 1537 "perly.y" + case 317: +#line 1544 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 313: -#line 1540 "perly.y" + case 318: +#line 1547 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2127,6 +2157,6 @@ case 2: /* Generated from: - * d159cbbb0bfd3916708be07894588433a9434f9ade8adce98532533a9ea86747 perly.y + * 259112249f1ef26949a345f9826162cf9be44cb0b68fb5f98540739f649ed47a perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -138,42 +138,47 @@ extern int yydebug; FORMRBRACK = 337, SUBLEXSTART = 338, SUBLEXEND = 339, - PLUGLOWOP = 340, - PLUGRELOP = 341, - PLUGADDOP = 342, - PLUGMULOP = 343, - PLUGPOWOP = 344, - PLUGHIGHOP = 345, - PREC_LOW = 346, - OROP = 347, - ANDOP = 348, - NOTOP = 349, - ASSIGNOP = 350, - PERLY_QUESTION_MARK = 351, - PERLY_COLON = 352, - OROR = 353, - DORDOR = 354, - ANDAND = 355, + PREC_LOW = 340, + PLUGIN_LOW_OP = 341, + OROP = 342, + PLUGIN_LOGICAL_OR_LOW_OP = 343, + ANDOP = 344, + PLUGIN_LOGICAL_AND_LOW_OP = 345, + NOTOP = 346, + ASSIGNOP = 347, + PLUGIN_ASSIGN_OP = 348, + PERLY_QUESTION_MARK = 349, + PERLY_COLON = 350, + OROR = 351, + DORDOR = 352, + PLUGIN_LOGICAL_OR_OP = 353, + ANDAND = 354, + PLUGIN_LOGICAL_AND_OP = 355, BITOROP = 356, BITANDOP = 357, CHEQOP = 358, NCEQOP = 359, CHRELOP = 360, NCRELOP = 361, - SHIFTOP = 362, - MATCHOP = 363, - PERLY_EXCLAMATION_MARK = 364, - PERLY_TILDE = 365, - UMINUS = 366, - REFGEN = 367, - PREINC = 368, - PREDEC = 369, - POSTINC = 370, - POSTDEC = 371, - POSTJOIN = 372, - ARROW = 373, - PERLY_PAREN_CLOSE = 374, - PERLY_PAREN_OPEN = 375 + PLUGIN_REL_OP = 362, + SHIFTOP = 363, + PLUGIN_ADD_OP = 364, + PLUGIN_MUL_OP = 365, + MATCHOP = 366, + PERLY_EXCLAMATION_MARK = 367, + PERLY_TILDE = 368, + UMINUS = 369, + REFGEN = 370, + PLUGIN_POW_OP = 371, + PREINC = 372, + PREDEC = 373, + POSTINC = 374, + POSTDEC = 375, + POSTJOIN = 376, + PLUGIN_HIGH_OP = 377, + ARROW = 378, + PERLY_PAREN_CLOSE = 379, + PERLY_PAREN_OPEN = 380 }; #endif @@ -226,6 +231,6 @@ int yyparse (void); /* Generated from: - * d159cbbb0bfd3916708be07894588433a9434f9ade8adce98532533a9ea86747 perly.y + * 259112249f1ef26949a345f9826162cf9be44cb0b68fb5f98540739f649ed47a perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -6,19 +6,19 @@ #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3289 +#define YYLAST 3434 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 121 +#define YYNTOKENS 126 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 105 /* YYNRULES -- Number of rules. */ -#define YYNRULES 313 +#define YYNRULES 318 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 625 +#define YYNSTATES 635 #define YYUNDEFTOK 2 -#define YYMAXUTOK 375 +#define YYMAXUTOK 380 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ @@ -66,45 +66,46 @@ static const yytype_uint8 yytranslate[] = 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120 + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 159, 159, 158, 170, 169, 180, 179, 193, 192, - 206, 205, 219, 218, 229, 228, 241, 249, 253, 260, - 265, 272, 278, 282, 284, 281, 291, 292, 302, 303, - 312, 316, 320, 327, 337, 339, 352, 349, 373, 368, - 389, 401, 400, 411, 417, 423, 428, 430, 432, 439, - 447, 449, 446, 466, 471, 480, 487, 486, 501, 509, - 516, 515, 530, 537, 536, 551, 555, 559, 565, 573, - 591, 592, 596, 600, 602, 604, 606, 608, 610, 612, - 615, 621, 622, 627, 638, 639, 644, 646, 651, 658, - 659, 663, 667, 671, 676, 680, 684, 685, 688, 694, - 699, 705, 706, 711, 712, 717, 718, 725, 730, 732, - 743, 745, 750, 752, 756, 776, 777, 779, 792, 852, - 854, 860, 862, 866, 872, 873, 878, 879, 883, 887, - 887, 954, 955, 960, 972, 973, 977, 988, 990, 992, - 996, 998, 1003, 1007, 1011, 1015, 1021, 1026, 1032, 1038, - 1040, 1042, 1045, 1044, 1055, 1056, 1060, 1064, 1067, 1072, - 1077, 1080, 1084, 1088, 1094, 1102, 1109, 1115, 1117, 1119, - 1124, 1126, 1128, 1130, 1132, 1137, 1139, 1141, 1143, 1145, - 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1167, - 1169, 1171, 1173, 1175, 1179, 1181, 1185, 1187, 1189, 1191, - 1195, 1197, 1202, 1204, 1207, 1209, 1211, 1214, 1217, 1228, - 1231, 1239, 1241, 1243, 1246, 1252, 1254, 1258, 1259, 1260, - 1261, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, - 1280, 1282, 1284, 1286, 1288, 1298, 1308, 1318, 1328, 1330, - 1332, 1335, 1340, 1344, 1346, 1348, 1350, 1353, 1355, 1358, - 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1377, 1379, - 1381, 1383, 1385, 1387, 1391, 1394, 1393, 1406, 1407, 1408, - 1413, 1415, 1417, 1419, 1424, 1426, 1429, 1431, 1433, 1439, - 1440, 1444, 1445, 1449, 1450, 1455, 1460, 1462, 1466, 1469, - 1473, 1474, 1475, 1478, 1479, 1482, 1483, 1486, 1490, 1494, - 1500, 1506, 1508, 1512, 1516, 1517, 1521, 1522, 1526, 1527, - 1532, 1534, 1536, 1539 + 0, 156, 156, 155, 167, 166, 177, 176, 190, 189, + 203, 202, 216, 215, 226, 225, 238, 246, 250, 257, + 262, 269, 275, 279, 281, 278, 288, 289, 299, 300, + 309, 313, 317, 324, 334, 336, 349, 346, 370, 365, + 386, 398, 397, 408, 414, 420, 425, 427, 429, 436, + 444, 446, 443, 463, 468, 477, 484, 483, 498, 506, + 513, 512, 527, 534, 533, 548, 552, 556, 562, 570, + 588, 589, 593, 597, 599, 601, 603, 605, 607, 609, + 612, 618, 619, 624, 635, 636, 641, 643, 648, 655, + 656, 660, 664, 668, 673, 677, 681, 682, 685, 691, + 696, 702, 703, 708, 709, 714, 715, 722, 727, 729, + 740, 742, 747, 749, 753, 773, 774, 776, 789, 849, + 851, 857, 859, 863, 869, 870, 875, 876, 880, 884, + 884, 951, 952, 957, 969, 970, 974, 985, 987, 989, + 991, 993, 997, 999, 1004, 1008, 1012, 1016, 1022, 1027, + 1033, 1039, 1041, 1043, 1046, 1045, 1056, 1057, 1061, 1065, + 1068, 1073, 1078, 1081, 1085, 1089, 1095, 1103, 1110, 1116, + 1118, 1120, 1125, 1127, 1129, 1131, 1133, 1135, 1140, 1142, + 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, + 1164, 1166, 1168, 1170, 1174, 1176, 1178, 1180, 1182, 1186, + 1188, 1192, 1194, 1196, 1198, 1202, 1204, 1209, 1211, 1214, + 1216, 1218, 1221, 1224, 1235, 1238, 1246, 1248, 1250, 1253, + 1259, 1261, 1265, 1266, 1267, 1268, 1269, 1271, 1273, 1275, + 1277, 1279, 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, + 1305, 1315, 1325, 1335, 1337, 1339, 1342, 1347, 1351, 1353, + 1355, 1357, 1360, 1362, 1365, 1367, 1369, 1371, 1373, 1375, + 1377, 1379, 1381, 1384, 1386, 1388, 1390, 1392, 1394, 1398, + 1401, 1400, 1413, 1414, 1415, 1420, 1422, 1424, 1426, 1431, + 1433, 1436, 1438, 1440, 1446, 1447, 1451, 1452, 1456, 1457, + 1462, 1467, 1469, 1473, 1476, 1480, 1481, 1482, 1485, 1486, + 1489, 1490, 1493, 1497, 1501, 1507, 1513, 1515, 1519, 1523, + 1524, 1528, 1529, 1533, 1534, 1539, 1541, 1543, 1546 }; #endif @@ -130,30 +131,33 @@ static const char *const yytname[] = "LABEL", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP", "HASHBRACK", "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", - "SUBLEXEND", "PLUGLOWOP", "PLUGRELOP", "PLUGADDOP", "PLUGMULOP", - "PLUGPOWOP", "PLUGHIGHOP", "PREC_LOW", "OROP", "ANDOP", "NOTOP", - "ASSIGNOP", "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", - "ANDAND", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", - "NCRELOP", "SHIFTOP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", - "UMINUS", "REFGEN", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", - "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", - "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", "empty", "formblock", - "remember", "mblock", "mremember", "catch_paren", "$@8", "$@9", - "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@10", - "$@11", "$@12", "$@13", "$@14", "@15", "$@16", "$@17", "formline", - "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", - "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", - "startanonsub", "startformsub", "subname", "proto", "subattrlist", - "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem", - "sigdefault", "sigscalarelem", "sigelem", "siglist", "optsiglist", - "optsubsignature", "subsignature", "subsigguts", "$@18", "optsubbody", - "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop", - "@19", "methodname", "subscripted", "termbinop", "termrelop", - "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", - "term", "@20", "myattrterm", "myterm", "optlistexpr", "optexpr", - "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars", - "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", - "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR + "SUBLEXEND", "PREC_LOW", "PLUGIN_LOW_OP", "OROP", + "PLUGIN_LOGICAL_OR_LOW_OP", "ANDOP", "PLUGIN_LOGICAL_AND_LOW_OP", + "NOTOP", "ASSIGNOP", "PLUGIN_ASSIGN_OP", "PERLY_QUESTION_MARK", + "PERLY_COLON", "OROR", "DORDOR", "PLUGIN_LOGICAL_OR_OP", "ANDAND", + "PLUGIN_LOGICAL_AND_OP", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", + "CHRELOP", "NCRELOP", "PLUGIN_REL_OP", "SHIFTOP", "PLUGIN_ADD_OP", + "PLUGIN_MUL_OP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", + "UMINUS", "REFGEN", "PLUGIN_POW_OP", "PREINC", "PREDEC", "POSTINC", + "POSTDEC", "POSTJOIN", "PLUGIN_HIGH_OP", "ARROW", "PERLY_PAREN_CLOSE", + "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", + "@6", "@7", "block", "empty", "formblock", "remember", "mblock", + "mremember", "catch_paren", "$@8", "$@9", "stmtseq", "formstmtseq", + "fullstmt", "labfullstmt", "barestmt", "$@10", "$@11", "$@12", "$@13", + "$@14", "@15", "$@16", "$@17", "formline", "formarg", "condition", + "sideff", "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", + "mexpr", "mnexpr", "formname", "startsub", "startanonsub", + "startformsub", "subname", "proto", "subattrlist", "myattrlist", + "sigvarname", "sigslurpsigil", "sigslurpelem", "sigdefault", + "sigscalarelem", "sigelem", "siglist", "optsiglist", "optsubsignature", + "subsignature", "subsigguts", "$@18", "optsubbody", "subbody", + "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop", "@19", + "methodname", "subscripted", "termbinop", "termrelop", "relopchain", + "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term", + "@20", "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl", + "my_scalar", "list_of_scalars", "my_list_of_scalars", "my_var", + "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", + "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; #endif @@ -174,87 +178,88 @@ static const yytype_uint16 yytoknum[] = 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375 + 375, 376, 377, 378, 379, 380 }; # endif -#define YYPACT_NINF -507 +#define YYPACT_NINF -527 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-507))) + (!!((Yystate) == (-527))) -#define YYTABLE_NINF -312 +#define YYTABLE_NINF -317 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-312))) + (!!((Yytable_value) == (-317))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 433, -507, -507, -507, -507, -507, -507, -507, 33, -507, - 2613, 36, 1674, 1569, -507, -507, -507, -507, 263, 2613, - 263, 2613, 263, 2613, 263, 263, 2613, 60, 2613, 1974, - -507, -507, -507, 263, 263, -507, -507, 37, -61, -507, - 2613, -507, -507, 2613, -48, -46, -49, 1974, 1903, 263, - 2613, 41, 2613, 2613, 2613, 2613, 2613, 2613, 2045, -507, - 142, 81, -507, 5, -507, 236, -18, 267, 38, -507, - -507, -507, 2796, -507, -507, -5, 138, 182, 251, -507, - 91, 252, 295, 135, -507, -507, -507, -507, -507, 114, - 2, 50, 7, 65, 82, 90, 96, 36, 148, 148, - -507, 41, 41, -507, 198, 188, -507, 207, 264, 1569, - -507, -507, -507, -507, 718, -507, 185, 823, -507, -507, - -507, -507, -507, 217, -507, 273, -507, 273, -507, -507, - 3148, 2684, 2116, 160, -507, -507, -507, 3148, -507, 3148, - 190, 169, 2613, 132, 189, 2613, 186, 3148, 36, 2796, - 197, 2187, 2613, 1903, -507, 3148, 2755, -507, 81, -507, - 2258, 2613, -507, 297, -507, -507, 2613, 81, 273, 273, - 273, 214, 214, 308, 131, 2613, 2613, 2613, 2613, 2613, - 2329, -507, -507, 2613, -507, -507, 2613, 2613, 2613, 2613, - 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, - 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, - -507, -507, -507, 57, 2400, 2613, 2613, 2613, 2613, 2613, - 2613, 2613, -507, 271, 288, -507, -507, 223, 406, -507, - -507, 241, -507, -507, -507, -507, -507, -507, 306, -507, - -507, -507, -507, -507, 36, -507, -507, -507, 2613, 2613, - 2613, 2613, 2613, 2613, -507, -507, -507, 298, -507, -507, - -507, 298, -507, -507, -507, 350, -507, -507, 2471, 273, - 160, 72, 75, 150, -507, 218, 317, -507, -507, -507, - 169, 329, -507, -507, -507, 2613, 2613, -1, -507, -507, - -507, -507, 220, 312, 281, 2613, 81, 389, -507, 2613, - 390, 313, -507, 2886, 21, 15, -507, 233, 3103, 2772, - 2976, 273, 228, 451, 2841, 3126, 451, 228, 273, -53, - 2886, 545, 3011, 3011, 3034, 3057, 3080, 2772, 2772, 3103, - 3103, 3171, 273, 382, 2613, 2613, 257, 383, 385, 396, - -507, 400, 2542, 307, -507, -507, 235, 83, 25, 104, - 47, 107, 55, 111, 939, -507, -507, 413, 31, 2613, - 2613, -507, -4, -507, -507, 314, -507, -507, -507, -507, - 1753, 404, -507, 2613, 2613, 2613, 2613, -507, -507, 380, - -507, -507, -507, -507, 142, -507, -507, -507, 142, -507, - -507, -507, 338, 338, 185, 19, 258, -507, -507, -507, - -507, -507, 323, -507, 325, 121, -507, 2613, -507, -507, - -507, 266, -507, 61, 2613, 437, -507, -507, 2613, -507, - 115, 86, -507, -507, -507, -507, -507, -507, 283, 2613, - -507, 438, -507, 443, -507, 448, -507, 452, -507, -507, - -507, -507, -507, 346, 142, 347, 453, 352, -507, -507, - -507, -507, -507, 354, 445, 203, -507, 2613, 355, 356, - 142, 358, 359, 1044, 360, 427, 190, 169, 2613, -507, - -507, -507, -507, 77, 471, -507, -507, -507, 472, -507, - -507, 2613, -507, 401, -507, -507, -507, 89, -507, 2931, - 474, -507, -507, 365, -507, -507, -507, -507, 465, -507, - 148, 148, 473, 370, -507, 2613, 2613, 148, -507, 371, - 374, -507, -507, 148, 148, -507, -507, -507, -507, 2613, - 169, 475, 2796, -507, 375, -507, 142, -507, -507, -507, - -507, 416, -507, 348, 348, 453, 379, 384, 386, 188, - 2613, 2613, 148, 148, 148, -507, -507, 453, 148, 479, - 482, -507, -507, -507, 1149, -507, 1254, -507, 1359, 148, - 387, -507, -507, -507, -507, 2613, 148, 148, -507, 486, - 397, 188, 188, 188, -507, 476, -507, -507, -507, -507, - -507, -507, -507, 40, -507, -507, 2613, 399, 188, 188, - -507, 148, -507, -507, -507, 409, 36, -507, 513, 454, - -507, 414, 148, -507, -507, -507, 188, -507, -507, -507, - -507, -507, -507, 148, 188, 1832, -507, 1464, 348, -507, - 419, -507, -507, 148, -507 + 807, -527, -527, -527, -527, -527, -527, -527, 65, -527, + 2732, 72, 1732, 1622, -527, -527, -527, -527, 197, 2732, + 197, 2732, 197, 2732, 197, 197, 2732, 4, 2732, 2048, + -527, -527, -527, 197, 197, -527, -527, 86, -22, -527, + 2732, -527, -527, 2732, -9, -5, -51, 2048, 1972, 197, + 2732, 116, 2732, 2732, 2732, 2732, 2732, 2732, 2124, -527, + 219, 133, -527, 12, -527, -34, -18, -70, 75, -527, + -527, -527, 552, -527, -527, 76, 44, 159, 170, -527, + 158, 183, 193, 194, -527, -527, -527, -527, -527, 160, + 120, 123, 19, 135, 136, 139, 153, 72, 247, 247, + -527, 116, 116, -527, 257, 256, -527, 272, 326, 1622, + -527, -527, -527, -527, 730, -527, 73, 840, -527, -527, + -527, -527, -527, 282, -527, 334, -527, 334, -527, -527, + 3311, 2808, 2200, 221, -527, -527, -527, 3311, -527, 3311, + 263, 252, 2732, 208, 251, 2732, 216, 3311, 72, 552, + 217, 2276, 2732, 1972, -527, 3311, 2884, -527, 133, -527, + 2352, 2732, -527, 317, -527, -527, 2732, 133, 334, 334, + 334, 703, 703, 329, 295, 2732, 2732, 2732, 2732, 2732, + 2732, 2732, 2428, -527, -527, 2732, -527, -527, 2732, 2732, + 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, + 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, + 2732, 2732, 2732, 2732, -527, -527, -527, 2732, 102, 2504, + 2732, 2732, 2732, 2732, 2732, 2732, 2732, -527, 298, 302, + -527, -527, 243, 402, -527, -527, 238, -527, -527, -527, + -527, -527, -527, 324, -527, -527, -527, -527, -527, 72, + -527, -527, -527, 2732, 2732, 2732, 2732, 2732, 2732, -527, + -527, -527, 310, -527, -527, -527, 310, -527, -527, -527, + 356, -527, -527, 2580, 334, 221, 28, 87, 122, -527, + 300, 318, -527, -527, -527, 252, 319, -527, -527, -527, + 2732, 2732, 74, -527, -527, -527, -527, 309, 288, 254, + 2732, 133, 368, -527, 2732, 390, 68, 68, -527, -527, + 3018, 64, 97, -527, 419, 513, 3273, 3118, 334, 569, + 373, 2968, 3018, 3018, 2918, 3156, 3156, 3156, 3194, 3194, + 3216, 3254, 3273, 3273, 513, 513, 3292, 474, 373, 569, + 334, 334, 66, 379, 2732, 2732, 57, 381, 384, 386, + -527, 392, 2656, 296, -527, -527, 477, 215, 103, 233, + 110, 237, 132, 241, 962, -527, -527, 405, 59, 2732, + 2732, -527, 0, -527, -527, 303, -527, -527, -527, -527, + 1814, 261, -527, 2732, 2732, 2732, 2732, -527, -527, 375, + -527, -527, -527, -527, 219, -527, -527, -527, 219, -527, + -527, -527, 328, 328, 73, 16, 489, -527, -527, -527, + -527, -527, 305, -527, 308, 35, -527, 2732, -527, -527, + -527, 610, -527, 145, 2732, 425, -527, -527, 2732, -527, + 248, 151, -527, -527, -527, -527, -527, -527, 648, 2732, + -527, 429, -527, 430, -527, 432, -527, 434, -527, -527, + -527, -527, -527, 325, 219, 335, 442, 338, -527, -527, + -527, -527, -527, 341, 446, 141, -527, 2732, 345, 346, + 219, 348, 349, 1072, 353, 427, 263, 252, 2732, -527, + -527, -527, -527, 67, 476, -527, -527, -527, 479, -527, + -527, 2732, -527, 404, -527, -527, -527, 210, -527, 3068, + 486, -527, -527, 376, -527, -527, -527, -527, 480, -527, + 247, 247, 484, 388, -527, 2732, 2732, 247, -527, 385, + 394, -527, -527, 247, 247, -527, -527, -527, -527, 2732, + 252, 499, 552, -527, 403, -527, 219, -527, -527, -527, + -527, 444, -527, 179, 179, 442, 410, 412, 414, 256, + 2732, 2732, 247, 247, 247, -527, -527, 442, 247, 506, + 519, -527, -527, -527, 1182, -527, 1292, -527, 1402, 247, + 421, -527, -527, -527, -527, 2732, 247, 247, -527, 525, + 428, 256, 256, 256, -527, 510, -527, -527, -527, -527, + -527, -527, -527, 37, -527, -527, 2732, 431, 256, 256, + -527, 247, -527, -527, -527, 436, 72, -527, 537, 481, + -527, 451, 247, -527, -527, -527, 256, -527, -527, -527, + -527, -527, -527, 247, 256, 1896, -527, 1512, 179, -527, + 456, -527, -527, 247, -527 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -264,61 +269,62 @@ static const yytype_uint16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 19, 17, 0, 0, 0, 17, 129, 1, 17, 0, 17, - 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, - 99, 99, 267, 0, 0, 238, 265, 226, 260, 262, - 256, 99, 269, 248, 258, 0, 0, 251, 17, 0, - 17, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 282, 139, 268, 233, 217, 179, 189, 180, 196, 218, - 219, 220, 142, 223, 5, 239, 228, 231, 230, 232, - 229, 0, 0, 0, 19, 7, 73, 68, 100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, + 99, 99, 272, 0, 0, 243, 270, 231, 265, 267, + 261, 99, 274, 253, 263, 0, 0, 256, 17, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 0, 286, + 287, 141, 273, 238, 222, 182, 194, 183, 201, 223, + 224, 225, 144, 228, 5, 244, 233, 236, 235, 237, + 234, 0, 0, 0, 19, 7, 73, 68, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 34, 0, 17, 9, 0, 74, 0, - 11, 31, 30, 26, 0, 15, 17, 0, 310, 313, - 312, 311, 297, 0, 298, 202, 300, 203, 299, 303, - 224, 0, 0, 271, 276, 278, 277, 255, 216, 215, - 17, 17, 17, 0, 0, 0, 0, 257, 0, 249, - 0, 0, 17, 17, 252, 253, 267, 279, 280, 149, - 228, 0, 301, 0, 101, 102, 17, 250, 204, 205, - 222, 209, 210, 227, 0, 0, 0, 140, 0, 0, - 0, 192, 191, 0, 199, 198, 0, 0, 0, 0, + 11, 31, 30, 26, 0, 15, 17, 0, 315, 318, + 317, 316, 302, 0, 303, 207, 305, 208, 304, 308, + 229, 0, 0, 276, 281, 283, 282, 260, 221, 220, + 17, 17, 17, 0, 0, 0, 0, 262, 0, 254, + 0, 0, 17, 17, 257, 258, 272, 284, 285, 151, + 233, 0, 306, 0, 101, 102, 17, 255, 209, 210, + 227, 214, 215, 232, 0, 0, 0, 0, 0, 142, + 0, 0, 0, 197, 196, 0, 204, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 206, 207, 208, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 17, 0, 19, 19, 19, 0, 19, - 19, 0, 19, 19, 19, 19, 47, 21, 0, 66, - 41, 98, 98, 67, 0, 84, 62, 65, 0, 0, - 0, 0, 0, 0, 33, 32, 27, 110, 113, 112, - 124, 110, 120, 119, 123, 125, 130, 211, 0, 273, - 0, 228, 231, 230, 275, 0, 109, 270, 104, 103, - 17, 107, 105, 19, 147, 17, 0, 0, 261, 152, - 259, 263, 0, 0, 0, 0, 143, 0, 242, 0, - 225, 138, 137, 141, 0, 0, 166, 0, 195, 201, - 183, 172, 174, 176, 188, 193, 177, 175, 173, 170, - 171, 0, 185, 186, 184, 182, 181, 200, 197, 194, - 190, 178, 187, 0, 0, 0, 0, 307, 305, 309, - 154, 0, 0, 146, 155, 240, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 212, 213, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, + 19, 19, 19, 0, 19, 19, 0, 19, 19, 19, + 19, 47, 21, 0, 66, 41, 98, 98, 67, 0, + 84, 62, 65, 0, 0, 0, 0, 0, 0, 33, + 32, 27, 110, 113, 112, 124, 110, 120, 119, 123, + 125, 130, 216, 0, 278, 0, 233, 236, 235, 280, + 0, 109, 275, 104, 103, 17, 107, 105, 19, 149, + 17, 0, 0, 266, 154, 264, 268, 0, 0, 0, + 0, 145, 0, 247, 0, 230, 139, 140, 137, 138, + 143, 0, 0, 168, 0, 200, 206, 186, 175, 177, + 179, 193, 173, 174, 0, 189, 191, 190, 187, 188, + 185, 184, 205, 202, 199, 195, 198, 181, 180, 178, + 192, 176, 172, 0, 0, 0, 0, 312, 310, 314, + 156, 0, 0, 148, 157, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, 0, 0, - 0, 295, 0, 296, 293, 0, 294, 290, 291, 292, + 0, 300, 0, 301, 298, 0, 299, 295, 296, 297, 0, 0, 19, 0, 91, 0, 0, 17, 19, 0, 36, 38, 85, 75, 72, 76, 79, 78, 93, 77, - 80, 111, 17, 17, 121, 227, 0, 272, 274, 108, - 19, 106, 17, 214, 0, 17, 168, 17, 264, 151, - 150, 0, 212, 0, 0, 0, 159, 165, 0, 246, - 0, 0, 243, 245, 244, 247, 302, 163, 0, 17, - 241, 0, 157, 0, 234, 0, 235, 0, 16, 19, - 35, 19, 40, 0, 94, 0, 0, 0, 285, 19, + 80, 111, 17, 17, 121, 232, 0, 277, 279, 108, + 19, 106, 17, 219, 0, 17, 170, 17, 269, 153, + 152, 0, 217, 0, 0, 0, 161, 167, 0, 251, + 0, 0, 248, 250, 249, 252, 307, 165, 0, 17, + 246, 0, 159, 0, 239, 0, 240, 0, 16, 19, + 35, 19, 40, 0, 94, 0, 0, 0, 290, 19, 89, 90, 95, 0, 0, 74, 56, 0, 0, 0, 92, 0, 0, 0, 17, 0, 17, 17, 116, 115, - 118, 114, 122, 225, 0, 213, 129, 126, 0, 127, - 148, 0, 283, 0, 153, 144, 169, 0, 162, 221, - 0, 158, 164, 0, 160, 236, 237, 156, 0, 63, - 0, 0, 289, 0, 288, 0, 0, 0, 50, 0, + 118, 114, 122, 230, 0, 218, 129, 126, 0, 127, + 150, 0, 288, 0, 155, 146, 171, 0, 164, 226, + 0, 160, 166, 0, 162, 241, 242, 158, 0, 63, + 0, 0, 294, 0, 293, 0, 0, 0, 50, 0, 0, 88, 88, 0, 0, 20, 23, 22, 60, 17, - 17, 19, 117, 17, 0, 17, 284, 266, 167, 161, - 145, 0, 17, 17, 17, 286, 0, 0, 0, 17, + 17, 19, 117, 17, 0, 17, 289, 271, 169, 163, + 147, 0, 17, 17, 17, 291, 0, 0, 0, 17, 91, 0, 0, 0, 0, 45, 46, 0, 0, 0, 19, 135, 39, 134, 0, 128, 0, 17, 0, 0, - 0, 81, 43, 44, 287, 0, 0, 0, 59, 0, + 0, 81, 43, 44, 292, 0, 0, 0, 59, 0, 0, 17, 17, 17, 24, 86, 42, 132, 37, 131, 133, 136, 28, 0, 64, 82, 0, 0, 17, 17, 51, 0, 55, 49, 48, 0, 0, 61, 0, 17, @@ -330,32 +336,32 @@ static const yytype_uint16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -507, -507, -507, -507, -507, -507, -507, -507, -507, -3, - -10, -507, 51, -96, -507, -507, -507, -507, -11, -507, - 519, 434, 12, -507, -507, -507, -507, -507, -507, -507, - -507, -507, -507, 209, -368, -506, -345, -507, -485, -507, - 6, 176, -319, -73, -507, 145, 70, -507, 292, 84, - -269, 282, 293, -507, -507, 163, -507, 159, -507, -507, - -507, -507, 94, -507, -507, 8, -507, 52, 39, -38, - -507, -507, -507, -507, -507, -507, -507, -507, -507, -507, - -507, -507, 508, -507, -507, 426, -141, 16, -507, -507, - -507, -507, 200, -507, -507, 332, 140, -22, -7, -507, - -507, -507, -507, -507, 30 + -527, -527, -527, -527, -527, -527, -527, -527, -527, -3, + -10, -527, 52, -72, -527, -527, -527, -527, -11, -527, + 555, 472, 31, -527, -527, -527, -527, -527, -527, -527, + -527, -527, -527, 259, -368, -526, -230, -527, -520, -527, + 41, 209, -301, -27, -527, -21, 11, -527, 150, 124, + -274, 327, 339, -527, -527, 201, -527, 204, -527, -527, + -527, -527, 125, -527, -527, 54, -527, 85, 91, -38, + -527, -527, -527, -527, -527, -527, -527, -527, -527, -527, + -527, -527, 516, -527, -527, 494, -129, -14, -527, -527, + -527, -527, 236, -527, -527, 397, 29, -26, -24, -527, + -527, -527, -527, -527, 42 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 8, 9, 10, 11, 12, 13, 14, 15, 105, - 245, 440, 402, 238, 377, 518, 547, 595, 114, 583, - 256, 111, 112, 466, 467, 379, 540, 605, 509, 548, - 532, 600, 612, 383, 107, 562, 246, 597, 543, 452, - 459, 387, 443, 454, 357, 240, 140, 223, 166, 280, - 283, 277, 392, 261, 262, 470, 263, 264, 265, 266, - 478, 479, 115, 116, 578, 475, 552, 403, 108, 61, - 62, 407, 343, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 144, 73, 133, 159, 74, 483, 447, - 502, 503, 364, 365, 230, 75, 76, 77, 78, 79, + 250, 450, 412, 243, 387, 528, 557, 605, 114, 593, + 261, 111, 112, 476, 477, 389, 550, 615, 519, 558, + 542, 610, 622, 393, 107, 572, 251, 607, 553, 462, + 469, 397, 453, 464, 367, 245, 140, 228, 166, 285, + 288, 282, 402, 266, 267, 480, 268, 269, 270, 271, + 488, 489, 115, 116, 588, 485, 562, 413, 108, 61, + 62, 417, 353, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 144, 73, 133, 159, 74, 493, 457, + 512, 513, 374, 375, 235, 75, 76, 77, 78, 79, 80, 81, 82, 83, 124 }; @@ -364,774 +370,805 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 59, 284, 451, 239, 113, 135, 117, 113, 85, 59, - 158, 400, 20, 406, 167, 120, 178, 120, 179, 120, - 136, 120, 120, 20, 106, 298, 138, 544, 563, 416, - 120, 120, 299, 16, 152, 123, 227, -312, 157, 432, - 59, 445, 441, 415, 154, 120, 120, 84, 122, 60, - 145, 453, 126, 442, 128, 129, 461, 462, 60, 146, - 17, 434, 598, 142, 143, 213, 163, 333, 334, 436, - 335, 153, 150, 336, 151, 486, 20, 337, 161, 162, - 22, 338, 339, 215, 24, 216, -304, 183, -304, 60, - 414, 175, 176, 164, 236, 599, 177, 174, 165, -275, - 491, 141, -308, 528, 158, 431, 260, 175, 176, 272, - 340, 148, 622, 175, 176, 214, 446, 175, 176, 228, - 615, 255, 225, 296, 273, 180, 433, 229, 158, 435, - 279, 282, 157, 437, 341, 222, 177, 490, 510, 175, - 176, 186, 59, 59, 481, 289, 221, 175, 176, 215, - 120, 216, -276, 175, 176, -278, 157, -274, 121, 237, - 121, -306, 121, -306, 121, 121, 224, 134, 293, 294, - 226, 275, 131, 121, 121, 175, 176, 342, 175, 176, - 132, 175, 176, 295, 287, 232, 537, 538, 160, 121, - 292, 60, 60, -304, 568, -304, 175, 176, 521, 175, - 176, 257, 233, 175, 176, 258, 368, 175, 176, 259, - 234, 354, 113, 356, 301, 302, 235, 304, 305, 307, - 243, 369, 570, 175, 176, 244, 592, 593, 594, 247, - -277, 267, 231, 248, 175, 176, 249, 250, 251, 252, - 276, 382, 253, 603, 604, 278, 587, 451, 405, 281, - 300, 550, 285, 346, 347, 348, 349, 350, 351, 352, - 353, 616, -306, 217, -306, 218, 484, 601, 84, 619, - 282, 271, 286, 20, 84, 59, 359, 360, 362, 20, - 370, 371, 422, 373, 374, 375, 376, 384, 384, 384, - 388, 384, 384, 160, 248, 175, 176, 249, 250, 251, - 252, 404, 188, 253, 196, 288, 219, 396, 220, 118, - 175, 176, 175, 176, 119, 118, 290, 195, 196, 297, - 119, 299, -94, 355, 60, 175, 176, 175, 176, -312, - -312, -312, 213, 120, 411, 361, 209, 398, 413, 408, - 358, 181, 182, 210, 211, 212, 213, 188, 378, 368, - 175, 176, 417, 344, 430, 391, 175, 176, 175, 176, - 450, 372, 195, 196, 369, 394, 463, 113, 367, 158, - 184, 185, 399, 420, 421, 175, 176, 473, 549, 559, - 560, 428, 469, 469, 401, 485, 380, 381, 210, 211, - 212, 213, 477, 241, 242, 482, 409, 157, 444, 444, - 410, 412, 492, 414, 533, 534, 176, 419, 423, 455, - 424, 539, 388, 460, 444, 444, 18, 545, 546, 59, - 20, 425, 20, 457, 22, 426, 22, 429, 24, 464, - 24, 439, 465, 468, 449, 363, 1, 2, 3, 4, - 5, 6, 7, 476, 480, 493, 571, 572, 573, 488, - 494, 474, 575, 487, 517, 495, 279, 282, 385, 386, - 496, 389, 390, 585, 497, 500, 501, 508, 60, 20, - 588, 589, 505, 507, 511, 512, 121, 513, 514, 519, - 516, 158, 523, 525, 530, 527, 529, 531, 535, 536, - 498, 541, 499, 542, 555, 606, 444, 551, 557, 565, - 506, 576, 448, 566, 577, 567, 614, 586, 590, 157, - 282, 367, 554, 113, 556, 113, 591, 618, 602, 596, - 526, 558, 113, 561, 561, 188, 189, 624, 607, 125, - 609, 127, 110, 613, 130, 610, 137, 139, 623, 194, - 195, 196, 620, 254, 444, 444, 569, 582, 147, 458, - 520, 149, 397, 472, 393, 155, 471, 270, 579, 209, - 366, 168, 169, 170, 171, 172, 210, 211, 212, 213, - 524, 456, 0, 553, 0, 0, 0, 0, 0, 460, - 444, 0, 0, 0, 0, 0, 504, 0, 0, 611, - 0, 0, 0, 608, 0, 0, 0, 0, 0, 617, - 113, 474, 0, 0, 444, 450, 0, 0, 561, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 444, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 0, 0, 0, 269, - 197, 198, 418, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 0, 0, 0, 0, 0, 0, - 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 564, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 303, 0, 574, 0, 0, - 0, 308, 0, 0, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, -13, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 84, - 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, - 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, - 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, - 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, - 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, - 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, - 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 59, 135, 554, 136, 113, 123, 117, 113, 85, 59, + 158, 410, 461, 289, 167, 120, 20, 120, 573, 120, + 20, 120, 120, 180, 22, 181, 138, 244, 24, 304, + 120, 120, 152, 186, 187, 20, 163, 303, 157, 220, + 59, 221, 141, 106, 154, 120, 120, 121, 232, 121, + 179, 121, 148, 121, 121, 220, 134, 221, 491, 608, + 122, 17, 121, 121, 126, 16, 128, 129, 84, 455, + 451, 183, 184, 20, 153, 142, 143, 160, 121, 463, + 424, 452, 432, 84, 471, 472, 425, 185, 416, 262, + 161, 162, 609, 263, 241, 625, -280, 264, -309, 145, + -309, 60, 632, 146, 158, 277, 265, 278, -281, 118, + 60, 426, 343, 344, 119, 345, 150, 442, 346, 131, + 151, 236, 347, 301, 444, 456, 348, 349, 158, 132, + 284, 287, 157, -311, 233, -311, 227, 182, 298, 299, + 260, 60, 59, 59, 234, 294, 446, -279, 179, 174, + 120, 175, 176, 177, 178, 350, 157, 177, 178, 496, + 276, 175, 176, 177, 178, 501, 520, -283, 164, -313, + -309, 253, -309, 165, 254, 255, 256, 257, 188, 351, + 258, -311, 160, -311, 175, 176, 177, 178, -317, 218, + 175, 176, 177, 178, 222, 300, 223, 175, 176, 177, + 178, 219, -282, 531, 224, 226, 225, 378, 84, 379, + 569, 570, 229, 20, 547, 548, 364, 113, 366, 175, + 176, 177, 178, 280, 538, 390, 391, 352, 175, 176, + 177, 178, 175, 176, 177, 178, 292, 441, 175, 176, + 177, 178, 297, 60, 60, 230, 392, 354, 231, 118, + 580, 246, 247, 415, 119, 443, 560, 461, 242, 445, + 237, 238, 377, 447, 239, -94, 306, 307, 308, 309, + 500, 311, 312, 314, 597, 287, 414, 20, 240, 248, + 59, 22, 369, 370, 372, 24, 380, 381, 494, 383, + 384, 385, 386, 249, 252, 611, 272, 175, 176, 177, + 178, 281, 175, 176, 177, 178, 175, 176, 177, 178, + 356, 357, 358, 359, 360, 361, 362, 363, 283, 578, + 175, 176, 177, 178, 175, 176, 177, 178, 175, 176, + 177, 178, 286, 290, 291, 175, 176, 177, 178, 302, + 293, 295, 304, 120, 394, 394, 394, 398, 394, 394, + 365, 602, 603, 604, 368, 378, 253, 379, 371, 254, + 255, 256, 257, 382, 406, 258, 388, 401, 613, 614, + 460, 404, 419, 409, 411, 121, 473, 113, 420, 158, + 422, 60, 175, 176, 177, 178, 626, 175, 176, 177, + 178, 421, 479, 479, 629, 423, 175, 176, 177, 178, + 559, 458, 487, 424, 429, 492, 433, 157, 190, 434, + 377, 435, 18, 175, 176, 177, 178, 436, 20, 305, + 478, 439, 22, 449, 408, 503, 24, 475, 459, 59, + 486, 373, 490, 418, 467, 430, 431, 498, 543, 544, + 474, 504, 505, 438, 506, 549, 507, 190, 191, 510, + 213, 555, 556, 214, 215, 216, 217, 218, 20, 511, + 454, 454, 484, 515, 527, 517, 284, 287, 518, 521, + 522, 465, 523, 524, 398, 470, 454, 454, 526, 529, + 581, 582, 583, 211, 212, 514, 585, 533, 537, 213, + 535, 158, 214, 215, 216, 217, 218, 595, 539, 545, + 540, 508, 541, 509, 598, 599, 175, 176, 177, 178, + 551, 516, 546, 395, 396, 497, 399, 400, 552, 157, + 287, 561, 564, 113, 566, 113, 567, 565, 586, 616, + 60, 568, 113, 571, 571, 575, 576, 125, 577, 127, + 624, 587, 130, 427, 137, 139, 596, 600, 190, 191, + 192, 628, 601, 606, 619, 612, 147, 592, 454, 149, + 617, 634, 620, 155, 175, 176, 177, 178, 110, 168, + 169, 170, 171, 172, 574, 623, 175, 176, 177, 178, + 633, 259, 536, 210, 211, 212, 584, 190, 191, 192, + 213, 579, 468, 214, 215, 216, 217, 218, 630, 621, + 530, 440, 407, 618, 481, 403, 454, 454, 482, 627, + 113, 534, 484, 483, 589, 460, 563, 466, 571, 189, + 208, 209, 210, 211, 212, 275, 190, 191, 192, 213, + 376, 0, 214, 215, 216, 217, 218, 0, 193, 0, + 0, 470, 454, 190, 194, 195, 196, 274, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 0, 0, 454, 0, 213, 0, + 0, 214, 215, 216, 217, 218, 0, 0, 0, 0, + 212, 0, 0, 0, 0, 213, 0, 454, 214, 215, + 216, 217, 218, 0, 0, 310, 0, 175, 176, 177, + 178, 315, 0, 0, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -13, 86, 0, 342, 495, 175, 176, 177, 178, 0, + 18, 84, 0, 19, 0, 0, 20, 0, 0, 21, + 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, + 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, + 97, 98, 502, 0, 99, 28, 29, 100, 101, 102, + 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, + 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, + 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, + 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, + 0, 52, -317, -317, -317, 217, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -3, 86, 0, 0, 53, 54, 0, - 55, 56, 57, 18, 84, 0, 19, 0, 58, 20, - 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, - 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, - 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, - 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, - 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, - 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, - 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, - 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, - 0, 0, 53, 54, 0, 55, 56, 57, 0, 0, - 86, 0, 0, 58, 0, 0, 0, 0, 0, 18, - 84, 438, 19, 0, 0, 20, 0, 0, 21, 22, - 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, - 0, 0, 91, 92, 93, 94, 522, 95, 96, 97, - 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, - 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, - 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, - 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, + -3, 86, 53, 54, 0, 55, 0, 56, 57, 0, + 18, 84, 0, 19, 0, 58, 20, 0, 0, 21, + 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, + 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, + 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, + 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, + 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, + 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, + 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, + 0, 0, 0, 86, 0, 58, 0, 0, 0, 0, + 0, 0, 18, 84, 448, 19, 0, 0, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 532, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 53, 54, - 0, 55, 56, 57, 18, 84, 515, 19, 0, 58, - 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, - 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, - 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, - 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, - 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, - 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 0, 0, 53, 54, 0, 55, 56, 57, 18, - 84, 580, 19, 0, 58, 20, 0, 0, 21, 22, - 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, - 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, - 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, - 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, - 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, - 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 525, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 590, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 53, 54, - 0, 55, 56, 57, 18, 84, 581, 19, 0, 58, - 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, - 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, - 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, - 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, - 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, - 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 0, 0, 53, 54, 0, 55, 56, 57, 18, - 84, 584, 19, 0, 58, 20, 0, 0, 21, 22, - 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, - 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, - 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, - 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, - 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, - 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 591, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 594, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 53, 54, - 0, 55, 56, 57, 18, 84, 0, 19, 0, 58, - 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, - 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, - 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, - 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, - 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, - 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 0, 0, 621, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 0, 0, 53, 54, 0, 55, 56, 57, 18, - 84, 0, 19, 0, 58, 20, 0, 0, 21, 22, - 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, - 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, - 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, - 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, - 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, - 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 631, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 53, 54, - 0, 55, 56, 57, 18, 84, 0, 19, 0, 58, - 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, - 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, - 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, - 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, - 36, 0, 37, 38, 39, 40, 41, 42, 103, 0, - 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 86, 0, 0, 0, 0, 0, - 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, - 0, 0, 21, 22, 23, -17, 0, 24, 25, 0, - 0, 26, 27, 53, 54, 0, 55, 56, 57, 0, - 0, 0, 0, 0, 58, 0, 0, 0, 28, 29, - 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, - 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, - 49, 50, 51, 86, 0, 0, 0, 0, 0, 0, - 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, + 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, + 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, + 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, + 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, + 37, 38, 39, 40, 41, 42, 103, 0, 43, 0, + 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, + 50, 51, 0, 0, 0, 86, 0, 0, 0, 0, + 0, 0, 0, 52, 18, 0, 0, 19, 0, 0, + 20, 0, 0, 21, 22, 23, -17, 0, 24, 25, + 0, 0, 26, 27, 53, 54, 0, 55, 0, 56, + 57, 0, 0, 0, 0, 0, 0, 58, 0, 28, + 29, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, + 0, 49, 50, 51, 0, 0, 0, 86, 0, 0, + 0, 0, 0, 0, 0, 52, 18, 0, 0, 19, + 0, 0, 20, 0, 0, 21, 22, 23, 0, 0, + 24, 25, 0, 0, 26, 27, 53, 54, 0, 55, + 0, 56, 57, 0, 0, 0, 0, 0, 0, 58, + 0, 28, 29, 0, 0, 0, 30, 31, 32, 33, + 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, + 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, + 0, 0, 18, 84, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, - 26, 27, 53, 54, 0, 55, 56, 57, 0, 0, - 0, 0, 0, 58, 0, 0, 0, 28, 29, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 0, + 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, + 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, + -17, 58, 30, 31, 156, 33, 34, 35, 36, 119, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, - 50, 51, 0, 18, 84, 0, 19, 0, 0, 20, - 0, 0, 21, 22, 23, 0, 52, 24, 25, 0, - 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 54, 0, 55, 56, 57, 0, 28, 29, - 0, -17, 58, 30, 31, 156, 33, 34, 35, 36, - 119, 37, 38, 39, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, - 49, 50, 51, 0, 18, 84, 0, 19, 0, 0, - 20, 0, 0, 21, 22, 23, 0, 52, 24, 25, + 50, 51, 0, 0, 0, 0, 0, 0, 18, 84, + 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, + 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, + 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, + 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, + 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, + 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, + 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 54, 0, 55, 56, 57, 0, 28, + 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 0, 18, 0, 0, 19, 0, - 0, 20, 0, 0, 21, 22, 23, 0, 52, 24, - 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 54, 0, 55, 56, 57, 0, - 28, 29, 0, 0, 58, 30, 31, 32, 33, 34, - 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, - 0, 0, 49, 50, 51, 0, 18, 0, 0, 19, - 0, 0, 20, 0, 0, 21, 22, 23, 0, 52, + 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, + 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, + 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, + 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, + 0, 56, 57, 0, 0, 28, 29, 0, 173, 58, + 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, + 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, + 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, + 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 53, 54, 0, 55, 56, 57, - 0, 28, 29, 0, 173, 58, 30, 31, 32, 33, + 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, + 0, 28, 29, 0, 279, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, - 0, 0, 0, 49, 50, 51, 0, 18, 0, 0, - 19, 0, 0, 20, 0, 0, 21, 22, 23, 0, - 52, 24, 25, 0, 0, 26, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 54, 0, 55, 56, - 57, 0, 28, 29, 0, 274, 58, 30, 31, 32, - 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, - 48, 0, 0, 0, 49, 50, 51, 0, -311, 215, - 0, 216, 0, 0, -311, 0, 0, -311, -311, -311, - 0, 52, -311, -311, 0, 0, -311, -311, 0, 0, + 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, + 0, 0, -316, 220, 0, 221, 0, 52, -316, 0, + 0, -316, -316, -316, 0, 0, -316, -316, 0, 0, + -316, -316, 0, 0, 0, 0, 0, 0, 53, 54, + 0, 55, 0, 56, 57, 0, 0, -316, -316, 0, + 296, 58, -316, -316, -316, -316, -316, -316, -316, 0, + -316, -316, -316, -316, -316, -316, 0, 0, -316, 0, + 0, -316, -316, -316, -316, -316, 0, 0, 0, -316, + -316, -316, 0, 0, 0, 0, 0, 0, 18, 0, + 0, 19, 0, -316, 20, 0, 0, 21, 22, 23, + 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, + 0, 0, 0, 0, -316, -316, 0, -316, 0, -316, + -316, 0, 0, 28, 29, 0, 0, -316, 30, 31, + 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, + 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, + 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, + 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, + 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, + 29, 0, 313, 58, 30, 31, 32, 33, 34, 35, + 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, + 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, + 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, + 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, - 56, 57, 0, -311, -311, 0, 291, 58, -311, -311, - -311, -311, -311, -311, -311, 0, -311, -311, -311, -311, - -311, -311, 0, 0, -311, 0, 0, -311, -311, -311, - -311, -311, 0, 0, 0, -311, -311, -311, 0, 18, - 0, 0, 19, 0, 0, 20, 0, 0, 21, 22, - 23, 0, -311, 24, 25, 0, 0, 26, 27, 0, - 0, 0, 0, 0, 0, 0, 0, -311, -311, 0, - -311, -311, -311, 0, 28, 29, 0, 0, -311, 30, - 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, - 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, - 22, 23, 0, 52, 24, 25, 0, 0, 26, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, - 0, 55, 56, 57, 0, 28, 29, 0, 306, 58, + 0, 56, 57, 0, 0, 28, 29, 0, 355, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, - 0, 18, 0, 0, 19, 0, 0, 20, 0, 0, - 21, 22, 23, 0, 52, 24, 25, 0, 0, 26, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 54, 0, 55, 56, 57, 0, 28, 29, 0, 345, - 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, - 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, - 51, 0, 18, 0, 0, 19, 0, 0, 20, 0, - 0, 21, 22, 23, 0, 52, 24, 25, 0, 0, - 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 54, 0, 55, 56, 57, 0, 28, 29, 0, - 395, 58, 30, 31, 32, 33, 34, 35, 36, 0, + 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, + 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, + 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, + 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, + 0, 28, 29, 0, 405, 58, 30, 31, 32, 33, + 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, + 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, + 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, + 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, + 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, + 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, + 437, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, - 50, 51, 0, 18, 0, 0, 19, 0, 0, 20, - 0, 0, 21, 22, 23, 0, 52, 24, 25, 0, - 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 54, 0, 55, 56, 57, 0, 28, 29, - 0, 427, 58, 30, 31, 32, 33, 34, 35, 36, - 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, - 49, 50, 51, 0, 18, 0, 0, 19, 0, 0, - 20, 0, 0, 21, 22, 23, 0, 52, 24, 25, - 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 54, 0, 55, 56, 57, 0, 28, - 29, 0, 0, 58, 30, 31, 32, 33, 34, 35, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, - 0, 49, 50, 51, 0, -310, 0, 0, -310, 0, - 0, -310, 0, 0, -310, -310, -310, 0, 52, -310, - -310, 0, 0, -310, -310, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 54, 0, 55, 56, 57, 0, - -310, -310, 0, 0, 268, -310, -310, -310, -310, -310, - -310, -310, 0, -310, -310, -310, -310, -310, -310, 0, - 0, -310, 0, 0, -310, -310, -310, -310, -310, 0, - 0, 0, -310, -310, -310, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 189, 190, -310, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, - 194, 195, 196, 187, -310, -310, 0, -310, -310, -310, - 188, 189, 190, 0, 0, -310, 0, 206, 207, 208, - 209, 191, 192, 193, 194, 195, 196, 210, 211, 212, - 213, 197, 198, 0, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 0, 0, 0, 187, 0, - 0, 210, 211, 212, 213, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, -312, 192, 193, 194, - 195, 196, 0, 0, 0, 0, 197, 198, 0, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 0, 0, 0, 187, 0, 0, 210, 211, 212, 213, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 193, 194, 195, 196, 0, 0, 0, - 0, 197, 198, 0, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 0, 0, 0, 187, 0, - 0, 210, 211, 212, 213, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 193, 194, - 195, 196, 0, 0, 0, 0, 0, 198, 0, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 0, 0, 0, -312, 0, 0, 210, 211, 212, 213, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 193, 194, 195, 196, 0, 0, 0, - 0, 0, 0, 0, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 188, 189, 190, 0, 0, - 0, 210, 211, 212, 213, 0, 0, 192, 193, 194, - 195, 196, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 192, 193, 194, 195, 196, 0, 210, 211, 212, 213, - 0, 188, 189, 190, 0, 202, 203, 204, 205, 206, - 207, 208, 209, 192, 193, 194, 195, 196, 0, 210, - 211, 212, 213, 0, 188, 189, 190, 0, 0, 203, - 204, 205, 206, 207, 208, 209, 192, 193, 194, 195, - 196, 0, 210, 211, 212, 213, 0, 188, 189, 190, - 0, 0, 0, 204, 205, 206, 207, 208, 209, 192, - 193, 194, 195, 196, 0, 210, 211, 212, 213, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 208, 209, -312, 193, 194, 195, 196, 0, 210, 211, - 212, 213, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 208, 209, 193, 194, 195, 196, 0, - 0, 210, 211, 212, 213, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 208, 209, 0, 193, 194, - 195, 196, 0, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, - 0, 0, 0, 0, 0, 0, 210, 211, 212, 213 + 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, + 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, + 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, + 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, + 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, + 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, + 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 0, 0, 0, 0, -315, 0, 0, -315, 0, 52, + -315, 0, 0, -315, -315, -315, 0, 0, -315, -315, + 0, 0, -315, -315, 0, 0, 0, 0, 0, 0, + 53, 54, 0, 55, 0, 56, 57, 0, 0, -315, + -315, 0, 0, 273, -315, -315, -315, -315, -315, -315, + -315, 0, -315, -315, -315, -315, -315, -315, 0, 0, + -315, 0, 0, -315, -315, -315, -315, -315, 0, 0, + 0, -315, -315, -315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, + 0, 0, 190, 191, 192, 0, -315, -315, 0, -315, + 0, -315, -315, 0, 193, 0, 0, 0, 0, -315, + 194, 195, 196, 428, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, + 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, + 194, 195, 196, 0, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, + 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 194, 195, 196, 0, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, + 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 196, 0, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 0, 0, 0, 0, 213, -317, 0, 214, 215, 216, + 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, + 217, 218, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, + 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 191, 192, 0, 0, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, + 213, 0, 0, 214, 215, 216, 217, 218, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, + 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, + 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, + 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, + 213, 0, 0, 214, 215, 216, 217, 218, 206, 207, + 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, + 0, 0, 214, 215, 216, 217, 218, 0, 0, -317, + 209, 210, 211, 212, 0, 0, 0, 0, 213, 0, + 0, 214, 215, 216, 217, 218, 0, 0, 0, 209, + 210, 211, 212, 0, 0, 0, 0, 213, 0, 0, + 214, 215, 216, 217, 218 }; static const yytype_int16 yycheck[] = { - 10, 142, 370, 99, 14, 27, 17, 17, 11, 19, - 48, 280, 16, 14, 52, 18, 11, 20, 13, 22, - 27, 24, 25, 16, 12, 166, 29, 512, 534, 14, - 33, 34, 13, 0, 83, 19, 29, 90, 48, 14, - 50, 360, 11, 22, 47, 48, 49, 11, 18, 10, - 13, 370, 22, 22, 24, 25, 375, 376, 19, 120, - 9, 14, 22, 33, 34, 118, 50, 10, 11, 14, - 13, 120, 120, 16, 120, 14, 16, 20, 48, 49, - 20, 24, 25, 11, 24, 13, 11, 105, 13, 50, - 13, 92, 93, 52, 97, 55, 15, 58, 57, 80, - 14, 31, 11, 14, 142, 22, 116, 92, 93, 131, - 53, 41, 618, 92, 93, 120, 120, 92, 93, 112, - 605, 109, 120, 161, 131, 120, 22, 120, 166, 22, - 140, 141, 142, 22, 77, 84, 15, 22, 457, 92, - 93, 103, 152, 153, 23, 148, 11, 92, 93, 11, - 153, 13, 80, 92, 93, 80, 166, 80, 18, 11, - 20, 11, 22, 13, 24, 25, 52, 27, 152, 153, - 120, 132, 112, 33, 34, 92, 93, 120, 92, 93, - 120, 92, 93, 153, 145, 120, 505, 506, 48, 49, - 151, 152, 153, 11, 539, 13, 92, 93, 467, 92, - 93, 16, 120, 92, 93, 20, 228, 92, 93, 24, - 120, 222, 222, 223, 175, 176, 120, 178, 179, 180, - 22, 228, 541, 92, 93, 37, 571, 572, 573, 22, - 80, 14, 92, 30, 92, 93, 33, 34, 35, 36, - 80, 244, 39, 588, 589, 55, 565, 615, 286, 80, - 119, 520, 120, 214, 215, 216, 217, 218, 219, 220, - 221, 606, 11, 11, 13, 13, 407, 586, 11, 614, - 280, 131, 83, 16, 11, 285, 225, 226, 227, 16, - 229, 230, 25, 232, 233, 234, 235, 248, 249, 250, - 251, 252, 253, 153, 30, 92, 93, 33, 34, 35, - 36, 285, 74, 39, 90, 119, 11, 268, 13, 52, - 92, 93, 92, 93, 57, 52, 119, 89, 90, 22, - 57, 13, 119, 52, 285, 92, 93, 92, 93, 115, - 116, 117, 118, 336, 295, 112, 108, 119, 299, 119, - 52, 105, 106, 115, 116, 117, 118, 74, 42, 371, - 92, 93, 119, 213, 119, 57, 92, 93, 92, 93, - 370, 120, 89, 90, 371, 15, 377, 377, 228, 407, - 103, 104, 55, 334, 335, 92, 93, 119, 519, 31, - 32, 342, 392, 393, 55, 119, 241, 242, 115, 116, - 117, 118, 402, 101, 102, 405, 84, 407, 359, 360, - 119, 12, 119, 13, 500, 501, 93, 25, 25, 370, - 25, 507, 373, 374, 375, 376, 10, 513, 514, 429, - 16, 25, 16, 372, 20, 25, 20, 120, 24, 378, - 24, 18, 52, 95, 120, 29, 3, 4, 5, 6, - 7, 8, 9, 120, 119, 429, 542, 543, 544, 12, - 12, 400, 548, 414, 464, 12, 466, 467, 249, 250, - 12, 252, 253, 559, 12, 119, 119, 22, 429, 16, - 566, 567, 120, 119, 119, 119, 336, 119, 119, 52, - 120, 519, 11, 11, 119, 84, 12, 22, 15, 119, - 439, 120, 441, 119, 119, 591, 457, 22, 82, 120, - 449, 22, 362, 119, 22, 119, 602, 120, 22, 519, - 520, 371, 523, 523, 525, 525, 119, 613, 119, 43, - 481, 532, 532, 533, 534, 74, 75, 623, 119, 21, - 17, 23, 13, 119, 26, 81, 28, 29, 119, 88, - 89, 90, 615, 109, 505, 506, 540, 557, 40, 373, - 466, 43, 270, 394, 261, 47, 393, 131, 550, 108, - 228, 53, 54, 55, 56, 57, 115, 116, 117, 118, - 476, 371, -1, 521, -1, -1, -1, -1, -1, 540, - 541, -1, -1, -1, -1, -1, 446, -1, -1, 599, - -1, -1, -1, 596, -1, -1, -1, -1, -1, 610, - 610, 550, -1, -1, 565, 615, -1, -1, 618, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, -1, -1, -1, 586, -1, -1, -1, -1, - 85, 86, 87, 88, 89, 90, -1, -1, -1, 131, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, -1, -1, -1, -1, -1, -1, - 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 177, -1, 547, -1, -1, - -1, 183, -1, -1, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 0, 1, - -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, - -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, - 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, - -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, - -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, - 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, - 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, + 10, 27, 522, 27, 14, 19, 17, 17, 11, 19, + 48, 285, 380, 142, 52, 18, 16, 20, 544, 22, + 16, 24, 25, 11, 20, 13, 29, 99, 24, 13, + 33, 34, 83, 103, 104, 16, 50, 166, 48, 11, + 50, 13, 31, 12, 47, 48, 49, 18, 29, 20, + 15, 22, 41, 24, 25, 11, 27, 13, 23, 22, + 18, 9, 33, 34, 22, 0, 24, 25, 11, 370, + 11, 105, 106, 16, 125, 33, 34, 48, 49, 380, + 13, 22, 25, 11, 385, 386, 22, 105, 14, 16, + 48, 49, 55, 20, 97, 615, 80, 24, 11, 13, + 13, 10, 628, 125, 142, 131, 116, 131, 80, 52, + 19, 14, 10, 11, 57, 13, 125, 14, 16, 115, + 125, 92, 20, 161, 14, 125, 24, 25, 166, 125, + 140, 141, 142, 11, 115, 13, 84, 125, 152, 153, + 109, 50, 152, 153, 125, 148, 14, 80, 15, 58, + 153, 87, 88, 89, 90, 53, 166, 89, 90, 14, + 131, 87, 88, 89, 90, 14, 467, 80, 52, 11, + 11, 30, 13, 57, 33, 34, 35, 36, 103, 77, + 39, 11, 153, 13, 87, 88, 89, 90, 122, 123, + 87, 88, 89, 90, 11, 153, 13, 87, 88, 89, + 90, 125, 80, 477, 11, 11, 13, 233, 11, 233, + 31, 32, 52, 16, 515, 516, 227, 227, 228, 87, + 88, 89, 90, 132, 14, 246, 247, 125, 87, 88, + 89, 90, 87, 88, 89, 90, 145, 22, 87, 88, + 89, 90, 151, 152, 153, 125, 249, 218, 125, 52, + 551, 101, 102, 291, 57, 22, 530, 625, 11, 22, + 125, 125, 233, 22, 125, 124, 175, 176, 177, 178, + 22, 180, 181, 182, 575, 285, 290, 16, 125, 22, + 290, 20, 230, 231, 232, 24, 234, 235, 417, 237, + 238, 239, 240, 37, 22, 596, 14, 87, 88, 89, + 90, 80, 87, 88, 89, 90, 87, 88, 89, 90, + 219, 220, 221, 222, 223, 224, 225, 226, 55, 549, + 87, 88, 89, 90, 87, 88, 89, 90, 87, 88, + 89, 90, 80, 125, 83, 87, 88, 89, 90, 22, + 124, 124, 13, 346, 253, 254, 255, 256, 257, 258, + 52, 581, 582, 583, 52, 381, 30, 381, 115, 33, + 34, 35, 36, 125, 273, 39, 42, 57, 598, 599, + 380, 15, 84, 55, 55, 346, 387, 387, 124, 417, + 12, 290, 87, 88, 89, 90, 616, 87, 88, 89, + 90, 300, 402, 403, 624, 304, 87, 88, 89, 90, + 529, 372, 412, 13, 25, 415, 25, 417, 74, 25, + 381, 25, 10, 87, 88, 89, 90, 25, 16, 124, + 92, 125, 20, 18, 124, 439, 24, 52, 125, 439, + 125, 29, 124, 124, 382, 344, 345, 12, 510, 511, + 388, 12, 12, 352, 12, 517, 12, 74, 75, 124, + 116, 523, 524, 119, 120, 121, 122, 123, 16, 124, + 369, 370, 410, 125, 474, 124, 476, 477, 22, 124, + 124, 380, 124, 124, 383, 384, 385, 386, 125, 52, + 552, 553, 554, 110, 111, 456, 558, 11, 84, 116, + 11, 529, 119, 120, 121, 122, 123, 569, 12, 15, + 124, 449, 22, 451, 576, 577, 87, 88, 89, 90, + 125, 459, 124, 254, 255, 424, 257, 258, 124, 529, + 530, 22, 533, 533, 535, 535, 82, 124, 22, 601, + 439, 542, 542, 543, 544, 125, 124, 21, 124, 23, + 612, 22, 26, 124, 28, 29, 125, 22, 74, 75, + 76, 623, 124, 43, 17, 124, 40, 567, 467, 43, + 124, 633, 81, 47, 87, 88, 89, 90, 13, 53, + 54, 55, 56, 57, 545, 124, 87, 88, 89, 90, + 124, 109, 491, 109, 110, 111, 557, 74, 75, 76, + 116, 550, 383, 119, 120, 121, 122, 123, 625, 609, + 476, 124, 275, 606, 403, 266, 515, 516, 404, 620, + 620, 486, 560, 124, 560, 625, 531, 381, 628, 67, + 107, 108, 109, 110, 111, 131, 74, 75, 76, 116, + 233, -1, 119, 120, 121, 122, 123, -1, 86, -1, + -1, 550, 551, 74, 92, 93, 94, 131, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, -1, -1, 575, -1, 116, -1, + -1, 119, 120, 121, 122, 123, -1, -1, -1, -1, + 111, -1, -1, -1, -1, 116, -1, 596, 119, 120, + 121, 122, 123, -1, -1, 179, -1, 87, 88, 89, + 90, 185, -1, -1, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 0, 1, -1, 217, 124, 87, 88, 89, 90, -1, + 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, + 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, + 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, + 40, 41, 124, -1, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, + 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, + 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, + -1, 91, 119, 120, 121, 122, 123, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 112, 113, -1, 115, -1, 117, 118, -1, + 10, 11, -1, 13, -1, 125, 16, -1, -1, 19, + 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, + 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, + 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, + 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, 1, -1, -1, 109, 110, -1, - 112, 113, 114, 10, 11, -1, 13, -1, 120, 16, - -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, - 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, - -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, - -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, - 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, -1, -1, 418, -1, -1, -1, - -1, -1, 109, 110, -1, 112, 113, 114, -1, -1, - 1, -1, -1, 120, -1, -1, -1, -1, -1, 10, - 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, - 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, - -1, -1, 33, 34, 35, 36, 468, 38, 39, 40, - 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, + -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, + -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, + -1, -1, -1, 1, -1, 125, -1, -1, -1, -1, + -1, -1, 10, 11, 12, 13, -1, -1, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, 478, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, 109, 110, - -1, 112, 113, 114, 10, 11, 12, 13, -1, 120, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, - 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, 109, 110, -1, 112, 113, 114, 10, - 11, 12, 13, -1, 120, 16, -1, -1, 19, 20, - 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, - -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, - 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, 109, 110, - -1, 112, 113, 114, 10, 11, 12, 13, -1, 120, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, - 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, 109, 110, -1, 112, 113, 114, 10, - 11, 12, 13, -1, 120, 16, -1, -1, 19, 20, - 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, - -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, - 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, 109, 110, - -1, 112, 113, 114, 10, 11, -1, 13, -1, 120, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, - 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, -1, -1, 82, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, 82, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, 109, 110, -1, 112, 113, 114, 10, - 11, -1, 13, -1, 120, 16, -1, -1, 19, 20, - 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, - -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, - 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, 109, 110, - -1, 112, 113, 114, 10, 11, -1, 13, -1, 120, + -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, + 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, + 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, 64, -1, 66, -1, + 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, 1, -1, -1, -1, -1, + -1, -1, -1, 91, 10, -1, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, - 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, - 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, 1, -1, -1, -1, -1, -1, - -1, -1, -1, 10, -1, -1, 13, -1, 94, 16, - -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, - -1, 28, 29, 109, 110, -1, 112, 113, 114, -1, - -1, -1, -1, -1, 120, -1, -1, -1, 45, 46, - -1, -1, -1, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, - -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, - 77, 78, 79, 1, -1, -1, -1, -1, -1, -1, - -1, -1, 10, -1, -1, 13, -1, 94, 16, -1, + -1, -1, 28, 29, 112, 113, -1, 115, -1, 117, + 118, -1, -1, -1, -1, -1, -1, 125, -1, 45, + 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, + 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, + -1, 77, 78, 79, -1, -1, -1, 1, -1, -1, + -1, -1, -1, -1, -1, 91, 10, -1, -1, 13, + -1, -1, 16, -1, -1, 19, 20, 21, -1, -1, + 24, 25, -1, -1, 28, 29, 112, 113, -1, 115, + -1, 117, 118, -1, -1, -1, -1, -1, -1, 125, + -1, 45, 46, -1, -1, -1, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, + -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, + -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, + -1, -1, 10, 11, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, - 28, 29, 109, 110, -1, 112, 113, 114, -1, -1, - -1, -1, -1, 120, -1, -1, -1, 45, 46, -1, - -1, -1, 50, 51, 52, 53, 54, 55, 56, -1, + 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, + -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, + 124, 125, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, - 78, 79, -1, 10, 11, -1, 13, -1, -1, 16, - -1, -1, 19, 20, 21, -1, 94, 24, 25, -1, - -1, 28, 29, -1, -1, -1, -1, -1, -1, -1, - -1, 109, 110, -1, 112, 113, 114, -1, 45, 46, - -1, 119, 120, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, - -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, - 77, 78, 79, -1, 10, 11, -1, 13, -1, -1, - 16, -1, -1, 19, 20, 21, -1, 94, 24, 25, + 78, 79, -1, -1, -1, -1, -1, -1, 10, 11, + -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, + -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, + -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, + 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, + 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, + 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, + 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, - -1, -1, 109, 110, -1, 112, 113, 114, -1, 45, - 46, -1, -1, 120, 50, 51, 52, 53, 54, 55, + 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, + 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, -1, 10, -1, -1, 13, -1, - -1, 16, -1, -1, 19, 20, 21, -1, 94, 24, - 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, - -1, -1, -1, 109, 110, -1, 112, 113, 114, -1, - 45, 46, -1, -1, 120, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, - -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, - -1, -1, 77, 78, 79, -1, 10, -1, -1, 13, - -1, -1, 16, -1, -1, 19, 20, 21, -1, 94, + -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, + 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, + 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, + -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, + 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, + -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, + -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, - -1, -1, -1, -1, 109, 110, -1, 112, 113, 114, - -1, 45, 46, -1, 119, 120, 50, 51, 52, 53, + -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, + -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, - -1, -1, -1, 77, 78, 79, -1, 10, -1, -1, - 13, -1, -1, 16, -1, -1, 19, 20, 21, -1, - 94, 24, 25, -1, -1, 28, 29, -1, -1, -1, - -1, -1, -1, -1, -1, 109, 110, -1, 112, 113, - 114, -1, 45, 46, -1, 119, 120, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, - 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, - 73, -1, -1, -1, 77, 78, 79, -1, 10, 11, - -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, - -1, 94, 24, 25, -1, -1, 28, 29, -1, -1, - -1, -1, -1, -1, -1, -1, 109, 110, -1, 112, - 113, 114, -1, 45, 46, -1, 119, 120, 50, 51, + -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, + -1, -1, 10, 11, -1, 13, -1, 91, 16, -1, + -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, + -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, + 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, + 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, + -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, + -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, + -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, + 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, - 72, 73, -1, -1, -1, 77, 78, 79, -1, 10, - -1, -1, 13, -1, -1, 16, -1, -1, 19, 20, - 21, -1, 94, 24, 25, -1, -1, 28, 29, -1, - -1, -1, -1, -1, -1, -1, -1, 109, 110, -1, - 112, 113, 114, -1, 45, 46, -1, -1, 120, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, - 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, - 10, -1, -1, 13, -1, -1, 16, -1, -1, 19, - 20, 21, -1, 94, 24, 25, -1, -1, 28, 29, - -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, - -1, 112, 113, 114, -1, 45, 46, -1, 119, 120, + 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, + 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, + 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, + 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, + 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, + -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, + 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, + 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, + -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, - -1, 10, -1, -1, 13, -1, -1, 16, -1, -1, - 19, 20, 21, -1, 94, 24, 25, -1, -1, 28, - 29, -1, -1, -1, -1, -1, -1, -1, -1, 109, - 110, -1, 112, 113, 114, -1, 45, 46, -1, 119, - 120, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, - 79, -1, 10, -1, -1, 13, -1, -1, 16, -1, - -1, 19, 20, 21, -1, 94, 24, 25, -1, -1, - 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, - 109, 110, -1, 112, 113, 114, -1, 45, 46, -1, - 119, 120, 50, 51, 52, 53, 54, 55, 56, -1, + -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, + -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, + 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, + -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, + -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, + -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, + -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, + -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, + -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, + 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, - 78, 79, -1, 10, -1, -1, 13, -1, -1, 16, - -1, -1, 19, 20, 21, -1, 94, 24, 25, -1, - -1, 28, 29, -1, -1, -1, -1, -1, -1, -1, - -1, 109, 110, -1, 112, 113, 114, -1, 45, 46, - -1, 119, 120, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, - -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, - 77, 78, 79, -1, 10, -1, -1, 13, -1, -1, - 16, -1, -1, 19, 20, 21, -1, 94, 24, 25, + 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, + -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, + -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, + -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, + 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, + 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, + 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, + 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, - -1, -1, 109, 110, -1, 112, 113, 114, -1, 45, - 46, -1, -1, 120, 50, 51, 52, 53, 54, 55, + 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, + 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, - -1, 77, 78, 79, -1, 10, -1, -1, 13, -1, - -1, 16, -1, -1, 19, 20, 21, -1, 94, 24, - 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, - -1, -1, -1, 109, 110, -1, 112, 113, 114, -1, - 45, 46, -1, -1, 120, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, - -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, - -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 74, 75, 76, 94, - -1, -1, -1, -1, -1, -1, -1, -1, 86, 87, - 88, 89, 90, 67, 109, 110, -1, 112, 113, 114, - 74, 75, 76, -1, -1, 120, -1, 105, 106, 107, - 108, 85, 86, 87, 88, 89, 90, 115, 116, 117, - 118, 95, 96, -1, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, -1, -1, -1, 67, -1, - -1, 115, 116, 117, 118, 74, 75, 76, -1, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, 95, 96, -1, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - -1, -1, -1, 67, -1, -1, 115, 116, 117, 118, - 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, 87, 88, 89, 90, -1, -1, -1, - -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, -1, -1, -1, 67, -1, - -1, 115, 116, 117, 118, 74, 75, 76, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, 96, -1, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - -1, -1, -1, 67, -1, -1, 115, 116, 117, 118, - 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, -1, -1, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 74, 75, 76, -1, -1, - -1, 115, 116, 117, 118, -1, -1, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, -1, 74, 75, - 76, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 86, 87, 88, 89, 90, -1, 115, 116, 117, 118, - -1, 74, 75, 76, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 86, 87, 88, 89, 90, -1, 115, - 116, 117, 118, -1, 74, 75, 76, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 86, 87, 88, 89, - 90, -1, 115, 116, 117, 118, -1, 74, 75, 76, - -1, -1, -1, 103, 104, 105, 106, 107, 108, 86, - 87, 88, 89, 90, -1, 115, 116, 117, 118, -1, - 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 86, 87, 88, 89, 90, -1, 115, 116, - 117, 118, 74, 75, 76, -1, -1, -1, -1, -1, - -1, -1, -1, 107, 108, 87, 88, 89, 90, -1, - -1, 115, 116, 117, 118, 74, 75, 76, -1, -1, - -1, -1, -1, -1, -1, 107, 108, -1, 87, 88, - 89, 90, -1, 115, 116, 117, 118, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 108, - -1, -1, -1, -1, -1, -1, 115, 116, 117, 118 + -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, -1, 112, 113, -1, 115, + -1, 117, 118, -1, 86, -1, -1, -1, -1, 125, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, + 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, + 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, + 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, + 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, + 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, + 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 74, 75, 76, -1, -1, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, + 116, -1, -1, 119, 120, 121, 122, 123, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, + 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, + -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, + -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, + 116, -1, -1, 119, 120, 121, 122, 123, 105, 106, + 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, + -1, -1, 119, 120, 121, 122, 123, -1, -1, 107, + 108, 109, 110, 111, -1, -1, -1, -1, 116, -1, + -1, 119, 120, 121, 122, 123, -1, -1, -1, 108, + 109, 110, 111, -1, -1, -1, -1, 116, -1, -1, + 119, 120, 121, 122, 123 }; /* 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, 9, 122, 123, - 124, 125, 126, 127, 128, 129, 0, 133, 10, 13, + 0, 3, 4, 5, 6, 7, 8, 9, 127, 128, + 129, 130, 131, 132, 133, 134, 0, 138, 10, 13, 16, 19, 20, 21, 24, 25, 28, 29, 45, 46, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 77, - 78, 79, 94, 109, 110, 112, 113, 114, 120, 131, - 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 205, 208, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 11, 130, 1, 22, 26, 27, + 78, 79, 91, 112, 113, 115, 117, 118, 125, 136, + 194, 195, 196, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 210, 213, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 11, 135, 1, 22, 26, 27, 30, 33, 34, 35, 36, 38, 39, 40, 41, 44, - 47, 48, 49, 64, 68, 130, 143, 155, 189, 65, - 141, 142, 143, 131, 139, 183, 184, 139, 52, 57, - 130, 217, 225, 208, 225, 203, 225, 203, 225, 225, - 203, 112, 120, 206, 217, 218, 219, 203, 130, 203, - 167, 167, 225, 225, 204, 13, 120, 203, 167, 203, - 120, 120, 83, 120, 130, 203, 52, 131, 190, 207, - 217, 225, 225, 208, 52, 57, 169, 190, 203, 203, - 203, 203, 203, 119, 189, 92, 93, 15, 11, 13, - 120, 105, 106, 105, 103, 104, 103, 67, 74, 75, - 76, 85, 86, 87, 88, 89, 90, 95, 96, 98, + 47, 48, 49, 64, 68, 135, 148, 160, 194, 65, + 146, 147, 148, 136, 144, 188, 189, 144, 52, 57, + 135, 222, 230, 213, 230, 208, 230, 208, 230, 230, + 208, 115, 125, 211, 222, 223, 224, 208, 135, 208, + 172, 172, 230, 230, 209, 13, 125, 208, 172, 208, + 125, 125, 83, 125, 135, 208, 52, 136, 195, 212, + 222, 230, 230, 213, 52, 57, 174, 195, 208, 208, + 208, 208, 208, 124, 194, 87, 88, 89, 90, 15, + 11, 13, 125, 105, 106, 105, 103, 104, 103, 67, + 74, 75, 76, 86, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 115, 116, 117, 118, 120, 11, 13, 11, 13, 11, - 13, 11, 133, 168, 52, 120, 120, 29, 112, 120, - 215, 217, 120, 120, 120, 120, 130, 11, 134, 134, - 166, 169, 169, 22, 37, 131, 157, 22, 30, 33, - 34, 35, 36, 39, 142, 143, 141, 16, 20, 24, - 131, 174, 175, 177, 178, 179, 180, 14, 120, 203, - 206, 217, 218, 219, 119, 189, 80, 172, 55, 131, - 170, 80, 131, 171, 207, 120, 83, 189, 119, 130, - 119, 119, 189, 208, 208, 225, 190, 22, 207, 13, - 119, 189, 189, 203, 189, 189, 119, 189, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 10, 11, 13, 16, 20, 24, 25, - 53, 77, 120, 193, 217, 119, 189, 189, 189, 189, - 189, 189, 189, 189, 139, 52, 131, 165, 52, 133, - 133, 112, 133, 29, 213, 214, 216, 217, 218, 219, - 133, 133, 120, 133, 133, 133, 133, 135, 42, 146, - 166, 166, 130, 154, 189, 154, 154, 162, 189, 154, - 154, 57, 173, 173, 15, 119, 189, 172, 119, 55, - 171, 55, 133, 188, 208, 190, 14, 192, 119, 84, - 119, 189, 12, 189, 13, 22, 14, 119, 97, 25, - 189, 189, 25, 25, 25, 25, 25, 119, 189, 120, - 119, 22, 14, 22, 14, 22, 14, 22, 12, 18, - 132, 11, 22, 163, 189, 163, 120, 210, 217, 120, - 131, 155, 160, 163, 164, 189, 213, 133, 162, 161, - 189, 163, 163, 139, 133, 52, 144, 145, 95, 131, - 176, 176, 178, 119, 133, 186, 120, 131, 181, 182, - 119, 23, 131, 209, 207, 119, 14, 189, 12, 203, - 22, 14, 119, 208, 12, 12, 12, 12, 133, 133, - 119, 119, 211, 212, 217, 120, 133, 119, 22, 149, - 163, 119, 119, 119, 119, 12, 120, 131, 136, 52, - 170, 171, 203, 11, 183, 11, 189, 84, 14, 12, - 119, 22, 151, 134, 134, 15, 119, 163, 163, 134, - 147, 120, 119, 159, 159, 134, 134, 137, 150, 207, - 171, 22, 187, 188, 139, 119, 139, 82, 139, 31, - 32, 131, 156, 156, 217, 120, 119, 119, 157, 161, - 163, 134, 134, 134, 217, 134, 22, 22, 185, 186, - 12, 12, 131, 140, 12, 134, 120, 163, 134, 134, - 22, 119, 157, 157, 157, 138, 43, 158, 22, 55, - 152, 163, 119, 157, 157, 148, 134, 119, 130, 17, - 81, 131, 153, 119, 134, 159, 157, 139, 134, 157, - 164, 82, 156, 119, 134 + 109, 110, 111, 116, 119, 120, 121, 122, 123, 125, + 11, 13, 11, 13, 11, 13, 11, 138, 173, 52, + 125, 125, 29, 115, 125, 220, 222, 125, 125, 125, + 125, 135, 11, 139, 139, 171, 174, 174, 22, 37, + 136, 162, 22, 30, 33, 34, 35, 36, 39, 147, + 148, 146, 16, 20, 24, 136, 179, 180, 182, 183, + 184, 185, 14, 125, 208, 211, 222, 223, 224, 124, + 194, 80, 177, 55, 136, 175, 80, 136, 176, 212, + 125, 83, 194, 124, 135, 124, 124, 194, 213, 213, + 230, 195, 22, 212, 13, 124, 194, 194, 194, 194, + 208, 194, 194, 124, 194, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 10, 11, 13, 16, 20, 24, 25, + 53, 77, 125, 198, 222, 124, 194, 194, 194, 194, + 194, 194, 194, 194, 144, 52, 136, 170, 52, 138, + 138, 115, 138, 29, 218, 219, 221, 222, 223, 224, + 138, 138, 125, 138, 138, 138, 138, 140, 42, 151, + 171, 171, 135, 159, 194, 159, 159, 167, 194, 159, + 159, 57, 178, 178, 15, 124, 194, 177, 124, 55, + 176, 55, 138, 193, 213, 195, 14, 197, 124, 84, + 124, 194, 12, 194, 13, 22, 14, 124, 95, 25, + 194, 194, 25, 25, 25, 25, 25, 124, 194, 125, + 124, 22, 14, 22, 14, 22, 14, 22, 12, 18, + 137, 11, 22, 168, 194, 168, 125, 215, 222, 125, + 136, 160, 165, 168, 169, 194, 218, 138, 167, 166, + 194, 168, 168, 144, 138, 52, 149, 150, 92, 136, + 181, 181, 183, 124, 138, 191, 125, 136, 186, 187, + 124, 23, 136, 214, 212, 124, 14, 194, 12, 208, + 22, 14, 124, 213, 12, 12, 12, 12, 138, 138, + 124, 124, 216, 217, 222, 125, 138, 124, 22, 154, + 168, 124, 124, 124, 124, 12, 125, 136, 141, 52, + 175, 176, 208, 11, 188, 11, 194, 84, 14, 12, + 124, 22, 156, 139, 139, 15, 124, 168, 168, 139, + 152, 125, 124, 164, 164, 139, 139, 142, 155, 212, + 176, 22, 192, 193, 144, 124, 144, 82, 144, 31, + 32, 136, 161, 161, 222, 125, 124, 124, 162, 166, + 168, 139, 139, 139, 222, 139, 22, 22, 190, 191, + 12, 12, 136, 145, 12, 139, 125, 168, 139, 139, + 22, 124, 162, 162, 162, 143, 43, 163, 22, 55, + 157, 168, 124, 162, 162, 153, 139, 124, 135, 17, + 81, 136, 158, 124, 139, 164, 162, 144, 139, 162, + 169, 82, 161, 124, 139 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 121, 123, 122, 124, 122, 125, 122, 126, 122, - 127, 122, 128, 122, 129, 122, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 136, 139, 139, 140, 140, - 141, 141, 142, 142, 143, 143, 144, 143, 145, 143, - 143, 146, 143, 143, 143, 143, 143, 143, 143, 143, - 147, 148, 143, 143, 143, 143, 149, 143, 143, 143, - 150, 143, 143, 151, 143, 143, 143, 143, 143, 152, - 153, 153, 154, 155, 155, 155, 155, 155, 155, 155, - 155, 156, 156, 156, 157, 157, 158, 158, 159, 160, - 160, 161, 161, 162, 163, 164, 165, 165, 166, 167, - 168, 169, 169, 170, 170, 171, 171, 171, 172, 172, - 173, 173, 174, 174, 175, 176, 176, 176, 177, 178, - 178, 179, 179, 179, 180, 180, 181, 181, 182, 184, - 183, 185, 185, 186, 187, 187, 188, 189, 189, 189, - 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 192, 191, 193, 193, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, - 196, 196, 196, 196, 197, 197, 198, 198, 198, 198, + 0, 126, 128, 127, 129, 127, 130, 127, 131, 127, + 132, 127, 133, 127, 134, 127, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 141, 144, 144, 145, 145, + 146, 146, 147, 147, 148, 148, 149, 148, 150, 148, + 148, 151, 148, 148, 148, 148, 148, 148, 148, 148, + 152, 153, 148, 148, 148, 148, 154, 148, 148, 148, + 155, 148, 148, 156, 148, 148, 148, 148, 148, 157, + 158, 158, 159, 160, 160, 160, 160, 160, 160, 160, + 160, 161, 161, 161, 162, 162, 163, 163, 164, 165, + 165, 166, 166, 167, 168, 169, 170, 170, 171, 172, + 173, 174, 174, 175, 175, 176, 176, 176, 177, 177, + 178, 178, 179, 179, 180, 181, 181, 181, 182, 183, + 183, 184, 184, 184, 185, 185, 186, 186, 187, 189, + 188, 190, 190, 191, 192, 192, 193, 194, 194, 194, + 194, 194, 195, 195, 195, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 197, 196, 198, 198, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 201, 201, 201, 201, 202, 202, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 204, 203, 203, 203, 203, - 205, 205, 205, 205, 206, 206, 206, 206, 206, 207, - 207, 208, 208, 209, 209, 210, 211, 211, 211, 212, - 213, 213, 213, 214, 214, 215, 215, 216, 217, 218, - 219, 220, 220, 221, 222, 222, 223, 223, 224, 224, - 225, 225, 225, 225 + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 201, 201, 201, 201, 201, 202, + 202, 203, 203, 203, 203, 204, 204, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, + 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 209, 208, 208, 208, 208, 210, 210, 210, 210, 211, + 211, 211, 211, 211, 212, 212, 213, 213, 214, 214, + 215, 216, 216, 216, 217, 218, 218, 218, 219, 219, + 220, 220, 221, 222, 223, 224, 225, 225, 226, 227, + 227, 228, 228, 229, 229, 230, 230, 230, 230 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1150,29 +1187,29 @@ static const yytype_uint8 yyr2[] = 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 0, 1, 1, 1, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 1, 1, 1, 3, 0, - 2, 1, 1, 4, 1, 1, 5, 3, 3, 1, - 2, 3, 1, 3, 5, 6, 3, 3, 5, 2, - 4, 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, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 3, 2, 2, 3, 3, 3, 1, 3, 2, 2, - 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 3, 4, 5, 4, 2, 2, 1, 1, 1, - 1, 5, 2, 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, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 2, 3, 1, 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 + 2, 1, 1, 4, 1, 1, 5, 3, 3, 3, + 3, 1, 2, 3, 1, 3, 5, 6, 3, 3, + 5, 2, 4, 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, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 3, 2, 2, 3, 3, + 3, 1, 3, 2, 2, 3, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 4, 5, 4, + 2, 2, 1, 1, 1, 1, 5, 2, 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, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 1, 2, 3, 1, 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 { - toketype_ival, toketype_opval, toketype_pval + toketype_ival, toketype_opval } toketypes; /* type of each token/terminal */ @@ -1195,33 +1232,36 @@ static const toketypes yy_type_tab[] = toketype_opval, 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_pval, toketype_pval, toketype_pval, toketype_pval, - toketype_pval, 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_opval, toketype_opval, toketype_opval, - toketype_ival, toketype_opval, toketype_ival, toketype_opval, 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_opval, toketype_ival, toketype_opval, + toketype_ival, toketype_opval, toketype_ival, 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_ival, 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_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_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, 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_ival, 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_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_opval, toketype_opval, toketype_opval, toketype_ival, 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_ival, 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_ival, 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_opval, toketype_opval }; /* Generated from: - * d159cbbb0bfd3916708be07894588433a9434f9ade8adce98532533a9ea86747 perly.y + * 259112249f1ef26949a345f9826162cf9be44cb0b68fb5f98540739f649ed47a perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ @@ -91,9 +91,6 @@ %token <ival> COLONATTR FORMLBRACK FORMRBRACK %token <ival> SUBLEXSTART SUBLEXEND -/* Pluggable infix operators */ -%token <pval> PLUGLOWOP PLUGRELOP PLUGADDOP PLUGMULOP PLUGPOWOP PLUGHIGHOP - %type <ival> grammar remember mremember %type <ival> startsub startanonsub startformsub @@ -121,32 +118,32 @@ %nonassoc <ival> PREC_LOW %nonassoc LOOPEX -%nonassoc PLUGLOWOP -%left <ival> OROP -%left <ival> ANDOP +%nonassoc <pval> PLUGIN_LOW_OP +%left <ival> OROP <pval> PLUGIN_LOGICAL_OR_LOW_OP +%left <ival> ANDOP <pval> PLUGIN_LOGICAL_AND_LOW_OP %right <ival> NOTOP %nonassoc LSTOP LSTOPSUB %left PERLY_COMMA -%right <ival> ASSIGNOP +%right <ival> ASSIGNOP <pval> PLUGIN_ASSIGN_OP %right <ival> PERLY_QUESTION_MARK PERLY_COLON %nonassoc DOTDOT -%left <ival> OROR DORDOR -%left <ival> ANDAND +%left <ival> OROR DORDOR <pval> PLUGIN_LOGICAL_OR_OP +%left <ival> ANDAND <pval> PLUGIN_LOGICAL_AND_OP %left <ival> BITOROP %left <ival> BITANDOP %left <ival> CHEQOP NCEQOP %left <ival> CHRELOP NCRELOP -%nonassoc PLUGRELOP +%nonassoc <pval> PLUGIN_REL_OP %nonassoc UNIOP UNIOPSUB %nonassoc KW_REQUIRE %left <ival> SHIFTOP -%left ADDOP PLUGADDOP -%left MULOP PLUGMULOP +%left ADDOP <pval> PLUGIN_ADD_OP +%left MULOP <pval> PLUGIN_MUL_OP %left <ival> MATCHOP %right <ival> PERLY_EXCLAMATION_MARK PERLY_TILDE UMINUS REFGEN -%right POWOP PLUGPOWOP +%right POWOP <pval> PLUGIN_POW_OP %nonassoc <ival> PREINC PREDEC POSTINC POSTDEC POSTJOIN -%nonassoc PLUGHIGHOP +%nonassoc <pval> PLUGIN_HIGH_OP %left <ival> ARROW %nonassoc <ival> PERLY_PAREN_CLOSE %left <ival> PERLY_PAREN_OPEN @@ -987,8 +984,12 @@ sigsubbody: remember optsubsignature PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE /* Ordinary expressions; logical combinations */ expr : expr[lhs] ANDOP expr[rhs] { $$ = newLOGOP(OP_AND, 0, $lhs, $rhs); } + | expr[lhs] PLUGIN_LOGICAL_AND_LOW_OP[op] expr[rhs] + { $$ = build_infix_plugin($lhs, $rhs, $op); } | expr[lhs] OROP[operator] expr[rhs] { $$ = newLOGOP($operator, 0, $lhs, $rhs); } + | expr[lhs] PLUGIN_LOGICAL_OR_LOW_OP[op] expr[rhs] + { $$ = build_infix_plugin($lhs, $rhs, $op); } | listexpr %prec PREC_LOW ; @@ -1121,24 +1122,26 @@ subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE ; /* Binary operators between terms */ -termbinop: term[lhs] PLUGHIGHOP[op] term[rhs] +termbinop: term[lhs] PLUGIN_HIGH_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] ASSIGNOP term[rhs] /* $x = $y, $x += $y */ { $$ = newASSIGNOP(OPf_STACKED, $lhs, $ASSIGNOP, $rhs); } + | term[lhs] PLUGIN_ASSIGN_OP[op] term[rhs] + { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] POWOP term[rhs] /* $x ** $y */ { $$ = newBINOP($POWOP, 0, scalar($lhs), scalar($rhs)); } - | term[lhs] PLUGPOWOP[op] term[rhs] + | term[lhs] PLUGIN_POW_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] MULOP term[rhs] /* $x * $y, $x x $y */ { if ($MULOP != OP_REPEAT) scalar($lhs); $$ = newBINOP($MULOP, 0, $lhs, scalar($rhs)); } - | term[lhs] PLUGMULOP[op] term[rhs] + | term[lhs] PLUGIN_MUL_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] ADDOP term[rhs] /* $x + $y */ { $$ = newBINOP($ADDOP, 0, scalar($lhs), scalar($rhs)); } - | term[lhs] PLUGADDOP[op] term[rhs] + | term[lhs] PLUGIN_ADD_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] SHIFTOP term[rhs] /* $x >> $y, $x << $y */ { $$ = newBINOP($SHIFTOP, 0, scalar($lhs), scalar($rhs)); } @@ -1154,13 +1157,17 @@ termbinop: term[lhs] PLUGHIGHOP[op] term[rhs] { $$ = newRANGE($DOTDOT, scalar($lhs), scalar($rhs)); } | term[lhs] ANDAND term[rhs] /* $x && $y */ { $$ = newLOGOP(OP_AND, 0, $lhs, $rhs); } + | term[lhs] PLUGIN_LOGICAL_AND_OP[op] term[rhs] + { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] OROR term[rhs] /* $x || $y */ { $$ = newLOGOP(OP_OR, 0, $lhs, $rhs); } + | term[lhs] PLUGIN_LOGICAL_OR_OP[op] term[rhs] + { $$ = build_infix_plugin($lhs, $rhs, $op); } | term[lhs] DORDOR term[rhs] /* $x // $y */ { $$ = newLOGOP(OP_DOR, 0, $lhs, $rhs); } | term[lhs] MATCHOP term[rhs] /* $x =~ /$y/ */ { $$ = bind_match($MATCHOP, $lhs, $rhs); } - | term[lhs] PLUGLOWOP[op] term[rhs] + | term[lhs] PLUGIN_LOW_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } ; @@ -1172,7 +1179,7 @@ termrelop: relopchain %prec PREC_LOW { yyerror("syntax error"); YYERROR; } | termrelop CHRELOP { yyerror("syntax error"); YYERROR; } - | term[lhs] PLUGRELOP[op] term[rhs] + | term[lhs] PLUGIN_REL_OP[op] term[rhs] { $$ = build_infix_plugin($lhs, $rhs, $op); } ; @@ -500,12 +500,17 @@ static struct debug_tokens { DEBUG_TOKEN (IVAL, PERLY_TILDE), DEBUG_TOKEN (OPVAL, PLUGEXPR), DEBUG_TOKEN (OPVAL, PLUGSTMT), - DEBUG_TOKEN (PVAL, PLUGADDOP), - DEBUG_TOKEN (PVAL, PLUGHIGHOP), - DEBUG_TOKEN (PVAL, PLUGLOWOP), - DEBUG_TOKEN (PVAL, PLUGMULOP), - DEBUG_TOKEN (PVAL, PLUGPOWOP), - DEBUG_TOKEN (PVAL, PLUGRELOP), + DEBUG_TOKEN (PVAL, PLUGIN_ADD_OP), + DEBUG_TOKEN (PVAL, PLUGIN_ASSIGN_OP), + DEBUG_TOKEN (PVAL, PLUGIN_HIGH_OP), + DEBUG_TOKEN (PVAL, PLUGIN_LOGICAL_AND_OP), + DEBUG_TOKEN (PVAL, PLUGIN_LOGICAL_OR_OP), + DEBUG_TOKEN (PVAL, PLUGIN_LOGICAL_AND_LOW_OP), + DEBUG_TOKEN (PVAL, PLUGIN_LOGICAL_OR_LOW_OP), + DEBUG_TOKEN (PVAL, PLUGIN_LOW_OP), + DEBUG_TOKEN (PVAL, PLUGIN_MUL_OP), + DEBUG_TOKEN (PVAL, PLUGIN_POW_OP), + DEBUG_TOKEN (PVAL, PLUGIN_REL_OP), DEBUG_TOKEN (OPVAL, PMFUNC), DEBUG_TOKEN (NONE, POSTJOIN), DEBUG_TOKEN (NONE, POSTDEC), @@ -8727,16 +8732,26 @@ static enum yytokentype tokentype_for_plugop(struct Perl_custom_infix *def) { enum Perl_custom_infix_precedence prec = def->prec; if(prec <= INFIX_PREC_LOW) - return PLUGLOWOP; + return PLUGIN_LOW_OP; + if(prec <= INFIX_PREC_LOGICAL_OR_LOW) + return PLUGIN_LOGICAL_OR_LOW_OP; + if(prec <= INFIX_PREC_LOGICAL_AND_LOW) + return PLUGIN_LOGICAL_AND_LOW_OP; + if(prec <= INFIX_PREC_ASSIGN) + return PLUGIN_ASSIGN_OP; + if(prec <= INFIX_PREC_LOGICAL_OR) + return PLUGIN_LOGICAL_OR_OP; + if(prec <= INFIX_PREC_LOGICAL_AND) + return PLUGIN_LOGICAL_AND_OP; if(prec <= INFIX_PREC_REL) - return PLUGRELOP; + return PLUGIN_REL_OP; if(prec <= INFIX_PREC_ADD) - return PLUGADDOP; + return PLUGIN_ADD_OP; if(prec <= INFIX_PREC_MUL) - return PLUGMULOP; + return PLUGIN_MUL_OP; if(prec <= INFIX_PREC_POW) - return PLUGPOWOP; - return PLUGHIGHOP; + return PLUGIN_POW_OP; + return PLUGIN_HIGH_OP; } OP * |