From e28687699b8bf719272cf6372401a2b8c8a5917e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Mon, 3 Nov 2025 10:50:51 +0100 Subject: [PATCH 1/7] [tests] New assert function `assume` with test message first * Motivation Introduce single assert function which can: - use emulated named arguments - evaluate code to build "got" value - detect eval success/failure - detect expected eval success/failure `assume` function enforces most important part of test case, assumed behaviour description (test message), first. --- t/test.pl | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/t/test.pl b/t/test.pl index af208c5de97b..fb925f04ef9f 100644 --- a/t/test.pl +++ b/t/test.pl @@ -41,6 +41,11 @@ our $NO_ENDING = 0; our $Tests_Are_Passing = 1; +sub diag; +sub fail; +sub is; +sub like; + # Use this instead of print to avoid interference while testing globals. sub _print { local($\, $", $,) = (undef, ' ', ''); @@ -52,6 +57,49 @@ sub _print_stderr { print STDERR @_; } +sub assume { + my ($message, %args) = @_; + + my $got; + my $lives = eval qq { + do { + use strict; + use warnings; + my \$result = q (); + \$got = do { $args{eval}; }; + }; + 1; + }; + my $error = $@; + + if (exists $args{throws}) { + if ($lives) { + my $rv = fail $message; + diag q (Expected to fail but it lives); + return $rv; + } + + return ref $args{throws} + ? like $@, $args{throws}, $message + : is $@, $args{throws}, $message + ; + } + + unless ($lives) { + my $rv = fail $message; + + diag q (Expected to live but it died:); + diag $error =~ s (^) ( )rmg; + + return $rv; + } + + return ref $args{expect} + ? like $got, $args{expect}, $message + : is $got, $args{expect}, $message + ; +} + sub plan { my $n; if (@_ == 1) { From 16b5acd5383ebf87a5280872b898df4dc11bbf69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Sun, 9 Nov 2025 06:22:26 +0100 Subject: [PATCH 2/7] [tests] New tests focused on scope behaviour of loop variables be it control variable of `for (;;)` variant or cursor variable(s) of `for $var () { } continue { }` Tests test: - visibility of variable in for loop - visibility of variable in continue loop - behaviour after loop --- MANIFEST | 2 + t/op/for-control-scope.t | 74 ++++++++++++++++++ t/op/for-over-scope.t | 163 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 239 insertions(+) create mode 100644 t/op/for-control-scope.t create mode 100644 t/op/for-over-scope.t diff --git a/MANIFEST b/MANIFEST index a07c286fce6f..d0002de53107 100644 --- a/MANIFEST +++ b/MANIFEST @@ -6349,7 +6349,9 @@ t/op/filetest_stack_ok.t See if file tests leave their argument on the stack t/op/filetest_t.t See if -t file test works t/op/flip.t See if range operator works t/op/for.t See if for loops work +t/op/for-control-scope.t See if scope of for-control control variable(s) works t/op/for-many.t See if n-at-a-time for loops work +t/op/for-over-scope.t See if scope of for-over cursor variable(s) works t/op/fork.t See if fork works t/op/fresh_perl_utf8.t UTF8 tests for pads and gvs t/op/getpid.t See if $$ and getppid work with threads diff --git a/t/op/for-control-scope.t b/t/op/for-control-scope.t new file mode 100644 index 000000000000..34846f216ec5 --- /dev/null +++ b/t/op/for-control-scope.t @@ -0,0 +1,74 @@ +#!./perl + +# Test lexical scope of `for` statement, variant: `for (init; control condition; post iterate)` + +BEGIN { + chdir 't' if -d 't'; + require "./test.pl"; + set_up_inc('../lib'); +} + +use v5.38; + +assume q ([for-control] modifies global variable) + => expect => q (3) + => eval => q { + no strict; + no warnings; + + for ($control_global = 1; $control_global < 3; ++$control_global) { } + + $control_global // q (undef); + }; + +assume q ([for-control] `my` variable is restricted into `for`'s lexical scope) + => expect => q (42) + => eval => q { + use strict; + use warnings FATAL => q (all); + + my $control_my = 42; + + for (my $control_my = 1; $control_my < 3; ++$control_my) { } + + $control_my; + }; + +assume q ([for-control] `our` variable declared inside `for` scope isn't visible outside) + => throws => qr (^Variable ".control_our" is not imported) + => eval => q { + use strict; + use warnings FATAL => q (all); + + for (our $control_our = 1; $control_our < 3; ++$control_our) { } + + $control_our; + }; + +assume q ([for-control] `our` variable inside `for` scope redeclares outer variable) + => throws => qr (^"our" variable .control_redeclared redeclared) + => eval => q { + use strict; + use warnings FATAL => q (all); + + our $control_redeclared = 42; + + for (our $control_redeclared = 1; $control_redeclared < 3; ++$control_redeclared) { } + + $control_redeclared; + }; + +assume q ([for-control] `local` localizes variable ) + => expect => q (3) + => eval => q { + use strict; + use warnings FATAL => q (all); + + our $control_local = 42; + + for (local $control_local = 1; $control_local < 3; ++$control_local) { } + + $control_local; + }; + +done_testing; diff --git a/t/op/for-over-scope.t b/t/op/for-over-scope.t new file mode 100644 index 000000000000..990abf6ebaec --- /dev/null +++ b/t/op/for-over-scope.t @@ -0,0 +1,163 @@ +#!./perl + +# Test lexical scope of `for` statement, variant: `for $var (@array)` (foreach) +# Tested behaviour: +# - capability to declare / use given cursor +# - visibility of given cursor in both for-block and continue-block +# - behaviour of cursor after for-loop (exists? what value?) + +BEGIN { + chdir 't' if -d 't'; + require "./test.pl"; + set_up_inc('../lib'); +} + +use v5.38; + +assume q ([for-over] global cursor is visible in `continue` block and its original value is preserved) + => expect => q (/Foo.Foo=42) + => eval => q { + my $cursor_global = 42; + + for $cursor_global (qw (Foo)) { + $result .= q (/) . $cursor_global; + } continue { + $result .= q (.) . $cursor_global; + } + + $result .= q (=) . ($cursor_global // q ([undef])); + }; + +assume q ([for-over] `our` cursor is visible in continue block) + => expect => q (/Foo.Foo) + => eval => q { + use warnings FATAL => q (all); + + for our $cursor_our_continue (qw (Foo)) { + $result .= q (/) . $cursor_our_continue; + } continue { + $result .= q (.) . $cursor_our_continue; + } + + $result; + }; + +assume q ([for-over] `our` cursor is not visible after `for` loop) + => throws => qr (^Variable "\$cursor_our_after" is not imported) + => eval => q { + use warnings FATAL => q (all); + + for our $cursor_our_after (qw (Foo)) { + } + + $result .= $cursor_our_after; + }; + +assume q ([for-over] `our` cursor redeclares already declared global variable) + => throws => qr (^"our" variable .cursor_redeclared redeclared) + => eval => q { + use warnings FATAL => q (all); + + our $cursor_redeclared = 42; + + for our $cursor_redeclared () { + } + }; + +assume q ([for-over] `my` cursor is visible in `continue` block) + => expect => q (/Foo.Foo) + => eval => q { + use warnings FATAL => q (all); + + for my $cursor_my (q (Foo)) { + $result .= q (/) . $cursor_my; + } continue { + $result .= q (.) . $cursor_my; + } + + $result; + }; + +assume q ([for-over] `my` cursor is not visible after `for` loop) + => throws => qr (^Global symbol "\$cursor_my_after" requires explicit package name) + => eval => q { + use strict; + use warnings; + + for my $cursor_my_after (q (Foo)) { + } + + $cursor_my_after; + }; + +assume q ([for-over] `my` multi-cursors are visible in `continue` block) + => expect => q (/FooBar.FooBar) + => eval => q { + use warnings FATAL => q (all); + + for my ($cursor_multi_1, $cursor_multi_2) (qw (Foo Bar)) { + $result .= q (/) . $cursor_multi_1 . $cursor_multi_2; + } continue { + $result .= q (.) . $cursor_multi_1 . $cursor_multi_2; + } + + $result; + }; + +assume q ([for-over] `my` multi-cursors are not visible after `for` loop) + => throws => qr (^Global symbol "\$cursor_my_multi_1" requires explicit package name) + => eval => q { + use warnings FATAL => q (all); + + for my ($cursor_my_multi_1, $cursor_my_multi_2) (qw (Foo Bar)) { + } continue { + } + + $cursor_my_multi_1; + }; + +assume q ([for-over] `refaliasing` global cursor doesn't preserve it's original value) + => expect => q (/Foo.Foo=Foo) + => eval => q { + use warnings FATAL => q (all); + use experimental qw (refaliasing); + + my $cursor_refalias = 42; + + for \ $cursor_refalias (\ qw (Foo)) { + $result .= q (/) . $cursor_refalias; + } continue { + $result .= q (.) . $cursor_refalias; + } + + $result . q (=) . $cursor_refalias; + }; + +assume q ([for-over] `declared_refs` is visible in continue block) + => expect => q (/Foo.Foo) + => eval => q { + use warnings FATAL => q (all); + use experimental qw (declared_refs); + + for my \ $cursor_refs (\ qw (Foo)) { + $result .= q (/) . $cursor_refs; + } continue { + $result .= q (.) . $cursor_refs; + } + + $result; + }; + +assume q ([for-over] `declared_refs` is not visible after loop) + => throws => qr (^Global symbol "\$cursor_refs_after" requires explicit package name) + => eval => q { + use warnings FATAL => q (all); + use experimental qw (declared_refs); + + for my \ $cursor_refs_after (\ qw (Foo)) { + } + + $cursor_refs_after; + }; + +done_testing; From 92de23d8efc48635096473a032909a3d4f604fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Wed, 22 Oct 2025 20:33:53 +0200 Subject: [PATCH 3/7] [parser] Formalize KW_FOR as a keyword starting new lexical scope Tests covering this changes: - t/op/for-control-scope.t - t/op/for-over-scope.t * Motivation Normalize where new lexical context starts so every variant of for loop will start it at same position. Such normalization will later allow reduction of code currently duplicated. * Change description For statement already defined its own lexical scope in each its branch though in different places for each branch (using <*> as a marker): ``` for (<*> $control = 0; ...) for my <*> $cursor (...) for my <*> ($cursor_a, $cursor_b) (...) for $cursor (<*> ...) for my \ <*> $cursor (...) for \ my <*> $cursor (...) for \ $cursor (<*> ... ) for (<*> ...) ``` This change formalizes every branch to start with: ``` for <*> ... ``` * Technical details Lexical scope is started by non-terminal `remember` - empty with an action. Bison's LALR(1) grammar evaluates action before looking which terminal token follows, which means, that when `remember` occurs it must be either: - preceded by unique sequence of terminal tokens (approach used before) - be on same position for every possible branch (approach used by this change) As far as `KW_FOR` (as statement) always starts new lexical scope, it's possible to formalize it by starting it right after keyword, when `for` statement is identified. --- perly.act | 48 +- perly.h | 2 +- perly.tab | 1297 +++++++++++++++++++++++++++-------------------------- perly.y | 22 +- 4 files changed, 685 insertions(+), 684 deletions(-) diff --git a/perly.act b/perly.act index 23bb54a16b72..95f77be1b3dd 100644 --- a/perly.act +++ b/perly.act @@ -231,7 +231,7 @@ case 2: /* @1: %empty */ break; - case 26: /* bare_statement_for: KW_FOR PERLY_PAREN_OPEN remember mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ + case 26: /* bare_statement_for: KW_FOR remember PERLY_PAREN_OPEN mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ #line 365 "perly.y" { OP *initop = (ps[-9].val.opval); @@ -244,38 +244,38 @@ case 2: /* @1: %empty */ ); } PL_hints |= HINT_BLOCK_SCOPE; - (yyval.opval) = block_end((ps[-10].val.ival), forop); + (yyval.opval) = block_end((ps[-11].val.ival), forop); parser->copline = (line_t)(ps[-12].val.ival); } break; - case 27: /* bare_statement_for: KW_FOR KW_MY remember my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ + case 27: /* bare_statement_for: KW_FOR remember KW_MY my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 388 "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))); + (yyval.opval) = block_end((ps[-7].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); } break; - case 28: /* bare_statement_for: KW_FOR KW_MY remember PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ + case 28: /* bare_statement_for: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 403 "perly.y" { if ((ps[-6].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... Flag it so it can be special-cased in newFOROP */ (ps[-6].val.opval)->op_flags |= OPf_PARENS; - (yyval.opval) = block_end((ps[-8].val.ival), newFOROP(0, (ps[-6].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + (yyval.opval) = block_end((ps[-9].val.ival), newFOROP(0, (ps[-6].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-10].val.ival); } break; - case 29: /* bare_statement_for: KW_FOR scalar PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ + case 29: /* bare_statement_for: KW_FOR remember scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 419 "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))); + (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, op_lvalue((ps[-5].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-7].val.ival); } @@ -290,11 +290,11 @@ case 2: /* @1: %empty */ break; - case 31: /* bare_statement_for: KW_FOR my_refgen remember my_var @11 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ + case 31: /* bare_statement_for: KW_FOR remember my_refgen my_var @11 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 436 "perly.y" { (yyval.opval) = block_end( - (ps[-7].val.ival), + (ps[-8].val.ival), newFOROP( 0, op_lvalue( @@ -311,14 +311,14 @@ case 2: /* @1: %empty */ break; - case 32: /* bare_statement_for: KW_FOR REFGEN refgen_topic PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ + case 32: /* bare_statement_for: KW_FOR remember REFGEN refgen_topic PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 461 "perly.y" { (yyval.opval) = block_end ( - (ps[-4].val.ival), + (ps[-7].val.ival), newFOROP ( 0, - op_lvalue (newUNOP(OP_REFGEN, 0, (ps[-6].val.opval)), OP_ENTERLOOP), + op_lvalue (newUNOP(OP_REFGEN, 0, (ps[-5].val.opval)), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval) @@ -329,10 +329,10 @@ case 2: /* @1: %empty */ break; - case 33: /* bare_statement_for: KW_FOR PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock cont */ + case 33: /* bare_statement_for: KW_FOR remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ #line 481 "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))); + (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-6].val.ival); } @@ -352,19 +352,19 @@ case 2: /* @1: %empty */ break; - case 35: /* bare_statement_given: KW_GIVEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ + case 35: /* bare_statement_given: KW_GIVEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ #line 510 "perly.y" { - (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); + (yyval.opval) = block_end((ps[-4].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-5].val.ival); } break; - case 36: /* bare_statement_if: KW_IF PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ + case 36: /* bare_statement_if: KW_IF remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ #line 524 "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))); + (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); parser->copline = (line_t)(ps[-6].val.ival); } @@ -519,10 +519,10 @@ case 2: /* @1: %empty */ break; - case 49: /* bare_statement_unless: KW_UNLESS PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else */ + case 49: /* bare_statement_unless: KW_UNLESS remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ #line 690 "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)))); + (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); parser->copline = (line_t)(ps[-6].val.ival); } @@ -554,10 +554,10 @@ case 2: /* @1: %empty */ break; - case 53: /* bare_statement_when: KW_WHEN PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock */ + case 53: /* bare_statement_when: KW_WHEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ #line 736 "perly.y" { - (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); + (yyval.opval) = block_end((ps[-4].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; @@ -2311,6 +2311,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 078957226611..699c5953a0b4 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 7e573b5915e0..ac010e98127c 100644 --- a/perly.tab +++ b/perly.tab @@ -288,7 +288,7 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3755 +#define YYLAST 3773 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 @@ -297,7 +297,7 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; /* YYNRULES -- Number of rules. */ #define YYNRULES 372 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 703 +#define YYNSTATES 699 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -479,7 +479,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-584) +#define YYPACT_NINF (-581) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -493,77 +493,76 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 783, -584, -584, -584, -584, -584, -584, -584, 32, -584, - 3067, 63, 2009, 1892, -584, -584, -584, -584, 51, 3067, - 51, 3067, 51, 3067, 51, 51, 3067, 49, 3067, 2338, - -584, -584, -584, -584, 51, 51, -584, -584, 67, -55, - -584, 3067, -584, -584, 3067, -48, -43, -49, 2338, 2257, - 63, 51, 3067, 85, 3067, 3067, 3067, 3067, 3067, 3067, - 2419, -584, 118, 79, -584, 2, -584, 61, -2, 94, - 47, -584, -584, -584, 3259, -584, -584, 17, 159, 180, - 309, -584, 168, 313, 321, 176, -584, -584, -584, -584, - -584, 136, 173, 222, 101, 124, 11, 155, 160, 203, - 209, 63, 185, 185, -584, 85, -584, -584, -584, 232, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, 85, 211, -584, 274, 404, - 324, 1892, -584, -584, -584, -584, 687, -584, 33, 884, - -584, -584, -584, -584, -584, 336, -584, 347, -584, 347, - -584, -584, 3625, 3148, 2500, 265, -584, -584, -584, 3625, - -584, 3625, 288, 279, 279, 3067, 234, 271, 3067, 240, - 3625, 63, 3259, 241, 2581, 3067, 2257, -584, 3625, 3229, - -584, 79, -584, 2662, 3067, 3067, -584, 351, -584, -584, - 3067, 79, 347, 347, 347, 520, 520, 361, 365, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 2743, -584, -584, 3067, - -584, -584, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, -584, -584, - -584, 3067, 305, 2824, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, -584, 323, 327, 328, 294, -584, -584, -584, -584, - -584, 263, 602, -584, -584, 255, -584, -584, -584, -584, - -584, -584, 352, -584, -584, -584, -584, -584, -584, 63, - -584, -584, -584, 3067, 3067, 3067, 3067, 3067, 3067, -584, - -584, -584, -584, -584, -584, -584, -584, 345, -584, 381, - -584, -584, 392, -584, -584, 2905, 347, 265, 37, 53, - 111, -584, 388, 350, -584, -584, -584, 279, 354, -584, - 12, 12, -584, 3067, 3067, 72, -584, -584, -584, -584, - 416, 320, 280, 3067, 79, 79, 403, -584, 3067, 409, - 170, 170, -584, -584, 3363, 21, 89, -584, 437, 3546, - 3586, 3467, 347, 302, 272, 3311, 3363, 3363, 1035, 714, - 714, 714, 3506, 3506, 3528, 3567, 3586, 3586, 3546, 3546, - 3606, 1050, 272, 302, 347, 347, 198, 34, 3067, 3067, - 228, 391, 399, 410, -584, 413, 2986, 311, -584, -584, - 470, 243, 113, 260, 122, 273, 140, 281, 1001, -584, - -584, 428, 82, 279, 393, -584, 355, 3067, 3067, -584, - 13, -584, -584, 331, -584, -584, -584, -584, 2095, 222, - -584, 3067, 3067, 3067, 3067, -584, -584, 397, -584, 444, - -584, -584, -584, 118, -584, -584, -584, 118, -584, -584, - -584, 369, 345, 33, 25, 486, -584, -584, -584, 458, - -584, 339, -584, -584, 341, 105, -584, 3067, -584, -584, - -584, 510, -584, 164, 3067, 466, -584, -584, 3067, -584, - 349, 297, 184, -584, -584, -584, -584, -584, -584, 514, - 3067, -584, 467, -584, 474, -584, 476, -584, 477, -584, - -584, -584, -584, -584, 87, -584, -584, 360, 118, 363, - 479, 372, -584, -584, -584, -584, -584, 366, 483, 64, - -584, 3067, 376, 377, 118, 383, 386, 1190, 389, 436, - 288, -584, 511, -584, -584, 279, 3067, 424, -584, 39, - -584, -584, -584, 513, -584, -584, 3067, -584, 439, -584, - -584, -584, 248, -584, 3415, 3067, 515, -584, -584, 395, - -584, -584, -584, -584, 516, -584, -584, -584, 3067, 185, - 185, 521, 408, -584, 3067, 3067, 185, -584, 411, 420, - -584, -584, 185, 185, -584, -584, -584, -584, 3067, 279, - -584, 518, 3259, 3067, 421, -584, 118, -584, -584, 422, - -584, -584, 447, -584, -584, 3259, 314, 314, 479, 423, - 425, 426, 211, 3067, 3067, 185, 185, 185, -584, -584, - 479, 185, 537, 444, 1307, -584, -584, -584, -584, 3259, - -584, -584, -584, -584, 1424, -584, 185, 429, -584, -584, - -584, -584, 3067, 185, 185, -584, 538, 432, 211, 211, - 211, -584, 497, -584, -584, -584, 1541, -584, 29, -584, - 1658, -584, 3067, 441, 211, 211, -584, 185, -584, -584, - -584, 442, 63, -584, -584, 553, 488, -584, -584, 453, - 185, -584, -584, -584, 211, -584, -584, -584, -584, -584, - -584, 185, 211, 2176, -584, 1775, 314, -584, 454, -584, - -584, 185, -584 + 725, -581, -581, -581, -581, -581, -581, -581, 17, -581, + 3128, 74, 2070, 1953, -581, -581, -581, -581, 381, 3128, + 381, 3128, 381, 3128, 381, 381, 3128, 67, 3128, 2399, + -581, -581, -581, -581, 381, 381, -581, -581, 75, -22, + -581, 3128, -581, -581, 3128, -12, 0, -60, 2399, 2318, + 74, 381, 3128, 47, 3128, 3128, 3128, 3128, 3128, 3128, + 2480, -581, 21, 152, -581, 13, -581, -63, 60, -47, + 86, -581, -581, -581, 655, -581, -581, 69, 167, 200, + 204, -581, 184, 219, 266, 199, -581, -581, -581, -581, + -581, 146, 160, 117, -581, -581, -581, 99, 105, -581, + -581, 74, 228, 228, -581, 47, -581, -581, -581, 151, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, 47, 205, -581, 221, 392, + 227, 1953, -581, -581, -581, -581, 832, -581, 41, 949, + -581, -581, -581, -581, -581, 247, -581, 322, -581, 322, + -581, -581, 3624, 3209, 2561, 183, -581, -581, -581, 3624, + -581, 3624, 208, 188, 188, 3128, 138, 194, 3128, 149, + 3624, 74, 655, 154, 2642, 3128, 2318, -581, 3624, 3290, + -581, 152, -581, 2723, 3128, 3128, -581, 265, -581, -581, + 3128, 152, 322, 322, 322, 352, 352, 275, 284, 3128, + 3128, 3128, 3128, 3128, 3128, 3128, 2804, -581, -581, 3128, + -581, -581, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, + 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, + 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, -581, -581, + -581, 3128, 42, 2885, 3128, 3128, 3128, 3128, 3128, 3128, + 3128, -581, 246, 262, 271, 248, -581, -581, -581, 201, + 211, -3, -581, -581, 218, 229, -581, -581, 288, -581, + -581, -581, -581, -581, -581, 74, -581, -581, -581, 3128, + 3128, 3128, 3128, 3128, 3128, -581, -581, -581, -581, -581, + -581, -581, -581, 290, -581, 343, -581, -581, 351, -581, + -581, 2966, 322, 183, 27, 63, 85, -581, 363, 309, + -581, -581, -581, 188, 310, -581, 8, 8, -581, 3128, + 3128, 64, -581, -581, -581, -581, 453, 280, 256, 3128, + 152, 152, 365, -581, 3128, 375, -28, -28, -581, -581, + 3320, 162, 97, -581, 469, 3585, 3565, 3424, 322, 397, + 383, 983, 3320, 3320, 595, 3463, 3463, 3463, 3486, 3486, + 3525, 3546, 3565, 3565, 3585, 3585, 3604, 3643, 383, 397, + 322, 322, 6, 46, 3128, 3128, 342, 364, 366, 369, + -581, 370, 3047, 269, -581, -581, 483, 220, 125, 251, + 132, 260, 139, 268, 1134, -581, -581, 387, 59, 188, + 347, -581, 314, 3128, 3128, 25, 380, 2156, 117, 277, + 3128, 3128, 3128, 3128, -581, -581, 360, -581, 396, -581, + -581, -581, 21, -581, -581, -581, 21, -581, -581, -581, + 320, 290, 41, 19, 491, -581, -581, -581, 409, -581, + 299, -581, -581, 291, 71, -581, 3128, -581, -581, -581, + 507, -581, 209, 3128, 423, -581, -581, 3128, -581, 304, + 289, 226, -581, -581, -581, -581, -581, -581, 620, 3128, + -581, 426, -581, 427, -581, 431, -581, 435, -581, -581, + -581, -581, -581, 73, -581, -581, 323, 21, 324, -581, + 445, 333, -581, -581, -581, 336, -581, -581, -581, -581, + -581, -581, -581, 341, 461, 168, -581, 3128, 344, 359, + 21, 361, 362, 1251, 376, 451, 208, -581, 511, -581, + -581, 188, 3128, 419, -581, 35, -581, -581, -581, 517, + -581, -581, 3128, -581, 439, -581, -581, -581, 234, -581, + 3372, 3128, 521, -581, -581, 404, -581, -581, -581, -581, + 515, -581, -581, -581, 3128, 228, 228, 523, 408, -581, + 3128, 3128, 228, -581, 410, 412, -581, -581, 228, 228, + -581, -581, -581, -581, 3128, 188, -581, 522, 655, 3128, + 415, -581, 21, -581, -581, 421, -581, -581, 465, -581, + -581, 655, 191, 191, 445, 422, 425, 429, 205, 3128, + 3128, 228, 228, 228, -581, -581, 445, 228, 535, 396, + 1368, -581, -581, -581, -581, 655, -581, -581, -581, -581, + 1485, -581, 228, 430, -581, -581, -581, -581, 3128, 228, + 228, -581, 545, 437, 205, 205, 205, -581, 524, -581, + -581, -581, 1602, -581, 34, -581, 1719, -581, 3128, 440, + 205, 205, -581, 228, -581, -581, -581, 441, 74, -581, + -581, 556, 489, -581, -581, 450, 228, -581, -581, -581, + 205, -581, -581, -581, -581, -581, -581, 228, 205, 2237, + -581, 1836, 191, -581, 458, -581, -581, 228, -581 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -580,8 +579,8 @@ static const yytype_int16 yydefact[] = 0, 340, 341, 179, 318, 283, 267, 223, 235, 224, 242, 268, 269, 270, 182, 273, 5, 289, 278, 281, 280, 282, 279, 0, 0, 0, 61, 7, 105, 37, - 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 0, 56, 57, 76, 0, + 133, 0, 0, 0, 61, 61, 61, 0, 0, 61, + 61, 0, 0, 0, 130, 0, 56, 57, 76, 0, 130, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 59, 9, 0, 106, @@ -597,88 +596,87 @@ static const yytype_int16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 59, 0, 0, 59, 329, 331, 330, 61, - 61, 61, 0, 61, 61, 0, 61, 61, 61, 61, - 20, 63, 0, 21, 51, 130, 55, 41, 130, 0, - 116, 16, 22, 0, 0, 0, 0, 0, 0, 23, - 75, 74, 69, 146, 145, 151, 161, 143, 157, 0, - 156, 160, 162, 167, 257, 0, 323, 0, 278, 281, - 280, 325, 0, 142, 320, 137, 136, 59, 140, 138, - 262, 264, 190, 59, 0, 0, 311, 195, 309, 313, - 0, 0, 0, 0, 183, 184, 0, 292, 0, 275, - 177, 178, 175, 176, 181, 0, 0, 209, 0, 241, - 247, 227, 216, 218, 220, 234, 214, 215, 0, 230, - 232, 231, 228, 229, 226, 225, 246, 243, 240, 236, - 239, 222, 221, 219, 233, 217, 213, 0, 0, 0, - 0, 366, 364, 368, 197, 0, 0, 187, 198, 290, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 129, 0, 0, 59, 333, 334, 335, 0, 0, 354, - 0, 355, 352, 0, 353, 349, 350, 351, 0, 0, - 61, 0, 123, 0, 0, 59, 61, 0, 45, 61, - 43, 117, 107, 104, 108, 111, 110, 125, 109, 112, - 144, 147, 143, 158, 277, 0, 322, 324, 141, 260, - 139, 59, 261, 263, 0, 59, 211, 59, 314, 194, - 193, 0, 258, 0, 0, 0, 202, 208, 0, 296, - 189, 0, 0, 293, 295, 294, 297, 361, 206, 0, - 59, 291, 0, 200, 0, 284, 0, 285, 0, 58, - 61, 34, 61, 38, 0, 332, 336, 0, 126, 0, - 0, 0, 344, 61, 121, 122, 127, 0, 0, 106, - 30, 0, 0, 0, 124, 0, 0, 0, 59, 0, - 59, 169, 0, 42, 168, 59, 148, 152, 159, 275, - 259, 166, 163, 0, 164, 191, 0, 342, 0, 196, - 185, 212, 0, 205, 271, 59, 0, 201, 207, 0, - 203, 286, 287, 199, 0, 39, 61, 17, 0, 0, - 0, 348, 0, 347, 0, 0, 0, 24, 0, 0, - 120, 120, 0, 0, 62, 65, 64, 47, 59, 59, - 59, 61, 149, 154, 0, 173, 343, 316, 210, 0, - 204, 186, 0, 59, 18, 337, 59, 59, 345, 0, - 0, 0, 59, 123, 0, 0, 0, 0, 35, 53, - 0, 0, 0, 61, 0, 172, 44, 171, 153, 155, - 165, 59, 188, 59, 0, 59, 0, 0, 113, 36, - 49, 346, 0, 0, 0, 33, 0, 0, 59, 59, - 59, 66, 118, 52, 46, 170, 0, 70, 0, 40, - 0, 114, 0, 0, 59, 59, 25, 0, 29, 50, - 54, 0, 0, 48, 174, 0, 59, 71, 19, 0, - 0, 27, 32, 120, 59, 67, 119, 60, 59, 102, - 101, 0, 59, 0, 31, 0, 59, 28, 0, 103, - 115, 0, 26 + 0, 59, 59, 0, 0, 59, 329, 331, 330, 0, + 0, 0, 61, 61, 0, 0, 20, 63, 0, 21, + 51, 130, 55, 41, 130, 0, 116, 16, 22, 0, + 0, 0, 0, 0, 0, 23, 75, 74, 69, 146, + 145, 151, 161, 143, 157, 0, 156, 160, 162, 167, + 257, 0, 323, 0, 278, 281, 280, 325, 0, 142, + 320, 137, 136, 59, 140, 138, 262, 264, 190, 59, + 0, 0, 311, 195, 309, 313, 0, 0, 0, 0, + 183, 184, 0, 292, 0, 275, 177, 178, 175, 176, + 181, 0, 0, 209, 0, 241, 247, 227, 216, 218, + 220, 234, 214, 215, 0, 230, 232, 231, 228, 229, + 226, 225, 246, 243, 240, 236, 239, 222, 221, 219, + 233, 217, 213, 0, 0, 0, 0, 366, 364, 368, + 197, 0, 0, 187, 198, 290, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, + 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, + 0, 123, 0, 0, 59, 61, 0, 45, 61, 43, + 117, 107, 104, 108, 111, 110, 125, 109, 112, 144, + 147, 143, 158, 277, 0, 322, 324, 141, 260, 139, + 59, 261, 263, 0, 59, 211, 59, 314, 194, 193, + 0, 258, 0, 0, 0, 202, 208, 0, 296, 189, + 0, 0, 293, 295, 294, 297, 361, 206, 0, 59, + 291, 0, 200, 0, 284, 0, 285, 0, 58, 61, + 34, 61, 38, 0, 332, 336, 0, 126, 0, 354, + 0, 0, 344, 355, 352, 0, 353, 349, 350, 351, + 121, 122, 127, 0, 0, 106, 30, 0, 0, 0, + 124, 0, 0, 0, 59, 0, 59, 169, 0, 42, + 168, 59, 148, 152, 159, 275, 259, 166, 163, 0, + 164, 191, 0, 342, 0, 196, 185, 212, 0, 205, + 271, 59, 0, 201, 207, 0, 203, 286, 287, 199, + 0, 39, 61, 17, 0, 0, 0, 348, 0, 347, + 0, 0, 0, 24, 0, 0, 120, 120, 0, 0, + 62, 65, 64, 47, 59, 59, 59, 61, 149, 154, + 0, 173, 343, 316, 210, 0, 204, 186, 0, 59, + 18, 337, 59, 59, 345, 0, 0, 0, 59, 123, + 0, 0, 0, 0, 35, 53, 0, 0, 0, 61, + 0, 172, 44, 171, 153, 155, 165, 59, 188, 59, + 0, 59, 0, 0, 113, 36, 49, 346, 0, 0, + 0, 33, 0, 0, 59, 59, 59, 66, 118, 52, + 46, 170, 0, 70, 0, 40, 0, 114, 0, 0, + 59, 59, 25, 0, 29, 50, 54, 0, 0, 48, + 174, 0, 59, 71, 19, 0, 0, 27, 32, 120, + 59, 67, 119, 60, 59, 102, 101, 0, 59, 0, + 31, 0, 59, 28, 0, 103, 115, 0, 26 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -4, -10, -584, 28, -67, -584, - -584, -584, -584, -16, -584, 573, 448, -1, -584, -584, - -74, -425, -583, -401, -584, -562, -584, -25, 161, -281, - -100, -584, -82, 88, -584, -584, -101, 65, -172, 282, - 146, -584, -584, -584, -584, -584, 150, -584, -584, -584, - -584, 73, -584, -7, 162, -584, -314, -584, 16, -44, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, 636, -584, -584, 457, -584, -584, -584, -584, - -167, 3, -584, -584, -584, -584, 196, -584, -584, 356, - 36, -21, -15, -584, -584, -584, -584, -584, 57 + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, -581, -4, -10, -581, 28, -81, -581, + -581, -581, -581, -16, -581, 578, 455, 3, -581, -581, + -40, -413, -580, -336, -581, -549, -581, -15, 177, -363, + -80, -581, -98, 124, -581, -581, -99, 91, -171, 295, + 179, -581, -581, -581, -581, -581, 176, -581, -581, -581, + -581, 84, -581, 4, 178, -581, -316, -581, 82, -44, + -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, 584, -581, -581, 464, -581, -581, -581, -581, + -167, -17, -581, -581, -581, -581, 212, -581, -581, 213, + 55, 7, 16, -581, -581, -581, -581, -581, 163 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 635, 114, 115, 116, 117, 118, 613, 683, - 578, 119, 120, 121, 122, 123, 124, 603, 125, 439, - 126, 535, 127, 530, 128, 621, 129, 130, 131, 437, - 132, 133, 134, 135, 136, 145, 501, 461, 282, 435, - 587, 620, 671, 146, 658, 302, 143, 144, 677, 690, - 442, 138, 639, 291, 673, 616, 516, 523, 446, 507, - 518, 411, 284, 172, 174, 262, 200, 327, 330, 324, - 451, 307, 308, 309, 310, 628, 311, 312, 313, 543, - 544, 147, 148, 533, 534, 626, 462, 631, 139, 63, - 64, 467, 397, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 177, 75, 165, 265, 416, 140, 568, - 192, 76, 548, 511, 571, 572, 422, 423, 274, 77, + 112, 113, 631, 114, 115, 116, 117, 118, 609, 679, + 574, 119, 120, 121, 122, 123, 124, 599, 125, 428, + 126, 531, 127, 526, 128, 617, 129, 130, 131, 426, + 132, 133, 134, 135, 136, 145, 490, 450, 278, 424, + 583, 616, 667, 146, 654, 298, 143, 144, 673, 686, + 431, 138, 635, 287, 669, 612, 512, 519, 435, 496, + 514, 407, 280, 172, 174, 262, 200, 323, 326, 320, + 440, 303, 304, 305, 306, 624, 307, 308, 309, 539, + 540, 147, 148, 529, 530, 622, 451, 627, 139, 63, + 64, 456, 393, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 177, 75, 165, 265, 412, 140, 564, + 192, 76, 544, 501, 567, 568, 504, 505, 418, 77, 78, 79, 80, 81, 82, 83, 84, 85, 156 }; @@ -687,153 +685,124 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 149, 331, 515, 285, 191, 167, 87, 332, 61, - 201, 137, 168, 214, 152, 215, 152, 463, 152, 617, - 152, 152, 155, -61, 640, 170, 62, 20, 287, 20, - 152, 152, 16, 347, 288, 62, 283, 17, 348, 190, - 185, 271, 61, 475, 187, 152, 195, 152, 254, -150, - 255, 675, 474, 303, 153, 197, 153, 304, 153, 479, - 153, 153, 86, 166, -363, 20, -363, 20, 62, 22, - 153, 153, 267, 24, 86, 154, 208, 179, 268, 158, - 178, 160, 161, 186, 183, 193, 466, 153, 676, 184, - 198, 175, 176, 502, 213, 199, 293, 280, 566, 294, - 295, 296, 297, 476, 503, 298, 194, 150, 196, 567, - 219, -325, 151, 700, 261, 209, 210, 211, 212, 173, - 213, 693, -365, -326, -365, -324, 290, 493, 546, 266, - 181, 191, 275, 272, 216, 305, 495, 509, 306, -328, - 301, 198, 319, 273, -61, 510, 199, 517, 320, 253, - 344, 345, 525, 526, 497, 459, 191, 222, 209, 210, - 211, 212, 326, 329, 329, 190, 209, 210, 211, 212, - 254, 163, 255, 217, 218, 61, 61, 337, 551, -367, - 322, 164, 152, 209, 210, 211, 212, 260, 341, 342, - 190, -363, 263, -363, 335, -126, 281, -327, 557, 318, - 340, 62, 62, 438, 220, 221, 440, 209, 210, 211, - 212, 645, 209, 210, 211, 212, 209, 210, 211, 212, - 444, 445, 193, 448, 449, 350, 351, 352, 353, 264, - 355, 356, 358, 269, 209, 210, 211, 212, 20, 86, - 579, 504, 22, 343, 20, 408, 24, 668, 669, 670, - 289, 426, 410, 483, 286, 415, 270, 427, 209, 210, - 211, 212, 598, 681, 682, 492, 211, 212, 515, 400, - 401, 402, 403, 404, 405, 406, 407, 627, 209, 210, - 211, 212, 494, 694, 150, 441, 480, 276, 398, 151, - 465, 697, 277, 610, 611, 496, 292, 417, 418, 420, - 549, 428, 429, 498, 431, 432, 433, 434, 425, 443, - 443, 443, 447, 443, 443, 387, 388, 329, 389, 556, - -365, 390, -365, 61, 256, 391, 257, -371, 252, 392, - 393, 455, 258, 647, 259, 278, 464, 209, 210, 211, - 212, 279, 209, 210, 211, 212, 299, 636, 637, 62, - 314, 323, 224, 225, 209, 210, 211, 212, 325, 471, - 334, 663, 394, 591, 473, 328, 333, 209, 210, 211, - 212, 336, 338, 346, 348, 209, 210, 211, 212, 409, - 414, 679, 224, 412, 413, 419, 152, 430, 395, 245, - 246, 209, 210, 211, 212, 247, 436, 452, 248, 249, - 250, 251, 252, 329, 481, 482, 450, 453, 426, 458, - 469, 470, 489, 460, 427, 472, 484, 623, 514, 527, - 246, 622, 474, 191, 485, 247, 153, 224, 248, 249, - 250, 251, 252, 508, 508, 486, 293, 396, 487, 294, - 295, 296, 297, 490, 519, 298, 500, 447, 524, 508, - 508, 542, 505, 529, 506, 547, 512, 190, 521, 209, - 210, 211, 212, 513, 528, 425, 531, 532, 536, -61, - 247, 541, 545, 248, 249, 250, 251, 252, 553, 560, - 61, 555, 209, 210, 211, 212, 561, 532, 562, 563, - 552, 569, 588, 559, 570, 20, 349, 576, 209, 210, - 211, 212, 606, 607, 574, 577, 62, 580, 581, 612, - 209, 210, 211, 212, 582, 618, 619, 583, 586, 457, - 326, 585, 590, 593, 595, 329, 601, 600, 564, 597, - 565, 209, 210, 211, 212, 633, 608, 508, 602, 609, - 625, 575, 672, 614, 191, 61, 573, 468, 648, 649, - 650, 615, 630, 632, 652, 642, 643, 644, 599, 653, - 666, 662, 596, 667, 209, 210, 211, 212, 477, 661, - 687, 62, 680, 685, 624, 688, 664, 665, 190, 329, - 209, 210, 211, 212, 691, 701, 142, 634, 646, 300, - 508, 508, 522, 698, 604, 589, 638, 638, 537, 456, - 684, 491, 290, 538, 209, 210, 211, 212, 209, 210, - 211, 212, 18, 692, 594, 656, 654, 539, 20, 660, - 317, 540, 22, 657, 696, 520, 24, 0, 424, 524, - 508, 0, 421, 0, 702, 0, 0, 0, 290, 290, - 290, 550, 0, 0, 641, 558, -371, -371, -371, 251, - 252, 532, 0, 0, 290, 290, 651, 157, 508, 159, - 0, 0, 162, 0, 169, 171, 689, 0, 686, 0, - 0, 0, 695, 0, 290, 0, 0, 180, 508, 0, - 182, 0, 290, 514, 188, 0, 638, -13, 88, 0, - 0, 202, 203, 204, 205, 206, 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, 141, 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, 1, 2, 3, 4, - 5, 6, 7, 0, 224, 225, 226, 0, 0, 316, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, 0, 354, - 0, 0, 0, 0, 0, 359, 0, 0, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -3, 88, 0, 386, 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, 141, 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, 499, 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, - 141, 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, 223, 0, 0, - 0, 0, 0, 0, 554, 224, 225, 226, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 227, 0, - 224, 225, 226, 60, 228, 229, 230, 478, 231, 232, + 61, 149, 155, 327, 511, 191, 281, 87, 328, 61, + 201, 452, 283, 20, 152, 137, 152, 16, 152, -61, + 152, 152, 279, 636, 214, 170, 215, 415, 613, 185, + 152, 152, 344, 343, 167, 197, 284, 17, 254, 190, + 255, 20, 61, 168, 187, 152, 195, 152, 463, 217, + 218, 498, 383, 384, 513, 385, 671, -150, 386, 521, + 522, 299, 387, 220, 221, 300, 388, 389, 211, 212, + 491, 468, 186, 153, -363, 153, -363, 153, 455, 153, + 153, 492, 166, 20, 562, 86, 213, 22, 178, 153, + 153, 24, 62, 672, 542, 563, -365, 276, -365, 390, + 267, 62, 198, 198, 193, -325, 153, 199, 199, 268, + 179, 465, 696, -326, 261, 209, 210, 211, 212, 416, + 183, -324, 269, 270, 271, 391, 286, 274, 275, 417, + 689, 191, 184, 20, 62, -371, 252, 22, 302, 482, + -61, 24, 208, 301, 297, 216, 484, 499, 266, -328, + 340, 341, 448, 486, 575, 173, 191, 500, 209, 210, + 211, 212, 322, 325, 325, 190, 181, 213, 337, 338, + 315, -327, 219, 282, 392, 61, 61, 333, 254, 316, + 255, 154, 152, 427, 464, 158, 429, 160, 161, 163, + 190, 209, 210, 211, 212, -367, 222, 175, 176, 164, + 289, 253, 263, 290, 291, 292, 293, 606, 607, 294, + 260, -363, 194, -363, 196, -365, 264, -365, 314, 209, + 210, 211, 212, 547, 632, 633, 209, 210, 211, 212, + 256, 272, 257, 209, 210, 211, 212, 273, 493, 277, + 553, 193, 481, 288, 285, 404, 318, 643, 594, 295, + 433, 434, 406, 437, 438, 411, 209, 210, 211, 212, + 331, 310, 209, 210, 211, 212, 336, 62, 62, 319, + 329, 623, 641, 483, 324, 659, 511, 258, 321, 259, + 332, 430, 485, 330, 469, 334, 454, 342, 344, 545, + 487, 346, 347, 348, 349, 675, 351, 352, 354, -126, + 420, 421, 405, 209, 210, 211, 212, 394, 664, 665, + 666, 552, 453, 325, 209, 210, 211, 212, 408, 61, + 209, 210, 211, 212, 677, 678, 419, 409, 209, 210, + 211, 212, 425, 413, 410, 396, 397, 398, 399, 400, + 401, 402, 403, 414, 690, 209, 210, 211, 212, 339, + 422, 439, 693, 86, 209, 210, 211, 212, 20, 441, + 587, 423, 209, 210, 211, 212, 442, 472, 447, 449, + 458, 432, 432, 432, 436, 432, 432, 461, 209, 210, + 211, 212, 152, 209, 210, 211, 212, 459, 463, 473, + 18, 474, 86, 444, 475, 476, 20, 20, 150, 325, + 22, 479, 224, 151, 24, 489, 494, 510, 523, 517, + 503, 62, 191, 495, 619, 345, 525, 618, 527, 532, + -61, 460, 541, 508, 289, 508, 462, 290, 291, 292, + 293, 537, 509, 294, 509, 549, 551, 150, 556, 557, + 538, 153, 151, 558, 543, 247, 190, 559, 248, 249, + 250, 251, 252, 524, 565, 566, 528, 209, 210, 211, + 212, 20, 555, 224, 225, 570, 470, 471, 571, 61, + 502, 507, 572, 507, 478, 576, 528, 224, -371, -371, + -371, 251, 252, 573, 602, 603, 209, 210, 211, 212, + 577, 608, 578, 579, 446, 497, 497, 614, 615, 515, + 245, 246, 436, 520, 497, 497, 247, 584, 581, 248, + 249, 250, 251, 252, 582, 246, 322, 560, 589, 561, + 247, 325, 586, 248, 249, 250, 251, 252, 591, 593, + 644, 645, 646, 596, 595, 597, 648, 598, 604, 605, + 191, 61, 610, 611, 621, 548, 626, 209, 210, 211, + 212, 657, 628, 629, 638, 569, 639, 649, 660, 661, + 640, 62, 658, 209, 210, 211, 212, 662, 663, 668, + 620, 676, 681, 683, 190, 325, 684, 209, 210, 211, + 212, 687, 680, 630, 457, 209, 210, 211, 212, 697, + 600, 142, 634, 634, 642, 688, 296, 518, 286, 497, + 466, 209, 210, 211, 212, 157, 692, 159, 445, 694, + 162, 652, 169, 171, 480, 656, 698, 585, 534, 653, + 533, 590, 535, 650, 592, 180, 536, 313, 182, 506, + 516, 0, 188, 62, 286, 286, 286, 0, 546, 202, + 203, 204, 205, 206, 0, 0, 0, 528, 0, 0, + 286, 286, 497, 497, 0, 0, 0, 0, 0, 637, + 0, 0, 685, 0, 682, 0, 0, 223, 691, 0, + 286, 647, 0, 0, 0, 224, 225, 226, 286, 510, + 0, 0, 634, 0, 0, 0, 0, 0, 227, 0, + 0, 520, 497, 0, 228, 229, 230, 467, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 209, 210, 211, 212, 247, 0, + 497, 248, 249, 250, 251, 252, 0, 223, 1, 2, + 3, 4, 5, 6, 7, 224, 225, 226, 0, 0, + 497, 0, 0, 0, 0, 0, 0, 312, 227, 0, + 0, 554, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, - 0, 248, 249, 250, 251, 252, 244, 245, 246, 0, - 0, 0, 592, 247, 0, 0, 248, 249, 250, 251, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 86, 584, 19, 605, 0, 20, 0, 0, 21, - 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, - 27, 93, 94, 0, 0, 95, 96, 97, 98, 629, - 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, 141, - 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, 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, 141, 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, 248, 249, 250, 251, 252, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, + 0, 0, 0, 355, 0, 0, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, + 380, 381, -13, 88, 0, 382, 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, 141, 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, -3, + 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, + 86, 0, 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, 141, 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, 550, 0, 0, 0, 223, 0, 0, 0, 0, + 0, 0, 0, 224, 225, 226, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, -371, 0, 0, 0, + 0, 60, 228, 229, 230, 0, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, + 249, 250, 251, 252, 0, 0, 588, 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, 659, 19, 0, 60, + 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 86, 488, 19, 601, 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, + 96, 97, 98, 625, 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, 141, 0, 44, 0, 109, 45, 46, @@ -842,7 +811,7 @@ static const yytype_int16 yytable[] = 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, 674, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 580, 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, @@ -854,7 +823,7 @@ static const yytype_int16 yytable[] = 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, - 678, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 651, 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, @@ -865,7 +834,7 @@ static const yytype_int16 yytable[] = 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, 0, 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, @@ -873,11 +842,11 @@ static const yytype_int16 yytable[] = 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, - 53, 0, 0, 699, 0, 0, 110, 0, 0, 0, + 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, 0, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 670, 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, @@ -889,48 +858,75 @@ static const yytype_int16 yytable[] = 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, 0, 19, 0, 60, 20, 0, 0, 21, 22, + 86, 674, 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, 0, 0, + 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 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, -59, 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, 0, 38, 39, 40, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, - 46, 47, 48, 49, 50, 0, 0, 88, 51, 52, - 53, 0, 0, 0, 0, 0, 18, 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, 0, 60, 30, 31, + 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, 0, 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, 141, 0, 44, 0, 109, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, + 52, 53, 0, 0, 695, 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, 0, 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, 141, 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, 0, 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, 0, + 0, 44, 0, 109, 45, 46, 47, 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, -59, 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, 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, 18, 86, 0, + 45, 46, 47, 48, 49, 50, 0, 0, 88, 51, + 52, 53, 0, 0, 0, 0, 0, 18, 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, -59, 60, 30, - 31, 0, 32, 189, 34, 35, 36, 37, 151, 38, + 58, 59, 0, 0, 28, 29, 0, 0, 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, 18, 86, 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, 0, 60, - 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, + 0, 58, 59, 0, 0, 28, 29, 0, -59, 60, + 30, 31, 0, 32, 189, 34, 35, 36, 37, 151, 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, - 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, + 86, 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, 0, @@ -942,7 +938,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, - 207, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 0, 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, @@ -950,31 +946,31 @@ 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, 321, 60, 30, 31, 0, 32, 33, 34, 35, + 0, 207, 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, -370, 254, 0, 255, 0, 0, -370, 54, - 0, -370, -370, -370, 0, 0, -370, -370, 0, 0, - 0, -370, -370, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 0, -370, - -370, 0, 339, 60, -370, -370, 0, -370, -370, -370, - -370, -370, -370, 0, -370, -370, -370, -370, -370, -370, - 0, 0, 0, -370, 0, 0, -370, -370, -370, -370, - -370, -370, 0, 0, 0, -370, -370, -370, 0, 0, - 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, - -370, 0, 21, 22, 23, 0, 0, 24, 25, 0, - 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, - 0, -370, -370, 0, -370, 0, -370, -370, 0, 0, - 28, 29, 0, 0, -370, 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, 18, 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, 317, 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, -370, 254, 0, 255, 0, 0, -370, + 54, 0, -370, -370, -370, 0, 0, -370, -370, 0, + 0, 0, -370, -370, 0, 0, 0, 0, 0, 0, + 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, + -370, -370, 0, 335, 60, -370, -370, 0, -370, -370, + -370, -370, -370, -370, 0, -370, -370, -370, -370, -370, + -370, 0, 0, 0, -370, 0, 0, -370, -370, -370, + -370, -370, -370, 0, 0, 0, -370, -370, -370, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, - 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, + 20, -370, 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, 357, 60, 30, 31, 0, 32, + 0, 0, -370, -370, 0, -370, 0, -370, -370, 0, + 0, 28, 29, 0, 0, -370, 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, @@ -982,7 +978,7 @@ 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, 399, 60, 30, 31, 0, + 0, 0, 28, 29, 0, 353, 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, @@ -990,7 +986,7 @@ static const yytype_int16 yytable[] = 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, 454, 60, 30, 31, + 59, 0, 0, 28, 29, 0, 395, 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, @@ -998,7 +994,7 @@ static const yytype_int16 yytable[] = 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, 488, 60, 30, + 58, 59, 0, 0, 28, 29, 0, 443, 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, @@ -1006,214 +1002,189 @@ 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, 0, 60, + 0, 58, 59, 0, 0, 28, 29, 0, 477, 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, -369, - 0, 0, -369, 0, 0, -369, 54, 0, -369, -369, - -369, 0, 0, -369, -369, 0, 0, 0, -369, -369, + 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, + 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, -369, -369, 0, 0, - 315, -369, -369, 0, -369, -369, -369, -369, -369, -369, - 0, -369, -369, -369, -369, -369, -369, 0, 0, 0, - -369, 0, 0, -369, -369, -369, -369, -369, -369, 0, - 0, 0, -369, -369, -369, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, - 0, 223, 0, 0, 0, 0, 0, 0, 0, 224, - 225, 226, 0, 0, 0, 0, 0, 0, -369, -369, - 0, -369, 227, -369, -369, 0, 0, 0, 228, 229, - 230, -369, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, - 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, - 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -371, 0, 0, 0, 0, 0, - 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, - 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, - 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 230, 0, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 247, -371, - 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, + 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, + 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, + -369, 0, 0, -369, 0, 0, -369, 54, 0, -369, + -369, -369, 0, 0, -369, -369, 0, 0, 0, -369, + -369, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, 0, -369, -369, 0, + 0, 311, -369, -369, 0, -369, -369, -369, -369, -369, + -369, 0, -369, -369, -369, -369, -369, -369, 0, 0, + 0, -369, 0, 0, -369, -369, -369, -369, -369, -369, + 0, 0, 0, -369, -369, -369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, + 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, + 224, 225, 226, 0, 0, 0, 0, 0, 0, -369, + -369, 0, -369, 0, -369, -369, 0, 0, 0, 228, + 229, 230, -369, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, + 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, + 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 230, 0, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 0, 0, 0, 0, 247, -371, 0, 248, 249, + 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, - 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, - 226, 0, 0, 0, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 0, 224, 225, 226, 247, - 0, 0, 248, 249, 250, 251, 252, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, - 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, - 242, 243, 244, 245, 246, 0, 224, 225, 226, 247, - 0, 0, 248, 249, 250, 251, 252, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, - 247, 0, 0, 248, 249, 250, 251, 252, 240, 241, + 0, 0, 0, 0, 0, 0, 0, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 225, 226, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, + 249, 250, 251, 252, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, - -371, 243, 244, 245, 246, 0, 0, 0, 0, 247, - 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, - 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, - 0, 248, 249, 250, 251, 252 + 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, + 0, 0, 0, 0, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 0, 224, 225, 226, 247, 0, + 0, 248, 249, 250, 251, 252, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, + 0, 0, 248, 249, 250, 251, 252, 240, 241, 242, + 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, + 0, 248, 249, 250, 251, 252, 0, 0, 0, 242, + 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, + 0, 248, 249, 250, 251, 252, 0, 0, -371, 243, + 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 243, + 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 244, + 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, + 249, 250, 251, 252 }; static const yytype_int16 yycheck[] = { - 10, 17, 174, 428, 105, 49, 27, 11, 175, 19, - 54, 12, 27, 11, 18, 13, 20, 331, 22, 581, - 24, 25, 19, 11, 607, 29, 10, 16, 110, 16, - 34, 35, 0, 200, 135, 19, 103, 9, 13, 49, - 89, 30, 52, 22, 48, 49, 50, 51, 11, 16, - 13, 22, 13, 20, 18, 52, 20, 24, 22, 25, - 24, 25, 11, 27, 11, 16, 13, 16, 52, 20, - 34, 35, 93, 24, 11, 18, 60, 132, 93, 22, - 13, 24, 25, 132, 132, 49, 14, 51, 59, 132, - 56, 34, 35, 11, 15, 61, 32, 101, 11, 35, - 36, 37, 38, 14, 22, 41, 49, 56, 51, 22, - 112, 86, 61, 696, 86, 94, 95, 96, 97, 31, - 15, 683, 11, 86, 13, 86, 136, 14, 23, 93, - 42, 175, 96, 122, 132, 102, 14, 418, 148, 86, - 141, 56, 163, 132, 132, 132, 61, 428, 163, 132, - 194, 195, 433, 434, 14, 327, 200, 110, 94, 95, - 96, 97, 172, 173, 174, 175, 94, 95, 96, 97, - 11, 122, 13, 112, 113, 185, 186, 181, 14, 11, - 164, 132, 186, 94, 95, 96, 97, 11, 185, 186, - 200, 11, 56, 13, 178, 131, 11, 86, 14, 163, - 184, 185, 186, 285, 110, 111, 288, 94, 95, 96, - 97, 612, 94, 95, 96, 97, 94, 95, 96, 97, - 294, 295, 186, 297, 298, 209, 210, 211, 212, 56, - 214, 215, 216, 132, 94, 95, 96, 97, 16, 11, - 521, 413, 20, 186, 16, 261, 24, 648, 649, 650, - 39, 272, 262, 25, 22, 265, 132, 272, 94, 95, - 96, 97, 14, 664, 665, 22, 96, 97, 693, 253, - 254, 255, 256, 257, 258, 259, 260, 591, 94, 95, - 96, 97, 22, 684, 56, 289, 387, 132, 252, 61, - 334, 692, 132, 574, 575, 22, 22, 269, 270, 271, - 467, 273, 274, 22, 276, 277, 278, 279, 272, 293, - 294, 295, 296, 297, 298, 10, 11, 327, 13, 22, - 11, 16, 13, 333, 11, 20, 13, 129, 130, 24, - 25, 315, 11, 614, 13, 132, 333, 94, 95, 96, - 97, 132, 94, 95, 96, 97, 22, 33, 34, 333, - 14, 86, 80, 81, 94, 95, 96, 97, 70, 343, - 89, 642, 57, 535, 348, 86, 132, 94, 95, 96, - 97, 131, 131, 22, 13, 94, 95, 96, 97, 56, - 86, 662, 80, 56, 56, 122, 390, 132, 83, 117, - 118, 94, 95, 96, 97, 123, 44, 16, 126, 127, - 128, 129, 130, 413, 388, 389, 61, 15, 429, 59, - 90, 131, 396, 59, 429, 12, 25, 589, 428, 435, - 118, 588, 13, 467, 25, 123, 390, 80, 126, 127, - 128, 129, 130, 417, 418, 25, 32, 132, 25, 35, - 36, 37, 38, 132, 428, 41, 18, 431, 432, 433, - 434, 461, 59, 56, 99, 465, 420, 467, 430, 94, - 95, 96, 97, 132, 436, 429, 22, 439, 99, 11, - 123, 132, 131, 126, 127, 128, 129, 130, 12, 12, - 490, 132, 94, 95, 96, 97, 12, 459, 12, 12, - 474, 131, 56, 490, 131, 16, 131, 131, 94, 95, - 96, 97, 569, 570, 132, 22, 490, 131, 131, 576, - 94, 95, 96, 97, 131, 582, 583, 131, 528, 131, - 530, 132, 11, 99, 11, 535, 131, 12, 500, 90, - 502, 94, 95, 96, 97, 88, 15, 521, 22, 131, - 22, 513, 45, 132, 588, 555, 510, 131, 615, 616, - 617, 131, 131, 131, 621, 132, 131, 131, 555, 22, - 22, 132, 546, 131, 94, 95, 96, 97, 131, 636, - 17, 555, 131, 131, 590, 87, 643, 644, 588, 589, - 94, 95, 96, 97, 131, 131, 13, 603, 613, 141, - 574, 575, 431, 693, 566, 530, 606, 607, 452, 317, - 667, 131, 612, 453, 94, 95, 96, 97, 94, 95, - 96, 97, 10, 680, 541, 631, 623, 131, 16, 635, - 163, 459, 20, 633, 691, 429, 24, -1, 272, 613, - 614, -1, 30, -1, 701, -1, -1, -1, 648, 649, - 650, 131, -1, -1, 608, 131, 126, 127, 128, 129, - 130, 623, -1, -1, 664, 665, 620, 21, 642, 23, - -1, -1, 26, -1, 28, 29, 676, -1, 672, -1, - -1, -1, 688, -1, 684, -1, -1, 41, 662, -1, - 44, -1, 692, 693, 48, -1, 696, 0, 1, -1, - -1, 55, 56, 57, 58, 59, -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, 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, -1, -1, -1, -1, -1, 91, -1, - -1, -1, -1, -1, -1, 98, 3, 4, 5, 6, - 7, 8, 9, -1, 80, 81, 82, -1, -1, 163, - -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, - 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, 213, - -1, -1, -1, -1, -1, 219, -1, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 0, 1, -1, 251, -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, - 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, - -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, - -1, 10, 11, 12, 13, -1, 132, 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, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, - -1, -1, -1, -1, 478, 80, 81, 82, -1, -1, - 119, 120, -1, 122, -1, 124, 125, -1, 93, -1, - 80, 81, 82, 132, 99, 100, 101, 102, 103, 104, + 10, 17, 19, 174, 417, 49, 105, 11, 175, 19, + 54, 327, 110, 16, 18, 12, 20, 0, 22, 11, + 24, 25, 103, 603, 11, 29, 13, 30, 577, 89, + 34, 35, 13, 200, 27, 52, 135, 9, 11, 49, + 13, 16, 52, 27, 48, 49, 50, 51, 13, 112, + 113, 414, 10, 11, 417, 13, 22, 16, 16, 422, + 423, 20, 20, 110, 111, 24, 24, 25, 96, 97, + 11, 25, 132, 18, 11, 20, 13, 22, 14, 24, + 25, 22, 27, 16, 11, 11, 15, 20, 13, 34, + 35, 24, 10, 59, 23, 22, 11, 101, 13, 57, + 93, 19, 56, 56, 49, 86, 51, 61, 61, 93, + 132, 14, 692, 86, 86, 94, 95, 96, 97, 122, + 132, 86, 94, 95, 96, 83, 136, 99, 100, 132, + 679, 175, 132, 16, 52, 129, 130, 20, 148, 14, + 132, 24, 60, 102, 141, 132, 14, 122, 93, 86, + 194, 195, 323, 14, 517, 31, 200, 132, 94, 95, + 96, 97, 172, 173, 174, 175, 42, 15, 185, 186, + 163, 86, 112, 22, 132, 185, 186, 181, 11, 163, + 13, 18, 186, 281, 22, 22, 284, 24, 25, 122, + 200, 94, 95, 96, 97, 11, 110, 34, 35, 132, + 32, 132, 56, 35, 36, 37, 38, 570, 571, 41, + 11, 11, 49, 13, 51, 11, 56, 13, 163, 94, + 95, 96, 97, 14, 33, 34, 94, 95, 96, 97, + 11, 132, 13, 94, 95, 96, 97, 132, 409, 11, + 14, 186, 22, 22, 39, 261, 164, 610, 14, 22, + 290, 291, 262, 293, 294, 265, 94, 95, 96, 97, + 178, 14, 94, 95, 96, 97, 184, 185, 186, 86, + 132, 587, 608, 22, 86, 638, 689, 11, 70, 13, + 131, 285, 22, 89, 383, 131, 330, 22, 13, 456, + 22, 209, 210, 211, 212, 658, 214, 215, 216, 131, + 272, 273, 56, 94, 95, 96, 97, 252, 644, 645, + 646, 22, 329, 323, 94, 95, 96, 97, 56, 329, + 94, 95, 96, 97, 660, 661, 271, 56, 94, 95, + 96, 97, 44, 132, 86, 253, 254, 255, 256, 257, + 258, 259, 260, 132, 680, 94, 95, 96, 97, 186, + 132, 61, 688, 11, 94, 95, 96, 97, 16, 16, + 531, 132, 94, 95, 96, 97, 15, 25, 59, 59, + 90, 289, 290, 291, 292, 293, 294, 12, 94, 95, + 96, 97, 386, 94, 95, 96, 97, 131, 13, 25, + 10, 25, 11, 311, 25, 25, 16, 16, 56, 409, + 20, 132, 80, 61, 24, 18, 59, 417, 424, 132, + 30, 329, 456, 99, 585, 131, 56, 584, 22, 99, + 11, 339, 131, 416, 32, 418, 344, 35, 36, 37, + 38, 132, 416, 41, 418, 12, 132, 56, 12, 12, + 450, 386, 61, 12, 454, 123, 456, 12, 126, 127, + 128, 129, 130, 425, 131, 131, 428, 94, 95, 96, + 97, 16, 479, 80, 81, 132, 384, 385, 132, 479, + 415, 416, 131, 418, 392, 131, 448, 80, 126, 127, + 128, 129, 130, 22, 565, 566, 94, 95, 96, 97, + 131, 572, 131, 131, 131, 413, 414, 578, 579, 417, + 117, 118, 420, 421, 422, 423, 123, 56, 132, 126, + 127, 128, 129, 130, 524, 118, 526, 489, 99, 491, + 123, 531, 11, 126, 127, 128, 129, 130, 11, 90, + 611, 612, 613, 12, 551, 131, 617, 22, 15, 131, + 584, 551, 132, 131, 22, 463, 131, 94, 95, 96, + 97, 632, 131, 88, 132, 500, 131, 22, 639, 640, + 131, 479, 132, 94, 95, 96, 97, 22, 131, 45, + 586, 131, 131, 17, 584, 585, 87, 94, 95, 96, + 97, 131, 663, 599, 131, 94, 95, 96, 97, 131, + 562, 13, 602, 603, 609, 676, 141, 420, 608, 517, + 131, 94, 95, 96, 97, 21, 687, 23, 313, 689, + 26, 627, 28, 29, 131, 631, 697, 526, 442, 629, + 441, 537, 131, 619, 542, 41, 448, 163, 44, 416, + 418, -1, 48, 551, 644, 645, 646, -1, 131, 55, + 56, 57, 58, 59, -1, -1, -1, 619, -1, -1, + 660, 661, 570, 571, -1, -1, -1, -1, -1, 604, + -1, -1, 672, -1, 668, -1, -1, 72, 684, -1, + 680, 616, -1, -1, -1, 80, 81, 82, 688, 689, + -1, -1, 692, -1, -1, -1, -1, -1, 93, -1, + -1, 609, 610, -1, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 94, 95, 96, 97, 123, -1, + 638, 126, 127, 128, 129, 130, -1, 72, 3, 4, + 5, 6, 7, 8, 9, 80, 81, 82, -1, -1, + 658, -1, -1, -1, -1, -1, -1, 163, 93, -1, + -1, 131, -1, -1, 99, 100, 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, 116, 117, 118, -1, - -1, -1, 536, 123, -1, -1, 126, 127, 128, 129, - 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, 11, 12, 13, 568, -1, 16, -1, -1, 19, - 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, 35, 36, 37, 38, 593, - 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, -1, -1, -1, -1, - -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, - 120, -1, 122, -1, 124, 125, -1, 10, 11, 12, - 13, -1, 132, 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, -1, -1, -1, -1, -1, 91, -1, - -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, + -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, + -1, -1, -1, 219, -1, -1, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 0, 1, -1, 251, -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, 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, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, + 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, + 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, + 11, -1, 13, -1, 132, 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, -1, -1, -1, -1, -1, + 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, + -1, 467, -1, -1, -1, 72, -1, -1, -1, -1, + -1, -1, -1, 80, 81, 82, -1, -1, 119, 120, + -1, 122, -1, 124, 125, -1, 93, -1, -1, -1, + -1, 132, 99, 100, 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, 532, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, - -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, + -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, + -1, -1, -1, -1, 10, 11, 12, 13, 564, -1, 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, + 36, 37, 38, 589, 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, @@ -1245,7 +1216,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, - 122, -1, 124, 125, -1, 10, 11, -1, 13, -1, + 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, 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, @@ -1253,11 +1224,11 @@ static const yytype_int16 yycheck[] = 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, -1, -1, 88, -1, -1, 91, -1, -1, -1, + 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, - 125, -1, 10, 11, -1, 13, -1, 132, 16, -1, + 125, -1, 10, 11, 12, 13, -1, 132, 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, @@ -1269,48 +1240,75 @@ static const yytype_int16 yycheck[] = 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, - 11, -1, 13, -1, 132, 16, -1, -1, 19, 20, + 11, 12, 13, -1, 132, 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, -1, -1, + -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, -1, 1, -1, -1, -1, - 91, -1, -1, -1, -1, 10, -1, 98, 13, -1, - -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, - 25, -1, -1, -1, 29, 30, -1, -1, 119, 120, - -1, 122, -1, 124, 125, -1, -1, -1, -1, -1, - -1, 132, 47, 48, -1, -1, -1, 52, 53, -1, - 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, - 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, - 75, 76, 77, 78, 79, -1, -1, 1, 83, 84, - 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, - -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, - 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, - -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, - 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, + -1, 122, -1, 124, 125, -1, 10, 11, -1, 13, + -1, 132, 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, -1, -1, 88, -1, -1, 91, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, + 124, 125, -1, 10, 11, -1, 13, -1, 132, 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, -1, + -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, + 10, 11, -1, 13, -1, 132, 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, -1, + -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, -1, 1, -1, -1, + -1, 91, -1, -1, -1, -1, 10, -1, 98, 13, + -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, + 24, 25, -1, -1, -1, 29, 30, -1, -1, 119, + 120, -1, 122, -1, 124, 125, -1, -1, -1, -1, + -1, -1, 132, 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, - 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, -1, -1, -1, -1, -1, 10, 11, -1, + 74, 75, 76, 77, 78, 79, -1, -1, 1, 83, + 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, - 53, -1, 55, 56, 57, 58, 59, 60, 61, 62, + 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, + 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, -1, 132, - 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, + 52, 53, -1, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, + 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, @@ -1322,7 +1320,7 @@ static const yytype_int16 yycheck[] = 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, - 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, + -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, @@ -1334,7 +1332,7 @@ static const yytype_int16 yycheck[] = 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, - -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, + -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, @@ -1342,11 +1340,11 @@ static const yytype_int16 yycheck[] = 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, - -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, + -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, - 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, + 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, @@ -1354,7 +1352,7 @@ static const yytype_int16 yycheck[] = 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, - -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, + -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, @@ -1386,7 +1384,7 @@ static const yytype_int16 yycheck[] = -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, -1, 132, + -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, @@ -1399,50 +1397,54 @@ static const yytype_int16 yycheck[] = -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, - -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, -1, -1, -1, 119, 120, - -1, 122, 93, 124, 125, -1, -1, -1, 99, 100, - 101, 132, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, - -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, - -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, - 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, - 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 99, 100, 101, -1, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, - 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, - -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, + 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, + 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, + 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, + -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, + -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, + -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, + 80, 81, 82, -1, -1, -1, -1, -1, -1, 119, + 120, -1, 122, -1, 124, 125, -1, -1, -1, 99, + 100, 101, 132, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, + 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, + 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, -1, 80, 81, 82, 123, - -1, -1, 126, 127, 128, 129, 130, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, - -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, - 114, 115, 116, 117, 118, -1, 80, 81, 82, 123, - -1, -1, 126, 127, 128, 129, 130, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, 112, 113, + -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 80, 81, 82, 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, 108, 109, 110, 111, 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, - -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, -1, 80, 81, 82, -1, + -1, -1, -1, -1, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 80, 81, 82, 123, -1, + -1, 126, 127, 128, 129, 130, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 80, 81, 82, -1, 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, 80, 81, 82, -1, 123, -1, + -1, 126, 127, 128, 129, 130, -1, -1, 114, 115, + 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, -1, 115, + 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, -1, 116, + 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, + 127, 128, 129, 130 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1475,51 +1477,50 @@ static const yytype_int16 yystos[] = 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, 180, 208, 56, 56, 249, 263, 264, 265, 132, - 132, 30, 122, 132, 261, 263, 132, 132, 132, 132, - 177, 11, 181, 181, 205, 209, 22, 205, 209, 39, - 178, 196, 22, 32, 35, 36, 37, 38, 41, 22, - 189, 190, 188, 20, 24, 102, 178, 214, 215, 216, - 217, 219, 220, 221, 14, 132, 245, 248, 263, 264, - 265, 131, 231, 86, 212, 70, 178, 210, 86, 178, - 211, 211, 253, 132, 89, 231, 131, 177, 131, 131, - 231, 254, 254, 271, 232, 232, 22, 253, 13, 131, - 231, 231, 231, 231, 245, 231, 231, 131, 231, 245, + 11, 180, 208, 56, 56, 249, 263, 264, 265, 180, + 180, 180, 132, 132, 180, 180, 177, 11, 181, 181, + 205, 209, 22, 205, 209, 39, 178, 196, 22, 32, + 35, 36, 37, 38, 41, 22, 189, 190, 188, 20, + 24, 102, 178, 214, 215, 216, 217, 219, 220, 221, + 14, 132, 245, 248, 263, 264, 265, 131, 231, 86, + 212, 70, 178, 210, 86, 178, 211, 211, 253, 132, + 89, 231, 131, 177, 131, 131, 231, 254, 254, 271, + 232, 232, 22, 253, 13, 131, 231, 231, 231, 231, + 245, 231, 231, 131, 231, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 10, 11, 13, - 16, 20, 24, 25, 57, 83, 132, 235, 263, 131, - 231, 231, 231, 231, 231, 231, 231, 231, 186, 56, - 178, 204, 56, 56, 86, 178, 250, 180, 180, 122, - 180, 30, 259, 260, 262, 263, 264, 265, 180, 180, - 132, 180, 180, 180, 180, 182, 44, 172, 205, 162, - 205, 177, 193, 231, 193, 193, 201, 231, 193, 193, - 61, 213, 16, 15, 131, 231, 212, 131, 59, 211, - 59, 180, 229, 229, 254, 232, 14, 234, 131, 90, - 131, 231, 12, 231, 13, 22, 14, 131, 102, 25, - 209, 231, 231, 25, 25, 25, 25, 25, 131, 231, - 132, 131, 22, 14, 22, 14, 22, 14, 22, 12, - 18, 179, 11, 22, 211, 59, 99, 202, 231, 202, - 132, 256, 263, 132, 178, 194, 199, 202, 203, 231, - 259, 180, 201, 200, 231, 202, 202, 186, 180, 56, - 166, 22, 180, 226, 227, 164, 99, 213, 219, 131, - 227, 132, 178, 222, 223, 131, 23, 178, 255, 253, - 131, 14, 231, 12, 245, 132, 22, 14, 131, 254, - 12, 12, 12, 12, 180, 180, 11, 22, 252, 131, - 131, 257, 258, 263, 132, 180, 131, 22, 153, 202, - 131, 131, 131, 131, 12, 132, 178, 183, 56, 210, - 11, 211, 245, 99, 224, 11, 231, 90, 14, 254, - 12, 131, 22, 160, 180, 245, 181, 181, 15, 131, - 202, 202, 181, 151, 132, 131, 198, 198, 181, 181, - 184, 168, 253, 211, 186, 22, 228, 229, 218, 245, - 131, 230, 131, 88, 186, 145, 33, 34, 178, 195, - 195, 263, 132, 131, 131, 196, 200, 202, 181, 181, - 181, 263, 181, 22, 226, 12, 186, 178, 187, 12, - 186, 181, 132, 202, 181, 181, 22, 131, 196, 196, - 196, 185, 45, 197, 12, 22, 59, 191, 12, 202, - 131, 196, 196, 152, 181, 131, 177, 17, 87, 178, - 192, 131, 181, 198, 196, 186, 181, 196, 203, 88, - 195, 131, 181 + 245, 245, 245, 10, 11, 13, 16, 20, 24, 25, + 57, 83, 132, 235, 263, 131, 231, 231, 231, 231, + 231, 231, 231, 231, 186, 56, 178, 204, 56, 56, + 86, 178, 250, 132, 132, 30, 122, 132, 261, 263, + 180, 180, 132, 132, 182, 44, 172, 205, 162, 205, + 177, 193, 231, 193, 193, 201, 231, 193, 193, 61, + 213, 16, 15, 131, 231, 212, 131, 59, 211, 59, + 180, 229, 229, 254, 232, 14, 234, 131, 90, 131, + 231, 12, 231, 13, 22, 14, 131, 102, 25, 209, + 231, 231, 25, 25, 25, 25, 25, 131, 231, 132, + 131, 22, 14, 22, 14, 22, 14, 22, 12, 18, + 179, 11, 22, 211, 59, 99, 202, 231, 202, 122, + 132, 256, 263, 30, 259, 260, 262, 263, 264, 265, + 178, 194, 199, 202, 203, 231, 259, 132, 201, 200, + 231, 202, 202, 186, 180, 56, 166, 22, 180, 226, + 227, 164, 99, 213, 219, 131, 227, 132, 178, 222, + 223, 131, 23, 178, 255, 253, 131, 14, 231, 12, + 245, 132, 22, 14, 131, 254, 12, 12, 12, 12, + 180, 180, 11, 22, 252, 131, 131, 257, 258, 263, + 132, 132, 131, 22, 153, 202, 131, 131, 131, 131, + 12, 132, 178, 183, 56, 210, 11, 211, 245, 99, + 224, 11, 231, 90, 14, 254, 12, 131, 22, 160, + 180, 245, 181, 181, 15, 131, 202, 202, 181, 151, + 132, 131, 198, 198, 181, 181, 184, 168, 253, 211, + 186, 22, 228, 229, 218, 245, 131, 230, 131, 88, + 186, 145, 33, 34, 178, 195, 195, 263, 132, 131, + 131, 196, 200, 202, 181, 181, 181, 263, 181, 22, + 226, 12, 186, 178, 187, 12, 186, 181, 132, 202, + 181, 181, 22, 131, 196, 196, 196, 185, 45, 197, + 12, 22, 59, 191, 12, 202, 131, 196, 196, 152, + 181, 131, 177, 17, 87, 178, 192, 131, 181, 198, + 196, 186, 181, 196, 203, 88, 195, 131, 181 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1676,6 +1677,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index f13efcd810e0..ac883056f378 100644 --- a/perly.y +++ b/perly.y @@ -346,8 +346,8 @@ bare_statement_field_declaration bare_statement_for : KW_FOR - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mnexpr[init_mnexpr] PERLY_SEMICOLON { @@ -377,8 +377,8 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR - KW_MY remember + KW_MY my_scalar PERLY_PAREN_OPEN mexpr @@ -390,8 +390,8 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR - KW_MY remember + KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE @@ -409,9 +409,9 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR + remember scalar PERLY_PAREN_OPEN - remember mexpr PERLY_PAREN_CLOSE mblock @@ -421,8 +421,8 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR - my_refgen remember + my_refgen my_var { parser->in_my = 0; @@ -450,10 +450,10 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR + remember REFGEN refgen_topic PERLY_PAREN_OPEN - remember mexpr PERLY_PAREN_CLOSE mblock @@ -472,8 +472,8 @@ bare_statement_for parser->copline = (line_t)$KW_FOR; } | KW_FOR - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock @@ -502,8 +502,8 @@ bare_statement_format bare_statement_given : KW_GIVEN - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock @@ -515,8 +515,8 @@ bare_statement_given bare_statement_if : KW_IF - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock @@ -681,8 +681,8 @@ bare_statement_try_catch bare_statement_unless : KW_UNLESS - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock @@ -728,8 +728,8 @@ bare_statement_utilize bare_statement_when : KW_WHEN - PERLY_PAREN_OPEN remember + PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock From 75e4ca090ff186c4ca7cb844fe3ca7a9e6a61ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Sun, 9 Nov 2025 07:48:09 +0100 Subject: [PATCH 4/7] [parser] Split `for` statement into two variants for_control - C-style with control expression for_over - iterating over list using cursor variable(s) --- perly.act | 1126 ++++++++++++++++++++-------------------- perly.h | 2 +- perly.tab | 1499 +++++++++++++++++++++++++++-------------------------- perly.y | 12 +- 4 files changed, 1328 insertions(+), 1311 deletions(-) diff --git a/perly.act b/perly.act index 95f77be1b3dd..04eae1ffab10 100644 --- a/perly.act +++ b/perly.act @@ -5,7 +5,7 @@ */ case 2: /* @1: %empty */ -#line 188 "perly.y" +#line 190 "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 193 "perly.y" +#line 195 "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 199 "perly.y" +#line 201 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: /* @1: %empty */ break; case 5: /* grammar: GRAMEXPR @2 optexpr */ -#line 204 "perly.y" +#line 206 "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 209 "perly.y" +#line 211 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: /* @1: %empty */ break; case 7: /* grammar: GRAMBLOCK @3 block */ -#line 214 "perly.y" +#line 216 "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 222 "perly.y" +#line 224 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: /* @1: %empty */ break; case 9: /* grammar: GRAMBARESTMT @4 barestmt */ -#line 227 "perly.y" +#line 229 "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 235 "perly.y" +#line 237 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: /* @1: %empty */ break; case 11: /* grammar: GRAMFULLSTMT @5 fullstmt */ -#line 240 "perly.y" +#line 242 "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 248 "perly.y" +#line 250 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: /* @1: %empty */ break; case 13: /* grammar: GRAMSTMTSEQ @6 stmtseq */ -#line 253 "perly.y" +#line 255 "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 258 "perly.y" +#line 260 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: /* @1: %empty */ break; case 15: /* grammar: GRAMSUBSIGNATURE @7 subsigguts */ -#line 263 "perly.y" +#line 265 "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 272 "perly.y" +#line 274 "perly.y" { (yyval.opval) = new_block_statement ((ps[-1].val.opval), (ps[0].val.opval)); } @@ -149,7 +149,7 @@ case 2: /* @1: %empty */ break; case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_SEMICOLON */ -#line 283 "perly.y" +#line 285 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); (yyval.opval) = NULL; @@ -162,7 +162,7 @@ case 2: /* @1: %empty */ break; case 18: /* $@8: %empty */ -#line 300 "perly.y" +#line 302 "perly.y" { package ((ps[-3].val.opval), (ps[-4].val.opval)); class_setup_stash(PL_curstash); @@ -174,7 +174,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 309 "perly.y" +#line 311 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -184,7 +184,7 @@ case 2: /* @1: %empty */ break; case 20: /* bare_statement_default: KW_DEFAULT block */ -#line 319 "perly.y" +#line 321 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } @@ -192,7 +192,7 @@ case 2: /* @1: %empty */ break; case 21: /* bare_statement_defer: KW_DEFER mblock */ -#line 326 "perly.y" +#line 328 "perly.y" { (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval))); } @@ -200,7 +200,7 @@ case 2: /* @1: %empty */ break; case 22: /* bare_statement_expression: sideff PERLY_SEMICOLON */ -#line 334 "perly.y" +#line 336 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -208,31 +208,31 @@ case 2: /* @1: %empty */ break; case 23: /* bare_statement_field_declaration: fielddecl PERLY_SEMICOLON */ -#line 342 "perly.y" +#line 344 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 24: /* $@9: %empty */ -#line 353 "perly.y" + case 26: /* $@9: %empty */ +#line 360 "perly.y" { parser->expect = XTERM; } break; - case 25: /* $@10: %empty */ -#line 358 "perly.y" + case 27: /* $@10: %empty */ +#line 365 "perly.y" { parser->expect = XTERM; } break; - case 26: /* bare_statement_for: KW_FOR remember PERLY_PAREN_OPEN mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ -#line 365 "perly.y" + case 28: /* bare_statement_for_control: KW_FOR remember PERLY_PAREN_OPEN mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ +#line 372 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival)); @@ -250,8 +250,8 @@ case 2: /* @1: %empty */ break; - case 27: /* bare_statement_for: KW_FOR remember KW_MY my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 388 "perly.y" + case 29: /* bare_statement_for_over: KW_FOR remember KW_MY my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 398 "perly.y" { (yyval.opval) = block_end((ps[-7].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); @@ -259,8 +259,8 @@ case 2: /* @1: %empty */ break; - case 28: /* bare_statement_for: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 403 "perly.y" + case 30: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 413 "perly.y" { if ((ps[-6].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... @@ -272,8 +272,8 @@ case 2: /* @1: %empty */ break; - case 29: /* bare_statement_for: KW_FOR remember scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 419 "perly.y" + case 31: /* bare_statement_for_over: KW_FOR remember scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 429 "perly.y" { (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, op_lvalue((ps[-5].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-7].val.ival); @@ -281,8 +281,8 @@ case 2: /* @1: %empty */ break; - case 30: /* @11: %empty */ -#line 427 "perly.y" + case 32: /* @11: %empty */ +#line 437 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); @@ -290,8 +290,8 @@ case 2: /* @1: %empty */ break; - case 31: /* bare_statement_for: KW_FOR remember my_refgen my_var @11 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 436 "perly.y" + case 33: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @11 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 446 "perly.y" { (yyval.opval) = block_end( (ps[-8].val.ival), @@ -311,8 +311,8 @@ case 2: /* @1: %empty */ break; - case 32: /* bare_statement_for: KW_FOR remember REFGEN refgen_topic PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 461 "perly.y" + case 34: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 471 "perly.y" { (yyval.opval) = block_end ( (ps[-7].val.ival), @@ -329,8 +329,8 @@ case 2: /* @1: %empty */ break; - case 33: /* bare_statement_for: KW_FOR remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 481 "perly.y" + case 35: /* bare_statement_for_over: KW_FOR remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ +#line 491 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-6].val.ival); @@ -338,8 +338,8 @@ case 2: /* @1: %empty */ break; - case 34: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ -#line 492 "perly.y" + case 36: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ +#line 502 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -352,8 +352,8 @@ case 2: /* @1: %empty */ break; - case 35: /* bare_statement_given: KW_GIVEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ -#line 510 "perly.y" + case 37: /* bare_statement_given: KW_GIVEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ +#line 520 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-5].val.ival); @@ -361,8 +361,8 @@ case 2: /* @1: %empty */ break; - case 36: /* bare_statement_if: KW_IF remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 524 "perly.y" + case 38: /* bare_statement_if: KW_IF remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ +#line 534 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); parser->copline = (line_t)(ps[-6].val.ival); @@ -370,8 +370,8 @@ case 2: /* @1: %empty */ break; - case 37: /* bare_statement_null: PERLY_SEMICOLON */ -#line 532 "perly.y" + case 39: /* bare_statement_null: PERLY_SEMICOLON */ +#line 542 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -379,8 +379,8 @@ case 2: /* @1: %empty */ break; - case 38: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ -#line 548 "perly.y" + case 40: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ +#line 558 "perly.y" { package ((ps[-1].val.opval), (ps[-2].val.opval)); (yyval.opval) = NULL; @@ -388,16 +388,16 @@ case 2: /* @1: %empty */ break; - case 39: /* $@12: %empty */ -#line 560 "perly.y" + case 41: /* $@12: %empty */ +#line 570 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); } break; - case 40: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@12 stmtseq PERLY_BRACE_CLOSE */ -#line 565 "perly.y" + case 42: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@12 stmtseq PERLY_BRACE_CLOSE */ +#line 575 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -406,8 +406,8 @@ case 2: /* @1: %empty */ break; - case 41: /* $@13: %empty */ -#line 575 "perly.y" + case 43: /* $@13: %empty */ +#line 585 "perly.y" { switch((ps[-1].val.ival)) { case KEY_ADJUST: @@ -421,8 +421,8 @@ case 2: /* @1: %empty */ break; - case 42: /* bare_statement_phaser: PHASER startsub $@13 optsubbody */ -#line 586 "perly.y" + case 44: /* bare_statement_phaser: PHASER startsub $@13 optsubbody */ +#line 596 "perly.y" { OP *body = (ps[0].val.opval); SvREFCNT_inc_simple_void(PL_compcv); @@ -441,8 +441,8 @@ case 2: /* @1: %empty */ break; - case 43: /* $@14: %empty */ -#line 610 "perly.y" + case 45: /* $@14: %empty */ +#line 620 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); if((ps[-2].val.ival) == KW_METHOD_named) { @@ -455,8 +455,8 @@ case 2: /* @1: %empty */ break; - case 44: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@14 subattrlist optsigsubbody */ -#line 621 "perly.y" + case 46: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@14 subattrlist optsigsubbody */ +#line 631 "perly.y" { OP *body = (ps[0].val.opval); @@ -472,8 +472,8 @@ case 2: /* @1: %empty */ break; - case 45: /* $@15: %empty */ -#line 640 "perly.y" + case 47: /* $@15: %empty */ +#line 650 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -482,8 +482,8 @@ case 2: /* @1: %empty */ break; - case 46: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@15 proto subattrlist optsubbody */ -#line 648 "perly.y" + case 48: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@15 proto subattrlist optsubbody */ +#line 658 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -497,8 +497,8 @@ case 2: /* @1: %empty */ break; - case 47: /* $@16: %empty */ -#line 666 "perly.y" + case 49: /* $@16: %empty */ +#line 676 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -508,8 +508,8 @@ case 2: /* @1: %empty */ break; - case 48: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@16 mblock finally */ -#line 674 "perly.y" + case 50: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@16 mblock finally */ +#line 684 "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)))); if((ps[0].val.opval)) @@ -519,8 +519,8 @@ case 2: /* @1: %empty */ break; - case 49: /* bare_statement_unless: KW_UNLESS remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 690 "perly.y" + case 51: /* bare_statement_unless: KW_UNLESS remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ +#line 700 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); parser->copline = (line_t)(ps[-6].val.ival); @@ -528,8 +528,8 @@ case 2: /* @1: %empty */ break; - case 50: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 705 "perly.y" + case 52: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 715 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -537,14 +537,14 @@ case 2: /* @1: %empty */ break; - case 51: /* $@17: %empty */ -#line 714 "perly.y" + case 53: /* $@17: %empty */ +#line 724 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; - case 52: /* bare_statement_utilize: KW_USE_or_NO startsub $@17 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ -#line 721 "perly.y" + case 54: /* bare_statement_utilize: KW_USE_or_NO startsub $@17 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ +#line 731 "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)); @@ -554,16 +554,16 @@ case 2: /* @1: %empty */ break; - case 53: /* bare_statement_when: KW_WHEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ -#line 736 "perly.y" + case 55: /* bare_statement_when: KW_WHEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ +#line 746 "perly.y" { (yyval.opval) = block_end((ps[-4].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); } break; - case 54: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 750 "perly.y" + case 56: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 760 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -571,8 +571,8 @@ case 2: /* @1: %empty */ break; - case 55: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ -#line 758 "perly.y" + case 57: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ +#line 768 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -580,20 +580,20 @@ case 2: /* @1: %empty */ break; - case 56: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 767 "perly.y" + case 58: /* sigsub_or_method_named: KW_SUB_named_sig */ +#line 777 "perly.y" { (yyval.ival) = KW_SUB_named_sig; } break; - case 57: /* sigsub_or_method_named: KW_METHOD_named */ -#line 769 "perly.y" + case 59: /* sigsub_or_method_named: KW_METHOD_named */ +#line 779 "perly.y" { (yyval.ival) = KW_METHOD_named; } break; - case 58: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ -#line 774 "perly.y" + case 60: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ +#line 784 "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)); @@ -601,14 +601,14 @@ case 2: /* @1: %empty */ break; - case 59: /* empty: %empty */ -#line 781 "perly.y" + case 61: /* empty: %empty */ +#line 791 "perly.y" { (yyval.opval) = NULL; } break; - case 60: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ -#line 786 "perly.y" + case 62: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ +#line 796 "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)); @@ -616,15 +616,15 @@ case 2: /* @1: %empty */ break; - case 61: /* remember: %empty */ -#line 793 "perly.y" + case 63: /* remember: %empty */ +#line 803 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; - case 62: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ -#line 798 "perly.y" + case 64: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ +#line 808 "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)); @@ -632,33 +632,33 @@ case 2: /* @1: %empty */ break; - case 63: /* mremember: %empty */ -#line 805 "perly.y" + case 65: /* mremember: %empty */ +#line 815 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; - case 65: /* $@18: %empty */ -#line 814 "perly.y" + case 67: /* $@18: %empty */ +#line 824 "perly.y" { parser->in_my = KEY_catch; } break; - case 66: /* $@19: %empty */ -#line 816 "perly.y" + case 68: /* $@19: %empty */ +#line 826 "perly.y" { parser->in_my = 0; intro_my(); } break; - case 67: /* catch_paren: PERLY_PAREN_OPEN $@18 scalar $@19 PERLY_PAREN_CLOSE */ -#line 818 "perly.y" + case 69: /* catch_paren: PERLY_PAREN_OPEN $@18 scalar $@19 PERLY_PAREN_CLOSE */ +#line 828 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 69: /* stmtseq: stmtseq fullstmt */ -#line 825 "perly.y" + case 71: /* stmtseq: stmtseq fullstmt */ +#line 835 "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)) @@ -667,8 +667,8 @@ case 2: /* @1: %empty */ break; - case 71: /* formstmtseq: formstmtseq formline */ -#line 836 "perly.y" + case 73: /* formstmtseq: formstmtseq formline */ +#line 846 "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)) @@ -677,22 +677,22 @@ case 2: /* @1: %empty */ break; - case 72: /* fullstmt: barestmt */ -#line 845 "perly.y" + case 74: /* fullstmt: barestmt */ +#line 855 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } break; - case 73: /* fullstmt: labfullstmt */ -#line 849 "perly.y" + case 75: /* fullstmt: labfullstmt */ +#line 859 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 74: /* labfullstmt: LABEL barestmt */ -#line 853 "perly.y" + case 76: /* labfullstmt: LABEL barestmt */ +#line 863 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -702,8 +702,8 @@ case 2: /* @1: %empty */ break; - case 75: /* labfullstmt: LABEL labfullstmt */ -#line 860 "perly.y" + case 77: /* labfullstmt: LABEL labfullstmt */ +#line 870 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -713,8 +713,8 @@ case 2: /* @1: %empty */ break; - case 101: /* formline: THING formarg */ -#line 905 "perly.y" + case 103: /* formline: THING formarg */ +#line 915 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -732,63 +732,63 @@ case 2: /* @1: %empty */ break; - case 103: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ -#line 924 "perly.y" + case 105: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ +#line 934 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 105: /* sideff: error */ -#line 932 "perly.y" + case 107: /* sideff: error */ +#line 942 "perly.y" { (yyval.opval) = NULL; } break; - case 106: /* sideff: expr */ -#line 934 "perly.y" + case 108: /* sideff: expr */ +#line 944 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 107: /* sideff: expr KW_IF condition */ -#line 936 "perly.y" + case 109: /* sideff: expr KW_IF condition */ +#line 946 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 108: /* sideff: expr KW_UNLESS condition */ -#line 938 "perly.y" + case 110: /* sideff: expr KW_UNLESS condition */ +#line 948 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 109: /* sideff: expr KW_WHILE condition */ -#line 940 "perly.y" + case 111: /* sideff: expr KW_WHILE condition */ +#line 950 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 110: /* sideff: expr KW_UNTIL iexpr */ -#line 942 "perly.y" + case 112: /* sideff: expr KW_UNTIL iexpr */ +#line 952 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 111: /* sideff: expr KW_FOR condition */ -#line 944 "perly.y" + case 113: /* sideff: expr KW_FOR condition */ +#line 954 "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 112: /* sideff: expr KW_WHEN condition */ -#line 947 "perly.y" + case 114: /* sideff: expr KW_WHEN condition */ +#line 957 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 114: /* else: KW_ELSE mblock */ -#line 954 "perly.y" + case 116: /* else: KW_ELSE mblock */ +#line 964 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -796,8 +796,8 @@ case 2: /* @1: %empty */ break; - case 115: /* else: KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 959 "perly.y" + case 117: /* else: KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ +#line 969 "perly.y" { parser->copline = (line_t)(ps[-5].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), @@ -807,94 +807,94 @@ case 2: /* @1: %empty */ break; - case 117: /* cont: KW_CONTINUE block */ -#line 971 "perly.y" + case 119: /* cont: KW_CONTINUE block */ +#line 981 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 118: /* finally: %empty */ -#line 976 "perly.y" + case 120: /* finally: %empty */ +#line 986 "perly.y" { (yyval.opval) = NULL; } break; - case 119: /* finally: KW_FINALLY block */ -#line 978 "perly.y" + case 121: /* finally: KW_FINALLY block */ +#line 988 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 120: /* mintro: %empty */ -#line 983 "perly.y" + case 122: /* mintro: %empty */ +#line 993 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 123: /* texpr: %empty */ -#line 995 "perly.y" + case 125: /* texpr: %empty */ +#line 1005 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 125: /* iexpr: expr */ -#line 1003 "perly.y" + case 127: /* iexpr: expr */ +#line 1013 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 126: /* mexpr: expr */ -#line 1008 "perly.y" + case 128: /* mexpr: expr */ +#line 1018 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 127: /* mnexpr: nexpr */ -#line 1012 "perly.y" + case 129: /* mnexpr: nexpr */ +#line 1022 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 128: /* formname: BAREWORD */ -#line 1015 "perly.y" + case 130: /* formname: BAREWORD */ +#line 1025 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 130: /* startsub: %empty */ -#line 1020 "perly.y" + case 132: /* startsub: %empty */ +#line 1030 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 131: /* startanonsub: %empty */ -#line 1026 "perly.y" + case 133: /* startanonsub: %empty */ +#line 1036 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 132: /* startanonmethod: %empty */ -#line 1031 "perly.y" + case 134: /* startanonmethod: %empty */ +#line 1041 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD); SAVEFREESV(PL_compcv); } break; - case 133: /* startformsub: %empty */ -#line 1036 "perly.y" + case 135: /* startformsub: %empty */ +#line 1046 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 139: /* subattrlist: COLONATTR THING */ -#line 1055 "perly.y" + case 141: /* subattrlist: COLONATTR THING */ +#line 1065 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -904,50 +904,50 @@ case 2: /* @1: %empty */ break; - case 140: /* subattrlist: COLONATTR */ -#line 1062 "perly.y" + case 142: /* subattrlist: COLONATTR */ +#line 1072 "perly.y" { (yyval.opval) = NULL; } break; - case 141: /* myattrlist: COLONATTR THING */ -#line 1067 "perly.y" + case 143: /* myattrlist: COLONATTR THING */ +#line 1077 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 142: /* myattrlist: COLONATTR */ -#line 1069 "perly.y" + case 144: /* myattrlist: COLONATTR */ +#line 1079 "perly.y" { (yyval.opval) = NULL; } break; - case 143: /* sigvar: %empty */ -#line 1080 "perly.y" + case 145: /* sigvar: %empty */ +#line 1090 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 144: /* sigvar: PRIVATEREF */ -#line 1082 "perly.y" + case 146: /* sigvar: PRIVATEREF */ +#line 1092 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 145: /* sigslurpsigil: PERLY_SNAIL */ -#line 1087 "perly.y" + case 147: /* sigslurpsigil: PERLY_SNAIL */ +#line 1097 "perly.y" { (yyval.ival) = '@'; } break; - case 146: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1089 "perly.y" + case 148: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1099 "perly.y" { (yyval.ival) = '%'; } break; - case 147: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1093 "perly.y" + case 149: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1103 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -955,36 +955,36 @@ case 2: /* @1: %empty */ break; - case 148: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1098 "perly.y" + case 150: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1108 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 149: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1102 "perly.y" + case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1112 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 150: /* optcolon: %empty */ -#line 1108 "perly.y" + case 152: /* optcolon: %empty */ +#line 1118 "perly.y" { (yyval.ival) = 0; } break; - case 151: /* optcolon: PERLY_COLON */ -#line 1110 "perly.y" + case 153: /* optcolon: PERLY_COLON */ +#line 1120 "perly.y" { (yyval.ival) = ':'; } break; - case 152: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1116 "perly.y" + case 154: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1126 "perly.y" { if((ps[-2].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.ival)]; @@ -997,8 +997,8 @@ case 2: /* @1: %empty */ break; - case 153: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1126 "perly.y" + case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1136 "perly.y" { if((ps[-4].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[-2].val.ival)]; @@ -1011,32 +1011,32 @@ case 2: /* @1: %empty */ break; - case 154: /* optsigscalardefault: %empty */ -#line 1139 "perly.y" + case 156: /* optsigscalardefault: %empty */ +#line 1149 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 156: /* sigelem: sigscalarelem */ -#line 1146 "perly.y" + case 158: /* sigelem: sigscalarelem */ +#line 1156 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 157: /* sigelem: sigslurpelem */ -#line 1148 "perly.y" + case 159: /* sigelem: sigslurpelem */ +#line 1158 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 165: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1174 "perly.y" + case 167: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1184 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 166: /* $@20: %empty */ -#line 1177 "perly.y" + case 168: /* $@20: %empty */ +#line 1187 "perly.y" { ENTER; subsignature_start(); @@ -1045,8 +1045,8 @@ case 2: /* @1: %empty */ break; - case 167: /* subsigguts: $@20 optsiglist */ -#line 1183 "perly.y" + case 169: /* subsigguts: $@20 optsiglist */ +#line 1193 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1073,14 +1073,14 @@ case 2: /* @1: %empty */ break; - case 169: /* optsubbody: PERLY_SEMICOLON */ -#line 1211 "perly.y" + case 171: /* optsubbody: PERLY_SEMICOLON */ +#line 1221 "perly.y" { (yyval.opval) = NULL; } break; - case 170: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1217 "perly.y" + case 172: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1227 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1089,20 +1089,20 @@ case 2: /* @1: %empty */ break; - case 172: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1229 "perly.y" + case 174: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1239 "perly.y" { (yyval.opval) = NULL; } break; - case 173: /* $@21: %empty */ -#line 1234 "perly.y" + case 175: /* $@21: %empty */ +#line 1244 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 174: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1236 "perly.y" + case 176: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1246 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1112,38 +1112,38 @@ case 2: /* @1: %empty */ break; - case 175: /* expr: expr ANDOP expr */ -#line 1247 "perly.y" + case 177: /* expr: expr ANDOP expr */ +#line 1257 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 176: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1249 "perly.y" + case 178: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1259 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 177: /* expr: expr OROP expr */ -#line 1251 "perly.y" + case 179: /* expr: expr OROP expr */ +#line 1261 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 178: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1253 "perly.y" + case 180: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1263 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 180: /* listexpr: listexpr PERLY_COMMA */ -#line 1259 "perly.y" + case 182: /* listexpr: listexpr PERLY_COMMA */ +#line 1269 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 181: /* listexpr: listexpr PERLY_COMMA term */ -#line 1261 "perly.y" + case 183: /* listexpr: listexpr PERLY_COMMA term */ +#line 1271 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1151,32 +1151,32 @@ case 2: /* @1: %empty */ break; - case 183: /* listop: LSTOP indirob listexpr */ -#line 1270 "perly.y" + case 185: /* listop: LSTOP indirob listexpr */ +#line 1280 "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 184: /* listop: BLKLSTOP block listexpr */ -#line 1274 "perly.y" + case 186: /* listop: BLKLSTOP block listexpr */ +#line 1284 "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 185: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1278 "perly.y" + case 187: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1288 "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 186: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1282 "perly.y" + case 188: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1292 "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)), @@ -1185,8 +1185,8 @@ case 2: /* @1: %empty */ break; - case 187: /* listop: term ARROW methodname */ -#line 1288 "perly.y" + case 189: /* listop: term ARROW methodname */ +#line 1298 "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)))); @@ -1194,8 +1194,8 @@ case 2: /* @1: %empty */ break; - case 188: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1293 "perly.y" + case 190: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1303 "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)), @@ -1204,8 +1204,8 @@ case 2: /* @1: %empty */ break; - case 189: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1299 "perly.y" + case 191: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1309 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1214,8 +1214,8 @@ case 2: /* @1: %empty */ break; - case 190: /* listop: METHCALL0 indirob optlistexpr */ -#line 1305 "perly.y" + case 192: /* listop: METHCALL0 indirob optlistexpr */ +#line 1315 "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)), @@ -1224,8 +1224,8 @@ case 2: /* @1: %empty */ break; - case 191: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1311 "perly.y" + case 193: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1321 "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)), @@ -1234,26 +1234,26 @@ case 2: /* @1: %empty */ break; - case 192: /* listop: LSTOP optlistexpr */ -#line 1317 "perly.y" + case 194: /* listop: LSTOP optlistexpr */ +#line 1327 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 193: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1319 "perly.y" + case 195: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1329 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 194: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1321 "perly.y" + case 196: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1331 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 195: /* @22: %empty */ -#line 1323 "perly.y" + case 197: /* @22: %empty */ +#line 1333 "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 */ @@ -1262,8 +1262,8 @@ case 2: /* @1: %empty */ break; - case 196: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1329 "perly.y" + case 198: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1339 "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))); @@ -1271,21 +1271,21 @@ case 2: /* @1: %empty */ break; - case 199: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1344 "perly.y" + case 201: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1354 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 200: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1346 "perly.y" + case 202: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1356 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 201: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1349 "perly.y" + case 203: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1359 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1293,8 +1293,8 @@ case 2: /* @1: %empty */ break; - case 202: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1354 "perly.y" + case 204: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1364 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1302,31 +1302,31 @@ case 2: /* @1: %empty */ break; - case 203: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1359 "perly.y" + case 205: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1369 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 204: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1362 "perly.y" + case 206: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1372 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 205: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1366 "perly.y" + case 207: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1376 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 206: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1370 "perly.y" + case 208: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1380 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1335,8 +1335,8 @@ case 2: /* @1: %empty */ break; - case 207: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1376 "perly.y" + case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1386 "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))))); @@ -1346,8 +1346,8 @@ case 2: /* @1: %empty */ break; - case 208: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1384 "perly.y" + case 210: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1394 "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))))); @@ -1357,8 +1357,8 @@ case 2: /* @1: %empty */ break; - case 209: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1391 "perly.y" + case 211: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1401 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1367,56 +1367,56 @@ case 2: /* @1: %empty */ break; - case 210: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1397 "perly.y" + case 212: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1407 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 211: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1399 "perly.y" + case 213: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1409 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 212: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1401 "perly.y" + case 214: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1411 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 213: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1406 "perly.y" + case 215: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1416 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 214: /* termbinop: term ASSIGNOP term */ -#line 1408 "perly.y" + case 216: /* termbinop: term ASSIGNOP term */ +#line 1418 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 215: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1410 "perly.y" + case 217: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1420 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 216: /* termbinop: term POWOP term */ -#line 1412 "perly.y" + case 218: /* termbinop: term POWOP term */ +#line 1422 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 217: /* termbinop: term PLUGIN_POW_OP term */ -#line 1414 "perly.y" + case 219: /* termbinop: term PLUGIN_POW_OP term */ +#line 1424 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 218: /* termbinop: term MULOP term */ -#line 1416 "perly.y" + case 220: /* termbinop: term MULOP term */ +#line 1426 "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))); @@ -1424,220 +1424,220 @@ case 2: /* @1: %empty */ break; - case 219: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1421 "perly.y" + case 221: /* termbinop: term PLUGIN_MUL_OP term */ +#line 1431 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 220: /* termbinop: term ADDOP term */ -#line 1423 "perly.y" + case 222: /* termbinop: term ADDOP term */ +#line 1433 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 221: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1425 "perly.y" + case 223: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1435 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 222: /* termbinop: term SHIFTOP term */ -#line 1427 "perly.y" + case 224: /* termbinop: term SHIFTOP term */ +#line 1437 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 223: /* termbinop: termrelop */ -#line 1429 "perly.y" + case 225: /* termbinop: termrelop */ +#line 1439 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 224: /* termbinop: termeqop */ -#line 1431 "perly.y" + case 226: /* termbinop: termeqop */ +#line 1441 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 225: /* termbinop: term BITANDOP term */ -#line 1433 "perly.y" + case 227: /* termbinop: term BITANDOP term */ +#line 1443 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 226: /* termbinop: term BITOROP term */ -#line 1435 "perly.y" + case 228: /* termbinop: term BITOROP term */ +#line 1445 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 227: /* termbinop: term DOTDOT term */ -#line 1437 "perly.y" + case 229: /* termbinop: term DOTDOT term */ +#line 1447 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 228: /* termbinop: term ANDAND term */ -#line 1439 "perly.y" + case 230: /* termbinop: term ANDAND term */ +#line 1449 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 229: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1441 "perly.y" + case 231: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1451 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 230: /* termbinop: term OROR term */ -#line 1443 "perly.y" + case 232: /* termbinop: term OROR term */ +#line 1453 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 231: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1445 "perly.y" + case 233: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1455 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 232: /* termbinop: term DORDOR term */ -#line 1447 "perly.y" + case 234: /* termbinop: term DORDOR term */ +#line 1457 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 233: /* termbinop: term MATCHOP term */ -#line 1449 "perly.y" + case 235: /* termbinop: term MATCHOP term */ +#line 1459 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 234: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1451 "perly.y" + case 236: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1461 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 235: /* termrelop: relopchain */ -#line 1455 "perly.y" + case 237: /* termrelop: relopchain */ +#line 1465 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 236: /* termrelop: term NCRELOP term */ -#line 1457 "perly.y" + case 238: /* termrelop: term NCRELOP term */ +#line 1467 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 237: /* termrelop: termrelop NCRELOP */ -#line 1459 "perly.y" + case 239: /* termrelop: termrelop NCRELOP */ +#line 1469 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 238: /* termrelop: termrelop CHRELOP */ -#line 1461 "perly.y" + case 240: /* termrelop: termrelop CHRELOP */ +#line 1471 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 239: /* termrelop: term PLUGIN_REL_OP term */ -#line 1463 "perly.y" + case 241: /* termrelop: term PLUGIN_REL_OP term */ +#line 1473 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 240: /* relopchain: term CHRELOP term */ -#line 1467 "perly.y" + case 242: /* relopchain: term CHRELOP term */ +#line 1477 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 241: /* relopchain: relopchain CHRELOP term */ -#line 1469 "perly.y" + case 243: /* relopchain: relopchain CHRELOP term */ +#line 1479 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 242: /* termeqop: eqopchain */ -#line 1473 "perly.y" + case 244: /* termeqop: eqopchain */ +#line 1483 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 243: /* termeqop: term NCEQOP term */ -#line 1475 "perly.y" + case 245: /* termeqop: term NCEQOP term */ +#line 1485 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 244: /* termeqop: termeqop NCEQOP */ -#line 1477 "perly.y" + case 246: /* termeqop: termeqop NCEQOP */ +#line 1487 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 245: /* termeqop: termeqop CHEQOP */ -#line 1479 "perly.y" + case 247: /* termeqop: termeqop CHEQOP */ +#line 1489 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 246: /* eqopchain: term CHEQOP term */ -#line 1483 "perly.y" + case 248: /* eqopchain: term CHEQOP term */ +#line 1493 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 247: /* eqopchain: eqopchain CHEQOP term */ -#line 1485 "perly.y" + case 249: /* eqopchain: eqopchain CHEQOP term */ +#line 1495 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 248: /* termunop: PERLY_MINUS term */ -#line 1490 "perly.y" + case 250: /* termunop: PERLY_MINUS term */ +#line 1500 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 249: /* termunop: PERLY_PLUS term */ -#line 1492 "perly.y" + case 251: /* termunop: PERLY_PLUS term */ +#line 1502 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 250: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1495 "perly.y" + case 252: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1505 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 251: /* termunop: PERLY_TILDE term */ -#line 1497 "perly.y" + case 253: /* termunop: PERLY_TILDE term */ +#line 1507 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 252: /* termunop: term POSTINC */ -#line 1499 "perly.y" + case 254: /* termunop: term POSTINC */ +#line 1509 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 253: /* termunop: term POSTDEC */ -#line 1502 "perly.y" + case 255: /* termunop: term POSTDEC */ +#line 1512 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 254: /* termunop: term POSTJOIN */ -#line 1505 "perly.y" + case 256: /* termunop: term POSTJOIN */ +#line 1515 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1651,60 +1651,60 @@ case 2: /* @1: %empty */ break; - case 255: /* termunop: PREINC term */ -#line 1516 "perly.y" + case 257: /* termunop: PREINC term */ +#line 1526 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 256: /* termunop: PREDEC term */ -#line 1519 "perly.y" + case 258: /* termunop: PREDEC term */ +#line 1529 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 257: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1527 "perly.y" + case 259: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1537 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 258: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1529 "perly.y" + case 260: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1539 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 259: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1531 "perly.y" + case 261: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1541 "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 260: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1534 "perly.y" + case 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1544 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 261: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1536 "perly.y" + case 263: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1546 "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 262: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1539 "perly.y" + case 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1549 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 263: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1541 "perly.y" + case 265: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1551 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1712,104 +1712,104 @@ case 2: /* @1: %empty */ break; - case 264: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1546 "perly.y" + case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1556 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 265: /* termdo: KW_DO term */ -#line 1551 "perly.y" + case 267: /* termdo: KW_DO term */ +#line 1561 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 266: /* termdo: KW_DO block */ -#line 1553 "perly.y" + case 268: /* termdo: KW_DO block */ +#line 1563 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 271: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1561 "perly.y" + case 273: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1571 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 272: /* term: REFGEN term */ -#line 1563 "perly.y" + case 274: /* term: REFGEN term */ +#line 1573 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 273: /* term: myattrterm */ -#line 1565 "perly.y" + case 275: /* term: myattrterm */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 274: /* term: KW_LOCAL term */ -#line 1567 "perly.y" + case 276: /* term: KW_LOCAL term */ +#line 1577 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 275: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1569 "perly.y" + case 277: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1579 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 276: /* term: QWLIST */ -#line 1571 "perly.y" + case 278: /* term: QWLIST */ +#line 1581 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 277: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1573 "perly.y" + case 279: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1583 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 278: /* term: scalar */ -#line 1575 "perly.y" + case 280: /* term: scalar */ +#line 1585 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 279: /* term: star */ -#line 1577 "perly.y" + case 281: /* term: star */ +#line 1587 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 280: /* term: hsh */ -#line 1579 "perly.y" + case 282: /* term: hsh */ +#line 1589 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 281: /* term: ary */ -#line 1581 "perly.y" + case 283: /* term: ary */ +#line 1591 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: arylen */ -#line 1583 "perly.y" + case 284: /* term: arylen */ +#line 1593 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 283: /* term: subscripted */ -#line 1585 "perly.y" + case 285: /* term: subscripted */ +#line 1595 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1587 "perly.y" + case 286: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1597 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1822,8 +1822,8 @@ case 2: /* @1: %empty */ break; - case 285: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1597 "perly.y" + case 287: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1607 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1836,8 +1836,8 @@ case 2: /* @1: %empty */ break; - case 286: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1607 "perly.y" + case 288: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1617 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1850,8 +1850,8 @@ case 2: /* @1: %empty */ break; - case 287: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1617 "perly.y" + case 289: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1627 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1864,27 +1864,27 @@ case 2: /* @1: %empty */ break; - case 288: /* term: THING */ -#line 1627 "perly.y" + case 290: /* term: THING */ +#line 1637 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 289: /* term: amper */ -#line 1629 "perly.y" + case 291: /* term: amper */ +#line 1639 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 290: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1631 "perly.y" + case 292: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1641 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 291: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1634 "perly.y" + case 293: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1644 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1892,153 +1892,153 @@ case 2: /* @1: %empty */ break; - case 292: /* term: NOAMP subname optlistexpr */ -#line 1639 "perly.y" + case 294: /* term: NOAMP subname optlistexpr */ +#line 1649 "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 293: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1643 "perly.y" + case 295: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1653 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 294: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1645 "perly.y" + case 296: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1655 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 295: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1647 "perly.y" + case 297: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1657 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 296: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1649 "perly.y" + case 298: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1659 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 297: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1652 "perly.y" + case 299: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1662 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 298: /* term: LOOPEX */ -#line 1654 "perly.y" + case 300: /* term: LOOPEX */ +#line 1664 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 299: /* term: LOOPEX term */ -#line 1657 "perly.y" + case 301: /* term: LOOPEX term */ +#line 1667 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 300: /* term: NOTOP listexpr */ -#line 1659 "perly.y" + case 302: /* term: NOTOP listexpr */ +#line 1669 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 301: /* term: UNIOP */ -#line 1661 "perly.y" + case 303: /* term: UNIOP */ +#line 1671 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 302: /* term: UNIOP block */ -#line 1663 "perly.y" + case 304: /* term: UNIOP block */ +#line 1673 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 303: /* term: UNIOP term */ -#line 1665 "perly.y" + case 305: /* term: UNIOP term */ +#line 1675 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 304: /* term: KW_REQUIRE */ -#line 1667 "perly.y" + case 306: /* term: KW_REQUIRE */ +#line 1677 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 305: /* term: KW_REQUIRE term */ -#line 1669 "perly.y" + case 307: /* term: KW_REQUIRE term */ +#line 1679 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 306: /* term: UNIOPSUB */ -#line 1671 "perly.y" + case 308: /* term: UNIOPSUB */ +#line 1681 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 307: /* term: UNIOPSUB term */ -#line 1673 "perly.y" + case 309: /* term: UNIOPSUB term */ +#line 1683 "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 308: /* term: FUNC0 */ -#line 1676 "perly.y" + case 310: /* term: FUNC0 */ +#line 1686 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 309: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1678 "perly.y" + case 311: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1688 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 310: /* term: FUNC0OP */ -#line 1680 "perly.y" + case 312: /* term: FUNC0OP */ +#line 1690 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 311: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1682 "perly.y" + case 313: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1692 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 312: /* term: FUNC0SUB */ -#line 1684 "perly.y" + case 314: /* term: FUNC0SUB */ +#line 1694 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 313: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1686 "perly.y" + case 315: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1696 "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 314: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1690 "perly.y" + case 316: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1700 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 315: /* @23: %empty */ -#line 1692 "perly.y" + case 317: /* @23: %empty */ +#line 1702 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2052,68 +2052,68 @@ case 2: /* @1: %empty */ break; - case 316: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1703 "perly.y" + case 318: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1713 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 320: /* myattrterm: KW_MY myterm myattrlist */ -#line 1712 "perly.y" + case 322: /* myattrterm: KW_MY myterm myattrlist */ +#line 1722 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 321: /* myattrterm: KW_MY myterm */ -#line 1714 "perly.y" + case 323: /* myattrterm: KW_MY myterm */ +#line 1724 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 322: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1716 "perly.y" + case 324: /* myattrterm: KW_MY REFGEN myterm myattrlist */ +#line 1726 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 323: /* myattrterm: KW_MY REFGEN term */ -#line 1718 "perly.y" + case 325: /* myattrterm: KW_MY REFGEN term */ +#line 1728 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 324: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1723 "perly.y" + case 326: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1733 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 325: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1725 "perly.y" + case 327: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1735 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 326: /* myterm: scalar */ -#line 1728 "perly.y" + case 328: /* myterm: scalar */ +#line 1738 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 327: /* myterm: hsh */ -#line 1730 "perly.y" + case 329: /* myterm: hsh */ +#line 1740 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 328: /* myterm: ary */ -#line 1732 "perly.y" + case 330: /* myterm: ary */ +#line 1742 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 329: /* fieldvar: scalar */ -#line 1737 "perly.y" + case 331: /* fieldvar: scalar */ +#line 1747 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2121,8 +2121,8 @@ case 2: /* @1: %empty */ break; - case 330: /* fieldvar: hsh */ -#line 1742 "perly.y" + case 332: /* fieldvar: hsh */ +#line 1752 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2130,8 +2130,8 @@ case 2: /* @1: %empty */ break; - case 331: /* fieldvar: ary */ -#line 1747 "perly.y" + case 333: /* fieldvar: ary */ +#line 1757 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2139,20 +2139,20 @@ case 2: /* @1: %empty */ break; - case 332: /* optfieldattrlist: COLONATTR THING */ -#line 1755 "perly.y" + case 334: /* optfieldattrlist: COLONATTR THING */ +#line 1765 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 333: /* optfieldattrlist: COLONATTR */ -#line 1757 "perly.y" + case 335: /* optfieldattrlist: COLONATTR */ +#line 1767 "perly.y" { (yyval.opval) = NULL; } break; - case 335: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1763 "perly.y" + case 337: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ +#line 1773 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2162,8 +2162,8 @@ case 2: /* @1: %empty */ break; - case 336: /* $@24: %empty */ -#line 1770 "perly.y" + case 338: /* $@24: %empty */ +#line 1780 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2174,8 +2174,8 @@ case 2: /* @1: %empty */ break; - case 337: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ -#line 1778 "perly.y" + case 339: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ +#line 1788 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2184,122 +2184,122 @@ case 2: /* @1: %empty */ break; - case 343: /* optrepl: PERLY_SLASH expr */ -#line 1798 "perly.y" + case 345: /* optrepl: PERLY_SLASH expr */ +#line 1808 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 344: /* my_scalar: scalar */ -#line 1804 "perly.y" + case 346: /* my_scalar: scalar */ +#line 1814 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 345: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1809 "perly.y" + case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1819 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 346: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1811 "perly.y" + case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1821 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 348: /* my_list_of_scalars: list_of_scalars */ -#line 1818 "perly.y" + case 350: /* my_list_of_scalars: list_of_scalars */ +#line 1828 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 356: /* amper: PERLY_AMPERSAND indirob */ -#line 1835 "perly.y" + case 358: /* amper: PERLY_AMPERSAND indirob */ +#line 1845 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 357: /* scalar: PERLY_DOLLAR indirob */ -#line 1839 "perly.y" + case 359: /* scalar: PERLY_DOLLAR indirob */ +#line 1849 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 358: /* ary: PERLY_SNAIL indirob */ -#line 1843 "perly.y" + case 360: /* ary: PERLY_SNAIL indirob */ +#line 1853 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 359: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1849 "perly.y" + case 361: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1859 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 360: /* arylen: DOLSHARP indirob */ -#line 1855 "perly.y" + case 362: /* arylen: DOLSHARP indirob */ +#line 1865 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 361: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1857 "perly.y" + case 363: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1867 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 362: /* star: PERLY_STAR indirob */ -#line 1861 "perly.y" + case 364: /* star: PERLY_STAR indirob */ +#line 1871 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 364: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1866 "perly.y" + case 366: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1876 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 366: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1871 "perly.y" + case 368: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1881 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 368: /* gelem: term ARROW PERLY_STAR */ -#line 1876 "perly.y" + case 370: /* gelem: term ARROW PERLY_STAR */ +#line 1886 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 369: /* indirob: BAREWORD */ -#line 1881 "perly.y" + case 371: /* indirob: BAREWORD */ +#line 1891 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 370: /* indirob: scalar */ -#line 1883 "perly.y" + case 372: /* indirob: scalar */ +#line 1893 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 371: /* indirob: block */ -#line 1885 "perly.y" + case 373: /* indirob: block */ +#line 1895 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 372: /* indirob: PRIVATEREF */ -#line 1888 "perly.y" + case 374: /* indirob: PRIVATEREF */ +#line 1898 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2311,6 +2311,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y + * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 699c5953a0b4..9d924730d7d2 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y + * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index ac010e98127c..c3e49e923ab2 100644 --- a/perly.tab +++ b/perly.tab @@ -159,127 +159,129 @@ enum yysymbol_kind_t YYSYMBOL_bare_statement_expression = 148, /* bare_statement_expression */ YYSYMBOL_bare_statement_field_declaration = 149, /* bare_statement_field_declaration */ YYSYMBOL_bare_statement_for = 150, /* bare_statement_for */ - YYSYMBOL_151_9 = 151, /* $@9 */ - YYSYMBOL_152_10 = 152, /* $@10 */ - YYSYMBOL_153_11 = 153, /* @11 */ - YYSYMBOL_bare_statement_format = 154, /* bare_statement_format */ - YYSYMBOL_bare_statement_given = 155, /* bare_statement_given */ - YYSYMBOL_bare_statement_if = 156, /* bare_statement_if */ - YYSYMBOL_bare_statement_null = 157, /* bare_statement_null */ - YYSYMBOL_bare_statement_package_declaration = 158, /* bare_statement_package_declaration */ - YYSYMBOL_bare_statement_package_definition = 159, /* bare_statement_package_definition */ - YYSYMBOL_160_12 = 160, /* $@12 */ - YYSYMBOL_bare_statement_phaser = 161, /* bare_statement_phaser */ - YYSYMBOL_162_13 = 162, /* $@13 */ - YYSYMBOL_bare_statement_sub_signature = 163, /* bare_statement_sub_signature */ - YYSYMBOL_164_14 = 164, /* $@14 */ - YYSYMBOL_bare_statement_sub_traditional = 165, /* bare_statement_sub_traditional */ - YYSYMBOL_166_15 = 166, /* $@15 */ - YYSYMBOL_bare_statement_try_catch = 167, /* bare_statement_try_catch */ - YYSYMBOL_168_16 = 168, /* $@16 */ - YYSYMBOL_bare_statement_unless = 169, /* bare_statement_unless */ - YYSYMBOL_bare_statement_until = 170, /* bare_statement_until */ - YYSYMBOL_bare_statement_utilize = 171, /* bare_statement_utilize */ - YYSYMBOL_172_17 = 172, /* $@17 */ - YYSYMBOL_bare_statement_when = 173, /* bare_statement_when */ - YYSYMBOL_bare_statement_while = 174, /* bare_statement_while */ - YYSYMBOL_bare_statement_yadayada = 175, /* bare_statement_yadayada */ - YYSYMBOL_sigsub_or_method_named = 176, /* sigsub_or_method_named */ - YYSYMBOL_block = 177, /* block */ - YYSYMBOL_empty = 178, /* empty */ - YYSYMBOL_formblock = 179, /* formblock */ - YYSYMBOL_remember = 180, /* remember */ - YYSYMBOL_mblock = 181, /* mblock */ - YYSYMBOL_mremember = 182, /* mremember */ - YYSYMBOL_catch_paren = 183, /* catch_paren */ - YYSYMBOL_184_18 = 184, /* $@18 */ - YYSYMBOL_185_19 = 185, /* $@19 */ - YYSYMBOL_stmtseq = 186, /* stmtseq */ - YYSYMBOL_formstmtseq = 187, /* formstmtseq */ - YYSYMBOL_fullstmt = 188, /* fullstmt */ - YYSYMBOL_labfullstmt = 189, /* labfullstmt */ - YYSYMBOL_barestmt = 190, /* barestmt */ - YYSYMBOL_formline = 191, /* formline */ - YYSYMBOL_formarg = 192, /* formarg */ - YYSYMBOL_condition = 193, /* condition */ - YYSYMBOL_sideff = 194, /* sideff */ - YYSYMBOL_else = 195, /* else */ - YYSYMBOL_cont = 196, /* cont */ - YYSYMBOL_finally = 197, /* finally */ - YYSYMBOL_mintro = 198, /* mintro */ - YYSYMBOL_nexpr = 199, /* nexpr */ - YYSYMBOL_texpr = 200, /* texpr */ - YYSYMBOL_iexpr = 201, /* iexpr */ - YYSYMBOL_mexpr = 202, /* mexpr */ - YYSYMBOL_mnexpr = 203, /* mnexpr */ - YYSYMBOL_formname = 204, /* formname */ - YYSYMBOL_startsub = 205, /* startsub */ - YYSYMBOL_startanonsub = 206, /* startanonsub */ - YYSYMBOL_startanonmethod = 207, /* startanonmethod */ - YYSYMBOL_startformsub = 208, /* startformsub */ - YYSYMBOL_subname = 209, /* subname */ - YYSYMBOL_proto = 210, /* proto */ - YYSYMBOL_subattrlist = 211, /* subattrlist */ - YYSYMBOL_myattrlist = 212, /* myattrlist */ - YYSYMBOL_sigvar = 213, /* sigvar */ - YYSYMBOL_sigslurpsigil = 214, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 215, /* sigslurpelem */ - YYSYMBOL_optcolon = 216, /* optcolon */ - YYSYMBOL_sigscalarelem = 217, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 218, /* optsigscalardefault */ - YYSYMBOL_sigelem = 219, /* sigelem */ - YYSYMBOL_siglist = 220, /* siglist */ - YYSYMBOL_optsiglist = 221, /* optsiglist */ - YYSYMBOL_optsubsignature = 222, /* optsubsignature */ - YYSYMBOL_subsignature = 223, /* subsignature */ - YYSYMBOL_subsigguts = 224, /* subsigguts */ - YYSYMBOL_225_20 = 225, /* $@20 */ - YYSYMBOL_optsubbody = 226, /* optsubbody */ - YYSYMBOL_subbody = 227, /* subbody */ - YYSYMBOL_optsigsubbody = 228, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 229, /* sigsubbody */ - YYSYMBOL_230_21 = 230, /* $@21 */ - YYSYMBOL_expr = 231, /* expr */ - YYSYMBOL_listexpr = 232, /* listexpr */ - YYSYMBOL_listop = 233, /* listop */ - YYSYMBOL_234_22 = 234, /* @22 */ - YYSYMBOL_methodname = 235, /* methodname */ - YYSYMBOL_subscripted = 236, /* subscripted */ - YYSYMBOL_termbinop = 237, /* termbinop */ - YYSYMBOL_termrelop = 238, /* termrelop */ - YYSYMBOL_relopchain = 239, /* relopchain */ - YYSYMBOL_termeqop = 240, /* termeqop */ - YYSYMBOL_eqopchain = 241, /* eqopchain */ - YYSYMBOL_termunop = 242, /* termunop */ - YYSYMBOL_anonymous = 243, /* anonymous */ - YYSYMBOL_termdo = 244, /* termdo */ - YYSYMBOL_term = 245, /* term */ - YYSYMBOL_246_23 = 246, /* @23 */ - YYSYMBOL_myattrterm = 247, /* myattrterm */ - YYSYMBOL_myterm = 248, /* myterm */ - YYSYMBOL_fieldvar = 249, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 250, /* optfieldattrlist */ - YYSYMBOL_fielddecl = 251, /* fielddecl */ - YYSYMBOL_252_24 = 252, /* $@24 */ - YYSYMBOL_optlistexpr = 253, /* optlistexpr */ - YYSYMBOL_optexpr = 254, /* optexpr */ - YYSYMBOL_optrepl = 255, /* optrepl */ - YYSYMBOL_my_scalar = 256, /* my_scalar */ - YYSYMBOL_list_of_scalars = 257, /* list_of_scalars */ - YYSYMBOL_my_list_of_scalars = 258, /* my_list_of_scalars */ - YYSYMBOL_my_var = 259, /* my_var */ - YYSYMBOL_refgen_topic = 260, /* refgen_topic */ - YYSYMBOL_my_refgen = 261, /* my_refgen */ - YYSYMBOL_amper = 262, /* amper */ - YYSYMBOL_scalar = 263, /* scalar */ - YYSYMBOL_ary = 264, /* ary */ - YYSYMBOL_hsh = 265, /* hsh */ - YYSYMBOL_arylen = 266, /* arylen */ - YYSYMBOL_star = 267, /* star */ - YYSYMBOL_sliceme = 268, /* sliceme */ - YYSYMBOL_kvslice = 269, /* kvslice */ - YYSYMBOL_gelem = 270, /* gelem */ - YYSYMBOL_indirob = 271 /* indirob */ + YYSYMBOL_bare_statement_for_control = 151, /* bare_statement_for_control */ + YYSYMBOL_152_9 = 152, /* $@9 */ + YYSYMBOL_153_10 = 153, /* $@10 */ + YYSYMBOL_bare_statement_for_over = 154, /* bare_statement_for_over */ + YYSYMBOL_155_11 = 155, /* @11 */ + YYSYMBOL_bare_statement_format = 156, /* bare_statement_format */ + YYSYMBOL_bare_statement_given = 157, /* bare_statement_given */ + YYSYMBOL_bare_statement_if = 158, /* bare_statement_if */ + YYSYMBOL_bare_statement_null = 159, /* bare_statement_null */ + YYSYMBOL_bare_statement_package_declaration = 160, /* bare_statement_package_declaration */ + YYSYMBOL_bare_statement_package_definition = 161, /* bare_statement_package_definition */ + YYSYMBOL_162_12 = 162, /* $@12 */ + YYSYMBOL_bare_statement_phaser = 163, /* bare_statement_phaser */ + YYSYMBOL_164_13 = 164, /* $@13 */ + YYSYMBOL_bare_statement_sub_signature = 165, /* bare_statement_sub_signature */ + YYSYMBOL_166_14 = 166, /* $@14 */ + YYSYMBOL_bare_statement_sub_traditional = 167, /* bare_statement_sub_traditional */ + YYSYMBOL_168_15 = 168, /* $@15 */ + YYSYMBOL_bare_statement_try_catch = 169, /* bare_statement_try_catch */ + YYSYMBOL_170_16 = 170, /* $@16 */ + YYSYMBOL_bare_statement_unless = 171, /* bare_statement_unless */ + YYSYMBOL_bare_statement_until = 172, /* bare_statement_until */ + YYSYMBOL_bare_statement_utilize = 173, /* bare_statement_utilize */ + YYSYMBOL_174_17 = 174, /* $@17 */ + YYSYMBOL_bare_statement_when = 175, /* bare_statement_when */ + YYSYMBOL_bare_statement_while = 176, /* bare_statement_while */ + YYSYMBOL_bare_statement_yadayada = 177, /* bare_statement_yadayada */ + YYSYMBOL_sigsub_or_method_named = 178, /* sigsub_or_method_named */ + YYSYMBOL_block = 179, /* block */ + YYSYMBOL_empty = 180, /* empty */ + YYSYMBOL_formblock = 181, /* formblock */ + YYSYMBOL_remember = 182, /* remember */ + YYSYMBOL_mblock = 183, /* mblock */ + YYSYMBOL_mremember = 184, /* mremember */ + YYSYMBOL_catch_paren = 185, /* catch_paren */ + YYSYMBOL_186_18 = 186, /* $@18 */ + YYSYMBOL_187_19 = 187, /* $@19 */ + YYSYMBOL_stmtseq = 188, /* stmtseq */ + YYSYMBOL_formstmtseq = 189, /* formstmtseq */ + YYSYMBOL_fullstmt = 190, /* fullstmt */ + YYSYMBOL_labfullstmt = 191, /* labfullstmt */ + YYSYMBOL_barestmt = 192, /* barestmt */ + YYSYMBOL_formline = 193, /* formline */ + YYSYMBOL_formarg = 194, /* formarg */ + YYSYMBOL_condition = 195, /* condition */ + YYSYMBOL_sideff = 196, /* sideff */ + YYSYMBOL_else = 197, /* else */ + YYSYMBOL_cont = 198, /* cont */ + YYSYMBOL_finally = 199, /* finally */ + YYSYMBOL_mintro = 200, /* mintro */ + YYSYMBOL_nexpr = 201, /* nexpr */ + YYSYMBOL_texpr = 202, /* texpr */ + YYSYMBOL_iexpr = 203, /* iexpr */ + YYSYMBOL_mexpr = 204, /* mexpr */ + YYSYMBOL_mnexpr = 205, /* mnexpr */ + YYSYMBOL_formname = 206, /* formname */ + YYSYMBOL_startsub = 207, /* startsub */ + YYSYMBOL_startanonsub = 208, /* startanonsub */ + YYSYMBOL_startanonmethod = 209, /* startanonmethod */ + YYSYMBOL_startformsub = 210, /* startformsub */ + YYSYMBOL_subname = 211, /* subname */ + YYSYMBOL_proto = 212, /* proto */ + YYSYMBOL_subattrlist = 213, /* subattrlist */ + YYSYMBOL_myattrlist = 214, /* myattrlist */ + YYSYMBOL_sigvar = 215, /* sigvar */ + YYSYMBOL_sigslurpsigil = 216, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 217, /* sigslurpelem */ + YYSYMBOL_optcolon = 218, /* optcolon */ + YYSYMBOL_sigscalarelem = 219, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 220, /* optsigscalardefault */ + YYSYMBOL_sigelem = 221, /* sigelem */ + YYSYMBOL_siglist = 222, /* siglist */ + YYSYMBOL_optsiglist = 223, /* optsiglist */ + YYSYMBOL_optsubsignature = 224, /* optsubsignature */ + YYSYMBOL_subsignature = 225, /* subsignature */ + YYSYMBOL_subsigguts = 226, /* subsigguts */ + YYSYMBOL_227_20 = 227, /* $@20 */ + YYSYMBOL_optsubbody = 228, /* optsubbody */ + YYSYMBOL_subbody = 229, /* subbody */ + YYSYMBOL_optsigsubbody = 230, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 231, /* sigsubbody */ + YYSYMBOL_232_21 = 232, /* $@21 */ + YYSYMBOL_expr = 233, /* expr */ + YYSYMBOL_listexpr = 234, /* listexpr */ + YYSYMBOL_listop = 235, /* listop */ + YYSYMBOL_236_22 = 236, /* @22 */ + YYSYMBOL_methodname = 237, /* methodname */ + YYSYMBOL_subscripted = 238, /* subscripted */ + YYSYMBOL_termbinop = 239, /* termbinop */ + YYSYMBOL_termrelop = 240, /* termrelop */ + YYSYMBOL_relopchain = 241, /* relopchain */ + YYSYMBOL_termeqop = 242, /* termeqop */ + YYSYMBOL_eqopchain = 243, /* eqopchain */ + YYSYMBOL_termunop = 244, /* termunop */ + YYSYMBOL_anonymous = 245, /* anonymous */ + YYSYMBOL_termdo = 246, /* termdo */ + YYSYMBOL_term = 247, /* term */ + YYSYMBOL_248_23 = 248, /* @23 */ + YYSYMBOL_myattrterm = 249, /* myattrterm */ + YYSYMBOL_myterm = 250, /* myterm */ + YYSYMBOL_fieldvar = 251, /* fieldvar */ + YYSYMBOL_optfieldattrlist = 252, /* optfieldattrlist */ + YYSYMBOL_fielddecl = 253, /* fielddecl */ + YYSYMBOL_254_24 = 254, /* $@24 */ + YYSYMBOL_optlistexpr = 255, /* optlistexpr */ + YYSYMBOL_optexpr = 256, /* optexpr */ + YYSYMBOL_optrepl = 257, /* optrepl */ + YYSYMBOL_my_scalar = 258, /* my_scalar */ + YYSYMBOL_list_of_scalars = 259, /* list_of_scalars */ + YYSYMBOL_my_list_of_scalars = 260, /* my_list_of_scalars */ + YYSYMBOL_my_var = 261, /* my_var */ + YYSYMBOL_refgen_topic = 262, /* refgen_topic */ + YYSYMBOL_my_refgen = 263, /* my_refgen */ + YYSYMBOL_amper = 264, /* amper */ + YYSYMBOL_scalar = 265, /* scalar */ + YYSYMBOL_ary = 266, /* ary */ + YYSYMBOL_hsh = 267, /* hsh */ + YYSYMBOL_arylen = 268, /* arylen */ + YYSYMBOL_star = 269, /* star */ + YYSYMBOL_sliceme = 270, /* sliceme */ + YYSYMBOL_kvslice = 271, /* kvslice */ + YYSYMBOL_gelem = 272, /* gelem */ + YYSYMBOL_indirob = 273 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -288,16 +290,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3773 +#define YYLAST 3765 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 139 +#define YYNNTS 141 /* YYNRULES -- Number of rules. */ -#define YYNRULES 372 +#define YYNRULES 374 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 699 +#define YYNSTATES 701 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -359,44 +361,44 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 188, 188, 187, 199, 198, 209, 208, 222, 221, - 235, 234, 248, 247, 258, 257, 270, 278, 300, 294, - 317, 325, 333, 340, 353, 358, 348, 379, 392, 411, - 427, 423, 452, 474, 488, 504, 517, 531, 539, 560, - 555, 575, 573, 610, 607, 640, 637, 666, 661, 683, - 697, 714, 712, 730, 742, 757, 766, 768, 773, 781, - 785, 792, 797, 804, 810, 814, 816, 813, 823, 824, - 834, 835, 844, 848, 852, 859, 876, 877, 878, 879, - 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, - 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, - 900, 904, 922, 923, 927, 931, 933, 935, 937, 939, - 941, 943, 946, 952, 953, 958, 969, 970, 975, 977, - 982, 989, 990, 994, 998, 1002, 1007, 1011, 1015, 1016, - 1019, 1025, 1030, 1035, 1041, 1042, 1047, 1048, 1053, 1054, - 1061, 1066, 1068, 1079, 1081, 1086, 1088, 1092, 1097, 1101, - 1107, 1109, 1115, 1125, 1138, 1140, 1145, 1147, 1155, 1156, - 1157, 1162, 1163, 1168, 1169, 1173, 1177, 1177, 1210, 1211, - 1216, 1228, 1229, 1234, 1233, 1246, 1248, 1250, 1252, 1254, - 1258, 1260, 1265, 1269, 1273, 1277, 1281, 1287, 1292, 1298, - 1304, 1310, 1316, 1318, 1320, 1323, 1322, 1336, 1337, 1341, - 1345, 1348, 1353, 1358, 1361, 1365, 1369, 1375, 1383, 1390, - 1396, 1398, 1400, 1405, 1407, 1409, 1411, 1413, 1415, 1420, - 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, - 1442, 1444, 1446, 1448, 1450, 1454, 1456, 1458, 1460, 1462, - 1466, 1468, 1472, 1474, 1476, 1478, 1482, 1484, 1489, 1491, - 1494, 1496, 1498, 1501, 1504, 1515, 1518, 1526, 1528, 1530, - 1533, 1535, 1538, 1540, 1545, 1550, 1552, 1556, 1557, 1558, - 1559, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, - 1578, 1580, 1582, 1584, 1586, 1596, 1606, 1616, 1626, 1628, - 1630, 1633, 1638, 1642, 1644, 1646, 1648, 1651, 1653, 1656, - 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1675, 1677, - 1679, 1681, 1683, 1685, 1689, 1692, 1691, 1704, 1705, 1706, - 1711, 1713, 1715, 1717, 1722, 1724, 1727, 1729, 1731, 1736, - 1741, 1746, 1754, 1756, 1758, 1762, 1770, 1769, 1787, 1788, - 1792, 1793, 1797, 1798, 1803, 1808, 1810, 1814, 1817, 1821, - 1822, 1823, 1826, 1827, 1830, 1831, 1834, 1838, 1842, 1848, - 1854, 1856, 1860, 1864, 1865, 1869, 1870, 1874, 1875, 1880, - 1882, 1884, 1887 + 0, 190, 190, 189, 201, 200, 211, 210, 224, 223, + 237, 236, 250, 249, 260, 259, 272, 280, 302, 296, + 319, 327, 335, 342, 350, 351, 360, 365, 355, 389, + 402, 421, 437, 433, 462, 484, 498, 514, 527, 541, + 549, 570, 565, 585, 583, 620, 617, 650, 647, 676, + 671, 693, 707, 724, 722, 740, 752, 767, 776, 778, + 783, 791, 795, 802, 807, 814, 820, 824, 826, 823, + 833, 834, 844, 845, 854, 858, 862, 869, 886, 887, + 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 908, 909, 910, 914, 932, 933, 937, 941, 943, 945, + 947, 949, 951, 953, 956, 962, 963, 968, 979, 980, + 985, 987, 992, 999, 1000, 1004, 1008, 1012, 1017, 1021, + 1025, 1026, 1029, 1035, 1040, 1045, 1051, 1052, 1057, 1058, + 1063, 1064, 1071, 1076, 1078, 1089, 1091, 1096, 1098, 1102, + 1107, 1111, 1117, 1119, 1125, 1135, 1148, 1150, 1155, 1157, + 1165, 1166, 1167, 1172, 1173, 1178, 1179, 1183, 1187, 1187, + 1220, 1221, 1226, 1238, 1239, 1244, 1243, 1256, 1258, 1260, + 1262, 1264, 1268, 1270, 1275, 1279, 1283, 1287, 1291, 1297, + 1302, 1308, 1314, 1320, 1326, 1328, 1330, 1333, 1332, 1346, + 1347, 1351, 1355, 1358, 1363, 1368, 1371, 1375, 1379, 1385, + 1393, 1400, 1406, 1408, 1410, 1415, 1417, 1419, 1421, 1423, + 1425, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, + 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1464, 1466, 1468, + 1470, 1472, 1476, 1478, 1482, 1484, 1486, 1488, 1492, 1494, + 1499, 1501, 1504, 1506, 1508, 1511, 1514, 1525, 1528, 1536, + 1538, 1540, 1543, 1545, 1548, 1550, 1555, 1560, 1562, 1566, + 1567, 1568, 1569, 1570, 1572, 1574, 1576, 1578, 1580, 1582, + 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1606, 1616, 1626, + 1636, 1638, 1640, 1643, 1648, 1652, 1654, 1656, 1658, 1661, + 1663, 1666, 1668, 1670, 1672, 1674, 1676, 1678, 1680, 1682, + 1685, 1687, 1689, 1691, 1693, 1695, 1699, 1702, 1701, 1714, + 1715, 1716, 1721, 1723, 1725, 1727, 1732, 1734, 1737, 1739, + 1741, 1746, 1751, 1756, 1764, 1766, 1768, 1772, 1780, 1779, + 1797, 1798, 1802, 1803, 1807, 1808, 1813, 1818, 1820, 1824, + 1827, 1831, 1832, 1833, 1836, 1837, 1840, 1841, 1844, 1848, + 1852, 1858, 1864, 1866, 1870, 1874, 1875, 1879, 1880, 1884, + 1885, 1890, 1892, 1894, 1897 }; #endif @@ -443,7 +445,8 @@ 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", - "bare_statement_field_declaration", "bare_statement_for", "$@9", "$@10", + "bare_statement_field_declaration", "bare_statement_for", + "bare_statement_for_control", "$@9", "$@10", "bare_statement_for_over", "@11", "bare_statement_format", "bare_statement_given", "bare_statement_if", "bare_statement_null", "bare_statement_package_declaration", @@ -479,12 +482,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-581) +#define YYPACT_NINF (-577) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-371) +#define YYTABLE_NINF (-373) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -493,76 +496,77 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 725, -581, -581, -581, -581, -581, -581, -581, 17, -581, - 3128, 74, 2070, 1953, -581, -581, -581, -581, 381, 3128, - 381, 3128, 381, 3128, 381, 381, 3128, 67, 3128, 2399, - -581, -581, -581, -581, 381, 381, -581, -581, 75, -22, - -581, 3128, -581, -581, 3128, -12, 0, -60, 2399, 2318, - 74, 381, 3128, 47, 3128, 3128, 3128, 3128, 3128, 3128, - 2480, -581, 21, 152, -581, 13, -581, -63, 60, -47, - 86, -581, -581, -581, 655, -581, -581, 69, 167, 200, - 204, -581, 184, 219, 266, 199, -581, -581, -581, -581, - -581, 146, 160, 117, -581, -581, -581, 99, 105, -581, - -581, 74, 228, 228, -581, 47, -581, -581, -581, 151, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -581, 47, 205, -581, 221, 392, - 227, 1953, -581, -581, -581, -581, 832, -581, 41, 949, - -581, -581, -581, -581, -581, 247, -581, 322, -581, 322, - -581, -581, 3624, 3209, 2561, 183, -581, -581, -581, 3624, - -581, 3624, 208, 188, 188, 3128, 138, 194, 3128, 149, - 3624, 74, 655, 154, 2642, 3128, 2318, -581, 3624, 3290, - -581, 152, -581, 2723, 3128, 3128, -581, 265, -581, -581, - 3128, 152, 322, 322, 322, 352, 352, 275, 284, 3128, - 3128, 3128, 3128, 3128, 3128, 3128, 2804, -581, -581, 3128, - -581, -581, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, - 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, - 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, -581, -581, - -581, 3128, 42, 2885, 3128, 3128, 3128, 3128, 3128, 3128, - 3128, -581, 246, 262, 271, 248, -581, -581, -581, 201, - 211, -3, -581, -581, 218, 229, -581, -581, 288, -581, - -581, -581, -581, -581, -581, 74, -581, -581, -581, 3128, - 3128, 3128, 3128, 3128, 3128, -581, -581, -581, -581, -581, - -581, -581, -581, 290, -581, 343, -581, -581, 351, -581, - -581, 2966, 322, 183, 27, 63, 85, -581, 363, 309, - -581, -581, -581, 188, 310, -581, 8, 8, -581, 3128, - 3128, 64, -581, -581, -581, -581, 453, 280, 256, 3128, - 152, 152, 365, -581, 3128, 375, -28, -28, -581, -581, - 3320, 162, 97, -581, 469, 3585, 3565, 3424, 322, 397, - 383, 983, 3320, 3320, 595, 3463, 3463, 3463, 3486, 3486, - 3525, 3546, 3565, 3565, 3585, 3585, 3604, 3643, 383, 397, - 322, 322, 6, 46, 3128, 3128, 342, 364, 366, 369, - -581, 370, 3047, 269, -581, -581, 483, 220, 125, 251, - 132, 260, 139, 268, 1134, -581, -581, 387, 59, 188, - 347, -581, 314, 3128, 3128, 25, 380, 2156, 117, 277, - 3128, 3128, 3128, 3128, -581, -581, 360, -581, 396, -581, - -581, -581, 21, -581, -581, -581, 21, -581, -581, -581, - 320, 290, 41, 19, 491, -581, -581, -581, 409, -581, - 299, -581, -581, 291, 71, -581, 3128, -581, -581, -581, - 507, -581, 209, 3128, 423, -581, -581, 3128, -581, 304, - 289, 226, -581, -581, -581, -581, -581, -581, 620, 3128, - -581, 426, -581, 427, -581, 431, -581, 435, -581, -581, - -581, -581, -581, 73, -581, -581, 323, 21, 324, -581, - 445, 333, -581, -581, -581, 336, -581, -581, -581, -581, - -581, -581, -581, 341, 461, 168, -581, 3128, 344, 359, - 21, 361, 362, 1251, 376, 451, 208, -581, 511, -581, - -581, 188, 3128, 419, -581, 35, -581, -581, -581, 517, - -581, -581, 3128, -581, 439, -581, -581, -581, 234, -581, - 3372, 3128, 521, -581, -581, 404, -581, -581, -581, -581, - 515, -581, -581, -581, 3128, 228, 228, 523, 408, -581, - 3128, 3128, 228, -581, 410, 412, -581, -581, 228, 228, - -581, -581, -581, -581, 3128, 188, -581, 522, 655, 3128, - 415, -581, 21, -581, -581, 421, -581, -581, 465, -581, - -581, 655, 191, 191, 445, 422, 425, 429, 205, 3128, - 3128, 228, 228, 228, -581, -581, 445, 228, 535, 396, - 1368, -581, -581, -581, -581, 655, -581, -581, -581, -581, - 1485, -581, 228, 430, -581, -581, -581, -581, 3128, 228, - 228, -581, 545, 437, 205, 205, 205, -581, 524, -581, - -581, -581, 1602, -581, 34, -581, 1719, -581, 3128, 440, - 205, 205, -581, 228, -581, -581, -581, 441, 74, -581, - -581, 556, 489, -581, -581, 450, 228, -581, -581, -581, - 205, -581, -581, -581, -581, -581, -581, 228, 205, 2237, - -581, 1836, 191, -581, 458, -581, -581, 228, -581 + 725, -577, -577, -577, -577, -577, -577, -577, 40, -577, + 3148, 73, 2090, 1973, -577, -577, -577, -577, 65, 3148, + 65, 3148, 65, 3148, 65, 65, 3148, 3, 3148, 2419, + -577, -577, -577, -577, 65, 65, -577, -577, 86, -37, + -577, 3148, -577, -577, 3148, 1, 31, -55, 2419, 2338, + 73, 65, 3148, 27, 3148, 3148, 3148, 3148, 3148, 3148, + 2500, -577, 178, 115, -577, 13, -577, -43, 56, -2, + 77, -577, -577, -577, 1003, -577, -577, 76, 41, 185, + 207, -577, 208, 247, 252, 218, -577, -577, -577, -577, + -577, 188, 190, 173, -577, -577, -577, 132, 135, -577, + -577, 73, 248, 248, -577, 27, -577, -577, -577, 260, + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -577, 27, 262, -577, + 290, 356, 291, 1973, -577, -577, -577, -577, 852, -577, + 35, 969, -577, -577, -577, -577, -577, 308, -577, 351, + -577, 351, -577, -577, 439, 3229, 2581, 234, -577, -577, + -577, 439, -577, 439, 253, 239, 239, 3148, 199, 245, + 3148, 204, 439, 73, 1003, 205, 2662, 3148, 2338, -577, + 439, 3310, -577, 115, -577, 2743, 3148, 3148, -577, 326, + -577, -577, 3148, 115, 351, 351, 351, 477, 477, 355, + 193, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 2824, -577, + -577, 3148, -577, -577, 3148, 3148, 3148, 3148, 3148, 3148, + 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, + 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, + -577, -577, -577, 3148, 170, 2905, 3148, 3148, 3148, 3148, + 3148, 3148, 3148, -577, 323, 324, 327, 296, -577, -577, + -577, 258, 267, 50, -577, -577, 270, 272, -577, -577, + 341, -577, -577, -577, -577, -577, -577, 73, -577, -577, + -577, 3148, 3148, 3148, 3148, 3148, 3148, -577, -577, -577, + -577, -577, -577, -577, -577, 345, -577, 371, -577, -577, + 392, -577, -577, 2986, 351, 234, 37, 217, 224, -577, + 269, 349, -577, -577, -577, 239, 352, -577, 30, 30, + -577, 3148, 3148, 105, -577, -577, -577, -577, 344, 325, + 283, 3148, 115, 115, 404, -577, 3148, 405, -3, -3, + -577, -577, 3392, 10, 110, -577, 365, 559, 3615, 3496, + 351, 306, 582, 3340, 3392, 3392, 645, 684, 684, 684, + 3535, 3535, 3557, 3596, 3615, 3615, 559, 559, 3575, 3635, + 582, 306, 351, 351, 150, 18, 3148, 3148, 200, 394, + 397, 400, -577, 402, 3067, 288, -577, -577, 395, 233, + 118, 255, 127, 259, 137, 263, 1154, -577, -577, 412, + 42, 239, 378, -577, 346, 3148, 3148, 17, 572, 2176, + 173, 311, 3148, 3148, 3148, 3148, -577, -577, 388, -577, + 425, -577, -577, -577, 178, -577, -577, -577, 178, -577, + -577, -577, 350, 345, 35, 24, 415, -577, -577, -577, + 443, -577, 331, -577, -577, 334, 194, -577, 3148, -577, + -577, -577, 433, -577, 146, 3148, 445, -577, -577, 3148, + -577, 335, 275, 155, -577, -577, -577, -577, -577, -577, + 484, 3148, -577, 454, -577, 458, -577, 460, -577, 461, + -577, -577, -577, -577, -577, 46, -577, -577, 353, 178, + 363, -577, 466, 370, -577, -577, -577, 381, -577, -577, + -577, -577, -577, -577, -577, 364, 481, 79, -577, 3148, + 383, 384, 178, 386, 391, 1271, 393, 427, 253, -577, + 513, -577, -577, 239, 3148, 432, -577, 36, -577, -577, + -577, 524, -577, -577, 3148, -577, 447, -577, -577, -577, + 222, -577, 3444, 3148, 527, -577, -577, 410, -577, -577, + -577, -577, 520, -577, -577, -577, 3148, 248, 248, 529, + 417, -577, 3148, 3148, 248, -577, 418, 421, -577, -577, + 248, 248, -577, -577, -577, -577, 3148, 239, -577, 536, + 1003, 3148, 428, -577, 178, -577, -577, 440, -577, -577, + 482, -577, -577, 1003, 113, 113, 466, 441, 444, 452, + 262, 3148, 3148, 248, 248, 248, -577, -577, 466, 248, + 552, 425, 1388, -577, -577, -577, -577, 1003, -577, -577, + -577, -577, 1505, -577, 248, 455, -577, -577, -577, -577, + 3148, 248, 248, -577, 564, 459, 262, 262, 262, -577, + 544, -577, -577, -577, 1622, -577, 39, -577, 1739, -577, + 3148, 462, 262, 262, -577, 248, -577, -577, -577, 467, + 73, -577, -577, 574, 512, -577, -577, 478, 248, -577, + -577, -577, 262, -577, -577, -577, -577, -577, -577, 248, + 262, 2257, -577, 1856, 113, -577, 479, -577, -577, 248, + -577 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -570,114 +574,117 @@ 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, 61, - 59, 0, 0, 0, 59, 166, 1, 59, 0, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, - 131, 131, 132, 317, 0, 0, 288, 315, 276, 310, - 312, 306, 131, 319, 298, 308, 0, 0, 301, 59, - 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 341, 179, 318, 283, 267, 223, 235, 224, - 242, 268, 269, 270, 182, 273, 5, 289, 278, 281, - 280, 282, 279, 0, 0, 0, 61, 7, 105, 37, - 133, 0, 0, 0, 61, 61, 61, 0, 0, 61, - 61, 0, 0, 0, 130, 0, 56, 57, 76, 0, - 130, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 0, 59, 9, 0, 106, - 0, 0, 11, 73, 72, 68, 0, 15, 59, 0, - 369, 372, 371, 370, 356, 0, 357, 248, 359, 249, - 358, 362, 274, 0, 0, 321, 326, 328, 327, 305, - 266, 265, 59, 59, 59, 59, 0, 0, 0, 0, - 307, 0, 299, 0, 0, 59, 59, 302, 303, 317, - 338, 339, 192, 278, 0, 0, 360, 0, 134, 135, - 59, 300, 250, 251, 272, 255, 256, 277, 0, 0, - 0, 0, 0, 180, 0, 0, 0, 238, 237, 0, - 245, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 63, + 61, 0, 0, 0, 61, 168, 1, 61, 0, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, + 133, 133, 134, 319, 0, 0, 290, 317, 278, 312, + 314, 308, 133, 321, 300, 310, 0, 0, 303, 61, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 343, 181, 320, 285, 269, 225, 237, 226, + 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, + 282, 284, 281, 0, 0, 0, 63, 7, 107, 39, + 135, 0, 0, 0, 63, 63, 63, 0, 0, 63, + 63, 0, 0, 0, 132, 0, 58, 59, 78, 0, + 132, 79, 80, 81, 82, 83, 84, 85, 86, 24, + 25, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 0, 61, 9, + 0, 108, 0, 0, 11, 75, 74, 70, 0, 15, + 61, 0, 371, 374, 373, 372, 358, 0, 359, 250, + 361, 251, 360, 364, 276, 0, 0, 323, 328, 330, + 329, 307, 268, 267, 61, 61, 61, 61, 0, 0, + 0, 0, 309, 0, 301, 0, 0, 61, 61, 304, + 305, 319, 340, 341, 194, 280, 0, 0, 362, 0, + 136, 137, 61, 302, 252, 253, 274, 257, 258, 279, + 0, 0, 0, 0, 0, 182, 0, 0, 0, 240, + 239, 0, 247, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 253, - 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 59, 0, 0, 59, 329, 331, 330, 0, - 0, 0, 61, 61, 0, 0, 20, 63, 0, 21, - 51, 130, 55, 41, 130, 0, 116, 16, 22, 0, - 0, 0, 0, 0, 0, 23, 75, 74, 69, 146, - 145, 151, 161, 143, 157, 0, 156, 160, 162, 167, - 257, 0, 323, 0, 278, 281, 280, 325, 0, 142, - 320, 137, 136, 59, 140, 138, 262, 264, 190, 59, - 0, 0, 311, 195, 309, 313, 0, 0, 0, 0, - 183, 184, 0, 292, 0, 275, 177, 178, 175, 176, - 181, 0, 0, 209, 0, 241, 247, 227, 216, 218, - 220, 234, 214, 215, 0, 230, 232, 231, 228, 229, - 226, 225, 246, 243, 240, 236, 239, 222, 221, 219, - 233, 217, 213, 0, 0, 0, 0, 366, 364, 368, - 197, 0, 0, 187, 198, 290, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, - 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 0, 0, 59, 61, 0, 45, 61, 43, - 117, 107, 104, 108, 111, 110, 125, 109, 112, 144, - 147, 143, 158, 277, 0, 322, 324, 141, 260, 139, - 59, 261, 263, 0, 59, 211, 59, 314, 194, 193, - 0, 258, 0, 0, 0, 202, 208, 0, 296, 189, - 0, 0, 293, 295, 294, 297, 361, 206, 0, 59, - 291, 0, 200, 0, 284, 0, 285, 0, 58, 61, - 34, 61, 38, 0, 332, 336, 0, 126, 0, 354, - 0, 0, 344, 355, 352, 0, 353, 349, 350, 351, - 121, 122, 127, 0, 0, 106, 30, 0, 0, 0, - 124, 0, 0, 0, 59, 0, 59, 169, 0, 42, - 168, 59, 148, 152, 159, 275, 259, 166, 163, 0, - 164, 191, 0, 342, 0, 196, 185, 212, 0, 205, - 271, 59, 0, 201, 207, 0, 203, 286, 287, 199, - 0, 39, 61, 17, 0, 0, 0, 348, 0, 347, - 0, 0, 0, 24, 0, 0, 120, 120, 0, 0, - 62, 65, 64, 47, 59, 59, 59, 61, 149, 154, - 0, 173, 343, 316, 210, 0, 204, 186, 0, 59, - 18, 337, 59, 59, 345, 0, 0, 0, 59, 123, - 0, 0, 0, 0, 35, 53, 0, 0, 0, 61, - 0, 172, 44, 171, 153, 155, 165, 59, 188, 59, - 0, 59, 0, 0, 113, 36, 49, 346, 0, 0, - 0, 33, 0, 0, 59, 59, 59, 66, 118, 52, - 46, 170, 0, 70, 0, 40, 0, 114, 0, 0, - 59, 59, 25, 0, 29, 50, 54, 0, 0, 48, - 174, 0, 59, 71, 19, 0, 0, 27, 32, 120, - 59, 67, 119, 60, 59, 102, 101, 0, 59, 0, - 31, 0, 59, 28, 0, 103, 115, 0, 26 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 254, 255, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 61, 61, 0, 0, 61, 331, 333, + 332, 0, 0, 0, 63, 63, 0, 0, 20, 65, + 0, 21, 53, 132, 57, 43, 132, 0, 118, 16, + 22, 0, 0, 0, 0, 0, 0, 23, 77, 76, + 71, 148, 147, 153, 163, 145, 159, 0, 158, 162, + 164, 169, 259, 0, 325, 0, 280, 283, 282, 327, + 0, 144, 322, 139, 138, 61, 142, 140, 264, 266, + 192, 61, 0, 0, 313, 197, 311, 315, 0, 0, + 0, 0, 185, 186, 0, 294, 0, 277, 179, 180, + 177, 178, 183, 0, 0, 211, 0, 243, 249, 229, + 218, 220, 222, 236, 216, 217, 0, 232, 234, 233, + 230, 231, 228, 227, 248, 245, 242, 238, 241, 224, + 223, 221, 235, 219, 215, 0, 0, 0, 0, 368, + 366, 370, 199, 0, 0, 189, 200, 292, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, + 0, 61, 335, 336, 337, 0, 0, 0, 0, 0, + 0, 0, 0, 125, 0, 0, 61, 63, 0, 47, + 63, 45, 119, 109, 106, 110, 113, 112, 127, 111, + 114, 146, 149, 145, 160, 279, 0, 324, 326, 143, + 262, 141, 61, 263, 265, 0, 61, 213, 61, 316, + 196, 195, 0, 260, 0, 0, 0, 204, 210, 0, + 298, 191, 0, 0, 295, 297, 296, 299, 363, 208, + 0, 61, 293, 0, 202, 0, 286, 0, 287, 0, + 60, 63, 36, 63, 40, 0, 334, 338, 0, 128, + 0, 356, 0, 0, 346, 357, 354, 0, 355, 351, + 352, 353, 123, 124, 129, 0, 0, 108, 32, 0, + 0, 0, 126, 0, 0, 0, 61, 0, 61, 171, + 0, 44, 170, 61, 150, 154, 161, 277, 261, 168, + 165, 0, 166, 193, 0, 344, 0, 198, 187, 214, + 0, 207, 273, 61, 0, 203, 209, 0, 205, 288, + 289, 201, 0, 41, 63, 17, 0, 0, 0, 350, + 0, 349, 0, 0, 0, 26, 0, 0, 122, 122, + 0, 0, 64, 67, 66, 49, 61, 61, 61, 63, + 151, 156, 0, 175, 345, 318, 212, 0, 206, 188, + 0, 61, 18, 339, 61, 61, 347, 0, 0, 0, + 61, 125, 0, 0, 0, 0, 37, 55, 0, 0, + 0, 63, 0, 174, 46, 173, 155, 157, 167, 61, + 190, 61, 0, 61, 0, 0, 115, 38, 51, 348, + 0, 0, 0, 35, 0, 0, 61, 61, 61, 68, + 120, 54, 48, 172, 0, 72, 0, 42, 0, 116, + 0, 0, 61, 61, 27, 0, 31, 52, 56, 0, + 0, 50, 176, 0, 61, 73, 19, 0, 0, 29, + 34, 122, 61, 69, 121, 62, 61, 104, 103, 0, + 61, 0, 33, 0, 61, 30, 0, 105, 117, 0, + 28 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, -581, -4, -10, -581, 28, -81, -581, - -581, -581, -581, -16, -581, 578, 455, 3, -581, -581, - -40, -413, -580, -336, -581, -549, -581, -15, 177, -363, - -80, -581, -98, 124, -581, -581, -99, 91, -171, 295, - 179, -581, -581, -581, -581, -581, 176, -581, -581, -581, - -581, 84, -581, 4, 178, -581, -316, -581, 82, -44, - -581, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, 584, -581, -581, 464, -581, -581, -581, -581, - -167, -17, -581, -581, -581, -581, 212, -581, -581, 213, - 55, 7, 16, -581, -581, -581, -581, -581, 163 + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, -577, -577, -4, -10, -577, 58, + -81, -577, -577, -577, -577, -16, -577, 598, 469, 5, + -577, -577, 12, -415, -576, -301, -577, -543, -577, 8, + 192, -334, -75, -577, -95, 44, -577, -577, -99, 92, + -166, 309, 184, -577, -577, -577, -577, -577, 189, -577, + -577, -577, -577, 90, -577, 11, 195, -577, -318, -577, + 82, -41, -577, -577, -577, -577, -577, -577, -577, -577, + -577, -577, -577, -577, 602, -577, -577, 483, -577, -577, + -577, -577, -174, -17, -577, -577, -577, -577, 214, -577, + -577, 229, 38, -22, -15, -577, -577, -577, -577, -577, + 78 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 631, 114, 115, 116, 117, 118, 609, 679, - 574, 119, 120, 121, 122, 123, 124, 599, 125, 428, - 126, 531, 127, 526, 128, 617, 129, 130, 131, 426, - 132, 133, 134, 135, 136, 145, 490, 450, 278, 424, - 583, 616, 667, 146, 654, 298, 143, 144, 673, 686, - 431, 138, 635, 287, 669, 612, 512, 519, 435, 496, - 514, 407, 280, 172, 174, 262, 200, 323, 326, 320, - 440, 303, 304, 305, 306, 624, 307, 308, 309, 539, - 540, 147, 148, 529, 530, 622, 451, 627, 139, 63, - 64, 456, 393, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 177, 75, 165, 265, 412, 140, 564, - 192, 76, 544, 501, 567, 568, 504, 505, 418, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 156 + 112, 113, 633, 114, 115, 116, 117, 118, 119, 611, + 681, 120, 576, 121, 122, 123, 124, 125, 126, 601, + 127, 430, 128, 533, 129, 528, 130, 619, 131, 132, + 133, 428, 134, 135, 136, 137, 138, 147, 492, 452, + 280, 426, 585, 618, 669, 148, 656, 300, 145, 146, + 675, 688, 433, 140, 637, 289, 671, 614, 514, 521, + 437, 498, 516, 409, 282, 174, 176, 264, 202, 325, + 328, 322, 442, 305, 306, 307, 308, 626, 309, 310, + 311, 541, 542, 149, 150, 531, 532, 624, 453, 629, + 141, 63, 64, 458, 395, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 179, 75, 167, 267, 414, + 142, 566, 194, 76, 546, 503, 569, 570, 506, 507, + 420, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -685,97 +692,99 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 149, 155, 327, 511, 191, 281, 87, 328, 61, - 201, 452, 283, 20, 152, 137, 152, 16, 152, -61, - 152, 152, 279, 636, 214, 170, 215, 415, 613, 185, - 152, 152, 344, 343, 167, 197, 284, 17, 254, 190, - 255, 20, 61, 168, 187, 152, 195, 152, 463, 217, - 218, 498, 383, 384, 513, 385, 671, -150, 386, 521, - 522, 299, 387, 220, 221, 300, 388, 389, 211, 212, - 491, 468, 186, 153, -363, 153, -363, 153, 455, 153, - 153, 492, 166, 20, 562, 86, 213, 22, 178, 153, - 153, 24, 62, 672, 542, 563, -365, 276, -365, 390, - 267, 62, 198, 198, 193, -325, 153, 199, 199, 268, - 179, 465, 696, -326, 261, 209, 210, 211, 212, 416, - 183, -324, 269, 270, 271, 391, 286, 274, 275, 417, - 689, 191, 184, 20, 62, -371, 252, 22, 302, 482, - -61, 24, 208, 301, 297, 216, 484, 499, 266, -328, - 340, 341, 448, 486, 575, 173, 191, 500, 209, 210, - 211, 212, 322, 325, 325, 190, 181, 213, 337, 338, - 315, -327, 219, 282, 392, 61, 61, 333, 254, 316, - 255, 154, 152, 427, 464, 158, 429, 160, 161, 163, - 190, 209, 210, 211, 212, -367, 222, 175, 176, 164, - 289, 253, 263, 290, 291, 292, 293, 606, 607, 294, - 260, -363, 194, -363, 196, -365, 264, -365, 314, 209, - 210, 211, 212, 547, 632, 633, 209, 210, 211, 212, - 256, 272, 257, 209, 210, 211, 212, 273, 493, 277, - 553, 193, 481, 288, 285, 404, 318, 643, 594, 295, - 433, 434, 406, 437, 438, 411, 209, 210, 211, 212, - 331, 310, 209, 210, 211, 212, 336, 62, 62, 319, - 329, 623, 641, 483, 324, 659, 511, 258, 321, 259, - 332, 430, 485, 330, 469, 334, 454, 342, 344, 545, - 487, 346, 347, 348, 349, 675, 351, 352, 354, -126, - 420, 421, 405, 209, 210, 211, 212, 394, 664, 665, - 666, 552, 453, 325, 209, 210, 211, 212, 408, 61, - 209, 210, 211, 212, 677, 678, 419, 409, 209, 210, - 211, 212, 425, 413, 410, 396, 397, 398, 399, 400, - 401, 402, 403, 414, 690, 209, 210, 211, 212, 339, - 422, 439, 693, 86, 209, 210, 211, 212, 20, 441, - 587, 423, 209, 210, 211, 212, 442, 472, 447, 449, - 458, 432, 432, 432, 436, 432, 432, 461, 209, 210, - 211, 212, 152, 209, 210, 211, 212, 459, 463, 473, - 18, 474, 86, 444, 475, 476, 20, 20, 150, 325, - 22, 479, 224, 151, 24, 489, 494, 510, 523, 517, - 503, 62, 191, 495, 619, 345, 525, 618, 527, 532, - -61, 460, 541, 508, 289, 508, 462, 290, 291, 292, - 293, 537, 509, 294, 509, 549, 551, 150, 556, 557, - 538, 153, 151, 558, 543, 247, 190, 559, 248, 249, - 250, 251, 252, 524, 565, 566, 528, 209, 210, 211, - 212, 20, 555, 224, 225, 570, 470, 471, 571, 61, - 502, 507, 572, 507, 478, 576, 528, 224, -371, -371, - -371, 251, 252, 573, 602, 603, 209, 210, 211, 212, - 577, 608, 578, 579, 446, 497, 497, 614, 615, 515, - 245, 246, 436, 520, 497, 497, 247, 584, 581, 248, - 249, 250, 251, 252, 582, 246, 322, 560, 589, 561, - 247, 325, 586, 248, 249, 250, 251, 252, 591, 593, - 644, 645, 646, 596, 595, 597, 648, 598, 604, 605, - 191, 61, 610, 611, 621, 548, 626, 209, 210, 211, - 212, 657, 628, 629, 638, 569, 639, 649, 660, 661, - 640, 62, 658, 209, 210, 211, 212, 662, 663, 668, - 620, 676, 681, 683, 190, 325, 684, 209, 210, 211, - 212, 687, 680, 630, 457, 209, 210, 211, 212, 697, - 600, 142, 634, 634, 642, 688, 296, 518, 286, 497, - 466, 209, 210, 211, 212, 157, 692, 159, 445, 694, - 162, 652, 169, 171, 480, 656, 698, 585, 534, 653, - 533, 590, 535, 650, 592, 180, 536, 313, 182, 506, - 516, 0, 188, 62, 286, 286, 286, 0, 546, 202, - 203, 204, 205, 206, 0, 0, 0, 528, 0, 0, - 286, 286, 497, 497, 0, 0, 0, 0, 0, 637, - 0, 0, 685, 0, 682, 0, 0, 223, 691, 0, - 286, 647, 0, 0, 0, 224, 225, 226, 286, 510, - 0, 0, 634, 0, 0, 0, 0, 0, 227, 0, - 0, 520, 497, 0, 228, 229, 230, 467, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 209, 210, 211, 212, 247, 0, - 497, 248, 249, 250, 251, 252, 0, 223, 1, 2, - 3, 4, 5, 6, 7, 224, 225, 226, 0, 0, - 497, 0, 0, 0, 0, 0, 0, 312, 227, 0, - 0, 554, 0, 0, 228, 229, 230, 0, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, - 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, - 0, 0, 0, 355, 0, 0, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, -13, 88, 0, 382, 0, 0, 0, 0, + 61, 151, 157, 330, 513, 169, 283, 87, 193, 61, + 329, 454, 170, 203, 154, 285, 154, 139, 154, 20, + 154, 154, 281, 22, 216, 172, 217, 24, 345, 638, + 154, 154, 466, 20, 187, 199, 615, 346, 286, 192, + 16, -63, 61, 470, 189, 154, 197, 154, 256, 465, + 257, -152, 256, 493, 257, 301, 155, 564, 155, 302, + 155, 673, 155, 155, 494, 168, 20, 17, 565, 219, + 220, 269, 155, 155, 200, 175, 86, 188, 270, 201, + 417, 20, 500, 200, 86, 515, 183, 195, 201, 155, + 523, 524, 62, 213, 214, 181, 156, 278, 674, 180, + 160, 62, 162, 163, 211, 212, 213, 214, 222, 223, + -327, 291, 177, 178, 292, 293, 294, 295, 698, 457, + 296, 152, -326, -328, 467, 165, 153, 196, 288, 198, + 215, 268, 484, 185, 62, 166, 193, 303, 691, 501, + 304, 486, 210, 317, 263, 218, 634, 635, 299, 502, + 318, 488, 271, 272, 273, 342, 343, 276, 277, 450, + 549, 193, -63, 186, 324, 327, 327, 192, 221, 555, + 339, 340, 418, 211, 212, 213, 214, 61, 61, 335, + 385, 386, 419, 387, 154, 577, 388, 224, 429, 20, + 389, 431, 192, 22, 390, 391, -365, 24, -365, 211, + 212, 213, 214, 316, 211, 212, 213, 214, 255, 215, + -128, 86, 211, 212, 213, 214, 20, 544, -367, -369, + -367, 211, 212, 213, 214, 474, 195, 392, -365, 262, + -365, 211, 212, 213, 214, -367, 596, -367, 608, 609, + 211, 212, 213, 214, 265, 495, 266, 406, 320, 211, + 212, 213, 214, 393, 408, 483, 152, 413, 258, 279, + 259, 153, 333, 260, 274, 261, 341, 275, 338, 62, + 62, 625, 211, 212, 213, 214, 513, 485, 645, -373, + 254, 487, 284, 432, 547, 489, 471, 211, 212, 213, + 214, 456, 396, 348, 349, 350, 351, 554, 353, 354, + 356, 287, 394, -330, 435, 436, 661, 439, 440, 643, + -329, 421, 290, 297, 455, 327, 211, 212, 213, 214, + 321, 61, 312, 323, 347, 326, 677, 211, 212, 213, + 214, 331, 422, 423, 332, 334, 336, 398, 399, 400, + 401, 402, 403, 404, 405, 666, 667, 668, 344, 211, + 212, 213, 214, 211, 212, 213, 214, 211, 212, 213, + 214, 679, 680, 211, 212, 213, 214, 589, 346, 211, + 212, 213, 214, 434, 434, 434, 438, 434, 434, 407, + 410, 692, 412, 411, 154, 427, 226, 443, 291, 695, + 415, 292, 293, 294, 295, 446, 510, 296, 510, 416, + 448, 327, 424, 511, 425, 511, 441, 444, 449, 512, + 525, 451, 620, 62, 461, 460, 463, 193, 465, 475, + 481, 621, 476, 462, 248, 477, 155, 478, 464, 249, + 491, 226, 250, 251, 252, 253, 254, 496, 211, 212, + 213, 214, 540, 519, 527, 497, 545, 529, 192, 534, + 211, 212, 213, 214, -63, 504, 509, 551, 509, 211, + 212, 213, 214, 539, 557, 543, 558, 553, 472, 473, + 559, 61, 560, 561, 249, 459, 480, 250, 251, 252, + 253, 254, 20, 586, 567, 526, 604, 605, 530, 211, + 212, 213, 214, 610, 568, 574, 468, 499, 499, 616, + 617, 517, 572, 575, 438, 522, 499, 499, 530, 211, + 212, 213, 214, 573, 578, 579, 584, 580, 324, 226, + 227, 228, 581, 327, 588, 583, 482, 211, 212, 213, + 214, 591, 646, 647, 648, 593, 597, 595, 650, 598, + 571, 599, 600, 61, 606, 193, 537, 550, 607, 562, + 612, 563, 613, 659, 245, 246, 247, 248, 623, 628, + 662, 663, 249, 62, 548, 250, 251, 252, 253, 254, + 631, 630, 622, 640, 651, 641, 192, 327, 211, 212, + 213, 214, 18, 642, 682, 632, 664, 660, 20, 670, + 665, 685, 22, 678, 636, 636, 24, 690, 683, 686, + 288, 499, 505, -373, -373, -373, 253, 254, 694, 689, + 699, 144, 298, 654, 520, 556, 696, 658, 700, 644, + 587, 655, 602, 159, 447, 161, 594, 535, 164, 592, + 171, 173, 652, 536, 518, 62, 288, 288, 288, 226, + 227, 228, 0, 182, 639, 538, 184, 508, 315, 0, + 190, 0, 288, 288, 499, 499, 649, 204, 205, 206, + 207, 208, 226, 227, 687, 0, 684, 0, 0, 0, + 693, 0, 288, 244, 245, 246, 247, 248, 0, 530, + 288, 512, 249, 0, 636, 250, 251, 252, 253, 254, + 0, 0, 0, 522, 499, 0, 0, 0, 0, 247, + 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, + 252, 253, 254, 0, 0, 0, 0, 225, 0, 0, + 0, 0, 499, 0, 0, 226, 227, 228, 1, 2, + 3, 4, 5, 6, 7, 0, 0, 0, 229, 0, + 0, 0, 499, 0, 230, 231, 232, 469, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 226, 227, 228, 314, 249, 0, + 0, 250, 251, 252, 253, 254, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 0, 0, 0, 0, 249, 0, 0, + 250, 251, 252, 253, 254, 0, 0, 352, 0, 0, + 0, 0, 0, 357, 0, 0, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, -13, 88, 0, 384, 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, 141, 0, 44, 0, 109, 45, 46, 47, 48, + 108, 143, 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, @@ -786,84 +795,84 @@ 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, 141, 0, + 0, 38, 39, 40, 41, 42, 43, 108, 143, 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, 550, 0, 0, 0, 223, 0, 0, 0, 0, - 0, 0, 0, 224, 225, 226, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, -371, 0, 0, 0, - 0, 60, 228, 229, 230, 0, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, - 249, 250, 251, 252, 0, 0, 588, 0, 0, 0, + 0, 552, 0, 0, 0, 225, 0, 0, 0, 0, + 0, 0, 0, 226, 227, 228, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, 229, 0, 0, 0, + 0, 60, 230, 231, 232, 0, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, + 251, 252, 253, 254, 0, 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 86, 488, 19, 601, 0, + 0, 0, 0, 0, 18, 86, 490, 19, 603, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, - 96, 97, 98, 625, 99, 100, 101, 102, 0, 0, + 96, 97, 98, 627, 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, 141, 0, 44, 0, 109, 45, 46, + 42, 43, 108, 143, 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, 580, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 582, 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, - 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, + 143, 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, - 651, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 653, 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, 141, 0, 44, + 38, 39, 40, 41, 42, 43, 108, 143, 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, 655, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 657, 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, 141, 0, 44, 0, 109, 45, + 41, 42, 43, 108, 143, 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, 670, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 672, 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, 141, 0, 44, 0, 109, 45, 46, 47, 48, + 108, 143, 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, 674, 19, 0, 60, 20, 0, 0, 21, 22, + 86, 676, 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, 141, 0, + 0, 38, 39, 40, 41, 42, 43, 108, 143, 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, @@ -875,9 +884,9 @@ 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, 141, 0, 44, 0, 109, + 40, 41, 42, 43, 108, 143, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, - 52, 53, 0, 0, 695, 0, 0, 110, 0, 0, + 52, 53, 0, 0, 697, 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, @@ -887,7 +896,7 @@ static const yytype_int16 yytable[] = 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, 141, 0, 44, 0, 109, 45, 46, 47, + 43, 108, 143, 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, @@ -902,7 +911,7 @@ static const yytype_int16 yytable[] = 0, 44, 0, 109, 45, 46, 47, 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, -59, 0, + 0, 0, 20, 0, 0, 21, 22, 23, -61, 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, @@ -921,8 +930,8 @@ 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, -59, 60, - 30, 31, 0, 32, 189, 34, 35, 36, 37, 151, + 0, 58, 59, 0, 0, 28, 29, 0, -61, 60, + 30, 31, 0, 32, 191, 34, 35, 36, 37, 153, 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, @@ -946,7 +955,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, 207, 60, 30, 31, 0, 32, 33, 34, 35, + 0, 209, 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, @@ -954,23 +963,23 @@ static const yytype_int16 yytable[] = 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, 317, 60, 30, 31, 0, 32, 33, 34, + 29, 0, 319, 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, -370, 254, 0, 255, 0, 0, -370, - 54, 0, -370, -370, -370, 0, 0, -370, -370, 0, - 0, 0, -370, -370, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -372, 256, 0, 257, 0, 0, -372, + 54, 0, -372, -372, -372, 0, 0, -372, -372, 0, + 0, 0, -372, -372, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, - -370, -370, 0, 335, 60, -370, -370, 0, -370, -370, - -370, -370, -370, -370, 0, -370, -370, -370, -370, -370, - -370, 0, 0, 0, -370, 0, 0, -370, -370, -370, - -370, -370, -370, 0, 0, 0, -370, -370, -370, 0, + -372, -372, 0, 337, 60, -372, -372, 0, -372, -372, + -372, -372, -372, -372, 0, -372, -372, -372, -372, -372, + -372, 0, 0, 0, -372, 0, 0, -372, -372, -372, + -372, -372, -372, 0, 0, 0, -372, -372, -372, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, - 20, -370, 0, 21, 22, 23, 0, 0, 24, 25, + 20, -372, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, - 0, 0, -370, -370, 0, -370, 0, -370, -370, 0, - 0, 28, 29, 0, 0, -370, 30, 31, 0, 32, + 0, 0, -372, -372, 0, -372, 0, -372, -372, 0, + 0, 28, 29, 0, 0, -372, 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, @@ -978,7 +987,7 @@ 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, 353, 60, 30, 31, 0, + 0, 0, 28, 29, 0, 355, 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, @@ -986,7 +995,7 @@ static const yytype_int16 yytable[] = 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, 395, 60, 30, 31, + 59, 0, 0, 28, 29, 0, 397, 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, @@ -994,7 +1003,7 @@ static const yytype_int16 yytable[] = 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, 443, 60, 30, + 58, 59, 0, 0, 28, 29, 0, 445, 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, @@ -1002,7 +1011,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, 477, 60, + 0, 58, 59, 0, 0, 28, 29, 0, 479, 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, @@ -1015,142 +1024,141 @@ static const yytype_int16 yytable[] = 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, - -369, 0, 0, -369, 0, 0, -369, 54, 0, -369, - -369, -369, 0, 0, -369, -369, 0, 0, 0, -369, - -369, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 0, -369, -369, 0, - 0, 311, -369, -369, 0, -369, -369, -369, -369, -369, - -369, 0, -369, -369, -369, -369, -369, -369, 0, 0, - 0, -369, 0, 0, -369, -369, -369, -369, -369, -369, - 0, 0, 0, -369, -369, -369, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, - 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, - 224, 225, 226, 0, 0, 0, 0, 0, 0, -369, - -369, 0, -369, 0, -369, -369, 0, 0, 0, 228, - 229, 230, -369, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, - 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, - 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, + -371, 0, 0, -371, 0, 0, -371, 54, 0, -371, + -371, -371, 0, 0, -371, -371, 0, 0, 0, -371, + -371, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, 0, -371, -371, 0, + 0, 313, -371, -371, 0, -371, -371, -371, -371, -371, + -371, 0, -371, -371, -371, -371, -371, -371, 0, 0, + 0, -371, 0, 0, -371, -371, -371, -371, -371, -371, + 0, 0, 0, -371, -371, -371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -371, 0, + 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, + 226, 227, 228, 0, 0, 0, 0, 0, 0, -371, + -371, 0, -371, -373, -371, -371, 0, 0, 0, 230, + 231, 232, -371, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, + 0, 0, 0, 249, 225, 0, 250, 251, 252, 253, + 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 230, 231, 232, 0, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 0, 0, 0, 0, 249, 225, 0, 250, 251, + 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 230, 0, 231, 232, 233, 234, 235, + 0, 0, 0, 0, 0, 232, 0, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 0, 0, 0, 0, 247, -371, 0, 248, 249, - 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, + 246, 247, 248, 0, 0, 0, 0, 249, -373, 0, + 250, 251, 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 231, 232, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 225, 226, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, - 249, 250, 251, 252, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, - 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, - 0, 0, 0, 0, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 224, 225, 226, 247, 0, - 0, 248, 249, 250, 251, 252, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, - 0, 0, 248, 249, 250, 251, 252, 240, 241, 242, - 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, - 0, 248, 249, 250, 251, 252, 0, 0, 0, 242, - 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, - 0, 248, 249, 250, 251, 252, 0, 0, -371, 243, - 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, 0, 243, - 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, 0, 244, - 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, - 249, 250, 251, 252 + 244, 245, 246, 247, 248, 226, 227, 228, 0, 249, + 0, 0, 250, 251, 252, 253, 254, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 226, 227, 228, + 0, 0, 0, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 226, 227, 228, 249, 0, + 0, 250, 251, 252, 253, 254, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 226, 227, 228, 0, + 249, 0, 0, 250, 251, 252, 253, 254, 0, -373, + 245, 246, 247, 248, 0, 226, 227, 228, 249, 0, + 0, 250, 251, 252, 253, 254, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 226, 227, 228, 0, 249, + 0, 0, 250, 251, 252, 253, 254, 242, 243, 244, + 245, 246, 247, 248, 0, 0, 0, 0, 249, 0, + 0, 250, 251, 252, 253, 254, 0, 0, 0, 0, + 0, 246, 247, 248, 0, 0, 0, 0, 249, 0, + 0, 250, 251, 252, 253, 254 }; static const yytype_int16 yycheck[] = { - 10, 17, 19, 174, 417, 49, 105, 11, 175, 19, - 54, 327, 110, 16, 18, 12, 20, 0, 22, 11, - 24, 25, 103, 603, 11, 29, 13, 30, 577, 89, - 34, 35, 13, 200, 27, 52, 135, 9, 11, 49, - 13, 16, 52, 27, 48, 49, 50, 51, 13, 112, - 113, 414, 10, 11, 417, 13, 22, 16, 16, 422, - 423, 20, 20, 110, 111, 24, 24, 25, 96, 97, - 11, 25, 132, 18, 11, 20, 13, 22, 14, 24, - 25, 22, 27, 16, 11, 11, 15, 20, 13, 34, - 35, 24, 10, 59, 23, 22, 11, 101, 13, 57, - 93, 19, 56, 56, 49, 86, 51, 61, 61, 93, - 132, 14, 692, 86, 86, 94, 95, 96, 97, 122, - 132, 86, 94, 95, 96, 83, 136, 99, 100, 132, - 679, 175, 132, 16, 52, 129, 130, 20, 148, 14, - 132, 24, 60, 102, 141, 132, 14, 122, 93, 86, - 194, 195, 323, 14, 517, 31, 200, 132, 94, 95, - 96, 97, 172, 173, 174, 175, 42, 15, 185, 186, - 163, 86, 112, 22, 132, 185, 186, 181, 11, 163, - 13, 18, 186, 281, 22, 22, 284, 24, 25, 122, - 200, 94, 95, 96, 97, 11, 110, 34, 35, 132, - 32, 132, 56, 35, 36, 37, 38, 570, 571, 41, - 11, 11, 49, 13, 51, 11, 56, 13, 163, 94, - 95, 96, 97, 14, 33, 34, 94, 95, 96, 97, - 11, 132, 13, 94, 95, 96, 97, 132, 409, 11, - 14, 186, 22, 22, 39, 261, 164, 610, 14, 22, - 290, 291, 262, 293, 294, 265, 94, 95, 96, 97, - 178, 14, 94, 95, 96, 97, 184, 185, 186, 86, - 132, 587, 608, 22, 86, 638, 689, 11, 70, 13, - 131, 285, 22, 89, 383, 131, 330, 22, 13, 456, - 22, 209, 210, 211, 212, 658, 214, 215, 216, 131, - 272, 273, 56, 94, 95, 96, 97, 252, 644, 645, - 646, 22, 329, 323, 94, 95, 96, 97, 56, 329, - 94, 95, 96, 97, 660, 661, 271, 56, 94, 95, - 96, 97, 44, 132, 86, 253, 254, 255, 256, 257, - 258, 259, 260, 132, 680, 94, 95, 96, 97, 186, - 132, 61, 688, 11, 94, 95, 96, 97, 16, 16, - 531, 132, 94, 95, 96, 97, 15, 25, 59, 59, - 90, 289, 290, 291, 292, 293, 294, 12, 94, 95, - 96, 97, 386, 94, 95, 96, 97, 131, 13, 25, - 10, 25, 11, 311, 25, 25, 16, 16, 56, 409, - 20, 132, 80, 61, 24, 18, 59, 417, 424, 132, - 30, 329, 456, 99, 585, 131, 56, 584, 22, 99, - 11, 339, 131, 416, 32, 418, 344, 35, 36, 37, - 38, 132, 416, 41, 418, 12, 132, 56, 12, 12, - 450, 386, 61, 12, 454, 123, 456, 12, 126, 127, - 128, 129, 130, 425, 131, 131, 428, 94, 95, 96, - 97, 16, 479, 80, 81, 132, 384, 385, 132, 479, - 415, 416, 131, 418, 392, 131, 448, 80, 126, 127, - 128, 129, 130, 22, 565, 566, 94, 95, 96, 97, - 131, 572, 131, 131, 131, 413, 414, 578, 579, 417, - 117, 118, 420, 421, 422, 423, 123, 56, 132, 126, - 127, 128, 129, 130, 524, 118, 526, 489, 99, 491, - 123, 531, 11, 126, 127, 128, 129, 130, 11, 90, - 611, 612, 613, 12, 551, 131, 617, 22, 15, 131, - 584, 551, 132, 131, 22, 463, 131, 94, 95, 96, - 97, 632, 131, 88, 132, 500, 131, 22, 639, 640, - 131, 479, 132, 94, 95, 96, 97, 22, 131, 45, - 586, 131, 131, 17, 584, 585, 87, 94, 95, 96, - 97, 131, 663, 599, 131, 94, 95, 96, 97, 131, - 562, 13, 602, 603, 609, 676, 141, 420, 608, 517, - 131, 94, 95, 96, 97, 21, 687, 23, 313, 689, - 26, 627, 28, 29, 131, 631, 697, 526, 442, 629, - 441, 537, 131, 619, 542, 41, 448, 163, 44, 416, - 418, -1, 48, 551, 644, 645, 646, -1, 131, 55, - 56, 57, 58, 59, -1, -1, -1, 619, -1, -1, - 660, 661, 570, 571, -1, -1, -1, -1, -1, 604, - -1, -1, 672, -1, 668, -1, -1, 72, 684, -1, - 680, 616, -1, -1, -1, 80, 81, 82, 688, 689, - -1, -1, 692, -1, -1, -1, -1, -1, 93, -1, - -1, 609, 610, -1, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 94, 95, 96, 97, 123, -1, - 638, 126, 127, 128, 129, 130, -1, 72, 3, 4, - 5, 6, 7, 8, 9, 80, 81, 82, -1, -1, - 658, -1, -1, -1, -1, -1, -1, 163, 93, -1, - -1, 131, -1, -1, 99, 100, 101, -1, 103, 104, + 10, 17, 19, 177, 419, 27, 105, 11, 49, 19, + 176, 329, 27, 54, 18, 110, 20, 12, 22, 16, + 24, 25, 103, 20, 11, 29, 13, 24, 202, 605, + 34, 35, 22, 16, 89, 52, 579, 13, 137, 49, + 0, 11, 52, 25, 48, 49, 50, 51, 11, 13, + 13, 16, 11, 11, 13, 20, 18, 11, 20, 24, + 22, 22, 24, 25, 22, 27, 16, 9, 22, 112, + 113, 93, 34, 35, 56, 31, 11, 132, 93, 61, + 30, 16, 416, 56, 11, 419, 42, 49, 61, 51, + 424, 425, 10, 96, 97, 132, 18, 101, 59, 13, + 22, 19, 24, 25, 94, 95, 96, 97, 110, 111, + 86, 32, 34, 35, 35, 36, 37, 38, 694, 14, + 41, 56, 86, 86, 14, 122, 61, 49, 138, 51, + 15, 93, 14, 132, 52, 132, 177, 102, 681, 122, + 150, 14, 60, 165, 86, 132, 33, 34, 143, 132, + 165, 14, 94, 95, 96, 196, 197, 99, 100, 325, + 14, 202, 132, 132, 174, 175, 176, 177, 112, 14, + 187, 188, 122, 94, 95, 96, 97, 187, 188, 183, + 10, 11, 132, 13, 188, 519, 16, 110, 283, 16, + 20, 286, 202, 20, 24, 25, 11, 24, 13, 94, + 95, 96, 97, 165, 94, 95, 96, 97, 132, 15, + 131, 11, 94, 95, 96, 97, 16, 23, 11, 11, + 13, 94, 95, 96, 97, 25, 188, 57, 11, 11, + 13, 94, 95, 96, 97, 11, 14, 13, 572, 573, + 94, 95, 96, 97, 56, 411, 56, 263, 166, 94, + 95, 96, 97, 83, 264, 22, 56, 267, 11, 11, + 13, 61, 180, 11, 132, 13, 188, 132, 186, 187, + 188, 589, 94, 95, 96, 97, 691, 22, 612, 129, + 130, 22, 22, 287, 458, 22, 385, 94, 95, 96, + 97, 332, 254, 211, 212, 213, 214, 22, 216, 217, + 218, 39, 132, 86, 292, 293, 640, 295, 296, 610, + 86, 273, 22, 22, 331, 325, 94, 95, 96, 97, + 86, 331, 14, 70, 131, 86, 660, 94, 95, 96, + 97, 132, 274, 275, 89, 131, 131, 255, 256, 257, + 258, 259, 260, 261, 262, 646, 647, 648, 22, 94, + 95, 96, 97, 94, 95, 96, 97, 94, 95, 96, + 97, 662, 663, 94, 95, 96, 97, 533, 13, 94, + 95, 96, 97, 291, 292, 293, 294, 295, 296, 56, + 56, 682, 86, 56, 388, 44, 80, 16, 32, 690, + 132, 35, 36, 37, 38, 313, 418, 41, 420, 132, + 131, 411, 132, 418, 132, 420, 61, 15, 59, 419, + 426, 59, 586, 331, 131, 90, 12, 458, 13, 25, + 132, 587, 25, 341, 118, 25, 388, 25, 346, 123, + 18, 80, 126, 127, 128, 129, 130, 59, 94, 95, + 96, 97, 452, 132, 56, 99, 456, 22, 458, 99, + 94, 95, 96, 97, 11, 417, 418, 12, 420, 94, + 95, 96, 97, 132, 481, 131, 12, 132, 386, 387, + 12, 481, 12, 12, 123, 131, 394, 126, 127, 128, + 129, 130, 16, 56, 131, 427, 567, 568, 430, 94, + 95, 96, 97, 574, 131, 131, 131, 415, 416, 580, + 581, 419, 132, 22, 422, 423, 424, 425, 450, 94, + 95, 96, 97, 132, 131, 131, 526, 131, 528, 80, + 81, 82, 131, 533, 11, 132, 131, 94, 95, 96, + 97, 99, 613, 614, 615, 11, 553, 90, 619, 12, + 502, 131, 22, 553, 15, 586, 131, 465, 131, 491, + 132, 493, 131, 634, 115, 116, 117, 118, 22, 131, + 641, 642, 123, 481, 131, 126, 127, 128, 129, 130, + 88, 131, 588, 132, 22, 131, 586, 587, 94, 95, + 96, 97, 10, 131, 665, 601, 22, 132, 16, 45, + 131, 17, 20, 131, 604, 605, 24, 678, 131, 87, + 610, 519, 30, 126, 127, 128, 129, 130, 689, 131, + 131, 13, 143, 629, 422, 131, 691, 633, 699, 611, + 528, 631, 564, 21, 315, 23, 544, 443, 26, 539, + 28, 29, 621, 444, 420, 553, 646, 647, 648, 80, + 81, 82, -1, 41, 606, 450, 44, 418, 165, -1, + 48, -1, 662, 663, 572, 573, 618, 55, 56, 57, + 58, 59, 80, 81, 674, -1, 670, -1, -1, -1, + 686, -1, 682, 114, 115, 116, 117, 118, -1, 621, + 690, 691, 123, -1, 694, 126, 127, 128, 129, 130, + -1, -1, -1, 611, 612, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, + 128, 129, 130, -1, -1, -1, -1, 72, -1, -1, + -1, -1, 640, -1, -1, 80, 81, 82, 3, 4, + 5, 6, 7, 8, 9, -1, -1, -1, 93, -1, + -1, -1, 660, -1, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, + 115, 116, 117, 118, 80, 81, 82, 165, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, - -1, -1, -1, 219, -1, -1, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 0, 1, -1, 251, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 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, 215, -1, -1, + -1, -1, -1, 221, -1, -1, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 0, 1, -1, 253, -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, 36, 37, @@ -1172,19 +1180,19 @@ static const yytype_int16 yycheck[] = 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, - -1, 467, -1, -1, -1, 72, -1, -1, -1, -1, + -1, 469, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, 93, -1, -1, -1, -1, 132, 99, 100, 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, 532, -1, -1, -1, + 127, 128, 129, 130, -1, -1, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, 11, 12, 13, 564, -1, + -1, -1, -1, -1, 10, 11, 12, 13, 566, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, - 36, 37, 38, 589, 40, 41, 42, 43, -1, -1, + 36, 37, 38, 591, 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, @@ -1408,43 +1416,40 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, 119, - 120, -1, 122, -1, 124, 125, -1, -1, -1, 99, + 120, -1, 122, 93, 124, 125, -1, -1, -1, 99, 100, 101, 132, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, -1, 103, 104, 105, 106, 107, + -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + -1, -1, -1, -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, - 126, 127, 128, 129, 130, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, 82, 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, 108, 109, 110, 111, 112, 113, + 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, + 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, -1, -1, 109, 110, 111, 112, 113, 114, + -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, + -1, -1, -1, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 80, 81, 82, 123, -1, + -1, 126, 127, 128, 129, 130, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, + 123, -1, -1, 126, 127, 128, 129, 130, -1, 114, 115, 116, 117, 118, -1, 80, 81, 82, 123, -1, -1, 126, 127, 128, 129, 130, 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, 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, 80, 81, 82, -1, 123, -1, - -1, 126, 127, 128, 129, 130, -1, -1, 114, 115, - 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, - 126, 127, 128, 129, 130, -1, -1, -1, -1, 115, - 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, - 126, 127, 128, 129, 130, -1, -1, -1, -1, 116, - 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, - 127, 128, 129, 130 + 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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1452,75 +1457,76 @@ static const yytype_int16 yycheck[] = static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 134, 135, - 136, 137, 138, 139, 140, 141, 0, 180, 10, 13, + 136, 137, 138, 139, 140, 141, 0, 182, 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, 178, 231, 232, 233, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 247, 254, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 11, 177, 1, 22, + 132, 180, 233, 234, 235, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 249, 256, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 11, 179, 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, 154, - 155, 156, 157, 158, 159, 161, 163, 165, 167, 169, - 170, 171, 173, 174, 175, 176, 177, 190, 194, 231, - 251, 69, 188, 189, 190, 178, 186, 224, 225, 186, - 56, 61, 177, 263, 271, 254, 271, 245, 271, 245, - 271, 271, 245, 122, 132, 248, 263, 264, 265, 245, - 177, 245, 206, 206, 207, 271, 271, 246, 13, 132, - 245, 206, 245, 132, 132, 89, 132, 177, 245, 56, - 178, 232, 253, 263, 271, 177, 271, 254, 56, 61, - 209, 232, 245, 245, 245, 245, 245, 131, 231, 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, 180, 208, 56, 56, 249, 263, 264, 265, 180, - 180, 180, 132, 132, 180, 180, 177, 11, 181, 181, - 205, 209, 22, 205, 209, 39, 178, 196, 22, 32, - 35, 36, 37, 38, 41, 22, 189, 190, 188, 20, - 24, 102, 178, 214, 215, 216, 217, 219, 220, 221, - 14, 132, 245, 248, 263, 264, 265, 131, 231, 86, - 212, 70, 178, 210, 86, 178, 211, 211, 253, 132, - 89, 231, 131, 177, 131, 131, 231, 254, 254, 271, - 232, 232, 22, 253, 13, 131, 231, 231, 231, 231, - 245, 231, 231, 131, 231, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 10, 11, 13, 16, 20, 24, 25, - 57, 83, 132, 235, 263, 131, 231, 231, 231, 231, - 231, 231, 231, 231, 186, 56, 178, 204, 56, 56, - 86, 178, 250, 132, 132, 30, 122, 132, 261, 263, - 180, 180, 132, 132, 182, 44, 172, 205, 162, 205, - 177, 193, 231, 193, 193, 201, 231, 193, 193, 61, - 213, 16, 15, 131, 231, 212, 131, 59, 211, 59, - 180, 229, 229, 254, 232, 14, 234, 131, 90, 131, - 231, 12, 231, 13, 22, 14, 131, 102, 25, 209, - 231, 231, 25, 25, 25, 25, 25, 131, 231, 132, - 131, 22, 14, 22, 14, 22, 14, 22, 12, 18, - 179, 11, 22, 211, 59, 99, 202, 231, 202, 122, - 132, 256, 263, 30, 259, 260, 262, 263, 264, 265, - 178, 194, 199, 202, 203, 231, 259, 132, 201, 200, - 231, 202, 202, 186, 180, 56, 166, 22, 180, 226, - 227, 164, 99, 213, 219, 131, 227, 132, 178, 222, - 223, 131, 23, 178, 255, 253, 131, 14, 231, 12, - 245, 132, 22, 14, 131, 254, 12, 12, 12, 12, - 180, 180, 11, 22, 252, 131, 131, 257, 258, 263, - 132, 132, 131, 22, 153, 202, 131, 131, 131, 131, - 12, 132, 178, 183, 56, 210, 11, 211, 245, 99, - 224, 11, 231, 90, 14, 254, 12, 131, 22, 160, - 180, 245, 181, 181, 15, 131, 202, 202, 181, 151, - 132, 131, 198, 198, 181, 181, 184, 168, 253, 211, - 186, 22, 228, 229, 218, 245, 131, 230, 131, 88, - 186, 145, 33, 34, 178, 195, 195, 263, 132, 131, - 131, 196, 200, 202, 181, 181, 181, 263, 181, 22, - 226, 12, 186, 178, 187, 12, 186, 181, 132, 202, - 181, 181, 22, 131, 196, 196, 196, 185, 45, 197, - 12, 22, 59, 191, 12, 202, 131, 196, 196, 152, - 181, 131, 177, 17, 87, 178, 192, 131, 181, 198, - 196, 186, 181, 196, 203, 88, 195, 131, 181 + 91, 142, 143, 144, 146, 147, 148, 149, 150, 151, + 154, 156, 157, 158, 159, 160, 161, 163, 165, 167, + 169, 171, 172, 173, 175, 176, 177, 178, 179, 192, + 196, 233, 253, 69, 190, 191, 192, 180, 188, 226, + 227, 188, 56, 61, 179, 265, 273, 256, 273, 247, + 273, 247, 273, 273, 247, 122, 132, 250, 265, 266, + 267, 247, 179, 247, 208, 208, 209, 273, 273, 248, + 13, 132, 247, 208, 247, 132, 132, 89, 132, 179, + 247, 56, 180, 234, 255, 265, 273, 179, 273, 256, + 56, 61, 211, 234, 247, 247, 247, 247, 247, 131, + 233, 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, 182, 210, 56, 56, 251, 265, 266, + 267, 182, 182, 182, 132, 132, 182, 182, 179, 11, + 183, 183, 207, 211, 22, 207, 211, 39, 180, 198, + 22, 32, 35, 36, 37, 38, 41, 22, 191, 192, + 190, 20, 24, 102, 180, 216, 217, 218, 219, 221, + 222, 223, 14, 132, 247, 250, 265, 266, 267, 131, + 233, 86, 214, 70, 180, 212, 86, 180, 213, 213, + 255, 132, 89, 233, 131, 179, 131, 131, 233, 256, + 256, 273, 234, 234, 22, 255, 13, 131, 233, 233, + 233, 233, 247, 233, 233, 131, 233, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 237, 265, 131, 233, 233, + 233, 233, 233, 233, 233, 233, 188, 56, 180, 206, + 56, 56, 86, 180, 252, 132, 132, 30, 122, 132, + 263, 265, 182, 182, 132, 132, 184, 44, 174, 207, + 164, 207, 179, 195, 233, 195, 195, 203, 233, 195, + 195, 61, 215, 16, 15, 131, 233, 214, 131, 59, + 213, 59, 182, 231, 231, 256, 234, 14, 236, 131, + 90, 131, 233, 12, 233, 13, 22, 14, 131, 102, + 25, 211, 233, 233, 25, 25, 25, 25, 25, 131, + 233, 132, 131, 22, 14, 22, 14, 22, 14, 22, + 12, 18, 181, 11, 22, 213, 59, 99, 204, 233, + 204, 122, 132, 258, 265, 30, 261, 262, 264, 265, + 266, 267, 180, 196, 201, 204, 205, 233, 261, 132, + 203, 202, 233, 204, 204, 188, 182, 56, 168, 22, + 182, 228, 229, 166, 99, 215, 221, 131, 229, 132, + 180, 224, 225, 131, 23, 180, 257, 255, 131, 14, + 233, 12, 247, 132, 22, 14, 131, 256, 12, 12, + 12, 12, 182, 182, 11, 22, 254, 131, 131, 259, + 260, 265, 132, 132, 131, 22, 155, 204, 131, 131, + 131, 131, 12, 132, 180, 185, 56, 212, 11, 213, + 247, 99, 226, 11, 233, 90, 14, 256, 12, 131, + 22, 162, 182, 247, 183, 183, 15, 131, 204, 204, + 183, 152, 132, 131, 200, 200, 183, 183, 186, 170, + 255, 213, 188, 22, 230, 231, 220, 247, 131, 232, + 131, 88, 188, 145, 33, 34, 180, 197, 197, 265, + 132, 131, 131, 198, 202, 204, 183, 183, 183, 265, + 183, 22, 228, 12, 188, 180, 189, 12, 188, 183, + 132, 204, 183, 183, 22, 131, 198, 198, 198, 187, + 45, 199, 12, 22, 59, 193, 12, 204, 131, 198, + 198, 153, 183, 131, 179, 17, 87, 180, 194, 131, + 183, 200, 198, 188, 183, 198, 205, 88, 197, 131, + 183 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1528,42 +1534,42 @@ static const yytype_int16 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, 151, 152, 150, 150, 150, 150, - 153, 150, 150, 150, 154, 155, 156, 157, 158, 160, - 159, 162, 161, 164, 163, 166, 165, 168, 167, 169, - 170, 172, 171, 173, 174, 175, 176, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 183, 186, 186, - 187, 187, 188, 188, 189, 189, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 191, 192, 192, 193, 194, 194, 194, 194, 194, - 194, 194, 194, 195, 195, 195, 196, 196, 197, 197, - 198, 199, 199, 200, 200, 201, 202, 203, 204, 204, - 205, 206, 207, 208, 209, 209, 210, 210, 211, 211, - 211, 212, 212, 213, 213, 214, 214, 215, 215, 215, - 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, - 220, 221, 221, 222, 222, 223, 225, 224, 226, 226, - 227, 228, 228, 230, 229, 231, 231, 231, 231, 231, - 232, 232, 232, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 234, 233, 235, 235, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, - 239, 239, 240, 240, 240, 240, 241, 241, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, - 243, 243, 243, 243, 243, 244, 244, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 246, 245, 245, 245, 245, - 247, 247, 247, 247, 248, 248, 248, 248, 248, 249, - 249, 249, 250, 250, 250, 251, 252, 251, 253, 253, - 254, 254, 255, 255, 256, 257, 257, 257, 258, 259, - 259, 259, 260, 260, 261, 261, 262, 263, 264, 265, - 266, 266, 267, 268, 268, 269, 269, 270, 270, 271, - 271, 271, 271 + 146, 147, 148, 149, 150, 150, 152, 153, 151, 154, + 154, 154, 155, 154, 154, 154, 156, 157, 158, 159, + 160, 162, 161, 164, 163, 166, 165, 168, 167, 170, + 169, 171, 172, 174, 173, 175, 176, 177, 178, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 185, + 188, 188, 189, 189, 190, 190, 191, 191, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 193, 194, 194, 195, 196, 196, 196, + 196, 196, 196, 196, 196, 197, 197, 197, 198, 198, + 199, 199, 200, 201, 201, 202, 202, 203, 204, 205, + 206, 206, 207, 208, 209, 210, 211, 211, 212, 212, + 213, 213, 213, 214, 214, 215, 215, 216, 216, 217, + 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, + 222, 222, 222, 223, 223, 224, 224, 225, 227, 226, + 228, 228, 229, 230, 230, 232, 231, 233, 233, 233, + 233, 233, 234, 234, 234, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 236, 235, 237, + 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, + 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, + 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 248, 247, 247, + 247, 247, 249, 249, 249, 249, 250, 250, 250, 250, + 250, 251, 251, 251, 252, 252, 252, 253, 254, 253, + 255, 255, 256, 256, 257, 257, 258, 259, 259, 259, + 260, 261, 261, 261, 262, 262, 263, 263, 264, 265, + 266, 267, 268, 268, 269, 270, 270, 271, 271, 272, + 272, 273, 273, 273, 273 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1571,42 +1577,42 @@ 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, 2, 0, 0, 13, 9, 11, 8, - 0, 10, 9, 7, 4, 6, 7, 1, 4, 0, - 8, 0, 4, 0, 6, 0, 7, 0, 8, 7, - 8, 0, 7, 6, 8, 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, + 2, 2, 2, 2, 1, 1, 0, 0, 13, 9, + 11, 8, 0, 10, 9, 7, 4, 6, 7, 1, + 4, 0, 8, 0, 4, 0, 6, 0, 7, 0, + 8, 7, 8, 0, 7, 6, 8, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 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, - 0, 1, 3, 5, 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 + 1, 1, 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, 0, 1, 3, 5, 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 { @@ -1647,7 +1653,8 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_ival, + toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, @@ -1677,6 +1684,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 467a445189eae98d6a61b6f574f33db6782caa6ebb315e03ce496e8c76152b09 perly.y + * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index ac883056f378..60b14e28a1b2 100644 --- a/perly.y +++ b/perly.y @@ -103,6 +103,8 @@ %type bare_statement_expression %type bare_statement_field_declaration %type bare_statement_for +%type bare_statement_for_control +%type bare_statement_for_over %type bare_statement_format %type bare_statement_given %type bare_statement_if @@ -345,6 +347,11 @@ bare_statement_field_declaration ; bare_statement_for + : bare_statement_for_control + | bare_statement_for_over + ; + +bare_statement_for_control : KW_FOR remember PERLY_PAREN_OPEN @@ -376,7 +383,10 @@ bare_statement_for $$ = block_end($remember, forop); parser->copline = (line_t)$KW_FOR; } - | KW_FOR + ; + +bare_statement_for_over + : KW_FOR remember KW_MY my_scalar From a85bb50ab6cd630782350140d54b6666ccfc39a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Wed, 22 Oct 2025 21:15:27 +0200 Subject: [PATCH 5/7] [parser] Add `clause_mexpr` to remove duplicated code Sequence `PERLY_PAREN_OPEN` `mexpr` `PERLY_PAREN_CLOSE` is repeated in several places, add new non-terminal `clause_mexpr` to remove this repetition. --- perly.act | 1144 +++++++++++++++++----------------- perly.h | 2 +- perly.tab | 1755 ++++++++++++++++++++++++++--------------------------- perly.y | 52 +- 4 files changed, 1468 insertions(+), 1485 deletions(-) diff --git a/perly.act b/perly.act index 04eae1ffab10..b6bd81a02d77 100644 --- a/perly.act +++ b/perly.act @@ -5,7 +5,7 @@ */ case 2: /* @1: %empty */ -#line 190 "perly.y" +#line 191 "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 195 "perly.y" +#line 196 "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 201 "perly.y" +#line 202 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: /* @1: %empty */ break; case 5: /* grammar: GRAMEXPR @2 optexpr */ -#line 206 "perly.y" +#line 207 "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 211 "perly.y" +#line 212 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: /* @1: %empty */ break; case 7: /* grammar: GRAMBLOCK @3 block */ -#line 216 "perly.y" +#line 217 "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 224 "perly.y" +#line 225 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: /* @1: %empty */ break; case 9: /* grammar: GRAMBARESTMT @4 barestmt */ -#line 229 "perly.y" +#line 230 "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 237 "perly.y" +#line 238 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: /* @1: %empty */ break; case 11: /* grammar: GRAMFULLSTMT @5 fullstmt */ -#line 242 "perly.y" +#line 243 "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 250 "perly.y" +#line 251 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: /* @1: %empty */ break; case 13: /* grammar: GRAMSTMTSEQ @6 stmtseq */ -#line 255 "perly.y" +#line 256 "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 260 "perly.y" +#line 261 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: /* @1: %empty */ break; case 15: /* grammar: GRAMSUBSIGNATURE @7 subsigguts */ -#line 265 "perly.y" +#line 266 "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 274 "perly.y" +#line 275 "perly.y" { (yyval.opval) = new_block_statement ((ps[-1].val.opval), (ps[0].val.opval)); } @@ -149,7 +149,7 @@ case 2: /* @1: %empty */ break; case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_SEMICOLON */ -#line 285 "perly.y" +#line 286 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); (yyval.opval) = NULL; @@ -162,7 +162,7 @@ case 2: /* @1: %empty */ break; case 18: /* $@8: %empty */ -#line 302 "perly.y" +#line 303 "perly.y" { package ((ps[-3].val.opval), (ps[-4].val.opval)); class_setup_stash(PL_curstash); @@ -174,7 +174,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 311 "perly.y" +#line 312 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -184,7 +184,7 @@ case 2: /* @1: %empty */ break; case 20: /* bare_statement_default: KW_DEFAULT block */ -#line 321 "perly.y" +#line 322 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } @@ -192,7 +192,7 @@ case 2: /* @1: %empty */ break; case 21: /* bare_statement_defer: KW_DEFER mblock */ -#line 328 "perly.y" +#line 329 "perly.y" { (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval))); } @@ -200,7 +200,7 @@ case 2: /* @1: %empty */ break; case 22: /* bare_statement_expression: sideff PERLY_SEMICOLON */ -#line 336 "perly.y" +#line 337 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -208,7 +208,7 @@ case 2: /* @1: %empty */ break; case 23: /* bare_statement_field_declaration: fielddecl PERLY_SEMICOLON */ -#line 344 "perly.y" +#line 345 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -216,7 +216,7 @@ case 2: /* @1: %empty */ break; case 26: /* $@9: %empty */ -#line 360 "perly.y" +#line 361 "perly.y" { parser->expect = XTERM; } @@ -224,7 +224,7 @@ case 2: /* @1: %empty */ break; case 27: /* $@10: %empty */ -#line 365 "perly.y" +#line 366 "perly.y" { parser->expect = XTERM; } @@ -232,7 +232,7 @@ case 2: /* @1: %empty */ break; case 28: /* bare_statement_for_control: KW_FOR remember PERLY_PAREN_OPEN mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ -#line 372 "perly.y" +#line 373 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival)); @@ -250,39 +250,39 @@ case 2: /* @1: %empty */ break; - case 29: /* bare_statement_for_over: KW_FOR remember KW_MY my_scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 398 "perly.y" + case 29: /* bare_statement_for_over: KW_FOR remember KW_MY my_scalar clause_mexpr mblock cont */ +#line 397 "perly.y" { - (yyval.opval) = block_end((ps[-7].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); + (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-6].val.ival); } break; - case 30: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 413 "perly.y" + case 30: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE clause_mexpr mblock cont */ +#line 410 "perly.y" { - if ((ps[-6].val.opval)->op_type == OP_PADSV) + if ((ps[-4].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... Flag it so it can be special-cased in newFOROP */ - (ps[-6].val.opval)->op_flags |= OPf_PARENS; - (yyval.opval) = block_end((ps[-9].val.ival), newFOROP(0, (ps[-6].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-10].val.ival); + (ps[-4].val.opval)->op_flags |= OPf_PARENS; + (yyval.opval) = block_end((ps[-7].val.ival), newFOROP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-8].val.ival); } break; - case 31: /* bare_statement_for_over: KW_FOR remember scalar PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 429 "perly.y" + case 31: /* bare_statement_for_over: KW_FOR remember scalar clause_mexpr mblock cont */ +#line 424 "perly.y" { - (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, op_lvalue((ps[-5].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-7].val.ival); + (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, op_lvalue((ps[-3].val.opval), OP_ENTERLOOP), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-5].val.ival); } break; case 32: /* @11: %empty */ -#line 437 "perly.y" +#line 432 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); @@ -290,56 +290,56 @@ case 2: /* @1: %empty */ break; - case 33: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @11 PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 446 "perly.y" + case 33: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @11 clause_mexpr mblock cont */ +#line 439 "perly.y" { (yyval.opval) = block_end( - (ps[-8].val.ival), + (ps[-6].val.ival), newFOROP( 0, op_lvalue( - newUNOP(OP_REFGEN, 0, (ps[-5].val.opval)), + newUNOP(OP_REFGEN, 0, (ps[-3].val.opval)), OP_ENTERLOOP ), - (ps[-3].val.opval), + (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval) ) ); - parser->copline = (line_t)(ps[-9].val.ival); + parser->copline = (line_t)(ps[-7].val.ival); } break; - case 34: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 471 "perly.y" + case 34: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic clause_mexpr mblock cont */ +#line 462 "perly.y" { (yyval.opval) = block_end ( - (ps[-7].val.ival), + (ps[-5].val.ival), newFOROP ( 0, - op_lvalue (newUNOP(OP_REFGEN, 0, (ps[-5].val.opval)), OP_ENTERLOOP), - (ps[-3].val.opval), + op_lvalue (newUNOP(OP_REFGEN, 0, (ps[-3].val.opval)), OP_ENTERLOOP), + (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval) ) ); - parser->copline = (line_t)(ps[-8].val.ival); + parser->copline = (line_t)(ps[-6].val.ival); } break; - case 35: /* bare_statement_for_over: KW_FOR remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock cont */ -#line 491 "perly.y" + case 35: /* bare_statement_for_over: KW_FOR remember clause_mexpr mblock cont */ +#line 480 "perly.y" { - (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-6].val.ival); + (yyval.opval) = block_end((ps[-3].val.ival), newFOROP(0, NULL, (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-4].val.ival); } break; case 36: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ -#line 502 "perly.y" +#line 491 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -352,26 +352,26 @@ case 2: /* @1: %empty */ break; - case 37: /* bare_statement_given: KW_GIVEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ -#line 520 "perly.y" + case 37: /* bare_statement_given: KW_GIVEN remember clause_mexpr mblock */ +#line 507 "perly.y" { - (yyval.opval) = block_end((ps[-4].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0)); - parser->copline = (line_t)(ps[-5].val.ival); + (yyval.opval) = block_end((ps[-2].val.ival), newGIVENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)), 0)); + parser->copline = (line_t)(ps[-3].val.ival); } break; - case 38: /* bare_statement_if: KW_IF remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 534 "perly.y" + case 38: /* bare_statement_if: KW_IF remember clause_mexpr mblock else */ +#line 519 "perly.y" { - (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-6].val.ival); + (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-4].val.ival); } break; case 39: /* bare_statement_null: PERLY_SEMICOLON */ -#line 542 "perly.y" +#line 527 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -380,7 +380,7 @@ case 2: /* @1: %empty */ break; case 40: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ -#line 558 "perly.y" +#line 543 "perly.y" { package ((ps[-1].val.opval), (ps[-2].val.opval)); (yyval.opval) = NULL; @@ -389,7 +389,7 @@ case 2: /* @1: %empty */ break; case 41: /* $@12: %empty */ -#line 570 "perly.y" +#line 555 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); } @@ -397,7 +397,7 @@ case 2: /* @1: %empty */ break; case 42: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@12 stmtseq PERLY_BRACE_CLOSE */ -#line 575 "perly.y" +#line 560 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -407,7 +407,7 @@ case 2: /* @1: %empty */ break; case 43: /* $@13: %empty */ -#line 585 "perly.y" +#line 570 "perly.y" { switch((ps[-1].val.ival)) { case KEY_ADJUST: @@ -422,7 +422,7 @@ case 2: /* @1: %empty */ break; case 44: /* bare_statement_phaser: PHASER startsub $@13 optsubbody */ -#line 596 "perly.y" +#line 581 "perly.y" { OP *body = (ps[0].val.opval); SvREFCNT_inc_simple_void(PL_compcv); @@ -442,7 +442,7 @@ case 2: /* @1: %empty */ break; case 45: /* $@14: %empty */ -#line 620 "perly.y" +#line 605 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); if((ps[-2].val.ival) == KW_METHOD_named) { @@ -456,7 +456,7 @@ case 2: /* @1: %empty */ break; case 46: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@14 subattrlist optsigsubbody */ -#line 631 "perly.y" +#line 616 "perly.y" { OP *body = (ps[0].val.opval); @@ -473,7 +473,7 @@ case 2: /* @1: %empty */ break; case 47: /* $@15: %empty */ -#line 650 "perly.y" +#line 635 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -483,7 +483,7 @@ case 2: /* @1: %empty */ break; case 48: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@15 proto subattrlist optsubbody */ -#line 658 "perly.y" +#line 643 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -498,7 +498,7 @@ case 2: /* @1: %empty */ break; case 49: /* $@16: %empty */ -#line 676 "perly.y" +#line 661 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -509,7 +509,7 @@ case 2: /* @1: %empty */ break; case 50: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@16 mblock finally */ -#line 684 "perly.y" +#line 669 "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)))); if((ps[0].val.opval)) @@ -519,17 +519,17 @@ case 2: /* @1: %empty */ break; - case 51: /* bare_statement_unless: KW_UNLESS remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 700 "perly.y" + case 51: /* bare_statement_unless: KW_UNLESS remember clause_mexpr mblock else */ +#line 683 "perly.y" { - (yyval.opval) = block_end((ps[-5].val.ival), newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); - parser->copline = (line_t)(ps[-6].val.ival); + (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); + parser->copline = (line_t)(ps[-4].val.ival); } break; case 52: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 715 "perly.y" +#line 698 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -538,13 +538,13 @@ case 2: /* @1: %empty */ break; case 53: /* $@17: %empty */ -#line 724 "perly.y" +#line 707 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; case 54: /* bare_statement_utilize: KW_USE_or_NO startsub $@17 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ -#line 731 "perly.y" +#line 714 "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)); @@ -554,16 +554,16 @@ case 2: /* @1: %empty */ break; - case 55: /* bare_statement_when: KW_WHEN remember PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock */ -#line 746 "perly.y" + case 55: /* bare_statement_when: KW_WHEN remember clause_mexpr mblock */ +#line 727 "perly.y" { - (yyval.opval) = block_end((ps[-4].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); + (yyval.opval) = block_end((ps[-2].val.ival), newWHENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)))); } break; case 56: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 760 "perly.y" +#line 741 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -572,7 +572,7 @@ case 2: /* @1: %empty */ break; case 57: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ -#line 768 "perly.y" +#line 749 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -580,20 +580,28 @@ case 2: /* @1: %empty */ break; - case 58: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 777 "perly.y" + case 58: /* clause_mexpr: PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE */ +#line 759 "perly.y" + { + (yyval.opval) = (ps[-1].val.opval); + } + + break; + + case 59: /* sigsub_or_method_named: KW_SUB_named_sig */ +#line 767 "perly.y" { (yyval.ival) = KW_SUB_named_sig; } break; - case 59: /* sigsub_or_method_named: KW_METHOD_named */ -#line 779 "perly.y" + case 60: /* sigsub_or_method_named: KW_METHOD_named */ +#line 769 "perly.y" { (yyval.ival) = KW_METHOD_named; } break; - case 60: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ -#line 784 "perly.y" + case 61: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ +#line 774 "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)); @@ -601,14 +609,14 @@ case 2: /* @1: %empty */ break; - case 61: /* empty: %empty */ -#line 791 "perly.y" + case 62: /* empty: %empty */ +#line 781 "perly.y" { (yyval.opval) = NULL; } break; - case 62: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ -#line 796 "perly.y" + case 63: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ +#line 786 "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)); @@ -616,15 +624,15 @@ case 2: /* @1: %empty */ break; - case 63: /* remember: %empty */ -#line 803 "perly.y" + case 64: /* remember: %empty */ +#line 793 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; - case 64: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ -#line 808 "perly.y" + case 65: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ +#line 798 "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)); @@ -632,33 +640,33 @@ case 2: /* @1: %empty */ break; - case 65: /* mremember: %empty */ -#line 815 "perly.y" + case 66: /* mremember: %empty */ +#line 805 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; - case 67: /* $@18: %empty */ -#line 824 "perly.y" + case 68: /* $@18: %empty */ +#line 814 "perly.y" { parser->in_my = KEY_catch; } break; - case 68: /* $@19: %empty */ -#line 826 "perly.y" + case 69: /* $@19: %empty */ +#line 816 "perly.y" { parser->in_my = 0; intro_my(); } break; - case 69: /* catch_paren: PERLY_PAREN_OPEN $@18 scalar $@19 PERLY_PAREN_CLOSE */ -#line 828 "perly.y" + case 70: /* catch_paren: PERLY_PAREN_OPEN $@18 scalar $@19 PERLY_PAREN_CLOSE */ +#line 818 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 71: /* stmtseq: stmtseq fullstmt */ -#line 835 "perly.y" + case 72: /* stmtseq: stmtseq fullstmt */ +#line 825 "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)) @@ -667,8 +675,8 @@ case 2: /* @1: %empty */ break; - case 73: /* formstmtseq: formstmtseq formline */ -#line 846 "perly.y" + case 74: /* formstmtseq: formstmtseq formline */ +#line 836 "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)) @@ -677,22 +685,22 @@ case 2: /* @1: %empty */ break; - case 74: /* fullstmt: barestmt */ -#line 855 "perly.y" + case 75: /* fullstmt: barestmt */ +#line 845 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } break; - case 75: /* fullstmt: labfullstmt */ -#line 859 "perly.y" + case 76: /* fullstmt: labfullstmt */ +#line 849 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 76: /* labfullstmt: LABEL barestmt */ -#line 863 "perly.y" + case 77: /* labfullstmt: LABEL barestmt */ +#line 853 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -702,8 +710,8 @@ case 2: /* @1: %empty */ break; - case 77: /* labfullstmt: LABEL labfullstmt */ -#line 870 "perly.y" + case 78: /* labfullstmt: LABEL labfullstmt */ +#line 860 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -713,8 +721,8 @@ case 2: /* @1: %empty */ break; - case 103: /* formline: THING formarg */ -#line 915 "perly.y" + case 104: /* formline: THING formarg */ +#line 905 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -732,63 +740,63 @@ case 2: /* @1: %empty */ break; - case 105: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ -#line 934 "perly.y" + case 106: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ +#line 924 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 107: /* sideff: error */ -#line 942 "perly.y" + case 108: /* sideff: error */ +#line 932 "perly.y" { (yyval.opval) = NULL; } break; - case 108: /* sideff: expr */ -#line 944 "perly.y" + case 109: /* sideff: expr */ +#line 934 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 109: /* sideff: expr KW_IF condition */ -#line 946 "perly.y" + case 110: /* sideff: expr KW_IF condition */ +#line 936 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 110: /* sideff: expr KW_UNLESS condition */ -#line 948 "perly.y" + case 111: /* sideff: expr KW_UNLESS condition */ +#line 938 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 111: /* sideff: expr KW_WHILE condition */ -#line 950 "perly.y" + case 112: /* sideff: expr KW_WHILE condition */ +#line 940 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 112: /* sideff: expr KW_UNTIL iexpr */ -#line 952 "perly.y" + case 113: /* sideff: expr KW_UNTIL iexpr */ +#line 942 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 113: /* sideff: expr KW_FOR condition */ -#line 954 "perly.y" + case 114: /* sideff: expr KW_FOR condition */ +#line 944 "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 114: /* sideff: expr KW_WHEN condition */ -#line 957 "perly.y" + case 115: /* sideff: expr KW_WHEN condition */ +#line 947 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 116: /* else: KW_ELSE mblock */ -#line 964 "perly.y" + case 117: /* else: KW_ELSE mblock */ +#line 954 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -796,105 +804,105 @@ case 2: /* @1: %empty */ break; - case 117: /* else: KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else */ -#line 969 "perly.y" - { parser->copline = (line_t)(ps[-5].val.ival); + case 118: /* else: KW_ELSIF clause_mexpr mblock else */ +#line 959 "perly.y" + { parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = newCONDOP(0, - newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)), + newSTATEOP(OPf_SPECIAL,NULL,(ps[-2].val.opval)), op_scope((ps[-1].val.opval)), (ps[0].val.opval)); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 119: /* cont: KW_CONTINUE block */ -#line 981 "perly.y" + case 120: /* cont: KW_CONTINUE block */ +#line 971 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 120: /* finally: %empty */ -#line 986 "perly.y" + case 121: /* finally: %empty */ +#line 976 "perly.y" { (yyval.opval) = NULL; } break; - case 121: /* finally: KW_FINALLY block */ -#line 988 "perly.y" + case 122: /* finally: KW_FINALLY block */ +#line 978 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 122: /* mintro: %empty */ -#line 993 "perly.y" + case 123: /* mintro: %empty */ +#line 983 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 125: /* texpr: %empty */ -#line 1005 "perly.y" + case 126: /* texpr: %empty */ +#line 995 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 127: /* iexpr: expr */ -#line 1013 "perly.y" + case 128: /* iexpr: expr */ +#line 1003 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 128: /* mexpr: expr */ -#line 1018 "perly.y" + case 129: /* mexpr: expr */ +#line 1008 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 129: /* mnexpr: nexpr */ -#line 1022 "perly.y" + case 130: /* mnexpr: nexpr */ +#line 1012 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 130: /* formname: BAREWORD */ -#line 1025 "perly.y" + case 131: /* formname: BAREWORD */ +#line 1015 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 132: /* startsub: %empty */ -#line 1030 "perly.y" + case 133: /* startsub: %empty */ +#line 1020 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 133: /* startanonsub: %empty */ -#line 1036 "perly.y" + case 134: /* startanonsub: %empty */ +#line 1026 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 134: /* startanonmethod: %empty */ -#line 1041 "perly.y" + case 135: /* startanonmethod: %empty */ +#line 1031 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD); SAVEFREESV(PL_compcv); } break; - case 135: /* startformsub: %empty */ -#line 1046 "perly.y" + case 136: /* startformsub: %empty */ +#line 1036 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 141: /* subattrlist: COLONATTR THING */ -#line 1065 "perly.y" + case 142: /* subattrlist: COLONATTR THING */ +#line 1055 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -904,50 +912,50 @@ case 2: /* @1: %empty */ break; - case 142: /* subattrlist: COLONATTR */ -#line 1072 "perly.y" + case 143: /* subattrlist: COLONATTR */ +#line 1062 "perly.y" { (yyval.opval) = NULL; } break; - case 143: /* myattrlist: COLONATTR THING */ -#line 1077 "perly.y" + case 144: /* myattrlist: COLONATTR THING */ +#line 1067 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 144: /* myattrlist: COLONATTR */ -#line 1079 "perly.y" + case 145: /* myattrlist: COLONATTR */ +#line 1069 "perly.y" { (yyval.opval) = NULL; } break; - case 145: /* sigvar: %empty */ -#line 1090 "perly.y" + case 146: /* sigvar: %empty */ +#line 1080 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 146: /* sigvar: PRIVATEREF */ -#line 1092 "perly.y" + case 147: /* sigvar: PRIVATEREF */ +#line 1082 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 147: /* sigslurpsigil: PERLY_SNAIL */ -#line 1097 "perly.y" + case 148: /* sigslurpsigil: PERLY_SNAIL */ +#line 1087 "perly.y" { (yyval.ival) = '@'; } break; - case 148: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1099 "perly.y" + case 149: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1089 "perly.y" { (yyval.ival) = '%'; } break; - case 149: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1103 "perly.y" + case 150: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1093 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -955,36 +963,36 @@ case 2: /* @1: %empty */ break; - case 150: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1108 "perly.y" + case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1098 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1112 "perly.y" + case 152: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1102 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 152: /* optcolon: %empty */ -#line 1118 "perly.y" + case 153: /* optcolon: %empty */ +#line 1108 "perly.y" { (yyval.ival) = 0; } break; - case 153: /* optcolon: PERLY_COLON */ -#line 1120 "perly.y" + case 154: /* optcolon: PERLY_COLON */ +#line 1110 "perly.y" { (yyval.ival) = ':'; } break; - case 154: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1126 "perly.y" + case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1116 "perly.y" { if((ps[-2].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.ival)]; @@ -997,8 +1005,8 @@ case 2: /* @1: %empty */ break; - case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1136 "perly.y" + case 156: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1126 "perly.y" { if((ps[-4].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[-2].val.ival)]; @@ -1011,32 +1019,32 @@ case 2: /* @1: %empty */ break; - case 156: /* optsigscalardefault: %empty */ -#line 1149 "perly.y" + case 157: /* optsigscalardefault: %empty */ +#line 1139 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 158: /* sigelem: sigscalarelem */ -#line 1156 "perly.y" + case 159: /* sigelem: sigscalarelem */ +#line 1146 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 159: /* sigelem: sigslurpelem */ -#line 1158 "perly.y" + case 160: /* sigelem: sigslurpelem */ +#line 1148 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 167: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1184 "perly.y" + case 168: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1174 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 168: /* $@20: %empty */ -#line 1187 "perly.y" + case 169: /* $@20: %empty */ +#line 1177 "perly.y" { ENTER; subsignature_start(); @@ -1045,8 +1053,8 @@ case 2: /* @1: %empty */ break; - case 169: /* subsigguts: $@20 optsiglist */ -#line 1193 "perly.y" + case 170: /* subsigguts: $@20 optsiglist */ +#line 1183 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1073,14 +1081,14 @@ case 2: /* @1: %empty */ break; - case 171: /* optsubbody: PERLY_SEMICOLON */ -#line 1221 "perly.y" + case 172: /* optsubbody: PERLY_SEMICOLON */ +#line 1211 "perly.y" { (yyval.opval) = NULL; } break; - case 172: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1227 "perly.y" + case 173: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1217 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1089,20 +1097,20 @@ case 2: /* @1: %empty */ break; - case 174: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1239 "perly.y" + case 175: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1229 "perly.y" { (yyval.opval) = NULL; } break; - case 175: /* $@21: %empty */ -#line 1244 "perly.y" + case 176: /* $@21: %empty */ +#line 1234 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 176: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1246 "perly.y" + case 177: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1236 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1112,38 +1120,38 @@ case 2: /* @1: %empty */ break; - case 177: /* expr: expr ANDOP expr */ -#line 1257 "perly.y" + case 178: /* expr: expr ANDOP expr */ +#line 1247 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 178: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1259 "perly.y" + case 179: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1249 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 179: /* expr: expr OROP expr */ -#line 1261 "perly.y" + case 180: /* expr: expr OROP expr */ +#line 1251 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 180: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1263 "perly.y" + case 181: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1253 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 182: /* listexpr: listexpr PERLY_COMMA */ -#line 1269 "perly.y" + case 183: /* listexpr: listexpr PERLY_COMMA */ +#line 1259 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 183: /* listexpr: listexpr PERLY_COMMA term */ -#line 1271 "perly.y" + case 184: /* listexpr: listexpr PERLY_COMMA term */ +#line 1261 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1151,32 +1159,32 @@ case 2: /* @1: %empty */ break; - case 185: /* listop: LSTOP indirob listexpr */ -#line 1280 "perly.y" + case 186: /* listop: LSTOP indirob listexpr */ +#line 1270 "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 186: /* listop: BLKLSTOP block listexpr */ -#line 1284 "perly.y" + case 187: /* listop: BLKLSTOP block listexpr */ +#line 1274 "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 187: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1288 "perly.y" + case 188: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1278 "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 188: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1292 "perly.y" + case 189: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1282 "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)), @@ -1185,8 +1193,8 @@ case 2: /* @1: %empty */ break; - case 189: /* listop: term ARROW methodname */ -#line 1298 "perly.y" + case 190: /* listop: term ARROW methodname */ +#line 1288 "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)))); @@ -1194,8 +1202,8 @@ case 2: /* @1: %empty */ break; - case 190: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1303 "perly.y" + case 191: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1293 "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)), @@ -1204,8 +1212,8 @@ case 2: /* @1: %empty */ break; - case 191: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1309 "perly.y" + case 192: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1299 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1214,8 +1222,8 @@ case 2: /* @1: %empty */ break; - case 192: /* listop: METHCALL0 indirob optlistexpr */ -#line 1315 "perly.y" + case 193: /* listop: METHCALL0 indirob optlistexpr */ +#line 1305 "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)), @@ -1224,8 +1232,8 @@ case 2: /* @1: %empty */ break; - case 193: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1321 "perly.y" + case 194: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1311 "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)), @@ -1234,26 +1242,26 @@ case 2: /* @1: %empty */ break; - case 194: /* listop: LSTOP optlistexpr */ -#line 1327 "perly.y" + case 195: /* listop: LSTOP optlistexpr */ +#line 1317 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 195: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1329 "perly.y" + case 196: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1319 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 196: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1331 "perly.y" + case 197: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1321 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 197: /* @22: %empty */ -#line 1333 "perly.y" + case 198: /* @22: %empty */ +#line 1323 "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 */ @@ -1262,8 +1270,8 @@ case 2: /* @1: %empty */ break; - case 198: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1339 "perly.y" + case 199: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1329 "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))); @@ -1271,21 +1279,21 @@ case 2: /* @1: %empty */ break; - case 201: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1354 "perly.y" + case 202: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1344 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 202: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1356 "perly.y" + case 203: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1346 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 203: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1359 "perly.y" + case 204: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1349 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1293,8 +1301,8 @@ case 2: /* @1: %empty */ break; - case 204: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1364 "perly.y" + case 205: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1354 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1302,31 +1310,31 @@ case 2: /* @1: %empty */ break; - case 205: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1369 "perly.y" + case 206: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1359 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 206: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1372 "perly.y" + case 207: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1362 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 207: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1376 "perly.y" + case 208: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1366 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 208: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1380 "perly.y" + case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1370 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1335,8 +1343,8 @@ case 2: /* @1: %empty */ break; - case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1386 "perly.y" + case 210: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1376 "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))))); @@ -1346,8 +1354,8 @@ case 2: /* @1: %empty */ break; - case 210: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1394 "perly.y" + case 211: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1384 "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))))); @@ -1357,8 +1365,8 @@ case 2: /* @1: %empty */ break; - case 211: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1401 "perly.y" + case 212: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1391 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1367,56 +1375,56 @@ case 2: /* @1: %empty */ break; - case 212: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1407 "perly.y" + case 213: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1397 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 213: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1409 "perly.y" + case 214: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1399 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 214: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1411 "perly.y" + case 215: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1401 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 215: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1416 "perly.y" + case 216: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1406 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 216: /* termbinop: term ASSIGNOP term */ -#line 1418 "perly.y" + case 217: /* termbinop: term ASSIGNOP term */ +#line 1408 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 217: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1420 "perly.y" + case 218: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1410 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 218: /* termbinop: term POWOP term */ -#line 1422 "perly.y" + case 219: /* termbinop: term POWOP term */ +#line 1412 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 219: /* termbinop: term PLUGIN_POW_OP term */ -#line 1424 "perly.y" + case 220: /* termbinop: term PLUGIN_POW_OP term */ +#line 1414 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 220: /* termbinop: term MULOP term */ -#line 1426 "perly.y" + case 221: /* termbinop: term MULOP term */ +#line 1416 "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))); @@ -1424,220 +1432,220 @@ case 2: /* @1: %empty */ break; - case 221: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1431 "perly.y" + case 222: /* termbinop: term PLUGIN_MUL_OP term */ +#line 1421 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 222: /* termbinop: term ADDOP term */ -#line 1433 "perly.y" + case 223: /* termbinop: term ADDOP term */ +#line 1423 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 223: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1435 "perly.y" + case 224: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1425 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 224: /* termbinop: term SHIFTOP term */ -#line 1437 "perly.y" + case 225: /* termbinop: term SHIFTOP term */ +#line 1427 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 225: /* termbinop: termrelop */ -#line 1439 "perly.y" + case 226: /* termbinop: termrelop */ +#line 1429 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 226: /* termbinop: termeqop */ -#line 1441 "perly.y" + case 227: /* termbinop: termeqop */ +#line 1431 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 227: /* termbinop: term BITANDOP term */ -#line 1443 "perly.y" + case 228: /* termbinop: term BITANDOP term */ +#line 1433 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 228: /* termbinop: term BITOROP term */ -#line 1445 "perly.y" + case 229: /* termbinop: term BITOROP term */ +#line 1435 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 229: /* termbinop: term DOTDOT term */ -#line 1447 "perly.y" + case 230: /* termbinop: term DOTDOT term */ +#line 1437 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 230: /* termbinop: term ANDAND term */ -#line 1449 "perly.y" + case 231: /* termbinop: term ANDAND term */ +#line 1439 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 231: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1451 "perly.y" + case 232: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1441 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 232: /* termbinop: term OROR term */ -#line 1453 "perly.y" + case 233: /* termbinop: term OROR term */ +#line 1443 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 233: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1455 "perly.y" + case 234: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1445 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 234: /* termbinop: term DORDOR term */ -#line 1457 "perly.y" + case 235: /* termbinop: term DORDOR term */ +#line 1447 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 235: /* termbinop: term MATCHOP term */ -#line 1459 "perly.y" + case 236: /* termbinop: term MATCHOP term */ +#line 1449 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 236: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1461 "perly.y" + case 237: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1451 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 237: /* termrelop: relopchain */ -#line 1465 "perly.y" + case 238: /* termrelop: relopchain */ +#line 1455 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 238: /* termrelop: term NCRELOP term */ -#line 1467 "perly.y" + case 239: /* termrelop: term NCRELOP term */ +#line 1457 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 239: /* termrelop: termrelop NCRELOP */ -#line 1469 "perly.y" + case 240: /* termrelop: termrelop NCRELOP */ +#line 1459 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 240: /* termrelop: termrelop CHRELOP */ -#line 1471 "perly.y" + case 241: /* termrelop: termrelop CHRELOP */ +#line 1461 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 241: /* termrelop: term PLUGIN_REL_OP term */ -#line 1473 "perly.y" + case 242: /* termrelop: term PLUGIN_REL_OP term */ +#line 1463 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 242: /* relopchain: term CHRELOP term */ -#line 1477 "perly.y" + case 243: /* relopchain: term CHRELOP term */ +#line 1467 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 243: /* relopchain: relopchain CHRELOP term */ -#line 1479 "perly.y" + case 244: /* relopchain: relopchain CHRELOP term */ +#line 1469 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 244: /* termeqop: eqopchain */ -#line 1483 "perly.y" + case 245: /* termeqop: eqopchain */ +#line 1473 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 245: /* termeqop: term NCEQOP term */ -#line 1485 "perly.y" + case 246: /* termeqop: term NCEQOP term */ +#line 1475 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 246: /* termeqop: termeqop NCEQOP */ -#line 1487 "perly.y" + case 247: /* termeqop: termeqop NCEQOP */ +#line 1477 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 247: /* termeqop: termeqop CHEQOP */ -#line 1489 "perly.y" + case 248: /* termeqop: termeqop CHEQOP */ +#line 1479 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 248: /* eqopchain: term CHEQOP term */ -#line 1493 "perly.y" + case 249: /* eqopchain: term CHEQOP term */ +#line 1483 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 249: /* eqopchain: eqopchain CHEQOP term */ -#line 1495 "perly.y" + case 250: /* eqopchain: eqopchain CHEQOP term */ +#line 1485 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 250: /* termunop: PERLY_MINUS term */ -#line 1500 "perly.y" + case 251: /* termunop: PERLY_MINUS term */ +#line 1490 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 251: /* termunop: PERLY_PLUS term */ -#line 1502 "perly.y" + case 252: /* termunop: PERLY_PLUS term */ +#line 1492 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 252: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1505 "perly.y" + case 253: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1495 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 253: /* termunop: PERLY_TILDE term */ -#line 1507 "perly.y" + case 254: /* termunop: PERLY_TILDE term */ +#line 1497 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 254: /* termunop: term POSTINC */ -#line 1509 "perly.y" + case 255: /* termunop: term POSTINC */ +#line 1499 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 255: /* termunop: term POSTDEC */ -#line 1512 "perly.y" + case 256: /* termunop: term POSTDEC */ +#line 1502 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 256: /* termunop: term POSTJOIN */ -#line 1515 "perly.y" + case 257: /* termunop: term POSTJOIN */ +#line 1505 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1651,60 +1659,60 @@ case 2: /* @1: %empty */ break; - case 257: /* termunop: PREINC term */ -#line 1526 "perly.y" + case 258: /* termunop: PREINC term */ +#line 1516 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 258: /* termunop: PREDEC term */ -#line 1529 "perly.y" + case 259: /* termunop: PREDEC term */ +#line 1519 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 259: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1537 "perly.y" + case 260: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1527 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 260: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1539 "perly.y" + case 261: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1529 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 261: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1541 "perly.y" + case 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1531 "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 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1544 "perly.y" + case 263: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1534 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 263: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1546 "perly.y" + case 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1536 "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 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1549 "perly.y" + case 265: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1539 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 265: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1551 "perly.y" + case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1541 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1712,104 +1720,104 @@ case 2: /* @1: %empty */ break; - case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1556 "perly.y" + case 267: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1546 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 267: /* termdo: KW_DO term */ -#line 1561 "perly.y" + case 268: /* termdo: KW_DO term */ +#line 1551 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 268: /* termdo: KW_DO block */ -#line 1563 "perly.y" + case 269: /* termdo: KW_DO block */ +#line 1553 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 273: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1571 "perly.y" + case 274: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1561 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 274: /* term: REFGEN term */ -#line 1573 "perly.y" + case 275: /* term: REFGEN term */ +#line 1563 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 275: /* term: myattrterm */ -#line 1575 "perly.y" + case 276: /* term: myattrterm */ +#line 1565 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 276: /* term: KW_LOCAL term */ -#line 1577 "perly.y" + case 277: /* term: KW_LOCAL term */ +#line 1567 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 277: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1579 "perly.y" + case 278: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1569 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 278: /* term: QWLIST */ -#line 1581 "perly.y" + case 279: /* term: QWLIST */ +#line 1571 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 279: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1583 "perly.y" + case 280: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1573 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 280: /* term: scalar */ -#line 1585 "perly.y" + case 281: /* term: scalar */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 281: /* term: star */ -#line 1587 "perly.y" + case 282: /* term: star */ +#line 1577 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: hsh */ -#line 1589 "perly.y" + case 283: /* term: hsh */ +#line 1579 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 283: /* term: ary */ -#line 1591 "perly.y" + case 284: /* term: ary */ +#line 1581 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: arylen */ -#line 1593 "perly.y" + case 285: /* term: arylen */ +#line 1583 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 285: /* term: subscripted */ -#line 1595 "perly.y" + case 286: /* term: subscripted */ +#line 1585 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 286: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1597 "perly.y" + case 287: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1587 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1822,8 +1830,8 @@ case 2: /* @1: %empty */ break; - case 287: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1607 "perly.y" + case 288: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1597 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1836,8 +1844,8 @@ case 2: /* @1: %empty */ break; - case 288: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1617 "perly.y" + case 289: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1607 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1850,8 +1858,8 @@ case 2: /* @1: %empty */ break; - case 289: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1627 "perly.y" + case 290: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1617 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1864,27 +1872,27 @@ case 2: /* @1: %empty */ break; - case 290: /* term: THING */ -#line 1637 "perly.y" + case 291: /* term: THING */ +#line 1627 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 291: /* term: amper */ -#line 1639 "perly.y" + case 292: /* term: amper */ +#line 1629 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 292: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1641 "perly.y" + case 293: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1631 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 293: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1644 "perly.y" + case 294: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1634 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1892,153 +1900,153 @@ case 2: /* @1: %empty */ break; - case 294: /* term: NOAMP subname optlistexpr */ -#line 1649 "perly.y" + case 295: /* term: NOAMP subname optlistexpr */ +#line 1639 "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 295: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1653 "perly.y" + case 296: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1643 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 296: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1655 "perly.y" + case 297: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1645 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 297: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1657 "perly.y" + case 298: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1647 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 298: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1659 "perly.y" + case 299: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1649 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 299: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1662 "perly.y" + case 300: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1652 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 300: /* term: LOOPEX */ -#line 1664 "perly.y" + case 301: /* term: LOOPEX */ +#line 1654 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 301: /* term: LOOPEX term */ -#line 1667 "perly.y" + case 302: /* term: LOOPEX term */ +#line 1657 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 302: /* term: NOTOP listexpr */ -#line 1669 "perly.y" + case 303: /* term: NOTOP listexpr */ +#line 1659 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 303: /* term: UNIOP */ -#line 1671 "perly.y" + case 304: /* term: UNIOP */ +#line 1661 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 304: /* term: UNIOP block */ -#line 1673 "perly.y" + case 305: /* term: UNIOP block */ +#line 1663 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 305: /* term: UNIOP term */ -#line 1675 "perly.y" + case 306: /* term: UNIOP term */ +#line 1665 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 306: /* term: KW_REQUIRE */ -#line 1677 "perly.y" + case 307: /* term: KW_REQUIRE */ +#line 1667 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 307: /* term: KW_REQUIRE term */ -#line 1679 "perly.y" + case 308: /* term: KW_REQUIRE term */ +#line 1669 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 308: /* term: UNIOPSUB */ -#line 1681 "perly.y" + case 309: /* term: UNIOPSUB */ +#line 1671 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 309: /* term: UNIOPSUB term */ -#line 1683 "perly.y" + case 310: /* term: UNIOPSUB term */ +#line 1673 "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 310: /* term: FUNC0 */ -#line 1686 "perly.y" + case 311: /* term: FUNC0 */ +#line 1676 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 311: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1688 "perly.y" + case 312: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1678 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 312: /* term: FUNC0OP */ -#line 1690 "perly.y" + case 313: /* term: FUNC0OP */ +#line 1680 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 313: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1692 "perly.y" + case 314: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1682 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 314: /* term: FUNC0SUB */ -#line 1694 "perly.y" + case 315: /* term: FUNC0SUB */ +#line 1684 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 315: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1696 "perly.y" + case 316: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1686 "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 316: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1700 "perly.y" + case 317: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1690 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 317: /* @23: %empty */ -#line 1702 "perly.y" + case 318: /* @23: %empty */ +#line 1692 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2052,68 +2060,68 @@ case 2: /* @1: %empty */ break; - case 318: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1713 "perly.y" + case 319: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1703 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 322: /* myattrterm: KW_MY myterm myattrlist */ -#line 1722 "perly.y" + case 323: /* myattrterm: KW_MY myterm myattrlist */ +#line 1712 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 323: /* myattrterm: KW_MY myterm */ -#line 1724 "perly.y" + case 324: /* myattrterm: KW_MY myterm */ +#line 1714 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 324: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1726 "perly.y" + case 325: /* myattrterm: KW_MY REFGEN myterm myattrlist */ +#line 1716 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 325: /* myattrterm: KW_MY REFGEN term */ -#line 1728 "perly.y" + case 326: /* myattrterm: KW_MY REFGEN term */ +#line 1718 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 326: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1733 "perly.y" + case 327: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1723 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 327: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1735 "perly.y" + case 328: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1725 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 328: /* myterm: scalar */ -#line 1738 "perly.y" + case 329: /* myterm: scalar */ +#line 1728 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 329: /* myterm: hsh */ -#line 1740 "perly.y" + case 330: /* myterm: hsh */ +#line 1730 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 330: /* myterm: ary */ -#line 1742 "perly.y" + case 331: /* myterm: ary */ +#line 1732 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 331: /* fieldvar: scalar */ -#line 1747 "perly.y" + case 332: /* fieldvar: scalar */ +#line 1737 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2121,8 +2129,8 @@ case 2: /* @1: %empty */ break; - case 332: /* fieldvar: hsh */ -#line 1752 "perly.y" + case 333: /* fieldvar: hsh */ +#line 1742 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2130,8 +2138,8 @@ case 2: /* @1: %empty */ break; - case 333: /* fieldvar: ary */ -#line 1757 "perly.y" + case 334: /* fieldvar: ary */ +#line 1747 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2139,20 +2147,20 @@ case 2: /* @1: %empty */ break; - case 334: /* optfieldattrlist: COLONATTR THING */ -#line 1765 "perly.y" + case 335: /* optfieldattrlist: COLONATTR THING */ +#line 1755 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 335: /* optfieldattrlist: COLONATTR */ -#line 1767 "perly.y" + case 336: /* optfieldattrlist: COLONATTR */ +#line 1757 "perly.y" { (yyval.opval) = NULL; } break; - case 337: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1773 "perly.y" + case 338: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ +#line 1763 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2162,8 +2170,8 @@ case 2: /* @1: %empty */ break; - case 338: /* $@24: %empty */ -#line 1780 "perly.y" + case 339: /* $@24: %empty */ +#line 1770 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2174,8 +2182,8 @@ case 2: /* @1: %empty */ break; - case 339: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ -#line 1788 "perly.y" + case 340: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ +#line 1778 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2184,122 +2192,122 @@ case 2: /* @1: %empty */ break; - case 345: /* optrepl: PERLY_SLASH expr */ -#line 1808 "perly.y" + case 346: /* optrepl: PERLY_SLASH expr */ +#line 1798 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 346: /* my_scalar: scalar */ -#line 1814 "perly.y" + case 347: /* my_scalar: scalar */ +#line 1804 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1819 "perly.y" + case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1809 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1821 "perly.y" + case 349: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1811 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 350: /* my_list_of_scalars: list_of_scalars */ -#line 1828 "perly.y" + case 351: /* my_list_of_scalars: list_of_scalars */ +#line 1818 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 358: /* amper: PERLY_AMPERSAND indirob */ -#line 1845 "perly.y" + case 359: /* amper: PERLY_AMPERSAND indirob */ +#line 1835 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 359: /* scalar: PERLY_DOLLAR indirob */ -#line 1849 "perly.y" + case 360: /* scalar: PERLY_DOLLAR indirob */ +#line 1839 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 360: /* ary: PERLY_SNAIL indirob */ -#line 1853 "perly.y" + case 361: /* ary: PERLY_SNAIL indirob */ +#line 1843 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 361: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1859 "perly.y" + case 362: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1849 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 362: /* arylen: DOLSHARP indirob */ -#line 1865 "perly.y" + case 363: /* arylen: DOLSHARP indirob */ +#line 1855 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 363: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1867 "perly.y" + case 364: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1857 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 364: /* star: PERLY_STAR indirob */ -#line 1871 "perly.y" + case 365: /* star: PERLY_STAR indirob */ +#line 1861 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 366: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1876 "perly.y" + case 367: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1866 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 368: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1881 "perly.y" + case 369: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1871 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 370: /* gelem: term ARROW PERLY_STAR */ -#line 1886 "perly.y" + case 371: /* gelem: term ARROW PERLY_STAR */ +#line 1876 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 371: /* indirob: BAREWORD */ -#line 1891 "perly.y" + case 372: /* indirob: BAREWORD */ +#line 1881 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 372: /* indirob: scalar */ -#line 1893 "perly.y" + case 373: /* indirob: scalar */ +#line 1883 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 373: /* indirob: block */ -#line 1895 "perly.y" + case 374: /* indirob: block */ +#line 1885 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 374: /* indirob: PRIVATEREF */ -#line 1898 "perly.y" + case 375: /* indirob: PRIVATEREF */ +#line 1888 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2311,6 +2319,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y + * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 9d924730d7d2..fc877951f8cd 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y + * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index c3e49e923ab2..daa85bd15efa 100644 --- a/perly.tab +++ b/perly.tab @@ -186,102 +186,103 @@ enum yysymbol_kind_t YYSYMBOL_bare_statement_when = 175, /* bare_statement_when */ YYSYMBOL_bare_statement_while = 176, /* bare_statement_while */ YYSYMBOL_bare_statement_yadayada = 177, /* bare_statement_yadayada */ - YYSYMBOL_sigsub_or_method_named = 178, /* sigsub_or_method_named */ - YYSYMBOL_block = 179, /* block */ - YYSYMBOL_empty = 180, /* empty */ - YYSYMBOL_formblock = 181, /* formblock */ - YYSYMBOL_remember = 182, /* remember */ - YYSYMBOL_mblock = 183, /* mblock */ - YYSYMBOL_mremember = 184, /* mremember */ - YYSYMBOL_catch_paren = 185, /* catch_paren */ - YYSYMBOL_186_18 = 186, /* $@18 */ - YYSYMBOL_187_19 = 187, /* $@19 */ - YYSYMBOL_stmtseq = 188, /* stmtseq */ - YYSYMBOL_formstmtseq = 189, /* formstmtseq */ - YYSYMBOL_fullstmt = 190, /* fullstmt */ - YYSYMBOL_labfullstmt = 191, /* labfullstmt */ - YYSYMBOL_barestmt = 192, /* barestmt */ - YYSYMBOL_formline = 193, /* formline */ - YYSYMBOL_formarg = 194, /* formarg */ - YYSYMBOL_condition = 195, /* condition */ - YYSYMBOL_sideff = 196, /* sideff */ - YYSYMBOL_else = 197, /* else */ - YYSYMBOL_cont = 198, /* cont */ - YYSYMBOL_finally = 199, /* finally */ - YYSYMBOL_mintro = 200, /* mintro */ - YYSYMBOL_nexpr = 201, /* nexpr */ - YYSYMBOL_texpr = 202, /* texpr */ - YYSYMBOL_iexpr = 203, /* iexpr */ - YYSYMBOL_mexpr = 204, /* mexpr */ - YYSYMBOL_mnexpr = 205, /* mnexpr */ - YYSYMBOL_formname = 206, /* formname */ - YYSYMBOL_startsub = 207, /* startsub */ - YYSYMBOL_startanonsub = 208, /* startanonsub */ - YYSYMBOL_startanonmethod = 209, /* startanonmethod */ - YYSYMBOL_startformsub = 210, /* startformsub */ - YYSYMBOL_subname = 211, /* subname */ - YYSYMBOL_proto = 212, /* proto */ - YYSYMBOL_subattrlist = 213, /* subattrlist */ - YYSYMBOL_myattrlist = 214, /* myattrlist */ - YYSYMBOL_sigvar = 215, /* sigvar */ - YYSYMBOL_sigslurpsigil = 216, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 217, /* sigslurpelem */ - YYSYMBOL_optcolon = 218, /* optcolon */ - YYSYMBOL_sigscalarelem = 219, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 220, /* optsigscalardefault */ - YYSYMBOL_sigelem = 221, /* sigelem */ - YYSYMBOL_siglist = 222, /* siglist */ - YYSYMBOL_optsiglist = 223, /* optsiglist */ - YYSYMBOL_optsubsignature = 224, /* optsubsignature */ - YYSYMBOL_subsignature = 225, /* subsignature */ - YYSYMBOL_subsigguts = 226, /* subsigguts */ - YYSYMBOL_227_20 = 227, /* $@20 */ - YYSYMBOL_optsubbody = 228, /* optsubbody */ - YYSYMBOL_subbody = 229, /* subbody */ - YYSYMBOL_optsigsubbody = 230, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 231, /* sigsubbody */ - YYSYMBOL_232_21 = 232, /* $@21 */ - YYSYMBOL_expr = 233, /* expr */ - YYSYMBOL_listexpr = 234, /* listexpr */ - YYSYMBOL_listop = 235, /* listop */ - YYSYMBOL_236_22 = 236, /* @22 */ - YYSYMBOL_methodname = 237, /* methodname */ - YYSYMBOL_subscripted = 238, /* subscripted */ - YYSYMBOL_termbinop = 239, /* termbinop */ - YYSYMBOL_termrelop = 240, /* termrelop */ - YYSYMBOL_relopchain = 241, /* relopchain */ - YYSYMBOL_termeqop = 242, /* termeqop */ - YYSYMBOL_eqopchain = 243, /* eqopchain */ - YYSYMBOL_termunop = 244, /* termunop */ - YYSYMBOL_anonymous = 245, /* anonymous */ - YYSYMBOL_termdo = 246, /* termdo */ - YYSYMBOL_term = 247, /* term */ - YYSYMBOL_248_23 = 248, /* @23 */ - YYSYMBOL_myattrterm = 249, /* myattrterm */ - YYSYMBOL_myterm = 250, /* myterm */ - YYSYMBOL_fieldvar = 251, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 252, /* optfieldattrlist */ - YYSYMBOL_fielddecl = 253, /* fielddecl */ - YYSYMBOL_254_24 = 254, /* $@24 */ - YYSYMBOL_optlistexpr = 255, /* optlistexpr */ - YYSYMBOL_optexpr = 256, /* optexpr */ - YYSYMBOL_optrepl = 257, /* optrepl */ - YYSYMBOL_my_scalar = 258, /* my_scalar */ - YYSYMBOL_list_of_scalars = 259, /* list_of_scalars */ - YYSYMBOL_my_list_of_scalars = 260, /* my_list_of_scalars */ - YYSYMBOL_my_var = 261, /* my_var */ - YYSYMBOL_refgen_topic = 262, /* refgen_topic */ - YYSYMBOL_my_refgen = 263, /* my_refgen */ - YYSYMBOL_amper = 264, /* amper */ - YYSYMBOL_scalar = 265, /* scalar */ - YYSYMBOL_ary = 266, /* ary */ - YYSYMBOL_hsh = 267, /* hsh */ - YYSYMBOL_arylen = 268, /* arylen */ - YYSYMBOL_star = 269, /* star */ - YYSYMBOL_sliceme = 270, /* sliceme */ - YYSYMBOL_kvslice = 271, /* kvslice */ - YYSYMBOL_gelem = 272, /* gelem */ - YYSYMBOL_indirob = 273 /* indirob */ + YYSYMBOL_clause_mexpr = 178, /* clause_mexpr */ + YYSYMBOL_sigsub_or_method_named = 179, /* sigsub_or_method_named */ + YYSYMBOL_block = 180, /* block */ + YYSYMBOL_empty = 181, /* empty */ + YYSYMBOL_formblock = 182, /* formblock */ + YYSYMBOL_remember = 183, /* remember */ + YYSYMBOL_mblock = 184, /* mblock */ + YYSYMBOL_mremember = 185, /* mremember */ + YYSYMBOL_catch_paren = 186, /* catch_paren */ + YYSYMBOL_187_18 = 187, /* $@18 */ + YYSYMBOL_188_19 = 188, /* $@19 */ + YYSYMBOL_stmtseq = 189, /* stmtseq */ + YYSYMBOL_formstmtseq = 190, /* formstmtseq */ + YYSYMBOL_fullstmt = 191, /* fullstmt */ + YYSYMBOL_labfullstmt = 192, /* labfullstmt */ + YYSYMBOL_barestmt = 193, /* barestmt */ + YYSYMBOL_formline = 194, /* formline */ + YYSYMBOL_formarg = 195, /* formarg */ + YYSYMBOL_condition = 196, /* condition */ + YYSYMBOL_sideff = 197, /* sideff */ + YYSYMBOL_else = 198, /* else */ + YYSYMBOL_cont = 199, /* cont */ + YYSYMBOL_finally = 200, /* finally */ + YYSYMBOL_mintro = 201, /* mintro */ + YYSYMBOL_nexpr = 202, /* nexpr */ + YYSYMBOL_texpr = 203, /* texpr */ + YYSYMBOL_iexpr = 204, /* iexpr */ + YYSYMBOL_mexpr = 205, /* mexpr */ + YYSYMBOL_mnexpr = 206, /* mnexpr */ + YYSYMBOL_formname = 207, /* formname */ + YYSYMBOL_startsub = 208, /* startsub */ + YYSYMBOL_startanonsub = 209, /* startanonsub */ + YYSYMBOL_startanonmethod = 210, /* startanonmethod */ + YYSYMBOL_startformsub = 211, /* startformsub */ + YYSYMBOL_subname = 212, /* subname */ + YYSYMBOL_proto = 213, /* proto */ + YYSYMBOL_subattrlist = 214, /* subattrlist */ + YYSYMBOL_myattrlist = 215, /* myattrlist */ + YYSYMBOL_sigvar = 216, /* sigvar */ + YYSYMBOL_sigslurpsigil = 217, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 218, /* sigslurpelem */ + YYSYMBOL_optcolon = 219, /* optcolon */ + YYSYMBOL_sigscalarelem = 220, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 221, /* optsigscalardefault */ + YYSYMBOL_sigelem = 222, /* sigelem */ + YYSYMBOL_siglist = 223, /* siglist */ + YYSYMBOL_optsiglist = 224, /* optsiglist */ + YYSYMBOL_optsubsignature = 225, /* optsubsignature */ + YYSYMBOL_subsignature = 226, /* subsignature */ + YYSYMBOL_subsigguts = 227, /* subsigguts */ + YYSYMBOL_228_20 = 228, /* $@20 */ + YYSYMBOL_optsubbody = 229, /* optsubbody */ + YYSYMBOL_subbody = 230, /* subbody */ + YYSYMBOL_optsigsubbody = 231, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 232, /* sigsubbody */ + YYSYMBOL_233_21 = 233, /* $@21 */ + YYSYMBOL_expr = 234, /* expr */ + YYSYMBOL_listexpr = 235, /* listexpr */ + YYSYMBOL_listop = 236, /* listop */ + YYSYMBOL_237_22 = 237, /* @22 */ + YYSYMBOL_methodname = 238, /* methodname */ + YYSYMBOL_subscripted = 239, /* subscripted */ + YYSYMBOL_termbinop = 240, /* termbinop */ + YYSYMBOL_termrelop = 241, /* termrelop */ + YYSYMBOL_relopchain = 242, /* relopchain */ + YYSYMBOL_termeqop = 243, /* termeqop */ + YYSYMBOL_eqopchain = 244, /* eqopchain */ + YYSYMBOL_termunop = 245, /* termunop */ + YYSYMBOL_anonymous = 246, /* anonymous */ + YYSYMBOL_termdo = 247, /* termdo */ + YYSYMBOL_term = 248, /* term */ + YYSYMBOL_249_23 = 249, /* @23 */ + YYSYMBOL_myattrterm = 250, /* myattrterm */ + YYSYMBOL_myterm = 251, /* myterm */ + YYSYMBOL_fieldvar = 252, /* fieldvar */ + YYSYMBOL_optfieldattrlist = 253, /* optfieldattrlist */ + YYSYMBOL_fielddecl = 254, /* fielddecl */ + YYSYMBOL_255_24 = 255, /* $@24 */ + YYSYMBOL_optlistexpr = 256, /* optlistexpr */ + YYSYMBOL_optexpr = 257, /* optexpr */ + YYSYMBOL_optrepl = 258, /* optrepl */ + YYSYMBOL_my_scalar = 259, /* my_scalar */ + YYSYMBOL_list_of_scalars = 260, /* list_of_scalars */ + YYSYMBOL_my_list_of_scalars = 261, /* my_list_of_scalars */ + YYSYMBOL_my_var = 262, /* my_var */ + YYSYMBOL_refgen_topic = 263, /* refgen_topic */ + YYSYMBOL_my_refgen = 264, /* my_refgen */ + YYSYMBOL_amper = 265, /* amper */ + YYSYMBOL_scalar = 266, /* scalar */ + YYSYMBOL_ary = 267, /* ary */ + YYSYMBOL_hsh = 268, /* hsh */ + YYSYMBOL_arylen = 269, /* arylen */ + YYSYMBOL_star = 270, /* star */ + YYSYMBOL_sliceme = 271, /* sliceme */ + YYSYMBOL_kvslice = 272, /* kvslice */ + YYSYMBOL_gelem = 273, /* gelem */ + YYSYMBOL_indirob = 274 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -290,16 +291,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3765 +#define YYLAST 3713 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 141 +#define YYNNTS 142 /* YYNRULES -- Number of rules. */ -#define YYNRULES 374 +#define YYNRULES 375 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 701 +#define YYNSTATES 683 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -361,44 +362,44 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 190, 190, 189, 201, 200, 211, 210, 224, 223, - 237, 236, 250, 249, 260, 259, 272, 280, 302, 296, - 319, 327, 335, 342, 350, 351, 360, 365, 355, 389, - 402, 421, 437, 433, 462, 484, 498, 514, 527, 541, - 549, 570, 565, 585, 583, 620, 617, 650, 647, 676, - 671, 693, 707, 724, 722, 740, 752, 767, 776, 778, - 783, 791, 795, 802, 807, 814, 820, 824, 826, 823, - 833, 834, 844, 845, 854, 858, 862, 869, 886, 887, - 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, - 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, - 908, 909, 910, 914, 932, 933, 937, 941, 943, 945, - 947, 949, 951, 953, 956, 962, 963, 968, 979, 980, - 985, 987, 992, 999, 1000, 1004, 1008, 1012, 1017, 1021, - 1025, 1026, 1029, 1035, 1040, 1045, 1051, 1052, 1057, 1058, - 1063, 1064, 1071, 1076, 1078, 1089, 1091, 1096, 1098, 1102, - 1107, 1111, 1117, 1119, 1125, 1135, 1148, 1150, 1155, 1157, - 1165, 1166, 1167, 1172, 1173, 1178, 1179, 1183, 1187, 1187, - 1220, 1221, 1226, 1238, 1239, 1244, 1243, 1256, 1258, 1260, - 1262, 1264, 1268, 1270, 1275, 1279, 1283, 1287, 1291, 1297, - 1302, 1308, 1314, 1320, 1326, 1328, 1330, 1333, 1332, 1346, - 1347, 1351, 1355, 1358, 1363, 1368, 1371, 1375, 1379, 1385, - 1393, 1400, 1406, 1408, 1410, 1415, 1417, 1419, 1421, 1423, - 1425, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, - 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1464, 1466, 1468, - 1470, 1472, 1476, 1478, 1482, 1484, 1486, 1488, 1492, 1494, - 1499, 1501, 1504, 1506, 1508, 1511, 1514, 1525, 1528, 1536, - 1538, 1540, 1543, 1545, 1548, 1550, 1555, 1560, 1562, 1566, - 1567, 1568, 1569, 1570, 1572, 1574, 1576, 1578, 1580, 1582, - 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1606, 1616, 1626, - 1636, 1638, 1640, 1643, 1648, 1652, 1654, 1656, 1658, 1661, - 1663, 1666, 1668, 1670, 1672, 1674, 1676, 1678, 1680, 1682, - 1685, 1687, 1689, 1691, 1693, 1695, 1699, 1702, 1701, 1714, - 1715, 1716, 1721, 1723, 1725, 1727, 1732, 1734, 1737, 1739, - 1741, 1746, 1751, 1756, 1764, 1766, 1768, 1772, 1780, 1779, - 1797, 1798, 1802, 1803, 1807, 1808, 1813, 1818, 1820, 1824, - 1827, 1831, 1832, 1833, 1836, 1837, 1840, 1841, 1844, 1848, - 1852, 1858, 1864, 1866, 1870, 1874, 1875, 1879, 1880, 1884, - 1885, 1890, 1892, 1894, 1897 + 0, 191, 191, 190, 202, 201, 212, 211, 225, 224, + 238, 237, 251, 250, 261, 260, 273, 281, 303, 297, + 320, 328, 336, 343, 351, 352, 361, 366, 356, 390, + 401, 418, 432, 428, 455, 475, 487, 503, 514, 526, + 534, 555, 550, 570, 568, 605, 602, 635, 632, 661, + 656, 678, 690, 707, 705, 723, 733, 748, 756, 766, + 768, 773, 781, 785, 792, 797, 804, 810, 814, 816, + 813, 823, 824, 834, 835, 844, 848, 852, 859, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, + 897, 898, 899, 900, 904, 922, 923, 927, 931, 933, + 935, 937, 939, 941, 943, 946, 952, 953, 958, 969, + 970, 975, 977, 982, 989, 990, 994, 998, 1002, 1007, + 1011, 1015, 1016, 1019, 1025, 1030, 1035, 1041, 1042, 1047, + 1048, 1053, 1054, 1061, 1066, 1068, 1079, 1081, 1086, 1088, + 1092, 1097, 1101, 1107, 1109, 1115, 1125, 1138, 1140, 1145, + 1147, 1155, 1156, 1157, 1162, 1163, 1168, 1169, 1173, 1177, + 1177, 1210, 1211, 1216, 1228, 1229, 1234, 1233, 1246, 1248, + 1250, 1252, 1254, 1258, 1260, 1265, 1269, 1273, 1277, 1281, + 1287, 1292, 1298, 1304, 1310, 1316, 1318, 1320, 1323, 1322, + 1336, 1337, 1341, 1345, 1348, 1353, 1358, 1361, 1365, 1369, + 1375, 1383, 1390, 1396, 1398, 1400, 1405, 1407, 1409, 1411, + 1413, 1415, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, + 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1454, 1456, + 1458, 1460, 1462, 1466, 1468, 1472, 1474, 1476, 1478, 1482, + 1484, 1489, 1491, 1494, 1496, 1498, 1501, 1504, 1515, 1518, + 1526, 1528, 1530, 1533, 1535, 1538, 1540, 1545, 1550, 1552, + 1556, 1557, 1558, 1559, 1560, 1562, 1564, 1566, 1568, 1570, + 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1596, 1606, + 1616, 1626, 1628, 1630, 1633, 1638, 1642, 1644, 1646, 1648, + 1651, 1653, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, + 1672, 1675, 1677, 1679, 1681, 1683, 1685, 1689, 1692, 1691, + 1704, 1705, 1706, 1711, 1713, 1715, 1717, 1722, 1724, 1727, + 1729, 1731, 1736, 1741, 1746, 1754, 1756, 1758, 1762, 1770, + 1769, 1787, 1788, 1792, 1793, 1797, 1798, 1803, 1808, 1810, + 1814, 1817, 1821, 1822, 1823, 1826, 1827, 1830, 1831, 1834, + 1838, 1842, 1848, 1854, 1856, 1860, 1864, 1865, 1869, 1870, + 1874, 1875, 1880, 1882, 1884, 1887 }; #endif @@ -455,7 +456,7 @@ static const char *const yytname[] = "bare_statement_sub_traditional", "$@15", "bare_statement_try_catch", "$@16", "bare_statement_unless", "bare_statement_until", "bare_statement_utilize", "$@17", "bare_statement_when", - "bare_statement_while", "bare_statement_yadayada", + "bare_statement_while", "bare_statement_yadayada", "clause_mexpr", "sigsub_or_method_named", "block", "empty", "formblock", "remember", "mblock", "mremember", "catch_paren", "$@18", "$@19", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "formline", @@ -482,12 +483,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-577) +#define YYPACT_NINF (-563) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-373) +#define YYTABLE_NINF (-374) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -496,77 +497,75 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 725, -577, -577, -577, -577, -577, -577, -577, 40, -577, - 3148, 73, 2090, 1973, -577, -577, -577, -577, 65, 3148, - 65, 3148, 65, 3148, 65, 65, 3148, 3, 3148, 2419, - -577, -577, -577, -577, 65, 65, -577, -577, 86, -37, - -577, 3148, -577, -577, 3148, 1, 31, -55, 2419, 2338, - 73, 65, 3148, 27, 3148, 3148, 3148, 3148, 3148, 3148, - 2500, -577, 178, 115, -577, 13, -577, -43, 56, -2, - 77, -577, -577, -577, 1003, -577, -577, 76, 41, 185, - 207, -577, 208, 247, 252, 218, -577, -577, -577, -577, - -577, 188, 190, 173, -577, -577, -577, 132, 135, -577, - -577, 73, 248, 248, -577, 27, -577, -577, -577, 260, - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -577, 27, 262, -577, - 290, 356, 291, 1973, -577, -577, -577, -577, 852, -577, - 35, 969, -577, -577, -577, -577, -577, 308, -577, 351, - -577, 351, -577, -577, 439, 3229, 2581, 234, -577, -577, - -577, 439, -577, 439, 253, 239, 239, 3148, 199, 245, - 3148, 204, 439, 73, 1003, 205, 2662, 3148, 2338, -577, - 439, 3310, -577, 115, -577, 2743, 3148, 3148, -577, 326, - -577, -577, 3148, 115, 351, 351, 351, 477, 477, 355, - 193, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 2824, -577, - -577, 3148, -577, -577, 3148, 3148, 3148, 3148, 3148, 3148, - 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, - 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, - -577, -577, -577, 3148, 170, 2905, 3148, 3148, 3148, 3148, - 3148, 3148, 3148, -577, 323, 324, 327, 296, -577, -577, - -577, 258, 267, 50, -577, -577, 270, 272, -577, -577, - 341, -577, -577, -577, -577, -577, -577, 73, -577, -577, - -577, 3148, 3148, 3148, 3148, 3148, 3148, -577, -577, -577, - -577, -577, -577, -577, -577, 345, -577, 371, -577, -577, - 392, -577, -577, 2986, 351, 234, 37, 217, 224, -577, - 269, 349, -577, -577, -577, 239, 352, -577, 30, 30, - -577, 3148, 3148, 105, -577, -577, -577, -577, 344, 325, - 283, 3148, 115, 115, 404, -577, 3148, 405, -3, -3, - -577, -577, 3392, 10, 110, -577, 365, 559, 3615, 3496, - 351, 306, 582, 3340, 3392, 3392, 645, 684, 684, 684, - 3535, 3535, 3557, 3596, 3615, 3615, 559, 559, 3575, 3635, - 582, 306, 351, 351, 150, 18, 3148, 3148, 200, 394, - 397, 400, -577, 402, 3067, 288, -577, -577, 395, 233, - 118, 255, 127, 259, 137, 263, 1154, -577, -577, 412, - 42, 239, 378, -577, 346, 3148, 3148, 17, 572, 2176, - 173, 311, 3148, 3148, 3148, 3148, -577, -577, 388, -577, - 425, -577, -577, -577, 178, -577, -577, -577, 178, -577, - -577, -577, 350, 345, 35, 24, 415, -577, -577, -577, - 443, -577, 331, -577, -577, 334, 194, -577, 3148, -577, - -577, -577, 433, -577, 146, 3148, 445, -577, -577, 3148, - -577, 335, 275, 155, -577, -577, -577, -577, -577, -577, - 484, 3148, -577, 454, -577, 458, -577, 460, -577, 461, - -577, -577, -577, -577, -577, 46, -577, -577, 353, 178, - 363, -577, 466, 370, -577, -577, -577, 381, -577, -577, - -577, -577, -577, -577, -577, 364, 481, 79, -577, 3148, - 383, 384, 178, 386, 391, 1271, 393, 427, 253, -577, - 513, -577, -577, 239, 3148, 432, -577, 36, -577, -577, - -577, 524, -577, -577, 3148, -577, 447, -577, -577, -577, - 222, -577, 3444, 3148, 527, -577, -577, 410, -577, -577, - -577, -577, 520, -577, -577, -577, 3148, 248, 248, 529, - 417, -577, 3148, 3148, 248, -577, 418, 421, -577, -577, - 248, 248, -577, -577, -577, -577, 3148, 239, -577, 536, - 1003, 3148, 428, -577, 178, -577, -577, 440, -577, -577, - 482, -577, -577, 1003, 113, 113, 466, 441, 444, 452, - 262, 3148, 3148, 248, 248, 248, -577, -577, 466, 248, - 552, 425, 1388, -577, -577, -577, -577, 1003, -577, -577, - -577, -577, 1505, -577, 248, 455, -577, -577, -577, -577, - 3148, 248, 248, -577, 564, 459, 262, 262, 262, -577, - 544, -577, -577, -577, 1622, -577, 39, -577, 1739, -577, - 3148, 462, 262, 262, -577, 248, -577, -577, -577, 467, - 73, -577, -577, 574, 512, -577, -577, 478, 248, -577, - -577, -577, 262, -577, -577, -577, -577, -577, -577, 248, - 262, 2257, -577, 1856, 113, -577, 479, -577, -577, 248, - -577 + 852, -563, -563, -563, -563, -563, -563, -563, 52, -563, + 3035, 3, 1977, 1860, -563, -563, -563, -563, 375, 3035, + 375, 3035, 375, 3035, 375, 375, 3035, 37, 3035, 2306, + -563, -563, -563, -563, 375, 375, -563, -563, 23, -70, + -563, 3035, -563, -563, 3035, -67, -58, -69, 2306, 2225, + 3, 375, 3035, 22, 3035, 3035, 3035, 3035, 3035, 3035, + 2387, -563, 361, 62, -563, 12, -563, 146, -28, 77, + -14, -563, -563, -563, 903, -563, -563, -20, 27, 92, + 183, -563, 107, 197, 224, 119, -563, -563, -563, -563, + -563, 87, 99, 95, -563, -563, -563, 59, 100, -563, + -563, 3, 235, 235, -563, 22, -563, -563, -563, 231, + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, 22, 226, -563, + 263, 357, 268, 1860, -563, -563, -563, -563, 756, -563, + 35, 873, -563, -563, -563, -563, -563, 280, -563, 556, + -563, 556, -563, -563, 3563, 3116, 2468, 213, -563, -563, + -563, 3563, -563, 3563, 236, 232, 232, 3035, 178, 227, + 3035, 186, 3563, 3, 903, 189, 2549, 3035, 2225, -563, + 3563, 3197, -563, 62, -563, 2630, 3035, 3035, -563, 300, + -563, -563, 3035, 62, 556, 556, 556, 534, 534, 315, + 256, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 2711, -563, + -563, 3035, -563, -563, 3035, 3035, 3035, 3035, 3035, 3035, + 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, + 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, + -563, -563, -563, 3035, 173, 2792, 3035, 3035, 3035, 3035, + 3035, 3035, 3035, -563, 273, 286, 288, 259, -563, -563, + -563, 216, 216, 14, -563, -563, 216, 216, -563, -563, + 305, -563, -563, -563, -563, -563, -563, 3, -563, -563, + -563, 3035, 3035, 3035, 3035, 3035, 3035, -563, -563, -563, + -563, -563, -563, -563, -563, 299, -563, 345, -563, -563, + 347, -563, -563, 2873, 556, 213, 43, 88, 147, -563, + 386, 306, -563, -563, -563, 232, 313, -563, 2, 2, + -563, 3035, 3035, 29, -563, -563, -563, -563, 417, 274, + 245, 3035, 62, 62, 363, -563, 3035, 364, 143, 143, + -563, -563, 3279, 110, 76, -563, 428, 525, 3524, 3383, + 556, 348, 379, 3227, 3279, 3279, 596, 3422, 3422, 3422, + 3445, 3445, 3484, 3505, 3524, 3524, 525, 525, 3544, 3583, + 379, 348, 556, 556, 167, 175, 3035, 3035, 298, 365, + 371, 372, -563, 374, 2954, 271, -563, -563, 489, 207, + 127, 230, 131, 244, 148, 261, 1041, -563, -563, 382, + 47, 232, 354, -563, 308, 3035, 235, 235, 25, 413, + 2063, 235, 95, 216, 3035, 3035, 235, 235, -563, -563, + 358, -563, 393, -563, -563, -563, 361, -563, -563, -563, + 361, -563, -563, -563, 318, 299, 35, 16, 497, -563, + -563, -563, 407, -563, 272, -563, -563, 293, 138, -563, + 3035, -563, -563, -563, 504, -563, 154, 3035, 415, -563, + -563, 3035, -563, 303, 285, 181, -563, -563, -563, -563, + -563, -563, 514, 3035, -563, 418, -563, 420, -563, 426, + -563, 429, -563, -563, -563, -563, -563, 64, -563, -563, + 309, 361, 279, 279, -563, 430, 216, -563, -563, -563, + 216, -563, -563, -563, -563, -563, -563, -563, 425, 177, + 226, -563, 235, 311, 332, 361, -563, -563, 1158, 335, + 414, 236, -563, 461, -563, -563, 232, 3035, 385, -563, + 36, -563, -563, -563, 474, -563, -563, 3035, -563, 397, + -563, -563, -563, 185, -563, 3331, 3035, 477, -563, -563, + 360, -563, -563, -563, -563, 472, -563, -563, -563, 3035, + -563, 235, 216, -563, -563, -563, 486, 373, -563, 235, + 235, -563, -563, 216, 226, -563, -563, -563, -563, -563, + -563, 3035, 232, -563, 481, 903, 3035, 384, -563, 361, + -563, -563, 387, -563, -563, 432, -563, -563, 903, -563, + 235, 430, 216, 226, 226, 3035, 235, -563, 235, 235, + 430, 235, 494, 393, 1275, -563, -563, -563, -563, 903, + -563, -563, -563, -563, 1392, -563, 279, -563, 235, -563, + -563, 508, 226, 226, 226, -563, 488, -563, -563, -563, + 1509, -563, 13, -563, 1626, -563, 226, -563, -563, -563, + -563, 400, 3, -563, -563, 521, 452, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, 2144, 1743, 409, + -563, 235, -563 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -574,117 +573,115 @@ 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, 63, - 61, 0, 0, 0, 61, 168, 1, 61, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, - 133, 133, 134, 319, 0, 0, 290, 317, 278, 312, - 314, 308, 133, 321, 300, 310, 0, 0, 303, 61, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 343, 181, 320, 285, 269, 225, 237, 226, - 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, - 282, 284, 281, 0, 0, 0, 63, 7, 107, 39, - 135, 0, 0, 0, 63, 63, 63, 0, 0, 63, - 63, 0, 0, 0, 132, 0, 58, 59, 78, 0, - 132, 79, 80, 81, 82, 83, 84, 85, 86, 24, - 25, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 0, 61, 9, - 0, 108, 0, 0, 11, 75, 74, 70, 0, 15, - 61, 0, 371, 374, 373, 372, 358, 0, 359, 250, - 361, 251, 360, 364, 276, 0, 0, 323, 328, 330, - 329, 307, 268, 267, 61, 61, 61, 61, 0, 0, - 0, 0, 309, 0, 301, 0, 0, 61, 61, 304, - 305, 319, 340, 341, 194, 280, 0, 0, 362, 0, - 136, 137, 61, 302, 252, 253, 274, 257, 258, 279, - 0, 0, 0, 0, 0, 182, 0, 0, 0, 240, - 239, 0, 247, 246, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 64, + 62, 0, 0, 0, 62, 169, 1, 62, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, + 134, 134, 135, 320, 0, 0, 291, 318, 279, 313, + 315, 309, 134, 322, 301, 311, 0, 0, 304, 62, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 343, 344, 182, 321, 286, 270, 226, 238, 227, + 245, 271, 272, 273, 185, 276, 5, 292, 281, 284, + 283, 285, 282, 0, 0, 0, 64, 7, 108, 39, + 136, 0, 0, 0, 64, 64, 64, 0, 0, 64, + 64, 0, 0, 0, 133, 0, 59, 60, 79, 0, + 133, 80, 81, 82, 83, 84, 85, 86, 87, 24, + 25, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 0, 62, 9, + 0, 109, 0, 0, 11, 76, 75, 71, 0, 15, + 62, 0, 372, 375, 374, 373, 359, 0, 360, 251, + 362, 252, 361, 365, 277, 0, 0, 324, 329, 331, + 330, 308, 269, 268, 62, 62, 62, 62, 0, 0, + 0, 0, 310, 0, 302, 0, 0, 62, 62, 305, + 306, 320, 341, 342, 195, 281, 0, 0, 363, 0, + 137, 138, 62, 303, 253, 254, 275, 258, 259, 280, + 0, 0, 0, 0, 0, 183, 0, 0, 0, 241, + 240, 0, 248, 247, 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, 0, - 254, 255, 256, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 61, 61, 0, 0, 61, 331, 333, - 332, 0, 0, 0, 63, 63, 0, 0, 20, 65, - 0, 21, 53, 132, 57, 43, 132, 0, 118, 16, - 22, 0, 0, 0, 0, 0, 0, 23, 77, 76, - 71, 148, 147, 153, 163, 145, 159, 0, 158, 162, - 164, 169, 259, 0, 325, 0, 280, 283, 282, 327, - 0, 144, 322, 139, 138, 61, 142, 140, 264, 266, - 192, 61, 0, 0, 313, 197, 311, 315, 0, 0, - 0, 0, 185, 186, 0, 294, 0, 277, 179, 180, - 177, 178, 183, 0, 0, 211, 0, 243, 249, 229, - 218, 220, 222, 236, 216, 217, 0, 232, 234, 233, - 230, 231, 228, 227, 248, 245, 242, 238, 241, 224, - 223, 221, 235, 219, 215, 0, 0, 0, 0, 368, - 366, 370, 199, 0, 0, 189, 200, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, - 0, 61, 335, 336, 337, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 61, 63, 0, 47, - 63, 45, 119, 109, 106, 110, 113, 112, 127, 111, - 114, 146, 149, 145, 160, 279, 0, 324, 326, 143, - 262, 141, 61, 263, 265, 0, 61, 213, 61, 316, - 196, 195, 0, 260, 0, 0, 0, 204, 210, 0, - 298, 191, 0, 0, 295, 297, 296, 299, 363, 208, - 0, 61, 293, 0, 202, 0, 286, 0, 287, 0, - 60, 63, 36, 63, 40, 0, 334, 338, 0, 128, - 0, 356, 0, 0, 346, 357, 354, 0, 355, 351, - 352, 353, 123, 124, 129, 0, 0, 108, 32, 0, - 0, 0, 126, 0, 0, 0, 61, 0, 61, 171, - 0, 44, 170, 61, 150, 154, 161, 277, 261, 168, - 165, 0, 166, 193, 0, 344, 0, 198, 187, 214, - 0, 207, 273, 61, 0, 203, 209, 0, 205, 288, - 289, 201, 0, 41, 63, 17, 0, 0, 0, 350, - 0, 349, 0, 0, 0, 26, 0, 0, 122, 122, - 0, 0, 64, 67, 66, 49, 61, 61, 61, 63, - 151, 156, 0, 175, 345, 318, 212, 0, 206, 188, - 0, 61, 18, 339, 61, 61, 347, 0, 0, 0, - 61, 125, 0, 0, 0, 0, 37, 55, 0, 0, - 0, 63, 0, 174, 46, 173, 155, 157, 167, 61, - 190, 61, 0, 61, 0, 0, 115, 38, 51, 348, - 0, 0, 0, 35, 0, 0, 61, 61, 61, 68, - 120, 54, 48, 172, 0, 72, 0, 42, 0, 116, - 0, 0, 61, 61, 27, 0, 31, 52, 56, 0, - 0, 50, 176, 0, 61, 73, 19, 0, 0, 29, - 34, 122, 61, 69, 121, 62, 61, 104, 103, 0, - 61, 0, 33, 0, 61, 30, 0, 105, 117, 0, - 28 + 255, 256, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 62, 0, 0, 62, 332, 334, + 333, 0, 0, 0, 64, 64, 0, 0, 20, 66, + 0, 21, 53, 133, 57, 43, 133, 0, 119, 16, + 22, 0, 0, 0, 0, 0, 0, 23, 78, 77, + 72, 149, 148, 154, 164, 146, 160, 0, 159, 163, + 165, 170, 260, 0, 326, 0, 281, 284, 283, 328, + 0, 145, 323, 140, 139, 62, 143, 141, 265, 267, + 193, 62, 0, 0, 314, 198, 312, 316, 0, 0, + 0, 0, 186, 187, 0, 295, 0, 278, 180, 181, + 178, 179, 184, 0, 0, 212, 0, 244, 250, 230, + 219, 221, 223, 237, 217, 218, 0, 233, 235, 234, + 231, 232, 229, 228, 249, 246, 243, 239, 242, 225, + 224, 222, 236, 220, 216, 0, 0, 0, 0, 369, + 367, 371, 200, 0, 0, 190, 201, 293, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, + 0, 62, 336, 337, 338, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 126, 0, 0, 62, 64, + 0, 47, 64, 45, 120, 110, 107, 111, 114, 113, + 128, 112, 115, 147, 150, 146, 161, 280, 0, 325, + 327, 144, 263, 142, 62, 264, 266, 0, 62, 214, + 62, 317, 197, 196, 0, 261, 0, 0, 0, 205, + 211, 0, 299, 192, 0, 0, 296, 298, 297, 300, + 364, 209, 0, 62, 294, 0, 203, 0, 287, 0, + 288, 0, 61, 64, 36, 64, 40, 0, 335, 339, + 0, 129, 62, 62, 357, 0, 0, 347, 358, 355, + 0, 356, 352, 353, 354, 124, 125, 130, 0, 109, + 62, 32, 0, 0, 0, 127, 37, 55, 0, 62, + 0, 62, 172, 0, 44, 171, 62, 151, 155, 162, + 278, 262, 169, 166, 0, 167, 194, 0, 345, 0, + 199, 188, 215, 0, 208, 274, 62, 0, 204, 210, + 0, 206, 289, 290, 202, 0, 41, 64, 17, 0, + 58, 0, 0, 116, 38, 51, 351, 0, 350, 0, + 0, 26, 35, 0, 62, 123, 123, 65, 68, 67, + 49, 62, 62, 62, 64, 152, 157, 0, 176, 346, + 319, 213, 0, 207, 189, 0, 62, 18, 340, 117, + 0, 348, 0, 62, 62, 126, 0, 31, 0, 0, + 0, 0, 0, 64, 0, 175, 46, 174, 156, 158, + 168, 62, 191, 62, 0, 62, 62, 349, 0, 29, + 34, 0, 62, 62, 62, 69, 121, 54, 48, 173, + 0, 73, 0, 42, 0, 118, 62, 27, 33, 52, + 56, 0, 0, 50, 177, 0, 62, 74, 19, 30, + 123, 70, 122, 63, 62, 105, 104, 0, 0, 0, + 106, 0, 28 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, -577, -577, -4, -10, -577, 58, - -81, -577, -577, -577, -577, -16, -577, 598, 469, 5, - -577, -577, 12, -415, -576, -301, -577, -543, -577, 8, - 192, -334, -75, -577, -95, 44, -577, -577, -99, 92, - -166, 309, 184, -577, -577, -577, -577, -577, 189, -577, - -577, -577, -577, 90, -577, 11, 195, -577, -318, -577, - 82, -41, -577, -577, -577, -577, -577, -577, -577, -577, - -577, -577, -577, -577, 602, -577, -577, 483, -577, -577, - -577, -577, -174, -17, -577, -577, -577, -577, 214, -577, - -577, 229, 38, -22, -15, -577, -577, -577, -577, -577, - 78 + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, -163, -563, -3, -10, -563, + -7, -43, -563, -563, -563, -563, -16, -563, 528, 401, + -1, -563, -563, -76, -413, -498, -493, -563, -562, -563, + -72, 121, -563, -128, -563, -104, 159, -563, -563, -87, + 21, -173, 238, 111, -563, -563, -563, -563, -563, 109, + -563, -563, -563, -563, 24, -563, -66, 116, -563, -325, + -563, 75, -21, -563, -563, -563, -563, -563, -563, -563, + -563, -563, -563, -563, -563, 506, -563, -563, 404, -563, + -563, -563, -563, -165, 15, -563, -563, -563, -563, 150, + -563, -563, 160, 46, -17, -11, -563, -563, -563, -563, + -563, 82 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 633, 114, 115, 116, 117, 118, 119, 611, - 681, 120, 576, 121, 122, 123, 124, 125, 126, 601, - 127, 430, 128, 533, 129, 528, 130, 619, 131, 132, - 133, 428, 134, 135, 136, 137, 138, 147, 492, 452, - 280, 426, 585, 618, 669, 148, 656, 300, 145, 146, - 675, 688, 433, 140, 637, 289, 671, 614, 514, 521, - 437, 498, 516, 409, 282, 174, 176, 264, 202, 325, - 328, 322, 442, 305, 306, 307, 308, 626, 309, 310, - 311, 541, 542, 149, 150, 531, 532, 624, 453, 629, - 141, 63, 64, 458, 395, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 179, 75, 167, 267, 414, - 142, 566, 194, 76, 546, 503, 569, 570, 506, 507, - 420, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 158 + 112, 113, 635, 114, 115, 116, 117, 118, 119, 615, + 670, 120, 583, 121, 122, 123, 124, 125, 126, 606, + 127, 432, 128, 536, 129, 531, 130, 621, 131, 132, + 133, 430, 134, 135, 136, 416, 137, 138, 147, 494, + 454, 280, 428, 590, 620, 661, 148, 652, 300, 145, + 146, 667, 676, 435, 140, 574, 289, 663, 618, 517, + 524, 439, 500, 518, 409, 282, 174, 176, 264, 202, + 325, 328, 322, 444, 305, 306, 307, 308, 628, 309, + 310, 311, 544, 545, 149, 150, 534, 535, 626, 455, + 631, 141, 63, 64, 460, 395, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 179, 75, 167, 267, + 414, 142, 569, 194, 76, 549, 506, 576, 577, 509, + 510, 422, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -692,147 +689,124 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 157, 330, 513, 169, 283, 87, 193, 61, - 329, 454, 170, 203, 154, 285, 154, 139, 154, 20, - 154, 154, 281, 22, 216, 172, 217, 24, 345, 638, - 154, 154, 466, 20, 187, 199, 615, 346, 286, 192, - 16, -63, 61, 470, 189, 154, 197, 154, 256, 465, - 257, -152, 256, 493, 257, 301, 155, 564, 155, 302, - 155, 673, 155, 155, 494, 168, 20, 17, 565, 219, - 220, 269, 155, 155, 200, 175, 86, 188, 270, 201, - 417, 20, 500, 200, 86, 515, 183, 195, 201, 155, - 523, 524, 62, 213, 214, 181, 156, 278, 674, 180, - 160, 62, 162, 163, 211, 212, 213, 214, 222, 223, - -327, 291, 177, 178, 292, 293, 294, 295, 698, 457, - 296, 152, -326, -328, 467, 165, 153, 196, 288, 198, - 215, 268, 484, 185, 62, 166, 193, 303, 691, 501, - 304, 486, 210, 317, 263, 218, 634, 635, 299, 502, - 318, 488, 271, 272, 273, 342, 343, 276, 277, 450, - 549, 193, -63, 186, 324, 327, 327, 192, 221, 555, - 339, 340, 418, 211, 212, 213, 214, 61, 61, 335, - 385, 386, 419, 387, 154, 577, 388, 224, 429, 20, - 389, 431, 192, 22, 390, 391, -365, 24, -365, 211, - 212, 213, 214, 316, 211, 212, 213, 214, 255, 215, - -128, 86, 211, 212, 213, 214, 20, 544, -367, -369, - -367, 211, 212, 213, 214, 474, 195, 392, -365, 262, - -365, 211, 212, 213, 214, -367, 596, -367, 608, 609, - 211, 212, 213, 214, 265, 495, 266, 406, 320, 211, - 212, 213, 214, 393, 408, 483, 152, 413, 258, 279, - 259, 153, 333, 260, 274, 261, 341, 275, 338, 62, - 62, 625, 211, 212, 213, 214, 513, 485, 645, -373, - 254, 487, 284, 432, 547, 489, 471, 211, 212, 213, - 214, 456, 396, 348, 349, 350, 351, 554, 353, 354, - 356, 287, 394, -330, 435, 436, 661, 439, 440, 643, - -329, 421, 290, 297, 455, 327, 211, 212, 213, 214, - 321, 61, 312, 323, 347, 326, 677, 211, 212, 213, - 214, 331, 422, 423, 332, 334, 336, 398, 399, 400, - 401, 402, 403, 404, 405, 666, 667, 668, 344, 211, - 212, 213, 214, 211, 212, 213, 214, 211, 212, 213, - 214, 679, 680, 211, 212, 213, 214, 589, 346, 211, - 212, 213, 214, 434, 434, 434, 438, 434, 434, 407, - 410, 692, 412, 411, 154, 427, 226, 443, 291, 695, - 415, 292, 293, 294, 295, 446, 510, 296, 510, 416, - 448, 327, 424, 511, 425, 511, 441, 444, 449, 512, - 525, 451, 620, 62, 461, 460, 463, 193, 465, 475, - 481, 621, 476, 462, 248, 477, 155, 478, 464, 249, - 491, 226, 250, 251, 252, 253, 254, 496, 211, 212, - 213, 214, 540, 519, 527, 497, 545, 529, 192, 534, - 211, 212, 213, 214, -63, 504, 509, 551, 509, 211, - 212, 213, 214, 539, 557, 543, 558, 553, 472, 473, - 559, 61, 560, 561, 249, 459, 480, 250, 251, 252, - 253, 254, 20, 586, 567, 526, 604, 605, 530, 211, - 212, 213, 214, 610, 568, 574, 468, 499, 499, 616, - 617, 517, 572, 575, 438, 522, 499, 499, 530, 211, - 212, 213, 214, 573, 578, 579, 584, 580, 324, 226, - 227, 228, 581, 327, 588, 583, 482, 211, 212, 213, - 214, 591, 646, 647, 648, 593, 597, 595, 650, 598, - 571, 599, 600, 61, 606, 193, 537, 550, 607, 562, - 612, 563, 613, 659, 245, 246, 247, 248, 623, 628, - 662, 663, 249, 62, 548, 250, 251, 252, 253, 254, - 631, 630, 622, 640, 651, 641, 192, 327, 211, 212, - 213, 214, 18, 642, 682, 632, 664, 660, 20, 670, - 665, 685, 22, 678, 636, 636, 24, 690, 683, 686, - 288, 499, 505, -373, -373, -373, 253, 254, 694, 689, - 699, 144, 298, 654, 520, 556, 696, 658, 700, 644, - 587, 655, 602, 159, 447, 161, 594, 535, 164, 592, - 171, 173, 652, 536, 518, 62, 288, 288, 288, 226, - 227, 228, 0, 182, 639, 538, 184, 508, 315, 0, - 190, 0, 288, 288, 499, 499, 649, 204, 205, 206, - 207, 208, 226, 227, 687, 0, 684, 0, 0, 0, - 693, 0, 288, 244, 245, 246, 247, 248, 0, 530, - 288, 512, 249, 0, 636, 250, 251, 252, 253, 254, - 0, 0, 0, 522, 499, 0, 0, 0, 0, 247, - 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, - 252, 253, 254, 0, 0, 0, 0, 225, 0, 0, - 0, 0, 499, 0, 0, 226, 227, 228, 1, 2, - 3, 4, 5, 6, 7, 0, 0, 0, 229, 0, - 0, 0, 499, 0, 230, 231, 232, 469, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 226, 227, 228, 314, 249, 0, - 0, 250, 251, 252, 253, 254, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 0, 0, 0, 0, 249, 0, 0, - 250, 251, 252, 253, 254, 0, 0, 352, 0, 0, - 0, 0, 0, 357, 0, 0, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, -13, 88, 0, 384, 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, 143, 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, -3, - 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, - 86, 0, 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, 143, 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, 552, 0, 0, 0, 225, 0, 0, 0, 0, - 0, 0, 0, 226, 227, 228, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 229, 0, 0, 0, - 0, 60, 230, 231, 232, 0, 233, 234, 235, 236, + 61, 151, 17, 329, 456, 575, 285, 516, 87, 61, + 169, 139, 330, -64, 86, 154, 170, 154, 283, 154, + 187, 154, 154, 216, 619, 217, 172, 582, 193, 346, + 20, 154, 154, 203, 157, 665, 180, 345, 256, 192, + 257, 20, 61, 459, 418, 189, 154, 197, 154, 467, + 286, -153, 16, 20, 256, 301, 257, 22, 495, 302, + 281, 24, 181, 188, 155, 185, 155, 199, 155, 496, + 155, 155, 666, 168, 186, 567, 269, 215, 200, 263, + 155, 155, 270, 201, 221, 62, 568, 271, 272, 273, + 469, 617, 276, 277, 62, 195, 224, 155, 278, -366, + 156, -366, -328, -366, 160, -366, 162, 163, 677, 417, + 421, 20, 255, 426, 427, 22, 177, 178, -370, 24, + 639, 640, -327, 211, 212, 213, 214, 62, 288, -329, + 262, 196, 468, 198, -64, 210, 419, 303, 655, 268, + 304, 486, 299, 265, 218, 488, 420, 504, 317, 658, + 659, 660, 452, 215, 318, 266, 193, 505, -368, 165, + -368, 547, 490, 669, 324, 327, 327, 192, 552, 166, + 211, 212, 213, 214, -331, 342, 343, 61, 61, 431, + 335, 193, 433, 385, 386, 154, 387, 222, 223, 388, + 175, 274, 192, 389, -368, 558, -368, 390, 391, 601, + 472, 183, 339, 340, 211, 212, 213, 214, 258, 291, + 259, 316, 292, 293, 294, 295, 437, 438, 296, 441, + 442, 211, 212, 213, 214, 211, 212, 213, 214, 485, + 392, 200, 275, -330, 195, 260, 201, 261, 497, 213, + 214, 320, 211, 212, 213, 214, 279, 406, 211, 212, + 213, 214, 487, 284, 408, 333, 393, 413, 219, 220, + 522, 338, 62, 62, 516, 287, 489, 424, 425, 627, + 341, 211, 212, 213, 214, 211, 212, 213, 214, 211, + 212, 213, 214, 491, 434, 290, 348, 349, 350, 351, + 297, 353, 354, 356, 312, 550, -374, 254, 473, 321, + 396, 211, 212, 213, 214, 394, 323, 557, -129, 86, + 331, 458, 571, 572, 20, 327, 332, 334, 326, 423, + 336, 61, 344, 476, 211, 212, 213, 214, 346, 407, + 398, 399, 400, 401, 402, 403, 404, 405, 211, 212, + 213, 214, 410, 579, 411, 412, 457, 580, 415, 429, + 211, 212, 213, 214, 152, 211, 212, 213, 214, 153, + 443, 445, 446, 594, 462, 451, 436, 436, 436, 440, + 436, 436, 453, 502, 503, 465, 463, 467, 520, 211, + 212, 213, 214, 526, 527, 154, 86, 347, 448, 291, + 477, 20, 292, 293, 294, 295, 478, 479, 296, 480, + 493, 327, 513, 483, 542, 513, 62, 499, 514, 610, + 515, 514, 528, 498, 530, 532, 464, 537, -64, 623, + 616, 466, 529, 18, 546, 533, 622, 554, 226, 20, + 561, 152, 562, 22, 155, 556, 153, 24, 563, 193, + 570, 564, 585, 508, 543, 533, 20, 581, 548, 638, + 192, 211, 212, 213, 214, 211, 212, 213, 214, 226, + 227, 474, 475, 586, 507, 512, 248, 588, 512, 482, + 591, 249, 593, 61, 250, 251, 252, 253, 254, 584, + 211, 212, 213, 214, 596, 598, 565, 600, 566, 603, + 501, 604, 573, 573, 605, 519, 247, 248, 560, 440, + 525, 611, 249, 625, 612, 250, 251, 252, 253, 254, + 288, 211, 212, 213, 214, 630, 647, 450, 632, 589, + 633, 324, 211, 212, 213, 214, 327, 159, 609, 161, + 657, 671, 164, 662, 171, 173, 613, 614, 673, 674, + 681, 144, 553, 641, 298, 523, 61, 182, 461, 679, + 184, 578, 592, 449, 190, 539, 538, 648, 62, 470, + 607, 204, 205, 206, 207, 208, 597, 636, 541, 315, + 193, 602, 521, 642, 288, 643, 644, 624, 646, 511, + 0, 192, 327, 211, 212, 213, 214, 0, 0, 0, + 634, 211, 212, 213, 214, 656, 0, 0, 211, 212, + 213, 214, 0, 288, 288, 226, 227, 228, 211, 212, + 213, 214, 0, 0, 0, 650, 533, 0, 0, 654, + 484, 0, 599, 651, 0, 0, 573, 0, 540, 0, + 0, 62, 288, 288, 288, 551, 226, 0, 682, 244, + 245, 246, 247, 248, 0, 559, 288, 0, 249, 0, + 0, 250, 251, 252, 253, 254, 675, 637, 678, 672, + -374, -374, -374, 253, 254, 0, 645, 515, 225, 0, + 0, 314, 0, 0, 0, 0, 226, 227, 228, 249, + 0, 0, 250, 251, 252, 253, 254, 0, 0, 229, + 525, 0, 0, 0, 0, 230, 231, 232, 471, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, + 0, 352, 250, 251, 252, 253, 254, 357, 0, 0, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, -13, 88, 0, 384, + 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, 143, 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, 1, 2, 3, 4, 5, + 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -3, 88, 55, 56, 0, 57, 0, + 58, 59, 0, 18, 86, 0, 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, 143, 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, 225, 0, 555, 0, 0, + 0, 0, 0, 226, 227, 228, 0, 0, 0, 0, + 0, 0, 55, 56, 0, 57, 229, 58, 59, 0, + 0, 0, 230, 231, 232, 60, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, - 251, 252, 253, 254, 0, 0, 590, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 86, 490, 19, 603, 0, - 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, - 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, - 96, 97, 98, 627, 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, 143, 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, 582, 19, 0, 60, 20, 0, 0, + 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, + 0, 0, 88, 595, 0, 0, 0, 0, 0, 0, + 0, 18, 86, 492, 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, + 26, 27, 93, 94, 0, 608, 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, + 36, 37, 629, 38, 39, 40, 41, 42, 43, 108, 143, 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, - 653, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 587, 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, @@ -843,7 +817,7 @@ static const yytype_int16 yytable[] = 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, 657, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 649, 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, @@ -855,7 +829,7 @@ static const yytype_int16 yytable[] = 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, 672, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 653, 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, @@ -867,7 +841,7 @@ static const yytype_int16 yytable[] = 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, 676, 19, 0, 60, 20, 0, 0, 21, 22, + 86, 664, 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, @@ -878,7 +852,7 @@ static const yytype_int16 yytable[] = 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, 0, 19, + 0, 57, 0, 58, 59, 0, 18, 86, 668, 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, @@ -886,7 +860,7 @@ static const yytype_int16 yytable[] = 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 143, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, - 52, 53, 0, 0, 697, 0, 0, 110, 0, 0, + 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, @@ -898,7 +872,7 @@ static const yytype_int16 yytable[] = 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 143, 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, 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, 0, 57, 0, 58, 59, 0, @@ -907,17 +881,53 @@ static const yytype_int16 yytable[] = 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, 0, + 37, 0, 38, 39, 40, 41, 42, 43, 108, 143, 0, 44, 0, 109, 45, 46, 47, 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, -61, 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, 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, 0, + 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, 0, 0, 44, 0, + 109, 45, 46, 47, 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, -62, 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, 0, 38, 39, 40, 41, 42, + 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, + 48, 49, 50, 0, 0, 88, 51, 52, 53, 0, + 0, 0, 0, 0, 18, 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, 0, 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, 18, 86, 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, -62, 60, 30, 31, 0, + 32, 191, 34, 35, 36, 37, 153, 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, 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, 0, 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, 88, 51, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, @@ -926,36 +936,36 @@ static const yytype_int16 yytable[] = 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, 18, 86, + 51, 52, 53, 0, 0, 0, 0, 0, 18, 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, -61, 60, - 30, 31, 0, 32, 191, 34, 35, 36, 37, 153, + 0, 58, 59, 0, 0, 28, 29, 0, 209, 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, 18, - 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, + 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, 0, + 57, 0, 58, 59, 0, 0, 28, 29, 0, 319, 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, - 18, 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, - 0, 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, 18, 0, 0, 19, 0, 0, 20, 54, 0, + -373, 256, 0, 257, 0, 0, -373, 54, 0, -373, + -373, -373, 0, 0, -373, -373, 0, 0, 0, -373, + -373, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, 0, -373, -373, 0, + 337, 60, -373, -373, 0, -373, -373, -373, -373, -373, + -373, 0, -373, -373, -373, -373, -373, -373, 0, 0, + 0, -373, 0, 0, -373, -373, -373, -373, -373, -373, + 0, 0, 0, -373, -373, -373, 0, 0, 0, 0, + 0, 18, 0, 0, 19, 0, 0, 20, -373, 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, 209, 60, 30, 31, 0, 32, 33, 34, 35, + 26, 27, 0, 0, 0, 0, 0, 0, 0, -373, + -373, 0, -373, 0, -373, -373, 0, 0, 28, 29, + 0, 0, -373, 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, @@ -963,23 +973,23 @@ static const yytype_int16 yytable[] = 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, 319, 60, 30, 31, 0, 32, 33, 34, + 29, 0, 355, 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, -372, 256, 0, 257, 0, 0, -372, - 54, 0, -372, -372, -372, 0, 0, -372, -372, 0, - 0, 0, -372, -372, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 18, 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, - -372, -372, 0, 337, 60, -372, -372, 0, -372, -372, - -372, -372, -372, -372, 0, -372, -372, -372, -372, -372, - -372, 0, 0, 0, -372, 0, 0, -372, -372, -372, - -372, -372, -372, 0, 0, 0, -372, -372, -372, 0, + 28, 29, 0, 397, 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, 18, 0, 0, 19, 0, 0, - 20, -372, 0, 21, 22, 23, 0, 0, 24, 25, + 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, - 0, 0, -372, -372, 0, -372, 0, -372, -372, 0, - 0, 28, 29, 0, 0, -372, 30, 31, 0, 32, + 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, + 0, 28, 29, 0, 447, 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, @@ -987,7 +997,7 @@ 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, 355, 60, 30, 31, 0, + 0, 0, 28, 29, 0, 481, 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, @@ -995,218 +1005,177 @@ static const yytype_int16 yytable[] = 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, 397, 60, 30, 31, + 59, 0, 0, 28, 29, 0, 0, 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, 18, 0, 0, - 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, - 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, + 52, 53, 0, 0, 0, 0, 0, -372, 0, 0, + -372, 0, 0, -372, 54, 0, -372, -372, -372, 0, + 0, -372, -372, 0, 0, 0, -372, -372, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, - 58, 59, 0, 0, 28, 29, 0, 445, 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, 18, 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, 479, 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, 18, - 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, 0, - 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, - -371, 0, 0, -371, 0, 0, -371, 54, 0, -371, - -371, -371, 0, 0, -371, -371, 0, 0, 0, -371, - -371, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 0, -371, -371, 0, - 0, 313, -371, -371, 0, -371, -371, -371, -371, -371, - -371, 0, -371, -371, -371, -371, -371, -371, 0, 0, - 0, -371, 0, 0, -371, -371, -371, -371, -371, -371, - 0, 0, 0, -371, -371, -371, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -371, 0, - 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, - 226, 227, 228, 0, 0, 0, 0, 0, 0, -371, - -371, 0, -371, -373, -371, -371, 0, 0, 0, 230, - 231, 232, -371, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, - 0, 0, 0, 249, 225, 0, 250, 251, 252, 253, - 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 230, 231, 232, 0, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 0, 0, 0, 0, 249, 225, 0, 250, 251, - 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, + 58, 59, 0, 0, -372, -372, 0, 0, 313, -372, + -372, 0, -372, -372, -372, -372, -372, -372, 0, -372, + -372, -372, -372, -372, -372, 0, 0, 0, -372, 0, + 0, -372, -372, -372, -372, -372, -372, 0, 0, 0, + -372, -372, -372, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -372, 0, 0, 0, 225, + 0, 0, 0, 0, 0, 0, 0, 226, 227, 228, + 0, 0, 0, 0, 0, 0, -372, -372, 0, -372, + -374, -372, -372, 0, 0, 0, 230, 231, 232, -372, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, + 249, 225, 0, 250, 251, 252, 253, 254, 0, 226, + 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 230, 231, + 232, 0, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, + 0, 0, 249, 225, 0, 250, 251, 252, 253, 254, + 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 232, 0, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 0, 0, 0, 0, 249, -373, 0, - 250, 251, 252, 253, 254, 0, 226, 227, 228, 0, + 0, 0, 232, 0, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 0, 0, 0, 0, 249, -374, 0, 250, 251, 252, + 253, 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 226, 227, 228, 0, 249, - 0, 0, 250, 251, 252, 253, 254, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 227, 228, - 0, 0, 0, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 0, 226, 227, 228, 249, 0, - 0, 250, 251, 252, 253, 254, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 226, 227, 228, 0, - 249, 0, 0, 250, 251, 252, 253, 254, 0, -373, - 245, 246, 247, 248, 0, 226, 227, 228, 249, 0, - 0, 250, 251, 252, 253, 254, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 226, 227, 228, 0, 249, - 0, 0, 250, 251, 252, 253, 254, 242, 243, 244, - 245, 246, 247, 248, 0, 0, 0, 0, 249, 0, + 0, 0, 0, 0, 0, 0, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 226, 227, 228, 0, 249, 0, 0, 250, + 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 227, 228, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, + 252, 253, 254, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, 254, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 0, 0, 0, 249, 0, - 0, 250, 251, 252, 253, 254 + 0, 0, 0, 0, 0, 226, 227, 228, 0, 0, + 0, 0, 0, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 0, 226, 227, 228, 249, 0, 0, + 250, 251, 252, 253, 254, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 226, 227, 228, 0, 249, 0, + 0, 250, 251, 252, 253, 254, 242, 243, 244, 245, + 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, + 250, 251, 252, 253, 254, 0, 0, 0, -374, 245, + 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, + 250, 251, 252, 253, 254, 0, 0, 0, 245, 246, + 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, + 251, 252, 253, 254, 0, 0, 0, 0, 0, 246, + 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, + 251, 252, 253, 254 }; static const yytype_int16 yycheck[] = { - 10, 17, 19, 177, 419, 27, 105, 11, 49, 19, - 176, 329, 27, 54, 18, 110, 20, 12, 22, 16, - 24, 25, 103, 20, 11, 29, 13, 24, 202, 605, - 34, 35, 22, 16, 89, 52, 579, 13, 137, 49, - 0, 11, 52, 25, 48, 49, 50, 51, 11, 13, - 13, 16, 11, 11, 13, 20, 18, 11, 20, 24, - 22, 22, 24, 25, 22, 27, 16, 9, 22, 112, - 113, 93, 34, 35, 56, 31, 11, 132, 93, 61, - 30, 16, 416, 56, 11, 419, 42, 49, 61, 51, - 424, 425, 10, 96, 97, 132, 18, 101, 59, 13, - 22, 19, 24, 25, 94, 95, 96, 97, 110, 111, - 86, 32, 34, 35, 35, 36, 37, 38, 694, 14, - 41, 56, 86, 86, 14, 122, 61, 49, 138, 51, - 15, 93, 14, 132, 52, 132, 177, 102, 681, 122, - 150, 14, 60, 165, 86, 132, 33, 34, 143, 132, - 165, 14, 94, 95, 96, 196, 197, 99, 100, 325, - 14, 202, 132, 132, 174, 175, 176, 177, 112, 14, - 187, 188, 122, 94, 95, 96, 97, 187, 188, 183, - 10, 11, 132, 13, 188, 519, 16, 110, 283, 16, - 20, 286, 202, 20, 24, 25, 11, 24, 13, 94, - 95, 96, 97, 165, 94, 95, 96, 97, 132, 15, - 131, 11, 94, 95, 96, 97, 16, 23, 11, 11, - 13, 94, 95, 96, 97, 25, 188, 57, 11, 11, - 13, 94, 95, 96, 97, 11, 14, 13, 572, 573, - 94, 95, 96, 97, 56, 411, 56, 263, 166, 94, - 95, 96, 97, 83, 264, 22, 56, 267, 11, 11, - 13, 61, 180, 11, 132, 13, 188, 132, 186, 187, - 188, 589, 94, 95, 96, 97, 691, 22, 612, 129, - 130, 22, 22, 287, 458, 22, 385, 94, 95, 96, - 97, 332, 254, 211, 212, 213, 214, 22, 216, 217, - 218, 39, 132, 86, 292, 293, 640, 295, 296, 610, - 86, 273, 22, 22, 331, 325, 94, 95, 96, 97, - 86, 331, 14, 70, 131, 86, 660, 94, 95, 96, - 97, 132, 274, 275, 89, 131, 131, 255, 256, 257, - 258, 259, 260, 261, 262, 646, 647, 648, 22, 94, - 95, 96, 97, 94, 95, 96, 97, 94, 95, 96, - 97, 662, 663, 94, 95, 96, 97, 533, 13, 94, - 95, 96, 97, 291, 292, 293, 294, 295, 296, 56, - 56, 682, 86, 56, 388, 44, 80, 16, 32, 690, - 132, 35, 36, 37, 38, 313, 418, 41, 420, 132, - 131, 411, 132, 418, 132, 420, 61, 15, 59, 419, - 426, 59, 586, 331, 131, 90, 12, 458, 13, 25, - 132, 587, 25, 341, 118, 25, 388, 25, 346, 123, - 18, 80, 126, 127, 128, 129, 130, 59, 94, 95, - 96, 97, 452, 132, 56, 99, 456, 22, 458, 99, - 94, 95, 96, 97, 11, 417, 418, 12, 420, 94, - 95, 96, 97, 132, 481, 131, 12, 132, 386, 387, - 12, 481, 12, 12, 123, 131, 394, 126, 127, 128, - 129, 130, 16, 56, 131, 427, 567, 568, 430, 94, - 95, 96, 97, 574, 131, 131, 131, 415, 416, 580, - 581, 419, 132, 22, 422, 423, 424, 425, 450, 94, - 95, 96, 97, 132, 131, 131, 526, 131, 528, 80, - 81, 82, 131, 533, 11, 132, 131, 94, 95, 96, - 97, 99, 613, 614, 615, 11, 553, 90, 619, 12, - 502, 131, 22, 553, 15, 586, 131, 465, 131, 491, - 132, 493, 131, 634, 115, 116, 117, 118, 22, 131, - 641, 642, 123, 481, 131, 126, 127, 128, 129, 130, - 88, 131, 588, 132, 22, 131, 586, 587, 94, 95, - 96, 97, 10, 131, 665, 601, 22, 132, 16, 45, - 131, 17, 20, 131, 604, 605, 24, 678, 131, 87, - 610, 519, 30, 126, 127, 128, 129, 130, 689, 131, - 131, 13, 143, 629, 422, 131, 691, 633, 699, 611, - 528, 631, 564, 21, 315, 23, 544, 443, 26, 539, - 28, 29, 621, 444, 420, 553, 646, 647, 648, 80, - 81, 82, -1, 41, 606, 450, 44, 418, 165, -1, - 48, -1, 662, 663, 572, 573, 618, 55, 56, 57, - 58, 59, 80, 81, 674, -1, 670, -1, -1, -1, - 686, -1, 682, 114, 115, 116, 117, 118, -1, 621, - 690, 691, 123, -1, 694, 126, 127, 128, 129, 130, - -1, -1, -1, 611, 612, -1, -1, -1, -1, 117, - 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, - 128, 129, 130, -1, -1, -1, -1, 72, -1, -1, - -1, -1, 640, -1, -1, 80, 81, 82, 3, 4, - 5, 6, 7, 8, 9, -1, -1, -1, 93, -1, - -1, -1, 660, -1, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 80, 81, 82, 165, 123, -1, - -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 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, 215, -1, -1, - -1, -1, -1, 221, -1, -1, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 0, 1, -1, 253, -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, 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, -1, -1, - -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, - 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, - 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, - 11, -1, 13, -1, 132, 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, -1, -1, -1, -1, -1, - 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, - -1, 469, -1, -1, -1, 72, -1, -1, -1, -1, - -1, -1, -1, 80, 81, 82, -1, -1, 119, 120, - -1, 122, -1, 124, 125, -1, 93, -1, -1, -1, - -1, 132, 99, 100, 101, -1, 103, 104, 105, 106, + 10, 17, 9, 176, 329, 503, 110, 420, 11, 19, + 27, 12, 177, 11, 11, 18, 27, 20, 105, 22, + 89, 24, 25, 11, 586, 13, 29, 520, 49, 13, + 16, 34, 35, 54, 19, 22, 13, 202, 11, 49, + 13, 16, 52, 14, 30, 48, 49, 50, 51, 13, + 137, 16, 0, 16, 11, 20, 13, 20, 11, 24, + 103, 24, 132, 132, 18, 132, 20, 52, 22, 22, + 24, 25, 59, 27, 132, 11, 93, 15, 56, 86, + 34, 35, 93, 61, 112, 10, 22, 94, 95, 96, + 14, 584, 99, 100, 19, 49, 110, 51, 101, 11, + 18, 13, 86, 11, 22, 13, 24, 25, 670, 272, + 273, 16, 132, 276, 277, 20, 34, 35, 11, 24, + 613, 614, 86, 94, 95, 96, 97, 52, 138, 86, + 11, 49, 22, 51, 132, 60, 122, 102, 636, 93, + 150, 14, 143, 56, 132, 14, 132, 122, 165, 642, + 643, 644, 325, 15, 165, 56, 177, 132, 11, 122, + 13, 23, 14, 656, 174, 175, 176, 177, 14, 132, + 94, 95, 96, 97, 86, 196, 197, 187, 188, 283, + 183, 202, 286, 10, 11, 188, 13, 110, 111, 16, + 31, 132, 202, 20, 11, 14, 13, 24, 25, 14, + 25, 42, 187, 188, 94, 95, 96, 97, 11, 32, + 13, 165, 35, 36, 37, 38, 292, 293, 41, 295, + 296, 94, 95, 96, 97, 94, 95, 96, 97, 22, + 57, 56, 132, 86, 188, 11, 61, 13, 411, 96, + 97, 166, 94, 95, 96, 97, 11, 263, 94, 95, + 96, 97, 22, 22, 264, 180, 83, 267, 112, 113, + 423, 186, 187, 188, 677, 39, 22, 274, 275, 594, + 188, 94, 95, 96, 97, 94, 95, 96, 97, 94, + 95, 96, 97, 22, 287, 22, 211, 212, 213, 214, + 22, 216, 217, 218, 14, 460, 129, 130, 385, 86, + 254, 94, 95, 96, 97, 132, 70, 22, 131, 11, + 132, 332, 33, 34, 16, 325, 89, 131, 86, 273, + 131, 331, 22, 25, 94, 95, 96, 97, 13, 56, + 255, 256, 257, 258, 259, 260, 261, 262, 94, 95, + 96, 97, 56, 506, 56, 86, 331, 510, 132, 44, + 94, 95, 96, 97, 56, 94, 95, 96, 97, 61, + 61, 16, 15, 536, 90, 59, 291, 292, 293, 294, + 295, 296, 59, 416, 417, 12, 131, 13, 421, 94, + 95, 96, 97, 426, 427, 388, 11, 131, 313, 32, + 25, 16, 35, 36, 37, 38, 25, 25, 41, 25, + 18, 411, 419, 132, 132, 422, 331, 99, 419, 572, + 420, 422, 428, 59, 56, 22, 341, 99, 11, 592, + 583, 346, 429, 10, 131, 432, 591, 12, 80, 16, + 12, 56, 12, 20, 388, 132, 61, 24, 12, 460, + 131, 12, 131, 30, 454, 452, 16, 22, 458, 612, + 460, 94, 95, 96, 97, 94, 95, 96, 97, 80, + 81, 386, 387, 131, 418, 419, 118, 132, 422, 394, + 56, 123, 11, 483, 126, 127, 128, 129, 130, 522, + 94, 95, 96, 97, 99, 11, 493, 90, 495, 12, + 415, 131, 502, 503, 22, 420, 117, 118, 483, 424, + 425, 15, 123, 22, 131, 126, 127, 128, 129, 130, + 520, 94, 95, 96, 97, 131, 22, 131, 131, 529, + 88, 531, 94, 95, 96, 97, 536, 21, 571, 23, + 22, 131, 26, 45, 28, 29, 579, 580, 17, 87, + 131, 13, 467, 615, 143, 424, 556, 41, 131, 677, + 44, 505, 531, 315, 48, 446, 445, 623, 483, 131, + 567, 55, 56, 57, 58, 59, 542, 610, 452, 165, + 591, 556, 422, 616, 584, 618, 619, 593, 621, 419, + -1, 591, 592, 94, 95, 96, 97, -1, -1, -1, + 606, 94, 95, 96, 97, 638, -1, -1, 94, 95, + 96, 97, -1, 613, 614, 80, 81, 82, 94, 95, + 96, 97, -1, -1, -1, 631, 623, -1, -1, 635, + 131, -1, 547, 633, -1, -1, 636, -1, 131, -1, + -1, 556, 642, 643, 644, 131, 80, -1, 681, 114, + 115, 116, 117, 118, -1, 131, 656, -1, 123, -1, + -1, 126, 127, 128, 129, 130, 666, 611, 674, 662, + 126, 127, 128, 129, 130, -1, 620, 677, 72, -1, + -1, 165, -1, -1, -1, -1, 80, 81, 82, 123, + -1, -1, 126, 127, 128, 129, 130, -1, -1, 93, + 615, -1, -1, -1, -1, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, + -1, 215, 126, 127, 128, 129, 130, 221, -1, -1, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 0, 1, -1, 253, + -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, 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, -1, -1, -1, -1, -1, 91, -1, -1, + -1, -1, -1, -1, 98, 3, 4, 5, 6, 7, + 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, 1, 119, 120, -1, 122, -1, + 124, 125, -1, 10, 11, -1, 13, -1, 132, 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, -1, + -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, + -1, 98, -1, -1, -1, 72, -1, 471, -1, -1, + -1, -1, -1, 80, 81, 82, -1, -1, -1, -1, + -1, -1, 119, 120, -1, 122, 93, 124, 125, -1, + -1, -1, 99, 100, 101, 132, 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, 534, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, 11, 12, 13, 566, -1, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, - 36, 37, 38, 591, 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, - -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, - -1, 10, 11, 12, 13, -1, 132, 16, -1, -1, + 127, 128, 129, 130, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 537, -1, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, + 29, 30, 31, 32, -1, 569, 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, + 59, 60, 596, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, @@ -1259,7 +1228,7 @@ static const yytype_int16 yycheck[] = 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, - -1, 122, -1, 124, 125, -1, 10, 11, -1, 13, + -1, 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, 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, @@ -1267,7 +1236,7 @@ static const yytype_int16 yycheck[] = 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, -1, -1, 88, -1, -1, 91, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, @@ -1279,7 +1248,7 @@ static const yytype_int16 yycheck[] = 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, -1, - -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, + -1, 88, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, @@ -1288,17 +1257,53 @@ static const yytype_int16 yycheck[] = 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, -1, + 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, -1, 1, -1, -1, - -1, 91, -1, -1, -1, -1, 10, -1, 98, 13, - -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, - 24, 25, -1, -1, -1, 29, 30, -1, -1, 119, - 120, -1, 122, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 132, 47, 48, -1, -1, -1, 52, 53, + -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, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, + 120, -1, 122, -1, 124, 125, -1, 10, 11, -1, + 13, -1, 132, 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, -1, -1, 71, -1, + 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, -1, 1, -1, -1, -1, 91, -1, + -1, -1, -1, 10, -1, 98, 13, -1, -1, 16, + -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, + -1, -1, 29, 30, -1, -1, 119, 120, -1, 122, + -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, + 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, + 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, + 77, 78, 79, -1, -1, 1, 83, 84, 85, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, + 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, + -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, + -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, + -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, + 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, + 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, + -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, + -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, + 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, + -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, + -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, 10, 11, -1, 13, + -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, + 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, + -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, + 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, - 74, 75, 76, 77, 78, 79, -1, -1, 1, 83, + 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, @@ -1307,28 +1312,28 @@ static const yytype_int16 yycheck[] = 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 10, 11, + 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, - 52, 53, -1, 55, 56, 57, 58, 59, 60, 61, + 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, + -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, + 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, - 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, + 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, - -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, + 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, @@ -1336,7 +1341,7 @@ static const yytype_int16 yycheck[] = 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, - -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, + -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, @@ -1348,7 +1353,7 @@ static const yytype_int16 yycheck[] = 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, - -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, + -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, @@ -1360,7 +1365,7 @@ static const yytype_int16 yycheck[] = 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, - -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, + -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, @@ -1376,7 +1381,7 @@ static const yytype_int16 yycheck[] = -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, - 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, + 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, @@ -1384,72 +1389,54 @@ static const yytype_int16 yycheck[] = 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, + 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, - -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, -1, 72, + -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, - 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, - -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, - 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, - -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, - 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, - 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, - 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, - 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, - 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, - -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, - -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, - 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, - -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, - -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, -1, -1, -1, -1, -1, -1, 119, - 120, -1, 122, 93, 124, 125, -1, -1, -1, 99, - 100, 101, 132, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, - -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, - 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, - 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, + 93, 124, 125, -1, -1, -1, 99, 100, 101, 132, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, + 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, + 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 99, 100, + 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, + -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, + -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, -1, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, - 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, + 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, - -1, -1, -1, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, 80, 81, 82, 123, -1, - -1, 126, 127, 128, 129, 130, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, -1, 114, - 115, 116, 117, 118, -1, 80, 81, 82, 123, -1, - -1, 126, 127, 128, 129, 130, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, - -1, -1, 126, 127, 128, 129, 130, 112, 113, 114, - 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, + -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 80, 81, 82, -1, 123, -1, -1, 126, + 127, 128, 129, 130, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 80, 81, 82, 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, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 80, 81, 82, -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 + -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, + -1, -1, -1, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 80, 81, 82, 123, -1, -1, + 126, 127, 128, 129, 130, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 80, 81, 82, -1, 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, 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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1457,76 +1444,74 @@ static const yytype_int16 yycheck[] = static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 134, 135, - 136, 137, 138, 139, 140, 141, 0, 182, 10, 13, + 136, 137, 138, 139, 140, 141, 0, 183, 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, 180, 233, 234, 235, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 249, 256, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 11, 179, 1, 22, + 132, 181, 234, 235, 236, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 250, 257, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 11, 180, 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, 151, 154, 156, 157, 158, 159, 160, 161, 163, 165, 167, - 169, 171, 172, 173, 175, 176, 177, 178, 179, 192, - 196, 233, 253, 69, 190, 191, 192, 180, 188, 226, - 227, 188, 56, 61, 179, 265, 273, 256, 273, 247, - 273, 247, 273, 273, 247, 122, 132, 250, 265, 266, - 267, 247, 179, 247, 208, 208, 209, 273, 273, 248, - 13, 132, 247, 208, 247, 132, 132, 89, 132, 179, - 247, 56, 180, 234, 255, 265, 273, 179, 273, 256, - 56, 61, 211, 234, 247, 247, 247, 247, 247, 131, - 233, 94, 95, 96, 97, 15, 11, 13, 132, 112, + 169, 171, 172, 173, 175, 176, 177, 179, 180, 193, + 197, 234, 254, 69, 191, 192, 193, 181, 189, 227, + 228, 189, 56, 61, 180, 266, 274, 257, 274, 248, + 274, 248, 274, 274, 248, 122, 132, 251, 266, 267, + 268, 248, 180, 248, 209, 209, 210, 274, 274, 249, + 13, 132, 248, 209, 248, 132, 132, 89, 132, 180, + 248, 56, 181, 235, 256, 266, 274, 180, 274, 257, + 56, 61, 212, 235, 248, 248, 248, 248, 248, 131, + 234, 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, 182, 210, 56, 56, 251, 265, 266, - 267, 182, 182, 182, 132, 132, 182, 182, 179, 11, - 183, 183, 207, 211, 22, 207, 211, 39, 180, 198, - 22, 32, 35, 36, 37, 38, 41, 22, 191, 192, - 190, 20, 24, 102, 180, 216, 217, 218, 219, 221, - 222, 223, 14, 132, 247, 250, 265, 266, 267, 131, - 233, 86, 214, 70, 180, 212, 86, 180, 213, 213, - 255, 132, 89, 233, 131, 179, 131, 131, 233, 256, - 256, 273, 234, 234, 22, 255, 13, 131, 233, 233, - 233, 233, 247, 233, 233, 131, 233, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 10, 11, 13, 16, 20, - 24, 25, 57, 83, 132, 237, 265, 131, 233, 233, - 233, 233, 233, 233, 233, 233, 188, 56, 180, 206, - 56, 56, 86, 180, 252, 132, 132, 30, 122, 132, - 263, 265, 182, 182, 132, 132, 184, 44, 174, 207, - 164, 207, 179, 195, 233, 195, 195, 203, 233, 195, - 195, 61, 215, 16, 15, 131, 233, 214, 131, 59, - 213, 59, 182, 231, 231, 256, 234, 14, 236, 131, - 90, 131, 233, 12, 233, 13, 22, 14, 131, 102, - 25, 211, 233, 233, 25, 25, 25, 25, 25, 131, - 233, 132, 131, 22, 14, 22, 14, 22, 14, 22, - 12, 18, 181, 11, 22, 213, 59, 99, 204, 233, - 204, 122, 132, 258, 265, 30, 261, 262, 264, 265, - 266, 267, 180, 196, 201, 204, 205, 233, 261, 132, - 203, 202, 233, 204, 204, 188, 182, 56, 168, 22, - 182, 228, 229, 166, 99, 215, 221, 131, 229, 132, - 180, 224, 225, 131, 23, 180, 257, 255, 131, 14, - 233, 12, 247, 132, 22, 14, 131, 256, 12, 12, - 12, 12, 182, 182, 11, 22, 254, 131, 131, 259, - 260, 265, 132, 132, 131, 22, 155, 204, 131, 131, - 131, 131, 12, 132, 180, 185, 56, 212, 11, 213, - 247, 99, 226, 11, 233, 90, 14, 256, 12, 131, - 22, 162, 182, 247, 183, 183, 15, 131, 204, 204, - 183, 152, 132, 131, 200, 200, 183, 183, 186, 170, - 255, 213, 188, 22, 230, 231, 220, 247, 131, 232, - 131, 88, 188, 145, 33, 34, 180, 197, 197, 265, - 132, 131, 131, 198, 202, 204, 183, 183, 183, 265, - 183, 22, 228, 12, 188, 180, 189, 12, 188, 183, - 132, 204, 183, 183, 22, 131, 198, 198, 198, 187, - 45, 199, 12, 22, 59, 193, 12, 204, 131, 198, - 198, 153, 183, 131, 179, 17, 87, 180, 194, 131, - 183, 200, 198, 188, 183, 198, 205, 88, 197, 131, - 183 + 11, 13, 11, 183, 211, 56, 56, 252, 266, 267, + 268, 183, 183, 183, 132, 132, 183, 183, 180, 11, + 184, 184, 208, 212, 22, 208, 212, 39, 181, 199, + 22, 32, 35, 36, 37, 38, 41, 22, 192, 193, + 191, 20, 24, 102, 181, 217, 218, 219, 220, 222, + 223, 224, 14, 132, 248, 251, 266, 267, 268, 131, + 234, 86, 215, 70, 181, 213, 86, 181, 214, 214, + 256, 132, 89, 234, 131, 180, 131, 131, 234, 257, + 257, 274, 235, 235, 22, 256, 13, 131, 234, 234, + 234, 234, 248, 234, 234, 131, 234, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 238, 266, 131, 234, 234, + 234, 234, 234, 234, 234, 234, 189, 56, 181, 207, + 56, 56, 86, 181, 253, 132, 178, 178, 30, 122, + 132, 178, 264, 266, 183, 183, 178, 178, 185, 44, + 174, 208, 164, 208, 180, 196, 234, 196, 196, 204, + 234, 196, 196, 61, 216, 16, 15, 131, 234, 215, + 131, 59, 214, 59, 183, 232, 232, 257, 235, 14, + 237, 131, 90, 131, 234, 12, 234, 13, 22, 14, + 131, 102, 25, 212, 234, 234, 25, 25, 25, 25, + 25, 131, 234, 132, 131, 22, 14, 22, 14, 22, + 14, 22, 12, 18, 182, 11, 22, 214, 59, 99, + 205, 234, 184, 184, 122, 132, 259, 266, 30, 262, + 263, 265, 266, 267, 268, 181, 197, 202, 206, 234, + 184, 262, 178, 204, 203, 234, 184, 184, 189, 183, + 56, 168, 22, 183, 229, 230, 166, 99, 216, 222, + 131, 230, 132, 181, 225, 226, 131, 23, 181, 258, + 256, 131, 14, 234, 12, 248, 132, 22, 14, 131, + 257, 12, 12, 12, 12, 183, 183, 11, 22, 255, + 131, 33, 34, 181, 198, 198, 260, 261, 266, 178, + 178, 22, 199, 155, 184, 131, 131, 12, 132, 181, + 186, 56, 213, 11, 214, 248, 99, 227, 11, 234, + 90, 14, 257, 12, 131, 22, 162, 183, 248, 184, + 178, 15, 131, 184, 184, 152, 178, 199, 201, 201, + 187, 170, 256, 214, 189, 22, 231, 232, 221, 248, + 131, 233, 131, 88, 189, 145, 184, 266, 178, 199, + 199, 203, 184, 184, 184, 266, 184, 22, 229, 12, + 189, 181, 190, 12, 189, 198, 184, 22, 199, 199, + 199, 188, 45, 200, 12, 22, 59, 194, 12, 199, + 153, 131, 180, 17, 87, 181, 195, 201, 189, 206, + 88, 131, 184 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1537,39 +1522,39 @@ static const yytype_int16 yyr1[] = 146, 147, 148, 149, 150, 150, 152, 153, 151, 154, 154, 154, 155, 154, 154, 154, 156, 157, 158, 159, 160, 162, 161, 164, 163, 166, 165, 168, 167, 170, - 169, 171, 172, 174, 173, 175, 176, 177, 178, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 185, - 188, 188, 189, 189, 190, 190, 191, 191, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 193, 194, 194, 195, 196, 196, 196, - 196, 196, 196, 196, 196, 197, 197, 197, 198, 198, - 199, 199, 200, 201, 201, 202, 202, 203, 204, 205, - 206, 206, 207, 208, 209, 210, 211, 211, 212, 212, - 213, 213, 213, 214, 214, 215, 215, 216, 216, 217, - 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, - 222, 222, 222, 223, 223, 224, 224, 225, 227, 226, - 228, 228, 229, 230, 230, 232, 231, 233, 233, 233, - 233, 233, 234, 234, 234, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 236, 235, 237, - 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, - 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, - 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 248, 247, 247, - 247, 247, 249, 249, 249, 249, 250, 250, 250, 250, - 250, 251, 251, 251, 252, 252, 252, 253, 254, 253, - 255, 255, 256, 256, 257, 257, 258, 259, 259, 259, - 260, 261, 261, 261, 262, 262, 263, 263, 264, 265, - 266, 267, 268, 268, 269, 270, 270, 271, 271, 272, - 272, 273, 273, 273, 273 + 169, 171, 172, 174, 173, 175, 176, 177, 178, 179, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 186, 189, 189, 190, 190, 191, 191, 192, 192, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 194, 195, 195, 196, 197, 197, + 197, 197, 197, 197, 197, 197, 198, 198, 198, 199, + 199, 200, 200, 201, 202, 202, 203, 203, 204, 205, + 206, 207, 207, 208, 209, 210, 211, 212, 212, 213, + 213, 214, 214, 214, 215, 215, 216, 216, 217, 217, + 218, 218, 218, 219, 219, 220, 220, 221, 221, 222, + 222, 223, 223, 223, 224, 224, 225, 225, 226, 228, + 227, 229, 229, 230, 231, 231, 233, 232, 234, 234, + 234, 234, 234, 235, 235, 235, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 237, 236, + 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, + 241, 241, 241, 242, 242, 243, 243, 243, 243, 244, + 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 249, 248, + 248, 248, 248, 250, 250, 250, 250, 251, 251, 251, + 251, 251, 252, 252, 252, 253, 253, 253, 254, 255, + 254, 256, 256, 257, 257, 258, 258, 259, 260, 260, + 260, 261, 262, 262, 262, 263, 263, 264, 264, 265, + 266, 267, 268, 269, 269, 270, 271, 271, 272, 272, + 273, 273, 274, 274, 274, 274 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1577,42 +1562,42 @@ 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, 2, 1, 1, 0, 0, 13, 9, - 11, 8, 0, 10, 9, 7, 4, 6, 7, 1, + 2, 2, 2, 2, 1, 1, 0, 0, 13, 7, + 9, 6, 0, 8, 7, 5, 4, 4, 5, 1, 4, 0, 8, 0, 4, 0, 6, 0, 7, 0, - 8, 7, 8, 0, 7, 6, 8, 2, 1, 1, - 4, 0, 7, 0, 4, 0, 1, 0, 0, 5, - 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, + 8, 5, 8, 0, 7, 4, 8, 2, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 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, 0, 1, 3, 5, 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 + 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 1, 2, 4, 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, 0, 1, 3, 5, 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 { @@ -1663,7 +1648,7 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_ival, 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_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_opval, @@ -1684,6 +1669,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 1078c0c82f6a53e19cb8e24b6895797612787d7c40625329fd9ae08871d8fb6a perly.y + * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index 60b14e28a1b2..b3ec2c280d20 100644 --- a/perly.y +++ b/perly.y @@ -121,6 +121,7 @@ %type bare_statement_when %type bare_statement_while %type bare_statement_yadayada +%type clause_mexpr %type startsub startanonsub startanonmethod startformsub @@ -390,9 +391,7 @@ bare_statement_for_over remember KW_MY my_scalar - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -405,9 +404,7 @@ bare_statement_for_over PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -421,9 +418,7 @@ bare_statement_for_over | KW_FOR remember scalar - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -438,9 +433,7 @@ bare_statement_for_over parser->in_my = 0; $$ = my($my_var); }[variable] - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -463,9 +456,7 @@ bare_statement_for_over remember REFGEN refgen_topic - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -483,9 +474,7 @@ bare_statement_for_over } | KW_FOR remember - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock cont { @@ -513,9 +502,7 @@ bare_statement_format bare_statement_given : KW_GIVEN remember - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock { $$ = block_end($remember, newGIVENOP($mexpr, op_scope($mblock), 0)); @@ -526,9 +513,7 @@ bare_statement_given bare_statement_if : KW_IF remember - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock else { @@ -692,9 +677,7 @@ bare_statement_try_catch bare_statement_unless : KW_UNLESS remember - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock else { @@ -739,9 +722,7 @@ bare_statement_utilize bare_statement_when : KW_WHEN remember - PERLY_PAREN_OPEN - mexpr - PERLY_PAREN_CLOSE + clause_mexpr[mexpr] mblock { $$ = block_end($remember, newWHENOP($mexpr, op_scope($mblock))); @@ -771,6 +752,15 @@ bare_statement_yadayada } ; +clause_mexpr + : PERLY_PAREN_OPEN + mexpr + PERLY_PAREN_CLOSE + { + $$ = $mexpr; + } + ; + /* Either a signatured 'sub' or 'method' keyword */ sigsub_or_method_named : KW_SUB_named_sig @@ -965,7 +955,7 @@ else ($mblock)->op_flags |= OPf_PARENS; $$ = op_scope($mblock); } - | KW_ELSIF PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE mblock else[else.recurse] + | KW_ELSIF clause_mexpr[mexpr] mblock else[else.recurse] { parser->copline = (line_t)$KW_ELSIF; $$ = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,$mexpr), From 767911fcaf8a1d11a0be7320b2fbcebbe0ab2880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Wed, 22 Oct 2025 21:47:49 +0200 Subject: [PATCH 6/7] [parser] Rename `for-over` variable(s) to `cursor` (position pointer) To visualize code repetition. --- perly.act | 1139 +++++++++++++++--------------- perly.h | 2 +- perly.tab | 1993 +++++++++++++++++++++++++++-------------------------- perly.y | 58 +- 4 files changed, 1595 insertions(+), 1597 deletions(-) diff --git a/perly.act b/perly.act index b6bd81a02d77..563561f55781 100644 --- a/perly.act +++ b/perly.act @@ -259,78 +259,83 @@ case 2: /* @1: %empty */ break; - case 30: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE clause_mexpr mblock cont */ -#line 410 "perly.y" - { - if ((ps[-4].val.opval)->op_type == OP_PADSV) + case 30: /* $@11: %empty */ +#line 406 "perly.y" + { + if ((ps[0].val.opval)->op_type == OP_PADSV) /* degenerate case of 1 var: for my ($x) .... Flag it so it can be special-cased in newFOROP */ - (ps[-4].val.opval)->op_flags |= OPf_PARENS; - (yyval.opval) = block_end((ps[-7].val.ival), newFOROP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-8].val.ival); + (ps[0].val.opval)->op_flags |= OPf_PARENS; + } + + break; + + case 31: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars $@11 PERLY_PAREN_CLOSE clause_mexpr mblock cont */ +#line 416 "perly.y" + { + (yyval.opval) = block_end((ps[-8].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-9].val.ival); } break; - case 31: /* bare_statement_for_over: KW_FOR remember scalar clause_mexpr mblock cont */ -#line 424 "perly.y" + case 32: /* @12: %empty */ +#line 423 "perly.y" { - (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, op_lvalue((ps[-3].val.opval), OP_ENTERLOOP), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-5].val.ival); + (yyval.opval) = op_lvalue ((ps[0].val.opval), OP_ENTERLOOP); } break; - case 32: /* @11: %empty */ -#line 432 "perly.y" + case 33: /* bare_statement_for_over: KW_FOR remember scalar @12 clause_mexpr mblock cont */ +#line 429 "perly.y" { - parser->in_my = 0; - (yyval.opval) = my((ps[0].val.opval)); + (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-6].val.ival); } break; - case 33: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @11 clause_mexpr mblock cont */ -#line 439 "perly.y" + case 34: /* @13: %empty */ +#line 437 "perly.y" { - (yyval.opval) = block_end( - (ps[-6].val.ival), - newFOROP( - 0, - op_lvalue( - newUNOP(OP_REFGEN, 0, (ps[-3].val.opval)), - OP_ENTERLOOP - ), - (ps[-2].val.opval), - (ps[-1].val.opval), - (ps[0].val.opval) - ) + parser->in_my = 0; + (yyval.opval) = op_lvalue( + newUNOP(OP_REFGEN, 0, my ((ps[0].val.opval))), + OP_ENTERLOOP ); + } + + break; + + case 35: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @13 clause_mexpr mblock cont */ +#line 447 "perly.y" + { + (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-7].val.ival); } break; - case 34: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic clause_mexpr mblock cont */ -#line 462 "perly.y" + case 36: /* @14: %empty */ +#line 455 "perly.y" { - (yyval.opval) = block_end ( - (ps[-5].val.ival), - newFOROP ( - 0, - op_lvalue (newUNOP(OP_REFGEN, 0, (ps[-3].val.opval)), OP_ENTERLOOP), - (ps[-2].val.opval), - (ps[-1].val.opval), - (ps[0].val.opval) - ) - ); - parser->copline = (line_t)(ps[-6].val.ival); + (yyval.opval) = op_lvalue (newUNOP(OP_REFGEN, 0, (ps[0].val.opval)), OP_ENTERLOOP); + } + + break; + + case 37: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic @14 clause_mexpr mblock cont */ +#line 461 "perly.y" + { + (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-7].val.ival); } break; - case 35: /* bare_statement_for_over: KW_FOR remember clause_mexpr mblock cont */ -#line 480 "perly.y" + case 38: /* bare_statement_for_over: KW_FOR remember clause_mexpr mblock cont */ +#line 470 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newFOROP(0, NULL, (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-4].val.ival); @@ -338,8 +343,8 @@ case 2: /* @1: %empty */ break; - case 36: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ -#line 491 "perly.y" + case 39: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ +#line 481 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -352,8 +357,8 @@ case 2: /* @1: %empty */ break; - case 37: /* bare_statement_given: KW_GIVEN remember clause_mexpr mblock */ -#line 507 "perly.y" + case 40: /* bare_statement_given: KW_GIVEN remember clause_mexpr mblock */ +#line 497 "perly.y" { (yyval.opval) = block_end((ps[-2].val.ival), newGIVENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-3].val.ival); @@ -361,8 +366,8 @@ case 2: /* @1: %empty */ break; - case 38: /* bare_statement_if: KW_IF remember clause_mexpr mblock else */ -#line 519 "perly.y" + case 41: /* bare_statement_if: KW_IF remember clause_mexpr mblock else */ +#line 509 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); parser->copline = (line_t)(ps[-4].val.ival); @@ -370,8 +375,8 @@ case 2: /* @1: %empty */ break; - case 39: /* bare_statement_null: PERLY_SEMICOLON */ -#line 527 "perly.y" + case 42: /* bare_statement_null: PERLY_SEMICOLON */ +#line 517 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -379,8 +384,8 @@ case 2: /* @1: %empty */ break; - case 40: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ -#line 543 "perly.y" + case 43: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ +#line 533 "perly.y" { package ((ps[-1].val.opval), (ps[-2].val.opval)); (yyval.opval) = NULL; @@ -388,16 +393,16 @@ case 2: /* @1: %empty */ break; - case 41: /* $@12: %empty */ -#line 555 "perly.y" + case 44: /* $@15: %empty */ +#line 545 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); } break; - case 42: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@12 stmtseq PERLY_BRACE_CLOSE */ -#line 560 "perly.y" + case 45: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@15 stmtseq PERLY_BRACE_CLOSE */ +#line 550 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -406,8 +411,8 @@ case 2: /* @1: %empty */ break; - case 43: /* $@13: %empty */ -#line 570 "perly.y" + case 46: /* $@16: %empty */ +#line 560 "perly.y" { switch((ps[-1].val.ival)) { case KEY_ADJUST: @@ -421,8 +426,8 @@ case 2: /* @1: %empty */ break; - case 44: /* bare_statement_phaser: PHASER startsub $@13 optsubbody */ -#line 581 "perly.y" + case 47: /* bare_statement_phaser: PHASER startsub $@16 optsubbody */ +#line 571 "perly.y" { OP *body = (ps[0].val.opval); SvREFCNT_inc_simple_void(PL_compcv); @@ -441,8 +446,8 @@ case 2: /* @1: %empty */ break; - case 45: /* $@14: %empty */ -#line 605 "perly.y" + case 48: /* $@17: %empty */ +#line 595 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); if((ps[-2].val.ival) == KW_METHOD_named) { @@ -455,8 +460,8 @@ case 2: /* @1: %empty */ break; - case 46: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@14 subattrlist optsigsubbody */ -#line 616 "perly.y" + case 49: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@17 subattrlist optsigsubbody */ +#line 606 "perly.y" { OP *body = (ps[0].val.opval); @@ -472,8 +477,8 @@ case 2: /* @1: %empty */ break; - case 47: /* $@15: %empty */ -#line 635 "perly.y" + case 50: /* $@18: %empty */ +#line 625 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -482,8 +487,8 @@ case 2: /* @1: %empty */ break; - case 48: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@15 proto subattrlist optsubbody */ -#line 643 "perly.y" + case 51: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@18 proto subattrlist optsubbody */ +#line 633 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -497,8 +502,8 @@ case 2: /* @1: %empty */ break; - case 49: /* $@16: %empty */ -#line 661 "perly.y" + case 52: /* $@19: %empty */ +#line 651 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -508,8 +513,8 @@ case 2: /* @1: %empty */ break; - case 50: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@16 mblock finally */ -#line 669 "perly.y" + case 53: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@19 mblock finally */ +#line 659 "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)))); if((ps[0].val.opval)) @@ -519,8 +524,8 @@ case 2: /* @1: %empty */ break; - case 51: /* bare_statement_unless: KW_UNLESS remember clause_mexpr mblock else */ -#line 683 "perly.y" + case 54: /* bare_statement_unless: KW_UNLESS remember clause_mexpr mblock else */ +#line 673 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); parser->copline = (line_t)(ps[-4].val.ival); @@ -528,8 +533,8 @@ case 2: /* @1: %empty */ break; - case 52: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 698 "perly.y" + case 55: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 688 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -537,14 +542,14 @@ case 2: /* @1: %empty */ break; - case 53: /* $@17: %empty */ -#line 707 "perly.y" + case 56: /* $@20: %empty */ +#line 697 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; - case 54: /* bare_statement_utilize: KW_USE_or_NO startsub $@17 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ -#line 714 "perly.y" + case 57: /* bare_statement_utilize: KW_USE_or_NO startsub $@20 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ +#line 704 "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)); @@ -554,16 +559,16 @@ case 2: /* @1: %empty */ break; - case 55: /* bare_statement_when: KW_WHEN remember clause_mexpr mblock */ -#line 727 "perly.y" + case 58: /* bare_statement_when: KW_WHEN remember clause_mexpr mblock */ +#line 717 "perly.y" { (yyval.opval) = block_end((ps[-2].val.ival), newWHENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)))); } break; - case 56: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 741 "perly.y" + case 59: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 731 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -571,8 +576,8 @@ case 2: /* @1: %empty */ break; - case 57: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ -#line 749 "perly.y" + case 60: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ +#line 739 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -580,28 +585,28 @@ case 2: /* @1: %empty */ break; - case 58: /* clause_mexpr: PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE */ -#line 759 "perly.y" + case 61: /* clause_mexpr: PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE */ +#line 749 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 59: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 767 "perly.y" + case 62: /* sigsub_or_method_named: KW_SUB_named_sig */ +#line 757 "perly.y" { (yyval.ival) = KW_SUB_named_sig; } break; - case 60: /* sigsub_or_method_named: KW_METHOD_named */ -#line 769 "perly.y" + case 63: /* sigsub_or_method_named: KW_METHOD_named */ +#line 759 "perly.y" { (yyval.ival) = KW_METHOD_named; } break; - case 61: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ -#line 774 "perly.y" + case 64: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ +#line 764 "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)); @@ -609,14 +614,14 @@ case 2: /* @1: %empty */ break; - case 62: /* empty: %empty */ -#line 781 "perly.y" + case 65: /* empty: %empty */ +#line 771 "perly.y" { (yyval.opval) = NULL; } break; - case 63: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ -#line 786 "perly.y" + case 66: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ +#line 776 "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)); @@ -624,15 +629,15 @@ case 2: /* @1: %empty */ break; - case 64: /* remember: %empty */ -#line 793 "perly.y" + case 67: /* remember: %empty */ +#line 783 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; - case 65: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ -#line 798 "perly.y" + case 68: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ +#line 788 "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)); @@ -640,33 +645,33 @@ case 2: /* @1: %empty */ break; - case 66: /* mremember: %empty */ -#line 805 "perly.y" + case 69: /* mremember: %empty */ +#line 795 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; - case 68: /* $@18: %empty */ -#line 814 "perly.y" + case 71: /* $@21: %empty */ +#line 804 "perly.y" { parser->in_my = KEY_catch; } break; - case 69: /* $@19: %empty */ -#line 816 "perly.y" + case 72: /* $@22: %empty */ +#line 806 "perly.y" { parser->in_my = 0; intro_my(); } break; - case 70: /* catch_paren: PERLY_PAREN_OPEN $@18 scalar $@19 PERLY_PAREN_CLOSE */ -#line 818 "perly.y" + case 73: /* catch_paren: PERLY_PAREN_OPEN $@21 scalar $@22 PERLY_PAREN_CLOSE */ +#line 808 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 72: /* stmtseq: stmtseq fullstmt */ -#line 825 "perly.y" + case 75: /* stmtseq: stmtseq fullstmt */ +#line 815 "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)) @@ -675,8 +680,8 @@ case 2: /* @1: %empty */ break; - case 74: /* formstmtseq: formstmtseq formline */ -#line 836 "perly.y" + case 77: /* formstmtseq: formstmtseq formline */ +#line 826 "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)) @@ -685,22 +690,22 @@ case 2: /* @1: %empty */ break; - case 75: /* fullstmt: barestmt */ -#line 845 "perly.y" + case 78: /* fullstmt: barestmt */ +#line 835 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } break; - case 76: /* fullstmt: labfullstmt */ -#line 849 "perly.y" + case 79: /* fullstmt: labfullstmt */ +#line 839 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 77: /* labfullstmt: LABEL barestmt */ -#line 853 "perly.y" + case 80: /* labfullstmt: LABEL barestmt */ +#line 843 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -710,8 +715,8 @@ case 2: /* @1: %empty */ break; - case 78: /* labfullstmt: LABEL labfullstmt */ -#line 860 "perly.y" + case 81: /* labfullstmt: LABEL labfullstmt */ +#line 850 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -721,8 +726,8 @@ case 2: /* @1: %empty */ break; - case 104: /* formline: THING formarg */ -#line 905 "perly.y" + case 107: /* formline: THING formarg */ +#line 895 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -740,63 +745,63 @@ case 2: /* @1: %empty */ break; - case 106: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ -#line 924 "perly.y" + case 109: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ +#line 914 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 108: /* sideff: error */ -#line 932 "perly.y" + case 111: /* sideff: error */ +#line 922 "perly.y" { (yyval.opval) = NULL; } break; - case 109: /* sideff: expr */ -#line 934 "perly.y" + case 112: /* sideff: expr */ +#line 924 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 110: /* sideff: expr KW_IF condition */ -#line 936 "perly.y" + case 113: /* sideff: expr KW_IF condition */ +#line 926 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 111: /* sideff: expr KW_UNLESS condition */ -#line 938 "perly.y" + case 114: /* sideff: expr KW_UNLESS condition */ +#line 928 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 112: /* sideff: expr KW_WHILE condition */ -#line 940 "perly.y" + case 115: /* sideff: expr KW_WHILE condition */ +#line 930 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 113: /* sideff: expr KW_UNTIL iexpr */ -#line 942 "perly.y" + case 116: /* sideff: expr KW_UNTIL iexpr */ +#line 932 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 114: /* sideff: expr KW_FOR condition */ -#line 944 "perly.y" + case 117: /* sideff: expr KW_FOR condition */ +#line 934 "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 115: /* sideff: expr KW_WHEN condition */ -#line 947 "perly.y" + case 118: /* sideff: expr KW_WHEN condition */ +#line 937 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 117: /* else: KW_ELSE mblock */ -#line 954 "perly.y" + case 120: /* else: KW_ELSE mblock */ +#line 944 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -804,8 +809,8 @@ case 2: /* @1: %empty */ break; - case 118: /* else: KW_ELSIF clause_mexpr mblock else */ -#line 959 "perly.y" + case 121: /* else: KW_ELSIF clause_mexpr mblock else */ +#line 949 "perly.y" { parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-2].val.opval)), @@ -815,94 +820,94 @@ case 2: /* @1: %empty */ break; - case 120: /* cont: KW_CONTINUE block */ -#line 971 "perly.y" + case 123: /* cont: KW_CONTINUE block */ +#line 961 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 121: /* finally: %empty */ -#line 976 "perly.y" + case 124: /* finally: %empty */ +#line 966 "perly.y" { (yyval.opval) = NULL; } break; - case 122: /* finally: KW_FINALLY block */ -#line 978 "perly.y" + case 125: /* finally: KW_FINALLY block */ +#line 968 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 123: /* mintro: %empty */ -#line 983 "perly.y" + case 126: /* mintro: %empty */ +#line 973 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 126: /* texpr: %empty */ -#line 995 "perly.y" + case 129: /* texpr: %empty */ +#line 985 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 128: /* iexpr: expr */ -#line 1003 "perly.y" + case 131: /* iexpr: expr */ +#line 993 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 129: /* mexpr: expr */ -#line 1008 "perly.y" + case 132: /* mexpr: expr */ +#line 998 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 130: /* mnexpr: nexpr */ -#line 1012 "perly.y" + case 133: /* mnexpr: nexpr */ +#line 1002 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 131: /* formname: BAREWORD */ -#line 1015 "perly.y" + case 134: /* formname: BAREWORD */ +#line 1005 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 133: /* startsub: %empty */ -#line 1020 "perly.y" + case 136: /* startsub: %empty */ +#line 1010 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 134: /* startanonsub: %empty */ -#line 1026 "perly.y" + case 137: /* startanonsub: %empty */ +#line 1016 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 135: /* startanonmethod: %empty */ -#line 1031 "perly.y" + case 138: /* startanonmethod: %empty */ +#line 1021 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD); SAVEFREESV(PL_compcv); } break; - case 136: /* startformsub: %empty */ -#line 1036 "perly.y" + case 139: /* startformsub: %empty */ +#line 1026 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 142: /* subattrlist: COLONATTR THING */ -#line 1055 "perly.y" + case 145: /* subattrlist: COLONATTR THING */ +#line 1045 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -912,50 +917,50 @@ case 2: /* @1: %empty */ break; - case 143: /* subattrlist: COLONATTR */ -#line 1062 "perly.y" + case 146: /* subattrlist: COLONATTR */ +#line 1052 "perly.y" { (yyval.opval) = NULL; } break; - case 144: /* myattrlist: COLONATTR THING */ -#line 1067 "perly.y" + case 147: /* myattrlist: COLONATTR THING */ +#line 1057 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 145: /* myattrlist: COLONATTR */ -#line 1069 "perly.y" + case 148: /* myattrlist: COLONATTR */ +#line 1059 "perly.y" { (yyval.opval) = NULL; } break; - case 146: /* sigvar: %empty */ -#line 1080 "perly.y" + case 149: /* sigvar: %empty */ +#line 1070 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 147: /* sigvar: PRIVATEREF */ -#line 1082 "perly.y" + case 150: /* sigvar: PRIVATEREF */ +#line 1072 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 148: /* sigslurpsigil: PERLY_SNAIL */ -#line 1087 "perly.y" + case 151: /* sigslurpsigil: PERLY_SNAIL */ +#line 1077 "perly.y" { (yyval.ival) = '@'; } break; - case 149: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1089 "perly.y" + case 152: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1079 "perly.y" { (yyval.ival) = '%'; } break; - case 150: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1093 "perly.y" + case 153: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1083 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -963,36 +968,36 @@ case 2: /* @1: %empty */ break; - case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1098 "perly.y" + case 154: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1088 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 152: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1102 "perly.y" + case 155: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1092 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 153: /* optcolon: %empty */ -#line 1108 "perly.y" + case 156: /* optcolon: %empty */ +#line 1098 "perly.y" { (yyval.ival) = 0; } break; - case 154: /* optcolon: PERLY_COLON */ -#line 1110 "perly.y" + case 157: /* optcolon: PERLY_COLON */ +#line 1100 "perly.y" { (yyval.ival) = ':'; } break; - case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1116 "perly.y" + case 158: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1106 "perly.y" { if((ps[-2].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.ival)]; @@ -1005,8 +1010,8 @@ case 2: /* @1: %empty */ break; - case 156: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1126 "perly.y" + case 159: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1116 "perly.y" { if((ps[-4].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[-2].val.ival)]; @@ -1019,32 +1024,32 @@ case 2: /* @1: %empty */ break; - case 157: /* optsigscalardefault: %empty */ -#line 1139 "perly.y" + case 160: /* optsigscalardefault: %empty */ +#line 1129 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 159: /* sigelem: sigscalarelem */ -#line 1146 "perly.y" + case 162: /* sigelem: sigscalarelem */ +#line 1136 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 160: /* sigelem: sigslurpelem */ -#line 1148 "perly.y" + case 163: /* sigelem: sigslurpelem */ +#line 1138 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 168: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1174 "perly.y" + case 171: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1164 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 169: /* $@20: %empty */ -#line 1177 "perly.y" + case 172: /* $@23: %empty */ +#line 1167 "perly.y" { ENTER; subsignature_start(); @@ -1053,8 +1058,8 @@ case 2: /* @1: %empty */ break; - case 170: /* subsigguts: $@20 optsiglist */ -#line 1183 "perly.y" + case 173: /* subsigguts: $@23 optsiglist */ +#line 1173 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1081,14 +1086,14 @@ case 2: /* @1: %empty */ break; - case 172: /* optsubbody: PERLY_SEMICOLON */ -#line 1211 "perly.y" + case 175: /* optsubbody: PERLY_SEMICOLON */ +#line 1201 "perly.y" { (yyval.opval) = NULL; } break; - case 173: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1217 "perly.y" + case 176: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1207 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1097,20 +1102,20 @@ case 2: /* @1: %empty */ break; - case 175: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1229 "perly.y" + case 178: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1219 "perly.y" { (yyval.opval) = NULL; } break; - case 176: /* $@21: %empty */ -#line 1234 "perly.y" + case 179: /* $@24: %empty */ +#line 1224 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 177: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1236 "perly.y" + case 180: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@24 stmtseq PERLY_BRACE_CLOSE */ +#line 1226 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1120,38 +1125,38 @@ case 2: /* @1: %empty */ break; - case 178: /* expr: expr ANDOP expr */ -#line 1247 "perly.y" + case 181: /* expr: expr ANDOP expr */ +#line 1237 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 179: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1249 "perly.y" + case 182: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1239 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 180: /* expr: expr OROP expr */ -#line 1251 "perly.y" + case 183: /* expr: expr OROP expr */ +#line 1241 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 181: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1253 "perly.y" + case 184: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1243 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 183: /* listexpr: listexpr PERLY_COMMA */ -#line 1259 "perly.y" + case 186: /* listexpr: listexpr PERLY_COMMA */ +#line 1249 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 184: /* listexpr: listexpr PERLY_COMMA term */ -#line 1261 "perly.y" + case 187: /* listexpr: listexpr PERLY_COMMA term */ +#line 1251 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1159,32 +1164,32 @@ case 2: /* @1: %empty */ break; - case 186: /* listop: LSTOP indirob listexpr */ -#line 1270 "perly.y" + case 189: /* listop: LSTOP indirob listexpr */ +#line 1260 "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 187: /* listop: BLKLSTOP block listexpr */ -#line 1274 "perly.y" + case 190: /* listop: BLKLSTOP block listexpr */ +#line 1264 "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 188: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1278 "perly.y" + case 191: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1268 "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 189: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1282 "perly.y" + case 192: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1272 "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)), @@ -1193,8 +1198,8 @@ case 2: /* @1: %empty */ break; - case 190: /* listop: term ARROW methodname */ -#line 1288 "perly.y" + case 193: /* listop: term ARROW methodname */ +#line 1278 "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)))); @@ -1202,8 +1207,8 @@ case 2: /* @1: %empty */ break; - case 191: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1293 "perly.y" + case 194: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1283 "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)), @@ -1212,8 +1217,8 @@ case 2: /* @1: %empty */ break; - case 192: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1299 "perly.y" + case 195: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1289 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1222,8 +1227,8 @@ case 2: /* @1: %empty */ break; - case 193: /* listop: METHCALL0 indirob optlistexpr */ -#line 1305 "perly.y" + case 196: /* listop: METHCALL0 indirob optlistexpr */ +#line 1295 "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)), @@ -1232,8 +1237,8 @@ case 2: /* @1: %empty */ break; - case 194: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1311 "perly.y" + case 197: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1301 "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)), @@ -1242,26 +1247,26 @@ case 2: /* @1: %empty */ break; - case 195: /* listop: LSTOP optlistexpr */ -#line 1317 "perly.y" + case 198: /* listop: LSTOP optlistexpr */ +#line 1307 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 196: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1319 "perly.y" + case 199: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1309 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 197: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1321 "perly.y" + case 200: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1311 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 198: /* @22: %empty */ -#line 1323 "perly.y" + case 201: /* @25: %empty */ +#line 1313 "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 */ @@ -1270,8 +1275,8 @@ case 2: /* @1: %empty */ break; - case 199: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1329 "perly.y" + case 202: /* listop: LSTOPSUB startanonsub block @25 optlistexpr */ +#line 1319 "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))); @@ -1279,21 +1284,21 @@ case 2: /* @1: %empty */ break; - case 202: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1344 "perly.y" + case 205: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1334 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 203: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1346 "perly.y" + case 206: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1336 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 204: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1349 "perly.y" + case 207: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1339 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1301,8 +1306,8 @@ case 2: /* @1: %empty */ break; - case 205: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1354 "perly.y" + case 208: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1344 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1310,31 +1315,31 @@ case 2: /* @1: %empty */ break; - case 206: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1359 "perly.y" + case 209: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1349 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 207: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1362 "perly.y" + case 210: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1352 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 208: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1366 "perly.y" + case 211: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1356 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1370 "perly.y" + case 212: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1360 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1343,8 +1348,8 @@ case 2: /* @1: %empty */ break; - case 210: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1376 "perly.y" + case 213: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1366 "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))))); @@ -1354,8 +1359,8 @@ case 2: /* @1: %empty */ break; - case 211: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1384 "perly.y" + case 214: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1374 "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))))); @@ -1365,8 +1370,8 @@ case 2: /* @1: %empty */ break; - case 212: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1391 "perly.y" + case 215: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1381 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1375,56 +1380,56 @@ case 2: /* @1: %empty */ break; - case 213: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1397 "perly.y" + case 216: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1387 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 214: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1399 "perly.y" + case 217: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1389 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 215: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1401 "perly.y" + case 218: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1391 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 216: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1406 "perly.y" + case 219: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1396 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 217: /* termbinop: term ASSIGNOP term */ -#line 1408 "perly.y" + case 220: /* termbinop: term ASSIGNOP term */ +#line 1398 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 218: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1410 "perly.y" + case 221: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1400 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 219: /* termbinop: term POWOP term */ -#line 1412 "perly.y" + case 222: /* termbinop: term POWOP term */ +#line 1402 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 220: /* termbinop: term PLUGIN_POW_OP term */ -#line 1414 "perly.y" + case 223: /* termbinop: term PLUGIN_POW_OP term */ +#line 1404 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 221: /* termbinop: term MULOP term */ -#line 1416 "perly.y" + case 224: /* termbinop: term MULOP term */ +#line 1406 "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))); @@ -1432,220 +1437,220 @@ case 2: /* @1: %empty */ break; - case 222: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1421 "perly.y" + case 225: /* termbinop: term PLUGIN_MUL_OP term */ +#line 1411 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 223: /* termbinop: term ADDOP term */ -#line 1423 "perly.y" + case 226: /* termbinop: term ADDOP term */ +#line 1413 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 224: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1425 "perly.y" + case 227: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1415 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 225: /* termbinop: term SHIFTOP term */ -#line 1427 "perly.y" + case 228: /* termbinop: term SHIFTOP term */ +#line 1417 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 226: /* termbinop: termrelop */ -#line 1429 "perly.y" + case 229: /* termbinop: termrelop */ +#line 1419 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 227: /* termbinop: termeqop */ -#line 1431 "perly.y" + case 230: /* termbinop: termeqop */ +#line 1421 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 228: /* termbinop: term BITANDOP term */ -#line 1433 "perly.y" + case 231: /* termbinop: term BITANDOP term */ +#line 1423 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 229: /* termbinop: term BITOROP term */ -#line 1435 "perly.y" + case 232: /* termbinop: term BITOROP term */ +#line 1425 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 230: /* termbinop: term DOTDOT term */ -#line 1437 "perly.y" + case 233: /* termbinop: term DOTDOT term */ +#line 1427 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 231: /* termbinop: term ANDAND term */ -#line 1439 "perly.y" + case 234: /* termbinop: term ANDAND term */ +#line 1429 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 232: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1441 "perly.y" + case 235: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1431 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 233: /* termbinop: term OROR term */ -#line 1443 "perly.y" + case 236: /* termbinop: term OROR term */ +#line 1433 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 234: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1445 "perly.y" + case 237: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1435 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 235: /* termbinop: term DORDOR term */ -#line 1447 "perly.y" + case 238: /* termbinop: term DORDOR term */ +#line 1437 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 236: /* termbinop: term MATCHOP term */ -#line 1449 "perly.y" + case 239: /* termbinop: term MATCHOP term */ +#line 1439 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 237: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1451 "perly.y" + case 240: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1441 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 238: /* termrelop: relopchain */ -#line 1455 "perly.y" + case 241: /* termrelop: relopchain */ +#line 1445 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 239: /* termrelop: term NCRELOP term */ -#line 1457 "perly.y" + case 242: /* termrelop: term NCRELOP term */ +#line 1447 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 240: /* termrelop: termrelop NCRELOP */ -#line 1459 "perly.y" + case 243: /* termrelop: termrelop NCRELOP */ +#line 1449 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 241: /* termrelop: termrelop CHRELOP */ -#line 1461 "perly.y" + case 244: /* termrelop: termrelop CHRELOP */ +#line 1451 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 242: /* termrelop: term PLUGIN_REL_OP term */ -#line 1463 "perly.y" + case 245: /* termrelop: term PLUGIN_REL_OP term */ +#line 1453 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 243: /* relopchain: term CHRELOP term */ -#line 1467 "perly.y" + case 246: /* relopchain: term CHRELOP term */ +#line 1457 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 244: /* relopchain: relopchain CHRELOP term */ -#line 1469 "perly.y" + case 247: /* relopchain: relopchain CHRELOP term */ +#line 1459 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 245: /* termeqop: eqopchain */ -#line 1473 "perly.y" + case 248: /* termeqop: eqopchain */ +#line 1463 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 246: /* termeqop: term NCEQOP term */ -#line 1475 "perly.y" + case 249: /* termeqop: term NCEQOP term */ +#line 1465 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 247: /* termeqop: termeqop NCEQOP */ -#line 1477 "perly.y" + case 250: /* termeqop: termeqop NCEQOP */ +#line 1467 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 248: /* termeqop: termeqop CHEQOP */ -#line 1479 "perly.y" + case 251: /* termeqop: termeqop CHEQOP */ +#line 1469 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 249: /* eqopchain: term CHEQOP term */ -#line 1483 "perly.y" + case 252: /* eqopchain: term CHEQOP term */ +#line 1473 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 250: /* eqopchain: eqopchain CHEQOP term */ -#line 1485 "perly.y" + case 253: /* eqopchain: eqopchain CHEQOP term */ +#line 1475 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 251: /* termunop: PERLY_MINUS term */ -#line 1490 "perly.y" + case 254: /* termunop: PERLY_MINUS term */ +#line 1480 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 252: /* termunop: PERLY_PLUS term */ -#line 1492 "perly.y" + case 255: /* termunop: PERLY_PLUS term */ +#line 1482 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 253: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1495 "perly.y" + case 256: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1485 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 254: /* termunop: PERLY_TILDE term */ -#line 1497 "perly.y" + case 257: /* termunop: PERLY_TILDE term */ +#line 1487 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 255: /* termunop: term POSTINC */ -#line 1499 "perly.y" + case 258: /* termunop: term POSTINC */ +#line 1489 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 256: /* termunop: term POSTDEC */ -#line 1502 "perly.y" + case 259: /* termunop: term POSTDEC */ +#line 1492 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 257: /* termunop: term POSTJOIN */ -#line 1505 "perly.y" + case 260: /* termunop: term POSTJOIN */ +#line 1495 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1659,60 +1664,60 @@ case 2: /* @1: %empty */ break; - case 258: /* termunop: PREINC term */ -#line 1516 "perly.y" + case 261: /* termunop: PREINC term */ +#line 1506 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 259: /* termunop: PREDEC term */ -#line 1519 "perly.y" + case 262: /* termunop: PREDEC term */ +#line 1509 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 260: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1527 "perly.y" + case 263: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1517 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 261: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1529 "perly.y" + case 264: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1519 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1531 "perly.y" + case 265: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1521 "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 263: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1534 "perly.y" + case 266: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1524 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1536 "perly.y" + case 267: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1526 "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 265: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1539 "perly.y" + case 268: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1529 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1541 "perly.y" + case 269: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1531 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1720,104 +1725,104 @@ case 2: /* @1: %empty */ break; - case 267: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1546 "perly.y" + case 270: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1536 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 268: /* termdo: KW_DO term */ -#line 1551 "perly.y" + case 271: /* termdo: KW_DO term */ +#line 1541 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 269: /* termdo: KW_DO block */ -#line 1553 "perly.y" + case 272: /* termdo: KW_DO block */ +#line 1543 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 274: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1561 "perly.y" + case 277: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1551 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 275: /* term: REFGEN term */ -#line 1563 "perly.y" + case 278: /* term: REFGEN term */ +#line 1553 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 276: /* term: myattrterm */ -#line 1565 "perly.y" + case 279: /* term: myattrterm */ +#line 1555 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 277: /* term: KW_LOCAL term */ -#line 1567 "perly.y" + case 280: /* term: KW_LOCAL term */ +#line 1557 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 278: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1569 "perly.y" + case 281: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1559 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 279: /* term: QWLIST */ -#line 1571 "perly.y" + case 282: /* term: QWLIST */ +#line 1561 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 280: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1573 "perly.y" + case 283: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1563 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 281: /* term: scalar */ -#line 1575 "perly.y" + case 284: /* term: scalar */ +#line 1565 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: star */ -#line 1577 "perly.y" + case 285: /* term: star */ +#line 1567 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 283: /* term: hsh */ -#line 1579 "perly.y" + case 286: /* term: hsh */ +#line 1569 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: ary */ -#line 1581 "perly.y" + case 287: /* term: ary */ +#line 1571 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: /* term: arylen */ -#line 1583 "perly.y" + case 288: /* term: arylen */ +#line 1573 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 286: /* term: subscripted */ -#line 1585 "perly.y" + case 289: /* term: subscripted */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 287: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1587 "perly.y" + case 290: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1577 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1830,8 +1835,8 @@ case 2: /* @1: %empty */ break; - case 288: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1597 "perly.y" + case 291: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1587 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1844,8 +1849,8 @@ case 2: /* @1: %empty */ break; - case 289: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1607 "perly.y" + case 292: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1597 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1858,8 +1863,8 @@ case 2: /* @1: %empty */ break; - case 290: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1617 "perly.y" + case 293: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1607 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1872,27 +1877,27 @@ case 2: /* @1: %empty */ break; - case 291: /* term: THING */ -#line 1627 "perly.y" + case 294: /* term: THING */ +#line 1617 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 292: /* term: amper */ -#line 1629 "perly.y" + case 295: /* term: amper */ +#line 1619 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 293: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1631 "perly.y" + case 296: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1621 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 294: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1634 "perly.y" + case 297: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1624 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1900,153 +1905,153 @@ case 2: /* @1: %empty */ break; - case 295: /* term: NOAMP subname optlistexpr */ -#line 1639 "perly.y" + case 298: /* term: NOAMP subname optlistexpr */ +#line 1629 "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 296: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1643 "perly.y" + case 299: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1633 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 297: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1645 "perly.y" + case 300: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1635 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 298: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1647 "perly.y" + case 301: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1637 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 299: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1649 "perly.y" + case 302: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1639 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 300: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1652 "perly.y" + case 303: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1642 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 301: /* term: LOOPEX */ -#line 1654 "perly.y" + case 304: /* term: LOOPEX */ +#line 1644 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 302: /* term: LOOPEX term */ -#line 1657 "perly.y" + case 305: /* term: LOOPEX term */ +#line 1647 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 303: /* term: NOTOP listexpr */ -#line 1659 "perly.y" + case 306: /* term: NOTOP listexpr */ +#line 1649 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 304: /* term: UNIOP */ -#line 1661 "perly.y" + case 307: /* term: UNIOP */ +#line 1651 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 305: /* term: UNIOP block */ -#line 1663 "perly.y" + case 308: /* term: UNIOP block */ +#line 1653 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 306: /* term: UNIOP term */ -#line 1665 "perly.y" + case 309: /* term: UNIOP term */ +#line 1655 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 307: /* term: KW_REQUIRE */ -#line 1667 "perly.y" + case 310: /* term: KW_REQUIRE */ +#line 1657 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 308: /* term: KW_REQUIRE term */ -#line 1669 "perly.y" + case 311: /* term: KW_REQUIRE term */ +#line 1659 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 309: /* term: UNIOPSUB */ -#line 1671 "perly.y" + case 312: /* term: UNIOPSUB */ +#line 1661 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 310: /* term: UNIOPSUB term */ -#line 1673 "perly.y" + case 313: /* term: UNIOPSUB term */ +#line 1663 "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 311: /* term: FUNC0 */ -#line 1676 "perly.y" + case 314: /* term: FUNC0 */ +#line 1666 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 312: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1678 "perly.y" + case 315: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1668 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 313: /* term: FUNC0OP */ -#line 1680 "perly.y" + case 316: /* term: FUNC0OP */ +#line 1670 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 314: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1682 "perly.y" + case 317: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1672 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 315: /* term: FUNC0SUB */ -#line 1684 "perly.y" + case 318: /* term: FUNC0SUB */ +#line 1674 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 316: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1686 "perly.y" + case 319: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1676 "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 317: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1690 "perly.y" + case 320: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1680 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 318: /* @23: %empty */ -#line 1692 "perly.y" + case 321: /* @26: %empty */ +#line 1682 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2060,68 +2065,68 @@ case 2: /* @1: %empty */ break; - case 319: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1703 "perly.y" + case 322: /* term: PMFUNC @26 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1693 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 323: /* myattrterm: KW_MY myterm myattrlist */ -#line 1712 "perly.y" + case 326: /* myattrterm: KW_MY myterm myattrlist */ +#line 1702 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 324: /* myattrterm: KW_MY myterm */ -#line 1714 "perly.y" + case 327: /* myattrterm: KW_MY myterm */ +#line 1704 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 325: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1716 "perly.y" + case 328: /* myattrterm: KW_MY REFGEN myterm myattrlist */ +#line 1706 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 326: /* myattrterm: KW_MY REFGEN term */ -#line 1718 "perly.y" + case 329: /* myattrterm: KW_MY REFGEN term */ +#line 1708 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 327: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1723 "perly.y" + case 330: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1713 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 328: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1725 "perly.y" + case 331: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1715 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 329: /* myterm: scalar */ -#line 1728 "perly.y" + case 332: /* myterm: scalar */ +#line 1718 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 330: /* myterm: hsh */ -#line 1730 "perly.y" + case 333: /* myterm: hsh */ +#line 1720 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 331: /* myterm: ary */ -#line 1732 "perly.y" + case 334: /* myterm: ary */ +#line 1722 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 332: /* fieldvar: scalar */ -#line 1737 "perly.y" + case 335: /* fieldvar: scalar */ +#line 1727 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2129,8 +2134,8 @@ case 2: /* @1: %empty */ break; - case 333: /* fieldvar: hsh */ -#line 1742 "perly.y" + case 336: /* fieldvar: hsh */ +#line 1732 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2138,8 +2143,8 @@ case 2: /* @1: %empty */ break; - case 334: /* fieldvar: ary */ -#line 1747 "perly.y" + case 337: /* fieldvar: ary */ +#line 1737 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2147,20 +2152,20 @@ case 2: /* @1: %empty */ break; - case 335: /* optfieldattrlist: COLONATTR THING */ -#line 1755 "perly.y" + case 338: /* optfieldattrlist: COLONATTR THING */ +#line 1745 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 336: /* optfieldattrlist: COLONATTR */ -#line 1757 "perly.y" + case 339: /* optfieldattrlist: COLONATTR */ +#line 1747 "perly.y" { (yyval.opval) = NULL; } break; - case 338: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1763 "perly.y" + case 341: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ +#line 1753 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2170,8 +2175,8 @@ case 2: /* @1: %empty */ break; - case 339: /* $@24: %empty */ -#line 1770 "perly.y" + case 342: /* $@27: %empty */ +#line 1760 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2182,8 +2187,8 @@ case 2: /* @1: %empty */ break; - case 340: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ -#line 1778 "perly.y" + case 343: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@27 term */ +#line 1768 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2192,122 +2197,122 @@ case 2: /* @1: %empty */ break; - case 346: /* optrepl: PERLY_SLASH expr */ -#line 1798 "perly.y" + case 349: /* optrepl: PERLY_SLASH expr */ +#line 1788 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 347: /* my_scalar: scalar */ -#line 1804 "perly.y" + case 350: /* my_scalar: scalar */ +#line 1794 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1809 "perly.y" + case 351: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1799 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 349: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1811 "perly.y" + case 352: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1801 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 351: /* my_list_of_scalars: list_of_scalars */ -#line 1818 "perly.y" + case 354: /* my_list_of_scalars: list_of_scalars */ +#line 1808 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 359: /* amper: PERLY_AMPERSAND indirob */ -#line 1835 "perly.y" + case 362: /* amper: PERLY_AMPERSAND indirob */ +#line 1825 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 360: /* scalar: PERLY_DOLLAR indirob */ -#line 1839 "perly.y" + case 363: /* scalar: PERLY_DOLLAR indirob */ +#line 1829 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 361: /* ary: PERLY_SNAIL indirob */ -#line 1843 "perly.y" + case 364: /* ary: PERLY_SNAIL indirob */ +#line 1833 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 362: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1849 "perly.y" + case 365: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1839 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 363: /* arylen: DOLSHARP indirob */ -#line 1855 "perly.y" + case 366: /* arylen: DOLSHARP indirob */ +#line 1845 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 364: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1857 "perly.y" + case 367: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1847 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 365: /* star: PERLY_STAR indirob */ -#line 1861 "perly.y" + case 368: /* star: PERLY_STAR indirob */ +#line 1851 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 367: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1866 "perly.y" + case 370: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1856 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 369: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1871 "perly.y" + case 372: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1861 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 371: /* gelem: term ARROW PERLY_STAR */ -#line 1876 "perly.y" + case 374: /* gelem: term ARROW PERLY_STAR */ +#line 1866 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 372: /* indirob: BAREWORD */ -#line 1881 "perly.y" + case 375: /* indirob: BAREWORD */ +#line 1871 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 373: /* indirob: scalar */ -#line 1883 "perly.y" + case 376: /* indirob: scalar */ +#line 1873 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 374: /* indirob: block */ -#line 1885 "perly.y" + case 377: /* indirob: block */ +#line 1875 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 375: /* indirob: PRIVATEREF */ -#line 1888 "perly.y" + case 378: /* indirob: PRIVATEREF */ +#line 1878 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2319,6 +2324,6 @@ case 2: /* @1: %empty */ /* Generated from: - * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y + * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index fc877951f8cd..37b1df11e043 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y + * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index daa85bd15efa..b19ae38f8dc9 100644 --- a/perly.tab +++ b/perly.tab @@ -163,126 +163,129 @@ enum yysymbol_kind_t YYSYMBOL_152_9 = 152, /* $@9 */ YYSYMBOL_153_10 = 153, /* $@10 */ YYSYMBOL_bare_statement_for_over = 154, /* bare_statement_for_over */ - YYSYMBOL_155_11 = 155, /* @11 */ - YYSYMBOL_bare_statement_format = 156, /* bare_statement_format */ - YYSYMBOL_bare_statement_given = 157, /* bare_statement_given */ - YYSYMBOL_bare_statement_if = 158, /* bare_statement_if */ - YYSYMBOL_bare_statement_null = 159, /* bare_statement_null */ - YYSYMBOL_bare_statement_package_declaration = 160, /* bare_statement_package_declaration */ - YYSYMBOL_bare_statement_package_definition = 161, /* bare_statement_package_definition */ - YYSYMBOL_162_12 = 162, /* $@12 */ - YYSYMBOL_bare_statement_phaser = 163, /* bare_statement_phaser */ - YYSYMBOL_164_13 = 164, /* $@13 */ - YYSYMBOL_bare_statement_sub_signature = 165, /* bare_statement_sub_signature */ - YYSYMBOL_166_14 = 166, /* $@14 */ - YYSYMBOL_bare_statement_sub_traditional = 167, /* bare_statement_sub_traditional */ - YYSYMBOL_168_15 = 168, /* $@15 */ - YYSYMBOL_bare_statement_try_catch = 169, /* bare_statement_try_catch */ - YYSYMBOL_170_16 = 170, /* $@16 */ - YYSYMBOL_bare_statement_unless = 171, /* bare_statement_unless */ - YYSYMBOL_bare_statement_until = 172, /* bare_statement_until */ - YYSYMBOL_bare_statement_utilize = 173, /* bare_statement_utilize */ - YYSYMBOL_174_17 = 174, /* $@17 */ - YYSYMBOL_bare_statement_when = 175, /* bare_statement_when */ - YYSYMBOL_bare_statement_while = 176, /* bare_statement_while */ - YYSYMBOL_bare_statement_yadayada = 177, /* bare_statement_yadayada */ - YYSYMBOL_clause_mexpr = 178, /* clause_mexpr */ - YYSYMBOL_sigsub_or_method_named = 179, /* sigsub_or_method_named */ - YYSYMBOL_block = 180, /* block */ - YYSYMBOL_empty = 181, /* empty */ - YYSYMBOL_formblock = 182, /* formblock */ - YYSYMBOL_remember = 183, /* remember */ - YYSYMBOL_mblock = 184, /* mblock */ - YYSYMBOL_mremember = 185, /* mremember */ - YYSYMBOL_catch_paren = 186, /* catch_paren */ - YYSYMBOL_187_18 = 187, /* $@18 */ - YYSYMBOL_188_19 = 188, /* $@19 */ - YYSYMBOL_stmtseq = 189, /* stmtseq */ - YYSYMBOL_formstmtseq = 190, /* formstmtseq */ - YYSYMBOL_fullstmt = 191, /* fullstmt */ - YYSYMBOL_labfullstmt = 192, /* labfullstmt */ - YYSYMBOL_barestmt = 193, /* barestmt */ - YYSYMBOL_formline = 194, /* formline */ - YYSYMBOL_formarg = 195, /* formarg */ - YYSYMBOL_condition = 196, /* condition */ - YYSYMBOL_sideff = 197, /* sideff */ - YYSYMBOL_else = 198, /* else */ - YYSYMBOL_cont = 199, /* cont */ - YYSYMBOL_finally = 200, /* finally */ - YYSYMBOL_mintro = 201, /* mintro */ - YYSYMBOL_nexpr = 202, /* nexpr */ - YYSYMBOL_texpr = 203, /* texpr */ - YYSYMBOL_iexpr = 204, /* iexpr */ - YYSYMBOL_mexpr = 205, /* mexpr */ - YYSYMBOL_mnexpr = 206, /* mnexpr */ - YYSYMBOL_formname = 207, /* formname */ - YYSYMBOL_startsub = 208, /* startsub */ - YYSYMBOL_startanonsub = 209, /* startanonsub */ - YYSYMBOL_startanonmethod = 210, /* startanonmethod */ - YYSYMBOL_startformsub = 211, /* startformsub */ - YYSYMBOL_subname = 212, /* subname */ - YYSYMBOL_proto = 213, /* proto */ - YYSYMBOL_subattrlist = 214, /* subattrlist */ - YYSYMBOL_myattrlist = 215, /* myattrlist */ - YYSYMBOL_sigvar = 216, /* sigvar */ - YYSYMBOL_sigslurpsigil = 217, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 218, /* sigslurpelem */ - YYSYMBOL_optcolon = 219, /* optcolon */ - YYSYMBOL_sigscalarelem = 220, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 221, /* optsigscalardefault */ - YYSYMBOL_sigelem = 222, /* sigelem */ - YYSYMBOL_siglist = 223, /* siglist */ - YYSYMBOL_optsiglist = 224, /* optsiglist */ - YYSYMBOL_optsubsignature = 225, /* optsubsignature */ - YYSYMBOL_subsignature = 226, /* subsignature */ - YYSYMBOL_subsigguts = 227, /* subsigguts */ - YYSYMBOL_228_20 = 228, /* $@20 */ - YYSYMBOL_optsubbody = 229, /* optsubbody */ - YYSYMBOL_subbody = 230, /* subbody */ - YYSYMBOL_optsigsubbody = 231, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 232, /* sigsubbody */ - YYSYMBOL_233_21 = 233, /* $@21 */ - YYSYMBOL_expr = 234, /* expr */ - YYSYMBOL_listexpr = 235, /* listexpr */ - YYSYMBOL_listop = 236, /* listop */ - YYSYMBOL_237_22 = 237, /* @22 */ - YYSYMBOL_methodname = 238, /* methodname */ - YYSYMBOL_subscripted = 239, /* subscripted */ - YYSYMBOL_termbinop = 240, /* termbinop */ - YYSYMBOL_termrelop = 241, /* termrelop */ - YYSYMBOL_relopchain = 242, /* relopchain */ - YYSYMBOL_termeqop = 243, /* termeqop */ - YYSYMBOL_eqopchain = 244, /* eqopchain */ - YYSYMBOL_termunop = 245, /* termunop */ - YYSYMBOL_anonymous = 246, /* anonymous */ - YYSYMBOL_termdo = 247, /* termdo */ - YYSYMBOL_term = 248, /* term */ - YYSYMBOL_249_23 = 249, /* @23 */ - YYSYMBOL_myattrterm = 250, /* myattrterm */ - YYSYMBOL_myterm = 251, /* myterm */ - YYSYMBOL_fieldvar = 252, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 253, /* optfieldattrlist */ - YYSYMBOL_fielddecl = 254, /* fielddecl */ - YYSYMBOL_255_24 = 255, /* $@24 */ - YYSYMBOL_optlistexpr = 256, /* optlistexpr */ - YYSYMBOL_optexpr = 257, /* optexpr */ - YYSYMBOL_optrepl = 258, /* optrepl */ - YYSYMBOL_my_scalar = 259, /* my_scalar */ - YYSYMBOL_list_of_scalars = 260, /* list_of_scalars */ - YYSYMBOL_my_list_of_scalars = 261, /* my_list_of_scalars */ - YYSYMBOL_my_var = 262, /* my_var */ - YYSYMBOL_refgen_topic = 263, /* refgen_topic */ - YYSYMBOL_my_refgen = 264, /* my_refgen */ - YYSYMBOL_amper = 265, /* amper */ - YYSYMBOL_scalar = 266, /* scalar */ - YYSYMBOL_ary = 267, /* ary */ - YYSYMBOL_hsh = 268, /* hsh */ - YYSYMBOL_arylen = 269, /* arylen */ - YYSYMBOL_star = 270, /* star */ - YYSYMBOL_sliceme = 271, /* sliceme */ - YYSYMBOL_kvslice = 272, /* kvslice */ - YYSYMBOL_gelem = 273, /* gelem */ - YYSYMBOL_indirob = 274 /* indirob */ + YYSYMBOL_155_11 = 155, /* $@11 */ + YYSYMBOL_156_12 = 156, /* @12 */ + YYSYMBOL_157_13 = 157, /* @13 */ + YYSYMBOL_158_14 = 158, /* @14 */ + YYSYMBOL_bare_statement_format = 159, /* bare_statement_format */ + YYSYMBOL_bare_statement_given = 160, /* bare_statement_given */ + YYSYMBOL_bare_statement_if = 161, /* bare_statement_if */ + YYSYMBOL_bare_statement_null = 162, /* bare_statement_null */ + YYSYMBOL_bare_statement_package_declaration = 163, /* bare_statement_package_declaration */ + YYSYMBOL_bare_statement_package_definition = 164, /* bare_statement_package_definition */ + YYSYMBOL_165_15 = 165, /* $@15 */ + YYSYMBOL_bare_statement_phaser = 166, /* bare_statement_phaser */ + YYSYMBOL_167_16 = 167, /* $@16 */ + YYSYMBOL_bare_statement_sub_signature = 168, /* bare_statement_sub_signature */ + YYSYMBOL_169_17 = 169, /* $@17 */ + YYSYMBOL_bare_statement_sub_traditional = 170, /* bare_statement_sub_traditional */ + YYSYMBOL_171_18 = 171, /* $@18 */ + YYSYMBOL_bare_statement_try_catch = 172, /* bare_statement_try_catch */ + YYSYMBOL_173_19 = 173, /* $@19 */ + YYSYMBOL_bare_statement_unless = 174, /* bare_statement_unless */ + YYSYMBOL_bare_statement_until = 175, /* bare_statement_until */ + YYSYMBOL_bare_statement_utilize = 176, /* bare_statement_utilize */ + YYSYMBOL_177_20 = 177, /* $@20 */ + YYSYMBOL_bare_statement_when = 178, /* bare_statement_when */ + YYSYMBOL_bare_statement_while = 179, /* bare_statement_while */ + YYSYMBOL_bare_statement_yadayada = 180, /* bare_statement_yadayada */ + YYSYMBOL_clause_mexpr = 181, /* clause_mexpr */ + YYSYMBOL_sigsub_or_method_named = 182, /* sigsub_or_method_named */ + YYSYMBOL_block = 183, /* block */ + YYSYMBOL_empty = 184, /* empty */ + YYSYMBOL_formblock = 185, /* formblock */ + YYSYMBOL_remember = 186, /* remember */ + YYSYMBOL_mblock = 187, /* mblock */ + YYSYMBOL_mremember = 188, /* mremember */ + YYSYMBOL_catch_paren = 189, /* catch_paren */ + YYSYMBOL_190_21 = 190, /* $@21 */ + YYSYMBOL_191_22 = 191, /* $@22 */ + YYSYMBOL_stmtseq = 192, /* stmtseq */ + YYSYMBOL_formstmtseq = 193, /* formstmtseq */ + YYSYMBOL_fullstmt = 194, /* fullstmt */ + YYSYMBOL_labfullstmt = 195, /* labfullstmt */ + YYSYMBOL_barestmt = 196, /* barestmt */ + YYSYMBOL_formline = 197, /* formline */ + YYSYMBOL_formarg = 198, /* formarg */ + YYSYMBOL_condition = 199, /* condition */ + YYSYMBOL_sideff = 200, /* sideff */ + YYSYMBOL_else = 201, /* else */ + YYSYMBOL_cont = 202, /* cont */ + YYSYMBOL_finally = 203, /* finally */ + YYSYMBOL_mintro = 204, /* mintro */ + YYSYMBOL_nexpr = 205, /* nexpr */ + YYSYMBOL_texpr = 206, /* texpr */ + YYSYMBOL_iexpr = 207, /* iexpr */ + YYSYMBOL_mexpr = 208, /* mexpr */ + YYSYMBOL_mnexpr = 209, /* mnexpr */ + YYSYMBOL_formname = 210, /* formname */ + YYSYMBOL_startsub = 211, /* startsub */ + YYSYMBOL_startanonsub = 212, /* startanonsub */ + YYSYMBOL_startanonmethod = 213, /* startanonmethod */ + YYSYMBOL_startformsub = 214, /* startformsub */ + YYSYMBOL_subname = 215, /* subname */ + YYSYMBOL_proto = 216, /* proto */ + YYSYMBOL_subattrlist = 217, /* subattrlist */ + YYSYMBOL_myattrlist = 218, /* myattrlist */ + YYSYMBOL_sigvar = 219, /* sigvar */ + YYSYMBOL_sigslurpsigil = 220, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 221, /* sigslurpelem */ + YYSYMBOL_optcolon = 222, /* optcolon */ + YYSYMBOL_sigscalarelem = 223, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 224, /* optsigscalardefault */ + YYSYMBOL_sigelem = 225, /* sigelem */ + YYSYMBOL_siglist = 226, /* siglist */ + YYSYMBOL_optsiglist = 227, /* optsiglist */ + YYSYMBOL_optsubsignature = 228, /* optsubsignature */ + YYSYMBOL_subsignature = 229, /* subsignature */ + YYSYMBOL_subsigguts = 230, /* subsigguts */ + YYSYMBOL_231_23 = 231, /* $@23 */ + YYSYMBOL_optsubbody = 232, /* optsubbody */ + YYSYMBOL_subbody = 233, /* subbody */ + YYSYMBOL_optsigsubbody = 234, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 235, /* sigsubbody */ + YYSYMBOL_236_24 = 236, /* $@24 */ + YYSYMBOL_expr = 237, /* expr */ + YYSYMBOL_listexpr = 238, /* listexpr */ + YYSYMBOL_listop = 239, /* listop */ + YYSYMBOL_240_25 = 240, /* @25 */ + YYSYMBOL_methodname = 241, /* methodname */ + YYSYMBOL_subscripted = 242, /* subscripted */ + YYSYMBOL_termbinop = 243, /* termbinop */ + YYSYMBOL_termrelop = 244, /* termrelop */ + YYSYMBOL_relopchain = 245, /* relopchain */ + YYSYMBOL_termeqop = 246, /* termeqop */ + YYSYMBOL_eqopchain = 247, /* eqopchain */ + YYSYMBOL_termunop = 248, /* termunop */ + YYSYMBOL_anonymous = 249, /* anonymous */ + YYSYMBOL_termdo = 250, /* termdo */ + YYSYMBOL_term = 251, /* term */ + YYSYMBOL_252_26 = 252, /* @26 */ + YYSYMBOL_myattrterm = 253, /* myattrterm */ + YYSYMBOL_myterm = 254, /* myterm */ + YYSYMBOL_fieldvar = 255, /* fieldvar */ + YYSYMBOL_optfieldattrlist = 256, /* optfieldattrlist */ + YYSYMBOL_fielddecl = 257, /* fielddecl */ + YYSYMBOL_258_27 = 258, /* $@27 */ + YYSYMBOL_optlistexpr = 259, /* optlistexpr */ + YYSYMBOL_optexpr = 260, /* optexpr */ + YYSYMBOL_optrepl = 261, /* optrepl */ + YYSYMBOL_my_scalar = 262, /* my_scalar */ + YYSYMBOL_list_of_scalars = 263, /* list_of_scalars */ + YYSYMBOL_my_list_of_scalars = 264, /* my_list_of_scalars */ + YYSYMBOL_my_var = 265, /* my_var */ + YYSYMBOL_refgen_topic = 266, /* refgen_topic */ + YYSYMBOL_my_refgen = 267, /* my_refgen */ + YYSYMBOL_amper = 268, /* amper */ + YYSYMBOL_scalar = 269, /* scalar */ + YYSYMBOL_ary = 270, /* ary */ + YYSYMBOL_hsh = 271, /* hsh */ + YYSYMBOL_arylen = 272, /* arylen */ + YYSYMBOL_star = 273, /* star */ + YYSYMBOL_sliceme = 274, /* sliceme */ + YYSYMBOL_kvslice = 275, /* kvslice */ + YYSYMBOL_gelem = 276, /* gelem */ + YYSYMBOL_indirob = 277 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -291,16 +294,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3713 +#define YYLAST 3716 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 142 +#define YYNNTS 145 /* YYNRULES -- Number of rules. */ -#define YYNRULES 375 +#define YYNRULES 378 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 683 +#define YYNSTATES 686 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -365,41 +368,41 @@ static const yytype_int16 yyrline[] = 0, 191, 191, 190, 202, 201, 212, 211, 225, 224, 238, 237, 251, 250, 261, 260, 273, 281, 303, 297, 320, 328, 336, 343, 351, 352, 361, 366, 356, 390, - 401, 418, 432, 428, 455, 475, 487, 503, 514, 526, - 534, 555, 550, 570, 568, 605, 602, 635, 632, 661, - 656, 678, 690, 707, 705, 723, 733, 748, 756, 766, - 768, 773, 781, 785, 792, 797, 804, 810, 814, 816, - 813, 823, 824, 834, 835, 844, 848, 852, 859, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, - 897, 898, 899, 900, 904, 922, 923, 927, 931, 933, - 935, 937, 939, 941, 943, 946, 952, 953, 958, 969, - 970, 975, 977, 982, 989, 990, 994, 998, 1002, 1007, - 1011, 1015, 1016, 1019, 1025, 1030, 1035, 1041, 1042, 1047, - 1048, 1053, 1054, 1061, 1066, 1068, 1079, 1081, 1086, 1088, - 1092, 1097, 1101, 1107, 1109, 1115, 1125, 1138, 1140, 1145, - 1147, 1155, 1156, 1157, 1162, 1163, 1168, 1169, 1173, 1177, - 1177, 1210, 1211, 1216, 1228, 1229, 1234, 1233, 1246, 1248, - 1250, 1252, 1254, 1258, 1260, 1265, 1269, 1273, 1277, 1281, - 1287, 1292, 1298, 1304, 1310, 1316, 1318, 1320, 1323, 1322, - 1336, 1337, 1341, 1345, 1348, 1353, 1358, 1361, 1365, 1369, - 1375, 1383, 1390, 1396, 1398, 1400, 1405, 1407, 1409, 1411, - 1413, 1415, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, - 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1454, 1456, - 1458, 1460, 1462, 1466, 1468, 1472, 1474, 1476, 1478, 1482, - 1484, 1489, 1491, 1494, 1496, 1498, 1501, 1504, 1515, 1518, - 1526, 1528, 1530, 1533, 1535, 1538, 1540, 1545, 1550, 1552, - 1556, 1557, 1558, 1559, 1560, 1562, 1564, 1566, 1568, 1570, - 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1596, 1606, - 1616, 1626, 1628, 1630, 1633, 1638, 1642, 1644, 1646, 1648, - 1651, 1653, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, - 1672, 1675, 1677, 1679, 1681, 1683, 1685, 1689, 1692, 1691, - 1704, 1705, 1706, 1711, 1713, 1715, 1717, 1722, 1724, 1727, - 1729, 1731, 1736, 1741, 1746, 1754, 1756, 1758, 1762, 1770, - 1769, 1787, 1788, 1792, 1793, 1797, 1798, 1803, 1808, 1810, - 1814, 1817, 1821, 1822, 1823, 1826, 1827, 1830, 1831, 1834, - 1838, 1842, 1848, 1854, 1856, 1860, 1864, 1865, 1869, 1870, - 1874, 1875, 1880, 1882, 1884, 1887 + 406, 401, 423, 420, 437, 433, 455, 451, 465, 477, + 493, 504, 516, 524, 545, 540, 560, 558, 595, 592, + 625, 622, 651, 646, 668, 680, 697, 695, 713, 723, + 738, 746, 756, 758, 763, 771, 775, 782, 787, 794, + 800, 804, 806, 803, 813, 814, 824, 825, 834, 838, + 842, 849, 866, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 894, 912, 913, + 917, 921, 923, 925, 927, 929, 931, 933, 936, 942, + 943, 948, 959, 960, 965, 967, 972, 979, 980, 984, + 988, 992, 997, 1001, 1005, 1006, 1009, 1015, 1020, 1025, + 1031, 1032, 1037, 1038, 1043, 1044, 1051, 1056, 1058, 1069, + 1071, 1076, 1078, 1082, 1087, 1091, 1097, 1099, 1105, 1115, + 1128, 1130, 1135, 1137, 1145, 1146, 1147, 1152, 1153, 1158, + 1159, 1163, 1167, 1167, 1200, 1201, 1206, 1218, 1219, 1224, + 1223, 1236, 1238, 1240, 1242, 1244, 1248, 1250, 1255, 1259, + 1263, 1267, 1271, 1277, 1282, 1288, 1294, 1300, 1306, 1308, + 1310, 1313, 1312, 1326, 1327, 1331, 1335, 1338, 1343, 1348, + 1351, 1355, 1359, 1365, 1373, 1380, 1386, 1388, 1390, 1395, + 1397, 1399, 1401, 1403, 1405, 1410, 1412, 1414, 1416, 1418, + 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, + 1440, 1444, 1446, 1448, 1450, 1452, 1456, 1458, 1462, 1464, + 1466, 1468, 1472, 1474, 1479, 1481, 1484, 1486, 1488, 1491, + 1494, 1505, 1508, 1516, 1518, 1520, 1523, 1525, 1528, 1530, + 1535, 1540, 1542, 1546, 1547, 1548, 1549, 1550, 1552, 1554, + 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, + 1576, 1586, 1596, 1606, 1616, 1618, 1620, 1623, 1628, 1632, + 1634, 1636, 1638, 1641, 1643, 1646, 1648, 1650, 1652, 1654, + 1656, 1658, 1660, 1662, 1665, 1667, 1669, 1671, 1673, 1675, + 1679, 1682, 1681, 1694, 1695, 1696, 1701, 1703, 1705, 1707, + 1712, 1714, 1717, 1719, 1721, 1726, 1731, 1736, 1744, 1746, + 1748, 1752, 1760, 1759, 1777, 1778, 1782, 1783, 1787, 1788, + 1793, 1798, 1800, 1804, 1807, 1811, 1812, 1813, 1816, 1817, + 1820, 1821, 1824, 1828, 1832, 1838, 1844, 1846, 1850, 1854, + 1855, 1859, 1860, 1864, 1865, 1870, 1872, 1874, 1877 }; #endif @@ -448,29 +451,29 @@ static const char *const yytname[] = "bare_statement_defer", "bare_statement_expression", "bare_statement_field_declaration", "bare_statement_for", "bare_statement_for_control", "$@9", "$@10", "bare_statement_for_over", - "@11", "bare_statement_format", "bare_statement_given", - "bare_statement_if", "bare_statement_null", + "$@11", "@12", "@13", "@14", "bare_statement_format", + "bare_statement_given", "bare_statement_if", "bare_statement_null", "bare_statement_package_declaration", - "bare_statement_package_definition", "$@12", "bare_statement_phaser", - "$@13", "bare_statement_sub_signature", "$@14", - "bare_statement_sub_traditional", "$@15", "bare_statement_try_catch", - "$@16", "bare_statement_unless", "bare_statement_until", - "bare_statement_utilize", "$@17", "bare_statement_when", + "bare_statement_package_definition", "$@15", "bare_statement_phaser", + "$@16", "bare_statement_sub_signature", "$@17", + "bare_statement_sub_traditional", "$@18", "bare_statement_try_catch", + "$@19", "bare_statement_unless", "bare_statement_until", + "bare_statement_utilize", "$@20", "bare_statement_when", "bare_statement_while", "bare_statement_yadayada", "clause_mexpr", "sigsub_or_method_named", "block", "empty", "formblock", "remember", - "mblock", "mremember", "catch_paren", "$@18", "$@19", "stmtseq", + "mblock", "mremember", "catch_paren", "$@21", "$@22", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "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", "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", - "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20", - "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", - "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop", + "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@23", + "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@24", "expr", + "listexpr", "listop", "@25", "methodname", "subscripted", "termbinop", "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", - "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar", - "optfieldattrlist", "fielddecl", "$@24", "optlistexpr", "optexpr", + "anonymous", "termdo", "term", "@26", "myattrterm", "myterm", "fieldvar", + "optfieldattrlist", "fielddecl", "$@27", "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 @@ -483,12 +486,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-563) +#define YYPACT_NINF (-560) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-374) +#define YYTABLE_NINF (-377) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -497,75 +500,75 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 852, -563, -563, -563, -563, -563, -563, -563, 52, -563, - 3035, 3, 1977, 1860, -563, -563, -563, -563, 375, 3035, - 375, 3035, 375, 3035, 375, 375, 3035, 37, 3035, 2306, - -563, -563, -563, -563, 375, 375, -563, -563, 23, -70, - -563, 3035, -563, -563, 3035, -67, -58, -69, 2306, 2225, - 3, 375, 3035, 22, 3035, 3035, 3035, 3035, 3035, 3035, - 2387, -563, 361, 62, -563, 12, -563, 146, -28, 77, - -14, -563, -563, -563, 903, -563, -563, -20, 27, 92, - 183, -563, 107, 197, 224, 119, -563, -563, -563, -563, - -563, 87, 99, 95, -563, -563, -563, 59, 100, -563, - -563, 3, 235, 235, -563, 22, -563, -563, -563, 231, - -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, 22, 226, -563, - 263, 357, 268, 1860, -563, -563, -563, -563, 756, -563, - 35, 873, -563, -563, -563, -563, -563, 280, -563, 556, - -563, 556, -563, -563, 3563, 3116, 2468, 213, -563, -563, - -563, 3563, -563, 3563, 236, 232, 232, 3035, 178, 227, - 3035, 186, 3563, 3, 903, 189, 2549, 3035, 2225, -563, - 3563, 3197, -563, 62, -563, 2630, 3035, 3035, -563, 300, - -563, -563, 3035, 62, 556, 556, 556, 534, 534, 315, - 256, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 2711, -563, - -563, 3035, -563, -563, 3035, 3035, 3035, 3035, 3035, 3035, - 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, - 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, - -563, -563, -563, 3035, 173, 2792, 3035, 3035, 3035, 3035, - 3035, 3035, 3035, -563, 273, 286, 288, 259, -563, -563, - -563, 216, 216, 14, -563, -563, 216, 216, -563, -563, - 305, -563, -563, -563, -563, -563, -563, 3, -563, -563, - -563, 3035, 3035, 3035, 3035, 3035, 3035, -563, -563, -563, - -563, -563, -563, -563, -563, 299, -563, 345, -563, -563, - 347, -563, -563, 2873, 556, 213, 43, 88, 147, -563, - 386, 306, -563, -563, -563, 232, 313, -563, 2, 2, - -563, 3035, 3035, 29, -563, -563, -563, -563, 417, 274, - 245, 3035, 62, 62, 363, -563, 3035, 364, 143, 143, - -563, -563, 3279, 110, 76, -563, 428, 525, 3524, 3383, - 556, 348, 379, 3227, 3279, 3279, 596, 3422, 3422, 3422, - 3445, 3445, 3484, 3505, 3524, 3524, 525, 525, 3544, 3583, - 379, 348, 556, 556, 167, 175, 3035, 3035, 298, 365, - 371, 372, -563, 374, 2954, 271, -563, -563, 489, 207, - 127, 230, 131, 244, 148, 261, 1041, -563, -563, 382, - 47, 232, 354, -563, 308, 3035, 235, 235, 25, 413, - 2063, 235, 95, 216, 3035, 3035, 235, 235, -563, -563, - 358, -563, 393, -563, -563, -563, 361, -563, -563, -563, - 361, -563, -563, -563, 318, 299, 35, 16, 497, -563, - -563, -563, 407, -563, 272, -563, -563, 293, 138, -563, - 3035, -563, -563, -563, 504, -563, 154, 3035, 415, -563, - -563, 3035, -563, 303, 285, 181, -563, -563, -563, -563, - -563, -563, 514, 3035, -563, 418, -563, 420, -563, 426, - -563, 429, -563, -563, -563, -563, -563, 64, -563, -563, - 309, 361, 279, 279, -563, 430, 216, -563, -563, -563, - 216, -563, -563, -563, -563, -563, -563, -563, 425, 177, - 226, -563, 235, 311, 332, 361, -563, -563, 1158, 335, - 414, 236, -563, 461, -563, -563, 232, 3035, 385, -563, - 36, -563, -563, -563, 474, -563, -563, 3035, -563, 397, - -563, -563, -563, 185, -563, 3331, 3035, 477, -563, -563, - 360, -563, -563, -563, -563, 472, -563, -563, -563, 3035, - -563, 235, 216, -563, -563, -563, 486, 373, -563, 235, - 235, -563, -563, 216, 226, -563, -563, -563, -563, -563, - -563, 3035, 232, -563, 481, 903, 3035, 384, -563, 361, - -563, -563, 387, -563, -563, 432, -563, -563, 903, -563, - 235, 430, 216, 226, 226, 3035, 235, -563, 235, 235, - 430, 235, 494, 393, 1275, -563, -563, -563, -563, 903, - -563, -563, -563, -563, 1392, -563, 279, -563, 235, -563, - -563, 508, 226, 226, 226, -563, 488, -563, -563, -563, - 1509, -563, 13, -563, 1626, -563, 226, -563, -563, -563, - -563, 400, 3, -563, -563, 521, 452, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, 2144, 1743, 409, - -563, 235, -563 + 646, -560, -560, -560, -560, -560, -560, -560, 46, -560, + 3030, 42, 1972, 1855, -560, -560, -560, -560, 280, 3030, + 280, 3030, 280, 3030, 280, 280, 3030, 49, 3030, 2301, + -560, -560, -560, -560, 280, 280, -560, -560, 62, -70, + -560, 3030, -560, -560, 3030, -49, -42, -46, 2301, 2220, + 42, 280, 3030, 20, 3030, 3030, 3030, 3030, 3030, 3030, + 2382, -560, 23, 111, -560, 5, -560, 63, 30, 107, + 22, -560, -560, -560, 3222, -560, -560, 7, 43, 101, + 172, -560, 146, 192, 193, 175, -560, -560, -560, -560, + -560, 128, 140, 408, -560, -560, -560, 99, 121, -560, + -560, 42, 235, 235, -560, 20, -560, -560, -560, 234, + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, 20, 240, -560, + 251, 357, 252, 1855, -560, -560, -560, -560, 681, -560, + 54, 868, -560, -560, -560, -560, -560, 266, -560, 310, + -560, 310, -560, -560, 3569, 3111, 2463, 201, -560, -560, + -560, 3569, -560, 3569, 227, 212, 212, 3030, 176, 224, + 3030, 183, 3569, 42, 3222, 191, 2544, 3030, 2220, -560, + 3569, 3192, -560, 111, -560, 2625, 3030, 3030, -560, 282, + -560, -560, 3030, 111, 310, 310, 310, 557, 557, 315, + 363, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 2706, -560, + -560, 3030, -560, -560, 3030, 3030, 3030, 3030, 3030, 3030, + 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, + 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, + -560, -560, -560, 3030, 91, 2787, 3030, 3030, 3030, 3030, + 3030, 3030, 3030, -560, 267, 279, 281, 254, -560, -560, + -560, 210, 210, 29, -560, -560, 210, 210, -560, -560, + 299, -560, -560, -560, -560, -560, -560, 42, -560, -560, + -560, 3030, 3030, 3030, 3030, 3030, 3030, -560, -560, -560, + -560, -560, -560, -560, -560, 291, -560, 337, -560, -560, + 339, -560, -560, 2868, 310, 201, 9, 50, 177, -560, + 367, 297, -560, -560, -560, 212, 303, -560, 18, 18, + -560, 3030, 3030, 27, -560, -560, -560, -560, 384, 274, + 238, 3030, 111, 111, 355, -560, 3030, 364, 123, 123, + -560, -560, 3326, 223, 115, -560, 405, 3508, 471, 3430, + 310, 114, 3396, 3274, 3326, 3326, 1019, 708, 708, 708, + 3469, 3469, 3491, 3530, 471, 471, 3508, 3508, 3547, 3586, + 3396, 114, 310, 310, 135, 35, 3030, 3030, 69, 343, + 353, 354, -560, 361, 2949, 256, -560, -560, 411, 230, + 119, 236, 131, 263, 154, 277, 985, -560, -560, 373, + 55, 212, 340, -560, 304, 3030, 235, 235, 48, 534, + 2058, 235, 408, -560, 3030, 3030, 235, 235, -560, -560, + 348, -560, 374, -560, -560, -560, 23, -560, -560, -560, + 23, -560, -560, -560, 316, 291, 54, 12, 435, -560, + -560, -560, 400, -560, 286, -560, -560, 283, 21, -560, + 3030, -560, -560, -560, 443, -560, 165, 3030, 417, -560, + -560, 3030, -560, 302, 312, 187, -560, -560, -560, -560, + -560, -560, 517, 3030, -560, 419, -560, 429, -560, 430, + -560, 431, -560, -560, -560, -560, -560, 116, -560, -560, + 318, 23, 237, 237, -560, 439, 210, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, 425, 198, + 240, -560, 210, 325, 334, 23, -560, -560, 1153, 342, + 416, 227, -560, 466, -560, -560, 212, 3030, 383, -560, + 17, -560, -560, -560, 473, -560, -560, 3030, -560, 395, + -560, -560, -560, 215, -560, 3378, 3030, 475, -560, -560, + 358, -560, -560, -560, -560, 468, -560, -560, -560, 3030, + -560, 235, 210, -560, -560, -560, 476, -560, -560, 235, + 210, -560, -560, 210, 235, -560, -560, -560, -560, -560, + -560, 3030, 212, -560, 474, 3222, 3030, 366, -560, 23, + -560, -560, 372, -560, -560, 407, -560, -560, 3222, -560, + 235, 439, 380, 240, 235, 3030, 235, 240, 235, 235, + 439, 235, 490, 374, 1270, -560, -560, -560, -560, 3222, + -560, -560, -560, -560, 1387, -560, 237, -560, 210, -560, + 240, 494, 240, -560, 240, 240, -560, 472, -560, -560, + -560, 1504, -560, 13, -560, 1621, -560, 235, -560, -560, + -560, -560, -560, 387, 42, -560, -560, 505, 436, -560, + -560, 240, -560, -560, -560, -560, -560, -560, -560, -560, + 2139, 1738, 393, -560, 235, -560 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -573,95 +576,95 @@ 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, 64, - 62, 0, 0, 0, 62, 169, 1, 62, 0, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, - 134, 134, 135, 320, 0, 0, 291, 318, 279, 313, - 315, 309, 134, 322, 301, 311, 0, 0, 304, 62, - 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 343, 344, 182, 321, 286, 270, 226, 238, 227, - 245, 271, 272, 273, 185, 276, 5, 292, 281, 284, - 283, 285, 282, 0, 0, 0, 64, 7, 108, 39, - 136, 0, 0, 0, 64, 64, 64, 0, 0, 64, - 64, 0, 0, 0, 133, 0, 59, 60, 79, 0, - 133, 80, 81, 82, 83, 84, 85, 86, 87, 24, - 25, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 0, 62, 9, - 0, 109, 0, 0, 11, 76, 75, 71, 0, 15, - 62, 0, 372, 375, 374, 373, 359, 0, 360, 251, - 362, 252, 361, 365, 277, 0, 0, 324, 329, 331, - 330, 308, 269, 268, 62, 62, 62, 62, 0, 0, - 0, 0, 310, 0, 302, 0, 0, 62, 62, 305, - 306, 320, 341, 342, 195, 281, 0, 0, 363, 0, - 137, 138, 62, 303, 253, 254, 275, 258, 259, 280, - 0, 0, 0, 0, 0, 183, 0, 0, 0, 241, - 240, 0, 248, 247, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 67, + 65, 0, 0, 0, 65, 172, 1, 65, 0, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, + 137, 137, 138, 323, 0, 0, 294, 321, 282, 316, + 318, 312, 137, 325, 304, 314, 0, 0, 307, 65, + 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, + 0, 346, 347, 185, 324, 289, 273, 229, 241, 230, + 248, 274, 275, 276, 188, 279, 5, 295, 284, 287, + 286, 288, 285, 0, 0, 0, 67, 7, 111, 42, + 139, 0, 0, 0, 67, 67, 67, 0, 0, 67, + 67, 0, 0, 0, 136, 0, 62, 63, 82, 0, + 136, 83, 84, 85, 86, 87, 88, 89, 90, 24, + 25, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 0, 65, 9, + 0, 112, 0, 0, 11, 79, 78, 74, 0, 15, + 65, 0, 375, 378, 377, 376, 362, 0, 363, 254, + 365, 255, 364, 368, 280, 0, 0, 327, 332, 334, + 333, 311, 272, 271, 65, 65, 65, 65, 0, 0, + 0, 0, 313, 0, 305, 0, 0, 65, 65, 308, + 309, 323, 344, 345, 198, 284, 0, 0, 366, 0, + 140, 141, 65, 306, 256, 257, 278, 261, 262, 283, + 0, 0, 0, 0, 0, 186, 0, 0, 0, 244, + 243, 0, 251, 250, 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, 0, - 255, 256, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 62, 0, 0, 62, 332, 334, - 333, 0, 0, 0, 64, 64, 0, 0, 20, 66, - 0, 21, 53, 133, 57, 43, 133, 0, 119, 16, - 22, 0, 0, 0, 0, 0, 0, 23, 78, 77, - 72, 149, 148, 154, 164, 146, 160, 0, 159, 163, - 165, 170, 260, 0, 326, 0, 281, 284, 283, 328, - 0, 145, 323, 140, 139, 62, 143, 141, 265, 267, - 193, 62, 0, 0, 314, 198, 312, 316, 0, 0, - 0, 0, 186, 187, 0, 295, 0, 278, 180, 181, - 178, 179, 184, 0, 0, 212, 0, 244, 250, 230, - 219, 221, 223, 237, 217, 218, 0, 233, 235, 234, - 231, 232, 229, 228, 249, 246, 243, 239, 242, 225, - 224, 222, 236, 220, 216, 0, 0, 0, 0, 369, - 367, 371, 200, 0, 0, 190, 201, 293, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, - 0, 62, 336, 337, 338, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 0, 0, 62, 64, - 0, 47, 64, 45, 120, 110, 107, 111, 114, 113, - 128, 112, 115, 147, 150, 146, 161, 280, 0, 325, - 327, 144, 263, 142, 62, 264, 266, 0, 62, 214, - 62, 317, 197, 196, 0, 261, 0, 0, 0, 205, - 211, 0, 299, 192, 0, 0, 296, 298, 297, 300, - 364, 209, 0, 62, 294, 0, 203, 0, 287, 0, - 288, 0, 61, 64, 36, 64, 40, 0, 335, 339, - 0, 129, 62, 62, 357, 0, 0, 347, 358, 355, - 0, 356, 352, 353, 354, 124, 125, 130, 0, 109, - 62, 32, 0, 0, 0, 127, 37, 55, 0, 62, - 0, 62, 172, 0, 44, 171, 62, 151, 155, 162, - 278, 262, 169, 166, 0, 167, 194, 0, 345, 0, - 199, 188, 215, 0, 208, 274, 62, 0, 204, 210, - 0, 206, 289, 290, 202, 0, 41, 64, 17, 0, - 58, 0, 0, 116, 38, 51, 351, 0, 350, 0, - 0, 26, 35, 0, 62, 123, 123, 65, 68, 67, - 49, 62, 62, 62, 64, 152, 157, 0, 176, 346, - 319, 213, 0, 207, 189, 0, 62, 18, 340, 117, - 0, 348, 0, 62, 62, 126, 0, 31, 0, 0, - 0, 0, 0, 64, 0, 175, 46, 174, 156, 158, - 168, 62, 191, 62, 0, 62, 62, 349, 0, 29, - 34, 0, 62, 62, 62, 69, 121, 54, 48, 173, - 0, 73, 0, 42, 0, 118, 62, 27, 33, 52, - 56, 0, 0, 50, 177, 0, 62, 74, 19, 30, - 123, 70, 122, 63, 62, 105, 104, 0, 0, 0, - 106, 0, 28 + 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 65, 65, 0, 0, 65, 335, 337, + 336, 0, 0, 0, 67, 67, 0, 0, 20, 69, + 0, 21, 56, 136, 60, 46, 136, 0, 122, 16, + 22, 0, 0, 0, 0, 0, 0, 23, 81, 80, + 75, 152, 151, 157, 167, 149, 163, 0, 162, 166, + 168, 173, 263, 0, 329, 0, 284, 287, 286, 331, + 0, 148, 326, 143, 142, 65, 146, 144, 268, 270, + 196, 65, 0, 0, 317, 201, 315, 319, 0, 0, + 0, 0, 189, 190, 0, 298, 0, 281, 183, 184, + 181, 182, 187, 0, 0, 215, 0, 247, 253, 233, + 222, 224, 226, 240, 220, 221, 0, 236, 238, 237, + 234, 235, 232, 231, 252, 249, 246, 242, 245, 228, + 227, 225, 239, 223, 219, 0, 0, 0, 0, 372, + 370, 374, 203, 0, 0, 193, 204, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, + 0, 65, 339, 340, 341, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 129, 0, 0, 65, 67, + 0, 50, 67, 48, 123, 113, 110, 114, 117, 116, + 131, 115, 118, 150, 153, 149, 164, 283, 0, 328, + 330, 147, 266, 145, 65, 267, 269, 0, 65, 217, + 65, 320, 200, 199, 0, 264, 0, 0, 0, 208, + 214, 0, 302, 195, 0, 0, 299, 301, 300, 303, + 367, 212, 0, 65, 297, 0, 206, 0, 290, 0, + 291, 0, 64, 67, 39, 67, 43, 0, 338, 342, + 0, 132, 65, 65, 360, 0, 0, 350, 361, 358, + 36, 359, 355, 356, 357, 127, 128, 133, 0, 112, + 65, 34, 0, 0, 0, 130, 40, 58, 0, 65, + 0, 65, 175, 0, 47, 174, 65, 154, 158, 165, + 281, 265, 172, 169, 0, 170, 197, 0, 348, 0, + 202, 191, 218, 0, 211, 277, 65, 0, 207, 213, + 0, 209, 292, 293, 205, 0, 44, 67, 17, 0, + 61, 0, 0, 119, 41, 54, 354, 30, 353, 0, + 0, 26, 38, 0, 0, 126, 126, 68, 71, 70, + 52, 65, 65, 65, 67, 155, 160, 0, 179, 349, + 322, 216, 0, 210, 192, 0, 65, 18, 343, 120, + 0, 351, 0, 65, 0, 129, 0, 65, 0, 0, + 0, 0, 0, 67, 0, 178, 49, 177, 159, 161, + 171, 65, 194, 65, 0, 65, 65, 352, 0, 29, + 65, 0, 65, 33, 65, 65, 72, 124, 57, 51, + 176, 0, 76, 0, 45, 0, 121, 0, 37, 27, + 35, 55, 59, 0, 0, 53, 180, 0, 65, 77, + 19, 65, 126, 73, 125, 66, 65, 108, 107, 31, + 0, 0, 0, 109, 0, 28 }; /* 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, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, -163, -563, -3, -10, -563, - -7, -43, -563, -563, -563, -563, -16, -563, 528, 401, - -1, -563, -563, -76, -413, -498, -493, -563, -562, -563, - -72, 121, -563, -128, -563, -104, 159, -563, -563, -87, - 21, -173, 238, 111, -563, -563, -563, -563, -563, 109, - -563, -563, -563, -563, 24, -563, -66, 116, -563, -325, - -563, 75, -21, -563, -563, -563, -563, -563, -563, -563, - -563, -563, -563, -563, -563, 506, -563, -563, 404, -563, - -563, -563, -563, -165, 15, -563, -563, -563, -563, 150, - -563, -563, 160, 46, -17, -11, -563, -563, -563, -563, - -563, 82 + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, -167, -560, + -1, -10, -560, -7, -51, -560, -560, -560, -560, -16, + -560, 512, 391, 3, -560, -560, 174, -408, -489, -482, + -560, -559, -560, -88, 125, -560, -145, -560, -84, 113, + -560, -560, -97, 14, -173, 228, 102, -560, -560, -560, + -560, -560, 109, -560, -560, -560, -560, 15, -560, -61, + 117, -560, -316, -560, 89, -43, -560, -560, -560, -560, + -560, -560, -560, -560, -560, -560, -560, -560, 618, -560, + -560, 406, -560, -560, -560, -560, -170, -15, -560, -560, + -560, -560, 151, -560, -560, 156, 173, -22, 4, -560, + -560, -560, -560, -560, 33 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -669,19 +672,19 @@ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, 112, 113, 635, 114, 115, 116, 117, 118, 119, 615, - 670, 120, 583, 121, 122, 123, 124, 125, 126, 606, - 127, 432, 128, 536, 129, 531, 130, 621, 131, 132, - 133, 430, 134, 135, 136, 416, 137, 138, 147, 494, - 454, 280, 428, 590, 620, 661, 148, 652, 300, 145, - 146, 667, 676, 435, 140, 574, 289, 663, 618, 517, - 524, 439, 500, 518, 409, 282, 174, 176, 264, 202, - 325, 328, 322, 444, 305, 306, 307, 308, 628, 309, - 310, 311, 544, 545, 149, 150, 534, 535, 626, 455, - 631, 141, 63, 64, 460, 395, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 179, 75, 167, 267, - 414, 142, 569, 194, 76, 549, 506, 576, 577, 509, - 510, 422, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 158 + 672, 120, 612, 522, 583, 580, 121, 122, 123, 124, + 125, 126, 606, 127, 432, 128, 536, 129, 531, 130, + 621, 131, 132, 133, 430, 134, 135, 136, 416, 137, + 138, 147, 494, 454, 280, 428, 590, 620, 663, 148, + 653, 300, 145, 146, 669, 678, 435, 140, 574, 289, + 665, 618, 517, 524, 439, 500, 518, 409, 282, 174, + 176, 264, 202, 325, 328, 322, 444, 305, 306, 307, + 308, 628, 309, 310, 311, 544, 545, 149, 150, 534, + 535, 626, 455, 631, 141, 63, 64, 460, 395, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 179, + 75, 167, 267, 414, 142, 569, 194, 76, 549, 506, + 576, 577, 509, 510, 422, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -689,124 +692,95 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 17, 329, 456, 575, 285, 516, 87, 61, - 169, 139, 330, -64, 86, 154, 170, 154, 283, 154, - 187, 154, 154, 216, 619, 217, 172, 582, 193, 346, - 20, 154, 154, 203, 157, 665, 180, 345, 256, 192, - 257, 20, 61, 459, 418, 189, 154, 197, 154, 467, - 286, -153, 16, 20, 256, 301, 257, 22, 495, 302, - 281, 24, 181, 188, 155, 185, 155, 199, 155, 496, - 155, 155, 666, 168, 186, 567, 269, 215, 200, 263, - 155, 155, 270, 201, 221, 62, 568, 271, 272, 273, - 469, 617, 276, 277, 62, 195, 224, 155, 278, -366, - 156, -366, -328, -366, 160, -366, 162, 163, 677, 417, - 421, 20, 255, 426, 427, 22, 177, 178, -370, 24, - 639, 640, -327, 211, 212, 213, 214, 62, 288, -329, - 262, 196, 468, 198, -64, 210, 419, 303, 655, 268, - 304, 486, 299, 265, 218, 488, 420, 504, 317, 658, - 659, 660, 452, 215, 318, 266, 193, 505, -368, 165, - -368, 547, 490, 669, 324, 327, 327, 192, 552, 166, - 211, 212, 213, 214, -331, 342, 343, 61, 61, 431, - 335, 193, 433, 385, 386, 154, 387, 222, 223, 388, - 175, 274, 192, 389, -368, 558, -368, 390, 391, 601, - 472, 183, 339, 340, 211, 212, 213, 214, 258, 291, - 259, 316, 292, 293, 294, 295, 437, 438, 296, 441, - 442, 211, 212, 213, 214, 211, 212, 213, 214, 485, - 392, 200, 275, -330, 195, 260, 201, 261, 497, 213, - 214, 320, 211, 212, 213, 214, 279, 406, 211, 212, - 213, 214, 487, 284, 408, 333, 393, 413, 219, 220, - 522, 338, 62, 62, 516, 287, 489, 424, 425, 627, - 341, 211, 212, 213, 214, 211, 212, 213, 214, 211, - 212, 213, 214, 491, 434, 290, 348, 349, 350, 351, - 297, 353, 354, 356, 312, 550, -374, 254, 473, 321, - 396, 211, 212, 213, 214, 394, 323, 557, -129, 86, - 331, 458, 571, 572, 20, 327, 332, 334, 326, 423, - 336, 61, 344, 476, 211, 212, 213, 214, 346, 407, - 398, 399, 400, 401, 402, 403, 404, 405, 211, 212, - 213, 214, 410, 579, 411, 412, 457, 580, 415, 429, - 211, 212, 213, 214, 152, 211, 212, 213, 214, 153, - 443, 445, 446, 594, 462, 451, 436, 436, 436, 440, - 436, 436, 453, 502, 503, 465, 463, 467, 520, 211, - 212, 213, 214, 526, 527, 154, 86, 347, 448, 291, - 477, 20, 292, 293, 294, 295, 478, 479, 296, 480, - 493, 327, 513, 483, 542, 513, 62, 499, 514, 610, - 515, 514, 528, 498, 530, 532, 464, 537, -64, 623, - 616, 466, 529, 18, 546, 533, 622, 554, 226, 20, - 561, 152, 562, 22, 155, 556, 153, 24, 563, 193, - 570, 564, 585, 508, 543, 533, 20, 581, 548, 638, - 192, 211, 212, 213, 214, 211, 212, 213, 214, 226, - 227, 474, 475, 586, 507, 512, 248, 588, 512, 482, - 591, 249, 593, 61, 250, 251, 252, 253, 254, 584, - 211, 212, 213, 214, 596, 598, 565, 600, 566, 603, - 501, 604, 573, 573, 605, 519, 247, 248, 560, 440, - 525, 611, 249, 625, 612, 250, 251, 252, 253, 254, - 288, 211, 212, 213, 214, 630, 647, 450, 632, 589, - 633, 324, 211, 212, 213, 214, 327, 159, 609, 161, - 657, 671, 164, 662, 171, 173, 613, 614, 673, 674, - 681, 144, 553, 641, 298, 523, 61, 182, 461, 679, - 184, 578, 592, 449, 190, 539, 538, 648, 62, 470, - 607, 204, 205, 206, 207, 208, 597, 636, 541, 315, - 193, 602, 521, 642, 288, 643, 644, 624, 646, 511, - 0, 192, 327, 211, 212, 213, 214, 0, 0, 0, - 634, 211, 212, 213, 214, 656, 0, 0, 211, 212, - 213, 214, 0, 288, 288, 226, 227, 228, 211, 212, - 213, 214, 0, 0, 0, 650, 533, 0, 0, 654, - 484, 0, 599, 651, 0, 0, 573, 0, 540, 0, - 0, 62, 288, 288, 288, 551, 226, 0, 682, 244, - 245, 246, 247, 248, 0, 559, 288, 0, 249, 0, - 0, 250, 251, 252, 253, 254, 675, 637, 678, 672, - -374, -374, -374, 253, 254, 0, 645, 515, 225, 0, - 0, 314, 0, 0, 0, 0, 226, 227, 228, 249, - 0, 0, 250, 251, 252, 253, 254, 0, 0, 229, - 525, 0, 0, 0, 0, 230, 231, 232, 471, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, - 0, 352, 250, 251, 252, 253, 254, 357, 0, 0, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, -13, 88, 0, 384, - 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, 143, 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, 1, 2, 3, 4, 5, - 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -3, 88, 55, 56, 0, 57, 0, - 58, 59, 0, 18, 86, 0, 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, 143, 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, 225, 0, 555, 0, 0, - 0, 0, 0, 226, 227, 228, 0, 0, 0, 0, - 0, 0, 55, 56, 0, 57, 229, 58, 59, 0, - 0, 0, 230, 231, 232, 60, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, - 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 595, 0, 0, 0, 0, 0, 0, - 0, 18, 86, 492, 19, 0, 0, 20, 0, 0, - 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, - 26, 27, 93, 94, 0, 608, 95, 96, 97, 98, + 61, 151, 17, 329, 157, 169, 193, 330, 283, 61, + 87, 203, 516, 456, 575, 139, 216, 154, 217, 154, + 256, 154, 257, 154, 154, 346, 285, 619, 172, -67, + 467, 170, 345, 154, 154, 667, 215, 199, 582, 192, + 286, 459, 61, 187, 547, 20, 16, 189, 154, 197, + 154, 156, 281, 86, 256, 160, 257, 162, 163, 418, + 472, -369, 181, -369, 20, 20, 495, 177, 178, 22, + -156, 269, 668, 24, 301, 180, 200, 496, 302, 263, + 86, 201, 196, 185, 198, 20, 188, 271, 272, 273, + 186, 200, 276, 277, 476, -332, 201, 270, -331, 62, + 278, 385, 386, -330, 387, 417, 421, 388, 62, 426, + 427, 389, -369, 680, -369, 390, 391, 211, 212, 213, + 214, 211, 212, 213, 214, 152, 215, 567, 288, 469, + 153, 639, 224, 486, 193, 643, -334, 218, 568, 255, + 304, 62, 221, 317, 175, 488, 299, 656, 392, 210, + -67, 419, 452, 342, 343, 183, 303, -373, 658, 193, + 660, 420, 661, 662, 324, 327, 327, 192, 490, 318, + 504, 165, 339, 340, 393, 219, 220, 61, 61, 552, + 505, 166, 335, -371, 265, -371, 262, 154, -371, 679, + -371, 155, 192, 155, 226, 155, 266, 155, 155, 431, + 168, 558, 433, 258, 260, 259, 261, 155, 155, 211, + 212, 213, 214, 211, 212, 213, 214, 222, 223, 213, + 214, 341, 195, 394, 155, 211, 212, 213, 214, 601, + 291, 274, 248, 292, 293, 294, 295, 249, 497, 296, + 250, 251, 252, 253, 254, 468, 279, 406, 211, 212, + 213, 214, 485, 275, 408, 320, 284, 413, 487, 211, + 212, 213, 214, -333, -377, 254, 268, 424, 425, 333, + 571, 572, 516, 290, 297, 338, 62, 62, 627, 287, + 312, 211, 212, 213, 214, 489, 434, 321, 473, 458, + 550, 86, 211, 212, 213, 214, 20, 323, 326, 491, + 348, 349, 350, 351, 344, 353, 354, 356, 331, 211, + 212, 213, 214, 332, 334, 327, 457, 211, 212, 213, + 214, 61, 336, 407, 211, 212, 213, 214, 346, -132, + 211, 212, 213, 214, 557, 410, 152, 411, 316, 579, + 412, 153, 415, 429, 398, 399, 400, 401, 402, 403, + 404, 405, 443, 445, 446, 584, 451, 211, 212, 213, + 214, 195, 453, 594, 462, 502, 503, 465, 477, 463, + 520, 211, 212, 213, 214, 526, 527, 467, 478, 479, + 436, 436, 436, 440, 436, 436, 480, 154, 483, 291, + 226, 493, 292, 293, 294, 295, 532, 513, 296, 498, + 513, 327, 448, 499, 530, 610, 211, 212, 213, 214, + 515, -67, 528, 614, 546, 537, 616, 193, 542, 623, + 62, 622, 529, 514, 20, 533, 514, 396, 22, 554, + 464, 561, 24, 249, 556, 466, 250, 251, 252, 253, + 254, 562, 563, 564, 543, 533, 423, 581, 548, 570, + 192, 211, 212, 213, 214, 20, 585, 211, 212, 213, + 214, 211, 212, 213, 214, 586, 437, 438, 560, 441, + 442, 657, 591, 61, 588, 474, 475, 593, 211, 212, + 213, 214, 596, 482, 598, 600, 565, 603, 566, 604, + 605, 611, 573, 573, 347, 633, 625, 630, 450, 211, + 212, 213, 214, 632, 501, 211, 212, 213, 214, 519, + 288, 638, 648, 440, 525, 461, 659, 664, 673, 589, + 609, 324, 675, 676, 684, 144, 327, 641, 613, 211, + 212, 213, 214, 617, 298, 682, 470, 211, 212, 213, + 214, 602, 484, 449, 18, 592, 61, 538, 193, 523, + 20, 226, 227, 228, 22, 539, 553, 597, 24, 636, + 607, 155, 649, 640, 508, 642, 540, 644, 645, 541, + 647, 315, 62, 521, 551, 511, 0, 624, 0, 0, + 0, 192, 327, 242, 243, 244, 245, 246, 247, 248, + 634, 507, 512, 0, 249, 512, 0, 250, 251, 252, + 253, 254, 0, 288, 0, 0, 671, 288, 0, 0, + 0, 211, 212, 213, 214, 651, 533, 0, 0, 655, + 0, 0, 0, 652, 0, 0, 573, 0, 0, 0, + 288, 0, 288, 685, 288, 288, 599, 0, 0, 159, + 0, 161, 0, 0, 164, 62, 171, 173, 559, 1, + 2, 3, 4, 5, 6, 7, 0, 0, 677, 182, + 681, 288, 184, 674, 0, 0, 190, 0, 0, 0, + 515, 0, 0, 204, 205, 206, 207, 208, 578, 0, + 0, -13, 88, -377, -377, -377, 253, 254, 0, 0, + 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, + 21, 22, 23, 89, 525, 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, 629, 38, 39, 40, 41, 42, 43, 108, + 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 143, 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, - 587, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 0, 0, 0, 314, 637, 0, 0, 0, 226, 227, + 228, 0, 0, 646, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, + 0, 0, 0, 60, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, + 0, 249, 0, 352, 250, 251, 252, 253, 254, 357, + 0, 0, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, -3, 88, + 0, 384, 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, @@ -817,7 +791,7 @@ static const yytype_int16 yytable[] = 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, 649, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 492, 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, @@ -826,57 +800,27 @@ static const yytype_int16 yytable[] = 41, 42, 43, 108, 143, 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, 653, 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, 143, 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, 664, 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, 143, 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, 668, 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, 143, 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, 0, 19, 0, 60, 20, + 0, 0, 0, 54, 0, 0, 0, 0, 0, 555, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 226, + 227, 228, 0, 0, 55, 56, 0, 57, 0, 58, + 59, 0, 229, 0, 0, 0, 0, 60, 230, 231, + 232, 471, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, + 0, 0, 249, 0, 0, 250, 251, 252, 253, 254, + 0, 0, 0, 0, 88, 595, 0, 0, 0, 0, + 0, 0, 0, 18, 86, 587, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, - 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, + 91, 92, 26, 27, 93, 94, 0, 608, 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, + 34, 35, 36, 37, 629, 38, 39, 40, 41, 42, 43, 108, 143, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, - 0, 680, 0, 0, 110, 0, 0, 0, 0, 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, 0, 19, 0, 60, 20, 0, 0, 21, + 18, 86, 650, 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, @@ -887,85 +831,103 @@ static const yytype_int16 yytable[] = 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, 0, + 56, 0, 57, 0, 58, 59, 0, 18, 86, 654, 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, 0, 0, 44, 0, + 39, 40, 41, 42, 43, 108, 143, 0, 44, 0, 109, 45, 46, 47, 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, -62, 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, 0, 38, 39, 40, 41, 42, - 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, - 48, 49, 50, 0, 0, 88, 51, 52, 53, 0, - 0, 0, 0, 0, 18, 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, 0, 60, 30, 31, 0, 32, + 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, 666, 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, 0, 0, 0, 44, 0, 0, 45, 46, + 42, 43, 108, 143, 0, 44, 0, 109, 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, 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, -62, 60, 30, 31, 0, - 32, 191, 34, 35, 36, 37, 153, 38, 39, 40, - 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, + 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, 670, 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, + 143, 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, + 0, 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, 143, 0, 44, + 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 51, 52, 53, 0, 0, 683, 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, 0, 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, 143, 0, 44, 0, 109, 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, 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, 0, 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, 18, 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, 0, 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, 18, 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, 209, 60, + 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, 0, 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, 0, 0, 44, 0, 109, 45, 46, 47, 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, + -65, 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, 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, 18, + 88, 51, 52, 53, 0, 0, 0, 0, 0, 18, 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, 319, + 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 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, - -373, 256, 0, 257, 0, 0, -373, 54, 0, -373, - -373, -373, 0, 0, -373, -373, 0, 0, 0, -373, - -373, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 0, -373, -373, 0, - 337, 60, -373, -373, 0, -373, -373, -373, -373, -373, - -373, 0, -373, -373, -373, -373, -373, -373, 0, 0, - 0, -373, 0, 0, -373, -373, -373, -373, -373, -373, - 0, 0, 0, -373, -373, -373, 0, 0, 0, 0, - 0, 18, 0, 0, 19, 0, 0, 20, -373, 0, + 18, 86, 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, + -65, 60, 30, 31, 0, 32, 191, 34, 35, 36, + 37, 153, 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, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, - 26, 27, 0, 0, 0, 0, 0, 0, 0, -373, - -373, 0, -373, 0, -373, -373, 0, 0, 28, 29, - 0, 0, -373, 30, 31, 0, 32, 33, 34, 35, + 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, + 0, 0, 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, @@ -973,7 +935,7 @@ static const yytype_int16 yytable[] = 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, 355, 60, 30, 31, 0, 32, 33, 34, + 29, 0, 0, 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, @@ -981,7 +943,7 @@ static const yytype_int16 yytable[] = 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, 397, 60, 30, 31, 0, 32, 33, + 28, 29, 0, 209, 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, @@ -989,200 +951,212 @@ 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, 447, 60, 30, 31, 0, 32, + 0, 28, 29, 0, 319, 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, 18, 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, 0, 0, -376, 256, 0, 257, 0, + 0, -376, 54, 0, -376, -376, -376, 0, 0, -376, + -376, 0, 0, 0, -376, -376, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, - 0, 0, 28, 29, 0, 481, 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, 18, 0, 0, 19, - 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, + 0, 0, -376, -376, 0, 337, 60, -376, -376, 0, + -376, -376, -376, -376, -376, -376, 0, -376, -376, -376, + -376, -376, -376, 0, 0, 0, -376, 0, 0, -376, + -376, -376, -376, -376, -376, 0, 0, 0, -376, -376, + -376, 0, 0, 0, 0, 0, 18, 0, 0, 19, + 0, 0, 20, -376, 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, 0, 60, 30, 31, + 0, 0, 0, 0, -376, -376, 0, -376, 0, -376, + -376, 0, 0, 28, 29, 0, 0, -376, 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, -372, 0, 0, - -372, 0, 0, -372, 54, 0, -372, -372, -372, 0, - 0, -372, -372, 0, 0, 0, -372, -372, 0, 0, + 52, 53, 0, 0, 0, 0, 0, 18, 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, -372, -372, 0, 0, 313, -372, - -372, 0, -372, -372, -372, -372, -372, -372, 0, -372, - -372, -372, -372, -372, -372, 0, 0, 0, -372, 0, - 0, -372, -372, -372, -372, -372, -372, 0, 0, 0, - -372, -372, -372, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -372, 0, 0, 0, 225, - 0, 0, 0, 0, 0, 0, 0, 226, 227, 228, - 0, 0, 0, 0, 0, 0, -372, -372, 0, -372, - -374, -372, -372, 0, 0, 0, 230, 231, 232, -372, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, - 249, 225, 0, 250, 251, 252, 253, 254, 0, 226, - 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 230, 231, - 232, 0, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, - 0, 0, 249, 225, 0, 250, 251, 252, 253, 254, - 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 232, 0, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 0, 0, 0, 0, 249, -374, 0, 250, 251, 252, - 253, 254, 0, 226, 227, 228, 0, 0, 0, 0, + 58, 59, 0, 0, 28, 29, 0, 355, 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, 18, 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, 397, 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, 18, + 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, 447, + 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, + 18, 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, + 481, 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, 18, 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, 0, 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, -375, 0, 0, -375, 0, 0, -375, 54, + 0, -375, -375, -375, 0, 0, -375, -375, 0, 0, + 0, -375, -375, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 57, 0, 58, 59, 0, 0, -375, + -375, 0, 0, 313, -375, -375, 0, -375, -375, -375, + -375, -375, -375, 0, -375, -375, -375, -375, -375, -375, + 0, 0, 0, -375, 0, 0, -375, -375, -375, -375, + -375, -375, 0, 0, 0, -375, -375, -375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 226, 227, 228, 0, 249, 0, 0, 250, - 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 227, 228, 236, 237, + -375, 0, 0, 0, 225, 0, 0, 0, 0, 0, + 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, + 0, -375, -375, 0, -375, 229, -375, -375, 0, 0, + 0, 230, 231, 232, -375, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, - 252, 253, 254, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 226, 227, 228, 0, 249, 0, - 0, 250, 251, 252, 253, 254, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 227, 228, 0, 0, - 0, 0, 0, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 0, 226, 227, 228, 249, 0, 0, - 250, 251, 252, 253, 254, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 226, 227, 228, 0, 249, 0, - 0, 250, 251, 252, 253, 254, 242, 243, 244, 245, - 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, - 250, 251, 252, 253, 254, 0, 0, 0, -374, 245, - 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, - 250, 251, 252, 253, 254, 0, 0, 0, 245, 246, - 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, - 251, 252, 253, 254, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, - 251, 252, 253, 254 + 248, 0, 0, 0, 0, 249, 225, 0, 250, 251, + 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, + 0, 0, 0, 230, 231, 232, 0, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 0, 0, 0, 0, 249, 225, 0, + 250, 251, 252, 253, 254, 0, 226, 227, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 231, 232, 0, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, + 225, 0, 250, 251, 252, 253, 254, 0, 226, 227, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 226, 227, 0, 232, + 0, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, + 0, 249, -377, 0, 250, 251, 252, 253, 254, 0, + 226, 227, 228, 247, 248, 0, 0, 0, 0, 249, + 0, 0, 250, 251, 252, 253, 254, 0, 0, 0, + 0, 0, 0, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 226, + 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, + 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 227, 228, 0, 0, 0, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 226, 227, + 228, 0, 249, 0, 0, 250, 251, 252, 253, 254, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 226, 227, 228, 0, 249, 0, 0, 250, 251, 252, + 253, 254, 244, 245, 246, 247, 248, 226, 227, 228, + 0, 249, 0, 0, 250, 251, 252, 253, 254, 0, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 226, + 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, + 254, -377, 245, 246, 247, 248, 226, 227, 228, 0, + 249, 0, 0, 250, 251, 252, 253, 254, 0, 0, + 0, 0, 0, 0, 245, 246, 247, 248, 0, 0, + 0, 0, 249, 0, 0, 250, 251, 252, 253, 254, + 0, 0, 246, 247, 248, 0, 0, 0, 0, 249, + 0, 0, 250, 251, 252, 253, 254 }; static const yytype_int16 yycheck[] = { - 10, 17, 9, 176, 329, 503, 110, 420, 11, 19, - 27, 12, 177, 11, 11, 18, 27, 20, 105, 22, - 89, 24, 25, 11, 586, 13, 29, 520, 49, 13, - 16, 34, 35, 54, 19, 22, 13, 202, 11, 49, - 13, 16, 52, 14, 30, 48, 49, 50, 51, 13, - 137, 16, 0, 16, 11, 20, 13, 20, 11, 24, - 103, 24, 132, 132, 18, 132, 20, 52, 22, 22, - 24, 25, 59, 27, 132, 11, 93, 15, 56, 86, - 34, 35, 93, 61, 112, 10, 22, 94, 95, 96, - 14, 584, 99, 100, 19, 49, 110, 51, 101, 11, - 18, 13, 86, 11, 22, 13, 24, 25, 670, 272, - 273, 16, 132, 276, 277, 20, 34, 35, 11, 24, - 613, 614, 86, 94, 95, 96, 97, 52, 138, 86, - 11, 49, 22, 51, 132, 60, 122, 102, 636, 93, - 150, 14, 143, 56, 132, 14, 132, 122, 165, 642, - 643, 644, 325, 15, 165, 56, 177, 132, 11, 122, - 13, 23, 14, 656, 174, 175, 176, 177, 14, 132, - 94, 95, 96, 97, 86, 196, 197, 187, 188, 283, - 183, 202, 286, 10, 11, 188, 13, 110, 111, 16, - 31, 132, 202, 20, 11, 14, 13, 24, 25, 14, - 25, 42, 187, 188, 94, 95, 96, 97, 11, 32, - 13, 165, 35, 36, 37, 38, 292, 293, 41, 295, - 296, 94, 95, 96, 97, 94, 95, 96, 97, 22, - 57, 56, 132, 86, 188, 11, 61, 13, 411, 96, - 97, 166, 94, 95, 96, 97, 11, 263, 94, 95, - 96, 97, 22, 22, 264, 180, 83, 267, 112, 113, - 423, 186, 187, 188, 677, 39, 22, 274, 275, 594, - 188, 94, 95, 96, 97, 94, 95, 96, 97, 94, - 95, 96, 97, 22, 287, 22, 211, 212, 213, 214, - 22, 216, 217, 218, 14, 460, 129, 130, 385, 86, - 254, 94, 95, 96, 97, 132, 70, 22, 131, 11, - 132, 332, 33, 34, 16, 325, 89, 131, 86, 273, - 131, 331, 22, 25, 94, 95, 96, 97, 13, 56, - 255, 256, 257, 258, 259, 260, 261, 262, 94, 95, - 96, 97, 56, 506, 56, 86, 331, 510, 132, 44, - 94, 95, 96, 97, 56, 94, 95, 96, 97, 61, - 61, 16, 15, 536, 90, 59, 291, 292, 293, 294, - 295, 296, 59, 416, 417, 12, 131, 13, 421, 94, - 95, 96, 97, 426, 427, 388, 11, 131, 313, 32, - 25, 16, 35, 36, 37, 38, 25, 25, 41, 25, - 18, 411, 419, 132, 132, 422, 331, 99, 419, 572, - 420, 422, 428, 59, 56, 22, 341, 99, 11, 592, - 583, 346, 429, 10, 131, 432, 591, 12, 80, 16, - 12, 56, 12, 20, 388, 132, 61, 24, 12, 460, - 131, 12, 131, 30, 454, 452, 16, 22, 458, 612, - 460, 94, 95, 96, 97, 94, 95, 96, 97, 80, - 81, 386, 387, 131, 418, 419, 118, 132, 422, 394, - 56, 123, 11, 483, 126, 127, 128, 129, 130, 522, - 94, 95, 96, 97, 99, 11, 493, 90, 495, 12, - 415, 131, 502, 503, 22, 420, 117, 118, 483, 424, - 425, 15, 123, 22, 131, 126, 127, 128, 129, 130, - 520, 94, 95, 96, 97, 131, 22, 131, 131, 529, - 88, 531, 94, 95, 96, 97, 536, 21, 571, 23, - 22, 131, 26, 45, 28, 29, 579, 580, 17, 87, - 131, 13, 467, 615, 143, 424, 556, 41, 131, 677, - 44, 505, 531, 315, 48, 446, 445, 623, 483, 131, - 567, 55, 56, 57, 58, 59, 542, 610, 452, 165, - 591, 556, 422, 616, 584, 618, 619, 593, 621, 419, - -1, 591, 592, 94, 95, 96, 97, -1, -1, -1, - 606, 94, 95, 96, 97, 638, -1, -1, 94, 95, - 96, 97, -1, 613, 614, 80, 81, 82, 94, 95, - 96, 97, -1, -1, -1, 631, 623, -1, -1, 635, - 131, -1, 547, 633, -1, -1, 636, -1, 131, -1, - -1, 556, 642, 643, 644, 131, 80, -1, 681, 114, - 115, 116, 117, 118, -1, 131, 656, -1, 123, -1, - -1, 126, 127, 128, 129, 130, 666, 611, 674, 662, - 126, 127, 128, 129, 130, -1, 620, 677, 72, -1, - -1, 165, -1, -1, -1, -1, 80, 81, 82, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, 93, - 615, -1, -1, -1, -1, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, - -1, 215, 126, 127, 128, 129, 130, 221, -1, -1, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 0, 1, -1, 253, - -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, 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, -1, -1, -1, -1, -1, 91, -1, -1, - -1, -1, -1, -1, 98, 3, 4, 5, 6, 7, - 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, 1, 119, 120, -1, 122, -1, - 124, 125, -1, 10, 11, -1, 13, -1, 132, 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, -1, - -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, - -1, 98, -1, -1, -1, 72, -1, 471, -1, -1, - -1, -1, -1, 80, 81, 82, -1, -1, -1, -1, - -1, -1, 119, 120, -1, 122, 93, 124, 125, -1, - -1, -1, 99, 100, 101, 132, 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, - -1, -1, 1, 537, -1, -1, -1, -1, -1, -1, - -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, - 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, 569, 35, 36, 37, 38, + 10, 17, 9, 176, 19, 27, 49, 177, 105, 19, + 11, 54, 420, 329, 503, 12, 11, 18, 13, 20, + 11, 22, 13, 24, 25, 13, 110, 586, 29, 11, + 13, 27, 202, 34, 35, 22, 15, 52, 520, 49, + 137, 14, 52, 89, 23, 16, 0, 48, 49, 50, + 51, 18, 103, 11, 11, 22, 13, 24, 25, 30, + 25, 11, 132, 13, 16, 16, 11, 34, 35, 20, + 16, 93, 59, 24, 20, 13, 56, 22, 24, 86, + 11, 61, 49, 132, 51, 16, 132, 94, 95, 96, + 132, 56, 99, 100, 25, 86, 61, 93, 86, 10, + 101, 10, 11, 86, 13, 272, 273, 16, 19, 276, + 277, 20, 11, 672, 13, 24, 25, 94, 95, 96, + 97, 94, 95, 96, 97, 56, 15, 11, 138, 14, + 61, 613, 110, 14, 177, 617, 86, 132, 22, 132, + 150, 52, 112, 165, 31, 14, 143, 636, 57, 60, + 132, 122, 325, 196, 197, 42, 102, 11, 640, 202, + 642, 132, 644, 645, 174, 175, 176, 177, 14, 165, + 122, 122, 187, 188, 83, 112, 113, 187, 188, 14, + 132, 132, 183, 11, 56, 13, 11, 188, 11, 671, + 13, 18, 202, 20, 80, 22, 56, 24, 25, 283, + 27, 14, 286, 11, 11, 13, 13, 34, 35, 94, + 95, 96, 97, 94, 95, 96, 97, 110, 111, 96, + 97, 188, 49, 132, 51, 94, 95, 96, 97, 14, + 32, 132, 118, 35, 36, 37, 38, 123, 411, 41, + 126, 127, 128, 129, 130, 22, 11, 263, 94, 95, + 96, 97, 22, 132, 264, 166, 22, 267, 22, 94, + 95, 96, 97, 86, 129, 130, 93, 274, 275, 180, + 33, 34, 680, 22, 22, 186, 187, 188, 594, 39, + 14, 94, 95, 96, 97, 22, 287, 86, 385, 332, + 460, 11, 94, 95, 96, 97, 16, 70, 86, 22, + 211, 212, 213, 214, 22, 216, 217, 218, 132, 94, + 95, 96, 97, 89, 131, 325, 331, 94, 95, 96, + 97, 331, 131, 56, 94, 95, 96, 97, 13, 131, + 94, 95, 96, 97, 22, 56, 56, 56, 165, 506, + 86, 61, 132, 44, 255, 256, 257, 258, 259, 260, + 261, 262, 61, 16, 15, 522, 59, 94, 95, 96, + 97, 188, 59, 536, 90, 416, 417, 12, 25, 131, + 421, 94, 95, 96, 97, 426, 427, 13, 25, 25, + 291, 292, 293, 294, 295, 296, 25, 388, 132, 32, + 80, 18, 35, 36, 37, 38, 22, 419, 41, 59, + 422, 411, 313, 99, 56, 572, 94, 95, 96, 97, + 420, 11, 428, 580, 131, 99, 583, 460, 132, 592, + 331, 591, 429, 419, 16, 432, 422, 254, 20, 12, + 341, 12, 24, 123, 132, 346, 126, 127, 128, 129, + 130, 12, 12, 12, 454, 452, 273, 22, 458, 131, + 460, 94, 95, 96, 97, 16, 131, 94, 95, 96, + 97, 94, 95, 96, 97, 131, 292, 293, 483, 295, + 296, 638, 56, 483, 132, 386, 387, 11, 94, 95, + 96, 97, 99, 394, 11, 90, 493, 12, 495, 131, + 22, 15, 502, 503, 131, 88, 22, 131, 131, 94, + 95, 96, 97, 131, 415, 94, 95, 96, 97, 420, + 520, 131, 22, 424, 425, 131, 22, 45, 131, 529, + 571, 531, 17, 87, 131, 13, 536, 615, 579, 94, + 95, 96, 97, 584, 143, 680, 131, 94, 95, 96, + 97, 556, 131, 315, 10, 531, 556, 445, 591, 424, + 16, 80, 81, 82, 20, 446, 467, 542, 24, 610, + 567, 388, 623, 614, 30, 616, 131, 618, 619, 452, + 621, 165, 483, 422, 131, 419, -1, 593, -1, -1, + -1, 591, 592, 112, 113, 114, 115, 116, 117, 118, + 606, 418, 419, -1, 123, 422, -1, 126, 127, 128, + 129, 130, -1, 613, -1, -1, 657, 617, -1, -1, + -1, 94, 95, 96, 97, 631, 623, -1, -1, 635, + -1, -1, -1, 633, -1, -1, 636, -1, -1, -1, + 640, -1, 642, 684, 644, 645, 547, -1, -1, 21, + -1, 23, -1, -1, 26, 556, 28, 29, 131, 3, + 4, 5, 6, 7, 8, 9, -1, -1, 668, 41, + 676, 671, 44, 664, -1, -1, 48, -1, -1, -1, + 680, -1, -1, 55, 56, 57, 58, 59, 505, -1, + -1, 0, 1, 126, 127, 128, 129, 130, -1, -1, + -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, + 19, 20, 21, 22, 615, 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, 596, 62, 63, 64, 65, 66, 67, 68, + 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, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - 119, 120, -1, 122, -1, 124, 125, -1, 10, 11, - 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, + -1, -1, -1, 165, 611, -1, -1, -1, 80, 81, + 82, -1, -1, 620, -1, -1, -1, -1, -1, -1, + 119, 120, -1, 122, -1, 124, 125, -1, -1, -1, + -1, -1, -1, 132, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, + -1, 123, -1, 215, 126, 127, 128, 129, 130, 221, + -1, -1, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 0, 1, + -1, 253, -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, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, @@ -1202,57 +1176,27 @@ static const yytype_int16 yycheck[] = 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 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, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, - 125, -1, 10, 11, 12, 13, -1, 132, 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, -1, -1, - -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, - 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, - 11, 12, 13, -1, 132, 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, -1, -1, -1, -1, -1, - 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, - -1, 122, -1, 124, 125, -1, 10, 11, 12, 13, - -1, 132, 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, -1, -1, -1, -1, -1, 91, -1, -1, - -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, - 124, 125, -1, 10, 11, -1, 13, -1, 132, 16, + -1, -1, -1, 98, -1, -1, -1, -1, -1, 471, + -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, + 81, 82, -1, -1, 119, 120, -1, 122, -1, 124, + 125, -1, 93, -1, -1, -1, -1, 132, 99, 100, + 101, 102, 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, 537, -1, -1, -1, -1, + -1, -1, -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, + 27, 28, 29, 30, 31, 32, -1, 569, 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, + 57, 58, 59, 60, 596, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, - -1, 88, -1, -1, 91, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, - 10, 11, -1, 13, -1, 132, 16, -1, -1, 19, + 10, 11, 12, 13, -1, 132, 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, @@ -1263,68 +1207,86 @@ static const yytype_int16 yycheck[] = -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, - 120, -1, 122, -1, 124, 125, -1, 10, 11, -1, + 120, -1, 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, 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, -1, -1, 71, -1, + 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, 1, -1, -1, -1, 91, -1, - -1, -1, -1, 10, -1, 98, 13, -1, -1, 16, - -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, - -1, -1, 29, 30, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, - 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, - 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, - 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, - 77, 78, 79, -1, -1, 1, 83, 84, 85, -1, - -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, - 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, - -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, - -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, - -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, + 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, + -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, + 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, -1, -1, -1, 71, -1, -1, 74, 75, + 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, - -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, - 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, - -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, - -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, + -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, + -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, + -1, 10, 11, 12, 13, -1, 132, 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, -1, -1, -1, + -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + 119, 120, -1, 122, -1, 124, 125, -1, 10, 11, + -1, 13, -1, 132, 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, -1, -1, 88, -1, -1, 91, + -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, + 122, -1, 124, 125, -1, 10, 11, -1, 13, -1, + 132, 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, -1, -1, -1, -1, -1, 10, 11, -1, 13, - -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, - 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, - -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, - 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, - -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, - 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, - 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, - -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, - -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, - 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, - 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, - -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, - -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, - -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, + 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, + -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, + 125, -1, 10, 11, -1, 13, -1, 132, 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, -1, -1, 71, -1, 73, 74, 75, 76, 77, + 78, 79, -1, -1, -1, 83, 84, 85, -1, 1, + -1, -1, -1, 91, -1, -1, -1, -1, 10, -1, + 98, 13, -1, -1, 16, -1, -1, 19, 20, 21, + 22, -1, 24, 25, -1, -1, -1, 29, 30, -1, + -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, + -1, -1, -1, -1, 132, 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, + 1, 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, + 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, @@ -1334,10 +1296,10 @@ static const yytype_int16 yycheck[] = 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, - 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, + 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, - -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, + -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, @@ -1349,7 +1311,7 @@ static const yytype_int16 yycheck[] = -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, - 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, + 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, @@ -1369,7 +1331,7 @@ static const yytype_int16 yycheck[] = 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, @@ -1389,54 +1351,95 @@ static const yytype_int16 yycheck[] = 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, + 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 98, -1, -1, -1, 72, - -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, + 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, + -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, + -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - 93, 124, 125, -1, -1, -1, 99, 100, 101, 132, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, - 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, - 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 99, 100, - 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, - -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, - -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, - 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, + -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, + 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, + 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, + -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, + -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, + 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, + -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, + 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, + 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, + -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, + 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, + 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, + 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, + -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, + 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, + -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, + 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, + 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, + 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, + -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, + 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, + -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, + -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, + -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, + 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, + 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, + -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, + 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 80, 81, 82, -1, 123, -1, -1, 126, - 127, 128, 129, 130, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 82, 106, 107, + 98, -1, -1, -1, 72, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, + -1, 119, 120, -1, 122, 93, 124, 125, -1, -1, + -1, 99, 100, 101, 132, 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, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, - -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, - -1, -1, -1, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, -1, 80, 81, 82, 123, -1, -1, - 126, 127, 128, 129, 130, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 80, 81, 82, -1, 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, 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 + 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, + 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 93, -1, -1, + -1, -1, -1, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, + 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, + 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, + 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 80, 81, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, + -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, + 80, 81, 82, 117, 118, -1, -1, -1, -1, 123, + -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, + -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, + 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, + 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 80, 81, 82, -1, -1, -1, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 80, 81, + 82, -1, 123, -1, -1, 126, 127, 128, 129, 130, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 80, 81, 82, -1, 123, -1, -1, 126, 127, 128, + 129, 130, 114, 115, 116, 117, 118, 80, 81, 82, + -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, + 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, + 130, 114, 115, 116, 117, 118, 80, 81, 82, -1, + 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, + -1, -1, -1, -1, 115, 116, 117, 118, -1, -1, + -1, -1, 123, -1, -1, 126, 127, 128, 129, 130, + -1, -1, 116, 117, 118, -1, -1, -1, -1, 123, + -1, -1, 126, 127, 128, 129, 130 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1444,74 +1447,74 @@ static const yytype_int16 yycheck[] = static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 134, 135, - 136, 137, 138, 139, 140, 141, 0, 183, 10, 13, + 136, 137, 138, 139, 140, 141, 0, 186, 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, 181, 234, 235, 236, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 250, 257, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 11, 180, 1, 22, + 132, 184, 237, 238, 239, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 253, 260, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 11, 183, 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, 151, - 154, 156, 157, 158, 159, 160, 161, 163, 165, 167, - 169, 171, 172, 173, 175, 176, 177, 179, 180, 193, - 197, 234, 254, 69, 191, 192, 193, 181, 189, 227, - 228, 189, 56, 61, 180, 266, 274, 257, 274, 248, - 274, 248, 274, 274, 248, 122, 132, 251, 266, 267, - 268, 248, 180, 248, 209, 209, 210, 274, 274, 249, - 13, 132, 248, 209, 248, 132, 132, 89, 132, 180, - 248, 56, 181, 235, 256, 266, 274, 180, 274, 257, - 56, 61, 212, 235, 248, 248, 248, 248, 248, 131, - 234, 94, 95, 96, 97, 15, 11, 13, 132, 112, + 154, 159, 160, 161, 162, 163, 164, 166, 168, 170, + 172, 174, 175, 176, 178, 179, 180, 182, 183, 196, + 200, 237, 257, 69, 194, 195, 196, 184, 192, 230, + 231, 192, 56, 61, 183, 269, 277, 260, 277, 251, + 277, 251, 277, 277, 251, 122, 132, 254, 269, 270, + 271, 251, 183, 251, 212, 212, 213, 277, 277, 252, + 13, 132, 251, 212, 251, 132, 132, 89, 132, 183, + 251, 56, 184, 238, 259, 269, 277, 183, 277, 260, + 56, 61, 215, 238, 251, 251, 251, 251, 251, 131, + 237, 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, 183, 211, 56, 56, 252, 266, 267, - 268, 183, 183, 183, 132, 132, 183, 183, 180, 11, - 184, 184, 208, 212, 22, 208, 212, 39, 181, 199, - 22, 32, 35, 36, 37, 38, 41, 22, 192, 193, - 191, 20, 24, 102, 181, 217, 218, 219, 220, 222, - 223, 224, 14, 132, 248, 251, 266, 267, 268, 131, - 234, 86, 215, 70, 181, 213, 86, 181, 214, 214, - 256, 132, 89, 234, 131, 180, 131, 131, 234, 257, - 257, 274, 235, 235, 22, 256, 13, 131, 234, 234, - 234, 234, 248, 234, 234, 131, 234, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 10, 11, 13, 16, 20, - 24, 25, 57, 83, 132, 238, 266, 131, 234, 234, - 234, 234, 234, 234, 234, 234, 189, 56, 181, 207, - 56, 56, 86, 181, 253, 132, 178, 178, 30, 122, - 132, 178, 264, 266, 183, 183, 178, 178, 185, 44, - 174, 208, 164, 208, 180, 196, 234, 196, 196, 204, - 234, 196, 196, 61, 216, 16, 15, 131, 234, 215, - 131, 59, 214, 59, 183, 232, 232, 257, 235, 14, - 237, 131, 90, 131, 234, 12, 234, 13, 22, 14, - 131, 102, 25, 212, 234, 234, 25, 25, 25, 25, - 25, 131, 234, 132, 131, 22, 14, 22, 14, 22, - 14, 22, 12, 18, 182, 11, 22, 214, 59, 99, - 205, 234, 184, 184, 122, 132, 259, 266, 30, 262, - 263, 265, 266, 267, 268, 181, 197, 202, 206, 234, - 184, 262, 178, 204, 203, 234, 184, 184, 189, 183, - 56, 168, 22, 183, 229, 230, 166, 99, 216, 222, - 131, 230, 132, 181, 225, 226, 131, 23, 181, 258, - 256, 131, 14, 234, 12, 248, 132, 22, 14, 131, - 257, 12, 12, 12, 12, 183, 183, 11, 22, 255, - 131, 33, 34, 181, 198, 198, 260, 261, 266, 178, - 178, 22, 199, 155, 184, 131, 131, 12, 132, 181, - 186, 56, 213, 11, 214, 248, 99, 227, 11, 234, - 90, 14, 257, 12, 131, 22, 162, 183, 248, 184, - 178, 15, 131, 184, 184, 152, 178, 199, 201, 201, - 187, 170, 256, 214, 189, 22, 231, 232, 221, 248, - 131, 233, 131, 88, 189, 145, 184, 266, 178, 199, - 199, 203, 184, 184, 184, 266, 184, 22, 229, 12, - 189, 181, 190, 12, 189, 198, 184, 22, 199, 199, - 199, 188, 45, 200, 12, 22, 59, 194, 12, 199, - 153, 131, 180, 17, 87, 181, 195, 201, 189, 206, - 88, 131, 184 + 11, 13, 11, 186, 214, 56, 56, 255, 269, 270, + 271, 186, 186, 186, 132, 132, 186, 186, 183, 11, + 187, 187, 211, 215, 22, 211, 215, 39, 184, 202, + 22, 32, 35, 36, 37, 38, 41, 22, 195, 196, + 194, 20, 24, 102, 184, 220, 221, 222, 223, 225, + 226, 227, 14, 132, 251, 254, 269, 270, 271, 131, + 237, 86, 218, 70, 184, 216, 86, 184, 217, 217, + 259, 132, 89, 237, 131, 183, 131, 131, 237, 260, + 260, 277, 238, 238, 22, 259, 13, 131, 237, 237, + 237, 237, 251, 237, 237, 131, 237, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 241, 269, 131, 237, 237, + 237, 237, 237, 237, 237, 237, 192, 56, 184, 210, + 56, 56, 86, 184, 256, 132, 181, 181, 30, 122, + 132, 181, 267, 269, 186, 186, 181, 181, 188, 44, + 177, 211, 167, 211, 183, 199, 237, 199, 199, 207, + 237, 199, 199, 61, 219, 16, 15, 131, 237, 218, + 131, 59, 217, 59, 186, 235, 235, 260, 238, 14, + 240, 131, 90, 131, 237, 12, 237, 13, 22, 14, + 131, 102, 25, 215, 237, 237, 25, 25, 25, 25, + 25, 131, 237, 132, 131, 22, 14, 22, 14, 22, + 14, 22, 12, 18, 185, 11, 22, 217, 59, 99, + 208, 237, 187, 187, 122, 132, 262, 269, 30, 265, + 266, 268, 269, 270, 271, 184, 200, 205, 209, 237, + 187, 265, 156, 207, 206, 237, 187, 187, 192, 186, + 56, 171, 22, 186, 232, 233, 169, 99, 219, 225, + 131, 233, 132, 184, 228, 229, 131, 23, 184, 261, + 259, 131, 14, 237, 12, 251, 132, 22, 14, 131, + 260, 12, 12, 12, 12, 186, 186, 11, 22, 258, + 131, 33, 34, 184, 201, 201, 263, 264, 269, 181, + 158, 22, 202, 157, 181, 131, 131, 12, 132, 184, + 189, 56, 216, 11, 217, 251, 99, 230, 11, 237, + 90, 14, 260, 12, 131, 22, 165, 186, 251, 187, + 181, 15, 155, 187, 181, 152, 181, 187, 204, 204, + 190, 173, 259, 217, 192, 22, 234, 235, 224, 251, + 131, 236, 131, 88, 192, 145, 187, 269, 131, 202, + 187, 206, 187, 202, 187, 187, 269, 187, 22, 232, + 12, 192, 184, 193, 12, 192, 201, 181, 202, 22, + 202, 202, 202, 191, 45, 203, 12, 22, 59, 197, + 12, 187, 153, 131, 183, 17, 87, 184, 198, 202, + 204, 192, 209, 88, 131, 187 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1520,41 +1523,41 @@ static const yytype_int16 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, 150, 150, 152, 153, 151, 154, - 154, 154, 155, 154, 154, 154, 156, 157, 158, 159, - 160, 162, 161, 164, 163, 166, 165, 168, 167, 170, - 169, 171, 172, 174, 173, 175, 176, 177, 178, 179, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 186, 189, 189, 190, 190, 191, 191, 192, 192, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 194, 195, 195, 196, 197, 197, - 197, 197, 197, 197, 197, 197, 198, 198, 198, 199, - 199, 200, 200, 201, 202, 202, 203, 203, 204, 205, - 206, 207, 207, 208, 209, 210, 211, 212, 212, 213, - 213, 214, 214, 214, 215, 215, 216, 216, 217, 217, - 218, 218, 218, 219, 219, 220, 220, 221, 221, 222, - 222, 223, 223, 223, 224, 224, 225, 225, 226, 228, - 227, 229, 229, 230, 231, 231, 233, 232, 234, 234, - 234, 234, 234, 235, 235, 235, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 237, 236, - 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, - 241, 241, 241, 242, 242, 243, 243, 243, 243, 244, - 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 249, 248, - 248, 248, 248, 250, 250, 250, 250, 251, 251, 251, - 251, 251, 252, 252, 252, 253, 253, 253, 254, 255, - 254, 256, 256, 257, 257, 258, 258, 259, 260, 260, - 260, 261, 262, 262, 262, 263, 263, 264, 264, 265, - 266, 267, 268, 269, 269, 270, 271, 271, 272, 272, - 273, 273, 274, 274, 274, 274 + 155, 154, 156, 154, 157, 154, 158, 154, 154, 159, + 160, 161, 162, 163, 165, 164, 167, 166, 169, 168, + 171, 170, 173, 172, 174, 175, 177, 176, 178, 179, + 180, 181, 182, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 189, 192, 192, 193, 193, 194, 194, + 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 197, 198, 198, + 199, 200, 200, 200, 200, 200, 200, 200, 200, 201, + 201, 201, 202, 202, 203, 203, 204, 205, 205, 206, + 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, + 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, + 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, + 224, 224, 225, 225, 226, 226, 226, 227, 227, 228, + 228, 229, 231, 230, 232, 232, 233, 234, 234, 236, + 235, 237, 237, 237, 237, 237, 238, 238, 238, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 240, 239, 241, 241, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 244, 244, 244, 244, 244, 245, 245, 246, 246, + 246, 246, 247, 247, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, + 249, 250, 250, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 252, 251, 251, 251, 251, 253, 253, 253, 253, + 254, 254, 254, 254, 254, 255, 255, 255, 256, 256, + 256, 257, 258, 257, 259, 259, 260, 260, 261, 261, + 262, 263, 263, 263, 264, 265, 265, 265, 266, 266, + 267, 267, 268, 269, 270, 271, 272, 272, 273, 274, + 274, 275, 275, 276, 276, 277, 277, 277, 277 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1563,41 +1566,41 @@ 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, 2, 1, 1, 0, 0, 13, 7, - 9, 6, 0, 8, 7, 5, 4, 4, 5, 1, - 4, 0, 8, 0, 4, 0, 6, 0, 7, 0, - 8, 5, 8, 0, 7, 4, 8, 2, 3, 1, - 1, 4, 0, 7, 0, 4, 0, 1, 0, 0, - 5, 1, 2, 1, 2, 1, 1, 2, 2, 1, + 0, 10, 0, 7, 0, 8, 0, 8, 5, 4, + 4, 5, 1, 4, 0, 8, 0, 4, 0, 6, + 0, 7, 0, 8, 5, 8, 0, 7, 4, 8, + 2, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 1, 2, 4, 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, 0, 1, 3, 5, 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 + 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, + 2, 4, 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, 0, 1, 3, 5, + 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 { @@ -1640,8 +1643,8 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_ival, 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_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, @@ -1669,6 +1672,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * c75f2707698a83f5f2610add9817dc46dfee7286d1cac14ee88300edeccc3194 perly.y + * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index b3ec2c280d20..5ac0d1f2fe9f 100644 --- a/perly.y +++ b/perly.y @@ -390,39 +390,44 @@ bare_statement_for_over : KW_FOR remember KW_MY - my_scalar + my_scalar[cursor] clause_mexpr[mexpr] mblock cont { - $$ = block_end($remember, newFOROP(0, $my_scalar, $mexpr, $mblock, $cont)); + $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } | KW_FOR remember KW_MY PERLY_PAREN_OPEN - my_list_of_scalars + my_list_of_scalars[cursor] + { + if ($cursor->op_type == OP_PADSV) + /* degenerate case of 1 var: for my ($x) .... + Flag it so it can be special-cased in newFOROP */ + $cursor->op_flags |= OPf_PARENS; + } PERLY_PAREN_CLOSE clause_mexpr[mexpr] mblock cont { - if ($my_list_of_scalars->op_type == OP_PADSV) - /* degenerate case of 1 var: for my ($x) .... - Flag it so it can be special-cased in newFOROP */ - $my_list_of_scalars->op_flags |= OPf_PARENS; - $$ = block_end($remember, newFOROP(0, $my_list_of_scalars, $mexpr, $mblock, $cont)); + $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } | KW_FOR remember scalar + { + $$ = op_lvalue ($scalar, OP_ENTERLOOP); + }[cursor] clause_mexpr[mexpr] mblock cont { - $$ = block_end($remember, newFOROP(0, op_lvalue($scalar, OP_ENTERLOOP), $mexpr, $mblock, $cont)); + $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } | KW_FOR @@ -431,45 +436,30 @@ bare_statement_for_over my_var { parser->in_my = 0; - $$ = my($my_var); - }[variable] + $$ = op_lvalue( + newUNOP(OP_REFGEN, 0, my ($my_var)), + OP_ENTERLOOP + ); + }[cursor] clause_mexpr[mexpr] mblock cont { - $$ = block_end( - $remember, - newFOROP( - 0, - op_lvalue( - newUNOP(OP_REFGEN, 0, $variable), - OP_ENTERLOOP - ), - $mexpr, - $mblock, - $cont - ) - ); + $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } | KW_FOR remember REFGEN refgen_topic + { + $$ = op_lvalue (newUNOP(OP_REFGEN, 0, $refgen_topic), OP_ENTERLOOP); + }[cursor] clause_mexpr[mexpr] mblock cont { - $$ = block_end ( - $remember, - newFOROP ( - 0, - op_lvalue (newUNOP(OP_REFGEN, 0, $refgen_topic), OP_ENTERLOOP), - $mexpr, - $mblock, - $cont - ) - ); + $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } | KW_FOR From 2b2eeb97a1341356e632a5076016080fd15f517a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Wed, 22 Oct 2025 21:56:23 +0200 Subject: [PATCH 7/7] [parser] Extract for-over cursor declarations into `clause_for_cursor` Extract multiple ways how to declare cursor variable(s) of for-over loop into dedicated non-terminal allowing to merge `for-over` branches. Merged for-over branches of: - `for $scalar (...)` - `for my $scalar (...)` - `for my ($foo, $bar) (...)` - `for \ $scalar (...)` - `for my \ $scalar (..)` Branch `for ()` must still remain as far as LALR(1) grammar will run into shift/reduce conflict with `for (;;)` - there will be two possible paths between `KW_FOR` and `(`: - `KW_FOR remember '('` - from `for (;;)` branch - `KW_FOR remember clause_for_over_cursor '(` - from `for ()` (using default cursor) --- perly.act | 1230 +++++++++++++++++----------------- perly.h | 2 +- perly.tab | 1906 ++++++++++++++++++++++++++--------------------------- perly.y | 108 ++- 4 files changed, 1592 insertions(+), 1654 deletions(-) diff --git a/perly.act b/perly.act index 563561f55781..fa9a9d2322df 100644 --- a/perly.act +++ b/perly.act @@ -5,7 +5,7 @@ */ case 2: /* @1: %empty */ -#line 191 "perly.y" +#line 192 "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 196 "perly.y" +#line 197 "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 202 "perly.y" +#line 203 "perly.y" { parser->expect = XTERM; (yyval.ival) = 0; @@ -33,7 +33,7 @@ case 2: /* @1: %empty */ break; case 5: /* grammar: GRAMEXPR @2 optexpr */ -#line 207 "perly.y" +#line 208 "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 212 "perly.y" +#line 213 "perly.y" { parser->expect = XBLOCK; (yyval.ival) = 0; @@ -51,7 +51,7 @@ case 2: /* @1: %empty */ break; case 7: /* grammar: GRAMBLOCK @3 block */ -#line 217 "perly.y" +#line 218 "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 225 "perly.y" +#line 226 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -72,7 +72,7 @@ case 2: /* @1: %empty */ break; case 9: /* grammar: GRAMBARESTMT @4 barestmt */ -#line 230 "perly.y" +#line 231 "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 238 "perly.y" +#line 239 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -93,7 +93,7 @@ case 2: /* @1: %empty */ break; case 11: /* grammar: GRAMFULLSTMT @5 fullstmt */ -#line 243 "perly.y" +#line 244 "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 251 "perly.y" +#line 252 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -114,7 +114,7 @@ case 2: /* @1: %empty */ break; case 13: /* grammar: GRAMSTMTSEQ @6 stmtseq */ -#line 256 "perly.y" +#line 257 "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 261 "perly.y" +#line 262 "perly.y" { parser->expect = XSTATE; (yyval.ival) = 0; @@ -132,7 +132,7 @@ case 2: /* @1: %empty */ break; case 15: /* grammar: GRAMSUBSIGNATURE @7 subsigguts */ -#line 266 "perly.y" +#line 267 "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 275 "perly.y" +#line 276 "perly.y" { (yyval.opval) = new_block_statement ((ps[-1].val.opval), (ps[0].val.opval)); } @@ -149,7 +149,7 @@ case 2: /* @1: %empty */ break; case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_SEMICOLON */ -#line 286 "perly.y" +#line 287 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); (yyval.opval) = NULL; @@ -162,7 +162,7 @@ case 2: /* @1: %empty */ break; case 18: /* $@8: %empty */ -#line 303 "perly.y" +#line 304 "perly.y" { package ((ps[-3].val.opval), (ps[-4].val.opval)); class_setup_stash(PL_curstash); @@ -174,7 +174,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 312 "perly.y" +#line 313 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -184,7 +184,7 @@ case 2: /* @1: %empty */ break; case 20: /* bare_statement_default: KW_DEFAULT block */ -#line 322 "perly.y" +#line 323 "perly.y" { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); } @@ -192,7 +192,7 @@ case 2: /* @1: %empty */ break; case 21: /* bare_statement_defer: KW_DEFER mblock */ -#line 329 "perly.y" +#line 330 "perly.y" { (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval))); } @@ -200,7 +200,7 @@ case 2: /* @1: %empty */ break; case 22: /* bare_statement_expression: sideff PERLY_SEMICOLON */ -#line 337 "perly.y" +#line 338 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -208,7 +208,7 @@ case 2: /* @1: %empty */ break; case 23: /* bare_statement_field_declaration: fielddecl PERLY_SEMICOLON */ -#line 345 "perly.y" +#line 346 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } @@ -216,7 +216,7 @@ case 2: /* @1: %empty */ break; case 26: /* $@9: %empty */ -#line 361 "perly.y" +#line 362 "perly.y" { parser->expect = XTERM; } @@ -224,7 +224,7 @@ case 2: /* @1: %empty */ break; case 27: /* $@10: %empty */ -#line 366 "perly.y" +#line 367 "perly.y" { parser->expect = XTERM; } @@ -232,7 +232,7 @@ case 2: /* @1: %empty */ break; case 28: /* bare_statement_for_control: KW_FOR remember PERLY_PAREN_OPEN mnexpr PERLY_SEMICOLON $@9 texpr PERLY_SEMICOLON $@10 mintro mnexpr PERLY_PAREN_CLOSE mblock */ -#line 373 "perly.y" +#line 374 "perly.y" { OP *initop = (ps[-9].val.opval); OP *forop = newWHILEOP(0, 1, NULL, scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival)); @@ -250,92 +250,17 @@ case 2: /* @1: %empty */ break; - case 29: /* bare_statement_for_over: KW_FOR remember KW_MY my_scalar clause_mexpr mblock cont */ + case 29: /* bare_statement_for_over: KW_FOR remember clause_for_over_cursor clause_mexpr mblock cont */ #line 397 "perly.y" { - (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-6].val.ival); + (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); + parser->copline = (line_t)(ps[-5].val.ival); } break; - case 30: /* $@11: %empty */ + case 30: /* bare_statement_for_over: KW_FOR remember clause_mexpr mblock cont */ #line 406 "perly.y" - { - if ((ps[0].val.opval)->op_type == OP_PADSV) - /* degenerate case of 1 var: for my ($x) .... - Flag it so it can be special-cased in newFOROP */ - (ps[0].val.opval)->op_flags |= OPf_PARENS; - } - - break; - - case 31: /* bare_statement_for_over: KW_FOR remember KW_MY PERLY_PAREN_OPEN my_list_of_scalars $@11 PERLY_PAREN_CLOSE clause_mexpr mblock cont */ -#line 416 "perly.y" - { - (yyval.opval) = block_end((ps[-8].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-9].val.ival); - } - - break; - - case 32: /* @12: %empty */ -#line 423 "perly.y" - { - (yyval.opval) = op_lvalue ((ps[0].val.opval), OP_ENTERLOOP); - } - - break; - - case 33: /* bare_statement_for_over: KW_FOR remember scalar @12 clause_mexpr mblock cont */ -#line 429 "perly.y" - { - (yyval.opval) = block_end((ps[-5].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-6].val.ival); - } - - break; - - case 34: /* @13: %empty */ -#line 437 "perly.y" - { - parser->in_my = 0; - (yyval.opval) = op_lvalue( - newUNOP(OP_REFGEN, 0, my ((ps[0].val.opval))), - OP_ENTERLOOP - ); - } - - break; - - case 35: /* bare_statement_for_over: KW_FOR remember my_refgen my_var @13 clause_mexpr mblock cont */ -#line 447 "perly.y" - { - (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-7].val.ival); - } - - break; - - case 36: /* @14: %empty */ -#line 455 "perly.y" - { - (yyval.opval) = op_lvalue (newUNOP(OP_REFGEN, 0, (ps[0].val.opval)), OP_ENTERLOOP); - } - - break; - - case 37: /* bare_statement_for_over: KW_FOR remember REFGEN refgen_topic @14 clause_mexpr mblock cont */ -#line 461 "perly.y" - { - (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); - parser->copline = (line_t)(ps[-7].val.ival); - } - - break; - - case 38: /* bare_statement_for_over: KW_FOR remember clause_mexpr mblock cont */ -#line 470 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newFOROP(0, NULL, (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))); parser->copline = (line_t)(ps[-4].val.ival); @@ -343,8 +268,8 @@ case 2: /* @1: %empty */ break; - case 39: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ -#line 481 "perly.y" + case 31: /* bare_statement_format: KW_FORMAT startformsub formname formblock */ +#line 417 "perly.y" { CV *fmtcv = PL_compcv; newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval)); @@ -357,8 +282,8 @@ case 2: /* @1: %empty */ break; - case 40: /* bare_statement_given: KW_GIVEN remember clause_mexpr mblock */ -#line 497 "perly.y" + case 32: /* bare_statement_given: KW_GIVEN remember clause_mexpr mblock */ +#line 433 "perly.y" { (yyval.opval) = block_end((ps[-2].val.ival), newGIVENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)), 0)); parser->copline = (line_t)(ps[-3].val.ival); @@ -366,8 +291,8 @@ case 2: /* @1: %empty */ break; - case 41: /* bare_statement_if: KW_IF remember clause_mexpr mblock else */ -#line 509 "perly.y" + case 33: /* bare_statement_if: KW_IF remember clause_mexpr mblock else */ +#line 445 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval))); parser->copline = (line_t)(ps[-4].val.ival); @@ -375,8 +300,8 @@ case 2: /* @1: %empty */ break; - case 42: /* bare_statement_null: PERLY_SEMICOLON */ -#line 517 "perly.y" + case 34: /* bare_statement_null: PERLY_SEMICOLON */ +#line 453 "perly.y" { (yyval.opval) = NULL; parser->copline = NOLINE; @@ -384,8 +309,8 @@ case 2: /* @1: %empty */ break; - case 43: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ -#line 533 "perly.y" + case 35: /* bare_statement_package_declaration: KW_PACKAGE BAREWORD BAREWORD PERLY_SEMICOLON */ +#line 469 "perly.y" { package ((ps[-1].val.opval), (ps[-2].val.opval)); (yyval.opval) = NULL; @@ -393,16 +318,16 @@ case 2: /* @1: %empty */ break; - case 44: /* $@15: %empty */ -#line 545 "perly.y" + case 36: /* $@11: %empty */ +#line 481 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); } break; - case 45: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@15 stmtseq PERLY_BRACE_CLOSE */ -#line 550 "perly.y" + case 37: /* bare_statement_package_definition: KW_PACKAGE BAREWORD BAREWORD PERLY_BRACE_OPEN remember $@11 stmtseq PERLY_BRACE_CLOSE */ +#line 486 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); if (parser->copline > (line_t)(ps[-4].val.ival)) @@ -411,8 +336,8 @@ case 2: /* @1: %empty */ break; - case 46: /* $@16: %empty */ -#line 560 "perly.y" + case 38: /* $@12: %empty */ +#line 496 "perly.y" { switch((ps[-1].val.ival)) { case KEY_ADJUST: @@ -426,8 +351,8 @@ case 2: /* @1: %empty */ break; - case 47: /* bare_statement_phaser: PHASER startsub $@16 optsubbody */ -#line 571 "perly.y" + case 39: /* bare_statement_phaser: PHASER startsub $@12 optsubbody */ +#line 507 "perly.y" { OP *body = (ps[0].val.opval); SvREFCNT_inc_simple_void(PL_compcv); @@ -446,8 +371,8 @@ case 2: /* @1: %empty */ break; - case 48: /* $@17: %empty */ -#line 595 "perly.y" + case 40: /* $@13: %empty */ +#line 531 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); if((ps[-2].val.ival) == KW_METHOD_named) { @@ -460,8 +385,8 @@ case 2: /* @1: %empty */ break; - case 49: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@17 subattrlist optsigsubbody */ -#line 606 "perly.y" + case 41: /* bare_statement_sub_signature: sigsub_or_method_named subname startsub $@13 subattrlist optsigsubbody */ +#line 542 "perly.y" { OP *body = (ps[0].val.opval); @@ -477,8 +402,8 @@ case 2: /* @1: %empty */ break; - case 50: /* $@18: %empty */ -#line 625 "perly.y" + case 42: /* $@14: %empty */ +#line 561 "perly.y" { init_named_cv(PL_compcv, (ps[-1].val.opval)); parser->in_my = 0; @@ -487,8 +412,8 @@ case 2: /* @1: %empty */ break; - case 51: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@18 proto subattrlist optsubbody */ -#line 633 "perly.y" + case 43: /* bare_statement_sub_traditional: KW_SUB_named subname startsub $@14 proto subattrlist optsubbody */ +#line 569 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (ps[-5].val.opval)->op_type == OP_CONST @@ -502,8 +427,8 @@ case 2: /* @1: %empty */ break; - case 52: /* $@19: %empty */ -#line 651 "perly.y" + case 44: /* $@15: %empty */ +#line 587 "perly.y" { if(!(ps[0].val.opval)) { yyerror("catch block requires a (VAR)"); @@ -513,8 +438,8 @@ case 2: /* @1: %empty */ break; - case 53: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@19 mblock finally */ -#line 659 "perly.y" + case 45: /* bare_statement_try_catch: KW_TRY mblock KW_CATCH remember catch_paren $@15 mblock finally */ +#line 595 "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)))); if((ps[0].val.opval)) @@ -524,8 +449,8 @@ case 2: /* @1: %empty */ break; - case 54: /* bare_statement_unless: KW_UNLESS remember clause_mexpr mblock else */ -#line 673 "perly.y" + case 46: /* bare_statement_unless: KW_UNLESS remember clause_mexpr mblock else */ +#line 609 "perly.y" { (yyval.opval) = block_end((ps[-3].val.ival), newCONDOP(0, (ps[-2].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval)))); parser->copline = (line_t)(ps[-4].val.ival); @@ -533,8 +458,8 @@ case 2: /* @1: %empty */ break; - case 55: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 688 "perly.y" + case 47: /* bare_statement_until: KW_UNTIL PERLY_PAREN_OPEN remember iexpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 624 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -542,14 +467,14 @@ case 2: /* @1: %empty */ break; - case 56: /* $@20: %empty */ -#line 697 "perly.y" + case 48: /* $@16: %empty */ +#line 633 "perly.y" { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ } break; - case 57: /* bare_statement_utilize: KW_USE_or_NO startsub $@20 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ -#line 704 "perly.y" + case 49: /* bare_statement_utilize: KW_USE_or_NO startsub $@16 BAREWORD BAREWORD optlistexpr PERLY_SEMICOLON */ +#line 640 "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)); @@ -559,16 +484,16 @@ case 2: /* @1: %empty */ break; - case 58: /* bare_statement_when: KW_WHEN remember clause_mexpr mblock */ -#line 717 "perly.y" + case 50: /* bare_statement_when: KW_WHEN remember clause_mexpr mblock */ +#line 653 "perly.y" { (yyval.opval) = block_end((ps[-2].val.ival), newWHENOP((ps[-1].val.opval), op_scope((ps[0].val.opval)))); } break; - case 59: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ -#line 731 "perly.y" + case 51: /* bare_statement_while: KW_WHILE PERLY_PAREN_OPEN remember texpr PERLY_PAREN_CLOSE mintro mblock cont */ +#line 667 "perly.y" { (yyval.opval) = block_end((ps[-5].val.ival), newWHILEOP(0, 1, NULL, (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival))); parser->copline = (line_t)(ps[-7].val.ival); @@ -576,8 +501,8 @@ case 2: /* @1: %empty */ break; - case 60: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ -#line 739 "perly.y" + case 52: /* bare_statement_yadayada: YADAYADA PERLY_SEMICOLON */ +#line 675 "perly.y" { /* diag_listed_as: Unimplemented */ (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); @@ -585,28 +510,79 @@ case 2: /* @1: %empty */ break; - case 61: /* clause_mexpr: PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE */ -#line 749 "perly.y" + case 53: /* clause_for_over_cursor: scalar */ +#line 683 "perly.y" + { + (yyval.opval) = op_lvalue ((ps[0].val.opval), OP_ENTERLOOP); + } + + break; + + case 54: /* clause_for_over_cursor: KW_MY my_scalar */ +#line 688 "perly.y" { + (yyval.opval) = (ps[0].val.opval); + } + + break; + + case 55: /* clause_for_over_cursor: KW_MY PERLY_PAREN_OPEN my_list_of_scalars PERLY_PAREN_CLOSE */ +#line 695 "perly.y" + { + if ((ps[-1].val.opval)->op_type == OP_PADSV) + /* degenerate case of 1 var: for my ($x) .... + Flag it so it can be special-cased in newFOROP */ + (ps[-1].val.opval)->op_flags |= OPf_PARENS; (yyval.opval) = (ps[-1].val.opval); } break; - case 62: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 757 "perly.y" + case 56: /* clause_for_over_cursor: my_refgen my_var */ +#line 704 "perly.y" + { + parser->in_my = 0; + (yyval.opval) = op_lvalue ( + newUNOP (OP_REFGEN, 0, my ((ps[0].val.opval))), + OP_ENTERLOOP + ); + } + + break; + + case 57: /* clause_for_over_cursor: REFGEN refgen_topic */ +#line 713 "perly.y" + { + (yyval.opval) = op_lvalue ( + newUNOP (OP_REFGEN, 0, (ps[0].val.opval)), + OP_ENTERLOOP + ); + } + + break; + + case 58: /* clause_mexpr: PERLY_PAREN_OPEN mexpr PERLY_PAREN_CLOSE */ +#line 725 "perly.y" + { + (yyval.opval) = (ps[-1].val.opval); + } + + break; + + case 59: /* sigsub_or_method_named: KW_SUB_named_sig */ +#line 733 "perly.y" { (yyval.ival) = KW_SUB_named_sig; } break; - case 63: /* sigsub_or_method_named: KW_METHOD_named */ -#line 759 "perly.y" + case 60: /* sigsub_or_method_named: KW_METHOD_named */ +#line 735 "perly.y" { (yyval.ival) = KW_METHOD_named; } break; - case 64: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ -#line 764 "perly.y" + case 61: /* block: PERLY_BRACE_OPEN remember stmtseq PERLY_BRACE_CLOSE */ +#line 740 "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)); @@ -614,14 +590,14 @@ case 2: /* @1: %empty */ break; - case 65: /* empty: %empty */ -#line 771 "perly.y" + case 62: /* empty: %empty */ +#line 747 "perly.y" { (yyval.opval) = NULL; } break; - case 66: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ -#line 776 "perly.y" + case 63: /* formblock: PERLY_EQUAL_SIGN remember PERLY_SEMICOLON FORMRBRACK formstmtseq PERLY_SEMICOLON PERLY_DOT */ +#line 752 "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)); @@ -629,15 +605,15 @@ case 2: /* @1: %empty */ break; - case 67: /* remember: %empty */ -#line 783 "perly.y" + case 64: /* remember: %empty */ +#line 759 "perly.y" { (yyval.ival) = block_start(TRUE); parser->parsed_sub = 0; } break; - case 68: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ -#line 788 "perly.y" + case 65: /* mblock: PERLY_BRACE_OPEN mremember stmtseq PERLY_BRACE_CLOSE */ +#line 764 "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)); @@ -645,33 +621,33 @@ case 2: /* @1: %empty */ break; - case 69: /* mremember: %empty */ -#line 795 "perly.y" + case 66: /* mremember: %empty */ +#line 771 "perly.y" { (yyval.ival) = block_start(FALSE); parser->parsed_sub = 0; } break; - case 71: /* $@21: %empty */ -#line 804 "perly.y" + case 68: /* $@17: %empty */ +#line 780 "perly.y" { parser->in_my = KEY_catch; } break; - case 72: /* $@22: %empty */ -#line 806 "perly.y" + case 69: /* $@18: %empty */ +#line 782 "perly.y" { parser->in_my = 0; intro_my(); } break; - case 73: /* catch_paren: PERLY_PAREN_OPEN $@21 scalar $@22 PERLY_PAREN_CLOSE */ -#line 808 "perly.y" + case 70: /* catch_paren: PERLY_PAREN_OPEN $@17 scalar $@18 PERLY_PAREN_CLOSE */ +#line 784 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 75: /* stmtseq: stmtseq fullstmt */ -#line 815 "perly.y" + case 72: /* stmtseq: stmtseq fullstmt */ +#line 791 "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)) @@ -680,8 +656,8 @@ case 2: /* @1: %empty */ break; - case 77: /* formstmtseq: formstmtseq formline */ -#line 826 "perly.y" + case 74: /* formstmtseq: formstmtseq formline */ +#line 802 "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)) @@ -690,22 +666,22 @@ case 2: /* @1: %empty */ break; - case 78: /* fullstmt: barestmt */ -#line 835 "perly.y" + case 75: /* fullstmt: barestmt */ +#line 811 "perly.y" { (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL; } break; - case 79: /* fullstmt: labfullstmt */ -#line 839 "perly.y" + case 76: /* fullstmt: labfullstmt */ +#line 815 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 80: /* labfullstmt: LABEL barestmt */ -#line 843 "perly.y" + case 77: /* labfullstmt: LABEL barestmt */ +#line 819 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -715,8 +691,8 @@ case 2: /* @1: %empty */ break; - case 81: /* labfullstmt: LABEL labfullstmt */ -#line 850 "perly.y" + case 78: /* labfullstmt: LABEL labfullstmt */ +#line 826 "perly.y" { SV *label = cSVOPx_sv((ps[-1].val.opval)); (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8, @@ -726,8 +702,8 @@ case 2: /* @1: %empty */ break; - case 107: /* formline: THING formarg */ -#line 895 "perly.y" + case 104: /* formline: THING formarg */ +#line 871 "perly.y" { OP *list; if ((ps[0].val.opval)) { OP *term = (ps[0].val.opval); @@ -745,63 +721,63 @@ case 2: /* @1: %empty */ break; - case 109: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ -#line 914 "perly.y" + case 106: /* formarg: FORMLBRACK stmtseq FORMRBRACK */ +#line 890 "perly.y" { (yyval.opval) = op_unscope((ps[-1].val.opval)); } break; - case 111: /* sideff: error */ -#line 922 "perly.y" + case 108: /* sideff: error */ +#line 898 "perly.y" { (yyval.opval) = NULL; } break; - case 112: /* sideff: expr */ -#line 924 "perly.y" + case 109: /* sideff: expr */ +#line 900 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 113: /* sideff: expr KW_IF condition */ -#line 926 "perly.y" + case 110: /* sideff: expr KW_IF condition */ +#line 902 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 114: /* sideff: expr KW_UNLESS condition */ -#line 928 "perly.y" + case 111: /* sideff: expr KW_UNLESS condition */ +#line 904 "perly.y" { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 115: /* sideff: expr KW_WHILE condition */ -#line 930 "perly.y" + case 112: /* sideff: expr KW_WHILE condition */ +#line 906 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); } break; - case 116: /* sideff: expr KW_UNTIL iexpr */ -#line 932 "perly.y" + case 113: /* sideff: expr KW_UNTIL iexpr */ +#line 908 "perly.y" { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); } break; - case 117: /* sideff: expr KW_FOR condition */ -#line 934 "perly.y" + case 114: /* sideff: expr KW_FOR condition */ +#line 910 "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 118: /* sideff: expr KW_WHEN condition */ -#line 937 "perly.y" + case 115: /* sideff: expr KW_WHEN condition */ +#line 913 "perly.y" { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); } break; - case 120: /* else: KW_ELSE mblock */ -#line 944 "perly.y" + case 117: /* else: KW_ELSE mblock */ +#line 920 "perly.y" { ((ps[0].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = op_scope((ps[0].val.opval)); @@ -809,8 +785,8 @@ case 2: /* @1: %empty */ break; - case 121: /* else: KW_ELSIF clause_mexpr mblock else */ -#line 949 "perly.y" + case 118: /* else: KW_ELSIF clause_mexpr mblock else */ +#line 925 "perly.y" { parser->copline = (line_t)(ps[-3].val.ival); (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[-2].val.opval)), @@ -820,94 +796,94 @@ case 2: /* @1: %empty */ break; - case 123: /* cont: KW_CONTINUE block */ -#line 961 "perly.y" + case 120: /* cont: KW_CONTINUE block */ +#line 937 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 124: /* finally: %empty */ -#line 966 "perly.y" + case 121: /* finally: %empty */ +#line 942 "perly.y" { (yyval.opval) = NULL; } break; - case 125: /* finally: KW_FINALLY block */ -#line 968 "perly.y" + case 122: /* finally: KW_FINALLY block */ +#line 944 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 126: /* mintro: %empty */ -#line 973 "perly.y" + case 123: /* mintro: %empty */ +#line 949 "perly.y" { (yyval.ival) = (PL_min_intro_pending && PL_max_intro_pending >= PL_min_intro_pending); intro_my(); } break; - case 129: /* texpr: %empty */ -#line 985 "perly.y" + case 126: /* texpr: %empty */ +#line 961 "perly.y" { YYSTYPE tmplval; (void)scan_num("1", &tmplval); (yyval.opval) = tmplval.opval; } break; - case 131: /* iexpr: expr */ -#line 993 "perly.y" + case 128: /* iexpr: expr */ +#line 969 "perly.y" { (yyval.opval) = invert(scalar((ps[0].val.opval))); } break; - case 132: /* mexpr: expr */ -#line 998 "perly.y" + case 129: /* mexpr: expr */ +#line 974 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 133: /* mnexpr: nexpr */ -#line 1002 "perly.y" + case 130: /* mnexpr: nexpr */ +#line 978 "perly.y" { (yyval.opval) = (ps[0].val.opval); intro_my(); } break; - case 134: /* formname: BAREWORD */ -#line 1005 "perly.y" + case 131: /* formname: BAREWORD */ +#line 981 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 136: /* startsub: %empty */ -#line 1010 "perly.y" + case 133: /* startsub: %empty */ +#line 986 "perly.y" { (yyval.ival) = start_subparse(FALSE, 0); SAVEFREESV(PL_compcv); } break; - case 137: /* startanonsub: %empty */ -#line 1016 "perly.y" + case 134: /* startanonsub: %empty */ +#line 992 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON); SAVEFREESV(PL_compcv); } break; - case 138: /* startanonmethod: %empty */ -#line 1021 "perly.y" + case 135: /* startanonmethod: %empty */ +#line 997 "perly.y" { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD); SAVEFREESV(PL_compcv); } break; - case 139: /* startformsub: %empty */ -#line 1026 "perly.y" + case 136: /* startformsub: %empty */ +#line 1002 "perly.y" { (yyval.ival) = start_subparse(TRUE, 0); SAVEFREESV(PL_compcv); } break; - case 145: /* subattrlist: COLONATTR THING */ -#line 1045 "perly.y" + case 142: /* subattrlist: COLONATTR THING */ +#line 1021 "perly.y" { OP *attrlist = (ps[0].val.opval); if(attrlist && !PL_parser->sig_seen) @@ -917,50 +893,50 @@ case 2: /* @1: %empty */ break; - case 146: /* subattrlist: COLONATTR */ -#line 1052 "perly.y" + case 143: /* subattrlist: COLONATTR */ +#line 1028 "perly.y" { (yyval.opval) = NULL; } break; - case 147: /* myattrlist: COLONATTR THING */ -#line 1057 "perly.y" + case 144: /* myattrlist: COLONATTR THING */ +#line 1033 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 148: /* myattrlist: COLONATTR */ -#line 1059 "perly.y" + case 145: /* myattrlist: COLONATTR */ +#line 1035 "perly.y" { (yyval.opval) = NULL; } break; - case 149: /* sigvar: %empty */ -#line 1070 "perly.y" + case 146: /* sigvar: %empty */ +#line 1046 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 150: /* sigvar: PRIVATEREF */ -#line 1072 "perly.y" + case 147: /* sigvar: PRIVATEREF */ +#line 1048 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 151: /* sigslurpsigil: PERLY_SNAIL */ -#line 1077 "perly.y" + case 148: /* sigslurpsigil: PERLY_SNAIL */ +#line 1053 "perly.y" { (yyval.ival) = '@'; } break; - case 152: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1079 "perly.y" + case 149: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1055 "perly.y" { (yyval.ival) = '%'; } break; - case 153: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1083 "perly.y" + case 150: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1059 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -968,36 +944,36 @@ case 2: /* @1: %empty */ break; - case 154: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1088 "perly.y" + case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1064 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 155: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1092 "perly.y" + case 152: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1068 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 156: /* optcolon: %empty */ -#line 1098 "perly.y" + case 153: /* optcolon: %empty */ +#line 1074 "perly.y" { (yyval.ival) = 0; } break; - case 157: /* optcolon: PERLY_COLON */ -#line 1100 "perly.y" + case 154: /* optcolon: PERLY_COLON */ +#line 1076 "perly.y" { (yyval.ival) = ':'; } break; - case 158: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1106 "perly.y" + case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1082 "perly.y" { if((ps[-2].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.ival)]; @@ -1010,8 +986,8 @@ case 2: /* @1: %empty */ break; - case 159: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1116 "perly.y" + case 156: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1092 "perly.y" { if((ps[-4].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[-2].val.ival)]; @@ -1024,32 +1000,32 @@ case 2: /* @1: %empty */ break; - case 160: /* optsigscalardefault: %empty */ -#line 1129 "perly.y" + case 157: /* optsigscalardefault: %empty */ +#line 1105 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 162: /* sigelem: sigscalarelem */ -#line 1136 "perly.y" + case 159: /* sigelem: sigscalarelem */ +#line 1112 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 163: /* sigelem: sigslurpelem */ -#line 1138 "perly.y" + case 160: /* sigelem: sigslurpelem */ +#line 1114 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 171: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1164 "perly.y" + case 168: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1140 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 172: /* $@23: %empty */ -#line 1167 "perly.y" + case 169: /* $@19: %empty */ +#line 1143 "perly.y" { ENTER; subsignature_start(); @@ -1058,8 +1034,8 @@ case 2: /* @1: %empty */ break; - case 173: /* subsigguts: $@23 optsiglist */ -#line 1173 "perly.y" + case 170: /* subsigguts: $@19 optsiglist */ +#line 1149 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1086,14 +1062,14 @@ case 2: /* @1: %empty */ break; - case 175: /* optsubbody: PERLY_SEMICOLON */ -#line 1201 "perly.y" + case 172: /* optsubbody: PERLY_SEMICOLON */ +#line 1177 "perly.y" { (yyval.opval) = NULL; } break; - case 176: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1207 "perly.y" + case 173: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1183 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1102,20 +1078,20 @@ case 2: /* @1: %empty */ break; - case 178: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1219 "perly.y" + case 175: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1195 "perly.y" { (yyval.opval) = NULL; } break; - case 179: /* $@24: %empty */ -#line 1224 "perly.y" + case 176: /* $@20: %empty */ +#line 1200 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 180: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@24 stmtseq PERLY_BRACE_CLOSE */ -#line 1226 "perly.y" + case 177: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@20 stmtseq PERLY_BRACE_CLOSE */ +#line 1202 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1125,38 +1101,38 @@ case 2: /* @1: %empty */ break; - case 181: /* expr: expr ANDOP expr */ -#line 1237 "perly.y" + case 178: /* expr: expr ANDOP expr */ +#line 1213 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 182: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1239 "perly.y" + case 179: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1215 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 183: /* expr: expr OROP expr */ -#line 1241 "perly.y" + case 180: /* expr: expr OROP expr */ +#line 1217 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 184: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1243 "perly.y" + case 181: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1219 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 186: /* listexpr: listexpr PERLY_COMMA */ -#line 1249 "perly.y" + case 183: /* listexpr: listexpr PERLY_COMMA */ +#line 1225 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 187: /* listexpr: listexpr PERLY_COMMA term */ -#line 1251 "perly.y" + case 184: /* listexpr: listexpr PERLY_COMMA term */ +#line 1227 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1164,32 +1140,32 @@ case 2: /* @1: %empty */ break; - case 189: /* listop: LSTOP indirob listexpr */ -#line 1260 "perly.y" + case 186: /* listop: LSTOP indirob listexpr */ +#line 1236 "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 190: /* listop: BLKLSTOP block listexpr */ -#line 1264 "perly.y" + case 187: /* listop: BLKLSTOP block listexpr */ +#line 1240 "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 191: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1268 "perly.y" + case 188: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1244 "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 192: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1272 "perly.y" + case 189: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1248 "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)), @@ -1198,8 +1174,8 @@ case 2: /* @1: %empty */ break; - case 193: /* listop: term ARROW methodname */ -#line 1278 "perly.y" + case 190: /* listop: term ARROW methodname */ +#line 1254 "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)))); @@ -1207,8 +1183,8 @@ case 2: /* @1: %empty */ break; - case 194: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1283 "perly.y" + case 191: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1259 "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)), @@ -1217,8 +1193,8 @@ case 2: /* @1: %empty */ break; - case 195: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1289 "perly.y" + case 192: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1265 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1227,8 +1203,8 @@ case 2: /* @1: %empty */ break; - case 196: /* listop: METHCALL0 indirob optlistexpr */ -#line 1295 "perly.y" + case 193: /* listop: METHCALL0 indirob optlistexpr */ +#line 1271 "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)), @@ -1237,8 +1213,8 @@ case 2: /* @1: %empty */ break; - case 197: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1301 "perly.y" + case 194: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1277 "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)), @@ -1247,26 +1223,26 @@ case 2: /* @1: %empty */ break; - case 198: /* listop: LSTOP optlistexpr */ -#line 1307 "perly.y" + case 195: /* listop: LSTOP optlistexpr */ +#line 1283 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 199: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1309 "perly.y" + case 196: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1285 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 200: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1311 "perly.y" + case 197: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1287 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 201: /* @25: %empty */ -#line 1313 "perly.y" + case 198: /* @21: %empty */ +#line 1289 "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 */ @@ -1275,8 +1251,8 @@ case 2: /* @1: %empty */ break; - case 202: /* listop: LSTOPSUB startanonsub block @25 optlistexpr */ -#line 1319 "perly.y" + case 199: /* listop: LSTOPSUB startanonsub block @21 optlistexpr */ +#line 1295 "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))); @@ -1284,21 +1260,21 @@ case 2: /* @1: %empty */ break; - case 205: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1334 "perly.y" + case 202: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1310 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 206: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1336 "perly.y" + case 203: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1312 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 207: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1339 "perly.y" + case 204: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1315 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1306,8 +1282,8 @@ case 2: /* @1: %empty */ break; - case 208: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1344 "perly.y" + case 205: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1320 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1315,31 +1291,31 @@ case 2: /* @1: %empty */ break; - case 209: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1349 "perly.y" + case 206: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1325 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 210: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1352 "perly.y" + case 207: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1328 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 211: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1356 "perly.y" + case 208: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1332 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 212: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1360 "perly.y" + case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1336 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1348,8 +1324,8 @@ case 2: /* @1: %empty */ break; - case 213: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1366 "perly.y" + case 210: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1342 "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))))); @@ -1359,8 +1335,8 @@ case 2: /* @1: %empty */ break; - case 214: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1374 "perly.y" + case 211: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1350 "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))))); @@ -1370,8 +1346,8 @@ case 2: /* @1: %empty */ break; - case 215: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1381 "perly.y" + case 212: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1357 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1380,56 +1356,56 @@ case 2: /* @1: %empty */ break; - case 216: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1387 "perly.y" + case 213: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1363 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 217: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1389 "perly.y" + case 214: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1365 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 218: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1391 "perly.y" + case 215: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1367 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 219: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1396 "perly.y" + case 216: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1372 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 220: /* termbinop: term ASSIGNOP term */ -#line 1398 "perly.y" + case 217: /* termbinop: term ASSIGNOP term */ +#line 1374 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 221: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1400 "perly.y" + case 218: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1376 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 222: /* termbinop: term POWOP term */ -#line 1402 "perly.y" + case 219: /* termbinop: term POWOP term */ +#line 1378 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 223: /* termbinop: term PLUGIN_POW_OP term */ -#line 1404 "perly.y" + case 220: /* termbinop: term PLUGIN_POW_OP term */ +#line 1380 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 224: /* termbinop: term MULOP term */ -#line 1406 "perly.y" + case 221: /* termbinop: term MULOP term */ +#line 1382 "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))); @@ -1437,220 +1413,220 @@ case 2: /* @1: %empty */ break; - case 225: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1411 "perly.y" + case 222: /* termbinop: term PLUGIN_MUL_OP term */ +#line 1387 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 226: /* termbinop: term ADDOP term */ -#line 1413 "perly.y" + case 223: /* termbinop: term ADDOP term */ +#line 1389 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 227: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1415 "perly.y" + case 224: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1391 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 228: /* termbinop: term SHIFTOP term */ -#line 1417 "perly.y" + case 225: /* termbinop: term SHIFTOP term */ +#line 1393 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 229: /* termbinop: termrelop */ -#line 1419 "perly.y" + case 226: /* termbinop: termrelop */ +#line 1395 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 230: /* termbinop: termeqop */ -#line 1421 "perly.y" + case 227: /* termbinop: termeqop */ +#line 1397 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 231: /* termbinop: term BITANDOP term */ -#line 1423 "perly.y" + case 228: /* termbinop: term BITANDOP term */ +#line 1399 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 232: /* termbinop: term BITOROP term */ -#line 1425 "perly.y" + case 229: /* termbinop: term BITOROP term */ +#line 1401 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 233: /* termbinop: term DOTDOT term */ -#line 1427 "perly.y" + case 230: /* termbinop: term DOTDOT term */ +#line 1403 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 234: /* termbinop: term ANDAND term */ -#line 1429 "perly.y" + case 231: /* termbinop: term ANDAND term */ +#line 1405 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 235: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1431 "perly.y" + case 232: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1407 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 236: /* termbinop: term OROR term */ -#line 1433 "perly.y" + case 233: /* termbinop: term OROR term */ +#line 1409 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 237: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1435 "perly.y" + case 234: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1411 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 238: /* termbinop: term DORDOR term */ -#line 1437 "perly.y" + case 235: /* termbinop: term DORDOR term */ +#line 1413 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 239: /* termbinop: term MATCHOP term */ -#line 1439 "perly.y" + case 236: /* termbinop: term MATCHOP term */ +#line 1415 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 240: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1441 "perly.y" + case 237: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1417 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 241: /* termrelop: relopchain */ -#line 1445 "perly.y" + case 238: /* termrelop: relopchain */ +#line 1421 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 242: /* termrelop: term NCRELOP term */ -#line 1447 "perly.y" + case 239: /* termrelop: term NCRELOP term */ +#line 1423 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 243: /* termrelop: termrelop NCRELOP */ -#line 1449 "perly.y" + case 240: /* termrelop: termrelop NCRELOP */ +#line 1425 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 244: /* termrelop: termrelop CHRELOP */ -#line 1451 "perly.y" + case 241: /* termrelop: termrelop CHRELOP */ +#line 1427 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 245: /* termrelop: term PLUGIN_REL_OP term */ -#line 1453 "perly.y" + case 242: /* termrelop: term PLUGIN_REL_OP term */ +#line 1429 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 246: /* relopchain: term CHRELOP term */ -#line 1457 "perly.y" + case 243: /* relopchain: term CHRELOP term */ +#line 1433 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 247: /* relopchain: relopchain CHRELOP term */ -#line 1459 "perly.y" + case 244: /* relopchain: relopchain CHRELOP term */ +#line 1435 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 248: /* termeqop: eqopchain */ -#line 1463 "perly.y" + case 245: /* termeqop: eqopchain */ +#line 1439 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 249: /* termeqop: term NCEQOP term */ -#line 1465 "perly.y" + case 246: /* termeqop: term NCEQOP term */ +#line 1441 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 250: /* termeqop: termeqop NCEQOP */ -#line 1467 "perly.y" + case 247: /* termeqop: termeqop NCEQOP */ +#line 1443 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 251: /* termeqop: termeqop CHEQOP */ -#line 1469 "perly.y" + case 248: /* termeqop: termeqop CHEQOP */ +#line 1445 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 252: /* eqopchain: term CHEQOP term */ -#line 1473 "perly.y" + case 249: /* eqopchain: term CHEQOP term */ +#line 1449 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 253: /* eqopchain: eqopchain CHEQOP term */ -#line 1475 "perly.y" + case 250: /* eqopchain: eqopchain CHEQOP term */ +#line 1451 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 254: /* termunop: PERLY_MINUS term */ -#line 1480 "perly.y" + case 251: /* termunop: PERLY_MINUS term */ +#line 1456 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 255: /* termunop: PERLY_PLUS term */ -#line 1482 "perly.y" + case 252: /* termunop: PERLY_PLUS term */ +#line 1458 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 256: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1485 "perly.y" + case 253: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1461 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 257: /* termunop: PERLY_TILDE term */ -#line 1487 "perly.y" + case 254: /* termunop: PERLY_TILDE term */ +#line 1463 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 258: /* termunop: term POSTINC */ -#line 1489 "perly.y" + case 255: /* termunop: term POSTINC */ +#line 1465 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 259: /* termunop: term POSTDEC */ -#line 1492 "perly.y" + case 256: /* termunop: term POSTDEC */ +#line 1468 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 260: /* termunop: term POSTJOIN */ -#line 1495 "perly.y" + case 257: /* termunop: term POSTJOIN */ +#line 1471 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1664,60 +1640,60 @@ case 2: /* @1: %empty */ break; - case 261: /* termunop: PREINC term */ -#line 1506 "perly.y" + case 258: /* termunop: PREINC term */ +#line 1482 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 262: /* termunop: PREDEC term */ -#line 1509 "perly.y" + case 259: /* termunop: PREDEC term */ +#line 1485 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 263: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1517 "perly.y" + case 260: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1493 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 264: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1519 "perly.y" + case 261: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1495 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 265: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1521 "perly.y" + case 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1497 "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 266: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1524 "perly.y" + case 263: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1500 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 267: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1526 "perly.y" + case 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1502 "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 268: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1529 "perly.y" + case 265: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1505 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 269: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1531 "perly.y" + case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1507 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1725,104 +1701,104 @@ case 2: /* @1: %empty */ break; - case 270: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1536 "perly.y" + case 267: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1512 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 271: /* termdo: KW_DO term */ -#line 1541 "perly.y" + case 268: /* termdo: KW_DO term */ +#line 1517 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 272: /* termdo: KW_DO block */ -#line 1543 "perly.y" + case 269: /* termdo: KW_DO block */ +#line 1519 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 277: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1551 "perly.y" + case 274: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1527 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 278: /* term: REFGEN term */ -#line 1553 "perly.y" + case 275: /* term: REFGEN term */ +#line 1529 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 279: /* term: myattrterm */ -#line 1555 "perly.y" + case 276: /* term: myattrterm */ +#line 1531 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 280: /* term: KW_LOCAL term */ -#line 1557 "perly.y" + case 277: /* term: KW_LOCAL term */ +#line 1533 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 281: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1559 "perly.y" + case 278: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1535 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 282: /* term: QWLIST */ -#line 1561 "perly.y" + case 279: /* term: QWLIST */ +#line 1537 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 283: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1563 "perly.y" + case 280: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1539 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 284: /* term: scalar */ -#line 1565 "perly.y" + case 281: /* term: scalar */ +#line 1541 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: /* term: star */ -#line 1567 "perly.y" + case 282: /* term: star */ +#line 1543 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 286: /* term: hsh */ -#line 1569 "perly.y" + case 283: /* term: hsh */ +#line 1545 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 287: /* term: ary */ -#line 1571 "perly.y" + case 284: /* term: ary */ +#line 1547 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 288: /* term: arylen */ -#line 1573 "perly.y" + case 285: /* term: arylen */ +#line 1549 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 289: /* term: subscripted */ -#line 1575 "perly.y" + case 286: /* term: subscripted */ +#line 1551 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 290: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1577 "perly.y" + case 287: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1553 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1835,8 +1811,8 @@ case 2: /* @1: %empty */ break; - case 291: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1587 "perly.y" + case 288: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1563 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1849,8 +1825,8 @@ case 2: /* @1: %empty */ break; - case 292: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1597 "perly.y" + case 289: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1573 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1863,8 +1839,8 @@ case 2: /* @1: %empty */ break; - case 293: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1607 "perly.y" + case 290: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1583 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1877,27 +1853,27 @@ case 2: /* @1: %empty */ break; - case 294: /* term: THING */ -#line 1617 "perly.y" + case 291: /* term: THING */ +#line 1593 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 295: /* term: amper */ -#line 1619 "perly.y" + case 292: /* term: amper */ +#line 1595 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 296: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1621 "perly.y" + case 293: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1597 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 297: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1624 "perly.y" + case 294: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1600 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1905,153 +1881,153 @@ case 2: /* @1: %empty */ break; - case 298: /* term: NOAMP subname optlistexpr */ -#line 1629 "perly.y" + case 295: /* term: NOAMP subname optlistexpr */ +#line 1605 "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 299: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1633 "perly.y" + case 296: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1609 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 300: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1635 "perly.y" + case 297: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1611 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 301: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1637 "perly.y" + case 298: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1613 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 302: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1639 "perly.y" + case 299: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1615 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 303: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1642 "perly.y" + case 300: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1618 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 304: /* term: LOOPEX */ -#line 1644 "perly.y" + case 301: /* term: LOOPEX */ +#line 1620 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 305: /* term: LOOPEX term */ -#line 1647 "perly.y" + case 302: /* term: LOOPEX term */ +#line 1623 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 306: /* term: NOTOP listexpr */ -#line 1649 "perly.y" + case 303: /* term: NOTOP listexpr */ +#line 1625 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 307: /* term: UNIOP */ -#line 1651 "perly.y" + case 304: /* term: UNIOP */ +#line 1627 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 308: /* term: UNIOP block */ -#line 1653 "perly.y" + case 305: /* term: UNIOP block */ +#line 1629 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 309: /* term: UNIOP term */ -#line 1655 "perly.y" + case 306: /* term: UNIOP term */ +#line 1631 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 310: /* term: KW_REQUIRE */ -#line 1657 "perly.y" + case 307: /* term: KW_REQUIRE */ +#line 1633 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 311: /* term: KW_REQUIRE term */ -#line 1659 "perly.y" + case 308: /* term: KW_REQUIRE term */ +#line 1635 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 312: /* term: UNIOPSUB */ -#line 1661 "perly.y" + case 309: /* term: UNIOPSUB */ +#line 1637 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 313: /* term: UNIOPSUB term */ -#line 1663 "perly.y" + case 310: /* term: UNIOPSUB term */ +#line 1639 "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 314: /* term: FUNC0 */ -#line 1666 "perly.y" + case 311: /* term: FUNC0 */ +#line 1642 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 315: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1668 "perly.y" + case 312: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1644 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 316: /* term: FUNC0OP */ -#line 1670 "perly.y" + case 313: /* term: FUNC0OP */ +#line 1646 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 317: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1672 "perly.y" + case 314: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1648 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 318: /* term: FUNC0SUB */ -#line 1674 "perly.y" + case 315: /* term: FUNC0SUB */ +#line 1650 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 319: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1676 "perly.y" + case 316: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1652 "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 320: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1680 "perly.y" + case 317: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1656 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 321: /* @26: %empty */ -#line 1682 "perly.y" + case 318: /* @22: %empty */ +#line 1658 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2065,68 +2041,68 @@ case 2: /* @1: %empty */ break; - case 322: /* term: PMFUNC @26 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1693 "perly.y" + case 319: /* term: PMFUNC @22 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1669 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 326: /* myattrterm: KW_MY myterm myattrlist */ -#line 1702 "perly.y" + case 323: /* myattrterm: KW_MY myterm myattrlist */ +#line 1678 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 327: /* myattrterm: KW_MY myterm */ -#line 1704 "perly.y" + case 324: /* myattrterm: KW_MY myterm */ +#line 1680 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 328: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1706 "perly.y" + case 325: /* myattrterm: KW_MY REFGEN myterm myattrlist */ +#line 1682 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 329: /* myattrterm: KW_MY REFGEN term */ -#line 1708 "perly.y" + case 326: /* myattrterm: KW_MY REFGEN term */ +#line 1684 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 330: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1713 "perly.y" + case 327: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1689 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 331: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1715 "perly.y" + case 328: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1691 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 332: /* myterm: scalar */ -#line 1718 "perly.y" + case 329: /* myterm: scalar */ +#line 1694 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 333: /* myterm: hsh */ -#line 1720 "perly.y" + case 330: /* myterm: hsh */ +#line 1696 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 334: /* myterm: ary */ -#line 1722 "perly.y" + case 331: /* myterm: ary */ +#line 1698 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 335: /* fieldvar: scalar */ -#line 1727 "perly.y" + case 332: /* fieldvar: scalar */ +#line 1703 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2134,8 +2110,8 @@ case 2: /* @1: %empty */ break; - case 336: /* fieldvar: hsh */ -#line 1732 "perly.y" + case 333: /* fieldvar: hsh */ +#line 1708 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2143,8 +2119,8 @@ case 2: /* @1: %empty */ break; - case 337: /* fieldvar: ary */ -#line 1737 "perly.y" + case 334: /* fieldvar: ary */ +#line 1713 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2152,20 +2128,20 @@ case 2: /* @1: %empty */ break; - case 338: /* optfieldattrlist: COLONATTR THING */ -#line 1745 "perly.y" + case 335: /* optfieldattrlist: COLONATTR THING */ +#line 1721 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 339: /* optfieldattrlist: COLONATTR */ -#line 1747 "perly.y" + case 336: /* optfieldattrlist: COLONATTR */ +#line 1723 "perly.y" { (yyval.opval) = NULL; } break; - case 341: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1753 "perly.y" + case 338: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ +#line 1729 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2175,8 +2151,8 @@ case 2: /* @1: %empty */ break; - case 342: /* $@27: %empty */ -#line 1760 "perly.y" + case 339: /* $@23: %empty */ +#line 1736 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2187,8 +2163,8 @@ case 2: /* @1: %empty */ break; - case 343: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@27 term */ -#line 1768 "perly.y" + case 340: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@23 term */ +#line 1744 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2197,122 +2173,122 @@ case 2: /* @1: %empty */ break; - case 349: /* optrepl: PERLY_SLASH expr */ -#line 1788 "perly.y" + case 346: /* optrepl: PERLY_SLASH expr */ +#line 1764 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 350: /* my_scalar: scalar */ -#line 1794 "perly.y" + case 347: /* my_scalar: scalar */ +#line 1770 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 351: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1799 "perly.y" + case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1775 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 352: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1801 "perly.y" + case 349: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1777 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 354: /* my_list_of_scalars: list_of_scalars */ -#line 1808 "perly.y" + case 351: /* my_list_of_scalars: list_of_scalars */ +#line 1784 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 362: /* amper: PERLY_AMPERSAND indirob */ -#line 1825 "perly.y" + case 359: /* amper: PERLY_AMPERSAND indirob */ +#line 1801 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 363: /* scalar: PERLY_DOLLAR indirob */ -#line 1829 "perly.y" + case 360: /* scalar: PERLY_DOLLAR indirob */ +#line 1805 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 364: /* ary: PERLY_SNAIL indirob */ -#line 1833 "perly.y" + case 361: /* ary: PERLY_SNAIL indirob */ +#line 1809 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 365: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1839 "perly.y" + case 362: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1815 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 366: /* arylen: DOLSHARP indirob */ -#line 1845 "perly.y" + case 363: /* arylen: DOLSHARP indirob */ +#line 1821 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 367: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1847 "perly.y" + case 364: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1823 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 368: /* star: PERLY_STAR indirob */ -#line 1851 "perly.y" + case 365: /* star: PERLY_STAR indirob */ +#line 1827 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 370: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1856 "perly.y" + case 367: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1832 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 372: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1861 "perly.y" + case 369: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1837 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 374: /* gelem: term ARROW PERLY_STAR */ -#line 1866 "perly.y" + case 371: /* gelem: term ARROW PERLY_STAR */ +#line 1842 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 375: /* indirob: BAREWORD */ -#line 1871 "perly.y" + case 372: /* indirob: BAREWORD */ +#line 1847 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 376: /* indirob: scalar */ -#line 1873 "perly.y" + case 373: /* indirob: scalar */ +#line 1849 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 377: /* indirob: block */ -#line 1875 "perly.y" + case 374: /* indirob: block */ +#line 1851 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 378: /* indirob: PRIVATEREF */ -#line 1878 "perly.y" + case 375: /* indirob: PRIVATEREF */ +#line 1854 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2324,6 +2300,6 @@ case 2: /* @1: %empty */ /* Generated from: - * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y + * c08d7ddc9f8d45fec94e295fa24cd5221f4d8591daf0dbe06275a29e7b7a8352 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 37b1df11e043..d6b0d277e9f4 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y + * c08d7ddc9f8d45fec94e295fa24cd5221f4d8591daf0dbe06275a29e7b7a8352 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index b19ae38f8dc9..451e427a72a7 100644 --- a/perly.tab +++ b/perly.tab @@ -163,129 +163,126 @@ enum yysymbol_kind_t YYSYMBOL_152_9 = 152, /* $@9 */ YYSYMBOL_153_10 = 153, /* $@10 */ YYSYMBOL_bare_statement_for_over = 154, /* bare_statement_for_over */ - YYSYMBOL_155_11 = 155, /* $@11 */ - YYSYMBOL_156_12 = 156, /* @12 */ - YYSYMBOL_157_13 = 157, /* @13 */ - YYSYMBOL_158_14 = 158, /* @14 */ - YYSYMBOL_bare_statement_format = 159, /* bare_statement_format */ - YYSYMBOL_bare_statement_given = 160, /* bare_statement_given */ - YYSYMBOL_bare_statement_if = 161, /* bare_statement_if */ - YYSYMBOL_bare_statement_null = 162, /* bare_statement_null */ - YYSYMBOL_bare_statement_package_declaration = 163, /* bare_statement_package_declaration */ - YYSYMBOL_bare_statement_package_definition = 164, /* bare_statement_package_definition */ - YYSYMBOL_165_15 = 165, /* $@15 */ - YYSYMBOL_bare_statement_phaser = 166, /* bare_statement_phaser */ - YYSYMBOL_167_16 = 167, /* $@16 */ - YYSYMBOL_bare_statement_sub_signature = 168, /* bare_statement_sub_signature */ - YYSYMBOL_169_17 = 169, /* $@17 */ - YYSYMBOL_bare_statement_sub_traditional = 170, /* bare_statement_sub_traditional */ - YYSYMBOL_171_18 = 171, /* $@18 */ - YYSYMBOL_bare_statement_try_catch = 172, /* bare_statement_try_catch */ - YYSYMBOL_173_19 = 173, /* $@19 */ - YYSYMBOL_bare_statement_unless = 174, /* bare_statement_unless */ - YYSYMBOL_bare_statement_until = 175, /* bare_statement_until */ - YYSYMBOL_bare_statement_utilize = 176, /* bare_statement_utilize */ - YYSYMBOL_177_20 = 177, /* $@20 */ - YYSYMBOL_bare_statement_when = 178, /* bare_statement_when */ - YYSYMBOL_bare_statement_while = 179, /* bare_statement_while */ - YYSYMBOL_bare_statement_yadayada = 180, /* bare_statement_yadayada */ - YYSYMBOL_clause_mexpr = 181, /* clause_mexpr */ - YYSYMBOL_sigsub_or_method_named = 182, /* sigsub_or_method_named */ - YYSYMBOL_block = 183, /* block */ - YYSYMBOL_empty = 184, /* empty */ - YYSYMBOL_formblock = 185, /* formblock */ - YYSYMBOL_remember = 186, /* remember */ - YYSYMBOL_mblock = 187, /* mblock */ - YYSYMBOL_mremember = 188, /* mremember */ - YYSYMBOL_catch_paren = 189, /* catch_paren */ - YYSYMBOL_190_21 = 190, /* $@21 */ - YYSYMBOL_191_22 = 191, /* $@22 */ - YYSYMBOL_stmtseq = 192, /* stmtseq */ - YYSYMBOL_formstmtseq = 193, /* formstmtseq */ - YYSYMBOL_fullstmt = 194, /* fullstmt */ - YYSYMBOL_labfullstmt = 195, /* labfullstmt */ - YYSYMBOL_barestmt = 196, /* barestmt */ - YYSYMBOL_formline = 197, /* formline */ - YYSYMBOL_formarg = 198, /* formarg */ - YYSYMBOL_condition = 199, /* condition */ - YYSYMBOL_sideff = 200, /* sideff */ - YYSYMBOL_else = 201, /* else */ - YYSYMBOL_cont = 202, /* cont */ - YYSYMBOL_finally = 203, /* finally */ - YYSYMBOL_mintro = 204, /* mintro */ - YYSYMBOL_nexpr = 205, /* nexpr */ - YYSYMBOL_texpr = 206, /* texpr */ - YYSYMBOL_iexpr = 207, /* iexpr */ - YYSYMBOL_mexpr = 208, /* mexpr */ - YYSYMBOL_mnexpr = 209, /* mnexpr */ - YYSYMBOL_formname = 210, /* formname */ - YYSYMBOL_startsub = 211, /* startsub */ - YYSYMBOL_startanonsub = 212, /* startanonsub */ - YYSYMBOL_startanonmethod = 213, /* startanonmethod */ - YYSYMBOL_startformsub = 214, /* startformsub */ - YYSYMBOL_subname = 215, /* subname */ - YYSYMBOL_proto = 216, /* proto */ - YYSYMBOL_subattrlist = 217, /* subattrlist */ - YYSYMBOL_myattrlist = 218, /* myattrlist */ - YYSYMBOL_sigvar = 219, /* sigvar */ - YYSYMBOL_sigslurpsigil = 220, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 221, /* sigslurpelem */ - YYSYMBOL_optcolon = 222, /* optcolon */ - YYSYMBOL_sigscalarelem = 223, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 224, /* optsigscalardefault */ - YYSYMBOL_sigelem = 225, /* sigelem */ - YYSYMBOL_siglist = 226, /* siglist */ - YYSYMBOL_optsiglist = 227, /* optsiglist */ - YYSYMBOL_optsubsignature = 228, /* optsubsignature */ - YYSYMBOL_subsignature = 229, /* subsignature */ - YYSYMBOL_subsigguts = 230, /* subsigguts */ - YYSYMBOL_231_23 = 231, /* $@23 */ - YYSYMBOL_optsubbody = 232, /* optsubbody */ - YYSYMBOL_subbody = 233, /* subbody */ - YYSYMBOL_optsigsubbody = 234, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 235, /* sigsubbody */ - YYSYMBOL_236_24 = 236, /* $@24 */ - YYSYMBOL_expr = 237, /* expr */ - YYSYMBOL_listexpr = 238, /* listexpr */ - YYSYMBOL_listop = 239, /* listop */ - YYSYMBOL_240_25 = 240, /* @25 */ - YYSYMBOL_methodname = 241, /* methodname */ - YYSYMBOL_subscripted = 242, /* subscripted */ - YYSYMBOL_termbinop = 243, /* termbinop */ - YYSYMBOL_termrelop = 244, /* termrelop */ - YYSYMBOL_relopchain = 245, /* relopchain */ - YYSYMBOL_termeqop = 246, /* termeqop */ - YYSYMBOL_eqopchain = 247, /* eqopchain */ - YYSYMBOL_termunop = 248, /* termunop */ - YYSYMBOL_anonymous = 249, /* anonymous */ - YYSYMBOL_termdo = 250, /* termdo */ - YYSYMBOL_term = 251, /* term */ - YYSYMBOL_252_26 = 252, /* @26 */ - YYSYMBOL_myattrterm = 253, /* myattrterm */ - YYSYMBOL_myterm = 254, /* myterm */ - YYSYMBOL_fieldvar = 255, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 256, /* optfieldattrlist */ - YYSYMBOL_fielddecl = 257, /* fielddecl */ - YYSYMBOL_258_27 = 258, /* $@27 */ - YYSYMBOL_optlistexpr = 259, /* optlistexpr */ - YYSYMBOL_optexpr = 260, /* optexpr */ - YYSYMBOL_optrepl = 261, /* optrepl */ - YYSYMBOL_my_scalar = 262, /* my_scalar */ - YYSYMBOL_list_of_scalars = 263, /* list_of_scalars */ - YYSYMBOL_my_list_of_scalars = 264, /* my_list_of_scalars */ - YYSYMBOL_my_var = 265, /* my_var */ - YYSYMBOL_refgen_topic = 266, /* refgen_topic */ - YYSYMBOL_my_refgen = 267, /* my_refgen */ - YYSYMBOL_amper = 268, /* amper */ - YYSYMBOL_scalar = 269, /* scalar */ - YYSYMBOL_ary = 270, /* ary */ - YYSYMBOL_hsh = 271, /* hsh */ - YYSYMBOL_arylen = 272, /* arylen */ - YYSYMBOL_star = 273, /* star */ - YYSYMBOL_sliceme = 274, /* sliceme */ - YYSYMBOL_kvslice = 275, /* kvslice */ - YYSYMBOL_gelem = 276, /* gelem */ - YYSYMBOL_indirob = 277 /* indirob */ + YYSYMBOL_bare_statement_format = 155, /* bare_statement_format */ + YYSYMBOL_bare_statement_given = 156, /* bare_statement_given */ + YYSYMBOL_bare_statement_if = 157, /* bare_statement_if */ + YYSYMBOL_bare_statement_null = 158, /* bare_statement_null */ + YYSYMBOL_bare_statement_package_declaration = 159, /* bare_statement_package_declaration */ + YYSYMBOL_bare_statement_package_definition = 160, /* bare_statement_package_definition */ + YYSYMBOL_161_11 = 161, /* $@11 */ + YYSYMBOL_bare_statement_phaser = 162, /* bare_statement_phaser */ + YYSYMBOL_163_12 = 163, /* $@12 */ + YYSYMBOL_bare_statement_sub_signature = 164, /* bare_statement_sub_signature */ + YYSYMBOL_165_13 = 165, /* $@13 */ + YYSYMBOL_bare_statement_sub_traditional = 166, /* bare_statement_sub_traditional */ + YYSYMBOL_167_14 = 167, /* $@14 */ + YYSYMBOL_bare_statement_try_catch = 168, /* bare_statement_try_catch */ + YYSYMBOL_169_15 = 169, /* $@15 */ + YYSYMBOL_bare_statement_unless = 170, /* bare_statement_unless */ + YYSYMBOL_bare_statement_until = 171, /* bare_statement_until */ + YYSYMBOL_bare_statement_utilize = 172, /* bare_statement_utilize */ + YYSYMBOL_173_16 = 173, /* $@16 */ + YYSYMBOL_bare_statement_when = 174, /* bare_statement_when */ + YYSYMBOL_bare_statement_while = 175, /* bare_statement_while */ + YYSYMBOL_bare_statement_yadayada = 176, /* bare_statement_yadayada */ + YYSYMBOL_clause_for_over_cursor = 177, /* clause_for_over_cursor */ + YYSYMBOL_clause_mexpr = 178, /* clause_mexpr */ + YYSYMBOL_sigsub_or_method_named = 179, /* sigsub_or_method_named */ + YYSYMBOL_block = 180, /* block */ + YYSYMBOL_empty = 181, /* empty */ + YYSYMBOL_formblock = 182, /* formblock */ + YYSYMBOL_remember = 183, /* remember */ + YYSYMBOL_mblock = 184, /* mblock */ + YYSYMBOL_mremember = 185, /* mremember */ + YYSYMBOL_catch_paren = 186, /* catch_paren */ + YYSYMBOL_187_17 = 187, /* $@17 */ + YYSYMBOL_188_18 = 188, /* $@18 */ + YYSYMBOL_stmtseq = 189, /* stmtseq */ + YYSYMBOL_formstmtseq = 190, /* formstmtseq */ + YYSYMBOL_fullstmt = 191, /* fullstmt */ + YYSYMBOL_labfullstmt = 192, /* labfullstmt */ + YYSYMBOL_barestmt = 193, /* barestmt */ + YYSYMBOL_formline = 194, /* formline */ + YYSYMBOL_formarg = 195, /* formarg */ + YYSYMBOL_condition = 196, /* condition */ + YYSYMBOL_sideff = 197, /* sideff */ + YYSYMBOL_else = 198, /* else */ + YYSYMBOL_cont = 199, /* cont */ + YYSYMBOL_finally = 200, /* finally */ + YYSYMBOL_mintro = 201, /* mintro */ + YYSYMBOL_nexpr = 202, /* nexpr */ + YYSYMBOL_texpr = 203, /* texpr */ + YYSYMBOL_iexpr = 204, /* iexpr */ + YYSYMBOL_mexpr = 205, /* mexpr */ + YYSYMBOL_mnexpr = 206, /* mnexpr */ + YYSYMBOL_formname = 207, /* formname */ + YYSYMBOL_startsub = 208, /* startsub */ + YYSYMBOL_startanonsub = 209, /* startanonsub */ + YYSYMBOL_startanonmethod = 210, /* startanonmethod */ + YYSYMBOL_startformsub = 211, /* startformsub */ + YYSYMBOL_subname = 212, /* subname */ + YYSYMBOL_proto = 213, /* proto */ + YYSYMBOL_subattrlist = 214, /* subattrlist */ + YYSYMBOL_myattrlist = 215, /* myattrlist */ + YYSYMBOL_sigvar = 216, /* sigvar */ + YYSYMBOL_sigslurpsigil = 217, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 218, /* sigslurpelem */ + YYSYMBOL_optcolon = 219, /* optcolon */ + YYSYMBOL_sigscalarelem = 220, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 221, /* optsigscalardefault */ + YYSYMBOL_sigelem = 222, /* sigelem */ + YYSYMBOL_siglist = 223, /* siglist */ + YYSYMBOL_optsiglist = 224, /* optsiglist */ + YYSYMBOL_optsubsignature = 225, /* optsubsignature */ + YYSYMBOL_subsignature = 226, /* subsignature */ + YYSYMBOL_subsigguts = 227, /* subsigguts */ + YYSYMBOL_228_19 = 228, /* $@19 */ + YYSYMBOL_optsubbody = 229, /* optsubbody */ + YYSYMBOL_subbody = 230, /* subbody */ + YYSYMBOL_optsigsubbody = 231, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 232, /* sigsubbody */ + YYSYMBOL_233_20 = 233, /* $@20 */ + YYSYMBOL_expr = 234, /* expr */ + YYSYMBOL_listexpr = 235, /* listexpr */ + YYSYMBOL_listop = 236, /* listop */ + YYSYMBOL_237_21 = 237, /* @21 */ + YYSYMBOL_methodname = 238, /* methodname */ + YYSYMBOL_subscripted = 239, /* subscripted */ + YYSYMBOL_termbinop = 240, /* termbinop */ + YYSYMBOL_termrelop = 241, /* termrelop */ + YYSYMBOL_relopchain = 242, /* relopchain */ + YYSYMBOL_termeqop = 243, /* termeqop */ + YYSYMBOL_eqopchain = 244, /* eqopchain */ + YYSYMBOL_termunop = 245, /* termunop */ + YYSYMBOL_anonymous = 246, /* anonymous */ + YYSYMBOL_termdo = 247, /* termdo */ + YYSYMBOL_term = 248, /* term */ + YYSYMBOL_249_22 = 249, /* @22 */ + YYSYMBOL_myattrterm = 250, /* myattrterm */ + YYSYMBOL_myterm = 251, /* myterm */ + YYSYMBOL_fieldvar = 252, /* fieldvar */ + YYSYMBOL_optfieldattrlist = 253, /* optfieldattrlist */ + YYSYMBOL_fielddecl = 254, /* fielddecl */ + YYSYMBOL_255_23 = 255, /* $@23 */ + YYSYMBOL_optlistexpr = 256, /* optlistexpr */ + YYSYMBOL_optexpr = 257, /* optexpr */ + YYSYMBOL_optrepl = 258, /* optrepl */ + YYSYMBOL_my_scalar = 259, /* my_scalar */ + YYSYMBOL_list_of_scalars = 260, /* list_of_scalars */ + YYSYMBOL_my_list_of_scalars = 261, /* my_list_of_scalars */ + YYSYMBOL_my_var = 262, /* my_var */ + YYSYMBOL_refgen_topic = 263, /* refgen_topic */ + YYSYMBOL_my_refgen = 264, /* my_refgen */ + YYSYMBOL_amper = 265, /* amper */ + YYSYMBOL_scalar = 266, /* scalar */ + YYSYMBOL_ary = 267, /* ary */ + YYSYMBOL_hsh = 268, /* hsh */ + YYSYMBOL_arylen = 269, /* arylen */ + YYSYMBOL_star = 270, /* star */ + YYSYMBOL_sliceme = 271, /* sliceme */ + YYSYMBOL_kvslice = 272, /* kvslice */ + YYSYMBOL_gelem = 273, /* gelem */ + YYSYMBOL_indirob = 274 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -294,16 +291,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3716 +#define YYLAST 3673 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 145 +#define YYNNTS 142 /* YYNRULES -- Number of rules. */ -#define YYNRULES 378 +#define YYNRULES 375 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 686 +#define YYNSTATES 671 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -365,44 +362,44 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 191, 191, 190, 202, 201, 212, 211, 225, 224, - 238, 237, 251, 250, 261, 260, 273, 281, 303, 297, - 320, 328, 336, 343, 351, 352, 361, 366, 356, 390, - 406, 401, 423, 420, 437, 433, 455, 451, 465, 477, - 493, 504, 516, 524, 545, 540, 560, 558, 595, 592, - 625, 622, 651, 646, 668, 680, 697, 695, 713, 723, - 738, 746, 756, 758, 763, 771, 775, 782, 787, 794, - 800, 804, 806, 803, 813, 814, 824, 825, 834, 838, - 842, 849, 866, 867, 868, 869, 870, 871, 872, 873, - 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, - 884, 885, 886, 887, 888, 889, 890, 894, 912, 913, - 917, 921, 923, 925, 927, 929, 931, 933, 936, 942, - 943, 948, 959, 960, 965, 967, 972, 979, 980, 984, - 988, 992, 997, 1001, 1005, 1006, 1009, 1015, 1020, 1025, - 1031, 1032, 1037, 1038, 1043, 1044, 1051, 1056, 1058, 1069, - 1071, 1076, 1078, 1082, 1087, 1091, 1097, 1099, 1105, 1115, - 1128, 1130, 1135, 1137, 1145, 1146, 1147, 1152, 1153, 1158, - 1159, 1163, 1167, 1167, 1200, 1201, 1206, 1218, 1219, 1224, - 1223, 1236, 1238, 1240, 1242, 1244, 1248, 1250, 1255, 1259, - 1263, 1267, 1271, 1277, 1282, 1288, 1294, 1300, 1306, 1308, - 1310, 1313, 1312, 1326, 1327, 1331, 1335, 1338, 1343, 1348, - 1351, 1355, 1359, 1365, 1373, 1380, 1386, 1388, 1390, 1395, - 1397, 1399, 1401, 1403, 1405, 1410, 1412, 1414, 1416, 1418, - 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, - 1440, 1444, 1446, 1448, 1450, 1452, 1456, 1458, 1462, 1464, - 1466, 1468, 1472, 1474, 1479, 1481, 1484, 1486, 1488, 1491, - 1494, 1505, 1508, 1516, 1518, 1520, 1523, 1525, 1528, 1530, - 1535, 1540, 1542, 1546, 1547, 1548, 1549, 1550, 1552, 1554, - 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, - 1576, 1586, 1596, 1606, 1616, 1618, 1620, 1623, 1628, 1632, - 1634, 1636, 1638, 1641, 1643, 1646, 1648, 1650, 1652, 1654, - 1656, 1658, 1660, 1662, 1665, 1667, 1669, 1671, 1673, 1675, - 1679, 1682, 1681, 1694, 1695, 1696, 1701, 1703, 1705, 1707, - 1712, 1714, 1717, 1719, 1721, 1726, 1731, 1736, 1744, 1746, - 1748, 1752, 1760, 1759, 1777, 1778, 1782, 1783, 1787, 1788, - 1793, 1798, 1800, 1804, 1807, 1811, 1812, 1813, 1816, 1817, - 1820, 1821, 1824, 1828, 1832, 1838, 1844, 1846, 1850, 1854, - 1855, 1859, 1860, 1864, 1865, 1870, 1872, 1874, 1877 + 0, 192, 192, 191, 203, 202, 213, 212, 226, 225, + 239, 238, 252, 251, 262, 261, 274, 282, 304, 298, + 321, 329, 337, 344, 352, 353, 362, 367, 357, 391, + 401, 413, 429, 440, 452, 460, 481, 476, 496, 494, + 531, 528, 561, 558, 587, 582, 604, 616, 633, 631, + 649, 659, 674, 682, 686, 691, 702, 711, 722, 732, + 734, 739, 747, 751, 758, 763, 770, 776, 780, 782, + 779, 789, 790, 800, 801, 810, 814, 818, 825, 842, + 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 870, 888, 889, 893, 897, 899, + 901, 903, 905, 907, 909, 912, 918, 919, 924, 935, + 936, 941, 943, 948, 955, 956, 960, 964, 968, 973, + 977, 981, 982, 985, 991, 996, 1001, 1007, 1008, 1013, + 1014, 1019, 1020, 1027, 1032, 1034, 1045, 1047, 1052, 1054, + 1058, 1063, 1067, 1073, 1075, 1081, 1091, 1104, 1106, 1111, + 1113, 1121, 1122, 1123, 1128, 1129, 1134, 1135, 1139, 1143, + 1143, 1176, 1177, 1182, 1194, 1195, 1200, 1199, 1212, 1214, + 1216, 1218, 1220, 1224, 1226, 1231, 1235, 1239, 1243, 1247, + 1253, 1258, 1264, 1270, 1276, 1282, 1284, 1286, 1289, 1288, + 1302, 1303, 1307, 1311, 1314, 1319, 1324, 1327, 1331, 1335, + 1341, 1349, 1356, 1362, 1364, 1366, 1371, 1373, 1375, 1377, + 1379, 1381, 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, + 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1420, 1422, + 1424, 1426, 1428, 1432, 1434, 1438, 1440, 1442, 1444, 1448, + 1450, 1455, 1457, 1460, 1462, 1464, 1467, 1470, 1481, 1484, + 1492, 1494, 1496, 1499, 1501, 1504, 1506, 1511, 1516, 1518, + 1522, 1523, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, + 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1562, 1572, + 1582, 1592, 1594, 1596, 1599, 1604, 1608, 1610, 1612, 1614, + 1617, 1619, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, + 1638, 1641, 1643, 1645, 1647, 1649, 1651, 1655, 1658, 1657, + 1670, 1671, 1672, 1677, 1679, 1681, 1683, 1688, 1690, 1693, + 1695, 1697, 1702, 1707, 1712, 1720, 1722, 1724, 1728, 1736, + 1735, 1753, 1754, 1758, 1759, 1763, 1764, 1769, 1774, 1776, + 1780, 1783, 1787, 1788, 1789, 1792, 1793, 1796, 1797, 1800, + 1804, 1808, 1814, 1820, 1822, 1826, 1830, 1831, 1835, 1836, + 1840, 1841, 1846, 1848, 1850, 1853 }; #endif @@ -451,32 +448,32 @@ static const char *const yytname[] = "bare_statement_defer", "bare_statement_expression", "bare_statement_field_declaration", "bare_statement_for", "bare_statement_for_control", "$@9", "$@10", "bare_statement_for_over", - "$@11", "@12", "@13", "@14", "bare_statement_format", - "bare_statement_given", "bare_statement_if", "bare_statement_null", - "bare_statement_package_declaration", - "bare_statement_package_definition", "$@15", "bare_statement_phaser", - "$@16", "bare_statement_sub_signature", "$@17", - "bare_statement_sub_traditional", "$@18", "bare_statement_try_catch", - "$@19", "bare_statement_unless", "bare_statement_until", - "bare_statement_utilize", "$@20", "bare_statement_when", - "bare_statement_while", "bare_statement_yadayada", "clause_mexpr", - "sigsub_or_method_named", "block", "empty", "formblock", "remember", - "mblock", "mremember", "catch_paren", "$@21", "$@22", "stmtseq", - "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "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", - "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", - "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@23", - "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@24", "expr", - "listexpr", "listop", "@25", "methodname", "subscripted", "termbinop", - "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", - "anonymous", "termdo", "term", "@26", "myattrterm", "myterm", "fieldvar", - "optfieldattrlist", "fielddecl", "$@27", "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_format", "bare_statement_given", "bare_statement_if", + "bare_statement_null", "bare_statement_package_declaration", + "bare_statement_package_definition", "$@11", "bare_statement_phaser", + "$@12", "bare_statement_sub_signature", "$@13", + "bare_statement_sub_traditional", "$@14", "bare_statement_try_catch", + "$@15", "bare_statement_unless", "bare_statement_until", + "bare_statement_utilize", "$@16", "bare_statement_when", + "bare_statement_while", "bare_statement_yadayada", + "clause_for_over_cursor", "clause_mexpr", "sigsub_or_method_named", + "block", "empty", "formblock", "remember", "mblock", "mremember", + "catch_paren", "$@17", "$@18", "stmtseq", "formstmtseq", "fullstmt", + "labfullstmt", "barestmt", "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", "optcolon", "sigscalarelem", + "optsigscalardefault", "sigelem", "siglist", "optsiglist", + "optsubsignature", "subsignature", "subsigguts", "$@19", "optsubbody", + "subbody", "optsigsubbody", "sigsubbody", "$@20", "expr", "listexpr", + "listop", "@21", "methodname", "subscripted", "termbinop", "termrelop", + "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", + "term", "@22", "myattrterm", "myterm", "fieldvar", "optfieldattrlist", + "fielddecl", "$@23", "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 * @@ -486,12 +483,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-560) +#define YYPACT_NINF (-534) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-377) +#define YYTABLE_NINF (-374) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -500,75 +497,74 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 646, -560, -560, -560, -560, -560, -560, -560, 46, -560, - 3030, 42, 1972, 1855, -560, -560, -560, -560, 280, 3030, - 280, 3030, 280, 3030, 280, 280, 3030, 49, 3030, 2301, - -560, -560, -560, -560, 280, 280, -560, -560, 62, -70, - -560, 3030, -560, -560, 3030, -49, -42, -46, 2301, 2220, - 42, 280, 3030, 20, 3030, 3030, 3030, 3030, 3030, 3030, - 2382, -560, 23, 111, -560, 5, -560, 63, 30, 107, - 22, -560, -560, -560, 3222, -560, -560, 7, 43, 101, - 172, -560, 146, 192, 193, 175, -560, -560, -560, -560, - -560, 128, 140, 408, -560, -560, -560, 99, 121, -560, - -560, 42, 235, 235, -560, 20, -560, -560, -560, 234, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, 20, 240, -560, - 251, 357, 252, 1855, -560, -560, -560, -560, 681, -560, - 54, 868, -560, -560, -560, -560, -560, 266, -560, 310, - -560, 310, -560, -560, 3569, 3111, 2463, 201, -560, -560, - -560, 3569, -560, 3569, 227, 212, 212, 3030, 176, 224, - 3030, 183, 3569, 42, 3222, 191, 2544, 3030, 2220, -560, - 3569, 3192, -560, 111, -560, 2625, 3030, 3030, -560, 282, - -560, -560, 3030, 111, 310, 310, 310, 557, 557, 315, - 363, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 2706, -560, - -560, 3030, -560, -560, 3030, 3030, 3030, 3030, 3030, 3030, - 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, - 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, 3030, - -560, -560, -560, 3030, 91, 2787, 3030, 3030, 3030, 3030, - 3030, 3030, 3030, -560, 267, 279, 281, 254, -560, -560, - -560, 210, 210, 29, -560, -560, 210, 210, -560, -560, - 299, -560, -560, -560, -560, -560, -560, 42, -560, -560, - -560, 3030, 3030, 3030, 3030, 3030, 3030, -560, -560, -560, - -560, -560, -560, -560, -560, 291, -560, 337, -560, -560, - 339, -560, -560, 2868, 310, 201, 9, 50, 177, -560, - 367, 297, -560, -560, -560, 212, 303, -560, 18, 18, - -560, 3030, 3030, 27, -560, -560, -560, -560, 384, 274, - 238, 3030, 111, 111, 355, -560, 3030, 364, 123, 123, - -560, -560, 3326, 223, 115, -560, 405, 3508, 471, 3430, - 310, 114, 3396, 3274, 3326, 3326, 1019, 708, 708, 708, - 3469, 3469, 3491, 3530, 471, 471, 3508, 3508, 3547, 3586, - 3396, 114, 310, 310, 135, 35, 3030, 3030, 69, 343, - 353, 354, -560, 361, 2949, 256, -560, -560, 411, 230, - 119, 236, 131, 263, 154, 277, 985, -560, -560, 373, - 55, 212, 340, -560, 304, 3030, 235, 235, 48, 534, - 2058, 235, 408, -560, 3030, 3030, 235, 235, -560, -560, - 348, -560, 374, -560, -560, -560, 23, -560, -560, -560, - 23, -560, -560, -560, 316, 291, 54, 12, 435, -560, - -560, -560, 400, -560, 286, -560, -560, 283, 21, -560, - 3030, -560, -560, -560, 443, -560, 165, 3030, 417, -560, - -560, 3030, -560, 302, 312, 187, -560, -560, -560, -560, - -560, -560, 517, 3030, -560, 419, -560, 429, -560, 430, - -560, 431, -560, -560, -560, -560, -560, 116, -560, -560, - 318, 23, 237, 237, -560, 439, 210, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, 425, 198, - 240, -560, 210, 325, 334, 23, -560, -560, 1153, 342, - 416, 227, -560, 466, -560, -560, 212, 3030, 383, -560, - 17, -560, -560, -560, 473, -560, -560, 3030, -560, 395, - -560, -560, -560, 215, -560, 3378, 3030, 475, -560, -560, - 358, -560, -560, -560, -560, 468, -560, -560, -560, 3030, - -560, 235, 210, -560, -560, -560, 476, -560, -560, 235, - 210, -560, -560, 210, 235, -560, -560, -560, -560, -560, - -560, 3030, 212, -560, 474, 3222, 3030, 366, -560, 23, - -560, -560, 372, -560, -560, 407, -560, -560, 3222, -560, - 235, 439, 380, 240, 235, 3030, 235, 240, 235, 235, - 439, 235, 490, 374, 1270, -560, -560, -560, -560, 3222, - -560, -560, -560, -560, 1387, -560, 237, -560, 210, -560, - 240, 494, 240, -560, 240, 240, -560, 472, -560, -560, - -560, 1504, -560, 13, -560, 1621, -560, 235, -560, -560, - -560, -560, -560, 387, 42, -560, -560, 505, 436, -560, - -560, 240, -560, -560, -560, -560, -560, -560, -560, -560, - 2139, 1738, 393, -560, 235, -560 + 1026, -534, -534, -534, -534, -534, -534, -534, 22, -534, + 3034, 30, 1976, 1859, -534, -534, -534, -534, 62, 3034, + 62, 3034, 62, 3034, 62, 62, 3034, 80, 3034, 2305, + -534, -534, -534, -534, 62, 62, -534, -534, 72, -58, + -534, 3034, -534, -534, 3034, -38, -22, -21, 2305, 2224, + 30, 62, 3034, 20, 3034, 3034, 3034, 3034, 3034, 3034, + 2386, -534, 344, 105, -534, 41, -534, -55, 45, -20, + 44, -534, -534, -534, 882, -534, -534, -3, 106, 212, + 229, -534, 161, 253, 269, 164, -534, -534, -534, -534, + -534, 143, 154, 265, -534, -534, -534, 88, 92, -534, + -534, 30, 216, 216, -534, 20, -534, -534, -534, 210, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, 20, 206, -534, + 226, 421, 233, 1859, -534, -534, -534, -534, 735, -534, + 43, 852, -534, -534, -534, -534, -534, 242, -534, 430, + -534, 430, -534, -534, 898, 3115, 2467, 173, -534, -534, + -534, 898, -534, 898, 195, 184, 184, 3034, 152, 197, + 3034, 159, 898, 30, 882, 191, 2548, 3034, 2224, -534, + 898, 3196, -534, 105, -534, 2629, 3034, 3034, -534, 270, + -534, -534, 3034, 105, 430, 430, 430, 565, 565, 284, + 247, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 2710, -534, + -534, 3034, -534, -534, 3034, 3034, 3034, 3034, 3034, 3034, + 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, + 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, + -534, -534, -534, 3034, 111, 2791, 3034, 3034, 3034, 3034, + 3034, 3034, 3034, -534, 267, 268, 275, 246, -534, -534, + -534, 205, 205, 79, -534, -534, 205, 205, -534, -534, + 294, -534, -534, -534, -534, -534, -534, 30, -534, -534, + -534, 3034, 3034, 3034, 3034, 3034, 3034, -534, -534, -534, + -534, -534, -534, -534, -534, 286, -534, 320, -534, -534, + 334, -534, -534, 2872, 430, 173, 51, 73, 101, -534, + 472, 296, -534, -534, -534, 184, 300, -534, 12, 12, + -534, 3034, 3034, 112, -534, -534, -534, -534, 505, 263, + 237, 3034, 105, 105, 345, -534, 3034, 356, 42, 42, + -534, -534, 3278, 53, 120, -534, 510, 349, 3523, 3382, + 430, 716, 3348, 3226, 3278, 3278, 558, 3421, 3421, 3421, + 3444, 3444, 3483, 3504, 3523, 3523, 349, 349, 468, 3543, + 3348, 716, 430, 430, 66, 137, 3034, 3034, 165, 347, + 348, 354, -534, 357, 2953, 238, -534, -534, 608, 222, + 142, 231, 155, 292, 166, 298, 1040, -534, -534, 363, + 49, 184, 324, -534, 291, 3034, 216, 216, 19, 336, + 2062, 205, 216, 265, -534, 3034, 3034, 216, 216, -534, + -534, 329, -534, 369, -534, -534, -534, 344, -534, -534, + -534, 344, -534, -534, -534, 299, 286, 43, 16, 727, + -534, -534, -534, 386, -534, 277, -534, -534, 271, 148, + -534, 3034, -534, -534, -534, 733, -534, 199, 3034, 387, + -534, -534, 3034, -534, 280, 311, 204, -534, -534, -534, + -534, -534, -534, 754, 3034, -534, 402, -534, 404, -534, + 406, -534, 407, -534, -534, -534, -534, -534, 61, -534, + -534, 290, 344, 273, 273, -534, 409, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, 400, + 339, 216, 206, -534, 316, 317, 344, -534, -534, 1157, + 295, 394, 195, -534, 441, -534, -534, 184, 3034, 355, + -534, 27, -534, -534, -534, 444, -534, -534, 3034, -534, + 370, -534, -534, -534, 208, -534, 3330, 3034, 449, -534, + -534, 337, -534, -534, -534, -534, 451, -534, -534, -534, + 3034, -534, 216, 205, -534, -534, -534, 456, 350, -534, + -534, 206, -534, -534, -534, -534, -534, -534, -534, 3034, + 184, -534, 458, 882, 3034, 352, -534, 344, -534, -534, + 353, -534, -534, 398, -534, -534, 882, -534, 216, 409, + -534, 3034, -534, 216, 216, 409, 216, 466, 369, 1274, + -534, -534, -534, -534, 882, -534, -534, -534, -534, 1391, + -534, 273, -534, 469, 206, 206, -534, 445, -534, -534, + -534, 1508, -534, 2, -534, 1625, -534, -534, -534, -534, + 361, 30, -534, -534, 479, 410, -534, -534, -534, -534, + -534, -534, -534, -534, -534, 2143, 1742, 367, -534, 216, + -534 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -576,115 +572,114 @@ 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, 67, - 65, 0, 0, 0, 65, 172, 1, 65, 0, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, - 137, 137, 138, 323, 0, 0, 294, 321, 282, 316, - 318, 312, 137, 325, 304, 314, 0, 0, 307, 65, - 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 346, 347, 185, 324, 289, 273, 229, 241, 230, - 248, 274, 275, 276, 188, 279, 5, 295, 284, 287, - 286, 288, 285, 0, 0, 0, 67, 7, 111, 42, - 139, 0, 0, 0, 67, 67, 67, 0, 0, 67, - 67, 0, 0, 0, 136, 0, 62, 63, 82, 0, - 136, 83, 84, 85, 86, 87, 88, 89, 90, 24, - 25, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 65, 9, - 0, 112, 0, 0, 11, 79, 78, 74, 0, 15, - 65, 0, 375, 378, 377, 376, 362, 0, 363, 254, - 365, 255, 364, 368, 280, 0, 0, 327, 332, 334, - 333, 311, 272, 271, 65, 65, 65, 65, 0, 0, - 0, 0, 313, 0, 305, 0, 0, 65, 65, 308, - 309, 323, 344, 345, 198, 284, 0, 0, 366, 0, - 140, 141, 65, 306, 256, 257, 278, 261, 262, 283, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 244, - 243, 0, 251, 250, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 64, + 62, 0, 0, 0, 62, 169, 1, 62, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, + 134, 134, 135, 320, 0, 0, 291, 318, 279, 313, + 315, 309, 134, 322, 301, 311, 0, 0, 304, 62, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 343, 344, 182, 321, 286, 270, 226, 238, 227, + 245, 271, 272, 273, 185, 276, 5, 292, 281, 284, + 283, 285, 282, 0, 0, 0, 64, 7, 108, 34, + 136, 0, 0, 0, 64, 64, 64, 0, 0, 64, + 64, 0, 0, 0, 133, 0, 59, 60, 79, 0, + 133, 80, 81, 82, 83, 84, 85, 86, 87, 24, + 25, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 0, 62, 9, + 0, 109, 0, 0, 11, 76, 75, 71, 0, 15, + 62, 0, 372, 375, 374, 373, 359, 0, 360, 251, + 362, 252, 361, 365, 277, 0, 0, 324, 329, 331, + 330, 308, 269, 268, 62, 62, 62, 62, 0, 0, + 0, 0, 310, 0, 302, 0, 0, 62, 62, 305, + 306, 320, 341, 342, 195, 281, 0, 0, 363, 0, + 137, 138, 62, 303, 253, 254, 275, 258, 259, 280, + 0, 0, 0, 0, 0, 183, 0, 0, 0, 241, + 240, 0, 248, 247, 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, 0, - 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 65, 65, 0, 0, 65, 335, 337, - 336, 0, 0, 0, 67, 67, 0, 0, 20, 69, - 0, 21, 56, 136, 60, 46, 136, 0, 122, 16, - 22, 0, 0, 0, 0, 0, 0, 23, 81, 80, - 75, 152, 151, 157, 167, 149, 163, 0, 162, 166, - 168, 173, 263, 0, 329, 0, 284, 287, 286, 331, - 0, 148, 326, 143, 142, 65, 146, 144, 268, 270, - 196, 65, 0, 0, 317, 201, 315, 319, 0, 0, - 0, 0, 189, 190, 0, 298, 0, 281, 183, 184, - 181, 182, 187, 0, 0, 215, 0, 247, 253, 233, - 222, 224, 226, 240, 220, 221, 0, 236, 238, 237, - 234, 235, 232, 231, 252, 249, 246, 242, 245, 228, - 227, 225, 239, 223, 219, 0, 0, 0, 0, 372, - 370, 374, 203, 0, 0, 193, 204, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, - 0, 65, 339, 340, 341, 0, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 129, 0, 0, 65, 67, - 0, 50, 67, 48, 123, 113, 110, 114, 117, 116, - 131, 115, 118, 150, 153, 149, 164, 283, 0, 328, - 330, 147, 266, 145, 65, 267, 269, 0, 65, 217, - 65, 320, 200, 199, 0, 264, 0, 0, 0, 208, - 214, 0, 302, 195, 0, 0, 299, 301, 300, 303, - 367, 212, 0, 65, 297, 0, 206, 0, 290, 0, - 291, 0, 64, 67, 39, 67, 43, 0, 338, 342, - 0, 132, 65, 65, 360, 0, 0, 350, 361, 358, - 36, 359, 355, 356, 357, 127, 128, 133, 0, 112, - 65, 34, 0, 0, 0, 130, 40, 58, 0, 65, - 0, 65, 175, 0, 47, 174, 65, 154, 158, 165, - 281, 265, 172, 169, 0, 170, 197, 0, 348, 0, - 202, 191, 218, 0, 211, 277, 65, 0, 207, 213, - 0, 209, 292, 293, 205, 0, 44, 67, 17, 0, - 61, 0, 0, 119, 41, 54, 354, 30, 353, 0, - 0, 26, 38, 0, 0, 126, 126, 68, 71, 70, - 52, 65, 65, 65, 67, 155, 160, 0, 179, 349, - 322, 216, 0, 210, 192, 0, 65, 18, 343, 120, - 0, 351, 0, 65, 0, 129, 0, 65, 0, 0, - 0, 0, 0, 67, 0, 178, 49, 177, 159, 161, - 171, 65, 194, 65, 0, 65, 65, 352, 0, 29, - 65, 0, 65, 33, 65, 65, 72, 124, 57, 51, - 176, 0, 76, 0, 45, 0, 121, 0, 37, 27, - 35, 55, 59, 0, 0, 53, 180, 0, 65, 77, - 19, 65, 126, 73, 125, 66, 65, 108, 107, 31, - 0, 0, 0, 109, 0, 28 + 255, 256, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 62, 0, 0, 62, 332, 334, + 333, 0, 0, 0, 64, 64, 0, 0, 20, 66, + 0, 21, 48, 133, 52, 38, 133, 0, 119, 16, + 22, 0, 0, 0, 0, 0, 0, 23, 78, 77, + 72, 149, 148, 154, 164, 146, 160, 0, 159, 163, + 165, 170, 260, 0, 326, 0, 281, 284, 283, 328, + 0, 145, 323, 140, 139, 62, 143, 141, 265, 267, + 193, 62, 0, 0, 314, 198, 312, 316, 0, 0, + 0, 0, 186, 187, 0, 295, 0, 278, 180, 181, + 178, 179, 184, 0, 0, 212, 0, 244, 250, 230, + 219, 221, 223, 237, 217, 218, 0, 233, 235, 234, + 231, 232, 229, 228, 249, 246, 243, 239, 242, 225, + 224, 222, 236, 220, 216, 0, 0, 0, 0, 369, + 367, 371, 200, 0, 0, 190, 201, 293, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, + 0, 62, 336, 337, 338, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 53, 0, 126, 0, 0, 62, + 64, 0, 42, 64, 40, 120, 110, 107, 111, 114, + 113, 128, 112, 115, 147, 150, 146, 161, 280, 0, + 325, 327, 144, 263, 142, 62, 264, 266, 0, 62, + 214, 62, 317, 197, 196, 0, 261, 0, 0, 0, + 205, 211, 0, 299, 192, 0, 0, 296, 298, 297, + 300, 364, 209, 0, 62, 294, 0, 203, 0, 287, + 0, 288, 0, 61, 64, 31, 64, 35, 0, 335, + 339, 0, 129, 62, 62, 357, 0, 54, 347, 358, + 355, 57, 356, 352, 353, 354, 124, 125, 130, 0, + 109, 0, 62, 56, 0, 0, 127, 32, 50, 0, + 62, 0, 62, 172, 0, 39, 171, 62, 151, 155, + 162, 278, 262, 169, 166, 0, 167, 194, 0, 345, + 0, 199, 188, 215, 0, 208, 274, 62, 0, 204, + 210, 0, 206, 289, 290, 202, 0, 36, 64, 17, + 0, 58, 0, 0, 116, 33, 46, 351, 0, 350, + 26, 62, 30, 123, 123, 65, 68, 67, 44, 62, + 62, 62, 64, 152, 157, 0, 176, 346, 319, 213, + 0, 207, 189, 0, 62, 18, 340, 117, 0, 348, + 55, 126, 29, 0, 0, 0, 0, 0, 64, 0, + 175, 41, 174, 156, 158, 168, 62, 191, 62, 0, + 62, 62, 349, 0, 62, 62, 69, 121, 49, 43, + 173, 0, 73, 0, 37, 0, 118, 27, 47, 51, + 0, 0, 45, 177, 0, 62, 74, 19, 123, 70, + 122, 63, 62, 105, 104, 0, 0, 0, 106, 0, + 28 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -167, -560, - -1, -10, -560, -7, -51, -560, -560, -560, -560, -16, - -560, 512, 391, 3, -560, -560, 174, -408, -489, -482, - -560, -559, -560, -88, 125, -560, -145, -560, -84, 113, - -560, -560, -97, 14, -173, 228, 102, -560, -560, -560, - -560, -560, 109, -560, -560, -560, -560, 15, -560, -61, - 117, -560, -316, -560, 89, -43, -560, -560, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, 618, -560, - -560, 406, -560, -560, -560, -560, -170, -15, -560, -560, - -560, -560, 151, -560, -560, 156, 173, -22, 4, -560, - -560, -560, -560, -560, 33 + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, -239, -534, -4, -10, -534, + -7, -77, -534, -534, -534, -534, -16, -534, 489, 360, + 0, -534, -534, 69, -407, -485, -474, -534, -533, -534, + -106, 82, -534, -156, -534, -95, 158, -534, -534, -94, + -13, -170, 209, 75, -534, -534, -534, -534, -534, 76, + -534, -534, -534, -534, -18, -534, -90, 77, -534, -321, + -534, 17, -44, -534, -534, -534, -534, -534, -534, -534, + -534, -534, -534, -534, -534, 485, -534, -534, 373, -534, + -534, -534, -534, -174, -2, -534, -534, -534, -534, 109, + -534, -534, 115, 81, -23, 5, -534, -534, -534, -534, + -534, 31 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 635, 114, 115, 116, 117, 118, 119, 615, - 672, 120, 612, 522, 583, 580, 121, 122, 123, 124, - 125, 126, 606, 127, 432, 128, 536, 129, 531, 130, - 621, 131, 132, 133, 430, 134, 135, 136, 416, 137, - 138, 147, 494, 454, 280, 428, 590, 620, 663, 148, - 653, 300, 145, 146, 669, 678, 435, 140, 574, 289, - 665, 618, 517, 524, 439, 500, 518, 409, 282, 174, - 176, 264, 202, 325, 328, 322, 444, 305, 306, 307, - 308, 628, 309, 310, 311, 544, 545, 149, 150, 534, - 535, 626, 455, 631, 141, 63, 64, 460, 395, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 179, - 75, 167, 267, 414, 142, 569, 194, 76, 549, 506, - 576, 577, 509, 510, 422, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 158 + 112, 113, 630, 114, 115, 116, 117, 118, 119, 611, + 658, 120, 121, 122, 123, 124, 125, 126, 604, 127, + 433, 128, 537, 129, 532, 130, 616, 131, 132, 133, + 431, 134, 135, 136, 421, 416, 137, 138, 147, 495, + 455, 280, 429, 588, 615, 650, 148, 643, 300, 145, + 146, 656, 664, 436, 140, 575, 289, 652, 613, 518, + 525, 440, 501, 519, 409, 282, 174, 176, 264, 202, + 325, 328, 322, 445, 305, 306, 307, 308, 623, 309, + 310, 311, 545, 546, 149, 150, 535, 536, 621, 456, + 626, 141, 63, 64, 461, 395, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 179, 75, 167, 267, + 414, 142, 570, 194, 76, 550, 507, 577, 578, 510, + 511, 423, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -692,137 +687,114 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 17, 329, 157, 169, 193, 330, 283, 61, - 87, 203, 516, 456, 575, 139, 216, 154, 217, 154, - 256, 154, 257, 154, 154, 346, 285, 619, 172, -67, - 467, 170, 345, 154, 154, 667, 215, 199, 582, 192, - 286, 459, 61, 187, 547, 20, 16, 189, 154, 197, - 154, 156, 281, 86, 256, 160, 257, 162, 163, 418, - 472, -369, 181, -369, 20, 20, 495, 177, 178, 22, - -156, 269, 668, 24, 301, 180, 200, 496, 302, 263, - 86, 201, 196, 185, 198, 20, 188, 271, 272, 273, - 186, 200, 276, 277, 476, -332, 201, 270, -331, 62, - 278, 385, 386, -330, 387, 417, 421, 388, 62, 426, - 427, 389, -369, 680, -369, 390, 391, 211, 212, 213, - 214, 211, 212, 213, 214, 152, 215, 567, 288, 469, - 153, 639, 224, 486, 193, 643, -334, 218, 568, 255, - 304, 62, 221, 317, 175, 488, 299, 656, 392, 210, - -67, 419, 452, 342, 343, 183, 303, -373, 658, 193, - 660, 420, 661, 662, 324, 327, 327, 192, 490, 318, - 504, 165, 339, 340, 393, 219, 220, 61, 61, 552, - 505, 166, 335, -371, 265, -371, 262, 154, -371, 679, - -371, 155, 192, 155, 226, 155, 266, 155, 155, 431, - 168, 558, 433, 258, 260, 259, 261, 155, 155, 211, - 212, 213, 214, 211, 212, 213, 214, 222, 223, 213, - 214, 341, 195, 394, 155, 211, 212, 213, 214, 601, - 291, 274, 248, 292, 293, 294, 295, 249, 497, 296, - 250, 251, 252, 253, 254, 468, 279, 406, 211, 212, - 213, 214, 485, 275, 408, 320, 284, 413, 487, 211, - 212, 213, 214, -333, -377, 254, 268, 424, 425, 333, - 571, 572, 516, 290, 297, 338, 62, 62, 627, 287, - 312, 211, 212, 213, 214, 489, 434, 321, 473, 458, - 550, 86, 211, 212, 213, 214, 20, 323, 326, 491, - 348, 349, 350, 351, 344, 353, 354, 356, 331, 211, - 212, 213, 214, 332, 334, 327, 457, 211, 212, 213, - 214, 61, 336, 407, 211, 212, 213, 214, 346, -132, - 211, 212, 213, 214, 557, 410, 152, 411, 316, 579, - 412, 153, 415, 429, 398, 399, 400, 401, 402, 403, - 404, 405, 443, 445, 446, 584, 451, 211, 212, 213, - 214, 195, 453, 594, 462, 502, 503, 465, 477, 463, - 520, 211, 212, 213, 214, 526, 527, 467, 478, 479, - 436, 436, 436, 440, 436, 436, 480, 154, 483, 291, - 226, 493, 292, 293, 294, 295, 532, 513, 296, 498, - 513, 327, 448, 499, 530, 610, 211, 212, 213, 214, - 515, -67, 528, 614, 546, 537, 616, 193, 542, 623, - 62, 622, 529, 514, 20, 533, 514, 396, 22, 554, - 464, 561, 24, 249, 556, 466, 250, 251, 252, 253, - 254, 562, 563, 564, 543, 533, 423, 581, 548, 570, - 192, 211, 212, 213, 214, 20, 585, 211, 212, 213, - 214, 211, 212, 213, 214, 586, 437, 438, 560, 441, - 442, 657, 591, 61, 588, 474, 475, 593, 211, 212, - 213, 214, 596, 482, 598, 600, 565, 603, 566, 604, - 605, 611, 573, 573, 347, 633, 625, 630, 450, 211, - 212, 213, 214, 632, 501, 211, 212, 213, 214, 519, - 288, 638, 648, 440, 525, 461, 659, 664, 673, 589, - 609, 324, 675, 676, 684, 144, 327, 641, 613, 211, - 212, 213, 214, 617, 298, 682, 470, 211, 212, 213, - 214, 602, 484, 449, 18, 592, 61, 538, 193, 523, - 20, 226, 227, 228, 22, 539, 553, 597, 24, 636, - 607, 155, 649, 640, 508, 642, 540, 644, 645, 541, - 647, 315, 62, 521, 551, 511, 0, 624, 0, 0, - 0, 192, 327, 242, 243, 244, 245, 246, 247, 248, - 634, 507, 512, 0, 249, 512, 0, 250, 251, 252, - 253, 254, 0, 288, 0, 0, 671, 288, 0, 0, - 0, 211, 212, 213, 214, 651, 533, 0, 0, 655, - 0, 0, 0, 652, 0, 0, 573, 0, 0, 0, - 288, 0, 288, 685, 288, 288, 599, 0, 0, 159, - 0, 161, 0, 0, 164, 62, 171, 173, 559, 1, - 2, 3, 4, 5, 6, 7, 0, 0, 677, 182, - 681, 288, 184, 674, 0, 0, 190, 0, 0, 0, - 515, 0, 0, 204, 205, 206, 207, 208, 578, 0, - 0, -13, 88, -377, -377, -377, 253, 254, 0, 0, - 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, - 21, 22, 23, 89, 525, 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, - 143, 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, 314, 637, 0, 0, 0, 226, 227, - 228, 0, 0, 646, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, - 0, 0, 0, 60, 236, 237, 238, 239, 240, 241, + 61, 151, 17, 330, 169, 193, 329, 87, 457, 61, + 203, 283, 139, 517, 154, 285, 154, 157, 154, 576, + 154, 154, 16, -64, 654, 172, 281, 62, 345, 346, + 154, 154, 170, 417, 422, 20, 62, 427, 428, 192, + 468, 86, 61, 286, 189, 154, 197, 154, 582, 156, + 199, 614, 216, 160, 217, 162, 163, 219, 220, -153, + 496, 655, 256, 301, 257, 177, 178, 302, 187, 62, + 269, 497, 568, 86, 181, 469, 200, 210, 20, 263, + 196, 201, 198, 569, -366, 180, -366, 271, 272, 273, + 222, 223, 276, 277, 185, 20, 20, 278, 270, 155, + 22, 155, -328, 155, 24, 155, 155, 612, 168, 418, + 186, 188, -368, -327, -368, 155, 155, 256, 152, 257, + 215, 385, 386, 153, 387, 665, 460, 388, 288, 255, + 195, 389, 155, 193, 470, 390, 391, -329, 213, 214, + 304, 505, 317, 299, -64, 303, 646, 211, 212, 213, + 214, 506, 342, 343, 224, 453, 487, 221, 193, -331, + 648, 649, 473, 215, 324, 327, 327, 192, 392, 489, + 318, 548, -370, 218, 268, 262, 86, 61, 61, 335, + 491, 20, 521, 320, 154, 339, 340, -330, 432, 175, + 477, 434, 192, 200, 393, -374, 254, 333, 201, 265, + 183, 419, 165, 338, 62, 62, 211, 212, 213, 214, + 266, 420, 166, 553, 211, 212, 213, 214, 559, 341, + 274, 152, 599, -366, 275, -366, 153, 279, 348, 349, + 350, 351, 284, 353, 354, 356, 211, 212, 213, 214, + -368, 498, -368, 394, 486, 287, 316, 406, 290, 211, + 212, 213, 214, 488, 408, 297, 312, 413, 517, 321, + 211, 212, 213, 214, 258, 323, 259, 425, 426, 195, + 326, 622, 398, 399, 400, 401, 402, 403, 404, 405, + 260, 20, 261, 435, 331, 22, 332, 551, 459, 24, + 334, 474, 344, 211, 212, 213, 214, 346, 211, 212, + 213, 214, 211, 212, 213, 214, 572, 573, 437, 437, + 437, 441, 437, 437, 490, 327, 211, 212, 213, 214, + 492, 61, 336, 407, 410, 211, 212, 213, 214, 458, + 449, 411, 412, 558, 608, 396, 446, 415, 430, 503, + 504, 211, 212, 213, 214, 522, 18, 444, 62, 447, + 527, 528, 20, 463, 424, 452, 22, 466, 465, 454, + 24, 438, 439, 467, 442, 443, 509, 592, 464, 468, + 484, 291, 478, 479, 292, 293, 294, 295, 347, 480, + 296, 494, 481, 499, 154, 531, 211, 212, 213, 214, + 500, 533, 211, 212, 213, 214, 514, -64, 538, 555, + 514, 327, 547, 475, 476, 211, 212, 213, 214, 543, + 516, 483, 557, 529, 562, 617, 563, 193, 564, 565, + 618, 571, 580, 530, 515, 20, 534, 586, 515, 226, + 227, 228, 502, 211, 212, 213, 214, 520, 211, 212, + 213, 214, 441, 526, 581, 544, 534, 583, 584, 549, + 589, 192, 591, 291, 594, 596, 292, 293, 294, 295, + 598, 601, 296, 244, 245, 246, 247, 248, 602, 155, + -129, 609, 249, 603, 61, 250, 251, 252, 253, 254, + 620, 610, 561, 625, 627, 554, 628, 566, 638, 567, + 651, 647, 659, 574, 574, 607, 661, 662, 669, 508, + 513, 62, 144, 298, 513, 633, 159, 524, 161, 667, + 226, 164, 288, 171, 173, 211, 212, 213, 214, 590, + 587, 539, 324, 540, 450, 595, 182, 327, 639, 184, + 542, 631, 523, 190, 512, 0, 634, 635, 315, 637, + 204, 205, 206, 207, 208, 193, 0, 61, 226, 227, + 228, 0, 0, 249, 0, 600, 250, 251, 252, 253, + 254, 605, 0, 0, 0, 597, 211, 212, 213, 214, + 0, 288, 0, 0, 62, 619, 0, 0, 0, 192, + 327, 0, -374, 245, 246, 247, 248, 579, 629, 0, + 0, 249, 670, 0, 250, 251, 252, 253, 254, 211, + 212, 213, 214, 451, 211, 212, 213, 214, 0, 0, + 641, 534, 0, 0, 645, 0, 0, 0, 642, 0, + 0, 574, 0, 0, 288, 288, 0, 0, 526, 0, + 225, 0, 0, 0, 0, 0, 462, 0, 226, 227, + 228, 471, 0, 0, 0, 663, 666, 660, 0, 0, + 314, 229, 0, 0, 0, 516, 0, 230, 231, 232, + 472, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, - 0, 249, 0, 352, 250, 251, 252, 253, 254, 357, - 0, 0, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, -3, 88, - 0, 384, 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, 143, 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, 492, 19, 0, - 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, + 0, 249, 0, 0, 250, 251, 252, 253, 254, 0, + 632, -374, -374, -374, 253, 254, 636, 0, 0, 0, + 352, 0, 211, 212, 213, 214, 357, 0, 0, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, -13, 88, 0, 384, 485, + 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, + 32, 33, 34, 35, 36, 37, 226, 38, 39, 40, 41, 42, 43, 108, 143, 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, 555, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 226, - 227, 228, 0, 0, 55, 56, 0, 57, 0, 58, - 59, 0, 229, 0, 0, 0, 0, 60, 230, 231, - 232, 471, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, - 0, 0, 249, 0, 0, 250, 251, 252, 253, 254, - 0, 0, 0, 0, 88, 595, 0, 0, 0, 0, - 0, 0, 0, 18, 86, 587, 19, 0, 0, 20, - 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, - 91, 92, 26, 27, 93, 94, 0, 608, 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, 629, 38, 39, 40, 41, 42, - 43, 108, 143, 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, 650, 19, 0, 60, 20, 0, 0, 21, + 53, 211, 212, 213, 214, 0, 110, 211, 212, 213, + 214, 0, 0, 54, 248, 0, 0, 0, 0, 249, + 0, 0, 250, 251, 252, 253, 254, 0, 211, 212, + 213, 214, -3, 88, 55, 56, 0, 57, 541, 58, + 59, 0, 18, 86, 552, 19, 0, 60, 20, 0, + 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, + 92, 26, 27, 93, 94, 560, 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, 143, 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, 225, 0, 0, 556, 0, 0, + 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, + 0, 55, 56, 0, 57, 229, 58, 59, 226, 227, + 228, 230, 231, 232, 60, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, + 252, 253, 254, 245, 246, 247, 248, 0, 0, 0, + 0, 249, 0, 593, 250, 251, 252, 253, 254, 1, + 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 86, 493, 19, 0, 606, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, - 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, + 27, 93, 94, 0, 0, 95, 96, 97, 98, 624, 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, 143, @@ -831,7 +803,7 @@ static const yytype_int16 yytable[] = 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, + 56, 0, 57, 0, 58, 59, 0, 18, 86, 585, 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, @@ -843,7 +815,7 @@ static const yytype_int16 yytable[] = 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, 666, 19, 0, 60, + 0, 58, 59, 0, 18, 86, 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, @@ -855,7 +827,7 @@ static const yytype_int16 yytable[] = 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, 670, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 644, 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, @@ -867,18 +839,18 @@ static const yytype_int16 yytable[] = 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, - 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 653, 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, 143, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, - 0, 51, 52, 53, 0, 0, 683, 0, 0, 110, + 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, 0, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 657, 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, @@ -896,78 +868,69 @@ static const yytype_int16 yytable[] = 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, 0, 0, 44, 0, 109, 45, 46, 47, 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, - -65, 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, 0, - 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, - 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, - 88, 51, 52, 53, 0, 0, 0, 0, 0, 18, - 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, 0, - 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, + 108, 143, 0, 44, 0, 109, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, + 668, 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, 0, 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, 143, 0, + 44, 0, 109, 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, 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, - -65, 60, 30, 31, 0, 32, 191, 34, 35, 36, - 37, 153, 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, 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, 0, 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, 18, 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, 0, 60, 30, 31, 0, 32, 33, 34, + 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, 0, 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, 0, 0, 44, 0, 109, + 45, 46, 47, 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, -62, 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, 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, + 49, 50, 0, 0, 88, 51, 52, 53, 0, 0, 0, 0, 0, 18, 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, 209, 60, 30, 31, 0, 32, 33, + 28, 29, 0, 0, 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, 18, 0, 0, 19, 0, 0, + 0, 0, 0, 0, 18, 86, 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, 319, 60, 30, 31, 0, 32, - 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, + 0, 28, 29, 0, -62, 60, 30, 31, 0, 32, + 191, 34, 35, 36, 37, 153, 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, -376, 256, 0, 257, 0, - 0, -376, 54, 0, -376, -376, -376, 0, 0, -376, - -376, 0, 0, 0, -376, -376, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 18, 86, 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, -376, -376, 0, 337, 60, -376, -376, 0, - -376, -376, -376, -376, -376, -376, 0, -376, -376, -376, - -376, -376, -376, 0, 0, 0, -376, 0, 0, -376, - -376, -376, -376, -376, -376, 0, 0, 0, -376, -376, - -376, 0, 0, 0, 0, 0, 18, 0, 0, 19, - 0, 0, 20, -376, 0, 21, 22, 23, 0, 0, + 0, 0, 28, 29, 0, 0, 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, 18, 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, -376, -376, 0, -376, 0, -376, - -376, 0, 0, 28, 29, 0, 0, -376, 30, 31, + 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, + 59, 0, 0, 28, 29, 0, 0, 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, @@ -975,7 +938,7 @@ static const yytype_int16 yytable[] = 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, 355, 60, 30, + 58, 59, 0, 0, 28, 29, 0, 209, 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, @@ -983,24 +946,24 @@ 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, 397, 60, + 0, 58, 59, 0, 0, 28, 29, 0, 319, 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, 18, - 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, - 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, + 0, 51, 52, 53, 0, 0, 0, 0, 0, -373, + 256, 0, 257, 0, 0, -373, 54, 0, -373, -373, + -373, 0, 0, -373, -373, 0, 0, 0, -373, -373, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, 28, 29, 0, 447, - 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, - 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, + 57, 0, 58, 59, 0, 0, -373, -373, 0, 337, + 60, -373, -373, 0, -373, -373, -373, -373, -373, -373, + 0, -373, -373, -373, -373, -373, -373, 0, 0, 0, + -373, 0, 0, -373, -373, -373, -373, -373, -373, 0, + 0, 0, -373, -373, -373, 0, 0, 0, 0, 0, + 18, 0, 0, 19, 0, 0, 20, -373, 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, - 481, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 27, 0, 0, 0, 0, 0, 0, 0, -373, -373, + 0, -373, 0, -373, -373, 0, 0, 28, 29, 0, + 0, -373, 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, @@ -1008,197 +971,202 @@ 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, 0, 60, 30, 31, 0, 32, 33, 34, 35, + 0, 355, 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, -375, 0, 0, -375, 0, 0, -375, 54, - 0, -375, -375, -375, 0, 0, -375, -375, 0, 0, - 0, -375, -375, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 0, -375, - -375, 0, 0, 313, -375, -375, 0, -375, -375, -375, - -375, -375, -375, 0, -375, -375, -375, -375, -375, -375, - 0, 0, 0, -375, 0, 0, -375, -375, -375, -375, - -375, -375, 0, 0, 0, -375, -375, -375, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -375, 0, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, - 0, -375, -375, 0, -375, 229, -375, -375, 0, 0, - 0, 230, 231, 232, -375, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 0, 0, 0, 0, 249, 225, 0, 250, 251, - 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, - 0, 0, 0, 230, 231, 232, 0, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 0, 0, 0, 0, 249, 225, 0, - 250, 251, 252, 253, 254, 0, 226, 227, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 230, 231, 232, 0, 233, + 0, 0, 18, 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, 397, 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, 18, 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, 448, 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, 18, 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, 482, 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, 18, 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, 0, 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, -372, 0, 0, -372, + 0, 0, -372, 54, 0, -372, -372, -372, 0, 0, + -372, -372, 0, 0, 0, -372, -372, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, + 59, 0, 0, -372, -372, 0, 0, 313, -372, -372, + 0, -372, -372, -372, -372, -372, -372, 0, -372, -372, + -372, -372, -372, -372, 0, 0, 0, -372, 0, 0, + -372, -372, -372, -372, -372, -372, 0, 0, 0, -372, + -372, -372, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -372, 0, 0, 0, 225, 0, + 0, 0, 0, 0, 0, 0, 226, 227, 228, 0, + 0, 0, 0, 0, 0, -372, -372, 0, -372, -374, + -372, -372, 0, 0, 0, 230, 231, 232, -372, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, 225, 0, 250, 251, 252, 253, 254, 0, 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 227, 0, 232, + 0, 0, 0, 0, 0, 0, 0, 230, 231, 232, 0, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 0, 0, - 0, 249, -377, 0, 250, 251, 252, 253, 254, 0, - 226, 227, 228, 247, 248, 0, 0, 0, 0, 249, - 0, 0, 250, 251, 252, 253, 254, 0, 0, 0, - 0, 0, 0, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 226, - 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, - 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 227, 228, 0, 0, 0, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 226, 227, - 228, 0, 249, 0, 0, 250, 251, 252, 253, 254, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 226, 227, 228, 0, 249, 0, 0, 250, 251, 252, - 253, 254, 244, 245, 246, 247, 248, 226, 227, 228, + 0, 249, 225, 0, 250, 251, 252, 253, 254, 0, + 226, 227, 228, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 226, 227, + 0, 232, 0, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, + 0, 0, 0, 249, -374, 0, 250, 251, 252, 253, + 254, 0, 226, 227, 228, 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, 251, 252, 253, 254, 0, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 226, - 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, - 254, -377, 245, 246, 247, 248, 226, 227, 228, 0, - 249, 0, 0, 250, 251, 252, 253, 254, 0, 0, - 0, 0, 0, 0, 245, 246, 247, 248, 0, 0, - 0, 0, 249, 0, 0, 250, 251, 252, 253, 254, - 0, 0, 246, 247, 248, 0, 0, 0, 0, 249, - 0, 0, 250, 251, 252, 253, 254 + 0, 0, 0, 0, 0, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 226, 227, 228, 0, 249, 0, 0, 250, 251, + 252, 253, 254, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 227, 228, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 0, 0, 0, 0, 249, 0, 0, 250, 251, 252, + 253, 254, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, + 250, 251, 252, 253, 254, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 227, 228, 0, 0, 0, + 0, 0, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 0, 226, 227, 228, 249, 0, 0, 250, + 251, 252, 253, 254, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 226, 227, 228, 0, 249, 0, 0, + 250, 251, 252, 253, 254, 242, 243, 244, 245, 246, + 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, + 251, 252, 253, 254, 0, 0, 0, 0, 0, 246, + 247, 248, 0, 0, 0, 0, 249, 0, 0, 250, + 251, 252, 253, 254 }; static const yytype_int16 yycheck[] = { - 10, 17, 9, 176, 19, 27, 49, 177, 105, 19, - 11, 54, 420, 329, 503, 12, 11, 18, 13, 20, - 11, 22, 13, 24, 25, 13, 110, 586, 29, 11, - 13, 27, 202, 34, 35, 22, 15, 52, 520, 49, - 137, 14, 52, 89, 23, 16, 0, 48, 49, 50, - 51, 18, 103, 11, 11, 22, 13, 24, 25, 30, - 25, 11, 132, 13, 16, 16, 11, 34, 35, 20, - 16, 93, 59, 24, 20, 13, 56, 22, 24, 86, - 11, 61, 49, 132, 51, 16, 132, 94, 95, 96, - 132, 56, 99, 100, 25, 86, 61, 93, 86, 10, - 101, 10, 11, 86, 13, 272, 273, 16, 19, 276, - 277, 20, 11, 672, 13, 24, 25, 94, 95, 96, - 97, 94, 95, 96, 97, 56, 15, 11, 138, 14, - 61, 613, 110, 14, 177, 617, 86, 132, 22, 132, - 150, 52, 112, 165, 31, 14, 143, 636, 57, 60, - 132, 122, 325, 196, 197, 42, 102, 11, 640, 202, - 642, 132, 644, 645, 174, 175, 176, 177, 14, 165, - 122, 122, 187, 188, 83, 112, 113, 187, 188, 14, - 132, 132, 183, 11, 56, 13, 11, 188, 11, 671, - 13, 18, 202, 20, 80, 22, 56, 24, 25, 283, - 27, 14, 286, 11, 11, 13, 13, 34, 35, 94, - 95, 96, 97, 94, 95, 96, 97, 110, 111, 96, - 97, 188, 49, 132, 51, 94, 95, 96, 97, 14, - 32, 132, 118, 35, 36, 37, 38, 123, 411, 41, - 126, 127, 128, 129, 130, 22, 11, 263, 94, 95, - 96, 97, 22, 132, 264, 166, 22, 267, 22, 94, - 95, 96, 97, 86, 129, 130, 93, 274, 275, 180, - 33, 34, 680, 22, 22, 186, 187, 188, 594, 39, - 14, 94, 95, 96, 97, 22, 287, 86, 385, 332, - 460, 11, 94, 95, 96, 97, 16, 70, 86, 22, - 211, 212, 213, 214, 22, 216, 217, 218, 132, 94, - 95, 96, 97, 89, 131, 325, 331, 94, 95, 96, - 97, 331, 131, 56, 94, 95, 96, 97, 13, 131, - 94, 95, 96, 97, 22, 56, 56, 56, 165, 506, - 86, 61, 132, 44, 255, 256, 257, 258, 259, 260, - 261, 262, 61, 16, 15, 522, 59, 94, 95, 96, - 97, 188, 59, 536, 90, 416, 417, 12, 25, 131, - 421, 94, 95, 96, 97, 426, 427, 13, 25, 25, - 291, 292, 293, 294, 295, 296, 25, 388, 132, 32, - 80, 18, 35, 36, 37, 38, 22, 419, 41, 59, - 422, 411, 313, 99, 56, 572, 94, 95, 96, 97, - 420, 11, 428, 580, 131, 99, 583, 460, 132, 592, - 331, 591, 429, 419, 16, 432, 422, 254, 20, 12, - 341, 12, 24, 123, 132, 346, 126, 127, 128, 129, - 130, 12, 12, 12, 454, 452, 273, 22, 458, 131, - 460, 94, 95, 96, 97, 16, 131, 94, 95, 96, - 97, 94, 95, 96, 97, 131, 292, 293, 483, 295, - 296, 638, 56, 483, 132, 386, 387, 11, 94, 95, - 96, 97, 99, 394, 11, 90, 493, 12, 495, 131, - 22, 15, 502, 503, 131, 88, 22, 131, 131, 94, - 95, 96, 97, 131, 415, 94, 95, 96, 97, 420, - 520, 131, 22, 424, 425, 131, 22, 45, 131, 529, - 571, 531, 17, 87, 131, 13, 536, 615, 579, 94, - 95, 96, 97, 584, 143, 680, 131, 94, 95, 96, - 97, 556, 131, 315, 10, 531, 556, 445, 591, 424, - 16, 80, 81, 82, 20, 446, 467, 542, 24, 610, - 567, 388, 623, 614, 30, 616, 131, 618, 619, 452, - 621, 165, 483, 422, 131, 419, -1, 593, -1, -1, - -1, 591, 592, 112, 113, 114, 115, 116, 117, 118, - 606, 418, 419, -1, 123, 422, -1, 126, 127, 128, - 129, 130, -1, 613, -1, -1, 657, 617, -1, -1, - -1, 94, 95, 96, 97, 631, 623, -1, -1, 635, - -1, -1, -1, 633, -1, -1, 636, -1, -1, -1, - 640, -1, 642, 684, 644, 645, 547, -1, -1, 21, - -1, 23, -1, -1, 26, 556, 28, 29, 131, 3, - 4, 5, 6, 7, 8, 9, -1, -1, 668, 41, - 676, 671, 44, 664, -1, -1, 48, -1, -1, -1, - 680, -1, -1, 55, 56, 57, 58, 59, 505, -1, - -1, 0, 1, 126, 127, 128, 129, 130, -1, -1, - -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, - 19, 20, 21, 22, 615, 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, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, 165, 611, -1, -1, -1, 80, 81, - 82, -1, -1, 620, -1, -1, -1, -1, -1, -1, - 119, 120, -1, 122, -1, 124, 125, -1, -1, -1, - -1, -1, -1, 132, 106, 107, 108, 109, 110, 111, + 10, 17, 9, 177, 27, 49, 176, 11, 329, 19, + 54, 105, 12, 420, 18, 110, 20, 19, 22, 504, + 24, 25, 0, 11, 22, 29, 103, 10, 202, 13, + 34, 35, 27, 272, 273, 16, 19, 276, 277, 49, + 13, 11, 52, 137, 48, 49, 50, 51, 522, 18, + 52, 584, 11, 22, 13, 24, 25, 112, 113, 16, + 11, 59, 11, 20, 13, 34, 35, 24, 89, 52, + 93, 22, 11, 11, 132, 22, 56, 60, 16, 86, + 49, 61, 51, 22, 11, 13, 13, 94, 95, 96, + 110, 111, 99, 100, 132, 16, 16, 101, 93, 18, + 20, 20, 86, 22, 24, 24, 25, 581, 27, 30, + 132, 132, 11, 86, 13, 34, 35, 11, 56, 13, + 15, 10, 11, 61, 13, 658, 14, 16, 138, 132, + 49, 20, 51, 177, 14, 24, 25, 86, 96, 97, + 150, 122, 165, 143, 132, 102, 631, 94, 95, 96, + 97, 132, 196, 197, 110, 325, 14, 112, 202, 86, + 634, 635, 25, 15, 174, 175, 176, 177, 57, 14, + 165, 23, 11, 132, 93, 11, 11, 187, 188, 183, + 14, 16, 421, 166, 188, 187, 188, 86, 283, 31, + 25, 286, 202, 56, 83, 129, 130, 180, 61, 56, + 42, 122, 122, 186, 187, 188, 94, 95, 96, 97, + 56, 132, 132, 14, 94, 95, 96, 97, 14, 188, + 132, 56, 14, 11, 132, 13, 61, 11, 211, 212, + 213, 214, 22, 216, 217, 218, 94, 95, 96, 97, + 11, 411, 13, 132, 22, 39, 165, 263, 22, 94, + 95, 96, 97, 22, 264, 22, 14, 267, 665, 86, + 94, 95, 96, 97, 11, 70, 13, 274, 275, 188, + 86, 592, 255, 256, 257, 258, 259, 260, 261, 262, + 11, 16, 13, 287, 132, 20, 89, 461, 332, 24, + 131, 385, 22, 94, 95, 96, 97, 13, 94, 95, + 96, 97, 94, 95, 96, 97, 33, 34, 291, 292, + 293, 294, 295, 296, 22, 325, 94, 95, 96, 97, + 22, 331, 131, 56, 56, 94, 95, 96, 97, 331, + 313, 56, 86, 22, 573, 254, 16, 132, 44, 416, + 417, 94, 95, 96, 97, 422, 10, 61, 331, 15, + 427, 428, 16, 90, 273, 59, 20, 12, 341, 59, + 24, 292, 293, 346, 295, 296, 30, 537, 131, 13, + 132, 32, 25, 25, 35, 36, 37, 38, 131, 25, + 41, 18, 25, 59, 388, 56, 94, 95, 96, 97, + 99, 22, 94, 95, 96, 97, 419, 11, 99, 12, + 423, 411, 131, 386, 387, 94, 95, 96, 97, 132, + 420, 394, 132, 429, 12, 589, 12, 461, 12, 12, + 590, 131, 22, 430, 419, 16, 433, 132, 423, 80, + 81, 82, 415, 94, 95, 96, 97, 420, 94, 95, + 96, 97, 425, 426, 521, 455, 453, 131, 131, 459, + 56, 461, 11, 32, 99, 11, 35, 36, 37, 38, + 90, 12, 41, 114, 115, 116, 117, 118, 131, 388, + 131, 15, 123, 22, 484, 126, 127, 128, 129, 130, + 22, 131, 484, 131, 131, 468, 88, 494, 22, 496, + 45, 22, 131, 503, 504, 572, 17, 87, 131, 418, + 419, 484, 13, 143, 423, 611, 21, 425, 23, 665, + 80, 26, 522, 28, 29, 94, 95, 96, 97, 532, + 530, 446, 532, 447, 315, 543, 41, 537, 618, 44, + 453, 608, 423, 48, 419, -1, 613, 614, 165, 616, + 55, 56, 57, 58, 59, 589, -1, 557, 80, 81, + 82, -1, -1, 123, -1, 557, 126, 127, 128, 129, + 130, 568, -1, -1, -1, 548, 94, 95, 96, 97, + -1, 581, -1, -1, 557, 591, -1, -1, -1, 589, + 590, -1, 114, 115, 116, 117, 118, 506, 604, -1, + -1, 123, 669, -1, 126, 127, 128, 129, 130, 94, + 95, 96, 97, 131, 94, 95, 96, 97, -1, -1, + 626, 618, -1, -1, 630, -1, -1, -1, 628, -1, + -1, 631, -1, -1, 634, 635, -1, -1, 611, -1, + 72, -1, -1, -1, -1, -1, 131, -1, 80, 81, + 82, 131, -1, -1, -1, 655, 662, 651, -1, -1, + 165, 93, -1, -1, -1, 665, -1, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, - -1, 123, -1, 215, 126, 127, 128, 129, 130, 221, - -1, -1, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 0, 1, - -1, 253, -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, 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, -1, -1, -1, -1, -1, 91, - -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, - 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, - 132, 16, -1, -1, 19, 20, 21, 22, -1, 24, + -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, + 609, 126, 127, 128, 129, 130, 615, -1, -1, -1, + 215, -1, 94, 95, 96, 97, 221, -1, -1, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 0, 1, -1, 253, 131, + -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, 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, + 55, 56, 57, 58, 59, 60, 80, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 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, 471, - -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, 119, 120, -1, 122, -1, 124, - 125, -1, 93, -1, -1, -1, -1, 132, 99, 100, - 101, 102, 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, 537, -1, -1, -1, -1, - -1, -1, -1, 10, 11, 12, 13, -1, -1, 16, - -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, 569, 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, 596, 62, 63, 64, 65, 66, - 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, - 77, 78, 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, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, - 10, 11, 12, 13, -1, 132, 16, -1, -1, 19, + 85, 94, 95, 96, 97, -1, 91, 94, 95, 96, + 97, -1, -1, 98, 118, -1, -1, -1, -1, 123, + -1, -1, 126, 127, 128, 129, 130, -1, 94, 95, + 96, 97, 0, 1, 119, 120, -1, 122, 131, 124, + 125, -1, 10, 11, 131, 13, -1, 132, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 131, -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, -1, -1, + -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, + 98, -1, -1, -1, 72, -1, -1, 472, -1, -1, + -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, + -1, 119, 120, -1, 122, 93, 124, 125, 80, 81, + 82, 99, 100, 101, 132, 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, 115, 116, 117, 118, -1, -1, -1, + -1, 123, -1, 538, 126, 127, 128, 129, 130, 3, + 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, + 10, 11, 12, 13, -1, 570, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, + 30, 31, 32, -1, -1, 35, 36, 37, 38, 594, 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, @@ -1243,18 +1211,18 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, 11, - -1, 13, -1, 132, 16, -1, -1, 19, 20, 21, + 12, 13, -1, 132, 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, -1, -1, 88, -1, -1, 91, + -1, 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, - 122, -1, 124, 125, -1, 10, 11, -1, 13, -1, + 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, 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, @@ -1272,70 +1240,61 @@ static const yytype_int16 yycheck[] = 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, -1, -1, 71, -1, 73, 74, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, -1, 1, - -1, -1, -1, 91, -1, -1, -1, -1, 10, -1, - 98, 13, -1, -1, 16, -1, -1, 19, 20, 21, - 22, -1, 24, 25, -1, -1, -1, 29, 30, -1, - -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, - -1, -1, -1, -1, 132, 47, 48, -1, -1, -1, - 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, - -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, - 1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, - 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, - -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, - 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, - 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, + 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, + 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, + 88, -1, -1, 91, -1, -1, -1, -1, -1, -1, + 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, + 11, -1, 13, -1, 132, 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, -1, -1, -1, -1, -1, - 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, - 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, - 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, - -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, - 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, - -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, - -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, - 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, - 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, - 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, - -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, - -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, - -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, - -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, - -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, - 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, - 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, + 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, + -1, 122, -1, 124, 125, -1, 10, 11, -1, 13, + -1, 132, 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, -1, -1, 71, -1, 73, + 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, -1, 1, -1, -1, -1, 91, -1, -1, + -1, -1, 10, -1, 98, 13, -1, -1, 16, -1, + -1, 19, 20, 21, 22, -1, 24, 25, -1, -1, + -1, 29, 30, -1, -1, 119, 120, -1, 122, -1, + 124, 125, -1, -1, -1, -1, -1, -1, 132, 47, + 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, + 78, 79, -1, -1, 1, 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, - 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, + 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, - -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, + -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, - -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, + -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, @@ -1364,7 +1323,7 @@ static const yytype_int16 yycheck[] = 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, + 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, @@ -1376,7 +1335,7 @@ static const yytype_int16 yycheck[] = 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, - 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, + -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, @@ -1384,7 +1343,7 @@ static const yytype_int16 yycheck[] = 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, - -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, + -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, @@ -1392,54 +1351,82 @@ static const yytype_int16 yycheck[] = -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, - 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, + 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, -1, -1, -1, 72, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, - -1, 119, 120, -1, 122, 93, 124, 125, -1, -1, - -1, 99, 100, 101, 132, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, - 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 93, -1, -1, - -1, -1, -1, 99, 100, 101, -1, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, - 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 99, 100, 101, -1, 103, + -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, + 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, + -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, + -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, + 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, + 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, + 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, + 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, + -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, + -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, + -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, + 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, + 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, + 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, + -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, + -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, + 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, + 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, + -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, + 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, + -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, + 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, + -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, + 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, + 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, 72, -1, + -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, + -1, -1, -1, -1, -1, 119, 120, -1, 122, 93, + 124, 125, -1, -1, -1, 99, 100, 101, 132, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, -1, 101, + -1, -1, -1, -1, -1, -1, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, - 80, 81, 82, 117, 118, -1, -1, -1, -1, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, - 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, - 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 80, 81, 82, -1, -1, -1, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 80, 81, - 82, -1, 123, -1, -1, 126, 127, 128, 129, 130, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 80, 81, 82, -1, 123, -1, -1, 126, 127, 128, - 129, 130, 114, 115, 116, 117, 118, 80, 81, 82, + 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, + -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, + 130, -1, 80, 81, 82, 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, - 81, 82, -1, 123, -1, -1, 126, 127, 128, 129, - 130, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, - -1, -1, -1, -1, 115, 116, 117, 118, -1, -1, - -1, -1, 123, -1, -1, 126, 127, 128, 129, 130, - -1, -1, 116, 117, 118, -1, -1, -1, -1, 123, - -1, -1, 126, 127, 128, 129, 130 + -1, -1, -1, -1, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 80, 81, 82, -1, 123, -1, -1, 126, 127, + 128, 129, 130, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 80, 81, 82, 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, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, + -1, -1, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 80, 81, 82, 123, -1, -1, 126, + 127, 128, 129, 130, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, + 126, 127, 128, 129, 130, 112, 113, 114, 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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1447,74 +1434,73 @@ static const yytype_int16 yycheck[] = static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 134, 135, - 136, 137, 138, 139, 140, 141, 0, 186, 10, 13, + 136, 137, 138, 139, 140, 141, 0, 183, 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, 184, 237, 238, 239, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 253, 260, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 11, 183, 1, 22, + 132, 181, 234, 235, 236, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 250, 257, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 11, 180, 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, 151, - 154, 159, 160, 161, 162, 163, 164, 166, 168, 170, - 172, 174, 175, 176, 178, 179, 180, 182, 183, 196, - 200, 237, 257, 69, 194, 195, 196, 184, 192, 230, - 231, 192, 56, 61, 183, 269, 277, 260, 277, 251, - 277, 251, 277, 277, 251, 122, 132, 254, 269, 270, - 271, 251, 183, 251, 212, 212, 213, 277, 277, 252, - 13, 132, 251, 212, 251, 132, 132, 89, 132, 183, - 251, 56, 184, 238, 259, 269, 277, 183, 277, 260, - 56, 61, 215, 238, 251, 251, 251, 251, 251, 131, - 237, 94, 95, 96, 97, 15, 11, 13, 132, 112, + 154, 155, 156, 157, 158, 159, 160, 162, 164, 166, + 168, 170, 171, 172, 174, 175, 176, 179, 180, 193, + 197, 234, 254, 69, 191, 192, 193, 181, 189, 227, + 228, 189, 56, 61, 180, 266, 274, 257, 274, 248, + 274, 248, 274, 274, 248, 122, 132, 251, 266, 267, + 268, 248, 180, 248, 209, 209, 210, 274, 274, 249, + 13, 132, 248, 209, 248, 132, 132, 89, 132, 180, + 248, 56, 181, 235, 256, 266, 274, 180, 274, 257, + 56, 61, 212, 235, 248, 248, 248, 248, 248, 131, + 234, 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, 186, 214, 56, 56, 255, 269, 270, - 271, 186, 186, 186, 132, 132, 186, 186, 183, 11, - 187, 187, 211, 215, 22, 211, 215, 39, 184, 202, - 22, 32, 35, 36, 37, 38, 41, 22, 195, 196, - 194, 20, 24, 102, 184, 220, 221, 222, 223, 225, - 226, 227, 14, 132, 251, 254, 269, 270, 271, 131, - 237, 86, 218, 70, 184, 216, 86, 184, 217, 217, - 259, 132, 89, 237, 131, 183, 131, 131, 237, 260, - 260, 277, 238, 238, 22, 259, 13, 131, 237, 237, - 237, 237, 251, 237, 237, 131, 237, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 10, 11, 13, 16, 20, - 24, 25, 57, 83, 132, 241, 269, 131, 237, 237, - 237, 237, 237, 237, 237, 237, 192, 56, 184, 210, - 56, 56, 86, 184, 256, 132, 181, 181, 30, 122, - 132, 181, 267, 269, 186, 186, 181, 181, 188, 44, - 177, 211, 167, 211, 183, 199, 237, 199, 199, 207, - 237, 199, 199, 61, 219, 16, 15, 131, 237, 218, - 131, 59, 217, 59, 186, 235, 235, 260, 238, 14, - 240, 131, 90, 131, 237, 12, 237, 13, 22, 14, - 131, 102, 25, 215, 237, 237, 25, 25, 25, 25, - 25, 131, 237, 132, 131, 22, 14, 22, 14, 22, - 14, 22, 12, 18, 185, 11, 22, 217, 59, 99, - 208, 237, 187, 187, 122, 132, 262, 269, 30, 265, - 266, 268, 269, 270, 271, 184, 200, 205, 209, 237, - 187, 265, 156, 207, 206, 237, 187, 187, 192, 186, - 56, 171, 22, 186, 232, 233, 169, 99, 219, 225, - 131, 233, 132, 184, 228, 229, 131, 23, 184, 261, - 259, 131, 14, 237, 12, 251, 132, 22, 14, 131, - 260, 12, 12, 12, 12, 186, 186, 11, 22, 258, - 131, 33, 34, 184, 201, 201, 263, 264, 269, 181, - 158, 22, 202, 157, 181, 131, 131, 12, 132, 184, - 189, 56, 216, 11, 217, 251, 99, 230, 11, 237, - 90, 14, 260, 12, 131, 22, 165, 186, 251, 187, - 181, 15, 155, 187, 181, 152, 181, 187, 204, 204, - 190, 173, 259, 217, 192, 22, 234, 235, 224, 251, - 131, 236, 131, 88, 192, 145, 187, 269, 131, 202, - 187, 206, 187, 202, 187, 187, 269, 187, 22, 232, - 12, 192, 184, 193, 12, 192, 201, 181, 202, 22, - 202, 202, 202, 191, 45, 203, 12, 22, 59, 197, - 12, 187, 153, 131, 183, 17, 87, 184, 198, 202, - 204, 192, 209, 88, 131, 187 + 11, 13, 11, 183, 211, 56, 56, 252, 266, 267, + 268, 183, 183, 183, 132, 132, 183, 183, 180, 11, + 184, 184, 208, 212, 22, 208, 212, 39, 181, 199, + 22, 32, 35, 36, 37, 38, 41, 22, 192, 193, + 191, 20, 24, 102, 181, 217, 218, 219, 220, 222, + 223, 224, 14, 132, 248, 251, 266, 267, 268, 131, + 234, 86, 215, 70, 181, 213, 86, 181, 214, 214, + 256, 132, 89, 234, 131, 180, 131, 131, 234, 257, + 257, 274, 235, 235, 22, 256, 13, 131, 234, 234, + 234, 234, 248, 234, 234, 131, 234, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 238, 266, 131, 234, 234, + 234, 234, 234, 234, 234, 234, 189, 56, 181, 207, + 56, 56, 86, 181, 253, 132, 178, 178, 30, 122, + 132, 177, 178, 264, 266, 183, 183, 178, 178, 185, + 44, 173, 208, 163, 208, 180, 196, 234, 196, 196, + 204, 234, 196, 196, 61, 216, 16, 15, 131, 234, + 215, 131, 59, 214, 59, 183, 232, 232, 257, 235, + 14, 237, 131, 90, 131, 234, 12, 234, 13, 22, + 14, 131, 102, 25, 212, 234, 234, 25, 25, 25, + 25, 25, 131, 234, 132, 131, 22, 14, 22, 14, + 22, 14, 22, 12, 18, 182, 11, 22, 214, 59, + 99, 205, 234, 184, 184, 122, 132, 259, 266, 30, + 262, 263, 265, 266, 267, 268, 181, 197, 202, 206, + 234, 178, 184, 262, 204, 203, 234, 184, 184, 189, + 183, 56, 167, 22, 183, 229, 230, 165, 99, 216, + 222, 131, 230, 132, 181, 225, 226, 131, 23, 181, + 258, 256, 131, 14, 234, 12, 248, 132, 22, 14, + 131, 257, 12, 12, 12, 12, 183, 183, 11, 22, + 255, 131, 33, 34, 181, 198, 198, 260, 261, 266, + 22, 184, 199, 131, 131, 12, 132, 181, 186, 56, + 213, 11, 214, 248, 99, 227, 11, 234, 90, 14, + 257, 12, 131, 22, 161, 183, 248, 184, 178, 15, + 131, 152, 199, 201, 201, 187, 169, 256, 214, 189, + 22, 231, 232, 221, 248, 131, 233, 131, 88, 189, + 145, 184, 266, 203, 184, 184, 266, 184, 22, 229, + 12, 189, 181, 190, 12, 189, 198, 22, 199, 199, + 188, 45, 200, 12, 22, 59, 194, 12, 153, 131, + 180, 17, 87, 181, 195, 201, 189, 206, 88, 131, + 184 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1523,41 +1509,41 @@ static const yytype_int16 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, 150, 150, 152, 153, 151, 154, - 155, 154, 156, 154, 157, 154, 158, 154, 154, 159, - 160, 161, 162, 163, 165, 164, 167, 166, 169, 168, - 171, 170, 173, 172, 174, 175, 177, 176, 178, 179, - 180, 181, 182, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 189, 192, 192, 193, 193, 194, 194, - 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 197, 198, 198, - 199, 200, 200, 200, 200, 200, 200, 200, 200, 201, - 201, 201, 202, 202, 203, 203, 204, 205, 205, 206, - 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, - 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, - 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, - 224, 224, 225, 225, 226, 226, 226, 227, 227, 228, - 228, 229, 231, 230, 232, 232, 233, 234, 234, 236, - 235, 237, 237, 237, 237, 237, 238, 238, 238, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 240, 239, 241, 241, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 244, 244, 244, 244, 244, 245, 245, 246, 246, - 246, 246, 247, 247, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, - 249, 250, 250, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 252, 251, 251, 251, 251, 253, 253, 253, 253, - 254, 254, 254, 254, 254, 255, 255, 255, 256, 256, - 256, 257, 258, 257, 259, 259, 260, 260, 261, 261, - 262, 263, 263, 263, 264, 265, 265, 265, 266, 266, - 267, 267, 268, 269, 270, 271, 272, 272, 273, 274, - 274, 275, 275, 276, 276, 277, 277, 277, 277 + 154, 155, 156, 157, 158, 159, 161, 160, 163, 162, + 165, 164, 167, 166, 169, 168, 170, 171, 173, 172, + 174, 175, 176, 177, 177, 177, 177, 177, 178, 179, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 186, 189, 189, 190, 190, 191, 191, 192, 192, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 194, 195, 195, 196, 197, 197, + 197, 197, 197, 197, 197, 197, 198, 198, 198, 199, + 199, 200, 200, 201, 202, 202, 203, 203, 204, 205, + 206, 207, 207, 208, 209, 210, 211, 212, 212, 213, + 213, 214, 214, 214, 215, 215, 216, 216, 217, 217, + 218, 218, 218, 219, 219, 220, 220, 221, 221, 222, + 222, 223, 223, 223, 224, 224, 225, 225, 226, 228, + 227, 229, 229, 230, 231, 231, 233, 232, 234, 234, + 234, 234, 234, 235, 235, 235, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 237, 236, + 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, + 241, 241, 241, 242, 242, 243, 243, 243, 243, 244, + 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 249, 248, + 248, 248, 248, 250, 250, 250, 250, 251, 251, 251, + 251, 251, 252, 252, 252, 253, 253, 253, 254, 255, + 254, 256, 256, 257, 257, 258, 258, 259, 260, 260, + 260, 261, 262, 262, 262, 263, 263, 264, 264, 265, + 266, 267, 268, 269, 269, 270, 271, 271, 272, 272, + 273, 273, 274, 274, 274, 274 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1565,42 +1551,42 @@ 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, 2, 1, 1, 0, 0, 13, 7, - 0, 10, 0, 7, 0, 8, 0, 8, 5, 4, - 4, 5, 1, 4, 0, 8, 0, 4, 0, 6, - 0, 7, 0, 8, 5, 8, 0, 7, 4, 8, - 2, 3, 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, + 2, 2, 2, 2, 1, 1, 0, 0, 13, 6, + 5, 4, 4, 5, 1, 4, 0, 8, 0, 4, + 0, 6, 0, 7, 0, 8, 5, 8, 0, 7, + 4, 8, 2, 1, 2, 4, 2, 2, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, - 2, 4, 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, 0, 1, 3, 5, - 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 + 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 1, 2, 4, 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, 0, 1, 3, 5, 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 { @@ -1643,35 +1629,35 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, 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_ival, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, - toketype_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_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_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_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_ival, toketype_ival, 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_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_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_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: - * ed69ed0e8ee778771f586800f6aad4530ac4ed81688e0f609b735f32c594d85a perly.y + * c08d7ddc9f8d45fec94e295fa24cd5221f4d8591daf0dbe06275a29e7b7a8352 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index 5ac0d1f2fe9f..102d8c07e867 100644 --- a/perly.y +++ b/perly.y @@ -121,6 +121,7 @@ %type bare_statement_when %type bare_statement_while %type bare_statement_yadayada +%type clause_for_over_cursor %type clause_mexpr %type startsub startanonsub startanonmethod startformsub @@ -389,8 +390,7 @@ bare_statement_for_control bare_statement_for_over : KW_FOR remember - KW_MY - my_scalar[cursor] + clause_for_over_cursor[cursor] clause_mexpr[mexpr] mblock cont @@ -398,70 +398,6 @@ bare_statement_for_over $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); parser->copline = (line_t)$KW_FOR; } - | KW_FOR - remember - KW_MY - PERLY_PAREN_OPEN - my_list_of_scalars[cursor] - { - if ($cursor->op_type == OP_PADSV) - /* degenerate case of 1 var: for my ($x) .... - Flag it so it can be special-cased in newFOROP */ - $cursor->op_flags |= OPf_PARENS; - } - PERLY_PAREN_CLOSE - clause_mexpr[mexpr] - mblock - cont - { - $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); - parser->copline = (line_t)$KW_FOR; - } - | KW_FOR - remember - scalar - { - $$ = op_lvalue ($scalar, OP_ENTERLOOP); - }[cursor] - clause_mexpr[mexpr] - mblock - cont - { - $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); - parser->copline = (line_t)$KW_FOR; - } - | KW_FOR - remember - my_refgen - my_var - { - parser->in_my = 0; - $$ = op_lvalue( - newUNOP(OP_REFGEN, 0, my ($my_var)), - OP_ENTERLOOP - ); - }[cursor] - clause_mexpr[mexpr] - mblock - cont - { - $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); - parser->copline = (line_t)$KW_FOR; - } - | KW_FOR - remember - REFGEN - refgen_topic - { - $$ = op_lvalue (newUNOP(OP_REFGEN, 0, $refgen_topic), OP_ENTERLOOP); - }[cursor] - clause_mexpr[mexpr] - mblock - cont - { - $$ = block_end($remember, newFOROP(0, $cursor, $mexpr, $mblock, $cont)); - parser->copline = (line_t)$KW_FOR; - } | KW_FOR remember clause_mexpr[mexpr] @@ -742,6 +678,46 @@ bare_statement_yadayada } ; +clause_for_over_cursor + : scalar + { + $$ = op_lvalue ($scalar, OP_ENTERLOOP); + } + | KW_MY + my_scalar + { + $$ = $my_scalar; + } + | KW_MY + PERLY_PAREN_OPEN + my_list_of_scalars + PERLY_PAREN_CLOSE + { + if ($my_list_of_scalars->op_type == OP_PADSV) + /* degenerate case of 1 var: for my ($x) .... + Flag it so it can be special-cased in newFOROP */ + $my_list_of_scalars->op_flags |= OPf_PARENS; + $$ = $my_list_of_scalars; + } + | my_refgen + my_var + { + parser->in_my = 0; + $$ = op_lvalue ( + newUNOP (OP_REFGEN, 0, my ($my_var)), + OP_ENTERLOOP + ); + } + | REFGEN + refgen_topic + { + $$ = op_lvalue ( + newUNOP (OP_REFGEN, 0, $refgen_topic), + OP_ENTERLOOP + ); + } + ; + clause_mexpr : PERLY_PAREN_OPEN mexpr