From bfa838ccb94dd637ff52d23247002d8322fc34f3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Branislav=20Zahradn=C3=ADk?= Date: Fri, 11 Dec 2020 17:19:20 +0100 Subject: [PATCH] Distinguish C- and perly- literals - PERLY_DOLLAR --- perly.act | 536 ++++++++++----------- perly.h | 193 ++++---- perly.tab | 1608 ++++++++++++++++++++++++++++++------------------------------- perly.y | 7 +- toke.c | 18 +- 5 files changed, 1171 insertions(+), 1191 deletions(-) diff --git a/perly.act b/perly.act index 8a560e1..d72d1f5 100644 --- a/perly.act +++ b/perly.act @@ -5,7 +5,7 @@ */ case 2: -#line 136 "perly.y" +#line 137 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -14,7 +14,7 @@ case 2: break; case 3: -#line 141 "perly.y" +#line 142 "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 147 "perly.y" +#line 148 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: break; case 5: -#line 152 "perly.y" +#line 153 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -42,7 +42,7 @@ case 2: break; case 6: -#line 157 "perly.y" +#line 158 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: break; case 7: -#line 162 "perly.y" +#line 163 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -63,7 +63,7 @@ case 2: break; case 8: -#line 170 "perly.y" +#line 171 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: break; case 9: -#line 175 "perly.y" +#line 176 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -84,7 +84,7 @@ case 2: break; case 10: -#line 183 "perly.y" +#line 184 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: break; case 11: -#line 188 "perly.y" +#line 189 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -105,7 +105,7 @@ case 2: break; case 12: -#line 196 "perly.y" +#line 197 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: break; case 13: -#line 201 "perly.y" +#line 202 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -123,7 +123,7 @@ case 2: break; case 14: -#line 206 "perly.y" +#line 207 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: break; case 15: -#line 211 "perly.y" +#line 212 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -141,7 +141,7 @@ case 2: break; case 16: -#line 219 "perly.y" +#line 220 "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,7 +150,7 @@ case 2: break; case 17: -#line 227 "perly.y" +#line 228 "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)); @@ -159,14 +159,14 @@ case 2: break; case 18: -#line 234 "perly.y" +#line 235 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; case 19: -#line 239 "perly.y" +#line 240 "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)); @@ -175,20 +175,20 @@ case 2: break; case 20: -#line 246 "perly.y" +#line 247 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; case 21: -#line 252 "perly.y" +#line 253 "perly.y" { (yyval.opval) = NULL; } break; case 22: -#line 254 "perly.y" +#line 255 "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)) @@ -198,13 +198,13 @@ case 2: break; case 23: -#line 263 "perly.y" +#line 264 "perly.y" { (yyval.opval) = NULL; } break; case 24: -#line 265 "perly.y" +#line 266 "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)) @@ -214,7 +214,7 @@ case 2: break; case 25: -#line 274 "perly.y" +#line 275 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } @@ -222,13 +222,13 @@ case 2: break; case 26: -#line 278 "perly.y" +#line 279 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 27: -#line 282 "perly.y" +#line 283 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -239,7 +239,7 @@ case 2: break; case 28: -#line 289 "perly.y" +#line 290 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -250,13 +250,13 @@ case 2: break; case 29: -#line 299 "perly.y" +#line 300 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 30: -#line 301 "perly.y" +#line 302 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -270,7 +270,7 @@ case 2: break; case 31: -#line 313 "perly.y" +#line 314 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -280,7 +280,7 @@ case 2: break; case 32: -#line 319 "perly.y" +#line 320 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -295,7 +295,7 @@ case 2: break; case 33: -#line 334 "perly.y" +#line 335 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -305,7 +305,7 @@ case 2: break; case 34: -#line 340 "perly.y" +#line 341 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-4].val.opval)->op_type == OP_CONST @@ -320,7 +320,7 @@ case 2: break; case 35: -#line 351 "perly.y" +#line 352 "perly.y" { package((ps[-1].val.opval)); if ((ps[-2].val.opval)) @@ -331,13 +331,13 @@ case 2: break; case 36: -#line 358 "perly.y" +#line 359 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; case 37: -#line 360 "perly.y" +#line 361 "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)); @@ -348,7 +348,7 @@ case 2: break; case 38: -#line 367 "perly.y" +#line 368 "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))); @@ -358,7 +358,7 @@ case 2: break; case 39: -#line 373 "perly.y" +#line 374 "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)))); @@ -368,7 +368,7 @@ case 2: break; case 40: -#line 379 "perly.y" +#line 380 "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); @@ -377,19 +377,19 @@ case 2: break; case 41: -#line 384 "perly.y" +#line 385 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; case 42: -#line 386 "perly.y" +#line 387 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } break; case 43: -#line 388 "perly.y" +#line 389 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -400,7 +400,7 @@ case 2: break; case 44: -#line 395 "perly.y" +#line 396 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -411,19 +411,19 @@ case 2: break; case 45: -#line 402 "perly.y" +#line 403 "perly.y" { parser->expect = XTERM; } break; case 46: -#line 404 "perly.y" +#line 405 "perly.y" { parser->expect = XTERM; } break; case 47: -#line 407 "perly.y" +#line 408 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, @@ -442,7 +442,7 @@ case 2: break; case 48: -#line 422 "perly.y" +#line 423 "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); @@ -451,7 +451,7 @@ case 2: break; case 49: -#line 427 "perly.y" +#line 428 "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))); @@ -461,13 +461,13 @@ case 2: break; case 50: -#line 433 "perly.y" +#line 434 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; case 51: -#line 435 "perly.y" +#line 436 "perly.y" { (yyval.opval) = block_end( (ps[-7].val.ival), @@ -484,7 +484,7 @@ case 2: break; case 52: -#line 448 "perly.y" +#line 449 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP( 0, op_lvalue(newUNOP(OP_REFGEN, 0, @@ -496,7 +496,7 @@ case 2: break; case 53: -#line 456 "perly.y" +#line 457 "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))); @@ -506,7 +506,7 @@ case 2: break; case 54: -#line 462 "perly.y" +#line 463 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -516,7 +516,7 @@ case 2: break; case 55: -#line 468 "perly.y" +#line 469 "perly.y" { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) { @@ -527,7 +527,7 @@ case 2: break; case 56: -#line 475 "perly.y" +#line 476 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -539,7 +539,7 @@ case 2: break; case 57: -#line 483 "perly.y" +#line 484 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -547,7 +547,7 @@ case 2: break; case 58: -#line 487 "perly.y" +#line 488 "perly.y" { (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -556,7 +556,7 @@ case 2: break; case 59: -#line 492 "perly.y" +#line 493 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -565,7 +565,7 @@ case 2: break; case 60: -#line 500 "perly.y" +#line 501 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -584,74 +584,74 @@ case 2: break; case 61: -#line 517 "perly.y" +#line 518 "perly.y" { (yyval.opval) = NULL; } break; case 62: -#line 519 "perly.y" +#line 520 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; case 64: -#line 527 "perly.y" +#line 528 "perly.y" { (yyval.opval) = NULL; } break; case 65: -#line 529 "perly.y" +#line 530 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 66: -#line 531 "perly.y" +#line 532 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 67: -#line 533 "perly.y" +#line 534 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 68: -#line 535 "perly.y" +#line 536 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; case 69: -#line 537 "perly.y" +#line 538 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; case 70: -#line 539 "perly.y" +#line 540 "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 71: -#line 542 "perly.y" +#line 543 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; case 72: -#line 547 "perly.y" +#line 548 "perly.y" { (yyval.opval) = NULL; } break; case 73: -#line 549 "perly.y" +#line 550 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -660,7 +660,7 @@ case 2: break; case 74: -#line 554 "perly.y" +#line 555 "perly.y" { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -671,19 +671,19 @@ case 2: break; case 75: -#line 564 "perly.y" +#line 565 "perly.y" { (yyval.opval) = NULL; } break; case 76: -#line 566 "perly.y" +#line 567 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 77: -#line 571 "perly.y" +#line 572 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } @@ -691,13 +691,13 @@ case 2: break; case 78: -#line 577 "perly.y" +#line 578 "perly.y" { (yyval.opval) = NULL; } break; case 80: -#line 583 "perly.y" +#line 584 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } @@ -705,118 +705,118 @@ case 2: break; case 82: -#line 591 "perly.y" +#line 592 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; case 83: -#line 596 "perly.y" +#line 597 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 84: -#line 600 "perly.y" +#line 601 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; case 85: -#line 603 "perly.y" +#line 604 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 86: -#line 604 "perly.y" +#line 605 "perly.y" { (yyval.opval) = NULL; } break; case 87: -#line 608 "perly.y" +#line 609 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; case 88: -#line 614 "perly.y" +#line 615 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; case 89: -#line 619 "perly.y" +#line 620 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; case 92: -#line 630 "perly.y" +#line 631 "perly.y" { (yyval.opval) = NULL; } break; case 94: -#line 636 "perly.y" +#line 637 "perly.y" { (yyval.opval) = NULL; } break; case 95: -#line 638 "perly.y" +#line 639 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 96: -#line 640 "perly.y" +#line 641 "perly.y" { (yyval.opval) = NULL; } break; case 97: -#line 645 "perly.y" +#line 646 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 98: -#line 647 "perly.y" +#line 648 "perly.y" { (yyval.opval) = NULL; } break; case 99: -#line 658 "perly.y" +#line 659 "perly.y" { parser->in_my = 0; (yyval.opval) = NULL; } break; case 100: -#line 660 "perly.y" +#line 661 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; case 101: -#line 665 "perly.y" +#line 666 "perly.y" { (yyval.ival) = '@'; } break; case 102: -#line 667 "perly.y" +#line 668 "perly.y" { (yyval.ival) = '%'; } break; case 103: -#line 671 "perly.y" +#line 672 "perly.y" { I32 sigil = (ps[-2].val.ival); OP *var = (ps[-1].val.opval); @@ -836,25 +836,25 @@ case 2: break; case 104: -#line 690 "perly.y" +#line 691 "perly.y" { (yyval.opval) = NULL; } break; case 105: -#line 692 "perly.y" +#line 693 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; case 106: -#line 694 "perly.y" +#line 695 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 107: -#line 700 "perly.y" +#line 701 "perly.y" { OP *var = (ps[-1].val.opval); OP *defexpr = (ps[0].val.opval); @@ -919,25 +919,25 @@ case 2: break; case 108: -#line 765 "perly.y" +#line 766 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 109: -#line 767 "perly.y" +#line 768 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; case 110: -#line 773 "perly.y" +#line 774 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 111: -#line 775 "perly.y" +#line 776 "perly.y" { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval)); } @@ -945,43 +945,43 @@ case 2: break; case 112: -#line 779 "perly.y" +#line 780 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 113: -#line 784 "perly.y" +#line 785 "perly.y" { (yyval.opval) = NULL; } break; case 114: -#line 786 "perly.y" +#line 787 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 115: -#line 790 "perly.y" +#line 791 "perly.y" { (yyval.opval) = NULL; } break; case 116: -#line 792 "perly.y" +#line 793 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 117: -#line 796 "perly.y" +#line 797 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 118: -#line 799 "perly.y" +#line 800 "perly.y" { ENTER; SAVEIV(parser->sig_elems); @@ -996,7 +996,7 @@ case 2: break; case 119: -#line 810 "perly.y" +#line 811 "perly.y" { OP *sigops = (ps[0].val.opval); struct op_argcheck_aux *aux; @@ -1055,19 +1055,19 @@ case 2: break; case 120: -#line 867 "perly.y" +#line 868 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 121: -#line 868 "perly.y" +#line 869 "perly.y" { (yyval.opval) = NULL; } break; case 122: -#line 874 "perly.y" +#line 875 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1077,19 +1077,19 @@ case 2: break; case 123: -#line 884 "perly.y" +#line 885 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 124: -#line 885 "perly.y" +#line 886 "perly.y" { (yyval.opval) = NULL; } break; case 125: -#line 889 "perly.y" +#line 890 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1100,31 +1100,31 @@ case 2: break; case 126: -#line 900 "perly.y" +#line 901 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 127: -#line 902 "perly.y" +#line 903 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 128: -#line 904 "perly.y" +#line 905 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 130: -#line 910 "perly.y" +#line 911 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; case 131: -#line 912 "perly.y" +#line 913 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1133,7 +1133,7 @@ case 2: break; case 133: -#line 921 "perly.y" +#line 922 "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)) ); } @@ -1141,7 +1141,7 @@ case 2: break; case 134: -#line 925 "perly.y" +#line 926 "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)) ); } @@ -1149,7 +1149,7 @@ case 2: break; case 135: -#line 929 "perly.y" +#line 930 "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)), @@ -1159,7 +1159,7 @@ case 2: break; case 136: -#line 935 "perly.y" +#line 936 "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)))); @@ -1168,7 +1168,7 @@ case 2: break; case 137: -#line 940 "perly.y" +#line 941 "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)), @@ -1178,7 +1178,7 @@ case 2: break; case 138: -#line 946 "perly.y" +#line 947 "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)), @@ -1188,32 +1188,32 @@ case 2: break; case 139: -#line 952 "perly.y" +#line 953 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 140: -#line 954 "perly.y" +#line 955 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 141: -#line 956 "perly.y" +#line 957 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 142: -#line 958 "perly.y" +#line 959 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); } break; case 143: -#line 961 "perly.y" +#line 962 "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))); @@ -1222,20 +1222,20 @@ case 2: break; case 146: -#line 976 "perly.y" +#line 977 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; case 147: -#line 978 "perly.y" +#line 979 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; case 148: -#line 981 "perly.y" +#line 982 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1244,7 +1244,7 @@ case 2: break; case 149: -#line 986 "perly.y" +#line 987 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1253,14 +1253,14 @@ case 2: break; case 150: -#line 991 "perly.y" +#line 992 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; case 151: -#line 994 "perly.y" +#line 995 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } @@ -1268,7 +1268,7 @@ case 2: break; case 152: -#line 998 "perly.y" +#line 999 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } @@ -1276,7 +1276,7 @@ case 2: break; case 153: -#line 1002 "perly.y" +#line 1003 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1286,7 +1286,7 @@ case 2: break; case 154: -#line 1008 "perly.y" +#line 1009 "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))))); @@ -1297,7 +1297,7 @@ case 2: break; case 155: -#line 1016 "perly.y" +#line 1017 "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))))); @@ -1308,7 +1308,7 @@ case 2: break; case 156: -#line 1023 "perly.y" +#line 1024 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1318,37 +1318,37 @@ case 2: break; case 157: -#line 1029 "perly.y" +#line 1030 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; case 158: -#line 1031 "perly.y" +#line 1032 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; case 159: -#line 1033 "perly.y" +#line 1034 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; case 160: -#line 1038 "perly.y" +#line 1039 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; case 161: -#line 1040 "perly.y" +#line 1041 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 162: -#line 1042 "perly.y" +#line 1043 "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))); @@ -1357,183 +1357,183 @@ case 2: break; case 163: -#line 1047 "perly.y" +#line 1048 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 164: -#line 1049 "perly.y" +#line 1050 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 165: -#line 1051 "perly.y" +#line 1052 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 166: -#line 1053 "perly.y" +#line 1054 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 167: -#line 1055 "perly.y" +#line 1056 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 168: -#line 1057 "perly.y" +#line 1058 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 169: -#line 1059 "perly.y" +#line 1060 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 170: -#line 1061 "perly.y" +#line 1062 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 171: -#line 1063 "perly.y" +#line 1064 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 172: -#line 1065 "perly.y" +#line 1066 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; case 173: -#line 1067 "perly.y" +#line 1068 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 174: -#line 1071 "perly.y" +#line 1072 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; case 175: -#line 1073 "perly.y" +#line 1074 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 176: -#line 1075 "perly.y" +#line 1076 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 177: -#line 1077 "perly.y" +#line 1078 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 178: -#line 1081 "perly.y" +#line 1082 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 179: -#line 1083 "perly.y" +#line 1084 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 180: -#line 1087 "perly.y" +#line 1088 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; case 181: -#line 1089 "perly.y" +#line 1090 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; case 182: -#line 1091 "perly.y" +#line 1092 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 183: -#line 1093 "perly.y" +#line 1094 "perly.y" { yyerror("syntax error"); YYERROR; } break; case 184: -#line 1097 "perly.y" +#line 1098 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 185: -#line 1099 "perly.y" +#line 1100 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 186: -#line 1104 "perly.y" +#line 1105 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; case 187: -#line 1106 "perly.y" +#line 1107 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 188: -#line 1109 "perly.y" +#line 1110 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; case 189: -#line 1111 "perly.y" +#line 1112 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; case 190: -#line 1113 "perly.y" +#line 1114 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; case 191: -#line 1116 "perly.y" +#line 1117 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; case 192: -#line 1119 "perly.y" +#line 1120 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1548,155 +1548,155 @@ case 2: break; case 193: -#line 1130 "perly.y" +#line 1131 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; case 194: -#line 1133 "perly.y" +#line 1134 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; case 195: -#line 1140 "perly.y" +#line 1141 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; case 196: -#line 1142 "perly.y" +#line 1143 "perly.y" { (yyval.opval) = newANONLIST(NULL);} break; case 197: -#line 1144 "perly.y" +#line 1145 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; case 198: -#line 1146 "perly.y" +#line 1147 "perly.y" { (yyval.opval) = newANONHASH(NULL); } break; case 199: -#line 1148 "perly.y" +#line 1149 "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 200: -#line 1151 "perly.y" +#line 1152 "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 201: -#line 1157 "perly.y" +#line 1158 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; case 202: -#line 1159 "perly.y" +#line 1160 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; case 207: -#line 1167 "perly.y" +#line 1168 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; case 208: -#line 1169 "perly.y" +#line 1170 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; case 209: -#line 1171 "perly.y" +#line 1172 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; case 210: -#line 1173 "perly.y" +#line 1174 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 211: -#line 1175 "perly.y" +#line 1176 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; case 212: -#line 1177 "perly.y" +#line 1178 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; case 213: -#line 1179 "perly.y" +#line 1180 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 214: -#line 1181 "perly.y" +#line 1182 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; case 215: -#line 1183 "perly.y" +#line 1184 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 216: -#line 1185 "perly.y" +#line 1186 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 217: -#line 1187 "perly.y" +#line 1188 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 218: -#line 1189 "perly.y" +#line 1190 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 219: -#line 1191 "perly.y" +#line 1192 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; case 220: -#line 1193 "perly.y" +#line 1194 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 221: -#line 1195 "perly.y" +#line 1196 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1710,7 +1710,7 @@ case 2: break; case 222: -#line 1205 "perly.y" +#line 1206 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1724,7 +1724,7 @@ case 2: break; case 223: -#line 1215 "perly.y" +#line 1216 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1738,7 +1738,7 @@ case 2: break; case 224: -#line 1225 "perly.y" +#line 1226 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1752,26 +1752,26 @@ case 2: break; case 225: -#line 1235 "perly.y" +#line 1236 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 226: -#line 1237 "perly.y" +#line 1238 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; case 227: -#line 1239 "perly.y" +#line 1240 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; case 228: -#line 1242 "perly.y" +#line 1243 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1780,7 +1780,7 @@ case 2: break; case 229: -#line 1247 "perly.y" +#line 1248 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } @@ -1788,130 +1788,130 @@ case 2: break; case 230: -#line 1251 "perly.y" +#line 1252 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; case 231: -#line 1253 "perly.y" +#line 1254 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; case 232: -#line 1255 "perly.y" +#line 1256 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; case 233: -#line 1257 "perly.y" +#line 1258 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; case 234: -#line 1260 "perly.y" +#line 1261 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; case 235: -#line 1262 "perly.y" +#line 1263 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; case 236: -#line 1265 "perly.y" +#line 1266 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; case 237: -#line 1267 "perly.y" +#line 1268 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; case 238: -#line 1269 "perly.y" +#line 1270 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; case 239: -#line 1271 "perly.y" +#line 1272 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 240: -#line 1273 "perly.y" +#line 1274 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; case 241: -#line 1275 "perly.y" +#line 1276 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; case 242: -#line 1277 "perly.y" +#line 1278 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; case 243: -#line 1279 "perly.y" +#line 1280 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; case 244: -#line 1281 "perly.y" +#line 1282 "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 245: -#line 1284 "perly.y" +#line 1285 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; case 246: -#line 1286 "perly.y" +#line 1287 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; case 247: -#line 1288 "perly.y" +#line 1289 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 248: -#line 1290 "perly.y" +#line 1291 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; case 249: -#line 1292 "perly.y" +#line 1293 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; case 250: -#line 1294 "perly.y" +#line 1295 "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); } @@ -1919,13 +1919,13 @@ case 2: break; case 251: -#line 1298 "perly.y" +#line 1299 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; case 252: -#line 1300 "perly.y" +#line 1301 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -1940,115 +1940,115 @@ case 2: break; case 253: -#line 1311 "perly.y" +#line 1312 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; case 257: -#line 1319 "perly.y" +#line 1320 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; case 258: -#line 1321 "perly.y" +#line 1322 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; case 259: -#line 1323 "perly.y" +#line 1324 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; case 260: -#line 1328 "perly.y" +#line 1329 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; case 261: -#line 1330 "perly.y" +#line 1331 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; case 262: -#line 1333 "perly.y" +#line 1334 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 263: -#line 1335 "perly.y" +#line 1336 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 264: -#line 1337 "perly.y" +#line 1338 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 265: -#line 1342 "perly.y" +#line 1343 "perly.y" { (yyval.opval) = NULL; } break; case 266: -#line 1344 "perly.y" +#line 1345 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 267: -#line 1348 "perly.y" +#line 1349 "perly.y" { (yyval.opval) = NULL; } break; case 268: -#line 1350 "perly.y" +#line 1351 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 269: -#line 1354 "perly.y" +#line 1355 "perly.y" { (yyval.opval) = NULL; } break; case 270: -#line 1356 "perly.y" +#line 1357 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; case 271: -#line 1362 "perly.y" +#line 1363 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; case 279: -#line 1379 "perly.y" +#line 1380 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; case 280: -#line 1383 "perly.y" +#line 1384 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; case 281: -#line 1387 "perly.y" +#line 1388 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } @@ -2056,7 +2056,7 @@ case 2: break; case 282: -#line 1393 "perly.y" +#line 1394 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } @@ -2064,61 +2064,61 @@ case 2: break; case 283: -#line 1399 "perly.y" +#line 1400 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; case 284: -#line 1401 "perly.y" +#line 1402 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; case 285: -#line 1405 "perly.y" +#line 1406 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; case 287: -#line 1410 "perly.y" +#line 1411 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; case 289: -#line 1415 "perly.y" +#line 1416 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; case 291: -#line 1420 "perly.y" +#line 1421 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; case 292: -#line 1425 "perly.y" +#line 1426 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; case 293: -#line 1427 "perly.y" +#line 1428 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; case 294: -#line 1429 "perly.y" +#line 1430 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; case 295: -#line 1432 "perly.y" +#line 1433 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2130,6 +2130,6 @@ case 2: /* Generated from: - * 7422f72c5dfff4e2c8cd87e56299968b4a39681f2cc3b81767c0ccd50b4e2054 perly.y + * 125e373e186e1cf8e055f2faf0d9fa51818b4e2b7b6bfda0b1688f3da43b8c35 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ diff --git a/perly.h b/perly.h index 3d37a83..0fec7dc 100644 --- a/perly.h +++ b/perly.h @@ -69,101 +69,102 @@ extern int yydebug; PERLY_BRACKET_OPEN = 268, PERLY_BRACKET_CLOSE = 269, PERLY_COMMA = 270, - PERLY_DOT = 271, - PERLY_EQUAL_SIGN = 272, - PERLY_MINUS = 273, - PERLY_PERCENT_SIGN = 274, - PERLY_PLUS = 275, - PERLY_SEMICOLON = 276, - PERLY_SLASH = 277, - PERLY_SNAIL = 278, - PERLY_STAR = 279, - BAREWORD = 280, - METHOD = 281, - FUNCMETH = 282, - THING = 283, - PMFUNC = 284, - PRIVATEREF = 285, - QWLIST = 286, - FUNC0OP = 287, - FUNC0SUB = 288, - UNIOPSUB = 289, - LSTOPSUB = 290, - PLUGEXPR = 291, - PLUGSTMT = 292, - LABEL = 293, - FORMAT = 294, - SUB = 295, - SIGSUB = 296, - ANONSUB = 297, - ANON_SIGSUB = 298, - PACKAGE = 299, - USE = 300, - WHILE = 301, - UNTIL = 302, - IF = 303, - UNLESS = 304, - ELSE = 305, - ELSIF = 306, - CONTINUE = 307, - FOR = 308, - GIVEN = 309, - WHEN = 310, - DEFAULT = 311, - LOOPEX = 312, - DOTDOT = 313, - YADAYADA = 314, - FUNC0 = 315, - FUNC1 = 316, - FUNC = 317, - UNIOP = 318, - LSTOP = 319, - MULOP = 320, - ADDOP = 321, - DOLSHARP = 322, - DO = 323, - HASHBRACK = 324, - NOAMP = 325, - LOCAL = 326, - MY = 327, - REQUIRE = 328, - COLONATTR = 329, - FORMLBRACK = 330, - FORMRBRACK = 331, - SUBLEXSTART = 332, - SUBLEXEND = 333, - PREC_LOW = 334, - OROP = 335, - DOROP = 336, - ANDOP = 337, - NOTOP = 338, - ASSIGNOP = 339, - PERLY_QUESTION_MARK = 340, - PERLY_COLON = 341, - OROR = 342, - DORDOR = 343, - ANDAND = 344, - BITOROP = 345, - BITANDOP = 346, - CHEQOP = 347, - NCEQOP = 348, - CHRELOP = 349, - NCRELOP = 350, - SHIFTOP = 351, - MATCHOP = 352, - PERLY_EXCLAMATION_MARK = 353, - PERLY_TILDE = 354, - UMINUS = 355, - REFGEN = 356, - POWOP = 357, - PREINC = 358, - PREDEC = 359, - POSTINC = 360, - POSTDEC = 361, - POSTJOIN = 362, - ARROW = 363, - PERLY_PAREN_CLOSE = 364, - PERLY_PAREN_OPEN = 365 + PERLY_DOLLAR = 271, + PERLY_DOT = 272, + PERLY_EQUAL_SIGN = 273, + PERLY_MINUS = 274, + PERLY_PERCENT_SIGN = 275, + PERLY_PLUS = 276, + PERLY_SEMICOLON = 277, + PERLY_SLASH = 278, + PERLY_SNAIL = 279, + PERLY_STAR = 280, + BAREWORD = 281, + METHOD = 282, + FUNCMETH = 283, + THING = 284, + PMFUNC = 285, + PRIVATEREF = 286, + QWLIST = 287, + FUNC0OP = 288, + FUNC0SUB = 289, + UNIOPSUB = 290, + LSTOPSUB = 291, + PLUGEXPR = 292, + PLUGSTMT = 293, + LABEL = 294, + FORMAT = 295, + SUB = 296, + SIGSUB = 297, + ANONSUB = 298, + ANON_SIGSUB = 299, + PACKAGE = 300, + USE = 301, + WHILE = 302, + UNTIL = 303, + IF = 304, + UNLESS = 305, + ELSE = 306, + ELSIF = 307, + CONTINUE = 308, + FOR = 309, + GIVEN = 310, + WHEN = 311, + DEFAULT = 312, + LOOPEX = 313, + DOTDOT = 314, + YADAYADA = 315, + FUNC0 = 316, + FUNC1 = 317, + FUNC = 318, + UNIOP = 319, + LSTOP = 320, + MULOP = 321, + ADDOP = 322, + DOLSHARP = 323, + DO = 324, + HASHBRACK = 325, + NOAMP = 326, + LOCAL = 327, + MY = 328, + REQUIRE = 329, + COLONATTR = 330, + FORMLBRACK = 331, + FORMRBRACK = 332, + SUBLEXSTART = 333, + SUBLEXEND = 334, + PREC_LOW = 335, + OROP = 336, + DOROP = 337, + ANDOP = 338, + NOTOP = 339, + ASSIGNOP = 340, + PERLY_QUESTION_MARK = 341, + PERLY_COLON = 342, + OROR = 343, + DORDOR = 344, + ANDAND = 345, + BITOROP = 346, + BITANDOP = 347, + CHEQOP = 348, + NCEQOP = 349, + CHRELOP = 350, + NCRELOP = 351, + SHIFTOP = 352, + MATCHOP = 353, + PERLY_EXCLAMATION_MARK = 354, + PERLY_TILDE = 355, + UMINUS = 356, + REFGEN = 357, + POWOP = 358, + PREINC = 359, + PREDEC = 360, + POSTINC = 361, + POSTDEC = 362, + POSTJOIN = 363, + ARROW = 364, + PERLY_PAREN_CLOSE = 365, + PERLY_PAREN_OPEN = 366 }; #endif @@ -215,6 +216,6 @@ int yyparse (void); /* Generated from: - * 7422f72c5dfff4e2c8cd87e56299968b4a39681f2cc3b81767c0ccd50b4e2054 perly.y + * 125e373e186e1cf8e055f2faf0d9fa51818b4e2b7b6bfda0b1688f3da43b8c35 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ diff --git a/perly.tab b/perly.tab index 133b693..c27aaea 100644 --- a/perly.tab +++ b/perly.tab @@ -6,7 +6,7 @@ #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3258 +#define YYLAST 3137 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 112 @@ -18,7 +18,7 @@ #define YYNSTATES 573 #define YYUNDEFTOK 2 -#define YYMAXUTOK 365 +#define YYMAXUTOK 366 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -33,7 +33,7 @@ static const yytype_int8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 111, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -66,43 +66,43 @@ static const yytype_int8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 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 + 105, 106, 107, 108, 109, 110, 111 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 136, 136, 135, 147, 146, 157, 156, 170, 169, - 183, 182, 196, 195, 206, 205, 218, 226, 234, 238, - 246, 252, 253, 263, 264, 273, 277, 281, 288, 298, - 300, 313, 310, 334, 329, 350, 358, 357, 366, 372, - 378, 383, 385, 387, 394, 402, 404, 401, 421, 426, - 433, 432, 447, 455, 461, 468, 467, 482, 486, 491, - 499, 517, 518, 522, 526, 528, 530, 532, 534, 536, - 538, 541, 547, 548, 553, 564, 565, 571, 577, 578, - 583, 586, 590, 595, 599, 603, 604, 608, 614, 619, - 624, 625, 630, 631, 636, 637, 639, 644, 646, 658, - 659, 664, 666, 670, 690, 691, 693, 699, 764, 766, - 772, 774, 778, 784, 785, 790, 791, 795, 799, 799, - 867, 868, 873, 884, 885, 888, 899, 901, 903, 905, - 909, 911, 916, 920, 924, 928, 934, 939, 945, 951, - 953, 955, 958, 957, 968, 969, 973, 977, 980, 985, - 990, 993, 997, 1001, 1007, 1015, 1022, 1028, 1030, 1032, - 1037, 1039, 1041, 1046, 1048, 1050, 1052, 1054, 1056, 1058, - 1060, 1062, 1064, 1066, 1070, 1072, 1074, 1076, 1080, 1082, - 1086, 1088, 1090, 1092, 1096, 1098, 1103, 1105, 1108, 1110, - 1112, 1115, 1118, 1129, 1132, 1139, 1141, 1143, 1145, 1147, - 1150, 1156, 1158, 1162, 1163, 1164, 1165, 1166, 1168, 1170, - 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, - 1192, 1194, 1204, 1214, 1224, 1234, 1236, 1238, 1241, 1246, - 1250, 1252, 1254, 1256, 1259, 1261, 1264, 1266, 1268, 1270, - 1272, 1274, 1276, 1278, 1280, 1283, 1285, 1287, 1289, 1291, - 1293, 1297, 1300, 1299, 1312, 1313, 1314, 1318, 1320, 1322, - 1327, 1329, 1332, 1334, 1336, 1341, 1343, 1348, 1349, 1354, - 1355, 1361, 1365, 1366, 1367, 1370, 1371, 1374, 1375, 1378, - 1382, 1386, 1392, 1398, 1400, 1404, 1408, 1409, 1413, 1414, - 1418, 1419, 1424, 1426, 1428, 1431 + 0, 137, 137, 136, 148, 147, 158, 157, 171, 170, + 184, 183, 197, 196, 207, 206, 219, 227, 235, 239, + 247, 253, 254, 264, 265, 274, 278, 282, 289, 299, + 301, 314, 311, 335, 330, 351, 359, 358, 367, 373, + 379, 384, 386, 388, 395, 403, 405, 402, 422, 427, + 434, 433, 448, 456, 462, 469, 468, 483, 487, 492, + 500, 518, 519, 523, 527, 529, 531, 533, 535, 537, + 539, 542, 548, 549, 554, 565, 566, 572, 578, 579, + 584, 587, 591, 596, 600, 604, 605, 609, 615, 620, + 625, 626, 631, 632, 637, 638, 640, 645, 647, 659, + 660, 665, 667, 671, 691, 692, 694, 700, 765, 767, + 773, 775, 779, 785, 786, 791, 792, 796, 800, 800, + 868, 869, 874, 885, 886, 889, 900, 902, 904, 906, + 910, 912, 917, 921, 925, 929, 935, 940, 946, 952, + 954, 956, 959, 958, 969, 970, 974, 978, 981, 986, + 991, 994, 998, 1002, 1008, 1016, 1023, 1029, 1031, 1033, + 1038, 1040, 1042, 1047, 1049, 1051, 1053, 1055, 1057, 1059, + 1061, 1063, 1065, 1067, 1071, 1073, 1075, 1077, 1081, 1083, + 1087, 1089, 1091, 1093, 1097, 1099, 1104, 1106, 1109, 1111, + 1113, 1116, 1119, 1130, 1133, 1140, 1142, 1144, 1146, 1148, + 1151, 1157, 1159, 1163, 1164, 1165, 1166, 1167, 1169, 1171, + 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, + 1193, 1195, 1205, 1215, 1225, 1235, 1237, 1239, 1242, 1247, + 1251, 1253, 1255, 1257, 1260, 1262, 1265, 1267, 1269, 1271, + 1273, 1275, 1277, 1279, 1281, 1284, 1286, 1288, 1290, 1292, + 1294, 1298, 1301, 1300, 1313, 1314, 1315, 1319, 1321, 1323, + 1328, 1330, 1333, 1335, 1337, 1342, 1344, 1349, 1350, 1355, + 1356, 1362, 1366, 1367, 1368, 1371, 1372, 1375, 1376, 1379, + 1383, 1387, 1393, 1399, 1401, 1405, 1409, 1410, 1414, 1415, + 1419, 1420, 1425, 1427, 1429, 1432 }; #endif @@ -114,23 +114,23 @@ static const char *const yytname[] = "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK", "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE", - "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOT", - "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", - "PERLY_SEMICOLON", "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR", - "BAREWORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", - "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", - "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", - "PACKAGE", "USE", "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", - "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", - "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", - "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", - "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", - "PREC_LOW", "OROP", "DOROP", "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", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", - "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "'$'", "$accept", + "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", + "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS", + "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH", + "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD", "FUNCMETH", "THING", + "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", + "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB", + "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF", + "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT", + "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", + "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", + "LOCAL", "MY", "REQUIRE", "COLONATTR", "FORMLBRACK", "FORMRBRACK", + "SUBLEXSTART", "SUBLEXEND", "PREC_LOW", "OROP", "DOROP", "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", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", + "POSTJOIN", "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11", @@ -166,11 +166,11 @@ static const yytype_int16 yytoknum[] = 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 36 + 365, 366 }; # endif -#define YYPACT_NINF (-486) +#define YYPACT_NINF (-497) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -184,64 +184,64 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 894, -486, -486, -486, -486, -486, -486, -486, 17, -486, - 2892, 15, 1393, 1298, -486, -486, -486, -486, 29, 1942, - 2892, 29, 2892, 29, 29, -486, 29, 29, -486, -486, - 39, -64, -486, 2892, -486, -486, -486, -486, 2892, -31, - -22, -45, 2037, 1847, 29, 2037, 2132, 33, 2892, 61, - 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2227, 29, 184, - 49, -486, 2, -486, 177, 19, 186, 5, -486, -486, - -486, 3060, -486, -486, 9, 81, 162, 224, -486, 94, - 236, 244, 113, -486, -486, -486, -486, -486, -486, 33, - 33, 116, -486, 36, 41, 67, 70, -3, 98, 103, - 15, 206, 182, -486, 217, 1486, 1298, -486, -486, -486, - 528, -486, 47, 633, -486, -486, -486, -486, -486, -486, - 20, 890, -486, 890, -486, -486, 2892, 151, 197, 2892, - 171, 808, 15, 281, 237, 3060, 204, 2322, 2892, 1847, - -486, 808, 1747, 49, -486, 1649, 2892, -486, -486, 808, - 303, 102, -486, -486, 2892, 808, 2987, 2417, 247, -486, - -486, -486, 808, 49, 890, 890, 890, 88, 88, 305, - 79, -486, 2892, 2892, 2892, 2892, 2892, 2892, 2512, -486, - -486, 2892, -486, -486, 2892, 2892, 2892, 2892, 2892, 2892, - 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, - 2892, 2892, -486, -486, -486, 80, 2607, 2892, 2892, 2892, - 2892, 2892, 2892, 2892, -486, 298, -486, -486, 307, -486, - -486, -486, -486, -486, 225, 0, -486, -486, 228, -486, - -486, -486, -486, 15, -486, -486, 2892, 2892, 2892, 2892, - 2892, 2892, -486, -486, -486, -486, -486, 310, 310, -486, - -486, -486, 327, -486, -486, -486, 2892, 2892, 46, -486, - -486, -486, 237, 321, -486, -486, -486, 289, 288, 264, - 2892, 49, -486, 363, -486, 2702, 890, 247, 22, 44, - 176, -486, 325, 359, -486, 2892, 375, 314, 314, -486, - 3060, 160, 54, -486, 368, 808, 416, 3150, 992, 360, - 3060, 3015, 513, 513, 618, 393, 713, 416, 416, 808, - 808, 903, 890, 890, 373, 2892, 2892, 376, 378, 379, - -486, 380, 2797, 26, 313, -486, -486, 398, 188, 130, - 296, 164, 299, 172, 312, 728, -486, 391, -486, -486, - 32, 384, 2892, 2892, 2892, 2892, -486, 300, -486, -486, - 318, -486, -486, -486, -486, 1488, 52, -486, 2892, 2892, - -486, -486, 184, -486, 184, -486, -486, -486, -486, -486, - 329, 329, 47, 308, 59, -486, 2892, -486, -486, 319, - -486, -486, -486, -486, 424, -486, 3, 434, -486, -486, - -486, 178, 2892, 407, -486, -486, 2892, -486, 340, 222, - -486, -486, -486, -486, -486, 532, -486, 2892, -486, 412, - -486, 418, -486, 423, -486, 425, -486, -486, -486, 281, - 237, -486, -486, 413, 334, 184, 335, 336, 184, 338, - 341, -486, -486, -486, -486, 343, 435, 309, -486, 2892, - 346, 351, 2892, -486, -486, -486, -486, 2892, 383, -486, - 458, -486, -486, 462, -486, -486, 11, -486, 249, -486, - 3105, 463, -486, -486, 385, -486, -486, -486, -486, 471, - 237, 472, -486, 2892, -486, -486, 486, 486, 2892, 2892, - 486, -486, 410, 399, 486, 486, 3060, 184, -486, -486, - 408, -486, -486, -486, -486, 443, 504, -486, -486, -486, - -486, 505, 486, 486, -486, 232, 232, 421, 422, 182, - 2892, 2892, 486, -486, -486, 823, -486, 918, -486, -486, - -486, -486, 1013, -486, 182, 182, -486, 486, 417, -486, - -486, 486, 486, -486, 511, 426, 182, -486, -486, 111, - -486, -486, -486, 1108, -486, 2892, 182, 182, -486, 486, - -486, 520, 465, -486, -486, 436, -486, -486, -486, 182, - -486, -486, -486, 486, 1583, -486, 1203, 232, 441, -486, - -486, 486, -486 + 1082, -497, -497, -497, -497, -497, -497, -497, 30, -497, + 2773, 23, 1394, 1298, -497, -497, -497, -497, 136, 1840, + 136, 2773, 136, 2773, 136, 136, -497, 136, 136, -497, + -497, 48, -35, -497, 2773, -497, -497, -497, -497, 2773, + -31, -12, -36, 1936, 1747, 136, 1936, 2029, 88, 2773, + 16, 2773, 2773, 2773, 2773, 2773, 2773, 2773, 2122, 241, + 86, -497, 5, -497, -52, 25, 79, 35, -497, -497, + -497, 2938, -497, -497, 6, 66, 72, 97, -497, 127, + 131, 263, 137, -497, -497, -497, -497, -497, -497, 88, + 88, 151, -497, 80, 84, 109, 116, -9, 128, 142, + 23, 220, 215, -497, 257, 1485, 1298, -497, -497, -497, + 530, -497, 155, 626, -497, -497, -497, -497, -497, -497, + 13, -497, 1078, -497, 1078, -497, -497, 2773, 171, 205, + 2773, 192, 995, 23, 274, 236, 2938, 206, 2215, 2773, + 1747, -497, 995, 1646, 86, -497, 355, 2773, -497, -497, + 995, 307, 111, -497, -497, 2773, 995, 2866, 2308, 256, + -497, -497, -497, 995, 86, 1078, 1078, 1078, 416, 416, + 319, -29, 2773, 2773, 2773, 2773, 2773, 2773, 2401, -497, + -497, 2773, -497, -497, 2773, 2773, 2773, 2773, 2773, 2773, + 2773, 2773, 2773, 2773, 2773, 2773, 2773, 2773, 2773, 2773, + 2773, 2773, -497, -497, -497, 1365, 2494, 2773, 2773, 2773, + 2773, 2773, 2773, 2773, -497, 313, -497, -497, 314, -497, + -497, -497, -497, -497, 242, 164, -497, -497, 232, -497, + -497, -497, -497, 23, -497, -497, 2773, 2773, 2773, 2773, + 2773, 2773, -497, -497, -497, 322, -497, -497, 322, -497, + -497, -497, 344, -497, -497, -497, 2773, 2773, 24, -497, + -497, -497, 236, 331, -497, -497, -497, -23, 282, 255, + 2773, 86, -497, 359, -497, 2587, 1078, 256, 11, 22, + 36, -497, 325, 338, -497, 2773, 361, 292, 292, -497, + 2938, 190, 43, -497, 374, 995, 899, 3028, 1182, 288, + 2938, 2893, 515, 515, 611, 707, 803, 899, 899, 995, + 995, 1091, 1078, 1078, 357, 2773, 2773, 482, 358, 360, + 362, -497, 364, 2680, 279, -497, -497, 385, 223, 54, + 244, 78, 247, 126, 298, 722, -497, 380, -497, -497, + 26, 375, 2773, 2773, 2773, 2773, -497, 384, -497, -497, + 302, -497, -497, -497, -497, 1487, 297, -497, 2773, 2773, + -497, -497, 241, -497, 241, -497, -497, -497, -497, -497, + 330, 330, 155, 310, 51, -497, 2773, -497, -497, 312, + -497, -497, -497, -497, 396, -497, 7, 418, -497, -497, + -497, 168, 2773, 413, -497, -497, 2773, -497, 336, 173, + -497, -497, -497, -497, -497, -497, 451, 2773, -497, 414, + -497, 417, -497, 421, -497, 442, -497, -497, -497, 274, + 236, -497, -497, 402, 349, 241, 350, 363, 241, 365, + 369, -497, -497, -497, -497, 366, 447, 438, -497, 2773, + 371, 372, 2773, -497, -497, -497, -497, 2773, 411, -497, + 486, -497, -497, 499, -497, -497, 28, -497, 182, -497, + 2983, 500, -497, -497, 401, -497, -497, -497, -497, 492, + 236, 493, -497, 2773, -497, -497, 506, 506, 2773, 2773, + 506, -497, 407, 419, 506, 506, 2938, 241, -497, -497, + 425, -497, -497, -497, -497, 459, 516, -497, -497, -497, + -497, 523, 506, 506, -497, 159, 159, 437, 443, 215, + 2773, 2773, 506, -497, -497, 818, -497, 914, -497, -497, + -497, -497, 1010, -497, 215, 215, -497, 506, 472, -497, + -497, 506, 506, -497, 567, 487, 215, -497, -497, 33, + -497, -497, -497, 1106, -497, 2773, 215, 215, -497, 506, + -497, 579, 539, -497, -497, 507, -497, -497, -497, 215, + -497, -497, -497, 506, 1580, -497, 1202, 159, 509, -497, + -497, 506, -497 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -251,37 +251,37 @@ static const yytype_int16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 18, 267, 0, 0, 0, 21, 118, 1, 21, 0, 0, - 0, 0, 0, 0, 0, 254, 0, 0, 225, 252, - 213, 247, 249, 243, 88, 256, 88, 88, 235, 245, - 0, 0, 238, 265, 0, 0, 0, 0, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 268, + 0, 0, 0, 0, 0, 0, 254, 0, 0, 225, + 252, 213, 247, 249, 243, 88, 256, 88, 88, 235, + 245, 0, 0, 238, 265, 0, 0, 0, 0, 0, + 0, 241, 0, 0, 0, 0, 0, 0, 0, 268, 129, 255, 220, 203, 165, 174, 166, 180, 204, 205, 206, 132, 210, 5, 226, 215, 218, 217, 219, 216, 0, 0, 0, 18, 7, 64, 59, 29, 89, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 9, 0, 65, 0, 11, 26, 25, 0, 15, 113, 0, 292, 295, 294, 293, 279, 196, - 0, 186, 282, 187, 281, 285, 265, 0, 0, 0, - 0, 244, 0, 92, 94, 236, 0, 0, 267, 267, - 239, 240, 292, 266, 139, 293, 0, 283, 202, 201, - 0, 0, 90, 91, 265, 211, 0, 0, 258, 262, - 264, 263, 242, 237, 188, 189, 208, 193, 194, 214, - 0, 280, 0, 0, 0, 130, 0, 0, 0, 177, + 0, 280, 186, 282, 187, 281, 285, 265, 0, 0, + 0, 0, 244, 0, 92, 94, 236, 0, 0, 267, + 267, 239, 240, 292, 266, 139, 293, 0, 283, 202, + 201, 0, 0, 90, 91, 265, 211, 0, 0, 258, + 262, 264, 263, 242, 237, 188, 189, 208, 193, 194, + 214, 0, 0, 0, 0, 130, 0, 0, 0, 177, 176, 0, 183, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 86, 87, 87, 0, 36, 18, 18, 18, 18, 18, 0, 18, 18, 0, 18, 18, 42, 58, 0, 54, 57, 0, 0, 0, 0, - 0, 0, 28, 27, 22, 102, 101, 99, 99, 109, + 0, 0, 28, 27, 22, 99, 102, 101, 99, 109, 108, 112, 114, 119, 195, 137, 267, 0, 0, 248, 142, 93, 94, 96, 18, 246, 250, 0, 0, 0, 0, 133, 198, 0, 229, 0, 209, 0, 215, 218, 217, 261, 0, 98, 257, 0, 212, 127, 128, 126, 131, 0, 0, 156, 0, 179, 185, 169, 162, 163, 160, 0, 171, 172, 170, 168, 167, 184, 181, 178, - 175, 164, 173, 161, 0, 0, 0, 289, 287, 291, - 144, 0, 0, 0, 136, 145, 227, 0, 0, 0, + 175, 164, 173, 161, 0, 0, 0, 0, 289, 287, + 291, 144, 0, 0, 136, 145, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 31, 33, 0, 0, 80, 0, 0, 0, 277, 0, 278, 275, 0, 276, 272, 273, 274, 0, 0, 18, 0, 0, @@ -289,7 +289,7 @@ static const yytype_int16 yydefact[] = 104, 104, 110, 0, 269, 158, 265, 18, 95, 115, 200, 251, 141, 140, 0, 197, 214, 0, 259, 260, 97, 0, 0, 0, 149, 155, 0, 233, 0, 0, - 232, 231, 234, 284, 153, 0, 230, 267, 228, 0, + 230, 232, 231, 234, 284, 153, 0, 267, 228, 0, 147, 0, 221, 0, 222, 0, 16, 18, 30, 92, 94, 18, 35, 0, 0, 81, 0, 0, 83, 0, 0, 271, 18, 79, 84, 0, 0, 65, 50, 0, @@ -312,16 +312,16 @@ static const yytype_int16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -486, -486, -486, -486, -486, -486, -486, -486, -486, 301, - -486, -5, -117, -486, -17, -486, 545, 474, 8, -486, - -486, -486, -486, -486, -486, -486, -486, -486, 409, -350, - -485, -83, -463, -486, 76, 250, -272, 30, -486, 89, - 317, -486, 293, 198, -244, 339, 374, -486, -486, 252, - -486, 253, -486, -486, -486, -486, 183, -486, -486, 132, - -486, 159, -8, -37, -486, -486, -486, -486, -486, -486, - -486, -486, -486, -486, -486, -486, 100, -486, -486, 480, - -125, -131, -486, -486, 284, -486, -486, 420, 18, -46, - -40, -486, -486, -486, -486, -486, 4 + -497, -497, -497, -497, -497, -497, -497, -497, -497, 45, + -497, -5, -139, -497, -17, -497, 603, 514, 3, -497, + -497, -497, -497, -497, -497, -497, -497, -497, 751, -341, + -496, -20, -458, -497, 115, 285, -169, 67, -497, 19, + 209, -497, 169, 214, -257, 367, 390, -497, -497, 269, + -497, 271, -497, -497, -497, -497, 197, -497, -497, 161, + -497, 208, -8, -43, -497, -497, -497, -497, -497, -497, + -497, -497, -497, -497, -497, -497, 100, -497, -497, 528, + -124, -127, -497, -497, 337, -497, -497, 467, 1, -44, + -42, -497, -497, -497, -497, -497, 216 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -331,12 +331,12 @@ static const yytype_int16 yydefgoto[] = 418, 379, 505, 526, 110, 539, 244, 108, 109, 419, 420, 341, 510, 558, 482, 500, 553, 562, 361, 104, 529, 234, 502, 434, 424, 363, 427, 436, 337, 219, - 132, 215, 154, 262, 264, 284, 370, 248, 249, 443, + 133, 215, 155, 262, 264, 284, 370, 248, 249, 443, 250, 251, 252, 253, 453, 454, 111, 112, 520, 451, 498, 380, 105, 60, 61, 376, 324, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 128, 72, 158, - 144, 73, 448, 430, 349, 350, 227, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 171 + 65, 66, 67, 68, 69, 70, 71, 129, 72, 159, + 145, 73, 448, 430, 349, 350, 227, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 121 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -344,662 +344,638 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 113, 255, 59, 160, 17, 433, 143, 268, 269, 161, - 18, 120, 503, 176, 163, 177, 285, 16, 377, 21, - 103, 530, 118, 23, 392, 122, 83, 124, 125, 274, - 126, 127, 138, 207, 254, 208, 117, 83, 151, 117, - 83, 117, 117, 421, 117, 117, 130, 146, 147, 170, - 406, 114, 129, 422, 114, -286, 115, -286, 152, 115, - 375, 145, 117, 153, 175, 139, 245, 159, 394, 224, - 246, 21, 348, 429, 175, 23, 117, -261, 214, 136, - 21, 447, 570, 435, 23, -260, 440, 441, 137, 143, - 314, 315, 207, 316, 208, 564, -262, 184, 225, 317, - 172, 173, 174, 318, 319, -290, 320, 226, 58, 271, - 279, 58, 178, 181, 243, 228, 280, 143, -264, 206, - 121, 258, 123, 273, 213, 373, 172, 173, 174, 267, - 59, 59, 551, 131, 172, 173, 174, 58, 135, 552, - 58, 218, 141, 270, 410, 149, 220, 321, 155, 282, - 162, 221, 164, 165, 166, 167, 168, 145, 247, 172, - 173, 174, 156, 58, 287, 288, 289, 483, 291, 292, - 294, 157, 58, -286, 278, -286, 471, 222, 412, 353, - 223, 393, 172, 173, 174, 354, 414, -288, 286, -288, - 322, 323, 457, -291, -291, -291, 205, 335, 327, 328, - 329, 330, 331, 332, 333, 334, 507, 508, 229, 409, - 172, 173, 174, 230, 433, 342, 343, 344, 345, 347, - 374, 355, 356, 325, 358, 359, 496, 232, 362, 364, - 362, 362, 362, 362, 233, -288, 462, -288, 235, 535, - 172, 173, 174, 352, 172, 173, 174, 209, 59, 210, - -263, 449, 172, 173, 174, 211, 276, 212, 172, 173, - 174, 256, 384, 492, 172, 173, 174, 387, 172, 173, - 174, 179, 180, 555, 257, 290, 464, 391, 182, 183, - 259, 295, 527, 528, 296, 297, 298, 299, 300, 301, + 113, 144, 59, 255, 17, 377, 161, 20, 162, 164, + 530, 120, 268, 269, 433, 103, 176, 503, 177, 117, + 285, 117, 207, 117, 208, 117, 117, 254, 117, 117, + 16, 274, 20, -286, 83, -286, 22, 421, 375, 152, + 24, 392, 139, 179, 180, 146, 117, -288, 422, -288, + 171, 160, 172, 173, 174, 551, 84, 394, 172, 173, + 174, 130, 552, 116, 224, 116, 175, 116, 410, 116, + 116, 570, 116, 116, 447, 140, 131, 207, 214, 208, + 137, 286, -261, -286, 144, -286, -262, 381, 141, 116, + 116, 149, 412, 225, 172, 173, 174, -264, 228, 138, + 564, 175, 226, -260, 271, 172, 173, 174, -288, 243, + -288, -263, 144, 279, 153, 280, 178, 206, 157, 154, + 181, 122, 258, 124, 172, 173, 174, 158, 184, 373, + 267, 59, 59, 273, 132, 172, 173, 174, -290, 136, + 414, 146, 209, 142, 210, 231, 150, 83, 213, 156, + 282, 163, 20, 165, 166, 167, 168, 169, 278, 172, + 173, 174, 114, 471, 287, 288, 289, 115, 291, 292, + 294, 245, 182, 183, 18, 246, 429, 218, 260, 247, + 20, 353, 457, 354, 22, 116, 435, 462, 24, 440, + 441, 220, 172, 173, 174, 221, 492, 335, 327, 328, + 329, 330, 331, 332, 333, 334, 325, 172, 173, 174, + 527, 528, 393, 496, 374, 342, 343, 344, 345, 347, + 222, 355, 356, 433, 358, 359, 352, 223, 362, 364, + 362, 362, 362, 362, 118, 338, 339, 348, 123, 229, + 125, 126, 232, 127, 128, 409, 134, 135, 59, 172, + 173, 174, 449, 230, 172, 173, 174, 276, 216, 217, + 147, 148, 384, 172, 173, 174, 411, 387, 233, 413, + 483, 172, 173, 174, 211, 290, 212, 391, 360, 235, + 464, 295, 256, 257, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 172, 173, 174, 338, 339, 398, 399, 261, - 353, 263, 84, 265, 405, 272, 354, 411, 285, 116, - 413, 283, 116, 336, 116, 116, 346, 116, 116, 172, - 173, 174, 340, 415, 425, 364, 428, 428, 357, 143, - 369, 117, 372, 140, 116, 116, 148, 437, 501, 378, - 428, 428, 439, 133, 134, 236, 237, 238, 239, 116, - 506, 461, 240, 509, 241, 431, 382, 513, 514, 172, - 173, 174, 450, 383, 352, 385, 172, 173, 174, 172, - 173, 174, 216, 217, 458, 524, 525, 390, 392, 172, - 173, 174, 172, 173, 174, 536, 174, 397, 381, 59, - 400, 231, 401, 402, 403, 172, 173, 174, 417, 423, - 544, 58, 469, 442, 546, 547, 472, 446, -83, 459, - 172, 173, 174, 407, 465, 186, 533, 479, 432, 452, - 466, 428, 559, 260, 389, 467, 143, 468, 473, 487, - 116, 541, 542, 474, 475, 476, 567, 477, 172, 173, - 174, 478, 480, 550, 572, 484, 481, 200, 186, 187, - 485, 488, 201, 556, 557, 202, 203, 204, 205, 489, - 428, 428, 515, 491, 517, 493, 565, 395, 172, 173, - 174, 186, 187, 522, 194, 195, 196, 197, 198, 199, - 200, 450, 495, 497, 494, 201, 460, 504, 202, 203, - 204, 205, 425, 428, 172, 173, 174, 408, 512, 543, - 197, 198, 199, 200, 172, 173, 174, 516, 201, 518, - 511, 202, 203, 204, 205, 519, 523, 545, -13, 85, - 531, 532, 548, 455, 360, 549, 560, 428, 18, 83, - 561, 19, 486, 456, 566, 563, 20, 21, 22, 86, - 571, 23, 24, 25, 26, 27, 28, 29, 107, 30, - 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, - 36, 37, 91, 92, 93, 94, 95, 96, 186, 187, - 242, 97, 98, 99, 100, 38, 534, 101, 39, 40, - 41, 42, 43, 426, 568, 44, 45, 46, 47, 48, - 49, 50, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 51, 172, 173, 174, 201, 388, 470, 202, 203, - 204, 205, 371, 444, 116, 445, 52, 53, 521, 54, - 499, 55, 56, -3, 85, 490, 277, 0, 57, 58, - 438, 463, 0, 18, 83, 351, 19, 365, 366, 367, - 368, 20, 21, 22, 86, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 87, 106, 88, 89, 90, 36, 37, 91, 92, 93, - 94, 95, 96, 186, 187, 0, 97, 98, 99, 100, - 38, 0, 101, 39, 40, 41, 42, 43, 0, 0, - 44, 45, 46, 47, 48, 49, 50, 0, 193, 194, - 195, 196, 197, 198, 199, 200, 51, 0, 0, 0, - 201, 0, 0, 202, 203, 204, 205, 0, 0, 85, - 0, 52, 53, 0, 54, 0, 55, 56, 18, 83, - 416, 19, 0, 57, 58, 0, 20, 21, 22, 86, - 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, - 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, - 36, 37, 91, 92, 93, 94, 95, 96, 186, 187, - 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, - 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, - 49, 50, 0, 0, 0, 195, 196, 197, 198, 199, - 200, 51, 0, 0, 0, 201, 0, 0, 202, 203, - 204, 205, 0, 0, 85, 0, 52, 53, 0, 54, - 0, 55, 56, 18, 83, 537, 19, 0, 57, 58, - 0, 20, 21, 22, 86, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 87, 106, 88, 89, 90, 36, 37, 91, 92, 93, + 312, 313, 259, 261, 172, 173, 174, 398, 399, 507, + 508, 263, 353, 20, 354, 406, 265, 22, 117, 272, + 415, 24, 172, 173, 174, 172, 173, 174, 172, 173, + 174, 283, 285, 144, 425, 364, 428, 428, 506, 336, + 340, 509, 535, 357, 346, 513, 514, 437, 431, 501, + 428, 428, 439, 369, 186, -215, 270, 352, 461, 372, + 378, 382, 116, 524, 525, 383, 207, 390, 208, -215, + -215, 385, 450, 536, 392, 174, 555, -215, -215, 172, + 173, 174, 397, 401, 458, 402, 200, 403, 544, 404, + 407, 201, 546, 547, 202, 203, 204, 205, 417, 59, + 20, 423, -215, -215, -215, -215, 172, 173, 174, -215, + 559, -215, 469, 432, -215, 442, 472, 172, 173, 174, + 446, -215, -215, 452, 567, 459, 465, 479, 473, 466, + 144, 428, 572, 467, -215, 389, -215, -215, -215, 487, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, 468, 172, 173, 174, -215, 474, + 475, -215, -215, -215, -215, -215, 172, 173, 174, 481, + 428, 428, 515, 476, 517, 477, 480, 172, 173, 174, + 478, 484, 485, 522, 395, 236, 237, 238, 239, 533, + 488, 450, 240, 83, 241, 408, 460, 489, 20, 172, + 173, 174, 425, 428, 541, 542, 455, 400, 114, 543, + 491, 494, 493, 115, 495, 497, 550, 504, 511, 172, + 173, 174, -291, -291, -291, 205, 556, 557, 456, 512, + -13, 85, 172, 173, 174, 516, 518, 428, 519, 565, + 18, 83, 486, 19, 566, 523, 20, 531, -83, 21, + 22, 23, 86, 532, 24, 25, 26, 27, 28, 29, + 30, 463, 31, 32, 33, 34, 35, 36, 87, 106, + 88, 89, 90, 37, 38, 91, 92, 93, 94, 95, + 96, 186, 187, 545, 97, 98, 99, 100, 39, 548, + 101, 40, 41, 42, 43, 44, 560, 549, 45, 46, + 47, 48, 49, 50, 51, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 52, 561, 107, 563, 201, 571, + 242, 202, 203, 204, 205, 534, -3, 85, 426, 53, + 54, 568, 55, 470, 56, 57, 18, 83, 371, 19, + 444, 58, 20, 445, 388, 21, 22, 23, 86, 490, + 24, 25, 26, 27, 28, 29, 30, 521, 31, 32, + 33, 34, 35, 36, 87, 106, 88, 89, 90, 37, + 38, 91, 92, 93, 94, 95, 96, 186, 187, 499, + 97, 98, 99, 100, 39, 277, 101, 40, 41, 42, + 43, 44, 351, 438, 45, 46, 47, 48, 49, 50, + 51, 0, 193, 194, 195, 196, 197, 198, 199, 200, + 52, 0, 0, 0, 201, 0, 0, 202, 203, 204, + 205, 0, 0, 85, 0, 53, 54, 0, 55, 0, + 56, 57, 18, 83, 416, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 86, 0, 24, 25, 26, 27, + 28, 29, 30, 0, 31, 32, 33, 34, 35, 36, + 87, 106, 88, 89, 90, 37, 38, 91, 92, 93, 94, 95, 96, 186, 187, 0, 97, 98, 99, 100, - 38, 0, 101, 39, 40, 41, 42, 43, 0, 0, - 44, 45, 46, 47, 48, 49, 50, 1, 2, 3, - 4, 5, 6, 7, 199, 200, 51, 0, 0, 0, + 39, 0, 101, 40, 41, 42, 43, 44, 0, 0, + 45, 46, 47, 48, 49, 50, 51, 0, 0, 194, + 195, 196, 197, 198, 199, 200, 52, 0, 0, 0, 201, 0, 0, 202, 203, 204, 205, 0, 0, 85, - 0, 52, 53, 0, 54, 0, 55, 56, 18, 83, - 538, 19, 0, 57, 58, 0, 20, 21, 22, 86, - 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, - 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, - 36, 37, 91, 92, 93, 94, 95, 96, 186, 187, - 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, - 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, - 49, 50, 201, 0, 0, 202, 203, 204, 205, 0, - 200, 51, 0, 0, 0, 201, 0, 0, 202, 203, - 204, 205, 0, 0, 85, 0, 52, 53, 0, 54, - 0, 55, 56, 18, 83, 540, 19, 0, 57, 58, - 0, 20, 21, 22, 86, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 87, 106, 88, 89, 90, 36, 37, 91, 92, 93, - 94, 95, 96, 0, 0, 0, 97, 98, 99, 100, - 38, 0, 101, 39, 40, 41, 42, 43, 0, 0, - 44, 45, 46, 47, 48, 49, 50, 0, 0, 200, - 0, 0, 0, 0, 201, 0, 51, 202, 203, 204, - 205, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 52, 53, 0, 54, 0, 55, 56, 18, 83, - 554, 19, 0, 57, 58, 0, 20, 21, 22, 86, - 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, - 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, - 36, 37, 91, 92, 93, 94, 95, 96, 0, 0, - 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, - 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, - 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 52, 53, 0, 54, - 0, 55, 56, 18, 83, 0, 19, 0, 57, 58, - 0, 20, 21, 22, 86, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 87, 106, 88, 89, 90, 36, 37, 91, 92, 93, - 94, 95, 96, 0, 0, 0, 97, 98, 99, 100, - 38, 0, 101, 39, 40, 41, 42, 43, 0, 0, - 44, 45, 46, 47, 48, 49, 50, 0, 0, 569, - 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 52, 53, 0, 54, 0, 55, 56, 18, 83, - 0, 19, 0, 57, 58, 0, 20, 21, 22, 86, - 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, - 31, 32, 33, 34, 35, 87, 106, 88, 89, 90, - 36, 37, 91, 92, 93, 94, 95, 96, 0, 0, - 0, 97, 98, 99, 100, 38, 0, 101, 39, 40, - 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, - 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 52, 53, 0, 54, - 0, 55, 56, 18, 83, 0, 19, 0, 57, 58, - 0, 20, 21, 22, 86, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 87, 0, 88, 89, 90, 36, 37, 91, 92, 93, + 0, 53, 54, 0, 55, 0, 56, 57, 18, 83, + 537, 19, 0, 58, 20, 0, 0, 21, 22, 23, + 86, 0, 24, 25, 26, 27, 28, 29, 30, 0, + 31, 32, 33, 34, 35, 36, 87, 106, 88, 89, + 90, 37, 38, 91, 92, 93, 94, 95, 96, 186, + 187, 0, 97, 98, 99, 100, 39, 0, 101, 40, + 41, 42, 43, 44, 0, 0, 45, 46, 47, 48, + 49, 50, 51, 0, 0, 0, 195, 196, 197, 198, + 199, 200, 52, 0, 0, 0, 201, 0, 0, 202, + 203, 204, 205, 0, 0, 85, 0, 53, 54, 0, + 55, 0, 56, 57, 18, 83, 538, 19, 0, 58, + 20, 0, 0, 21, 22, 23, 86, 0, 24, 25, + 26, 27, 28, 29, 30, 0, 31, 32, 33, 34, + 35, 36, 87, 106, 88, 89, 90, 37, 38, 91, + 92, 93, 94, 95, 96, 186, 187, 0, 97, 98, + 99, 100, 39, 0, 101, 40, 41, 42, 43, 44, + 0, 0, 45, 46, 47, 48, 49, 50, 51, 365, + 366, 367, 368, 0, 197, 198, 199, 200, 52, 0, + 0, 0, 201, 0, 0, 202, 203, 204, 205, 0, + 0, 85, 0, 53, 54, 0, 55, 0, 56, 57, + 18, 83, 540, 19, 0, 58, 20, 0, 0, 21, + 22, 23, 86, 0, 24, 25, 26, 27, 28, 29, + 30, 0, 31, 32, 33, 34, 35, 36, 87, 106, + 88, 89, 90, 37, 38, 91, 92, 93, 94, 95, + 96, 186, 187, 0, 97, 98, 99, 100, 39, 0, + 101, 40, 41, 42, 43, 44, 0, 0, 45, 46, + 47, 48, 49, 50, 51, 1, 2, 3, 4, 5, + 6, 7, 199, 200, 52, 0, 0, 0, 201, 0, + 0, 202, 203, 204, 205, 0, 0, 85, 0, 53, + 54, 0, 55, 0, 56, 57, 18, 83, 554, 19, + 0, 58, 20, 0, 0, 21, 22, 23, 86, 0, + 24, 25, 26, 27, 28, 29, 30, 0, 31, 32, + 33, 34, 35, 36, 87, 106, 88, 89, 90, 37, + 38, 91, 92, 93, 94, 95, 96, 186, 187, 0, + 97, 98, 99, 100, 39, 0, 101, 40, 41, 42, + 43, 44, 0, 0, 45, 46, 47, 48, 49, 50, + 51, 201, 0, 0, 202, 203, 204, 205, 0, 200, + 52, 0, 0, 0, 201, 0, 0, 202, 203, 204, + 205, 0, 0, 85, 0, 53, 54, 0, 55, 0, + 56, 57, 18, 83, 0, 19, 0, 58, 20, 0, + 0, 21, 22, 23, 86, 0, 24, 25, 26, 27, + 28, 29, 30, 0, 31, 32, 33, 34, 35, 36, + 87, 106, 88, 89, 90, 37, 38, 91, 92, 93, 94, 95, 96, 0, 0, 0, 97, 98, 99, 100, - 38, 0, 101, 39, 40, 41, 42, 43, 0, 0, - 44, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 52, 53, 0, 54, 0, 55, 56, 18, 0, - 0, 19, 0, 57, 58, 0, 20, 21, 22, -78, - 0, 23, 24, 25, 26, 27, 28, 29, 0, 30, - 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, - 36, 37, 236, 237, 238, 239, 0, 0, 0, 240, - 0, 241, 0, 0, 0, 38, 0, 0, 39, 40, - 41, 42, 43, 0, 0, 44, 45, 46, 47, 48, - 49, 50, 0, 0, 0, 0, 172, 173, 174, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 52, 53, 0, 54, - 0, 55, 56, 18, 0, 0, 19, 0, 57, 58, - 0, 20, 21, 22, 0, 0, 23, 24, 25, 26, - 27, 28, 29, 0, 30, 31, 32, 33, 34, 35, - 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 38, 0, 0, 39, 40, 41, 42, 43, 0, -215, - 44, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 207, 0, 208, -215, -215, 0, 51, 0, 0, 0, - -215, -215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 53, 0, 54, 0, 55, 56, 0, 0, - 0, 0, -78, 57, 58, -215, -215, -215, -215, 0, - 0, 0, -215, 0, -215, 0, 0, -215, 0, 0, - 0, 0, 0, 0, -215, -215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -215, 0, -215, - -215, -215, 0, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -254, 0, 0, - 0, -215, 0, 0, -215, -215, -215, -215, -215, 0, - 0, -254, -254, 0, 0, 0, 0, 0, -254, -254, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -254, -254, -254, -254, 0, 0, 0, + 39, 0, 101, 40, 41, 42, 43, 44, 0, 0, + 45, 46, 47, 48, 49, 50, 51, 0, 0, 569, + 200, 0, 0, 0, 0, 201, 52, 0, 202, 203, + 204, 205, 0, 0, 0, 0, 0, 0, 0, 85, + 0, 53, 54, 0, 55, 0, 56, 57, 18, 83, + 0, 19, 0, 58, 20, 0, 0, 21, 22, 23, + 86, 0, 24, 25, 26, 27, 28, 29, 30, 0, + 31, 32, 33, 34, 35, 36, 87, 106, 88, 89, + 90, 37, 38, 91, 92, 93, 94, 95, 96, 0, + 0, 0, 97, 98, 99, 100, 39, 0, 101, 40, + 41, 42, 43, 44, 0, 0, 45, 46, 47, 48, + 49, 50, 51, 0, 0, 314, 315, 0, 316, 0, + 0, 317, 52, 0, 0, 318, 0, 0, 0, 319, + 320, 0, 321, 0, 0, 85, 0, 53, 54, 0, + 55, 0, 56, 57, 18, 83, 0, 19, 0, 58, + 20, 0, 0, 21, 22, 23, 86, 0, 24, 25, + 26, 27, 28, 29, 30, 0, 31, 32, 33, 34, + 35, 36, 87, 322, 88, 89, 90, 37, 38, 91, + 92, 93, 94, 95, 96, 0, 0, 0, 97, 98, + 99, 100, 39, 0, 101, 40, 41, 42, 43, 44, + 0, 0, 45, 46, 47, 48, 49, 50, 51, 0, + 0, 0, 0, 0, 0, 0, 323, 0, 52, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, + 0, 0, 0, 53, 54, 0, 55, 18, 56, 57, + 19, 0, 0, 20, 0, 58, 21, 22, 23, -78, + 0, 24, 25, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 36, 0, 0, 0, 0, 0, + 37, 38, 236, 237, 238, 239, 0, 0, 0, 240, + 0, 241, 0, 0, 0, 39, 0, 0, 40, 41, + 42, 43, 44, 0, 0, 45, 46, 47, 48, 49, + 50, 51, 0, 0, 0, 0, 172, 173, 174, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 53, 54, 0, 55, + 18, 56, 57, 19, 0, 0, 20, 0, 58, 21, + 22, 23, 0, 0, 24, 25, 26, 27, 28, 29, + 30, 0, 31, 32, 33, 34, 35, 36, 0, 0, + 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, + 0, 40, 41, 42, 43, 44, -254, 0, 45, 46, + 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, + -254, -254, 0, 0, 52, 0, 0, 0, -254, -254, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 54, 0, 55, 0, 56, 57, 0, 0, 0, 0, + -78, 58, 0, -254, -254, -254, -254, 0, 0, 0, -254, 0, -254, 0, 0, -254, 0, 0, 0, 0, 0, 0, -254, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, 0, -254, -254, -254, 0, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, 0, 0, 0, 0, -254, 0, 0, -254, -254, -254, -254, -254, 18, 83, 0, - 19, 0, 0, 0, 0, 20, 21, 22, 0, 0, - 23, 24, 142, 26, 27, 28, 29, 115, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 0, 20, 0, 0, 21, 22, 23, 0, + 0, 24, 25, 143, 27, 28, 29, 30, 115, 31, + 32, 33, 34, 35, 36, 0, 0, 0, 0, 0, + 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 39, 0, 0, 40, 41, + 42, 43, 44, 0, 0, 45, 46, 47, 48, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, + 18, 56, 57, 19, 119, 0, 20, 0, 58, 21, + 22, 23, 0, 0, 24, 25, 26, 27, 28, 29, + 30, 0, 31, 32, 33, 34, 35, 36, 0, 0, + 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, + 0, 40, 41, 42, 43, 44, 0, 0, 45, 46, + 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 54, 0, 55, 0, 56, 57, 18, 83, 0, 19, + 0, 58, 20, 0, 0, 21, 22, 23, 0, 0, + 24, 25, 26, 27, 28, 29, 30, 0, 31, 32, + 33, 34, 35, 36, 0, 0, 0, 0, 0, 37, + 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 0, 0, 40, 41, 42, + 43, 44, 0, 0, 45, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 119, 57, 58, 0, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 53, 54, 0, 55, 18, + 56, 57, 19, 0, 0, 20, 0, 58, 21, 22, + 23, 151, 0, 24, 25, 26, 27, 28, 29, 30, + 0, 31, 32, 33, 34, 35, 36, 0, 0, 0, + 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, + 40, 41, 42, 43, 44, 0, 0, 45, 46, 47, + 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, + 0, 55, 18, 56, 57, 19, 0, 0, 20, 0, + 58, 21, 22, 23, 0, 0, 24, 25, 26, 27, + 28, 29, 30, 0, 31, 32, 33, 34, 35, 36, + 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 83, 0, - 19, 0, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 0, 57, 58, 0, - 20, 21, 22, 150, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 39, 0, 0, 40, 41, 42, 43, 44, 0, 0, + 45, 46, 47, 48, 49, 50, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, - 19, 0, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 169, 57, 58, 0, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 0, 53, 54, 0, 55, 18, 56, 57, 19, 0, + 0, 20, 170, 58, 21, 22, 23, 0, 0, 24, + 25, 26, 27, 28, 29, 30, 0, 31, 32, 33, + 34, 35, 36, 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, - 19, 266, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 281, 57, 58, 0, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 39, 0, 0, 40, 41, 42, 43, + 44, 0, 0, 45, 46, 47, 48, 49, 50, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, - 19, 293, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 326, 57, 58, 0, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 53, 54, 0, 55, 18, 56, + 57, 19, 0, 0, 20, 266, 58, 21, 22, 23, + 0, 0, 24, 25, 26, 27, 28, 29, 30, 0, + 31, 32, 33, 34, 35, 36, 0, 0, 0, 0, + 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 39, 0, 0, 40, + 41, 42, 43, 44, 0, 0, 45, 46, 47, 48, + 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, + 55, 18, 56, 57, 19, 0, 0, 20, 281, 58, + 21, 22, 23, 0, 0, 24, 25, 26, 27, 28, + 29, 30, 0, 31, 32, 33, 34, 35, 36, 0, + 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, + 0, 0, 40, 41, 42, 43, 44, 0, 0, 45, + 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, - 19, 386, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 18, 0, 0, 19, 404, 57, 58, 0, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 0, 30, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 39, 40, 41, 42, 43, 0, 0, 44, - 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, + 53, 54, 0, 55, 18, 56, 57, 19, 0, 0, + 20, 293, 58, 21, 22, 23, 0, 0, 24, 25, + 26, 27, 28, 29, 30, 0, 31, 32, 33, 34, + 35, 36, 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 53, 0, 54, 0, 55, 56, 18, 0, 0, - 19, 0, 57, 58, 0, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 0, 0, 39, 40, 41, - 42, 43, 0, 0, 44, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 185, 0, 0, 0, 0, 0, 0, - 186, 187, 0, 0, 0, 52, 53, 0, 54, 0, - 55, 56, 0, 0, 0, 0, 0, 275, 58, 188, - 189, 396, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 0, 0, 0, 201, 185, 0, - 202, 203, 204, 205, 0, 186, 187, 0, 0, 0, + 0, 0, 39, 0, 0, 40, 41, 42, 43, 44, + 0, 0, 45, 46, 47, 48, 49, 50, 51, 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, 188, 189, 0, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 0, - 0, 0, 201, 185, 0, 202, 203, 204, 205, 0, - 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 53, 54, 0, 55, 18, 56, 57, + 19, 0, 0, 20, 326, 58, 21, 22, 23, 0, + 0, 24, 25, 26, 27, 28, 29, 30, 0, 31, + 32, 33, 34, 35, 36, 0, 0, 0, 0, 0, + 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 39, 0, 0, 40, 41, + 42, 43, 44, 0, 0, 45, 46, 47, 48, 49, + 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, + 18, 56, 57, 19, 0, 0, 20, 386, 58, 21, + 22, 23, 0, 0, 24, 25, 26, 27, 28, 29, + 30, 0, 31, 32, 33, 34, 35, 36, 0, 0, + 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, + 0, 40, 41, 42, 43, 44, 0, 0, 45, 46, + 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 54, 0, 55, 18, 56, 57, 19, 0, 0, 20, + 405, 58, 21, 22, 23, 0, 0, 24, 25, 26, + 27, 28, 29, 30, 0, 31, 32, 33, 34, 35, + 36, 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 0, 0, 0, 0, 201, -291, 0, - 202, 203, 204, 205, 0, 186, 187, 0, 0, 0, + 0, 39, 0, 0, 40, 41, 42, 43, 44, 0, + 0, 45, 46, 47, 48, 49, 50, 51, 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, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 0, - 0, 0, 201, 0, 0, 202, 203, 204, 205 + 0, 0, 53, 54, 0, 55, 18, 56, 57, 19, + 0, 0, 20, 0, 58, 21, 22, 23, 0, 0, + 24, 25, 26, 27, 28, 29, 30, 0, 31, 32, + 33, 34, 35, 36, 0, 0, 0, 0, 0, 37, + 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 0, 0, 40, 41, 42, + 43, 44, 0, 0, 45, 46, 47, 48, 49, 50, + 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 0, 185, 0, 0, 0, 0, 0, 0, 186, + 187, 0, 0, 0, 0, 53, 54, 0, 55, 0, + 56, 57, 0, 0, 0, 0, 0, 275, 188, 189, + 396, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 0, 0, 0, 201, 185, 0, 202, + 203, 204, 205, 0, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 0, 0, + 0, 201, 185, 0, 202, 203, 204, 205, 0, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 0, 0, 0, 201, -291, 0, 202, + 203, 204, 205, 0, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 0, 0, + 0, 201, 0, 0, 202, 203, 204, 205 }; static const yytype_int16 yycheck[] = { - 17, 126, 10, 49, 9, 355, 43, 138, 139, 49, - 10, 19, 475, 11, 51, 13, 13, 0, 262, 19, - 12, 506, 18, 23, 13, 21, 11, 23, 24, 154, - 26, 27, 77, 11, 14, 13, 18, 11, 46, 21, - 11, 23, 24, 11, 26, 27, 110, 43, 44, 57, - 24, 25, 13, 21, 25, 11, 30, 13, 25, 30, - 14, 43, 44, 30, 15, 110, 19, 49, 14, 72, - 23, 19, 72, 345, 15, 23, 58, 74, 83, 110, - 19, 22, 567, 355, 23, 74, 358, 359, 110, 126, - 10, 11, 11, 13, 13, 558, 74, 92, 101, 19, - 80, 81, 82, 23, 24, 11, 26, 110, 111, 146, - 156, 111, 110, 94, 106, 97, 156, 154, 74, 110, - 20, 129, 22, 21, 11, 256, 80, 81, 82, 137, - 138, 139, 21, 33, 80, 81, 82, 111, 38, 28, - 111, 25, 42, 139, 14, 45, 110, 67, 48, 157, - 50, 110, 52, 53, 54, 55, 56, 139, 111, 80, - 81, 82, 101, 111, 172, 173, 174, 439, 176, 177, - 178, 110, 111, 11, 156, 13, 420, 110, 14, 225, - 110, 21, 80, 81, 82, 225, 14, 11, 109, 13, - 110, 111, 14, 105, 106, 107, 108, 214, 206, 207, - 208, 209, 210, 211, 212, 213, 478, 479, 110, 21, - 80, 81, 82, 110, 564, 220, 221, 222, 223, 224, - 257, 226, 227, 205, 229, 230, 470, 21, 236, 237, - 238, 239, 240, 241, 52, 11, 14, 13, 21, 511, - 80, 81, 82, 225, 80, 81, 82, 11, 256, 13, - 74, 376, 80, 81, 82, 11, 156, 13, 80, 81, - 82, 110, 270, 14, 80, 81, 82, 275, 80, 81, - 82, 94, 95, 545, 77, 175, 407, 285, 92, 93, - 109, 181, 50, 51, 184, 185, 186, 187, 188, 189, + 17, 44, 10, 127, 9, 262, 50, 16, 50, 52, + 506, 19, 139, 140, 355, 12, 11, 475, 13, 18, + 13, 20, 11, 22, 13, 24, 25, 14, 27, 28, + 0, 155, 16, 11, 11, 13, 20, 11, 14, 47, + 24, 13, 78, 95, 96, 44, 45, 11, 22, 13, + 58, 50, 81, 82, 83, 22, 11, 14, 81, 82, + 83, 13, 29, 18, 73, 20, 15, 22, 14, 24, + 25, 567, 27, 28, 23, 111, 111, 11, 83, 13, + 111, 110, 75, 11, 127, 13, 75, 110, 43, 44, + 45, 46, 14, 102, 81, 82, 83, 75, 97, 111, + 558, 15, 111, 75, 147, 81, 82, 83, 11, 106, + 13, 75, 155, 157, 26, 157, 111, 111, 102, 31, + 95, 21, 130, 23, 81, 82, 83, 111, 93, 256, + 138, 139, 140, 22, 34, 81, 82, 83, 11, 39, + 14, 140, 11, 43, 13, 100, 46, 11, 11, 49, + 158, 51, 16, 53, 54, 55, 56, 57, 157, 81, + 82, 83, 26, 420, 172, 173, 174, 31, 176, 177, + 178, 16, 93, 94, 10, 20, 345, 26, 133, 24, + 16, 225, 14, 225, 20, 140, 355, 14, 24, 358, + 359, 111, 81, 82, 83, 111, 14, 214, 206, 207, + 208, 209, 210, 211, 212, 213, 205, 81, 82, 83, + 51, 52, 22, 470, 257, 220, 221, 222, 223, 224, + 111, 226, 227, 564, 229, 230, 225, 111, 236, 237, + 238, 239, 240, 241, 18, 216, 217, 73, 22, 111, + 24, 25, 22, 27, 28, 22, 37, 38, 256, 81, + 82, 83, 376, 111, 81, 82, 83, 157, 89, 90, + 44, 45, 270, 81, 82, 83, 22, 275, 53, 22, + 439, 81, 82, 83, 11, 175, 13, 285, 233, 22, + 407, 181, 111, 78, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 80, 81, 82, 216, 217, 315, 316, 28, - 356, 74, 11, 109, 322, 12, 356, 21, 13, 18, - 21, 74, 21, 25, 23, 24, 101, 26, 27, 80, - 81, 82, 25, 21, 342, 343, 344, 345, 110, 376, - 30, 323, 15, 42, 43, 44, 45, 355, 473, 28, - 358, 359, 357, 36, 37, 46, 47, 48, 49, 58, - 477, 21, 53, 480, 55, 347, 78, 484, 485, 80, - 81, 82, 377, 109, 356, 12, 80, 81, 82, 80, - 81, 82, 89, 90, 392, 502, 503, 28, 13, 80, - 81, 82, 80, 81, 82, 512, 82, 24, 109, 407, - 24, 100, 24, 24, 24, 80, 81, 82, 17, 25, - 527, 111, 417, 84, 531, 532, 421, 109, 109, 12, - 80, 81, 82, 110, 12, 65, 509, 432, 110, 110, - 12, 439, 549, 132, 109, 12, 473, 12, 25, 447, - 139, 524, 525, 109, 109, 109, 563, 109, 80, 81, - 82, 110, 109, 536, 571, 109, 21, 97, 65, 66, - 109, 78, 102, 546, 547, 105, 106, 107, 108, 11, - 478, 479, 489, 11, 491, 12, 559, 109, 80, 81, - 82, 65, 66, 500, 91, 92, 93, 94, 95, 96, - 97, 496, 21, 21, 109, 102, 396, 11, 105, 106, - 107, 108, 510, 511, 80, 81, 82, 109, 109, 526, - 94, 95, 96, 97, 80, 81, 82, 109, 102, 76, - 110, 105, 106, 107, 108, 21, 21, 110, 0, 1, - 109, 109, 21, 109, 233, 109, 16, 545, 10, 11, - 75, 13, 442, 109, 561, 109, 18, 19, 20, 21, - 109, 23, 24, 25, 26, 27, 28, 29, 13, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 65, 66, - 106, 53, 54, 55, 56, 57, 510, 59, 60, 61, - 62, 63, 64, 343, 564, 67, 68, 69, 70, 71, - 72, 73, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 83, 80, 81, 82, 102, 277, 419, 105, 106, - 107, 108, 248, 371, 323, 372, 98, 99, 496, 101, - 471, 103, 104, 0, 1, 452, 156, -1, 110, 111, - 356, 109, -1, 10, 11, 225, 13, 238, 239, 240, - 241, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 65, 66, -1, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, -1, -1, - 67, 68, 69, 70, 71, 72, 73, -1, 90, 91, - 92, 93, 94, 95, 96, 97, 83, -1, -1, -1, - 102, -1, -1, 105, 106, 107, 108, -1, -1, 1, - -1, 98, 99, -1, 101, -1, 103, 104, 10, 11, - 12, 13, -1, 110, 111, -1, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 65, 66, - -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, -1, -1, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, 92, 93, 94, 95, 96, - 97, 83, -1, -1, -1, 102, -1, -1, 105, 106, - 107, 108, -1, -1, 1, -1, 98, 99, -1, 101, - -1, 103, 104, 10, 11, 12, 13, -1, 110, 111, - -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 65, 66, -1, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, -1, -1, - 67, 68, 69, 70, 71, 72, 73, 3, 4, 5, - 6, 7, 8, 9, 96, 97, 83, -1, -1, -1, - 102, -1, -1, 105, 106, 107, 108, -1, -1, 1, - -1, 98, 99, -1, 101, -1, 103, 104, 10, 11, - 12, 13, -1, 110, 111, -1, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 65, 66, - -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, -1, -1, 67, 68, 69, 70, 71, - 72, 73, 102, -1, -1, 105, 106, 107, 108, -1, - 97, 83, -1, -1, -1, 102, -1, -1, 105, 106, - 107, 108, -1, -1, 1, -1, 98, 99, -1, 101, - -1, 103, 104, 10, 11, 12, 13, -1, 110, 111, - -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, -1, -1, - 67, 68, 69, 70, 71, 72, 73, -1, -1, 97, - -1, -1, -1, -1, 102, -1, 83, 105, 106, 107, - 108, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, 98, 99, -1, 101, -1, 103, 104, 10, 11, - 12, 13, -1, 110, 111, -1, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, 28, 29, -1, 31, + 200, 201, 110, 29, 81, 82, 83, 315, 316, 478, + 479, 75, 356, 16, 356, 323, 110, 20, 317, 12, + 22, 24, 81, 82, 83, 81, 82, 83, 81, 82, + 83, 75, 13, 376, 342, 343, 344, 345, 477, 26, + 26, 480, 511, 111, 102, 484, 485, 355, 347, 473, + 358, 359, 357, 31, 66, 0, 140, 356, 22, 15, + 29, 79, 317, 502, 503, 110, 11, 29, 13, 14, + 15, 12, 377, 512, 13, 83, 545, 22, 23, 81, + 82, 83, 25, 25, 392, 25, 98, 25, 527, 25, + 111, 103, 531, 532, 106, 107, 108, 109, 18, 407, + 16, 26, 47, 48, 49, 50, 81, 82, 83, 54, + 549, 56, 417, 111, 59, 85, 421, 81, 82, 83, + 110, 66, 67, 111, 563, 12, 12, 432, 26, 12, + 473, 439, 571, 12, 79, 110, 81, 82, 83, 447, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 12, 81, 82, 83, 103, 110, + 110, 106, 107, 108, 109, 110, 81, 82, 83, 22, + 478, 479, 489, 110, 491, 110, 110, 81, 82, 83, + 111, 110, 110, 500, 110, 47, 48, 49, 50, 509, + 79, 496, 54, 11, 56, 110, 396, 11, 16, 81, + 82, 83, 510, 511, 524, 525, 110, 25, 26, 526, + 11, 110, 12, 31, 22, 22, 536, 11, 111, 81, + 82, 83, 106, 107, 108, 109, 546, 547, 110, 110, + 0, 1, 81, 82, 83, 110, 77, 545, 22, 559, + 10, 11, 442, 13, 561, 22, 16, 110, 110, 19, + 20, 21, 22, 110, 24, 25, 26, 27, 28, 29, + 30, 110, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 66, 67, 111, 54, 55, 56, 57, 58, 22, + 60, 61, 62, 63, 64, 65, 17, 110, 68, 69, + 70, 71, 72, 73, 74, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 84, 76, 13, 110, 103, 110, + 106, 106, 107, 108, 109, 510, 0, 1, 343, 99, + 100, 564, 102, 419, 104, 105, 10, 11, 248, 13, + 371, 111, 16, 372, 277, 19, 20, 21, 22, 452, + 24, 25, 26, 27, 28, 29, 30, 496, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 66, 67, 471, + 54, 55, 56, 57, 58, 157, 60, 61, 62, 63, + 64, 65, 225, 356, 68, 69, 70, 71, 72, 73, + 74, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 84, -1, -1, -1, 103, -1, -1, 106, 107, 108, + 109, -1, -1, 1, -1, 99, 100, -1, 102, -1, + 104, 105, 10, 11, 12, 13, -1, 111, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 66, 67, -1, 54, 55, 56, 57, + 58, -1, 60, 61, 62, 63, 64, 65, -1, -1, + 68, 69, 70, 71, 72, 73, 74, -1, -1, 92, + 93, 94, 95, 96, 97, 98, 84, -1, -1, -1, + 103, -1, -1, 106, 107, 108, 109, -1, -1, 1, + -1, 99, 100, -1, 102, -1, 104, 105, 10, 11, + 12, 13, -1, 111, 16, -1, -1, 19, 20, 21, + 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, - -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, -1, -1, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 98, 99, -1, 101, - -1, 103, 104, 10, 11, -1, 13, -1, 110, 111, - -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, -1, -1, - 67, 68, 69, 70, 71, 72, 73, -1, -1, 76, - -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, 98, 99, -1, 101, -1, 103, 104, 10, 11, - -1, 13, -1, 110, 111, -1, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, 28, 29, -1, 31, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 66, + 67, -1, 54, 55, 56, 57, 58, -1, 60, 61, + 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, + 72, 73, 74, -1, -1, -1, 93, 94, 95, 96, + 97, 98, 84, -1, -1, -1, 103, -1, -1, 106, + 107, 108, 109, -1, -1, 1, -1, 99, 100, -1, + 102, -1, 104, 105, 10, 11, 12, 13, -1, 111, + 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 66, 67, -1, 54, 55, + 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, + -1, -1, 68, 69, 70, 71, 72, 73, 74, 238, + 239, 240, 241, -1, 95, 96, 97, 98, 84, -1, + -1, -1, 103, -1, -1, 106, 107, 108, 109, -1, + -1, 1, -1, 99, 100, -1, 102, -1, 104, 105, + 10, 11, 12, 13, -1, 111, 16, -1, -1, 19, + 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 66, 67, -1, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, + 70, 71, 72, 73, 74, 3, 4, 5, 6, 7, + 8, 9, 97, 98, 84, -1, -1, -1, 103, -1, + -1, 106, 107, 108, 109, -1, -1, 1, -1, 99, + 100, -1, 102, -1, 104, 105, 10, 11, 12, 13, + -1, 111, 16, -1, -1, 19, 20, 21, 22, -1, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 66, 67, -1, + 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 103, -1, -1, 106, 107, 108, 109, -1, 98, + 84, -1, -1, -1, 103, -1, -1, 106, 107, 108, + 109, -1, -1, 1, -1, 99, 100, -1, 102, -1, + 104, 105, 10, 11, -1, 13, -1, 111, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, -1, -1, -1, 54, 55, 56, 57, + 58, -1, 60, 61, 62, 63, 64, 65, -1, -1, + 68, 69, 70, 71, 72, 73, 74, -1, -1, 77, + 98, -1, -1, -1, -1, 103, 84, -1, 106, 107, + 108, 109, -1, -1, -1, -1, -1, -1, -1, 1, + -1, 99, 100, -1, 102, -1, 104, 105, 10, 11, + -1, 13, -1, 111, 16, -1, -1, 19, 20, 21, + 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, - -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, -1, -1, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 98, 99, -1, 101, - -1, 103, 104, 10, 11, -1, 13, -1, 110, 111, - -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, -1, -1, - 67, 68, 69, 70, 71, 72, 73, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, 98, 99, -1, 101, -1, 103, 104, 10, -1, - -1, 13, -1, 110, 111, -1, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, -1, -1, -1, -1, -1, - 42, 43, 46, 47, 48, 49, -1, -1, -1, 53, - -1, 55, -1, -1, -1, 57, -1, -1, 60, 61, - 62, 63, 64, -1, -1, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, -1, 80, 81, 82, -1, - -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, 98, 99, -1, 101, - -1, 103, 104, 10, -1, -1, 13, -1, 110, 111, - -1, 18, 19, 20, -1, -1, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 57, -1, -1, 60, 61, 62, 63, 64, -1, 0, - 67, 68, 69, 70, 71, 72, 73, -1, -1, -1, - 11, -1, 13, 14, 15, -1, 83, -1, -1, -1, - 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 98, 99, -1, 101, -1, 103, 104, -1, -1, - -1, -1, 109, 110, 111, 46, 47, 48, 49, -1, - -1, -1, 53, -1, 55, -1, -1, 58, -1, -1, - -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 78, -1, 80, - 81, 82, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 0, -1, -1, - -1, 102, -1, -1, 105, 106, 107, 108, 109, -1, - -1, 14, 15, -1, -1, -1, -1, -1, 21, 22, + 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, + -1, -1, 54, 55, 56, 57, 58, -1, 60, 61, + 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, + 72, 73, 74, -1, -1, 10, 11, -1, 13, -1, + -1, 16, 84, -1, -1, 20, -1, -1, -1, 24, + 25, -1, 27, -1, -1, 1, -1, 99, 100, -1, + 102, -1, 104, 105, 10, 11, -1, 13, -1, 111, + 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, 35, + 36, 37, 38, 68, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, -1, -1, -1, 54, 55, + 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, + -1, -1, 68, 69, 70, 71, 72, 73, 74, -1, + -1, -1, -1, -1, -1, -1, 111, -1, 84, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + -1, -1, -1, 99, 100, -1, 102, 10, 104, 105, + 13, -1, -1, 16, -1, 111, 19, 20, 21, 22, + -1, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, + 43, 44, 47, 48, 49, 50, -1, -1, -1, 54, + -1, 56, -1, -1, -1, 58, -1, -1, 61, 62, + 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, 81, 82, 83, -1, + -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, 99, 100, -1, 102, + 10, 104, 105, 13, -1, -1, 16, -1, 111, 19, + 20, 21, -1, -1, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, 37, -1, -1, + -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, + -1, 61, 62, 63, 64, 65, 0, -1, 68, 69, + 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, + 14, 15, -1, -1, 84, -1, -1, -1, 22, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, 102, -1, 104, 105, -1, -1, -1, -1, + 110, 111, -1, 47, 48, 49, 50, -1, -1, -1, + 54, -1, 56, -1, -1, 59, -1, -1, -1, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 79, -1, 81, 82, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, -1, -1, -1, -1, 103, + -1, -1, 106, 107, 108, 109, 110, 10, 11, -1, + 13, -1, -1, 16, -1, -1, 19, 20, 21, -1, + -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 58, -1, -1, 61, 62, + 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 100, -1, 102, + 10, 104, 105, 13, 14, -1, 16, -1, 111, 19, + 20, 21, -1, -1, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, 37, -1, -1, + -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, + -1, 61, 62, 63, 64, 65, -1, -1, 68, 69, + 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, 102, -1, 104, 105, 10, 11, -1, 13, + -1, 111, 16, -1, -1, 19, 20, 21, -1, -1, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, 35, 36, 37, -1, -1, -1, -1, -1, 43, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 58, -1, -1, 61, 62, 63, + 64, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 99, 100, -1, 102, 10, + 104, 105, 13, -1, -1, 16, -1, 111, 19, 20, + 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, 35, 36, 37, -1, -1, -1, + -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, + 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, 102, 10, 104, 105, 13, -1, -1, 16, -1, + 111, 19, 20, 21, -1, -1, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, 35, 36, 37, + -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 58, -1, -1, 61, 62, 63, 64, 65, -1, -1, + 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 46, 47, 48, 49, -1, -1, -1, - 53, -1, 55, -1, -1, 58, -1, -1, -1, -1, - -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, -1, 80, 81, 82, - -1, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, -1, -1, -1, -1, 102, - -1, -1, 105, 106, 107, 108, 109, 10, 11, -1, - 13, -1, -1, -1, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, 14, 110, 111, -1, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, 99, 100, -1, 102, 10, 104, 105, 13, -1, + -1, 16, 110, 111, 19, 20, 21, -1, -1, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + 35, 36, 37, -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, 11, -1, - 13, -1, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, -1, 110, 111, -1, - 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, -1, 58, -1, -1, 61, 62, 63, 64, + 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, -1, -1, - 13, -1, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, 109, 110, 111, -1, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 99, 100, -1, 102, 10, 104, + 105, 13, -1, -1, 16, 110, 111, 19, 20, 21, + -1, -1, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, + -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 58, -1, -1, 61, + 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 99, 100, -1, + 102, 10, 104, 105, 13, -1, -1, 16, 110, 111, + 19, 20, 21, -1, -1, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, 35, 36, 37, -1, + -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + -1, -1, 61, 62, 63, 64, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, -1, -1, - 13, 109, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, 109, 110, 111, -1, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + 99, 100, -1, 102, 10, 104, 105, 13, -1, -1, + 16, 110, 111, 19, 20, 21, -1, -1, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, 35, + 36, 37, -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, -1, -1, - 13, 109, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, 109, 110, 111, -1, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, 58, -1, -1, 61, 62, 63, 64, 65, + -1, -1, 68, 69, 70, 71, 72, 73, 74, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, -1, -1, - 13, 109, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, 10, -1, -1, 13, 109, 110, 111, -1, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, 34, 35, 36, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, 61, 62, 63, 64, -1, -1, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, -1, 99, 100, -1, 102, 10, 104, 105, + 13, -1, -1, 16, 110, 111, 19, 20, 21, -1, + -1, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 58, -1, -1, 61, 62, + 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 100, -1, 102, + 10, 104, 105, 13, -1, -1, 16, 110, 111, 19, + 20, 21, -1, -1, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, 37, -1, -1, + -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, + -1, 61, 62, 63, 64, 65, -1, -1, 68, 69, + 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, 102, 10, 104, 105, 13, -1, -1, 16, + 110, 111, 19, 20, 21, -1, -1, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, + 37, -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, -1, 101, -1, 103, 104, 10, -1, -1, - 13, -1, 110, 111, -1, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, 61, 62, - 63, 64, -1, -1, 67, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 83, -1, -1, 58, -1, -1, -1, -1, -1, -1, - 65, 66, -1, -1, -1, 98, 99, -1, 101, -1, - 103, 104, -1, -1, -1, -1, -1, 110, 111, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, -1, -1, -1, -1, 102, 58, -1, - 105, 106, 107, 108, -1, 65, 66, -1, -1, -1, + -1, 58, -1, -1, 61, 62, 63, 64, 65, -1, + -1, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, -1, -1, - -1, -1, 102, 58, -1, 105, 106, 107, 108, -1, - 65, 66, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, 102, 10, 104, 105, 13, + -1, -1, 16, -1, 111, 19, 20, 21, -1, -1, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, 35, 36, 37, -1, -1, -1, -1, -1, 43, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 58, -1, -1, 61, 62, 63, + 64, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, -1, 59, -1, -1, -1, -1, -1, -1, 66, + 67, -1, -1, -1, -1, 99, 100, -1, 102, -1, + 104, 105, -1, -1, -1, -1, -1, 111, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, -1, -1, -1, -1, 103, 59, -1, 106, + 107, 108, 109, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, -1, -1, -1, -1, 102, 58, -1, - 105, 106, 107, 108, -1, 65, 66, -1, -1, -1, + -1, -1, -1, 85, 86, -1, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, + -1, 103, 59, -1, 106, 107, 108, 109, -1, 66, + 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, -1, -1, -1, -1, 103, 59, -1, 106, + 107, 108, 109, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, -1, -1, - -1, -1, 102, -1, -1, 105, 106, 107, 108 + -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, + -1, 103, -1, -1, 106, 107, 108, 109 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1008,62 +984,62 @@ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 113, 114, 115, 116, 117, 118, 119, 120, 0, 123, 10, 13, - 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, - 31, 32, 33, 34, 35, 36, 42, 43, 57, 60, - 61, 62, 63, 64, 67, 68, 69, 70, 71, 72, - 73, 83, 98, 99, 101, 103, 104, 110, 111, 174, + 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, + 30, 32, 33, 34, 35, 36, 37, 43, 44, 58, + 61, 62, 63, 64, 65, 68, 69, 70, 71, 72, + 73, 74, 84, 99, 100, 102, 104, 105, 111, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 190, 193, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 11, 121, 1, 21, 37, 39, 40, - 41, 44, 45, 46, 47, 48, 49, 53, 54, 55, - 56, 59, 121, 130, 141, 174, 38, 128, 129, 130, - 126, 168, 169, 126, 25, 30, 121, 200, 208, 14, - 174, 188, 208, 188, 208, 208, 208, 208, 189, 13, - 110, 188, 152, 152, 152, 188, 110, 110, 77, 110, - 121, 188, 25, 175, 192, 200, 208, 208, 121, 188, - 21, 174, 25, 30, 154, 188, 101, 110, 191, 200, - 201, 202, 188, 175, 188, 188, 188, 188, 188, 109, - 174, 208, 80, 81, 82, 15, 11, 13, 110, 94, - 95, 94, 92, 93, 92, 58, 65, 66, 84, 85, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 102, 105, 106, 107, 108, 110, 11, 13, 11, - 13, 11, 13, 11, 123, 153, 154, 154, 25, 151, - 110, 110, 110, 110, 72, 101, 110, 198, 200, 110, - 110, 121, 21, 52, 143, 21, 46, 47, 48, 49, - 53, 55, 129, 130, 128, 19, 23, 111, 159, 160, - 162, 163, 164, 165, 14, 192, 110, 77, 174, 109, - 121, 28, 155, 74, 156, 109, 109, 174, 193, 193, - 208, 175, 12, 21, 192, 110, 188, 191, 200, 201, - 202, 109, 174, 74, 157, 13, 109, 174, 174, 174, - 188, 174, 174, 109, 174, 188, 188, 188, 188, 188, + 205, 206, 207, 11, 121, 1, 22, 38, 40, 41, + 42, 45, 46, 47, 48, 49, 50, 54, 55, 56, + 57, 60, 121, 130, 141, 174, 39, 128, 129, 130, + 126, 168, 169, 126, 26, 31, 121, 200, 208, 14, + 174, 208, 188, 208, 188, 208, 208, 208, 208, 189, + 13, 111, 188, 152, 152, 152, 188, 111, 111, 78, + 111, 121, 188, 26, 175, 192, 200, 208, 208, 121, + 188, 22, 174, 26, 31, 154, 188, 102, 111, 191, + 200, 201, 202, 188, 175, 188, 188, 188, 188, 188, + 110, 174, 81, 82, 83, 15, 11, 13, 111, 95, + 96, 95, 93, 94, 93, 59, 66, 67, 85, 86, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 103, 106, 107, 108, 109, 111, 11, 13, 11, + 13, 11, 13, 11, 123, 153, 154, 154, 26, 151, + 111, 111, 111, 111, 73, 102, 111, 198, 200, 111, + 111, 121, 22, 53, 143, 22, 47, 48, 49, 50, + 54, 56, 129, 130, 128, 16, 20, 24, 159, 160, + 162, 163, 164, 165, 14, 192, 111, 78, 174, 110, + 121, 29, 155, 75, 156, 110, 110, 174, 193, 193, + 208, 175, 12, 22, 192, 111, 188, 191, 200, 201, + 202, 110, 174, 75, 157, 13, 110, 174, 174, 174, + 188, 174, 174, 110, 174, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 10, 11, 13, 19, 23, 24, - 26, 67, 110, 111, 178, 200, 109, 174, 174, 174, - 174, 174, 174, 174, 174, 126, 25, 150, 151, 151, - 25, 133, 123, 123, 123, 123, 101, 123, 72, 196, - 197, 199, 200, 201, 202, 123, 123, 110, 123, 123, - 121, 140, 174, 147, 174, 140, 140, 140, 140, 30, - 158, 158, 15, 193, 175, 14, 177, 156, 28, 123, - 173, 109, 78, 109, 174, 12, 109, 174, 157, 109, - 28, 174, 13, 21, 14, 109, 86, 24, 174, 174, - 24, 24, 24, 24, 109, 174, 24, 110, 109, 21, - 14, 21, 14, 21, 14, 21, 12, 17, 122, 131, - 132, 11, 21, 25, 146, 174, 147, 148, 174, 148, - 195, 200, 110, 141, 145, 148, 149, 174, 196, 123, - 148, 148, 84, 161, 161, 163, 109, 22, 194, 192, - 123, 171, 110, 166, 167, 109, 109, 14, 174, 12, - 188, 21, 14, 109, 193, 12, 12, 12, 12, 123, - 155, 156, 123, 25, 109, 109, 109, 109, 110, 123, - 109, 21, 136, 148, 109, 109, 188, 174, 78, 11, - 168, 11, 14, 12, 109, 21, 156, 21, 172, 173, + 188, 188, 188, 188, 10, 11, 13, 16, 20, 24, + 25, 27, 68, 111, 178, 200, 110, 174, 174, 174, + 174, 174, 174, 174, 174, 126, 26, 150, 151, 151, + 26, 133, 123, 123, 123, 123, 102, 123, 73, 196, + 197, 199, 200, 201, 202, 123, 123, 111, 123, 123, + 121, 140, 174, 147, 174, 140, 140, 140, 140, 31, + 158, 158, 15, 193, 175, 14, 177, 156, 29, 123, + 173, 110, 79, 110, 174, 12, 110, 174, 157, 110, + 29, 174, 13, 22, 14, 110, 87, 25, 174, 174, + 25, 25, 25, 25, 25, 110, 174, 111, 110, 22, + 14, 22, 14, 22, 14, 22, 12, 18, 122, 131, + 132, 11, 22, 26, 146, 174, 147, 148, 174, 148, + 195, 200, 111, 141, 145, 148, 149, 174, 196, 123, + 148, 148, 85, 161, 161, 163, 110, 23, 194, 192, + 123, 171, 111, 166, 167, 110, 110, 14, 174, 12, + 188, 22, 14, 110, 193, 12, 12, 12, 12, 123, + 155, 156, 123, 26, 110, 110, 110, 110, 111, 123, + 110, 22, 136, 148, 110, 110, 188, 174, 79, 11, + 168, 11, 14, 12, 110, 22, 156, 22, 172, 173, 137, 192, 144, 144, 11, 124, 124, 148, 148, 124, - 134, 110, 109, 124, 124, 126, 109, 126, 76, 21, - 170, 171, 126, 21, 124, 124, 125, 50, 51, 142, - 142, 109, 109, 143, 146, 148, 124, 12, 12, 127, - 12, 143, 143, 126, 124, 110, 124, 124, 21, 109, - 143, 21, 28, 138, 12, 148, 143, 143, 135, 124, - 16, 75, 139, 109, 144, 143, 126, 124, 149, 76, - 142, 109, 124 + 134, 111, 110, 124, 124, 126, 110, 126, 77, 22, + 170, 171, 126, 22, 124, 124, 125, 51, 52, 142, + 142, 110, 110, 143, 146, 148, 124, 12, 12, 127, + 12, 143, 143, 126, 124, 111, 124, 124, 22, 110, + 143, 22, 29, 138, 12, 148, 143, 143, 135, 124, + 17, 76, 139, 110, 144, 143, 126, 124, 149, 77, + 142, 110, 124 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1146,23 +1122,23 @@ static const toketypes yy_type_tab[] = toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_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_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_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, @@ -1182,6 +1158,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 7422f72c5dfff4e2c8cd87e56299968b4a39681f2cc3b81767c0ccd50b4e2054 perly.y + * 125e373e186e1cf8e055f2faf0d9fa51818b4e2b7b6bfda0b1688f3da43b8c35 perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */ diff --git a/perly.y b/perly.y index 2724f86..75a942e 100644 --- a/perly.y +++ b/perly.y @@ -51,6 +51,7 @@ %token PERLY_BRACKET_OPEN %token PERLY_BRACKET_CLOSE %token PERLY_COMMA +%token PERLY_DOLLAR %token PERLY_DOT %token PERLY_EQUAL_SIGN %token PERLY_MINUS @@ -696,7 +697,7 @@ sigdefault: /* NULL */ /* subroutine signature scalar element: e.g. '$x', '$=', '$x = $default' */ sigscalarelem: - '$' sigvarname sigdefault + PERLY_DOLLAR sigvarname sigdefault { OP *var = $sigvarname; OP *defexpr = $sigdefault; @@ -1247,7 +1248,7 @@ term[product] : termbinop { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, $optlistexpr, scalar($subname))); } - | term[operand] ARROW '$' PERLY_STAR + | term[operand] ARROW PERLY_DOLLAR PERLY_STAR { $$ = newSVREF($operand); } | term[operand] ARROW PERLY_SNAIL PERLY_STAR { $$ = newAVREF($operand); } @@ -1379,7 +1380,7 @@ amper : PERLY_AMPERSAND indirob { $$ = newCVREF($PERLY_AMPERSAND,$indirob); } ; -scalar : '$' indirob +scalar : PERLY_DOLLAR indirob { $$ = newSVREF($indirob); } ; diff --git a/toke.c b/toke.c index d6b7cae..25fc46f 100644 --- a/toke.c +++ b/toke.c @@ -2054,6 +2054,7 @@ S_postderef(pTHX_ int const funny, char const next) { assert(funny == DOLSHARP || memCHRs("$@%&*", funny) + || funny == PERLY_DOLLAR || funny == PERLY_SNAIL || funny == PERLY_PERCENT_SIGN || funny == PERLY_AMPERSAND @@ -2062,7 +2063,7 @@ S_postderef(pTHX_ int const funny, char const next) if (next == '*') { PL_expect = XOPERATOR; if (PL_lex_state == LEX_INTERPNORMAL && !PL_lex_brackets) { - assert(PERLY_SNAIL == funny || '$' == funny || DOLSHARP == funny); + assert(PERLY_SNAIL == funny || PERLY_DOLLAR == funny || DOLSHARP == funny); PL_lex_state = LEX_INTERPEND; if (PERLY_SNAIL == funny) force_next(POSTJOIN); @@ -2198,7 +2199,7 @@ S_force_ident(pTHX_ const char *s, int kind) gv_fetchpvn_flags(s, len, (PL_in_eval ? GV_ADDMULTI : GV_ADD) | ( UTF ? SVf_UTF8 : 0 ), - kind == '$' ? SVt_PV : + kind == PERLY_DOLLAR ? SVt_PV : kind == PERLY_SNAIL ? SVt_PVAV : kind == PERLY_PERCENT_SIGN ? SVt_PVHV : SVt_PVGV @@ -5011,6 +5012,7 @@ yyl_sigvar(pTHX_ char *s) switch (sigil) { case ',': TOKEN (PERLY_COMMA); + case '$': TOKEN (PERLY_DOLLAR); case '@': TOKEN (PERLY_SNAIL); case '%': TOKEN (PERLY_PERCENT_SIGN); case ')': TOKEN (PERLY_PAREN_CLOSE); @@ -5028,7 +5030,7 @@ yyl_dollar(pTHX_ char *s) s++; POSTDEREF(DOLSHARP); } - POSTDEREF('$'); + POSTDEREF(PERLY_DOLLAR); } if ( s[1] == '#' @@ -5066,7 +5068,7 @@ yyl_dollar(pTHX_ char *s) if (!PL_tokenbuf[1]) { if (s == PL_bufend) yyerror("Final $ should be \\$ or $name"); - PREREF('$'); + PREREF(PERLY_DOLLAR); } { @@ -5199,7 +5201,7 @@ yyl_dollar(pTHX_ char *s) else if (*s == '.' && isDIGIT(s[1])) PL_expect = XTERM; /* e.g. print $fh .3 */ else if ((*s == '?' || *s == '-' || *s == '+') - && !isSPACE(s[1]) && s[1] != '=') + && !isSPACE(s[1]) && s[1] != '=') PL_expect = XTERM; /* e.g. print $fh -1 */ else if (*s == '/' && !isSPACE(s[1]) && s[1] != '=' && s[1] != '/') @@ -5212,7 +5214,7 @@ yyl_dollar(pTHX_ char *s) } } force_ident_maybe_lex('$'); - TOKEN('$'); + TOKEN(PERLY_DOLLAR); } static int @@ -9292,9 +9294,9 @@ Perl_yylex(pTHX) if (PL_lex_dojoin) { NEXTVAL_NEXTTOKE.ival = 0; force_next(PERLY_COMMA); - force_ident("\"", '$'); + force_ident("\"", PERLY_DOLLAR); NEXTVAL_NEXTTOKE.ival = 0; - force_next('$'); + force_next(PERLY_DOLLAR); NEXTVAL_NEXTTOKE.ival = 0; force_next((2<<24)|PERLY_PAREN_OPEN); NEXTVAL_NEXTTOKE.ival = OP_JOIN; /* emulate join($", ...) */ -- 1.8.3.1