diff --git a/perly.act b/perly.act index fd15ab03ec..337334755f 100644 --- a/perly.act +++ b/perly.act @@ -5,7 +5,7 @@ */ case 2: /* @1: %empty */ -#line 169 "perly.y" +#line 170 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -14,7 +14,7 @@ case 2: /* @1: %empty */ break; case 3: /* grammar: GRAMPROG @1 remember stmtseq */ -#line 174 "perly.y" +#line 175 "perly.y" { newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval))); PL_compiling.cop_seq = 0; @@ -24,7 +24,7 @@ case 2: /* @1: %empty */ break; case 4: /* @2: %empty */ -#line 180 "perly.y" +#line 181 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: /* @1: %empty */ break; case 5: /* grammar: GRAMEXPR @2 optexpr */ -#line 185 "perly.y" +#line 186 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -42,7 +42,7 @@ case 2: /* @1: %empty */ break; case 6: /* @3: %empty */ -#line 190 "perly.y" +#line 191 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: /* @1: %empty */ break; case 7: /* grammar: GRAMBLOCK @3 block */ -#line 195 "perly.y" +#line 196 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -63,7 +63,7 @@ case 2: /* @1: %empty */ break; case 8: /* @4: %empty */ -#line 203 "perly.y" +#line 204 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: /* @1: %empty */ break; case 9: /* grammar: GRAMBARESTMT @4 barestmt */ -#line 208 "perly.y" +#line 209 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -84,7 +84,7 @@ case 2: /* @1: %empty */ break; case 10: /* @5: %empty */ -#line 216 "perly.y" +#line 217 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: /* @1: %empty */ break; case 11: /* grammar: GRAMFULLSTMT @5 fullstmt */ -#line 221 "perly.y" +#line 222 "perly.y" { PL_pad_reset_pending = TRUE; PL_eval_root = (ps[0].val.opval); @@ -105,7 +105,7 @@ case 2: /* @1: %empty */ break; case 12: /* @6: %empty */ -#line 229 "perly.y" +#line 230 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: /* @1: %empty */ break; case 13: /* grammar: GRAMSTMTSEQ @6 stmtseq */ -#line 234 "perly.y" +#line 235 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -123,7 +123,7 @@ case 2: /* @1: %empty */ break; case 14: /* @7: %empty */ -#line 239 "perly.y" +#line 240 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: /* @1: %empty */ break; case 15: /* grammar: GRAMSUBSIGNATURE @7 subsigguts */ -#line 244 "perly.y" +#line 245 "perly.y" { PL_eval_root = (ps[0].val.opval); (yyval.ival) = 0; @@ -141,7 +141,7 @@ case 2: /* @1: %empty */ break; case 16: /* bare_statement_block: block cont */ -#line 253 "perly.y" +#line 254 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, NULL, (ps[-1].val.opval), (ps[0].val.opval), 0); @@ -150,7 +150,7 @@ case 2: /* @1: %empty */ break; case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_SEMICOLON */ -#line 265 "perly.y" +#line 266 "perly.y" { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) @@ -165,7 +165,7 @@ case 2: /* @1: %empty */ break; case 18: /* $@8: %empty */ -#line 284 "perly.y" +#line 285 "perly.y" { package((ps[-3].val.opval)); @@ -181,7 +181,7 @@ case 2: /* @1: %empty */ break; case 19: /* bare_statement_class_definition: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_BRACE_OPEN remember $@8 stmtseq PERLY_BRACE_CLOSE */ -#line 297 "perly.y" +#line 298 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0); @@ -192,7 +192,7 @@ case 2: /* @1: %empty */ break; case 20: /* bare_statement_default: KW_DEFAULT block */ -#line 308 "perly.y" +#line 309 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } @@ -200,7 +200,7 @@ case 2: /* @1: %empty */ break; case 21: /* bare_statement_defer: KW_DEFER mblock */ -#line 315 "perly.y" +#line 316 "perly.y" { (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval))); } @@ -208,27 +208,35 @@ case 2: /* @1: %empty */ break; case 22: /* bare_statement_expression: sideff PERLY_SEMICOLON */ -#line 323 "perly.y" +#line 324 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 23: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 331 "perly.y" + case 23: /* bare_statement_field_declaration: fielddecl PERLY_SEMICOLON */ +#line 332 "perly.y" + { + (yyval.opval) = (ps[-1].val.opval); + } + + break; + + case 24: /* sigsub_or_method_named: KW_SUB_named_sig */ +#line 340 "perly.y" { (yyval.ival) = KW_SUB_named_sig; } break; - case 24: /* sigsub_or_method_named: KW_METHOD_named */ -#line 333 "perly.y" + case 25: /* sigsub_or_method_named: KW_METHOD_named */ +#line 342 "perly.y" { (yyval.ival) = KW_METHOD_named; } break; - case 25: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ -#line 338 "perly.y" + case 26: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ +#line 347 "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)); @@ -236,14 +244,14 @@ case 2: /* @1: %empty */ break; - case 26: /* empty: %empty */ -#line 345 "perly.y" + case 27: /* empty: %empty */ +#line 354 "perly.y" { (yyval.opval) = NULL; } break; - case 27: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ -#line 350 "perly.y" + case 28: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ +#line 359 "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)); @@ -251,15 +259,15 @@ case 2: /* @1: %empty */ break; - case 28: /* remember: %empty */ -#line 357 "perly.y" + case 29: /* remember: %empty */ +#line 366 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; - case 29: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ -#line 362 "perly.y" + case 30: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ +#line 371 "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)); @@ -267,33 +275,33 @@ case 2: /* @1: %empty */ break; - case 30: /* mremember: %empty */ -#line 369 "perly.y" + case 31: /* mremember: %empty */ +#line 378 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; - case 32: /* $@9: %empty */ -#line 378 "perly.y" + case 33: /* $@9: %empty */ +#line 387 "perly.y" { parser->in_my = KEY_catch; } break; - case 33: /* $@10: %empty */ -#line 380 "perly.y" + case 34: /* $@10: %empty */ +#line 389 "perly.y" { parser->in_my = 0; intro_my(); } break; - case 34: /* catch_paren: PERLY_PAREN_OPEN $@9 scalar $@10 PERLY_PAREN_CLOSE */ -#line 382 "perly.y" + case 35: /* catch_paren: PERLY_PAREN_OPEN $@9 scalar $@10 PERLY_PAREN_CLOSE */ +#line 391 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 36: /* stmtseq: stmtseq fullstmt */ -#line 389 "perly.y" + case 37: /* stmtseq: stmtseq fullstmt */ +#line 398 "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)) @@ -302,32 +310,32 @@ case 2: /* @1: %empty */ break; - case 38: /* formstmtseq: formstmtseq formline */ -#line 400 "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)) - PL_hints |= HINT_BLOCK_SCOPE; - } - - break; - - case 39: /* fullstmt: barestmt */ + case 39: /* formstmtseq: formstmtseq formline */ #line 409 "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)) + PL_hints |= HINT_BLOCK_SCOPE; + } + + break; + + case 40: /* fullstmt: barestmt */ +#line 418 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } break; - case 40: /* fullstmt: labfullstmt */ -#line 413 "perly.y" + case 41: /* fullstmt: labfullstmt */ +#line 422 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 41: /* labfullstmt: LABEL barestmt */ -#line 417 "perly.y" + case 42: /* labfullstmt: LABEL barestmt */ +#line 426 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -337,8 +345,8 @@ case 2: /* @1: %empty */ break; - case 42: /* labfullstmt: LABEL labfullstmt */ -#line 424 "perly.y" + case 43: /* labfullstmt: LABEL labfullstmt */ +#line 433 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -348,8 +356,8 @@ case 2: /* @1: %empty */ break; - case 50: /* barestmt: KW_FORMAT startformsub formname formblock */ -#line 448 "perly.y" + case 52: /* barestmt: KW_FORMAT startformsub formname formblock */ +#line 458 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -362,8 +370,8 @@ case 2: /* @1: %empty */ break; - case 51: /* $@11: %empty */ -#line 460 "perly.y" + case 53: /* $@11: %empty */ +#line 470 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -372,8 +380,8 @@ case 2: /* @1: %empty */ break; - case 52: /* barestmt: KW_SUB_named subname startsub $@11 proto subattrlist optsubbody */ -#line 466 "perly.y" + case 54: /* barestmt: KW_SUB_named subname startsub $@11 proto subattrlist optsubbody */ +#line 476 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -387,8 +395,8 @@ case 2: /* @1: %empty */ break; - case 53: /* $@12: %empty */ -#line 481 "perly.y" + case 55: /* $@12: %empty */ +#line 491 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); if((ps[-2].val.ival) == KW_METHOD_named) { @@ -401,8 +409,8 @@ case 2: /* @1: %empty */ break; - case 54: /* barestmt: sigsub_or_method_named subname startsub $@12 subattrlist optsigsubbody */ -#line 491 "perly.y" + case 56: /* barestmt: sigsub_or_method_named subname startsub $@12 subattrlist optsigsubbody */ +#line 501 "perly.y" { OP *body = (ps[0].val.opval); @@ -418,8 +426,8 @@ case 2: /* @1: %empty */ break; - case 55: /* $@13: %empty */ -#line 504 "perly.y" + case 57: /* $@13: %empty */ +#line 514 "perly.y" { switch((ps[-1].val.ival)) { case KEY_ADJUST: @@ -433,8 +441,8 @@ case 2: /* @1: %empty */ break; - case 56: /* barestmt: PHASER startsub $@13 optsubbody */ -#line 515 "perly.y" + case 58: /* barestmt: PHASER startsub $@13 optsubbody */ +#line 525 "perly.y" { OP *body = (ps[0].val.opval); SvREFCNT_inc_simple_void(PL_compcv); @@ -453,8 +461,8 @@ case 2: /* @1: %empty */ break; - case 57: /* barestmt: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ -#line 535 "perly.y" + case 59: /* barestmt: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ +#line 545 "perly.y" { package((ps[-1].val.opval)); if ((ps[-2].val.opval)) @@ -464,14 +472,14 @@ case 2: /* @1: %empty */ break; - case 58: /* $@14: %empty */ -#line 542 "perly.y" + case 60: /* $@14: %empty */ +#line 552 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; - case 59: /* barestmt: KW_USE_or_NO startsub $@14 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ -#line 546 "perly.y" + case 61: /* barestmt: KW_USE_or_NO startsub $@14 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ +#line 556 "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)); @@ -481,8 +489,8 @@ case 2: /* @1: %empty */ break; - case 60: /* barestmt: KW_IF PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ -#line 553 "perly.y" + case 62: /* barestmt: KW_IF PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ +#line 563 "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))); @@ -491,8 +499,8 @@ case 2: /* @1: %empty */ break; - case 61: /* barestmt: KW_UNLESS PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ -#line 559 "perly.y" + case 63: /* barestmt: KW_UNLESS PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ +#line 569 "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)))); @@ -501,8 +509,8 @@ case 2: /* @1: %empty */ break; - case 62: /* barestmt: KW_GIVEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ -#line 565 "perly.y" + case 64: /* barestmt: KW_GIVEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ +#line 575 "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); @@ -510,14 +518,14 @@ case 2: /* @1: %empty */ break; - case 63: /* barestmt: KW_WHEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ -#line 570 "perly.y" + case 65: /* barestmt: KW_WHEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ +#line 580 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; - case 64: /* barestmt: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 572 "perly.y" + case 66: /* barestmt: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 582 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -527,8 +535,8 @@ case 2: /* @1: %empty */ break; - case 65: /* barestmt: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 579 "perly.y" + case 67: /* barestmt: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 589 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, @@ -538,20 +546,20 @@ case 2: /* @1: %empty */ break; - case 66: /* $@15: %empty */ -#line 586 "perly.y" + case 68: /* $@15: %empty */ +#line 596 "perly.y" { parser->expect = XTERM; } break; - case 67: /* $@16: %empty */ -#line 588 "perly.y" + case 69: /* $@16: %empty */ +#line 598 "perly.y" { parser->expect = XTERM; } break; - case 68: /* barestmt: KW_FOR PERLY_PAREN_OPEN remember mnexpr PERLY_SEMICOLON $@15 texpr PERLY_SEMICOLON $@16 mintro mnexpr PERLY_PAREN_CLOSE mblock */ -#line 591 "perly.y" + case 70: /* barestmt: KW_FOR PERLY_PAREN_OPEN remember mnexpr PERLY_SEMICOLON $@15 texpr PERLY_SEMICOLON $@16 mintro mnexpr PERLY_PAREN_CLOSE mblock */ +#line 601 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, @@ -569,8 +577,8 @@ case 2: /* @1: %empty */ break; - case 69: /* barestmt: KW_FOR KW_MY remember my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 606 "perly.y" + case 71: /* barestmt: KW_FOR KW_MY remember my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 616 "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); @@ -578,8 +586,8 @@ case 2: /* @1: %empty */ break; - case 70: /* barestmt: KW_FOR KW_MY remember PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 611 "perly.y" + case 72: /* barestmt: KW_FOR KW_MY remember PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 621 "perly.y" { if ((ps[-6].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... @@ -591,8 +599,8 @@ case 2: /* @1: %empty */ break; - case 71: /* barestmt: KW_FOR scalar PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 620 "perly.y" + case 73: /* barestmt: KW_FOR scalar PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 630 "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))); @@ -601,14 +609,14 @@ case 2: /* @1: %empty */ break; - case 72: /* @17: %empty */ -#line 626 "perly.y" + case 74: /* @17: %empty */ +#line 636 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 73: /* barestmt: KW_FOR my_refgen remember my_var @17 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 628 "perly.y" + case 75: /* barestmt: KW_FOR my_refgen remember my_var @17 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 638 "perly.y" { (yyval.opval) = block_end( (ps[-7].val.ival), @@ -624,8 +632,8 @@ case 2: /* @1: %empty */ break; - case 74: /* barestmt: KW_FOR REFGEN refgen_topic PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 641 "perly.y" + case 76: /* barestmt: KW_FOR REFGEN refgen_topic PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 651 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newFOROP( 0, op_lvalue(newUNOP(OP_REFGEN, 0, @@ -636,8 +644,8 @@ case 2: /* @1: %empty */ break; - case 75: /* barestmt: KW_FOR PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 649 "perly.y" + case 77: /* barestmt: KW_FOR PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 659 "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))); @@ -646,8 +654,8 @@ case 2: /* @1: %empty */ break; - case 76: /* $@18: %empty */ -#line 655 "perly.y" + case 78: /* $@18: %empty */ +#line 665 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -657,8 +665,8 @@ case 2: /* @1: %empty */ break; - case 77: /* barestmt: KW_TRY mblock KW_CATCH remember catch_paren $@18 mblock finally */ -#line 662 "perly.y" + case 79: /* barestmt: KW_TRY mblock KW_CATCH remember catch_paren $@18 mblock finally */ +#line 672 "perly.y" { (yyval.opval) = newTRYCATCHOP(0, (ps[-6].val.opval), (ps[-3].val.opval), block_end((ps[-4].val.ival), op_scope((ps[-1].val.opval)))); @@ -669,8 +677,8 @@ case 2: /* @1: %empty */ break; - case 78: /* $@19: %empty */ -#line 670 "perly.y" + case 80: /* $@19: %empty */ +#line 680 "perly.y" { package((ps[-2].val.opval)); if ((ps[-3].val.opval)) { @@ -680,8 +688,8 @@ case 2: /* @1: %empty */ break; - case 79: /* barestmt: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@19 stmtseq PERLY_BRACE_CLOSE */ -#line 677 "perly.y" + case 81: /* barestmt: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@19 stmtseq PERLY_BRACE_CLOSE */ +#line 687 "perly.y" { /* a block is a loop that happens once */ (yyval.opval) = newWHILEOP(0, 1, NULL, @@ -692,16 +700,8 @@ case 2: /* @1: %empty */ break; - case 80: /* barestmt: fielddecl PERLY_SEMICOLON */ -#line 685 "perly.y" - { - (yyval.opval) = (ps[-1].val.opval); - } - - break; - - case 81: /* barestmt: YADAYADA PERLY_SEMICOLON */ -#line 689 "perly.y" + case 82: /* barestmt: YADAYADA PERLY_SEMICOLON */ +#line 695 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), @@ -710,8 +710,8 @@ case 2: /* @1: %empty */ break; - case 82: /* barestmt: PERLY_SEMICOLON */ -#line 695 "perly.y" + case 83: /* barestmt: PERLY_SEMICOLON */ +#line 701 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -719,8 +719,8 @@ case 2: /* @1: %empty */ break; - case 83: /* formline: THING formarg */ -#line 703 "perly.y" + case 84: /* formline: THING formarg */ +#line 709 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -738,63 +738,63 @@ case 2: /* @1: %empty */ break; - case 85: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ -#line 722 "perly.y" + case 86: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ +#line 728 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 87: /* sideff: error */ -#line 730 "perly.y" + case 88: /* sideff: error */ +#line 736 "perly.y" { (yyval.opval) = NULL; } break; - case 88: /* sideff: expr */ -#line 732 "perly.y" + case 89: /* sideff: expr */ +#line 738 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 89: /* sideff: expr KW_IF condition */ -#line 734 "perly.y" + case 90: /* sideff: expr KW_IF condition */ +#line 740 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 90: /* sideff: expr KW_UNLESS condition */ -#line 736 "perly.y" + case 91: /* sideff: expr KW_UNLESS condition */ +#line 742 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 91: /* sideff: expr KW_WHILE condition */ -#line 738 "perly.y" + case 92: /* sideff: expr KW_WHILE condition */ +#line 744 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 92: /* sideff: expr KW_UNTIL iexpr */ -#line 740 "perly.y" + case 93: /* sideff: expr KW_UNTIL iexpr */ +#line 746 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 93: /* sideff: expr KW_FOR condition */ -#line 742 "perly.y" + case 94: /* sideff: expr KW_FOR condition */ +#line 748 "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 94: /* sideff: expr KW_WHEN condition */ -#line 745 "perly.y" + case 95: /* sideff: expr KW_WHEN condition */ +#line 751 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 96: /* else: KW_ELSE mblock */ -#line 752 "perly.y" + case 97: /* else: KW_ELSE mblock */ +#line 758 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -802,8 +802,8 @@ case 2: /* @1: %empty */ break; - case 97: /* else: KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 757 "perly.y" + case 98: /* else: KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ +#line 763 "perly.y" { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -813,94 +813,94 @@ case 2: /* @1: %empty */ break; - case 99: /* cont: KW_CONTINUE block */ -#line 769 "perly.y" + case 100: /* cont: KW_CONTINUE block */ +#line 775 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 100: /* finally: %empty */ -#line 774 "perly.y" + case 101: /* finally: %empty */ +#line 780 "perly.y" { (yyval.opval) = NULL; } break; - case 101: /* finally: KW_FINALLY block */ -#line 776 "perly.y" + case 102: /* finally: KW_FINALLY block */ +#line 782 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 102: /* mintro: %empty */ -#line 781 "perly.y" + case 103: /* mintro: %empty */ +#line 787 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 105: /* texpr: %empty */ -#line 793 "perly.y" + case 106: /* texpr: %empty */ +#line 799 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 107: /* iexpr: expr */ -#line 801 "perly.y" + case 108: /* iexpr: expr */ +#line 807 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 108: /* mexpr: expr */ -#line 806 "perly.y" + case 109: /* mexpr: expr */ +#line 812 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 109: /* mnexpr: nexpr */ -#line 810 "perly.y" + case 110: /* mnexpr: nexpr */ +#line 816 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 110: /* formname: BAREWORD */ -#line 813 "perly.y" + case 111: /* formname: BAREWORD */ +#line 819 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 112: /* startsub: %empty */ -#line 818 "perly.y" + case 113: /* startsub: %empty */ +#line 824 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 113: /* startanonsub: %empty */ -#line 824 "perly.y" + case 114: /* startanonsub: %empty */ +#line 830 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 114: /* startanonmethod: %empty */ -#line 829 "perly.y" + case 115: /* startanonmethod: %empty */ +#line 835 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD); SAVEFREESV(PL_compcv); } break; - case 115: /* startformsub: %empty */ -#line 834 "perly.y" + case 116: /* startformsub: %empty */ +#line 840 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 121: /* subattrlist: COLONATTR THING */ -#line 853 "perly.y" + case 122: /* subattrlist: COLONATTR THING */ +#line 859 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -910,50 +910,50 @@ case 2: /* @1: %empty */ break; - case 122: /* subattrlist: COLONATTR */ -#line 860 "perly.y" + case 123: /* subattrlist: COLONATTR */ +#line 866 "perly.y" { (yyval.opval) = NULL; } break; - case 123: /* myattrlist: COLONATTR THING */ -#line 865 "perly.y" + case 124: /* myattrlist: COLONATTR THING */ +#line 871 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 124: /* myattrlist: COLONATTR */ -#line 867 "perly.y" + case 125: /* myattrlist: COLONATTR */ +#line 873 "perly.y" { (yyval.opval) = NULL; } break; - case 125: /* sigvar: %empty */ -#line 878 "perly.y" + case 126: /* sigvar: %empty */ +#line 884 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 126: /* sigvar: PRIVATEREF */ -#line 880 "perly.y" + case 127: /* sigvar: PRIVATEREF */ +#line 886 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 127: /* sigslurpsigil: PERLY_SNAIL */ -#line 885 "perly.y" + case 128: /* sigslurpsigil: PERLY_SNAIL */ +#line 891 "perly.y" { (yyval.ival) = '@'; } break; - case 128: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 887 "perly.y" + case 129: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 893 "perly.y" { (yyval.ival) = '%'; } break; - case 129: /* sigslurpelem: sigslurpsigil sigvar */ -#line 891 "perly.y" + case 130: /* sigslurpelem: sigslurpsigil sigvar */ +#line 897 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -961,24 +961,24 @@ case 2: /* @1: %empty */ break; - case 130: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 896 "perly.y" + case 131: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 902 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 131: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 900 "perly.y" + case 132: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 906 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 132: /* sigscalarelem: PERLY_DOLLAR sigvar */ -#line 908 "perly.y" + case 133: /* sigscalarelem: PERLY_DOLLAR sigvar */ +#line 914 "perly.y" { subsignature_append_positional((ps[0].val.ival), 0, NULL); (yyval.opval) = NULL; @@ -986,8 +986,8 @@ case 2: /* @1: %empty */ break; - case 133: /* sigscalarelem: PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 913 "perly.y" + case 134: /* sigscalarelem: PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 919 "perly.y" { subsignature_append_positional((ps[-2].val.ival), (ps[-1].val.ival), (ps[0].val.opval)); (yyval.opval) = NULL; @@ -995,32 +995,32 @@ case 2: /* @1: %empty */ break; - case 134: /* optsigscalardefault: %empty */ -#line 921 "perly.y" + case 135: /* optsigscalardefault: %empty */ +#line 927 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 136: /* sigelem: sigscalarelem */ -#line 928 "perly.y" + case 137: /* sigelem: sigscalarelem */ +#line 934 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 137: /* sigelem: sigslurpelem */ -#line 930 "perly.y" + case 138: /* sigelem: sigslurpelem */ +#line 936 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 145: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 956 "perly.y" + case 146: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 962 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 146: /* $@20: %empty */ -#line 959 "perly.y" + case 147: /* $@20: %empty */ +#line 965 "perly.y" { ENTER; subsignature_start(); @@ -1029,8 +1029,8 @@ case 2: /* @1: %empty */ break; - case 147: /* subsigguts: $@20 optsiglist */ -#line 965 "perly.y" + case 148: /* subsigguts: $@20 optsiglist */ +#line 971 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1057,14 +1057,14 @@ case 2: /* @1: %empty */ break; - case 149: /* optsubbody: PERLY_SEMICOLON */ -#line 993 "perly.y" + case 150: /* optsubbody: PERLY_SEMICOLON */ +#line 999 "perly.y" { (yyval.opval) = NULL; } break; - case 150: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 999 "perly.y" + case 151: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1005 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1073,20 +1073,20 @@ case 2: /* @1: %empty */ break; - case 152: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1011 "perly.y" + case 153: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1017 "perly.y" { (yyval.opval) = NULL; } break; - case 153: /* $@21: %empty */ -#line 1016 "perly.y" + case 154: /* $@21: %empty */ +#line 1022 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 154: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1018 "perly.y" + case 155: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1024 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1096,38 +1096,38 @@ case 2: /* @1: %empty */ break; - case 155: /* expr: expr ANDOP expr */ -#line 1029 "perly.y" + case 156: /* expr: expr ANDOP expr */ +#line 1035 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 156: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1031 "perly.y" + case 157: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1037 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 157: /* expr: expr OROP expr */ -#line 1033 "perly.y" + case 158: /* expr: expr OROP expr */ +#line 1039 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 158: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1035 "perly.y" + case 159: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1041 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 160: /* listexpr: listexpr PERLY_COMMA */ -#line 1041 "perly.y" + case 161: /* listexpr: listexpr PERLY_COMMA */ +#line 1047 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 161: /* listexpr: listexpr PERLY_COMMA term */ -#line 1043 "perly.y" + case 162: /* listexpr: listexpr PERLY_COMMA term */ +#line 1049 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1135,32 +1135,32 @@ case 2: /* @1: %empty */ break; - case 163: /* listop: LSTOP indirob listexpr */ -#line 1052 "perly.y" + case 164: /* listop: LSTOP indirob listexpr */ +#line 1058 "perly.y" { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) ); } break; - case 164: /* listop: BLKLSTOP block listexpr */ -#line 1056 "perly.y" + case 165: /* listop: BLKLSTOP block listexpr */ +#line 1062 "perly.y" { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newUNOP(OP_NULL, 0, op_scope((ps[-1].val.opval))), (ps[0].val.opval)) ); } break; - case 165: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1060 "perly.y" + case 166: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1066 "perly.y" { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) ); } break; - case 166: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1064 "perly.y" + case 167: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1070 "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)), @@ -1169,8 +1169,8 @@ case 2: /* @1: %empty */ break; - case 167: /* listop: term ARROW methodname */ -#line 1070 "perly.y" + case 168: /* listop: term ARROW methodname */ +#line 1076 "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)))); @@ -1178,8 +1178,8 @@ case 2: /* @1: %empty */ break; - case 168: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1075 "perly.y" + case 169: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1081 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[-6].val.opval)), (ps[-1].val.opval)), @@ -1188,8 +1188,8 @@ case 2: /* @1: %empty */ break; - case 169: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1081 "perly.y" + case 170: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1087 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1198,8 +1198,8 @@ case 2: /* @1: %empty */ break; - case 170: /* listop: METHCALL0 indirob optlistexpr */ -#line 1087 "perly.y" + case 171: /* listop: METHCALL0 indirob optlistexpr */ +#line 1093 "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)), @@ -1208,8 +1208,8 @@ case 2: /* @1: %empty */ break; - case 171: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1093 "perly.y" + case 172: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1099 "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)), @@ -1218,26 +1218,26 @@ case 2: /* @1: %empty */ break; - case 172: /* listop: LSTOP optlistexpr */ -#line 1099 "perly.y" + case 173: /* listop: LSTOP optlistexpr */ +#line 1105 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 173: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1101 "perly.y" + case 174: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1107 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 174: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1103 "perly.y" + case 175: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1109 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 175: /* @22: %empty */ -#line 1105 "perly.y" + case 176: /* @22: %empty */ +#line 1111 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); /* prevent double op_free() if the following fails to parse */ @@ -1246,8 +1246,8 @@ case 2: /* @1: %empty */ break; - case 176: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1111 "perly.y" + case 177: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1117 "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))); @@ -1255,21 +1255,21 @@ case 2: /* @1: %empty */ break; - case 179: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1126 "perly.y" + case 180: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1132 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 180: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1128 "perly.y" + case 181: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1134 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 181: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1131 "perly.y" + case 182: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1137 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1277,8 +1277,8 @@ case 2: /* @1: %empty */ break; - case 182: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1136 "perly.y" + case 183: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1142 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1286,31 +1286,31 @@ case 2: /* @1: %empty */ break; - case 183: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1141 "perly.y" + case 184: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1147 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 184: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1144 "perly.y" + case 185: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1150 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 185: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1148 "perly.y" + case 186: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1154 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 186: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1152 "perly.y" + case 187: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1158 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1319,8 +1319,8 @@ case 2: /* @1: %empty */ break; - case 187: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1158 "perly.y" + case 188: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1164 "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))))); @@ -1330,8 +1330,8 @@ case 2: /* @1: %empty */ break; - case 188: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1166 "perly.y" + case 189: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1172 "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))))); @@ -1341,8 +1341,8 @@ case 2: /* @1: %empty */ break; - case 189: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1173 "perly.y" + case 190: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1179 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1351,56 +1351,56 @@ case 2: /* @1: %empty */ break; - case 190: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1179 "perly.y" + case 191: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1185 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 191: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1181 "perly.y" + case 192: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1187 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 192: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1183 "perly.y" + case 193: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1189 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 193: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1188 "perly.y" + case 194: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1194 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 194: /* termbinop: term ASSIGNOP term */ -#line 1190 "perly.y" + case 195: /* termbinop: term ASSIGNOP term */ +#line 1196 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 195: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1192 "perly.y" + case 196: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1198 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 196: /* termbinop: term POWOP term */ -#line 1194 "perly.y" + case 197: /* termbinop: term POWOP term */ +#line 1200 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 197: /* termbinop: term PLUGIN_POW_OP term */ -#line 1196 "perly.y" + case 198: /* termbinop: term PLUGIN_POW_OP term */ +#line 1202 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 198: /* termbinop: term MULOP term */ -#line 1198 "perly.y" + case 199: /* termbinop: term MULOP term */ +#line 1204 "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))); @@ -1408,220 +1408,220 @@ case 2: /* @1: %empty */ break; - case 199: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1203 "perly.y" - { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } - - break; - - case 200: /* termbinop: term ADDOP term */ -#line 1205 "perly.y" - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 201: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1207 "perly.y" - { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } - - break; - - case 202: /* termbinop: term SHIFTOP term */ + case 200: /* termbinop: term PLUGIN_MUL_OP term */ #line 1209 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 201: /* termbinop: term ADDOP term */ +#line 1211 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 203: /* termbinop: termrelop */ -#line 1211 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 204: /* termbinop: termeqop */ + case 202: /* termbinop: term PLUGIN_ADD_OP term */ #line 1213 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 205: /* termbinop: term BITANDOP term */ + case 203: /* termbinop: term SHIFTOP term */ #line 1215 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 206: /* termbinop: term BITOROP term */ + case 204: /* termbinop: termrelop */ #line 1217 "perly.y" + { (yyval.opval) = (ps[0].val.opval); } + + break; + + case 205: /* termbinop: termeqop */ +#line 1219 "perly.y" + { (yyval.opval) = (ps[0].val.opval); } + + break; + + case 206: /* termbinop: term BITANDOP term */ +#line 1221 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 207: /* termbinop: term DOTDOT term */ -#line 1219 "perly.y" + case 207: /* termbinop: term BITOROP term */ +#line 1223 "perly.y" + { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } + + break; + + case 208: /* termbinop: term DOTDOT term */ +#line 1225 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 208: /* termbinop: term ANDAND term */ -#line 1221 "perly.y" + case 209: /* termbinop: term ANDAND term */ +#line 1227 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 209: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1223 "perly.y" + case 210: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1229 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 210: /* termbinop: term OROR term */ -#line 1225 "perly.y" + case 211: /* termbinop: term OROR term */ +#line 1231 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 211: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1227 "perly.y" - { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } - - break; - - case 212: /* termbinop: term DORDOR term */ -#line 1229 "perly.y" - { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 213: /* termbinop: term MATCHOP term */ -#line 1231 "perly.y" - { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 214: /* termbinop: term PLUGIN_LOW_OP term */ + case 212: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ #line 1233 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 215: /* termrelop: relopchain */ + case 213: /* termbinop: term DORDOR term */ +#line 1235 "perly.y" + { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } + + break; + + case 214: /* termbinop: term MATCHOP term */ #line 1237 "perly.y" - { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } + { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 216: /* termrelop: term NCRELOP term */ + case 215: /* termbinop: term PLUGIN_LOW_OP term */ #line 1239 "perly.y" - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 217: /* termrelop: termrelop NCRELOP */ -#line 1241 "perly.y" - { yyerror("syntax error"); YYERROR; } - - break; - - case 218: /* termrelop: termrelop CHRELOP */ -#line 1243 "perly.y" - { yyerror("syntax error"); YYERROR; } - - break; - - case 219: /* termrelop: term PLUGIN_REL_OP term */ -#line 1245 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 220: /* relopchain: term CHRELOP term */ -#line 1249 "perly.y" - { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 221: /* relopchain: relopchain CHRELOP term */ -#line 1251 "perly.y" - { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 222: /* termeqop: eqopchain */ -#line 1255 "perly.y" + case 216: /* termrelop: relopchain */ +#line 1243 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 223: /* termeqop: term NCEQOP term */ -#line 1257 "perly.y" + case 217: /* termrelop: term NCRELOP term */ +#line 1245 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 224: /* termeqop: termeqop NCEQOP */ -#line 1259 "perly.y" + case 218: /* termrelop: termrelop NCRELOP */ +#line 1247 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 225: /* termeqop: termeqop CHEQOP */ -#line 1261 "perly.y" + case 219: /* termrelop: termrelop CHRELOP */ +#line 1249 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 226: /* eqopchain: term CHEQOP term */ -#line 1265 "perly.y" + case 220: /* termrelop: term PLUGIN_REL_OP term */ +#line 1251 "perly.y" + { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } + + break; + + case 221: /* relopchain: term CHRELOP term */ +#line 1255 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 227: /* eqopchain: eqopchain CHEQOP term */ -#line 1267 "perly.y" + case 222: /* relopchain: relopchain CHRELOP term */ +#line 1257 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 228: /* termunop: PERLY_MINUS term */ -#line 1272 "perly.y" + case 223: /* termeqop: eqopchain */ +#line 1261 "perly.y" + { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } + + break; + + case 224: /* termeqop: term NCEQOP term */ +#line 1263 "perly.y" + { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } + + break; + + case 225: /* termeqop: termeqop NCEQOP */ +#line 1265 "perly.y" + { yyerror("syntax error"); YYERROR; } + + break; + + case 226: /* termeqop: termeqop CHEQOP */ +#line 1267 "perly.y" + { yyerror("syntax error"); YYERROR; } + + break; + + case 227: /* eqopchain: term CHEQOP term */ +#line 1271 "perly.y" + { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } + + break; + + case 228: /* eqopchain: eqopchain CHEQOP term */ +#line 1273 "perly.y" + { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } + + break; + + case 229: /* termunop: PERLY_MINUS term */ +#line 1278 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 229: /* termunop: PERLY_PLUS term */ -#line 1274 "perly.y" + case 230: /* termunop: PERLY_PLUS term */ +#line 1280 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 230: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1277 "perly.y" + case 231: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1283 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 231: /* termunop: PERLY_TILDE term */ -#line 1279 "perly.y" + case 232: /* termunop: PERLY_TILDE term */ +#line 1285 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 232: /* termunop: term POSTINC */ -#line 1281 "perly.y" + case 233: /* termunop: term POSTINC */ +#line 1287 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 233: /* termunop: term POSTDEC */ -#line 1284 "perly.y" + case 234: /* termunop: term POSTDEC */ +#line 1290 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 234: /* termunop: term POSTJOIN */ -#line 1287 "perly.y" + case 235: /* termunop: term POSTJOIN */ +#line 1293 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1635,60 +1635,60 @@ case 2: /* @1: %empty */ break; - case 235: /* termunop: PREINC term */ -#line 1298 "perly.y" + case 236: /* termunop: PREINC term */ +#line 1304 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 236: /* termunop: PREDEC term */ -#line 1301 "perly.y" + case 237: /* termunop: PREDEC term */ +#line 1307 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 237: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1309 "perly.y" + case 238: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1315 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 238: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1311 "perly.y" + case 239: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1317 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 239: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1313 "perly.y" + case 240: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1319 "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 240: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1316 "perly.y" + case 241: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1322 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 241: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1318 "perly.y" + case 242: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1324 "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 242: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1321 "perly.y" + case 243: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1327 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 243: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1323 "perly.y" + case 244: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1329 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1696,104 +1696,104 @@ case 2: /* @1: %empty */ break; - case 244: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1328 "perly.y" + case 245: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1334 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 245: /* termdo: KW_DO term */ -#line 1333 "perly.y" + case 246: /* termdo: KW_DO term */ +#line 1339 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 246: /* termdo: KW_DO block */ -#line 1335 "perly.y" + case 247: /* termdo: KW_DO block */ +#line 1341 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 251: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1343 "perly.y" + case 252: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1349 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 252: /* term: REFGEN term */ -#line 1345 "perly.y" + case 253: /* term: REFGEN term */ +#line 1351 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 253: /* term: myattrterm */ -#line 1347 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 254: /* term: KW_LOCAL term */ -#line 1349 "perly.y" - { (yyval.opval) = localize((ps[0].val.opval),0); } - - break; - - case 255: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1351 "perly.y" - { (yyval.opval) = sawparens((ps[-1].val.opval)); } - - break; - - case 256: /* term: QWLIST */ + case 254: /* term: myattrterm */ #line 1353 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 257: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ + case 255: /* term: KW_LOCAL term */ #line 1355 "perly.y" - { (yyval.opval) = sawparens(newNULLLIST()); } + { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 258: /* term: scalar */ + case 256: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ #line 1357 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } + { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 259: /* term: star */ + case 257: /* term: QWLIST */ #line 1359 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 260: /* term: hsh */ + case 258: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ #line 1361 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } + { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 261: /* term: ary */ + case 259: /* term: scalar */ #line 1363 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 262: /* term: arylen */ + case 260: /* term: star */ #line 1365 "perly.y" - { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} + { (yyval.opval) = (ps[0].val.opval); } break; - case 263: /* term: subscripted */ + case 261: /* term: hsh */ #line 1367 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 264: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ + case 262: /* term: ary */ #line 1369 "perly.y" + { (yyval.opval) = (ps[0].val.opval); } + + break; + + case 263: /* term: arylen */ +#line 1371 "perly.y" + { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} + + break; + + case 264: /* term: subscripted */ +#line 1373 "perly.y" + { (yyval.opval) = (ps[0].val.opval); } + + break; + + case 265: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1375 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1806,8 +1806,8 @@ case 2: /* @1: %empty */ break; - case 265: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1379 "perly.y" + case 266: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1385 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1820,8 +1820,8 @@ case 2: /* @1: %empty */ break; - case 266: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1389 "perly.y" + case 267: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1395 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1834,8 +1834,8 @@ case 2: /* @1: %empty */ break; - case 267: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1399 "perly.y" + case 268: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1405 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1848,27 +1848,27 @@ case 2: /* @1: %empty */ break; - case 268: /* term: THING */ -#line 1409 "perly.y" + case 269: /* term: THING */ +#line 1415 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 269: /* term: amper */ -#line 1411 "perly.y" + case 270: /* term: amper */ +#line 1417 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 270: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1413 "perly.y" + case 271: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1419 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 271: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1416 "perly.y" + case 272: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1422 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1876,153 +1876,153 @@ case 2: /* @1: %empty */ break; - case 272: /* term: NOAMP subname optlistexpr */ -#line 1421 "perly.y" + case 273: /* term: NOAMP subname optlistexpr */ +#line 1427 "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 273: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1425 "perly.y" + case 274: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1431 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 274: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1427 "perly.y" + case 275: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1433 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 275: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1429 "perly.y" + case 276: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1435 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 276: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1431 "perly.y" + case 277: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1437 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 277: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1434 "perly.y" + case 278: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1440 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 278: /* term: LOOPEX */ -#line 1436 "perly.y" + case 279: /* term: LOOPEX */ +#line 1442 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 279: /* term: LOOPEX term */ -#line 1439 "perly.y" + case 280: /* term: LOOPEX term */ +#line 1445 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 280: /* term: NOTOP listexpr */ -#line 1441 "perly.y" + case 281: /* term: NOTOP listexpr */ +#line 1447 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 281: /* term: UNIOP */ -#line 1443 "perly.y" + case 282: /* term: UNIOP */ +#line 1449 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 282: /* term: UNIOP block */ -#line 1445 "perly.y" + case 283: /* term: UNIOP block */ +#line 1451 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 283: /* term: UNIOP term */ -#line 1447 "perly.y" + case 284: /* term: UNIOP term */ +#line 1453 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 284: /* term: KW_REQUIRE */ -#line 1449 "perly.y" + case 285: /* term: KW_REQUIRE */ +#line 1455 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 285: /* term: KW_REQUIRE term */ -#line 1451 "perly.y" + case 286: /* term: KW_REQUIRE term */ +#line 1457 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 286: /* term: UNIOPSUB */ -#line 1453 "perly.y" + case 287: /* term: UNIOPSUB */ +#line 1459 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 287: /* term: UNIOPSUB term */ -#line 1455 "perly.y" + case 288: /* term: UNIOPSUB term */ +#line 1461 "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 288: /* term: FUNC0 */ -#line 1458 "perly.y" + case 289: /* term: FUNC0 */ +#line 1464 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 289: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1460 "perly.y" + case 290: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1466 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 290: /* term: FUNC0OP */ -#line 1462 "perly.y" + case 291: /* term: FUNC0OP */ +#line 1468 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 291: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1464 "perly.y" + case 292: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1470 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 292: /* term: FUNC0SUB */ -#line 1466 "perly.y" + case 293: /* term: FUNC0SUB */ +#line 1472 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 293: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1468 "perly.y" + case 294: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1474 "perly.y" { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT) ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP((ps[-2].val.ival), OPf_SPECIAL); } break; - case 294: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1472 "perly.y" + case 295: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1478 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 295: /* @23: %empty */ -#line 1474 "perly.y" + case 296: /* @23: %empty */ +#line 1480 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2036,68 +2036,68 @@ case 2: /* @1: %empty */ break; - case 296: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1485 "perly.y" + case 297: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1491 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 300: /* myattrterm: KW_MY myterm myattrlist */ -#line 1494 "perly.y" + case 301: /* myattrterm: KW_MY myterm myattrlist */ +#line 1500 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 301: /* myattrterm: KW_MY myterm */ -#line 1496 "perly.y" + case 302: /* myattrterm: KW_MY myterm */ +#line 1502 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 302: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1498 "perly.y" + case 303: /* myattrterm: KW_MY REFGEN myterm myattrlist */ +#line 1504 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 303: /* myattrterm: KW_MY REFGEN term */ -#line 1500 "perly.y" + case 304: /* myattrterm: KW_MY REFGEN term */ +#line 1506 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 304: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1505 "perly.y" + case 305: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1511 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 305: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1507 "perly.y" + case 306: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1513 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 306: /* myterm: scalar */ -#line 1510 "perly.y" + case 307: /* myterm: scalar */ +#line 1516 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 307: /* myterm: hsh */ -#line 1512 "perly.y" + case 308: /* myterm: hsh */ +#line 1518 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 308: /* myterm: ary */ -#line 1514 "perly.y" + case 309: /* myterm: ary */ +#line 1520 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 309: /* fieldvar: scalar */ -#line 1519 "perly.y" + case 310: /* fieldvar: scalar */ +#line 1525 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2105,8 +2105,8 @@ case 2: /* @1: %empty */ break; - case 310: /* fieldvar: hsh */ -#line 1524 "perly.y" + case 311: /* fieldvar: hsh */ +#line 1530 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2114,8 +2114,8 @@ case 2: /* @1: %empty */ break; - case 311: /* fieldvar: ary */ -#line 1529 "perly.y" + case 312: /* fieldvar: ary */ +#line 1535 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2123,20 +2123,20 @@ case 2: /* @1: %empty */ break; - case 312: /* optfieldattrlist: COLONATTR THING */ -#line 1537 "perly.y" + case 313: /* optfieldattrlist: COLONATTR THING */ +#line 1543 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 313: /* optfieldattrlist: COLONATTR */ -#line 1539 "perly.y" + case 314: /* optfieldattrlist: COLONATTR */ +#line 1545 "perly.y" { (yyval.opval) = NULL; } break; - case 315: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1545 "perly.y" + case 316: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ +#line 1551 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2146,8 +2146,8 @@ case 2: /* @1: %empty */ break; - case 316: /* $@24: %empty */ -#line 1552 "perly.y" + case 317: /* $@24: %empty */ +#line 1558 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2158,8 +2158,8 @@ case 2: /* @1: %empty */ break; - case 317: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ -#line 1560 "perly.y" + case 318: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ +#line 1566 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2168,122 +2168,122 @@ case 2: /* @1: %empty */ break; - case 323: /* optrepl: PERLY_SLASH expr */ -#line 1580 "perly.y" + case 324: /* optrepl: PERLY_SLASH expr */ +#line 1586 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 324: /* my_scalar: scalar */ -#line 1586 "perly.y" + case 325: /* my_scalar: scalar */ +#line 1592 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 325: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1591 "perly.y" + case 326: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1597 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 326: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1593 "perly.y" + case 327: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1599 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 328: /* my_list_of_scalars: list_of_scalars */ -#line 1600 "perly.y" + case 329: /* my_list_of_scalars: list_of_scalars */ +#line 1606 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 336: /* amper: PERLY_AMPERSAND indirob */ -#line 1617 "perly.y" + case 337: /* amper: PERLY_AMPERSAND indirob */ +#line 1623 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 337: /* scalar: PERLY_DOLLAR indirob */ -#line 1621 "perly.y" + case 338: /* scalar: PERLY_DOLLAR indirob */ +#line 1627 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 338: /* ary: PERLY_SNAIL indirob */ -#line 1625 "perly.y" + case 339: /* ary: PERLY_SNAIL indirob */ +#line 1631 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 339: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1631 "perly.y" + case 340: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1637 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 340: /* arylen: DOLSHARP indirob */ -#line 1637 "perly.y" + case 341: /* arylen: DOLSHARP indirob */ +#line 1643 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 341: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1639 "perly.y" + case 342: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1645 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 342: /* star: PERLY_STAR indirob */ -#line 1643 "perly.y" + case 343: /* star: PERLY_STAR indirob */ +#line 1649 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 344: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1648 "perly.y" + case 345: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1654 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 346: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1653 "perly.y" + case 347: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1659 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 348: /* gelem: term ARROW PERLY_STAR */ -#line 1658 "perly.y" + case 349: /* gelem: term ARROW PERLY_STAR */ +#line 1664 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 349: /* indirob: BAREWORD */ -#line 1663 "perly.y" + case 350: /* indirob: BAREWORD */ +#line 1669 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 350: /* indirob: scalar */ -#line 1665 "perly.y" + case 351: /* indirob: scalar */ +#line 1671 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 351: /* indirob: block */ -#line 1667 "perly.y" + case 352: /* indirob: block */ +#line 1673 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 352: /* indirob: PRIVATEREF */ -#line 1670 "perly.y" + case 353: /* indirob: PRIVATEREF */ +#line 1676 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2295,6 +2295,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 9cf67d3e3259a09eafe76d231b0b9f7d4e2e5d3dcf7afc2109cb5432ac6af0f5 perly.y + * e71d4518027b39f91c89342141cd1ac5b2f72da5a9e3dc004e2f15a408c7ed65 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 6af93cb39b..751d544108 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 9cf67d3e3259a09eafe76d231b0b9f7d4e2e5d3dcf7afc2109cb5432ac6af0f5 perly.y + * e71d4518027b39f91c89342141cd1ac5b2f72da5a9e3dc004e2f15a408c7ed65 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 030078087d..53bb7fd2f1 100644 --- a/perly.tab +++ b/perly.tab @@ -157,110 +157,111 @@ enum yysymbol_kind_t YYSYMBOL_bare_statement_default = 146, /* bare_statement_default */ YYSYMBOL_bare_statement_defer = 147, /* bare_statement_defer */ YYSYMBOL_bare_statement_expression = 148, /* bare_statement_expression */ - YYSYMBOL_sigsub_or_method_named = 149, /* sigsub_or_method_named */ - YYSYMBOL_block = 150, /* block */ - YYSYMBOL_empty = 151, /* empty */ - YYSYMBOL_formblock = 152, /* formblock */ - YYSYMBOL_remember = 153, /* remember */ - YYSYMBOL_mblock = 154, /* mblock */ - YYSYMBOL_mremember = 155, /* mremember */ - YYSYMBOL_catch_paren = 156, /* catch_paren */ - YYSYMBOL_157_9 = 157, /* $@9 */ - YYSYMBOL_158_10 = 158, /* $@10 */ - YYSYMBOL_stmtseq = 159, /* stmtseq */ - YYSYMBOL_formstmtseq = 160, /* formstmtseq */ - YYSYMBOL_fullstmt = 161, /* fullstmt */ - YYSYMBOL_labfullstmt = 162, /* labfullstmt */ - YYSYMBOL_barestmt = 163, /* barestmt */ - YYSYMBOL_164_11 = 164, /* $@11 */ - YYSYMBOL_165_12 = 165, /* $@12 */ - YYSYMBOL_166_13 = 166, /* $@13 */ - YYSYMBOL_167_14 = 167, /* $@14 */ - YYSYMBOL_168_15 = 168, /* $@15 */ - YYSYMBOL_169_16 = 169, /* $@16 */ - YYSYMBOL_170_17 = 170, /* @17 */ - YYSYMBOL_171_18 = 171, /* $@18 */ - YYSYMBOL_172_19 = 172, /* $@19 */ - YYSYMBOL_formline = 173, /* formline */ - YYSYMBOL_formarg = 174, /* formarg */ - YYSYMBOL_condition = 175, /* condition */ - YYSYMBOL_sideff = 176, /* sideff */ - YYSYMBOL_else = 177, /* else */ - YYSYMBOL_cont = 178, /* cont */ - YYSYMBOL_finally = 179, /* finally */ - YYSYMBOL_mintro = 180, /* mintro */ - YYSYMBOL_nexpr = 181, /* nexpr */ - YYSYMBOL_texpr = 182, /* texpr */ - YYSYMBOL_iexpr = 183, /* iexpr */ - YYSYMBOL_mexpr = 184, /* mexpr */ - YYSYMBOL_mnexpr = 185, /* mnexpr */ - YYSYMBOL_formname = 186, /* formname */ - YYSYMBOL_startsub = 187, /* startsub */ - YYSYMBOL_startanonsub = 188, /* startanonsub */ - YYSYMBOL_startanonmethod = 189, /* startanonmethod */ - YYSYMBOL_startformsub = 190, /* startformsub */ - YYSYMBOL_subname = 191, /* subname */ - YYSYMBOL_proto = 192, /* proto */ - YYSYMBOL_subattrlist = 193, /* subattrlist */ - YYSYMBOL_myattrlist = 194, /* myattrlist */ - YYSYMBOL_sigvar = 195, /* sigvar */ - YYSYMBOL_sigslurpsigil = 196, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 197, /* sigslurpelem */ - YYSYMBOL_sigscalarelem = 198, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 199, /* optsigscalardefault */ - YYSYMBOL_sigelem = 200, /* sigelem */ - YYSYMBOL_siglist = 201, /* siglist */ - YYSYMBOL_optsiglist = 202, /* optsiglist */ - YYSYMBOL_optsubsignature = 203, /* optsubsignature */ - YYSYMBOL_subsignature = 204, /* subsignature */ - YYSYMBOL_subsigguts = 205, /* subsigguts */ - YYSYMBOL_206_20 = 206, /* $@20 */ - YYSYMBOL_optsubbody = 207, /* optsubbody */ - YYSYMBOL_subbody = 208, /* subbody */ - YYSYMBOL_optsigsubbody = 209, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 210, /* sigsubbody */ - YYSYMBOL_211_21 = 211, /* $@21 */ - YYSYMBOL_expr = 212, /* expr */ - YYSYMBOL_listexpr = 213, /* listexpr */ - YYSYMBOL_listop = 214, /* listop */ - YYSYMBOL_215_22 = 215, /* @22 */ - YYSYMBOL_methodname = 216, /* methodname */ - YYSYMBOL_subscripted = 217, /* subscripted */ - YYSYMBOL_termbinop = 218, /* termbinop */ - YYSYMBOL_termrelop = 219, /* termrelop */ - YYSYMBOL_relopchain = 220, /* relopchain */ - YYSYMBOL_termeqop = 221, /* termeqop */ - YYSYMBOL_eqopchain = 222, /* eqopchain */ - YYSYMBOL_termunop = 223, /* termunop */ - YYSYMBOL_anonymous = 224, /* anonymous */ - YYSYMBOL_termdo = 225, /* termdo */ - YYSYMBOL_term = 226, /* term */ - YYSYMBOL_227_23 = 227, /* @23 */ - YYSYMBOL_myattrterm = 228, /* myattrterm */ - YYSYMBOL_myterm = 229, /* myterm */ - YYSYMBOL_fieldvar = 230, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 231, /* optfieldattrlist */ - YYSYMBOL_fielddecl = 232, /* fielddecl */ - YYSYMBOL_233_24 = 233, /* $@24 */ - YYSYMBOL_optlistexpr = 234, /* optlistexpr */ - YYSYMBOL_optexpr = 235, /* optexpr */ - YYSYMBOL_optrepl = 236, /* optrepl */ - YYSYMBOL_my_scalar = 237, /* my_scalar */ - YYSYMBOL_list_of_scalars = 238, /* list_of_scalars */ - YYSYMBOL_my_list_of_scalars = 239, /* my_list_of_scalars */ - YYSYMBOL_my_var = 240, /* my_var */ - YYSYMBOL_refgen_topic = 241, /* refgen_topic */ - YYSYMBOL_my_refgen = 242, /* my_refgen */ - YYSYMBOL_amper = 243, /* amper */ - YYSYMBOL_scalar = 244, /* scalar */ - YYSYMBOL_ary = 245, /* ary */ - YYSYMBOL_hsh = 246, /* hsh */ - YYSYMBOL_arylen = 247, /* arylen */ - YYSYMBOL_star = 248, /* star */ - YYSYMBOL_sliceme = 249, /* sliceme */ - YYSYMBOL_kvslice = 250, /* kvslice */ - YYSYMBOL_gelem = 251, /* gelem */ - YYSYMBOL_indirob = 252 /* indirob */ + YYSYMBOL_bare_statement_field_declaration = 149, /* bare_statement_field_declaration */ + YYSYMBOL_sigsub_or_method_named = 150, /* sigsub_or_method_named */ + YYSYMBOL_block = 151, /* block */ + YYSYMBOL_empty = 152, /* empty */ + YYSYMBOL_formblock = 153, /* formblock */ + YYSYMBOL_remember = 154, /* remember */ + YYSYMBOL_mblock = 155, /* mblock */ + YYSYMBOL_mremember = 156, /* mremember */ + YYSYMBOL_catch_paren = 157, /* catch_paren */ + YYSYMBOL_158_9 = 158, /* $@9 */ + YYSYMBOL_159_10 = 159, /* $@10 */ + YYSYMBOL_stmtseq = 160, /* stmtseq */ + YYSYMBOL_formstmtseq = 161, /* formstmtseq */ + YYSYMBOL_fullstmt = 162, /* fullstmt */ + YYSYMBOL_labfullstmt = 163, /* labfullstmt */ + YYSYMBOL_barestmt = 164, /* barestmt */ + YYSYMBOL_165_11 = 165, /* $@11 */ + YYSYMBOL_166_12 = 166, /* $@12 */ + YYSYMBOL_167_13 = 167, /* $@13 */ + YYSYMBOL_168_14 = 168, /* $@14 */ + YYSYMBOL_169_15 = 169, /* $@15 */ + YYSYMBOL_170_16 = 170, /* $@16 */ + YYSYMBOL_171_17 = 171, /* @17 */ + YYSYMBOL_172_18 = 172, /* $@18 */ + YYSYMBOL_173_19 = 173, /* $@19 */ + YYSYMBOL_formline = 174, /* formline */ + YYSYMBOL_formarg = 175, /* formarg */ + YYSYMBOL_condition = 176, /* condition */ + YYSYMBOL_sideff = 177, /* sideff */ + YYSYMBOL_else = 178, /* else */ + YYSYMBOL_cont = 179, /* cont */ + YYSYMBOL_finally = 180, /* finally */ + YYSYMBOL_mintro = 181, /* mintro */ + YYSYMBOL_nexpr = 182, /* nexpr */ + YYSYMBOL_texpr = 183, /* texpr */ + YYSYMBOL_iexpr = 184, /* iexpr */ + YYSYMBOL_mexpr = 185, /* mexpr */ + YYSYMBOL_mnexpr = 186, /* mnexpr */ + YYSYMBOL_formname = 187, /* formname */ + YYSYMBOL_startsub = 188, /* startsub */ + YYSYMBOL_startanonsub = 189, /* startanonsub */ + YYSYMBOL_startanonmethod = 190, /* startanonmethod */ + YYSYMBOL_startformsub = 191, /* startformsub */ + YYSYMBOL_subname = 192, /* subname */ + YYSYMBOL_proto = 193, /* proto */ + YYSYMBOL_subattrlist = 194, /* subattrlist */ + YYSYMBOL_myattrlist = 195, /* myattrlist */ + YYSYMBOL_sigvar = 196, /* sigvar */ + YYSYMBOL_sigslurpsigil = 197, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 198, /* sigslurpelem */ + YYSYMBOL_sigscalarelem = 199, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 200, /* optsigscalardefault */ + YYSYMBOL_sigelem = 201, /* sigelem */ + YYSYMBOL_siglist = 202, /* siglist */ + YYSYMBOL_optsiglist = 203, /* optsiglist */ + YYSYMBOL_optsubsignature = 204, /* optsubsignature */ + YYSYMBOL_subsignature = 205, /* subsignature */ + YYSYMBOL_subsigguts = 206, /* subsigguts */ + YYSYMBOL_207_20 = 207, /* $@20 */ + YYSYMBOL_optsubbody = 208, /* optsubbody */ + YYSYMBOL_subbody = 209, /* subbody */ + YYSYMBOL_optsigsubbody = 210, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 211, /* sigsubbody */ + YYSYMBOL_212_21 = 212, /* $@21 */ + YYSYMBOL_expr = 213, /* expr */ + YYSYMBOL_listexpr = 214, /* listexpr */ + YYSYMBOL_listop = 215, /* listop */ + YYSYMBOL_216_22 = 216, /* @22 */ + YYSYMBOL_methodname = 217, /* methodname */ + YYSYMBOL_subscripted = 218, /* subscripted */ + YYSYMBOL_termbinop = 219, /* termbinop */ + YYSYMBOL_termrelop = 220, /* termrelop */ + YYSYMBOL_relopchain = 221, /* relopchain */ + YYSYMBOL_termeqop = 222, /* termeqop */ + YYSYMBOL_eqopchain = 223, /* eqopchain */ + YYSYMBOL_termunop = 224, /* termunop */ + YYSYMBOL_anonymous = 225, /* anonymous */ + YYSYMBOL_termdo = 226, /* termdo */ + YYSYMBOL_term = 227, /* term */ + YYSYMBOL_228_23 = 228, /* @23 */ + YYSYMBOL_myattrterm = 229, /* myattrterm */ + YYSYMBOL_myterm = 230, /* myterm */ + YYSYMBOL_fieldvar = 231, /* fieldvar */ + YYSYMBOL_optfieldattrlist = 232, /* optfieldattrlist */ + YYSYMBOL_fielddecl = 233, /* fielddecl */ + YYSYMBOL_234_24 = 234, /* $@24 */ + YYSYMBOL_optlistexpr = 235, /* optlistexpr */ + YYSYMBOL_optexpr = 236, /* optexpr */ + YYSYMBOL_optrepl = 237, /* optrepl */ + YYSYMBOL_my_scalar = 238, /* my_scalar */ + YYSYMBOL_list_of_scalars = 239, /* list_of_scalars */ + YYSYMBOL_my_list_of_scalars = 240, /* my_list_of_scalars */ + YYSYMBOL_my_var = 241, /* my_var */ + YYSYMBOL_refgen_topic = 242, /* refgen_topic */ + YYSYMBOL_my_refgen = 243, /* my_refgen */ + YYSYMBOL_amper = 244, /* amper */ + YYSYMBOL_scalar = 245, /* scalar */ + YYSYMBOL_ary = 246, /* ary */ + YYSYMBOL_hsh = 247, /* hsh */ + YYSYMBOL_arylen = 248, /* arylen */ + YYSYMBOL_star = 249, /* star */ + YYSYMBOL_sliceme = 250, /* sliceme */ + YYSYMBOL_kvslice = 251, /* kvslice */ + YYSYMBOL_gelem = 252, /* gelem */ + YYSYMBOL_indirob = 253 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -269,16 +270,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3745 +#define YYLAST 3755 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 120 +#define YYNNTS 121 /* YYNRULES -- Number of rules. */ -#define YYNRULES 352 +#define YYNRULES 353 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 683 +#define YYNSTATES 684 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -340,42 +341,42 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 169, 169, 168, 180, 179, 190, 189, 203, 202, - 216, 215, 229, 228, 239, 238, 251, 260, 284, 278, - 306, 314, 322, 330, 332, 337, 345, 349, 356, 361, - 368, 374, 378, 380, 377, 387, 388, 398, 399, 408, - 412, 416, 423, 440, 441, 442, 443, 444, 445, 446, - 447, 460, 457, 481, 476, 504, 503, 530, 542, 541, - 552, 558, 564, 569, 571, 578, 586, 588, 585, 605, - 610, 619, 626, 625, 640, 648, 655, 654, 670, 669, - 684, 688, 694, 702, 720, 721, 725, 729, 731, 733, - 735, 737, 739, 741, 744, 750, 751, 756, 767, 768, - 773, 775, 780, 787, 788, 792, 796, 800, 805, 809, - 813, 814, 817, 823, 828, 833, 839, 840, 845, 846, - 851, 852, 859, 864, 866, 877, 879, 884, 886, 890, - 895, 899, 907, 912, 920, 922, 927, 929, 937, 938, - 939, 944, 945, 950, 951, 955, 959, 959, 992, 993, - 998, 1010, 1011, 1016, 1015, 1028, 1030, 1032, 1034, 1036, - 1040, 1042, 1047, 1051, 1055, 1059, 1063, 1069, 1074, 1080, - 1086, 1092, 1098, 1100, 1102, 1105, 1104, 1118, 1119, 1123, - 1127, 1130, 1135, 1140, 1143, 1147, 1151, 1157, 1165, 1172, - 1178, 1180, 1182, 1187, 1189, 1191, 1193, 1195, 1197, 1202, - 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, - 1224, 1226, 1228, 1230, 1232, 1236, 1238, 1240, 1242, 1244, - 1248, 1250, 1254, 1256, 1258, 1260, 1264, 1266, 1271, 1273, - 1276, 1278, 1280, 1283, 1286, 1297, 1300, 1308, 1310, 1312, - 1315, 1317, 1320, 1322, 1327, 1332, 1334, 1338, 1339, 1340, - 1341, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1356, 1358, - 1360, 1362, 1364, 1366, 1368, 1378, 1388, 1398, 1408, 1410, - 1412, 1415, 1420, 1424, 1426, 1428, 1430, 1433, 1435, 1438, - 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1457, 1459, - 1461, 1463, 1465, 1467, 1471, 1474, 1473, 1486, 1487, 1488, - 1493, 1495, 1497, 1499, 1504, 1506, 1509, 1511, 1513, 1518, - 1523, 1528, 1536, 1538, 1540, 1544, 1552, 1551, 1569, 1570, - 1574, 1575, 1579, 1580, 1585, 1590, 1592, 1596, 1599, 1603, - 1604, 1605, 1608, 1609, 1612, 1613, 1616, 1620, 1624, 1630, - 1636, 1638, 1642, 1646, 1647, 1651, 1652, 1656, 1657, 1662, - 1664, 1666, 1669 + 0, 170, 170, 169, 181, 180, 191, 190, 204, 203, + 217, 216, 230, 229, 240, 239, 252, 261, 285, 279, + 307, 315, 323, 330, 339, 341, 346, 354, 358, 365, + 370, 377, 383, 387, 389, 386, 396, 397, 407, 408, + 417, 421, 425, 432, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 470, 467, 491, 486, 514, 513, 540, + 552, 551, 562, 568, 574, 579, 581, 588, 596, 598, + 595, 615, 620, 629, 636, 635, 650, 658, 665, 664, + 680, 679, 694, 700, 708, 726, 727, 731, 735, 737, + 739, 741, 743, 745, 747, 750, 756, 757, 762, 773, + 774, 779, 781, 786, 793, 794, 798, 802, 806, 811, + 815, 819, 820, 823, 829, 834, 839, 845, 846, 851, + 852, 857, 858, 865, 870, 872, 883, 885, 890, 892, + 896, 901, 905, 913, 918, 926, 928, 933, 935, 943, + 944, 945, 950, 951, 956, 957, 961, 965, 965, 998, + 999, 1004, 1016, 1017, 1022, 1021, 1034, 1036, 1038, 1040, + 1042, 1046, 1048, 1053, 1057, 1061, 1065, 1069, 1075, 1080, + 1086, 1092, 1098, 1104, 1106, 1108, 1111, 1110, 1124, 1125, + 1129, 1133, 1136, 1141, 1146, 1149, 1153, 1157, 1163, 1171, + 1178, 1184, 1186, 1188, 1193, 1195, 1197, 1199, 1201, 1203, + 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, + 1228, 1230, 1232, 1234, 1236, 1238, 1242, 1244, 1246, 1248, + 1250, 1254, 1256, 1260, 1262, 1264, 1266, 1270, 1272, 1277, + 1279, 1282, 1284, 1286, 1289, 1292, 1303, 1306, 1314, 1316, + 1318, 1321, 1323, 1326, 1328, 1333, 1338, 1340, 1344, 1345, + 1346, 1347, 1348, 1350, 1352, 1354, 1356, 1358, 1360, 1362, + 1364, 1366, 1368, 1370, 1372, 1374, 1384, 1394, 1404, 1414, + 1416, 1418, 1421, 1426, 1430, 1432, 1434, 1436, 1439, 1441, + 1444, 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1463, + 1465, 1467, 1469, 1471, 1473, 1477, 1480, 1479, 1492, 1493, + 1494, 1499, 1501, 1503, 1505, 1510, 1512, 1515, 1517, 1519, + 1524, 1529, 1534, 1542, 1544, 1546, 1550, 1558, 1557, 1575, + 1576, 1580, 1581, 1585, 1586, 1591, 1596, 1598, 1602, 1605, + 1609, 1610, 1611, 1614, 1615, 1618, 1619, 1622, 1626, 1630, + 1636, 1642, 1644, 1648, 1652, 1653, 1657, 1658, 1662, 1663, + 1668, 1670, 1672, 1675 }; #endif @@ -422,24 +423,25 @@ static const char *const yytname[] = "bare_statement_block", "bare_statement_class_declaration", "bare_statement_class_definition", "$@8", "bare_statement_default", "bare_statement_defer", "bare_statement_expression", - "sigsub_or_method_named", "block", "empty", "formblock", "remember", - "mblock", "mremember", "catch_paren", "$@9", "$@10", "stmtseq", - "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@11", "$@12", - "$@13", "$@14", "$@15", "$@16", "@17", "$@18", "$@19", "formline", - "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", - "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", - "startanonsub", "startanonmethod", "startformsub", "subname", "proto", - "subattrlist", "myattrlist", "sigvar", "sigslurpsigil", "sigslurpelem", - "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", - "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20", - "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", - "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop", - "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", - "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar", - "optfieldattrlist", "fielddecl", "$@24", "optlistexpr", "optexpr", - "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars", - "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", - "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR + "bare_statement_field_declaration", "sigsub_or_method_named", "block", + "empty", "formblock", "remember", "mblock", "mremember", "catch_paren", + "$@9", "$@10", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", + "barestmt", "$@11", "$@12", "$@13", "$@14", "$@15", "$@16", "@17", + "$@18", "$@19", "formline", "formarg", "condition", "sideff", "else", + "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr", + "mnexpr", "formname", "startsub", "startanonsub", "startanonmethod", + "startformsub", "subname", "proto", "subattrlist", "myattrlist", + "sigvar", "sigslurpsigil", "sigslurpelem", "sigscalarelem", + "optsigscalardefault", "sigelem", "siglist", "optsiglist", + "optsubsignature", "subsignature", "subsigguts", "$@20", "optsubbody", + "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", "listexpr", + "listop", "@22", "methodname", "subscripted", "termbinop", "termrelop", + "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", + "term", "@23", "myattrterm", "myterm", "fieldvar", "optfieldattrlist", + "fielddecl", "$@24", "optlistexpr", "optexpr", "optrepl", "my_scalar", + "list_of_scalars", "my_list_of_scalars", "my_var", "refgen_topic", + "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", "star", + "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; static const char * @@ -449,12 +451,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-563) +#define YYPACT_NINF (-558) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-351) +#define YYTABLE_NINF (-352) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -463,75 +465,75 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 790, -563, -563, -563, -563, -563, -563, -563, 49, -563, - 3031, 57, 1973, 1856, -563, -563, -563, -563, 349, 3031, - 349, 3031, 349, 3031, 349, 349, 3031, 61, 3031, 2302, - -563, -563, -563, -563, 349, 349, -563, -563, 77, 17, - -563, 3031, -563, -563, 3031, 21, 72, -53, 2302, 2221, - 57, 349, 3031, -5, 3031, 3031, 3031, 3031, 3031, 3031, - 2383, -563, 102, 96, -563, 30, -563, -18, 3, 80, - 11, -563, -563, -563, 3279, -563, -563, 79, 99, 141, - 154, -563, 116, 175, 201, 129, -563, -563, -563, -563, - -563, 160, 169, 150, 107, 128, 7, 132, 139, 164, - 167, 57, 247, 247, -563, -5, -563, -563, -563, 251, - -563, -563, -563, -563, -563, -563, -563, -5, 264, -563, - 284, 393, 285, 1856, -563, -563, -563, -563, 694, -563, - 193, 874, -563, -563, -563, -563, -563, 301, -563, 394, - -563, 394, -563, -563, 3615, 3112, 2464, 227, -563, -563, - -563, 3615, -563, 3615, 252, 242, 242, 3031, 217, 269, - 3031, 226, 3615, 57, 3279, 228, 2545, 3031, 2221, -563, - 3615, 3193, -563, 96, -563, 2626, 3031, 3031, -563, 340, - -563, -563, 3031, 96, 394, 394, 394, 499, 499, 350, - 215, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 2707, -563, - -563, 3031, -563, -563, 3031, 3031, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, - -563, -563, -563, 3031, 106, 2788, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, -563, 305, 308, 310, 282, -563, -563, - -563, -563, -563, 254, 484, -563, -563, 237, -563, -563, - -563, -563, -563, -563, 333, -563, -563, -563, -563, -563, - -563, 57, -563, -563, -563, 3031, 3031, 3031, 3031, 3031, - 3031, -563, -563, -563, -563, 324, -563, -563, -563, 324, - -563, -563, -563, 372, -563, -563, 2869, 394, 227, 39, - 46, 75, -563, 318, 332, -563, -563, -563, 242, 338, - -563, 2, 2, -563, 3031, 3031, 8, -563, -563, -563, - -563, 348, 311, 271, 3031, 96, 96, 391, -563, 3031, - 404, 126, 126, -563, -563, 3383, 230, 85, -563, 516, - 706, 3576, 3435, 394, 355, 339, 3331, 3383, 3383, 3227, - 3474, 3474, 3474, 3497, 3497, 3536, 3557, 3576, 3576, 706, - 706, 3596, 411, 339, 355, 394, 394, 153, 131, 3031, - 3031, 491, 379, 381, 401, -563, 402, 2950, 307, -563, - -563, 527, 235, 134, 240, 146, 278, 159, 286, 991, - -563, -563, 415, 44, 242, 378, -563, 341, 3031, 3031, - -563, 10, -563, -563, 315, -563, -563, -563, -563, 2059, - 150, -563, 3031, 3031, 3031, 3031, -563, -563, 392, -563, - 429, -563, -563, -563, 102, -563, -563, -563, 102, -563, - -563, -563, 353, 354, 193, 20, 581, -563, -563, -563, - 444, -563, 326, -563, -563, 328, 55, -563, 3031, -563, - -563, -563, 586, -563, 196, 3031, 448, -563, -563, 3031, - -563, 331, 299, 222, -563, -563, -563, -563, -563, -563, - 686, 3031, -563, 458, -563, 459, -563, 460, -563, 463, - -563, -563, -563, -563, -563, 62, -563, -563, 345, 102, - 346, 470, 363, -563, -563, -563, -563, -563, 365, 475, - 183, -563, 3031, 367, 374, 102, 382, 384, 1154, 386, - 454, 252, -563, 514, -563, -563, 242, 3031, 3031, -563, - 27, -563, -563, -563, 522, -563, -563, 3031, -563, 445, - -563, -563, -563, 245, -563, 1024, 3031, 530, -563, -563, - 417, -563, -563, -563, -563, 524, -563, -563, -563, 3031, - 247, 247, 534, 420, -563, 3031, 3031, 247, -563, 421, - 423, -563, -563, 247, 247, -563, -563, -563, -563, 3031, - 242, -563, 536, -563, 3279, 3279, 430, -563, 102, -563, - -563, 431, -563, -563, 478, -563, -563, 3279, 268, 268, - 470, 435, 432, 437, 264, 3031, 3031, 247, 247, 247, - -563, -563, 470, 247, 548, 429, 1271, -563, -563, -563, - -563, -563, -563, -563, 1388, -563, 247, 439, -563, -563, - -563, -563, 3031, 247, 247, -563, 550, 443, 264, 264, - 264, -563, 531, -563, -563, -563, 1505, -563, 41, -563, - 1622, -563, 3031, 446, 264, 264, -563, 247, -563, -563, - -563, 449, 57, -563, -563, 564, 495, -563, -563, 452, - 247, -563, -563, -563, 264, -563, -563, -563, -563, -563, - -563, 247, 264, 2140, -563, 1739, 268, -563, 456, -563, - -563, 247, -563 + 780, -558, -558, -558, -558, -558, -558, -558, 49, -558, + 3021, 45, 1963, 1846, -558, -558, -558, -558, 21, 3021, + 21, 3021, 21, 3021, 21, 21, 3021, 35, 3021, 2292, + -558, -558, -558, -558, 21, 21, -558, -558, 63, -44, + -558, 3021, -558, -558, 3021, -26, -14, -48, 2292, 2211, + 45, 21, 3021, 17, 3021, 3021, 3021, 3021, 3021, 3021, + 2373, -558, 270, 125, -558, 11, -558, 19, 56, 39, + 90, -558, -558, -558, 3269, -558, -558, 73, 124, 170, + 205, -558, 160, 211, 231, 202, -558, -558, -558, -558, + -558, 154, 175, 74, 121, 122, 50, 127, 132, 133, + 135, 45, 245, 245, -558, 17, -558, -558, -558, 247, + -558, -558, -558, -558, -558, -558, -558, -558, 17, 233, + -558, 251, 422, 252, 1846, -558, -558, -558, -558, 684, + -558, 199, 864, -558, -558, -558, -558, -558, 262, -558, + 317, -558, 317, -558, -558, 3605, 3102, 2454, 197, -558, + -558, -558, 3605, -558, 3605, 224, 210, 210, 3021, 165, + 215, 3021, 181, 3605, 45, 3269, 182, 2535, 3021, 2211, + -558, 3605, 3183, -558, 125, -558, 2616, 3021, 3021, -558, + 301, -558, -558, 3021, 125, 317, 317, 317, 542, 542, + 312, 264, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 2697, + -558, -558, 3021, -558, -558, 3021, 3021, 3021, 3021, 3021, + 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, + 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, + 3021, -558, -558, -558, 3021, 201, 2778, 3021, 3021, 3021, + 3021, 3021, 3021, 3021, -558, 273, 284, 288, 265, -558, + -558, -558, -558, -558, 226, 548, -558, -558, 237, -558, + -558, -558, -558, -558, -558, 327, -558, -558, -558, -558, + -558, -558, 45, -558, -558, -558, 3021, 3021, 3021, 3021, + 3021, 3021, -558, -558, -558, -558, 316, -558, -558, -558, + 316, -558, -558, -558, 363, -558, -558, 2859, 317, 197, + 25, 88, 94, -558, 445, 322, -558, -558, -558, 210, + 323, -558, 2, 2, -558, 3021, 3021, 20, -558, -558, + -558, -558, 458, 293, 253, 3021, 125, 125, 374, -558, + 3021, 377, 57, 57, -558, -558, 3373, 31, 67, -558, + 487, 696, 3566, 3425, 317, 346, 369, 3321, 3373, 3373, + 3217, 3464, 3464, 3464, 3487, 3487, 3526, 3547, 3566, 3566, + 696, 696, 3586, 3625, 369, 346, 317, 317, 58, 47, + 3021, 3021, 173, 371, 381, 382, -558, 386, 2940, 267, + -558, -558, 496, 100, 185, 221, 206, 308, 213, 319, + 981, -558, -558, 402, 32, 210, 362, -558, 328, 3021, + 3021, -558, 10, -558, -558, 296, -558, -558, -558, -558, + 2049, 74, -558, 3021, 3021, 3021, 3021, -558, -558, 378, + -558, 414, -558, -558, -558, 270, -558, -558, -558, 270, + -558, -558, -558, 339, 342, 199, 44, 515, -558, -558, + -558, 437, -558, 320, -558, -558, 325, 77, -558, 3021, + -558, -558, -558, 519, -558, 241, 3021, 441, -558, -558, + 3021, -558, 329, 335, 279, -558, -558, -558, -558, -558, + -558, 529, 3021, -558, 454, -558, 455, -558, 456, -558, + 459, -558, -558, -558, -558, -558, 41, -558, -558, 348, + 270, 349, 466, 338, -558, -558, -558, -558, -558, 352, + 463, 225, -558, 3021, 357, 358, 270, 370, 372, 1144, + 361, 438, 224, -558, 493, -558, -558, 210, 3021, 3021, + -558, 55, -558, -558, -558, 495, -558, -558, 3021, -558, + 418, -558, -558, -558, 297, -558, 1014, 3021, 497, -558, + -558, 379, -558, -558, -558, -558, 491, -558, -558, -558, + 3021, 245, 245, 500, 390, -558, 3021, 3021, 245, -558, + 391, 397, -558, -558, 245, 245, -558, -558, -558, -558, + 3021, 210, -558, 507, -558, 3269, 3269, 404, -558, 270, + -558, -558, 405, -558, -558, 434, -558, -558, 3269, 159, + 159, 466, 401, 407, 413, 233, 3021, 3021, 245, 245, + 245, -558, -558, 466, 245, 523, 414, 1261, -558, -558, + -558, -558, -558, -558, -558, 1378, -558, 245, 415, -558, + -558, -558, -558, 3021, 245, 245, -558, 526, 426, 233, + 233, 233, -558, 504, -558, -558, -558, 1495, -558, 28, + -558, 1612, -558, 3021, 428, 233, 233, -558, 245, -558, + -558, -558, 431, 45, -558, -558, 546, 480, -558, -558, + 440, 245, -558, -558, -558, 233, -558, -558, -558, -558, + -558, -558, 245, 233, 2130, -558, 1729, 159, -558, 442, + -558, -558, 245, -558 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -539,109 +541,111 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 2, 4, 6, 8, 10, 12, 14, 0, 28, - 26, 0, 0, 0, 26, 146, 1, 26, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, - 113, 113, 114, 297, 0, 0, 268, 295, 256, 290, - 292, 286, 113, 299, 278, 288, 0, 0, 281, 26, - 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 320, 321, 159, 298, 263, 247, 203, 215, 204, - 222, 248, 249, 250, 162, 253, 5, 269, 258, 261, - 260, 262, 259, 0, 0, 0, 28, 7, 87, 82, - 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 112, 0, 23, 24, 43, 0, - 112, 44, 45, 46, 47, 48, 49, 0, 26, 9, - 0, 88, 0, 0, 11, 40, 39, 35, 0, 15, - 26, 0, 349, 352, 351, 350, 336, 0, 337, 228, - 339, 229, 338, 342, 254, 0, 0, 301, 306, 308, - 307, 285, 246, 245, 26, 26, 26, 26, 0, 0, - 0, 0, 287, 0, 279, 0, 0, 26, 26, 282, - 283, 297, 318, 319, 172, 258, 0, 0, 340, 0, - 116, 117, 26, 280, 230, 231, 252, 235, 236, 257, - 0, 0, 0, 0, 0, 160, 0, 0, 0, 218, - 217, 0, 225, 224, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 29, + 27, 0, 0, 0, 27, 147, 1, 27, 0, 27, + 0, 0, 0, 0, 0, 0, 0, 0, 285, 0, + 114, 114, 115, 298, 0, 0, 269, 296, 257, 291, + 293, 287, 114, 300, 279, 289, 0, 0, 282, 27, + 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 322, 160, 299, 264, 248, 204, 216, 205, + 223, 249, 250, 251, 163, 254, 5, 270, 259, 262, + 261, 263, 260, 0, 0, 0, 29, 7, 88, 83, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 113, 0, 24, 25, 44, 0, + 113, 45, 46, 47, 48, 49, 50, 51, 0, 27, + 9, 0, 89, 0, 0, 11, 41, 40, 36, 0, + 15, 27, 0, 350, 353, 352, 351, 337, 0, 338, + 229, 340, 230, 339, 343, 255, 0, 0, 302, 307, + 309, 308, 286, 247, 246, 27, 27, 27, 27, 0, + 0, 0, 0, 288, 0, 280, 0, 0, 27, 27, + 283, 284, 298, 319, 320, 173, 259, 0, 0, 341, + 0, 117, 118, 27, 281, 231, 232, 253, 236, 237, + 258, 0, 0, 0, 0, 0, 161, 0, 0, 0, + 219, 218, 0, 226, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 232, 233, 234, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 26, 0, 0, 26, 309, 311, - 310, 28, 28, 28, 0, 28, 28, 0, 28, 28, - 28, 28, 20, 30, 0, 21, 58, 112, 81, 55, - 112, 0, 98, 16, 22, 0, 0, 0, 0, 0, - 0, 80, 42, 41, 36, 125, 128, 127, 141, 125, - 137, 136, 140, 142, 147, 237, 0, 303, 0, 258, - 261, 260, 305, 0, 124, 300, 119, 118, 26, 122, - 120, 242, 244, 170, 26, 0, 0, 291, 175, 289, - 293, 0, 0, 0, 0, 163, 164, 0, 272, 0, - 255, 157, 158, 155, 156, 161, 0, 0, 189, 0, - 221, 227, 207, 196, 198, 200, 214, 194, 195, 0, - 210, 212, 211, 208, 209, 206, 205, 226, 223, 220, - 216, 219, 202, 201, 199, 213, 197, 193, 0, 0, - 0, 0, 346, 344, 348, 177, 0, 0, 167, 178, - 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 110, 111, 0, 0, 26, 313, 314, 315, 0, 0, - 334, 0, 335, 332, 0, 333, 329, 330, 331, 0, - 0, 28, 0, 105, 0, 0, 26, 28, 0, 51, - 28, 53, 99, 89, 86, 90, 93, 92, 107, 91, - 94, 126, 132, 129, 138, 257, 0, 302, 304, 123, - 240, 121, 26, 241, 243, 0, 26, 191, 26, 294, - 174, 173, 0, 238, 0, 0, 0, 182, 188, 0, - 276, 169, 0, 0, 273, 275, 274, 277, 341, 186, - 0, 26, 271, 0, 180, 0, 264, 0, 265, 0, - 25, 28, 50, 28, 57, 0, 312, 316, 0, 108, - 0, 0, 0, 324, 28, 103, 104, 109, 0, 0, - 88, 72, 0, 0, 0, 106, 0, 0, 0, 26, - 0, 26, 149, 0, 56, 148, 26, 134, 130, 139, - 255, 239, 146, 143, 0, 144, 171, 0, 322, 0, - 176, 165, 192, 0, 185, 251, 26, 0, 181, 187, - 0, 183, 266, 267, 179, 0, 78, 28, 17, 0, - 0, 0, 328, 0, 327, 0, 0, 0, 66, 0, - 0, 102, 102, 0, 0, 29, 32, 31, 76, 26, - 26, 26, 28, 133, 135, 131, 0, 153, 323, 296, - 190, 0, 184, 166, 0, 26, 18, 317, 26, 26, - 325, 0, 0, 0, 26, 105, 0, 0, 0, 0, - 62, 63, 0, 0, 0, 28, 0, 152, 54, 151, - 145, 26, 168, 26, 0, 26, 0, 0, 95, 60, - 61, 326, 0, 0, 0, 75, 0, 0, 26, 26, - 26, 33, 100, 59, 52, 150, 0, 37, 0, 79, - 0, 96, 0, 0, 26, 26, 67, 0, 71, 65, - 64, 0, 0, 77, 154, 0, 26, 38, 19, 0, - 0, 69, 74, 102, 26, 34, 101, 27, 26, 84, - 83, 0, 26, 0, 73, 0, 26, 70, 0, 85, - 97, 0, 68 + 0, 233, 234, 235, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 27, 0, 0, 27, 310, + 312, 311, 29, 29, 29, 0, 29, 29, 0, 29, + 29, 29, 29, 20, 31, 0, 21, 60, 113, 82, + 57, 113, 0, 99, 16, 22, 0, 0, 0, 0, + 0, 0, 23, 43, 42, 37, 126, 129, 128, 142, + 126, 138, 137, 141, 143, 148, 238, 0, 304, 0, + 259, 262, 261, 306, 0, 125, 301, 120, 119, 27, + 123, 121, 243, 245, 171, 27, 0, 0, 292, 176, + 290, 294, 0, 0, 0, 0, 164, 165, 0, 273, + 0, 256, 158, 159, 156, 157, 162, 0, 0, 190, + 0, 222, 228, 208, 197, 199, 201, 215, 195, 196, + 0, 211, 213, 212, 209, 210, 207, 206, 227, 224, + 221, 217, 220, 203, 202, 200, 214, 198, 194, 0, + 0, 0, 0, 347, 345, 349, 178, 0, 0, 168, + 179, 271, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 111, 112, 0, 0, 27, 314, 315, 316, 0, + 0, 335, 0, 336, 333, 0, 334, 330, 331, 332, + 0, 0, 29, 0, 106, 0, 0, 27, 29, 0, + 53, 29, 55, 100, 90, 87, 91, 94, 93, 108, + 92, 95, 127, 133, 130, 139, 258, 0, 303, 305, + 124, 241, 122, 27, 242, 244, 0, 27, 192, 27, + 295, 175, 174, 0, 239, 0, 0, 0, 183, 189, + 0, 277, 170, 0, 0, 274, 276, 275, 278, 342, + 187, 0, 27, 272, 0, 181, 0, 265, 0, 266, + 0, 26, 29, 52, 29, 59, 0, 313, 317, 0, + 109, 0, 0, 0, 325, 29, 104, 105, 110, 0, + 0, 89, 74, 0, 0, 0, 107, 0, 0, 0, + 27, 0, 27, 150, 0, 58, 149, 27, 135, 131, + 140, 256, 240, 147, 144, 0, 145, 172, 0, 323, + 0, 177, 166, 193, 0, 186, 252, 27, 0, 182, + 188, 0, 184, 267, 268, 180, 0, 80, 29, 17, + 0, 0, 0, 329, 0, 328, 0, 0, 0, 68, + 0, 0, 103, 103, 0, 0, 30, 33, 32, 78, + 27, 27, 27, 29, 134, 136, 132, 0, 154, 324, + 297, 191, 0, 185, 167, 0, 27, 18, 318, 27, + 27, 326, 0, 0, 0, 27, 106, 0, 0, 0, + 0, 64, 65, 0, 0, 0, 29, 0, 153, 56, + 152, 146, 27, 169, 27, 0, 27, 0, 0, 96, + 62, 63, 327, 0, 0, 0, 77, 0, 0, 27, + 27, 27, 34, 101, 61, 54, 151, 0, 38, 0, + 81, 0, 97, 0, 0, 27, 27, 69, 0, 73, + 67, 66, 0, 0, 79, 155, 0, 27, 39, 19, + 0, 0, 71, 76, 103, 27, 35, 102, 28, 27, + 85, 84, 0, 27, 0, 75, 0, 27, 72, 0, + 86, 98, 0, 70 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, -4, -10, -563, - 92, -7, -563, -563, -563, -563, -16, -563, 572, 465, - 5, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -11, -401, -562, -274, -563, -528, -563, -6, - 181, -361, -79, -563, -99, 56, -563, -563, -93, 86, - -124, 300, 312, -563, -563, -563, -563, 166, -563, -563, - -563, -563, 84, -563, -3, 168, -563, -309, -563, 9, - -39, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, 644, -563, -563, 462, -563, -563, -563, - -563, -153, -17, -563, -563, -563, -563, 204, -563, -563, - 361, 40, -22, -21, -563, -563, -563, -563, -563, 58 + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -4, -10, + -558, 93, -74, -558, -558, -558, -558, -16, -558, 556, + 462, 5, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -41, -404, -557, -303, -558, -551, -558, + -2, 184, -225, -79, -558, -102, 62, -558, -558, -78, + 87, -154, 302, 313, -558, -558, -558, -558, 167, -558, + -558, -558, -558, 84, -558, 16, 176, -558, -302, -558, + 9, -39, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, 633, -558, -558, 482, -558, -558, + -558, -558, -135, -17, -558, -558, -558, -558, 218, -558, + -558, 375, 40, -23, -22, -558, -558, -558, -558, -558, + 61 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 615, 114, 115, 116, 117, 118, 127, 482, - 442, 264, 416, 568, 602, 651, 128, 638, 284, 125, - 126, 511, 516, 420, 418, 595, 663, 559, 603, 585, - 657, 670, 423, 120, 619, 273, 653, 598, 497, 504, - 427, 488, 499, 392, 266, 154, 156, 244, 182, 308, - 311, 305, 432, 289, 290, 291, 573, 292, 293, 294, - 524, 525, 129, 130, 514, 515, 608, 443, 611, 121, - 63, 64, 448, 378, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 159, 75, 147, 247, 397, 122, - 549, 174, 76, 529, 492, 552, 553, 403, 404, 256, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 138 + 112, 113, 616, 114, 115, 116, 117, 118, 119, 128, + 483, 443, 265, 417, 569, 603, 652, 129, 639, 285, + 126, 127, 512, 517, 421, 419, 596, 664, 560, 604, + 586, 658, 671, 424, 121, 620, 274, 654, 599, 498, + 505, 428, 489, 500, 393, 267, 155, 157, 245, 183, + 309, 312, 306, 433, 290, 291, 292, 574, 293, 294, + 295, 525, 526, 130, 131, 515, 516, 609, 444, 612, + 122, 63, 64, 449, 379, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 160, 75, 148, 248, 398, + 123, 550, 175, 76, 530, 493, 553, 554, 404, 405, + 257, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 139 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -649,176 +653,175 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 131, 137, 444, 313, 149, 150, 87, 496, 61, - 173, 269, 267, -28, 134, 183, 134, 119, 134, 62, - 134, 134, 447, 20, 270, 152, 20, 620, 62, 328, - 134, 134, 312, 329, 599, 179, 167, 253, 490, 172, - 455, 196, 61, 197, 169, 134, 177, 134, 498, 16, - 236, 180, 237, 506, 507, 483, 181, -343, 135, -343, - 135, 62, 135, 655, 135, 135, 484, 148, 86, 190, - 195, 249, 250, 547, 135, 135, 136, 20, 527, 168, - 140, 22, 142, 143, 548, 24, -345, 155, -345, 175, - 160, 135, 157, 158, 199, 200, 265, 262, 163, 457, - 656, 17, 191, 192, 193, 194, -305, 176, 272, 178, - 236, 195, 237, -304, 680, 201, 368, 369, 173, 370, - 288, 204, 371, 300, 301, -306, 372, -347, 283, 254, - 373, 374, -308, 248, -28, 673, 257, 325, 326, 255, - 242, 560, 491, 173, 307, 310, 310, 172, 474, 161, - 322, 323, -343, 165, -343, 303, 460, 61, 61, 318, - 476, -307, 198, 375, 134, -345, 20, -345, 419, 316, - 22, 421, 172, 478, 24, 321, 62, 62, 243, 191, - 192, 193, 194, 145, 440, 299, 238, 180, 239, 376, - 202, 203, 181, 146, 592, 593, 191, 192, 193, 194, - 331, 332, 333, 334, 166, 336, 337, 339, 175, 285, - 532, 235, 240, 286, 241, 275, 245, 287, 276, 277, - 278, 279, 193, 194, 280, 246, 324, 389, 191, 192, - 193, 194, 407, 408, 391, 627, 538, 396, 377, 251, - 191, 192, 193, 194, 381, 382, 383, 384, 385, 386, - 387, 388, 456, 191, 192, 193, 194, 473, 263, 580, - 252, 643, 475, 609, 258, 425, 426, 422, 429, 430, - 485, 259, 496, 268, 379, 461, 446, 191, 192, 193, - 194, 659, -351, 234, 424, 424, 424, 428, 424, 424, - 191, 192, 193, 194, 406, 530, 260, 445, 310, 261, - 477, 616, 617, 271, 61, 436, 274, 281, 479, 191, - 192, 193, 194, 304, -108, 295, 191, 192, 193, 194, - 625, 537, 306, 62, 191, 192, 193, 194, 309, 191, - 192, 193, 194, 452, 191, 192, 193, 194, 454, 191, - 192, 193, 194, 398, 399, 401, 330, 409, 410, 314, - 412, 413, 414, 415, 648, 649, 650, 317, 315, 319, - 86, 390, 327, 329, 393, 20, 394, 134, 395, 411, - 661, 662, 191, 192, 193, 194, 400, 417, 462, 463, - 191, 192, 193, 194, 310, 431, 470, 434, 407, 408, - 674, 439, 572, 191, 192, 193, 194, 441, 677, 495, - 508, 450, 451, 453, 465, 132, 466, 489, 489, 173, - 133, 135, 191, 192, 193, 194, 604, 455, 500, 206, - 207, 428, 505, 489, 489, 275, 467, 468, 276, 277, - 278, 279, 523, 481, 280, 206, 528, 486, 172, 471, - 487, 493, 191, 192, 193, 194, 605, 494, 510, 438, - 406, 512, 517, 518, 540, -28, 227, 228, 522, 526, - 534, 61, 229, 536, 533, 230, 231, 232, 233, 234, - 541, 542, 543, 228, 206, 544, 550, 551, 229, 449, - 62, 230, 231, 232, 233, 234, 20, 191, 192, 193, - 194, 206, 207, 208, 18, 555, 557, 558, 561, 567, - 20, 307, 86, 502, 22, 562, 310, 20, 24, 509, - 569, 489, 513, 563, 402, 564, 464, 229, 566, 581, - 230, 231, 232, 233, 234, 571, 61, 226, 227, 228, - 173, 554, 513, 577, 229, 579, 578, 230, 231, 232, - 233, 234, 582, 588, 589, 62, 584, 132, 583, 590, - 594, 591, 133, 596, 597, 606, 600, 601, 607, 172, - 310, 610, 612, 623, 489, 489, 613, 622, 624, 614, - 633, 642, 646, 545, 647, 546, 652, 660, 618, 618, - 665, 667, 668, 671, 272, 124, 556, 681, 282, 626, - 628, 629, 630, 503, 678, 636, 632, 570, 437, 640, - 519, 433, 634, 637, 505, 489, 576, 298, 521, 641, - 191, 192, 193, 194, 501, 405, 644, 645, 272, 272, - 272, 191, 192, 193, 194, -351, -351, -351, 233, 234, - 621, 489, 0, 0, 272, 272, 0, 0, 0, 586, - 664, 0, 631, 0, 0, 0, 669, 458, 666, 0, - 0, 489, 675, 672, 272, 0, 0, 0, 472, 0, - 0, 0, 272, 495, 676, 139, 618, 141, 0, 0, - 144, 0, 151, 153, 682, 191, 192, 193, 194, 0, - 191, 192, 193, 194, 0, 162, 0, 0, 164, 0, - 0, 0, 170, 0, -13, 88, 0, 513, 0, 184, - 185, 186, 187, 188, 18, 86, 0, 19, 0, 0, - 20, 0, 520, 21, 22, 23, 89, 531, 24, 25, + 61, 132, 138, 313, 150, 151, 497, 87, 270, 61, + 174, 445, 600, -29, 135, 184, 135, 120, 135, 62, + 135, 135, 197, 314, 198, 153, 20, 268, 62, 266, + 135, 135, 86, 621, 448, 180, 237, 20, 238, 173, + 271, 168, 61, 484, 170, 135, 178, 135, 329, 16, + 656, 20, 548, 457, 485, 22, 86, 330, 136, 24, + 136, 62, 136, 549, 136, 136, 20, 149, 456, 191, + 250, 251, 461, 181, 136, 136, 161, 133, 182, 137, + 254, 458, 134, 141, 169, 143, 144, 657, 162, 176, + 20, 136, 196, 156, 22, 158, 159, 263, 24, -344, + 528, -344, 17, 181, 164, -346, 166, -346, 182, 273, + 177, -307, 179, 674, 192, 193, 194, 195, 167, 174, + 681, 289, 474, 301, 302, 192, 193, 194, 195, 284, + -306, 200, 201, 249, -29, 237, 258, 238, 326, 327, + 196, -305, 492, 199, 174, 308, 311, 311, 173, 203, + 204, 323, 324, 194, 195, 441, 304, 146, 61, 61, + 319, 192, 193, 194, 195, 135, 420, 147, 202, 422, + 317, -348, 255, 173, -309, 491, 322, 62, 62, 244, + -308, -344, 256, -344, 86, 499, 300, -352, 235, 20, + 507, 508, 617, 618, 192, 193, 194, 195, 465, 475, + 205, 332, 333, 334, 335, 236, 337, 338, 340, 176, + 246, 369, 370, 243, 371, 286, -346, 372, -346, 287, + 477, 373, 239, 288, 240, 374, 375, 479, 390, 133, + 325, 247, 408, 409, 134, 392, 426, 427, 397, 430, + 431, 486, 241, 476, 242, 382, 383, 384, 385, 386, + 387, 388, 389, 252, 253, 533, 264, 276, 376, 259, + 277, 278, 279, 280, 260, 261, 281, 262, 423, 269, + 497, 610, 272, 275, 282, 380, 296, 447, 561, 192, + 193, 194, 195, 305, 377, 425, 425, 425, 429, 425, + 425, 462, 626, 539, 307, 407, 310, 315, 446, 311, + 192, 193, 194, 195, 316, 61, 437, 192, 193, 194, + 195, 581, 318, 320, 531, 192, 193, 194, 195, 192, + 193, 194, 195, 328, 62, 330, 649, 650, 651, 391, + 478, 593, 594, 378, 453, 192, 193, 194, 195, 455, + 394, 480, 662, 663, 395, 399, 400, 402, 401, 410, + 411, 396, 413, 414, 415, 416, -109, 538, 192, 193, + 194, 195, 675, 573, 192, 193, 194, 195, 135, 412, + 678, 418, 628, 192, 193, 194, 195, 432, 435, 463, + 464, 440, 442, 451, 452, 311, 454, 471, 408, 409, + 456, 192, 193, 194, 195, 331, 466, 207, 644, 472, + 496, 509, 192, 193, 194, 195, 467, 468, 490, 490, + 174, 469, 136, 192, 193, 194, 195, 606, 660, 501, + 482, 487, 429, 506, 490, 490, 207, 488, 495, 192, + 193, 194, 195, 524, 511, 605, 513, 529, 518, 173, + 230, 519, 494, 231, 232, 233, 234, 235, -29, 207, + 208, 407, 523, 535, 276, 541, 527, 277, 278, 279, + 280, 537, 61, 281, 229, 534, 542, 543, 544, 230, + 556, 545, 231, 232, 233, 234, 235, 589, 590, 551, + 552, 62, 20, 558, 595, 559, 228, 229, 562, 563, + 601, 602, 230, 567, 570, 231, 232, 233, 234, 235, + 568, 564, 308, 565, 572, 503, 578, 311, 580, 583, + 584, 510, 490, 585, 514, 591, 192, 193, 194, 195, + 582, 592, 614, 597, 629, 630, 631, 61, 598, 608, + 633, 174, 555, 623, 514, 611, 613, 579, 624, 192, + 193, 194, 195, 642, 625, 634, 62, 643, 647, 653, + 645, 646, 192, 193, 194, 195, 607, 648, 18, 661, + 173, 311, 666, 668, 20, 490, 490, 669, 22, 125, + 615, 672, 24, 682, 665, 546, 439, 547, 403, 619, + 619, 192, 193, 194, 195, 273, 283, 673, 557, 450, + 192, 193, 194, 195, 627, 679, 637, 504, 677, 571, + 641, 438, 520, 434, 638, 506, 490, 577, 683, 192, + 193, 194, 195, 192, 193, 194, 195, 522, 459, 273, + 273, 273, 635, 192, 193, 194, 195, 473, 299, 502, + 406, 622, 490, 0, 0, 273, 273, 0, 0, 0, + 0, 587, 0, 632, 0, 0, 521, 670, 0, 667, + 532, 0, 490, 676, 140, 273, 142, 0, 0, 145, + 540, 152, 154, 273, 496, 0, 0, 619, -352, -352, + -352, 234, 235, 0, 163, 0, 0, 165, 0, 0, + 0, 171, 0, 0, -13, 88, 0, 0, 185, 186, + 187, 188, 189, 0, 18, 86, 0, 19, 0, 514, + 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 108, 123, 0, 44, 0, 109, 45, 46, + 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, - 191, 192, 193, 194, 0, 110, 206, 207, 208, 297, + 0, 0, 0, 0, 0, 110, 207, 208, 209, 298, 0, 0, 54, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 57, 539, 58, 59, - 224, 225, 226, 227, 228, 0, 60, 0, 0, 229, - 0, 0, 230, 231, 232, 233, 234, 0, 0, 335, - 0, 0, 0, 0, 0, 340, 0, 0, 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, 366, -3, 88, 0, 367, 0, 0, + 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, + 225, 226, 227, 228, 229, 0, 60, 0, 0, 230, + 0, 0, 231, 232, 233, 234, 235, 0, 0, 336, + 0, 0, 0, 0, 0, 341, 0, 0, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, -3, 88, 0, 368, 0, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 108, 123, 0, 44, 0, 109, 45, 46, + 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, - 0, 18, 86, 480, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 481, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, - 123, 0, 44, 0, 109, 45, 46, 47, 48, 49, + 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, - 0, 0, 0, 535, 206, 207, 208, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, + 0, 0, 0, 536, 207, 208, 209, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, - 0, 0, 0, 60, 0, 212, 0, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 0, 0, 0, 0, 229, 0, 0, - 230, 231, 232, 233, 234, 88, 0, 0, 0, 0, - 0, 574, 575, 0, 18, 86, 565, 19, 0, 0, + 0, 0, 0, 60, 0, 213, 0, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 0, 0, 0, 0, 230, 0, 0, + 231, 232, 233, 234, 235, 88, 0, 0, 0, 0, + 0, 575, 576, 0, 18, 86, 566, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, - 96, 97, 98, 587, 99, 100, 101, 102, 0, 0, + 96, 97, 98, 588, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 108, 123, 0, 44, 0, 109, 45, 46, + 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, - 0, 18, 86, 635, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 636, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, - 123, 0, 44, 0, 109, 45, 46, 47, 48, 49, + 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, - 639, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 640, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, - 38, 39, 40, 41, 42, 43, 108, 123, 0, 44, + 38, 39, 40, 41, 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, - 57, 0, 58, 59, 0, 18, 86, 654, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 655, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, - 41, 42, 43, 108, 123, 0, 44, 0, 109, 45, + 41, 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, - 59, 0, 18, 86, 658, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 659, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, - 108, 123, 0, 44, 0, 109, 45, 46, 47, 48, + 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -829,9 +832,9 @@ static const yytype_int16 yytable[] = 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, - 0, 38, 39, 40, 41, 42, 43, 108, 123, 0, + 0, 38, 39, 40, 41, 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, - 0, 0, 51, 52, 53, 0, 0, 679, 0, 0, + 0, 0, 51, 52, 53, 0, 0, 680, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, @@ -841,7 +844,7 @@ static const yytype_int16 yytable[] = 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, - 40, 41, 42, 43, 108, 123, 0, 44, 0, 109, + 40, 41, 42, 43, 108, 124, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, @@ -857,7 +860,7 @@ static const yytype_int16 yytable[] = 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 88, 0, 0, 0, 110, 0, 0, 0, 0, 18, 0, 54, 19, 0, 0, 20, 0, 0, 21, 22, - 23, -26, 0, 24, 25, 0, 0, 0, 26, 27, + 23, -27, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, 28, 29, 0, 0, 0, 30, 31, 0, 32, 33, 34, 35, 36, 37, @@ -876,8 +879,8 @@ static const yytype_int16 yytable[] = 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, - 0, -26, 60, 30, 31, 0, 32, 171, 34, 35, - 36, 37, 133, 38, 39, 40, 41, 42, 43, 0, + 0, -27, 60, 30, 31, 0, 32, 172, 34, 35, + 36, 37, 134, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, @@ -900,7 +903,7 @@ static const yytype_int16 yytable[] = 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, - 0, 28, 29, 0, 189, 60, 30, 31, 0, 32, + 0, 28, 29, 0, 190, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, @@ -908,23 +911,23 @@ static const yytype_int16 yytable[] = 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, - 0, 0, 28, 29, 0, 302, 60, 30, 31, 0, + 0, 0, 28, 29, 0, 303, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, - 53, 0, 0, 0, 0, 0, -350, 236, 0, 237, - 0, 0, -350, 54, 0, -350, -350, -350, 0, 0, - -350, -350, 0, 0, 0, -350, -350, 0, 0, 0, + 53, 0, 0, 0, 0, 0, -351, 237, 0, 238, + 0, 0, -351, 54, 0, -351, -351, -351, 0, 0, + -351, -351, 0, 0, 0, -351, -351, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, - 59, 0, 0, -350, -350, 0, 320, 60, -350, -350, - 0, -350, -350, -350, -350, -350, -350, 0, -350, -350, - -350, -350, -350, -350, 0, 0, 0, -350, 0, 0, - -350, -350, -350, -350, -350, -350, 0, 0, 0, -350, - -350, -350, 0, 0, 0, 0, 0, 18, 0, 0, - 19, 0, 0, 20, -350, 0, 21, 22, 23, 0, + 59, 0, 0, -351, -351, 0, 321, 60, -351, -351, + 0, -351, -351, -351, -351, -351, -351, 0, -351, -351, + -351, -351, -351, -351, 0, 0, 0, -351, 0, 0, + -351, -351, -351, -351, -351, -351, 0, 0, 0, -351, + -351, -351, 0, 0, 0, 0, 0, 18, 0, 0, + 19, 0, 0, 20, -351, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, - 0, 0, 0, 0, 0, -350, -350, 0, -350, 0, - -350, -350, 0, 0, 28, 29, 0, 0, -350, 30, + 0, 0, 0, 0, 0, -351, -351, 0, -351, 0, + -351, -351, 0, 0, 28, 29, 0, 0, -351, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, @@ -932,7 +935,7 @@ static const yytype_int16 yytable[] = 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 0, 58, 59, 0, 0, 28, 29, 0, 338, 60, + 0, 58, 59, 0, 0, 28, 29, 0, 339, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, @@ -940,7 +943,7 @@ static const yytype_int16 yytable[] = 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, 28, 29, 0, 380, + 57, 0, 58, 59, 0, 0, 28, 29, 0, 381, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, @@ -949,7 +952,7 @@ static const yytype_int16 yytable[] = 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, - 435, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 436, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, @@ -957,7 +960,7 @@ static const yytype_int16 yytable[] = 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, - 0, 469, 60, 30, 31, 0, 32, 33, 34, 35, + 0, 470, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, @@ -969,153 +972,154 @@ static const yytype_int16 yytable[] = 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, - 0, 0, 0, -349, 0, 0, -349, 0, 0, -349, - 54, 0, -349, -349, -349, 0, 0, -349, -349, 0, - 0, 0, -349, -349, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -350, 0, 0, -350, 0, 0, -350, + 54, 0, -350, -350, -350, 0, 0, -350, -350, 0, + 0, 0, -350, -350, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, - -349, -349, 0, 0, 296, -349, -349, 0, -349, -349, - -349, -349, -349, -349, 0, -349, -349, -349, -349, -349, - -349, 0, 0, 0, -349, 0, 0, -349, -349, -349, - -349, -349, -349, 0, 0, 0, -349, -349, -349, 0, + -350, -350, 0, 0, 297, -350, -350, 0, -350, -350, + -350, -350, -350, -350, 0, -350, -350, -350, -350, -350, + -350, 0, 0, 0, -350, 0, 0, -350, -350, -350, + -350, -350, -350, 0, 0, 0, -350, -350, -350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -349, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 0, 0, 206, 207, 208, - 0, 0, -349, -349, 0, -349, 0, -349, -349, 0, - 209, 0, 0, 0, 0, -349, 210, 211, 212, 459, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, - 229, 205, 0, 230, 231, 232, 233, 234, 0, 206, - 207, 208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 209, 0, 0, 0, 0, 0, 210, 211, - 212, 0, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, - 0, 0, 229, 205, 0, 230, 231, 232, 233, 234, - 0, 206, 207, 208, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -351, 0, 0, 0, 0, 0, - 210, 211, 212, 0, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 0, 0, 0, 0, 229, 205, 0, 230, 231, 232, - 233, 234, 0, 206, 207, 208, 0, 0, 0, 0, + 0, -350, 0, 0, 0, 0, 0, 0, 0, 206, + 0, 0, 0, 0, 0, 0, 0, 207, 208, 209, + 0, 0, -350, -350, 0, -350, 0, -350, -350, 0, + 210, 0, 0, 0, 0, -350, 211, 212, 213, 460, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 0, 0, 0, 0, + 230, 206, 0, 231, 232, 233, 234, 235, 0, 207, + 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 210, 0, 0, 0, 0, 0, 211, 212, + 213, 0, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 0, 0, + 0, 0, 230, 206, 0, 231, 232, 233, 234, 235, + 0, 207, 208, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -352, 0, 0, 0, 0, 0, + 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 0, 0, 0, 0, 230, 206, 0, 231, 232, 233, + 234, 235, 0, 207, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 210, 211, 212, 0, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 0, 0, 0, 0, 229, -351, 0, 230, - 231, 232, 233, 234, 0, 206, 207, 208, 0, 0, + 0, 0, 211, 212, 213, 0, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 0, 0, 0, 0, 230, -352, 0, 231, + 232, 233, 234, 235, 0, 207, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 206, 207, 208, 0, 229, 0, - 0, 230, 231, 232, 233, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 206, 207, 208, + 0, 0, 0, 0, 0, 0, 0, 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 0, 0, 0, 0, 229, 0, 0, - 230, 231, 232, 233, 234, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 206, 207, 208, 0, - 229, 0, 0, 230, 231, 232, 233, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 206, 207, 208, - 0, 0, 0, 0, 0, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 0, 206, 207, 208, 229, - 0, 0, 230, 231, 232, 233, 234, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 206, 207, 208, 0, - 229, 0, 0, 230, 231, 232, 233, 234, 222, 223, - 224, 225, 226, 227, 228, 206, 207, 208, 0, 229, - 0, 0, 230, 231, 232, 233, 234, 0, 0, 0, - -351, 225, 226, 227, 228, 0, 0, 0, 0, 229, - 0, 0, 230, 231, 232, 233, 234, 0, 0, 0, - 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, - 0, 230, 231, 232, 233, 234 + 226, 227, 228, 229, 207, 208, 209, 0, 230, 0, + 0, 231, 232, 233, 234, 235, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 207, 208, 209, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 0, 0, 0, 0, 230, 0, 0, + 231, 232, 233, 234, 235, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 207, 208, 209, 0, + 230, 0, 0, 231, 232, 233, 234, 235, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 207, 208, 209, + 0, 0, 0, 0, 0, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 0, 207, 208, 209, 230, + 0, 0, 231, 232, 233, 234, 235, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 207, 208, 209, 0, + 230, 0, 0, 231, 232, 233, 234, 235, 223, 224, + 225, 226, 227, 228, 229, 207, 208, 209, 0, 230, + 0, 0, 231, 232, 233, 234, 235, 0, 0, 0, + -352, 226, 227, 228, 229, 207, 208, 209, 0, 230, + 0, 0, 231, 232, 233, 234, 235, 0, 0, 0, + 226, 227, 228, 229, 0, 0, 0, 0, 230, 0, + 0, 231, 232, 233, 234, 235, 0, 0, 0, 0, + 0, 227, 228, 229, 0, 0, 0, 0, 230, 0, + 0, 231, 232, 233, 234, 235 }; static const yytype_int16 yycheck[] = { - 10, 17, 19, 312, 157, 27, 27, 11, 409, 19, - 49, 110, 105, 11, 18, 54, 20, 12, 22, 10, - 24, 25, 14, 16, 117, 29, 16, 589, 19, 182, - 34, 35, 156, 13, 562, 52, 89, 30, 399, 49, - 13, 11, 52, 13, 48, 49, 50, 51, 409, 0, - 11, 56, 13, 414, 415, 11, 61, 11, 18, 13, - 20, 52, 22, 22, 24, 25, 22, 27, 11, 60, - 15, 93, 93, 11, 34, 35, 18, 16, 23, 132, - 22, 20, 24, 25, 22, 24, 11, 31, 13, 49, - 13, 51, 34, 35, 112, 113, 103, 101, 42, 14, - 59, 9, 94, 95, 96, 97, 86, 49, 118, 51, - 11, 15, 13, 86, 676, 112, 10, 11, 157, 13, - 130, 110, 16, 145, 145, 86, 20, 11, 123, 122, - 24, 25, 86, 93, 132, 663, 96, 176, 177, 132, - 11, 502, 132, 182, 154, 155, 156, 157, 14, 132, - 167, 168, 11, 132, 13, 146, 25, 167, 168, 163, - 14, 86, 132, 57, 168, 11, 16, 13, 267, 160, - 20, 270, 182, 14, 24, 166, 167, 168, 86, 94, - 95, 96, 97, 122, 308, 145, 11, 56, 13, 83, - 110, 111, 61, 132, 555, 556, 94, 95, 96, 97, - 191, 192, 193, 194, 132, 196, 197, 198, 168, 16, - 14, 132, 11, 20, 13, 32, 56, 24, 35, 36, - 37, 38, 96, 97, 41, 56, 168, 243, 94, 95, - 96, 97, 254, 254, 244, 596, 14, 247, 132, 132, - 94, 95, 96, 97, 235, 236, 237, 238, 239, 240, - 241, 242, 22, 94, 95, 96, 97, 22, 11, 14, - 132, 622, 22, 572, 132, 276, 277, 271, 279, 280, - 394, 132, 673, 22, 234, 368, 315, 94, 95, 96, - 97, 642, 129, 130, 275, 276, 277, 278, 279, 280, - 94, 95, 96, 97, 254, 448, 132, 314, 308, 132, - 22, 33, 34, 39, 314, 296, 22, 22, 22, 94, - 95, 96, 97, 86, 131, 14, 94, 95, 96, 97, - 594, 22, 70, 314, 94, 95, 96, 97, 86, 94, - 95, 96, 97, 324, 94, 95, 96, 97, 329, 94, - 95, 96, 97, 251, 252, 253, 131, 255, 256, 132, - 258, 259, 260, 261, 628, 629, 630, 131, 89, 131, - 11, 56, 22, 13, 56, 16, 56, 371, 86, 132, - 644, 645, 94, 95, 96, 97, 122, 44, 369, 370, - 94, 95, 96, 97, 394, 61, 377, 15, 410, 410, - 664, 59, 516, 94, 95, 96, 97, 59, 672, 409, - 416, 90, 131, 12, 25, 56, 25, 398, 399, 448, - 61, 371, 94, 95, 96, 97, 569, 13, 409, 80, - 81, 412, 413, 414, 415, 32, 25, 25, 35, 36, - 37, 38, 442, 18, 41, 80, 446, 59, 448, 132, - 99, 401, 94, 95, 96, 97, 570, 132, 56, 131, - 410, 22, 99, 99, 471, 11, 117, 118, 132, 131, - 12, 471, 123, 132, 455, 126, 127, 128, 129, 130, - 12, 12, 12, 118, 80, 12, 131, 131, 123, 131, - 471, 126, 127, 128, 129, 130, 16, 94, 95, 96, - 97, 80, 81, 82, 10, 132, 131, 22, 131, 509, - 16, 511, 11, 411, 20, 131, 516, 16, 24, 417, - 56, 502, 420, 131, 30, 131, 25, 123, 132, 536, - 126, 127, 128, 129, 130, 11, 536, 116, 117, 118, - 569, 491, 440, 11, 123, 90, 527, 126, 127, 128, - 129, 130, 12, 550, 551, 536, 22, 56, 131, 15, - 557, 131, 61, 132, 131, 571, 563, 564, 22, 569, - 570, 131, 131, 131, 555, 556, 88, 132, 131, 585, - 22, 132, 22, 481, 131, 483, 45, 131, 588, 589, - 131, 17, 87, 131, 594, 13, 494, 131, 123, 595, - 597, 598, 599, 412, 673, 611, 603, 511, 298, 615, - 434, 289, 605, 613, 595, 596, 522, 145, 440, 616, - 94, 95, 96, 97, 410, 254, 623, 624, 628, 629, - 630, 94, 95, 96, 97, 126, 127, 128, 129, 130, - 590, 622, -1, -1, 644, 645, -1, -1, -1, 547, - 647, -1, 602, -1, -1, -1, 656, 131, 652, -1, - -1, 642, 668, 660, 664, -1, -1, -1, 131, -1, - -1, -1, 672, 673, 671, 21, 676, 23, -1, -1, - 26, -1, 28, 29, 681, 94, 95, 96, 97, -1, - 94, 95, 96, 97, -1, 41, -1, -1, 44, -1, - -1, -1, 48, -1, 0, 1, -1, 605, -1, 55, - 56, 57, 58, 59, 10, 11, -1, 13, -1, -1, - 16, -1, 131, 19, 20, 21, 22, 131, 24, 25, + 10, 17, 19, 157, 27, 27, 410, 11, 110, 19, + 49, 313, 563, 11, 18, 54, 20, 12, 22, 10, + 24, 25, 11, 158, 13, 29, 16, 105, 19, 103, + 34, 35, 11, 590, 14, 52, 11, 16, 13, 49, + 118, 89, 52, 11, 48, 49, 50, 51, 183, 0, + 22, 16, 11, 22, 22, 20, 11, 13, 18, 24, + 20, 52, 22, 22, 24, 25, 16, 27, 13, 60, + 93, 93, 25, 56, 34, 35, 13, 56, 61, 18, + 30, 14, 61, 22, 132, 24, 25, 59, 132, 49, + 16, 51, 15, 31, 20, 34, 35, 101, 24, 11, + 23, 13, 9, 56, 42, 11, 132, 13, 61, 119, + 49, 86, 51, 664, 94, 95, 96, 97, 132, 158, + 677, 131, 22, 146, 146, 94, 95, 96, 97, 124, + 86, 112, 113, 93, 132, 11, 96, 13, 177, 178, + 15, 86, 132, 132, 183, 155, 156, 157, 158, 110, + 111, 168, 169, 96, 97, 309, 147, 122, 168, 169, + 164, 94, 95, 96, 97, 169, 268, 132, 112, 271, + 161, 11, 122, 183, 86, 400, 167, 168, 169, 86, + 86, 11, 132, 13, 11, 410, 146, 129, 130, 16, + 415, 416, 33, 34, 94, 95, 96, 97, 25, 14, + 110, 192, 193, 194, 195, 132, 197, 198, 199, 169, + 56, 10, 11, 11, 13, 16, 11, 16, 13, 20, + 14, 20, 11, 24, 13, 24, 25, 14, 244, 56, + 169, 56, 255, 255, 61, 245, 277, 278, 248, 280, + 281, 395, 11, 22, 13, 236, 237, 238, 239, 240, + 241, 242, 243, 132, 132, 14, 11, 32, 57, 132, + 35, 36, 37, 38, 132, 132, 41, 132, 272, 22, + 674, 573, 39, 22, 22, 235, 14, 316, 503, 94, + 95, 96, 97, 86, 83, 276, 277, 278, 279, 280, + 281, 369, 595, 14, 70, 255, 86, 132, 315, 309, + 94, 95, 96, 97, 89, 315, 297, 94, 95, 96, + 97, 14, 131, 131, 449, 94, 95, 96, 97, 94, + 95, 96, 97, 22, 315, 13, 629, 630, 631, 56, + 22, 556, 557, 132, 325, 94, 95, 96, 97, 330, + 56, 22, 645, 646, 56, 252, 253, 254, 122, 256, + 257, 86, 259, 260, 261, 262, 131, 22, 94, 95, + 96, 97, 665, 517, 94, 95, 96, 97, 372, 132, + 673, 44, 597, 94, 95, 96, 97, 61, 15, 370, + 371, 59, 59, 90, 131, 395, 12, 378, 411, 411, + 13, 94, 95, 96, 97, 131, 25, 80, 623, 132, + 410, 417, 94, 95, 96, 97, 25, 25, 399, 400, + 449, 25, 372, 94, 95, 96, 97, 571, 643, 410, + 18, 59, 413, 414, 415, 416, 80, 99, 132, 94, + 95, 96, 97, 443, 56, 570, 22, 447, 99, 449, + 123, 99, 402, 126, 127, 128, 129, 130, 11, 80, + 81, 411, 132, 12, 32, 472, 131, 35, 36, 37, + 38, 132, 472, 41, 118, 456, 12, 12, 12, 123, + 132, 12, 126, 127, 128, 129, 130, 551, 552, 131, + 131, 472, 16, 131, 558, 22, 117, 118, 131, 131, + 564, 565, 123, 132, 56, 126, 127, 128, 129, 130, + 510, 131, 512, 131, 11, 412, 11, 517, 90, 12, + 131, 418, 503, 22, 421, 15, 94, 95, 96, 97, + 537, 131, 88, 132, 598, 599, 600, 537, 131, 22, + 604, 570, 492, 132, 441, 131, 131, 528, 131, 94, + 95, 96, 97, 617, 131, 22, 537, 132, 22, 45, + 624, 625, 94, 95, 96, 97, 572, 131, 10, 131, + 570, 571, 131, 17, 16, 556, 557, 87, 20, 13, + 586, 131, 24, 131, 648, 482, 131, 484, 30, 589, + 590, 94, 95, 96, 97, 595, 124, 661, 495, 131, + 94, 95, 96, 97, 596, 674, 612, 413, 672, 512, + 616, 299, 435, 290, 614, 596, 597, 523, 682, 94, + 95, 96, 97, 94, 95, 96, 97, 441, 131, 629, + 630, 631, 606, 94, 95, 96, 97, 131, 146, 411, + 255, 591, 623, -1, -1, 645, 646, -1, -1, -1, + -1, 548, -1, 603, -1, -1, 131, 657, -1, 653, + 131, -1, 643, 669, 21, 665, 23, -1, -1, 26, + 131, 28, 29, 673, 674, -1, -1, 677, 126, 127, + 128, 129, 130, -1, 41, -1, -1, 44, -1, -1, + -1, 48, -1, -1, 0, 1, -1, -1, 55, 56, + 57, 58, 59, -1, 10, 11, -1, 13, -1, 606, + 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 94, 95, 96, 97, -1, 91, 80, 81, 82, 145, + -1, -1, -1, -1, -1, 91, 80, 81, 82, 146, -1, -1, 98, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 119, 120, -1, 122, 131, 124, 125, + -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, 114, 115, 116, 117, 118, -1, 132, -1, -1, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, 195, - -1, -1, -1, -1, -1, 201, -1, -1, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 0, 1, -1, 233, -1, -1, + -1, -1, 126, 127, 128, 129, 130, -1, -1, 196, + -1, -1, -1, -1, -1, 202, -1, -1, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 0, 1, -1, 234, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, @@ -1138,16 +1142,16 @@ static const yytype_int16 yycheck[] = 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, - -1, -1, -1, 459, 80, 81, 82, -1, -1, -1, + -1, -1, -1, 460, 80, 81, 82, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, 129, 130, 1, -1, -1, -1, -1, - -1, 517, 518, -1, 10, 11, 12, 13, -1, -1, + -1, 518, 519, -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, - 36, 37, 38, 549, 40, 41, 42, 43, -1, -1, + 36, 37, 38, 550, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, @@ -1399,9 +1403,11 @@ static const yytype_int16 yycheck[] = 123, -1, -1, 126, 127, 128, 129, 130, 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, + 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, + -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, + -1, 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, 129, 130 }; @@ -1410,74 +1416,74 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 134, 135, - 136, 137, 138, 139, 140, 141, 0, 153, 10, 13, + 136, 137, 138, 139, 140, 141, 0, 154, 10, 13, 16, 19, 20, 21, 24, 25, 29, 30, 47, 48, 52, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 74, 75, 76, 77, 78, 79, 83, 84, 85, 98, 119, 120, 122, 124, 125, - 132, 151, 212, 213, 214, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 228, 235, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 11, 150, 1, 22, + 132, 152, 213, 214, 215, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 229, 236, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 11, 151, 1, 22, 26, 27, 28, 31, 32, 35, 36, 37, 38, 40, 41, 42, 43, 46, 49, 50, 51, 54, 68, 73, - 91, 142, 143, 144, 146, 147, 148, 149, 150, 163, - 176, 212, 232, 69, 161, 162, 163, 151, 159, 205, - 206, 159, 56, 61, 150, 244, 252, 235, 252, 226, - 252, 226, 252, 252, 226, 122, 132, 229, 244, 245, - 246, 226, 150, 226, 188, 188, 189, 252, 252, 227, - 13, 132, 226, 188, 226, 132, 132, 89, 132, 150, - 226, 56, 151, 213, 234, 244, 252, 150, 252, 235, - 56, 61, 191, 213, 226, 226, 226, 226, 226, 131, - 212, 94, 95, 96, 97, 15, 11, 13, 132, 112, - 113, 112, 110, 111, 110, 72, 80, 81, 82, 93, - 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 123, - 126, 127, 128, 129, 130, 132, 11, 13, 11, 13, - 11, 13, 11, 153, 190, 56, 56, 230, 244, 245, - 246, 132, 132, 30, 122, 132, 242, 244, 132, 132, - 132, 132, 150, 11, 154, 154, 187, 191, 22, 187, - 191, 39, 151, 178, 22, 32, 35, 36, 37, 38, - 41, 22, 162, 163, 161, 16, 20, 24, 151, 196, - 197, 198, 200, 201, 202, 14, 132, 226, 229, 244, - 245, 246, 131, 212, 86, 194, 70, 151, 192, 86, - 151, 193, 193, 234, 132, 89, 212, 131, 150, 131, - 131, 212, 235, 235, 252, 213, 213, 22, 234, 13, - 131, 212, 212, 212, 212, 226, 212, 212, 131, 212, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 10, 11, - 13, 16, 20, 24, 25, 57, 83, 132, 216, 244, - 131, 212, 212, 212, 212, 212, 212, 212, 212, 159, - 56, 151, 186, 56, 56, 86, 151, 231, 153, 153, - 122, 153, 30, 240, 241, 243, 244, 245, 246, 153, - 153, 132, 153, 153, 153, 153, 155, 44, 167, 187, - 166, 187, 150, 175, 212, 175, 175, 183, 212, 175, - 175, 61, 195, 195, 15, 131, 212, 194, 131, 59, - 193, 59, 153, 210, 210, 235, 213, 14, 215, 131, - 90, 131, 212, 12, 212, 13, 22, 14, 131, 102, - 25, 191, 212, 212, 25, 25, 25, 25, 25, 131, - 212, 132, 131, 22, 14, 22, 14, 22, 14, 22, - 12, 18, 152, 11, 22, 193, 59, 99, 184, 212, - 184, 132, 237, 244, 132, 151, 176, 181, 184, 185, - 212, 240, 153, 183, 182, 212, 184, 184, 159, 153, - 56, 164, 22, 153, 207, 208, 165, 99, 99, 200, - 131, 208, 132, 151, 203, 204, 131, 23, 151, 236, - 234, 131, 14, 212, 12, 226, 132, 22, 14, 131, - 235, 12, 12, 12, 12, 153, 153, 11, 22, 233, - 131, 131, 238, 239, 244, 132, 153, 131, 22, 170, - 184, 131, 131, 131, 131, 12, 132, 151, 156, 56, - 192, 11, 193, 199, 226, 226, 205, 11, 212, 90, - 14, 235, 12, 131, 22, 172, 153, 226, 154, 154, - 15, 131, 184, 184, 154, 168, 132, 131, 180, 180, - 154, 154, 157, 171, 234, 193, 159, 22, 209, 210, - 131, 211, 131, 88, 159, 145, 33, 34, 151, 177, - 177, 244, 132, 131, 131, 178, 182, 184, 154, 154, - 154, 244, 154, 22, 207, 12, 159, 151, 160, 12, - 159, 154, 132, 184, 154, 154, 22, 131, 178, 178, - 178, 158, 45, 179, 12, 22, 59, 173, 12, 184, - 131, 178, 178, 169, 154, 131, 150, 17, 87, 151, - 174, 131, 154, 180, 178, 159, 154, 178, 185, 88, - 177, 131, 154 + 91, 142, 143, 144, 146, 147, 148, 149, 150, 151, + 164, 177, 213, 233, 69, 162, 163, 164, 152, 160, + 206, 207, 160, 56, 61, 151, 245, 253, 236, 253, + 227, 253, 227, 253, 253, 227, 122, 132, 230, 245, + 246, 247, 227, 151, 227, 189, 189, 190, 253, 253, + 228, 13, 132, 227, 189, 227, 132, 132, 89, 132, + 151, 227, 56, 152, 214, 235, 245, 253, 151, 253, + 236, 56, 61, 192, 214, 227, 227, 227, 227, 227, + 131, 213, 94, 95, 96, 97, 15, 11, 13, 132, + 112, 113, 112, 110, 111, 110, 72, 80, 81, 82, + 93, 99, 100, 101, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 123, 126, 127, 128, 129, 130, 132, 11, 13, 11, + 13, 11, 13, 11, 154, 191, 56, 56, 231, 245, + 246, 247, 132, 132, 30, 122, 132, 243, 245, 132, + 132, 132, 132, 151, 11, 155, 155, 188, 192, 22, + 188, 192, 39, 152, 179, 22, 32, 35, 36, 37, + 38, 41, 22, 163, 164, 162, 16, 20, 24, 152, + 197, 198, 199, 201, 202, 203, 14, 132, 227, 230, + 245, 246, 247, 131, 213, 86, 195, 70, 152, 193, + 86, 152, 194, 194, 235, 132, 89, 213, 131, 151, + 131, 131, 213, 236, 236, 253, 214, 214, 22, 235, + 13, 131, 213, 213, 213, 213, 227, 213, 213, 131, + 213, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 10, + 11, 13, 16, 20, 24, 25, 57, 83, 132, 217, + 245, 131, 213, 213, 213, 213, 213, 213, 213, 213, + 160, 56, 152, 187, 56, 56, 86, 152, 232, 154, + 154, 122, 154, 30, 241, 242, 244, 245, 246, 247, + 154, 154, 132, 154, 154, 154, 154, 156, 44, 168, + 188, 167, 188, 151, 176, 213, 176, 176, 184, 213, + 176, 176, 61, 196, 196, 15, 131, 213, 195, 131, + 59, 194, 59, 154, 211, 211, 236, 214, 14, 216, + 131, 90, 131, 213, 12, 213, 13, 22, 14, 131, + 102, 25, 192, 213, 213, 25, 25, 25, 25, 25, + 131, 213, 132, 131, 22, 14, 22, 14, 22, 14, + 22, 12, 18, 153, 11, 22, 194, 59, 99, 185, + 213, 185, 132, 238, 245, 132, 152, 177, 182, 185, + 186, 213, 241, 154, 184, 183, 213, 185, 185, 160, + 154, 56, 165, 22, 154, 208, 209, 166, 99, 99, + 201, 131, 209, 132, 152, 204, 205, 131, 23, 152, + 237, 235, 131, 14, 213, 12, 227, 132, 22, 14, + 131, 236, 12, 12, 12, 12, 154, 154, 11, 22, + 234, 131, 131, 239, 240, 245, 132, 154, 131, 22, + 171, 185, 131, 131, 131, 131, 12, 132, 152, 157, + 56, 193, 11, 194, 200, 227, 227, 206, 11, 213, + 90, 14, 236, 12, 131, 22, 173, 154, 227, 155, + 155, 15, 131, 185, 185, 155, 169, 132, 131, 181, + 181, 155, 155, 158, 172, 235, 194, 160, 22, 210, + 211, 131, 212, 131, 88, 160, 145, 33, 34, 152, + 178, 178, 245, 132, 131, 131, 179, 183, 185, 155, + 155, 155, 245, 155, 22, 208, 12, 160, 152, 161, + 12, 160, 155, 132, 185, 155, 155, 22, 131, 179, + 179, 179, 159, 45, 180, 12, 22, 59, 174, 12, + 185, 131, 179, 179, 170, 155, 131, 151, 17, 87, + 152, 175, 131, 155, 181, 179, 160, 155, 179, 186, + 88, 178, 131, 155 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1485,40 +1491,40 @@ static const yytype_uint8 yyr1[] = { 0, 133, 135, 134, 136, 134, 137, 134, 138, 134, 139, 134, 140, 134, 141, 134, 142, 143, 145, 144, - 146, 147, 148, 149, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 156, 159, 159, 160, 160, 161, - 161, 162, 162, 163, 163, 163, 163, 163, 163, 163, - 163, 164, 163, 165, 163, 166, 163, 163, 167, 163, - 163, 163, 163, 163, 163, 163, 168, 169, 163, 163, - 163, 163, 170, 163, 163, 163, 171, 163, 172, 163, - 163, 163, 163, 173, 174, 174, 175, 176, 176, 176, - 176, 176, 176, 176, 176, 177, 177, 177, 178, 178, - 179, 179, 180, 181, 181, 182, 182, 183, 184, 185, - 186, 186, 187, 188, 189, 190, 191, 191, 192, 192, - 193, 193, 193, 194, 194, 195, 195, 196, 196, 197, - 197, 197, 198, 198, 199, 199, 200, 200, 201, 201, - 201, 202, 202, 203, 203, 204, 206, 205, 207, 207, - 208, 209, 209, 211, 210, 212, 212, 212, 212, 212, - 213, 213, 213, 214, 214, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 215, 214, 216, 216, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 218, 218, 218, 218, 218, 218, 218, + 146, 147, 148, 149, 150, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 157, 160, 160, 161, 161, + 162, 162, 163, 163, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 165, 164, 166, 164, 167, 164, 164, + 168, 164, 164, 164, 164, 164, 164, 164, 169, 170, + 164, 164, 164, 164, 171, 164, 164, 164, 172, 164, + 173, 164, 164, 164, 174, 175, 175, 176, 177, 177, + 177, 177, 177, 177, 177, 177, 178, 178, 178, 179, + 179, 180, 180, 181, 182, 182, 183, 183, 184, 185, + 186, 187, 187, 188, 189, 190, 191, 192, 192, 193, + 193, 194, 194, 194, 195, 195, 196, 196, 197, 197, + 198, 198, 198, 199, 199, 200, 200, 201, 201, 202, + 202, 202, 203, 203, 204, 204, 205, 207, 206, 208, + 208, 209, 210, 210, 212, 211, 213, 213, 213, 213, + 213, 214, 214, 214, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 216, 215, 217, 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, - 220, 220, 221, 221, 221, 221, 222, 222, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 224, 224, 224, - 224, 224, 224, 224, 224, 225, 225, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 227, 226, 226, 226, 226, - 228, 228, 228, 228, 229, 229, 229, 229, 229, 230, - 230, 230, 231, 231, 231, 232, 233, 232, 234, 234, - 235, 235, 236, 236, 237, 238, 238, 238, 239, 240, - 240, 240, 241, 241, 242, 242, 243, 244, 245, 246, - 247, 247, 248, 249, 249, 250, 250, 251, 251, 252, - 252, 252, 252 + 218, 218, 218, 218, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, + 220, 221, 221, 222, 222, 222, 222, 223, 223, 224, + 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, + 225, 225, 225, 225, 225, 225, 226, 226, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 228, 227, 227, 227, + 227, 229, 229, 229, 229, 230, 230, 230, 230, 230, + 231, 231, 231, 232, 232, 232, 233, 234, 233, 235, + 235, 236, 236, 237, 237, 238, 239, 239, 239, 240, + 241, 241, 241, 242, 242, 243, 243, 244, 245, 246, + 247, 248, 248, 249, 250, 250, 251, 251, 252, 252, + 253, 253, 253, 253 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1526,40 +1532,40 @@ static const yytype_int8 yyr2[] = { 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 2, 5, 0, 9, - 2, 2, 2, 1, 1, 4, 0, 7, 0, 4, - 0, 1, 0, 0, 5, 1, 2, 1, 2, 1, - 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 4, 0, 7, 0, 6, 0, 4, 4, 0, 7, - 7, 7, 6, 6, 8, 8, 0, 0, 13, 9, - 11, 8, 0, 10, 9, 7, 0, 8, 0, 8, - 2, 2, 1, 2, 1, 3, 1, 1, 1, 3, - 3, 3, 3, 3, 3, 1, 2, 6, 1, 2, - 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 2, 1, 2, 1, 0, 1, 1, 1, 2, - 3, 4, 2, 4, 0, 1, 1, 1, 2, 3, - 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, - 4, 1, 1, 0, 6, 3, 3, 3, 3, 1, - 2, 3, 1, 3, 3, 5, 6, 3, 7, 4, - 3, 5, 2, 4, 4, 0, 5, 1, 1, 5, - 4, 5, 4, 5, 6, 5, 4, 5, 4, 3, - 6, 4, 5, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 1, 3, 2, 2, 3, - 3, 3, 1, 3, 2, 2, 3, 3, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, - 4, 4, 3, 4, 3, 2, 2, 1, 1, 1, - 1, 5, 2, 1, 2, 3, 1, 2, 1, 1, - 1, 1, 1, 1, 4, 4, 5, 5, 1, 1, - 3, 4, 3, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 2, 2, 1, 2, 1, 2, 1, 3, - 1, 3, 1, 3, 4, 0, 6, 1, 1, 1, - 3, 2, 4, 3, 3, 2, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 3, 0, 6, 1, 1, - 1, 1, 1, 2, 1, 2, 3, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 4, 2, 1, 3, 1, 3, 1, 3, 1, - 1, 1, 1 + 2, 2, 2, 2, 1, 1, 4, 0, 7, 0, + 4, 0, 1, 0, 0, 5, 1, 2, 1, 2, + 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 0, 7, 0, 6, 0, 4, 4, + 0, 7, 7, 7, 6, 6, 8, 8, 0, 0, + 13, 9, 11, 8, 0, 10, 9, 7, 0, 8, + 0, 8, 2, 1, 2, 1, 3, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 1, 2, 6, 1, + 2, 0, 2, 0, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 2, 1, 2, 1, 0, 1, 1, 1, + 2, 3, 4, 2, 4, 0, 1, 1, 1, 2, + 3, 1, 1, 1, 1, 1, 3, 0, 2, 1, + 1, 4, 1, 1, 0, 6, 3, 3, 3, 3, + 1, 2, 3, 1, 3, 3, 5, 6, 3, 7, + 4, 3, 5, 2, 4, 4, 0, 5, 1, 1, + 5, 4, 5, 4, 5, 6, 5, 4, 5, 4, + 3, 6, 4, 5, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 3, 2, 2, + 3, 3, 3, 1, 3, 2, 2, 3, 3, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, + 5, 4, 4, 3, 4, 3, 2, 2, 1, 1, + 1, 1, 5, 2, 1, 2, 3, 1, 2, 1, + 1, 1, 1, 1, 1, 4, 4, 5, 5, 1, + 1, 3, 4, 3, 4, 4, 4, 4, 4, 1, + 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, + 3, 1, 3, 1, 3, 4, 0, 6, 1, 1, + 1, 3, 2, 4, 3, 3, 2, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 3, 0, 6, 1, + 1, 1, 1, 1, 2, 1, 2, 3, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 4, 2, 1, 3, 1, 3, 1, 3, + 1, 1, 1, 1 }; typedef enum { @@ -1600,27 +1606,28 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, - toketype_ival, toketype_ival, toketype_ival, 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_ival, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, + toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval + toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, + toketype_ival, 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_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: - * 9cf67d3e3259a09eafe76d231b0b9f7d4e2e5d3dcf7afc2109cb5432ac6af0f5 perly.y + * e71d4518027b39f91c89342141cd1ac5b2f72da5a9e3dc004e2f15a408c7ed65 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index ff44524b9a..57b457f2e8 100644 --- a/perly.y +++ b/perly.y @@ -101,6 +101,7 @@ %type bare_statement_default %type bare_statement_defer %type bare_statement_expression +%type bare_statement_field_declaration %type startsub startanonsub startanonmethod startformsub @@ -325,6 +326,14 @@ bare_statement_expression } ; +bare_statement_field_declaration + : fielddecl + PERLY_SEMICOLON + { + $$ = $fielddecl; + } + ; + /* Either a signatured 'sub' or 'method' keyword */ sigsub_or_method_named : KW_SUB_named_sig @@ -444,6 +453,7 @@ barestmt | bare_statement_default | bare_statement_defer | bare_statement_expression + | bare_statement_field_declaration | KW_FORMAT startformsub formname formblock { CV *fmtcv = PL_compcv; @@ -681,10 +691,6 @@ barestmt if (parser->copline > (line_t)$PERLY_BRACE_OPEN) parser->copline = (line_t)$PERLY_BRACE_OPEN; } - | fielddecl PERLY_SEMICOLON - { - $$ = $fielddecl; - } | YADAYADA PERLY_SEMICOLON { /* diag_listed_as: Unimplemented */