From 8abd20ff3d328a2efb0b7c423388b2b469ce2488 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 | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/t/test.pl b/t/test.pl index af208c5de97b..2ac107e45db1 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,68 @@ sub _print_stderr { print STDERR @_; } +sub assume { + my ($message, %args) = @_; + + # Single assert function which: + # - detects whether code should successed or faile + # - detect comparison method: `is` / `like` + + # Accept named arguments: + # + # eval => code + # - code to evaluate + # - code is evaluated with known and initialized variable: `my $result = q ()` + # + # expect => string / regex + # - when specified it expects evaluated code to not fail and validates result + # - when not specified it just expect evaluated to not fail + # - accepts string (acting as `is`) or regex (acting as `like`) + # + # throws => string / regex + # - when specified it expects evaluated code to fail and validates failure ($@) + # - accepts string (acting as `is`) or regex (acting as `like`) + + 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 aa66a036ab4be49a867869933361a8c49c717e3d 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 198a33ddd331..14428b61f93d 100644 --- a/MANIFEST +++ b/MANIFEST @@ -6351,7 +6351,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 1715b536fe45641258df83a1426d11f584d6de74 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 | 1291 ++++++++++++++++++++++++++--------------------------- perly.y | 22 +- 4 files changed, 681 insertions(+), 682 deletions(-) diff --git a/perly.act b/perly.act index 6776ff465b08..cc57750c82e3 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; @@ -2299,6 +2299,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y + * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index efc4cef4ba22..2c90eed9324b 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y + * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 72a65ffcbd3d..9c5d5ba98f84 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 3753 +#define YYLAST 3765 /* 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 371 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 702 +#define YYNSTATES 698 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -480,7 +480,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-583) +#define YYPACT_NINF (-581) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -494,77 +494,76 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 599, -583, -583, -583, -583, -583, -583, -583, 53, -583, - 3065, 46, 2007, 1890, -583, -583, -583, -583, 182, 3065, - 182, 3065, 182, 3065, 182, 182, 3065, 87, 3065, 2336, - -583, -583, -583, -583, 182, 182, -583, -583, 56, -34, - -583, 3065, -583, -583, 3065, -30, -24, -40, 2336, 2255, - 46, 182, 3065, 6, 3065, 3065, 3065, 3065, 3065, 3065, - 2417, -583, 530, 103, -583, 37, -583, -47, 45, -28, - 62, -583, -583, -583, 3257, -583, -583, 59, 114, 176, - 200, -583, 117, 207, 269, 177, -583, -583, -583, -583, - -583, 156, 173, 267, 105, 112, 13, 118, 124, 125, - 130, 46, 257, 257, -583, 6, -583, -583, -583, 255, - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -583, 6, 242, -583, 262, 432, - 264, 1890, -583, -583, -583, -583, 686, -583, 35, 883, - -583, -583, -583, -583, -583, 275, -583, 366, -583, 366, - -583, -583, 3623, 3146, 2498, 212, -583, -583, -583, 3623, - -583, 3623, 246, 238, 238, 3065, 196, 243, 3065, 211, - 3623, 46, 3257, 213, 2579, 3065, 2255, -583, 3623, 3227, - -583, 103, -583, 2660, 3065, 3065, -583, 308, -583, -583, - 3065, 103, 366, 366, 366, 224, 224, 330, 241, 3065, - 3065, 3065, 3065, 3065, 3065, 3065, 2741, -583, -583, 3065, - -583, -583, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, - 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, - 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, -583, -583, - -583, 3065, 309, 2822, 3065, 3065, 3065, 3065, 3065, 3065, - 3065, -583, 302, 305, 307, 212, -583, -583, -583, -583, - -583, 249, 397, -583, -583, 228, -583, -583, -583, -583, - -583, -583, 321, -583, -583, -583, -583, -583, -583, 46, - -583, -583, -583, 3065, 3065, 3065, 3065, 3065, 3065, -583, - -583, -583, -583, -583, -583, -583, -583, 323, -583, 369, - -583, -583, 376, -583, -583, 2903, 366, 212, 82, 99, - 168, -583, 251, 338, -583, -583, -583, 238, 343, -583, - 1, 1, -583, 3065, 3065, 20, -583, -583, -583, -583, - 403, 316, 278, 3065, 103, 103, 399, -583, 3065, 401, - 100, 100, -583, -583, 3361, 273, 26, -583, 415, 3544, - 3584, 3465, 366, 358, 3431, 3309, 3361, 3361, 1034, 713, - 713, 713, 3504, 3504, 3526, 3565, 3584, 3584, 3544, 3544, - 3604, 1049, 3431, 358, 366, 366, 74, 63, 3065, 3065, - 80, 390, 395, 410, -583, 411, 2984, 290, -583, -583, - 436, 284, 64, 293, 120, 299, 139, 304, 1000, -583, - -583, 406, 162, 212, -583, -583, 329, 3065, 3065, -583, - 7, -583, -583, 310, -583, -583, -583, -583, 2093, 267, - -583, 3065, 3065, 3065, 3065, -583, -583, 381, -583, 417, - -583, -583, -583, 530, -583, -583, -583, 530, -583, -583, - -583, 341, 323, 35, 68, 460, -583, -583, -583, 434, - -583, 311, -583, -583, 327, 18, -583, 3065, -583, -583, - -583, 469, -583, 152, 3065, 440, -583, -583, 3065, -583, - 322, 335, 164, -583, -583, -583, -583, -583, -583, 485, - 3065, -583, 448, -583, 449, -583, 451, -583, 454, -583, - -583, -583, -583, -583, 199, -583, 340, 530, 346, 456, - 342, -583, -583, -583, -583, -583, 347, 457, 111, -583, - 3065, 352, 360, 530, 372, 373, 1188, 375, 462, 246, - -583, 494, -583, -583, 238, 3065, 414, -583, 88, -583, - -583, -583, 505, -583, -583, 3065, -583, 430, -583, -583, - -583, 169, -583, 3413, 3065, 509, -583, -583, 391, -583, - -583, -583, -583, 515, -583, -583, -583, 3065, 257, 257, - 523, 409, -583, 3065, 3065, 257, -583, 418, 420, -583, - -583, 257, 257, -583, -583, -583, -583, 3065, 238, -583, - 519, 3257, 3065, 421, -583, 530, -583, -583, 427, -583, - -583, 471, -583, -583, 3257, 190, 190, 456, 428, 431, - 438, 242, 3065, 3065, 257, 257, 257, -583, -583, 456, - 257, 520, 417, 1305, -583, -583, -583, -583, 3257, -583, - -583, -583, -583, 1422, -583, 257, 439, -583, -583, -583, - -583, 3065, 257, 257, -583, 550, 443, 242, 242, 242, - -583, 538, -583, -583, -583, 1539, -583, 5, -583, 1656, - -583, 3065, 453, 242, 242, -583, 257, -583, -583, -583, - 461, 46, -583, -583, 568, 500, -583, -583, 463, 257, - -583, -583, -583, 242, -583, -583, -583, -583, -583, -583, - 257, 242, 2174, -583, 1773, 190, -583, 466, -583, -583, - 257, -583 + 518, -581, -581, -581, -581, -581, -581, -581, 43, -581, + 3159, 49, 2101, 1984, -581, -581, -581, -581, 253, 3159, + 253, 3159, 253, 3159, 253, 253, 3159, 17, 3159, 2430, + -581, -581, -581, -581, 253, 253, -581, -581, 61, -67, + -581, 3159, -581, -581, 3159, -36, -15, -18, 2430, 2349, + 49, 253, 3159, 2, 3159, 3159, 3159, 3159, 3159, 3159, + 2511, -581, 254, 106, -581, 15, -581, -43, 47, -27, + 56, -581, -581, -581, 617, -581, -581, 68, 109, 147, + 188, -581, 173, 219, 231, 176, -581, -581, -581, -581, + -581, 125, 169, 52, -581, -581, -581, 99, 104, -581, + -581, 49, 232, 232, -581, 2, -581, -581, -581, 225, + -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, 2, 212, -581, 241, 359, + 243, 1984, -581, -581, -581, -581, 864, -581, 33, 981, + -581, -581, -581, -581, -581, 240, -581, 309, -581, 309, + -581, -581, 3635, 3240, 2592, 197, -581, -581, -581, 3635, + -581, 3635, 204, 199, 199, 3159, 155, 210, 3159, 171, + 3635, 49, 617, 172, 2673, 3159, 2349, -581, 3635, 3321, + -581, 106, -581, 2754, 3159, 3159, -581, 278, -581, -581, + 3159, 106, 309, 309, 309, 275, 275, 292, 235, 3159, + 3159, 3159, 3159, 3159, 3159, 3159, 2835, -581, -581, 3159, + -581, -581, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, + 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, + 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, -581, -581, + -581, 3159, 178, 2916, 3159, 3159, 3159, 3159, 3159, 3159, + 3159, -581, 250, 264, 271, 197, -581, -581, -581, 196, + 201, 8, -581, -581, 202, 211, -581, -581, 303, -581, + -581, -581, -581, -581, -581, 49, -581, -581, -581, 3159, + 3159, 3159, 3159, 3159, 3159, -581, -581, -581, -581, -581, + -581, -581, -581, 297, -581, 337, -581, -581, 362, -581, + -581, 2997, 309, 197, 41, 51, 92, -581, 321, 319, + -581, -581, -581, 199, 320, -581, 21, 21, -581, 3159, + 3159, 13, -581, -581, -581, -581, 397, 291, 256, 3159, + 106, 106, 378, -581, 3159, 379, 58, 58, -581, -581, + 3351, 114, 77, -581, 413, 449, 3596, 3455, 309, 354, + 420, 1015, 3351, 3351, 683, 3494, 3494, 3494, 3517, 3517, + 3556, 3577, 3596, 3596, 449, 449, 3616, 477, 420, 354, + 309, 309, 119, 136, 3159, 3159, 403, 373, 381, 384, + -581, 385, 3078, 288, -581, -581, 422, 228, 110, 260, + 118, 268, 127, 273, 1165, -581, -581, 404, 39, 197, + -581, -581, 330, 3159, 3159, 1, 592, 2187, 52, 298, + 3159, 3159, 3159, 3159, -581, -581, 377, -581, 421, -581, + -581, -581, 254, -581, -581, -581, 254, -581, -581, -581, + 343, 297, 33, 16, 489, -581, -581, -581, 434, -581, + 317, -581, -581, 326, 170, -581, 3159, -581, -581, -581, + 493, -581, 132, 3159, 439, -581, -581, 3159, -581, 328, + 289, 143, -581, -581, -581, -581, -581, -581, 531, 3159, + -581, 446, -581, 451, -581, 453, -581, 456, -581, -581, + -581, -581, -581, 44, -581, 344, 254, 345, -581, 445, + 346, -581, -581, -581, 347, -581, -581, -581, -581, -581, + -581, -581, 355, 463, 221, -581, 3159, 356, 358, 254, + 366, 367, 1282, 374, 455, 204, -581, 501, -581, -581, + 199, 3159, 415, -581, 27, -581, -581, -581, 521, -581, + -581, 3159, -581, 444, -581, -581, -581, 182, -581, 3403, + 3159, 523, -581, -581, 405, -581, -581, -581, -581, 519, + -581, -581, -581, 3159, 232, 232, 527, 424, -581, 3159, + 3159, 232, -581, 419, 425, -581, -581, 232, 232, -581, + -581, -581, -581, 3159, 199, -581, 530, 617, 3159, 431, + -581, 254, -581, -581, 437, -581, -581, 482, -581, -581, + 617, 255, 255, 445, 448, 440, 450, 212, 3159, 3159, + 232, 232, 232, -581, -581, 445, 232, 574, 421, 1399, + -581, -581, -581, -581, 617, -581, -581, -581, -581, 1516, + -581, 232, 467, -581, -581, -581, -581, 3159, 232, 232, + -581, 579, 478, 212, 212, 212, -581, 566, -581, -581, + -581, 1633, -581, 29, -581, 1750, -581, 3159, 484, 212, + 212, -581, 232, -581, -581, -581, 488, 49, -581, -581, + 596, 534, -581, -581, 498, 232, -581, -581, -581, 212, + -581, -581, -581, -581, -581, -581, 232, 212, 2268, -581, + 1867, 255, -581, 499, -581, -581, 232, -581 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -581,8 +580,8 @@ static const yytype_int16 yydefact[] = 0, 339, 340, 181, 320, 285, 269, 225, 237, 226, 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, 282, 284, 281, 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, @@ -598,88 +597,87 @@ static const yytype_int16 yydefact[] = 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, 59, 59, 0, 0, 59, 331, 333, 332, 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, 148, 147, 153, 163, 145, 159, 0, - 158, 162, 164, 169, 259, 0, 325, 0, 280, 283, - 282, 327, 0, 142, 322, 137, 136, 59, 140, 138, - 264, 266, 192, 59, 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, 365, 363, 367, 199, 0, 0, 189, 200, 292, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 129, 0, 0, 59, 143, 144, 334, 0, 0, 353, - 0, 354, 351, 0, 352, 348, 349, 350, 0, 0, - 61, 0, 123, 0, 0, 59, 61, 0, 45, 61, - 43, 117, 107, 104, 108, 111, 110, 125, 109, 112, - 146, 149, 145, 160, 279, 0, 324, 326, 141, 262, - 139, 59, 263, 265, 0, 59, 213, 59, 316, 196, - 195, 0, 260, 0, 0, 0, 204, 210, 0, 298, - 191, 0, 0, 295, 297, 296, 299, 360, 208, 0, - 59, 293, 0, 202, 0, 286, 0, 287, 0, 58, - 61, 34, 61, 38, 0, 335, 0, 126, 0, 0, - 0, 343, 61, 121, 122, 127, 0, 0, 106, 30, - 0, 0, 0, 124, 0, 0, 0, 59, 0, 59, - 171, 0, 42, 170, 59, 150, 154, 161, 277, 261, - 168, 165, 0, 166, 193, 0, 341, 0, 198, 187, - 214, 0, 207, 273, 59, 0, 203, 209, 0, 205, - 288, 289, 201, 0, 39, 61, 17, 0, 0, 0, - 347, 0, 346, 0, 0, 0, 24, 0, 0, 120, - 120, 0, 0, 62, 65, 64, 47, 59, 59, 59, - 61, 151, 156, 0, 175, 342, 318, 212, 0, 206, - 188, 0, 59, 18, 336, 59, 59, 344, 0, 0, - 0, 59, 123, 0, 0, 0, 0, 35, 53, 0, - 0, 0, 61, 0, 174, 44, 173, 155, 157, 167, - 59, 190, 59, 0, 59, 0, 0, 113, 36, 49, - 345, 0, 0, 0, 33, 0, 0, 59, 59, 59, - 66, 118, 52, 46, 172, 0, 70, 0, 40, 0, - 114, 0, 0, 59, 59, 25, 0, 29, 50, 54, - 0, 0, 48, 176, 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, 331, 333, 332, 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, 148, + 147, 153, 163, 145, 159, 0, 158, 162, 164, 169, + 259, 0, 325, 0, 280, 283, 282, 327, 0, 142, + 322, 137, 136, 59, 140, 138, 264, 266, 192, 59, + 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, 365, 363, 367, + 199, 0, 0, 189, 200, 292, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, + 143, 144, 334, 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, 146, + 149, 145, 160, 279, 0, 324, 326, 141, 262, 139, + 59, 263, 265, 0, 59, 213, 59, 316, 196, 195, + 0, 260, 0, 0, 0, 204, 210, 0, 298, 191, + 0, 0, 295, 297, 296, 299, 360, 208, 0, 59, + 293, 0, 202, 0, 286, 0, 287, 0, 58, 61, + 34, 61, 38, 0, 335, 0, 126, 0, 353, 0, + 0, 343, 354, 351, 0, 352, 348, 349, 350, 121, + 122, 127, 0, 0, 106, 30, 0, 0, 0, 124, + 0, 0, 0, 59, 0, 59, 171, 0, 42, 170, + 59, 150, 154, 161, 277, 261, 168, 165, 0, 166, + 193, 0, 341, 0, 198, 187, 214, 0, 207, 273, + 59, 0, 203, 209, 0, 205, 288, 289, 201, 0, + 39, 61, 17, 0, 0, 0, 347, 0, 346, 0, + 0, 0, 24, 0, 0, 120, 120, 0, 0, 62, + 65, 64, 47, 59, 59, 59, 61, 151, 156, 0, + 175, 342, 318, 212, 0, 206, 188, 0, 59, 18, + 336, 59, 59, 344, 0, 0, 0, 59, 123, 0, + 0, 0, 0, 35, 53, 0, 0, 0, 61, 0, + 174, 44, 173, 155, 157, 167, 59, 190, 59, 0, + 59, 0, 0, 113, 36, 49, 345, 0, 0, 0, + 33, 0, 0, 59, 59, 59, 66, 118, 52, 46, + 172, 0, 70, 0, 40, 0, 114, 0, 0, 59, + 59, 25, 0, 29, 50, 54, 0, 0, 48, 176, + 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[] = { - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, -583, -4, -10, -583, 23, -67, -583, - -583, -583, -583, -16, -583, 580, 468, -1, -583, -583, - 79, -425, -582, -308, -583, -552, -583, -14, 179, -334, - -81, -583, -93, 44, -583, -583, -83, 84, -172, -150, - 202, 165, -583, -583, -583, -583, -583, 166, -583, -583, - -583, -583, 81, -583, -2, 171, -583, -312, -583, 16, - -44, -583, -583, -583, -583, -583, -583, -583, -583, -583, - -583, -583, -583, 635, -583, -583, 472, -583, -583, -583, - -162, -15, -583, -583, -583, -583, 203, -583, -583, 359, - 36, -21, -19, -583, -583, -583, -583, -583, 55 + -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, -1, 76, -581, + -581, -581, -581, -16, -581, 618, 495, 3, -581, -581, + -74, -413, -580, -299, -581, -563, -581, 30, 223, -336, + -42, -581, -98, 25, -581, -581, -99, 123, -171, -146, + 246, 215, -581, -581, -581, -581, -581, 217, -581, -581, + -581, -581, 129, -581, 48, 220, -581, -316, -581, 82, + -44, -581, -581, -581, -581, -581, -581, -581, -581, -581, + -581, -581, -581, 616, -581, -581, 513, -581, -581, -581, + -152, -17, -581, -581, -581, -581, 261, -581, -581, 266, + 55, 7, 32, -581, -581, -581, -581, -581, 94 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 634, 114, 115, 116, 117, 118, 612, 682, - 577, 119, 120, 121, 122, 123, 124, 602, 125, 439, - 126, 534, 127, 529, 128, 620, 129, 130, 131, 437, - 132, 133, 134, 135, 136, 145, 501, 461, 282, 435, - 586, 619, 670, 146, 657, 302, 143, 144, 676, 689, - 442, 138, 638, 291, 672, 615, 515, 522, 446, 506, - 517, 411, 284, 172, 174, 262, 200, 327, 330, 415, - 416, 451, 307, 308, 309, 310, 627, 311, 312, 313, - 542, 543, 147, 148, 532, 533, 625, 462, 630, 139, - 63, 64, 467, 397, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 177, 75, 165, 265, 140, 567, - 192, 76, 547, 510, 570, 571, 422, 423, 274, 77, + 112, 113, 630, 114, 115, 116, 117, 118, 608, 678, + 573, 119, 120, 121, 122, 123, 124, 598, 125, 428, + 126, 530, 127, 525, 128, 616, 129, 130, 131, 426, + 132, 133, 134, 135, 136, 145, 490, 450, 278, 424, + 582, 615, 666, 146, 653, 298, 143, 144, 672, 685, + 431, 138, 634, 287, 668, 611, 511, 518, 435, 495, + 513, 407, 280, 172, 174, 262, 200, 323, 326, 411, + 412, 440, 303, 304, 305, 306, 623, 307, 308, 309, + 538, 539, 147, 148, 528, 529, 621, 451, 626, 139, + 63, 64, 456, 393, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 177, 75, 165, 265, 140, 563, + 192, 76, 543, 500, 566, 567, 503, 504, 418, 77, 78, 79, 80, 81, 82, 83, 84, 85, 156 }; @@ -688,141 +686,127 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 149, 331, 514, 155, 191, 167, 87, 168, 61, - 201, 137, -61, 332, 152, 324, 152, 287, 152, 463, - 152, 152, 285, 20, 639, 170, 62, 674, 616, 20, - 152, 152, 17, 213, 466, 62, 283, 197, 347, 190, - 476, 545, 61, 271, 187, 152, 195, 152, 214, 185, - 215, -152, 288, 16, 153, 303, 153, 86, 153, 304, - 153, 153, 198, 166, 675, 217, 218, 199, 62, 178, - 153, 153, 267, 154, 268, 173, 208, 158, 493, 160, - 161, 348, 220, 221, 508, 193, 181, 153, 479, 175, - 176, 86, 186, 254, 516, 255, 20, 280, 179, 524, - 525, 474, 183, 20, 194, 483, 196, 22, 184, 261, - -362, 24, -362, 699, 209, 210, 211, 212, 213, 198, - 209, 210, 211, 212, 199, 254, 290, 255, -366, 266, - 692, 191, 275, -61, 495, 272, 150, 305, 306, 509, - 301, 151, 319, 293, 320, 273, 294, 295, 296, 297, - 344, 345, 298, 497, -327, 459, 191, 219, 209, 210, - 211, 212, 326, 329, 329, 190, 550, 456, -328, 216, - 341, 342, 222, 502, -326, 61, 61, 337, 556, -364, - 322, -364, 152, 597, 503, -330, 578, -362, 260, -362, - 190, 253, 438, 86, 335, 440, 211, 212, 20, 318, - 340, 62, 62, -370, 252, 209, 210, 211, 212, 163, - 565, -364, 263, -364, 209, 210, 211, 212, 256, 164, - 257, 566, 193, 635, 636, 350, 351, 352, 353, 264, - 355, 356, 358, 209, 210, 211, 212, 269, 150, 609, - 610, 343, -126, 151, 270, 408, 209, 210, 211, 212, - 276, 426, 410, 427, -329, 414, 277, 278, 209, 210, - 211, 212, 279, 209, 210, 211, 212, 514, 281, 400, - 401, 402, 403, 404, 405, 406, 407, 286, 626, 646, - 258, 289, 259, 20, 292, 441, 299, 22, 398, 314, - 465, 24, 417, 418, 420, 475, 428, 429, 323, 431, - 432, 433, 434, 644, 480, 548, 492, 662, 425, 443, - 443, 443, 447, 443, 443, 494, 325, 329, 464, 387, - 388, 496, 389, 61, 328, 390, 498, 678, 333, 391, - 346, 455, 334, 392, 393, 209, 210, 211, 212, 667, - 668, 669, 336, 348, 338, 209, 210, 211, 212, 62, - -370, -370, -370, 251, 252, 680, 681, 555, 409, 471, - 430, 412, 590, 413, 473, 436, 394, 209, 210, 211, - 212, 419, 349, 444, 445, 693, 448, 449, 209, 210, - 211, 212, 457, 696, 450, 452, 152, 209, 210, 211, - 212, 453, 395, 209, 210, 211, 212, 458, 209, 210, - 211, 212, 460, 414, 481, 482, 469, 18, 426, 470, - 427, 472, 489, 20, 474, 484, 622, 22, 513, 526, - 485, 24, 490, 191, 500, 621, 153, 421, 505, 209, - 210, 211, 212, 507, 507, 486, 487, 528, 224, 530, - 535, 396, 512, 540, 518, -61, 224, 447, 523, 507, - 507, 541, 552, 520, 554, 546, 511, 190, 544, 527, - 559, 560, 531, 561, 293, 425, 562, 294, 295, 296, - 297, 568, 20, 298, 573, 558, 246, 569, 575, 576, - 61, 247, 531, 579, 248, 249, 250, 251, 252, 247, - 551, 580, 248, 249, 250, 251, 252, 209, 210, 211, - 212, 605, 606, 581, 582, 589, 62, 584, 611, 209, - 210, 211, 212, 592, 617, 618, 594, 585, 587, 326, - 596, 599, 600, 563, 329, 564, 209, 210, 211, 212, - 209, 210, 211, 212, 468, 574, 507, 601, 607, 598, - 608, 624, 652, 191, 61, 572, 477, 647, 648, 649, - 613, 614, 629, 651, 209, 210, 211, 212, 631, 632, - 641, 595, 642, 209, 210, 211, 212, 491, 660, 643, - 62, 661, 665, 623, 666, 663, 664, 190, 329, 209, - 210, 211, 212, 671, 679, 686, 633, 687, 603, 507, - 507, 538, 684, 142, 690, 637, 637, 700, 645, 683, - 549, 290, 1, 2, 3, 4, 5, 6, 7, 300, - 521, 697, 691, 588, 655, 504, 557, 536, 659, 537, - 653, 593, 656, 695, 209, 210, 211, 212, 523, 507, - 539, 424, 519, 701, 0, 317, 0, 290, 290, 290, - 0, 0, 0, 640, 0, 531, 0, 0, 0, 0, - 0, 0, 0, 290, 290, 650, 157, 507, 159, 0, - 0, 162, 0, 169, 171, 688, 0, 685, 0, 0, - 0, 694, 0, 290, 0, 0, 180, 507, 0, 182, - 0, 290, 513, 188, 0, 637, -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, 0, 0, 0, 0, 0, - 0, 0, 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, + 61, 149, 155, 327, 510, 191, 281, 87, 17, 61, + 201, 452, 283, 612, 152, 137, 152, 20, 152, 320, + 152, 152, 635, 328, 20, 170, 214, 455, 215, 344, + 152, 152, -61, 20, 167, 197, 284, 22, 415, 190, + 463, 24, 61, 16, 187, 152, 195, 152, 343, -152, + 491, 670, 254, 299, 255, 561, 173, 300, 198, 168, + 86, 492, -362, 199, -362, 179, 562, 181, 20, 217, + 218, 185, 22, 153, 178, 153, 24, 153, 497, 153, + 153, 512, 166, 220, 221, 261, 520, 521, 671, 153, + 153, 465, 62, 269, 270, 271, 183, 276, 274, 275, + 267, 62, -327, -364, 193, -364, 153, 209, 210, 211, + 212, 695, 154, -326, 186, 688, 158, 184, 160, 161, + 254, 213, 255, 498, 482, 268, 286, -328, 175, 176, + 416, 191, 484, 499, 62, 301, 464, -330, 302, 163, + 417, 486, 208, 194, 297, 196, 546, 216, 266, 164, + 340, 341, 448, -61, 211, 212, 191, 552, -362, 219, + -362, 468, 322, 325, 325, 190, 222, 445, 337, 338, + 315, 209, 210, 211, 212, 61, 61, 333, -329, 279, + 574, 263, 152, 427, -366, 213, 429, 260, 383, 384, + 190, 385, 198, 541, 386, 316, 593, 199, 387, -364, + 253, -364, 388, 389, 209, 210, 211, 212, 209, 210, + 211, 212, 209, 210, 211, 212, 433, 434, 314, 437, + 438, 209, 210, 211, 212, 264, 209, 210, 211, 212, + 256, 272, 257, 605, 606, 390, 273, 209, 210, 211, + 212, 193, 258, 277, 259, 404, 318, 282, -370, 252, + 481, 285, 406, 289, 310, 410, 290, 291, 292, 293, + 331, 391, 294, 288, 86, 295, 336, 62, 62, 20, + 622, 420, 421, 642, 321, 510, 209, 210, 211, 212, + 339, 430, 483, 319, 469, 324, 454, 329, 631, 632, + 485, 346, 347, 348, 349, 487, 351, 352, 354, 330, + 342, 658, 332, 334, 544, 344, 405, 394, 640, 150, + 392, 551, 453, 325, 151, 209, 210, 211, 212, 61, + 408, 674, 209, 210, 211, 212, 419, 409, 413, 209, + 210, 211, 212, 414, 422, 396, 397, 398, 399, 400, + 401, 402, 403, 423, 663, 664, 665, 425, 209, 210, + 211, 212, -126, 441, 209, 210, 211, 212, 439, 586, + 676, 677, 209, 210, 211, 212, 345, 209, 210, 211, + 212, 432, 432, 432, 436, 432, 432, 442, 447, 449, + 689, 458, 152, 209, 210, 211, 212, 459, 692, 224, + 461, 289, 463, 444, 290, 291, 292, 293, 473, 410, + 294, -370, -370, -370, 251, 252, 474, 509, 522, 475, + 476, 62, 191, 618, 86, 209, 210, 211, 212, 20, + 479, 460, 489, 507, 523, 507, 462, 527, 472, 494, + 516, 617, 247, 524, 224, 248, 249, 250, 251, 252, + 537, 153, 531, 526, 542, -61, 190, 527, 508, 536, + 508, 548, 446, 209, 210, 211, 212, 540, 555, 150, + 550, 20, 554, 556, 151, 557, 470, 471, 558, 61, + 501, 506, 246, 506, 478, 564, 565, 247, 569, 570, + 248, 249, 250, 251, 252, 572, 571, 575, 559, 576, + 560, 209, 210, 211, 212, 496, 496, 577, 578, 514, + 224, 225, 436, 519, 496, 496, 580, 209, 210, 211, + 212, 583, 585, 581, 588, 322, 209, 210, 211, 212, + 325, 1, 2, 3, 4, 5, 6, 7, 457, 224, + 225, 226, 590, 594, 592, 595, 596, 245, 246, 191, + 61, 597, 603, 247, 466, 547, 248, 249, 250, 251, + 252, 609, 620, 480, 568, 604, 610, 224, 225, 226, + 599, 62, 625, 242, 243, 244, 245, 246, 627, 619, + 628, 638, 247, 190, 325, 248, 249, 250, 251, 252, + 637, 639, 629, 209, 210, 211, 212, 209, 210, 211, + 212, 633, 633, 244, 245, 246, 648, 286, 496, 657, + 247, 661, 18, 248, 249, 250, 251, 252, 20, 662, + 651, 667, 22, 682, 655, 675, 24, 527, 652, 680, + 534, 683, 502, 591, 545, 209, 210, 211, 212, 686, + 696, 142, 62, 286, 286, 286, 296, 157, 641, 159, + 601, 602, 162, 517, 169, 171, 693, 607, 584, 286, + 286, 496, 496, 613, 614, 493, 532, 180, 636, 533, + 182, 684, 553, 681, 188, 589, 649, 690, 535, 286, + 646, 202, 203, 204, 205, 206, 313, 286, 509, 515, + 0, 633, 505, 0, 0, 0, 643, 644, 645, 223, + 519, 496, 647, 0, 0, 0, 0, 224, 225, 226, + 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, + 227, 0, 0, 0, 659, 660, 228, 229, 230, 496, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 0, 0, 679, 496, + 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, + 0, 687, 0, 0, 0, 223, 0, 0, 0, 0, + 0, 0, 691, 224, 225, 226, 0, 0, 0, 0, + 0, 0, 697, 0, 0, 0, 227, 0, 0, 312, + 0, 0, 228, 229, 230, 467, 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, 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, + 249, 250, 251, 252, 0, 0, 0, 0, 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, 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, 553, 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, 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, - 591, 0, 247, 0, 0, 248, 249, 250, 251, 252, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 86, - 583, 19, 604, 0, 20, 0, 0, 21, 22, 23, - 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, - 94, 0, 0, 95, 96, 97, 98, 628, 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, -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, 549, 0, 0, 0, 223, 0, 0, + 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, + 55, 56, 0, 57, 0, 58, 59, 0, -370, 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, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, - 57, 0, 58, 59, 0, 18, 86, 654, 19, 0, - 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, + 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 18, 86, 488, 19, 600, + 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, + 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, 141, 0, 44, 0, 109, 45, @@ -831,7 +815,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, 658, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 579, 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, @@ -843,7 +827,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, 673, 19, 0, 60, 20, 0, 0, 21, 22, + 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, 105, @@ -854,7 +838,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, 677, 19, + 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, @@ -866,7 +850,7 @@ static const yytype_int16 yytable[] = 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, + 58, 59, 0, 18, 86, 669, 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, @@ -874,11 +858,11 @@ static const yytype_int16 yytable[] = 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, 698, 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, 673, 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, @@ -895,79 +879,70 @@ static const yytype_int16 yytable[] = 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, 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, 32, + 51, 52, 53, 0, 0, 694, 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, 0, 0, 0, 44, 0, 0, 45, 46, + 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, 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, -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, 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, 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, - 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, - 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, + 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, + 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, 207, 60, + 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, + 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, 321, - 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, - 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 57, 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, - -369, 254, 0, 255, 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, - 339, 60, -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, 18, 0, 0, 19, 0, 0, 20, -369, 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, -369, - -369, 0, -369, 0, -369, -369, 0, 0, 28, 29, - 0, 0, -369, 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, @@ -975,7 +950,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, 357, 60, 30, 31, 0, 32, 33, 34, + 29, 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, @@ -983,23 +958,23 @@ 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, 399, 60, 30, 31, 0, 32, 33, + 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, 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, -369, 254, 0, 255, 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, 28, 29, 0, 454, 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, -369, -369, 0, 335, 60, -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, 18, 0, 0, 19, 0, - 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, + 0, 20, -369, 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, 31, 0, + 0, 0, 0, -369, -369, 0, -369, 0, -369, -369, + 0, 0, 28, 29, 0, 0, -369, 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, @@ -1007,202 +982,212 @@ 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, 0, 60, 30, 31, + 59, 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, 53, 0, 0, 0, 0, 0, -368, 0, 0, - -368, 0, 0, -368, 54, 0, -368, -368, -368, 0, - 0, -368, -368, 0, 0, 0, -368, -368, 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, -368, -368, 0, 0, 315, -368, - -368, 0, -368, -368, -368, -368, -368, -368, 0, -368, - -368, -368, -368, -368, -368, 0, 0, 0, -368, 0, - 0, -368, -368, -368, -368, -368, -368, 0, 0, 0, - -368, -368, -368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -368, 0, 0, 0, 223, - 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, - 0, 0, 0, 0, 0, 0, -368, -368, 0, -368, - 227, -368, -368, 0, 0, 0, 228, 229, 230, -368, - 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, -370, 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, + 58, 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, 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, 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, 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, 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, + 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, -368, 0, 0, -368, 0, 0, -368, 54, 0, + -368, -368, -368, 0, 0, -368, -368, 0, 0, 0, + -368, -368, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 57, 0, 58, 59, 0, 0, -368, -368, + 0, 0, 311, -368, -368, 0, -368, -368, -368, -368, + -368, -368, 0, -368, -368, -368, -368, -368, -368, 0, + 0, 0, -368, 0, 0, -368, -368, -368, -368, -368, + -368, 0, 0, 0, -368, -368, -368, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, + 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 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, + -368, -368, 0, -368, 0, -368, -368, 0, 0, 0, + 228, 229, 230, -368, 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, 224, 225, 0, 230, 0, 231, 232, 233, 234, + 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, -370, 0, 248, - 249, 250, 251, 252, 0, 224, 225, 226, 245, 246, - 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, - 251, 252, 0, 0, 0, 0, 0, 0, 231, 232, + 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, 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, 242, 243, - 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, -370, 243, + 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, 0, 0, 0, 243, 244, - 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, - 249, 250, 251, 252 + 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, + -370, 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 }; static const yytype_int16 yycheck[] = { - 10, 17, 174, 428, 19, 49, 27, 11, 27, 19, - 54, 12, 11, 175, 18, 165, 20, 110, 22, 331, - 24, 25, 105, 16, 606, 29, 10, 22, 580, 16, - 34, 35, 9, 15, 14, 19, 103, 52, 200, 49, - 14, 23, 52, 30, 48, 49, 50, 51, 11, 89, - 13, 16, 135, 0, 18, 20, 20, 11, 22, 24, - 24, 25, 56, 27, 59, 112, 113, 61, 52, 13, - 34, 35, 93, 18, 93, 31, 60, 22, 14, 24, - 25, 13, 110, 111, 418, 49, 42, 51, 25, 34, - 35, 11, 132, 11, 428, 13, 16, 101, 132, 433, - 434, 13, 132, 16, 49, 25, 51, 20, 132, 86, - 11, 24, 13, 695, 94, 95, 96, 97, 15, 56, - 94, 95, 96, 97, 61, 11, 136, 13, 11, 93, - 682, 175, 96, 132, 14, 122, 56, 102, 148, 132, - 141, 61, 163, 32, 163, 132, 35, 36, 37, 38, - 194, 195, 41, 14, 86, 327, 200, 112, 94, 95, - 96, 97, 172, 173, 174, 175, 14, 317, 86, 132, - 185, 186, 110, 11, 86, 185, 186, 181, 14, 11, - 164, 13, 186, 14, 22, 86, 520, 11, 11, 13, - 200, 132, 285, 11, 178, 288, 96, 97, 16, 163, - 184, 185, 186, 129, 130, 94, 95, 96, 97, 122, - 11, 11, 56, 13, 94, 95, 96, 97, 11, 132, - 13, 22, 186, 33, 34, 209, 210, 211, 212, 56, - 214, 215, 216, 94, 95, 96, 97, 132, 56, 573, - 574, 186, 131, 61, 132, 261, 94, 95, 96, 97, - 132, 272, 262, 272, 86, 265, 132, 132, 94, 95, - 96, 97, 132, 94, 95, 96, 97, 692, 11, 253, - 254, 255, 256, 257, 258, 259, 260, 22, 590, 613, - 11, 39, 13, 16, 22, 289, 22, 20, 252, 14, - 334, 24, 269, 270, 271, 22, 273, 274, 86, 276, - 277, 278, 279, 611, 387, 467, 22, 641, 272, 293, - 294, 295, 296, 297, 298, 22, 70, 327, 333, 10, - 11, 22, 13, 333, 86, 16, 22, 661, 132, 20, - 22, 315, 89, 24, 25, 94, 95, 96, 97, 647, - 648, 649, 131, 13, 131, 94, 95, 96, 97, 333, - 126, 127, 128, 129, 130, 663, 664, 22, 56, 343, - 132, 56, 534, 56, 348, 44, 57, 94, 95, 96, - 97, 122, 131, 294, 295, 683, 297, 298, 94, 95, - 96, 97, 131, 691, 61, 16, 390, 94, 95, 96, - 97, 15, 83, 94, 95, 96, 97, 59, 94, 95, - 96, 97, 59, 413, 388, 389, 90, 10, 429, 131, - 429, 12, 396, 16, 13, 25, 588, 20, 428, 435, - 25, 24, 132, 467, 18, 587, 390, 30, 99, 94, - 95, 96, 97, 417, 418, 25, 25, 56, 80, 22, - 99, 132, 132, 132, 428, 11, 80, 431, 432, 433, - 434, 461, 12, 430, 132, 465, 420, 467, 131, 436, - 12, 12, 439, 12, 32, 429, 12, 35, 36, 37, - 38, 131, 16, 41, 132, 490, 118, 131, 131, 22, - 490, 123, 459, 131, 126, 127, 128, 129, 130, 123, - 474, 131, 126, 127, 128, 129, 130, 94, 95, 96, - 97, 568, 569, 131, 131, 11, 490, 132, 575, 94, - 95, 96, 97, 99, 581, 582, 11, 527, 56, 529, - 90, 12, 131, 500, 534, 502, 94, 95, 96, 97, - 94, 95, 96, 97, 131, 512, 520, 22, 15, 554, - 131, 22, 22, 587, 554, 509, 131, 614, 615, 616, - 132, 131, 131, 620, 94, 95, 96, 97, 131, 88, - 132, 545, 131, 94, 95, 96, 97, 131, 635, 131, - 554, 132, 22, 589, 131, 642, 643, 587, 588, 94, - 95, 96, 97, 45, 131, 17, 602, 87, 565, 573, - 574, 131, 131, 13, 131, 605, 606, 131, 612, 666, - 131, 611, 3, 4, 5, 6, 7, 8, 9, 141, - 431, 692, 679, 529, 630, 413, 131, 452, 634, 453, - 622, 540, 632, 690, 94, 95, 96, 97, 612, 613, - 459, 272, 429, 700, -1, 163, -1, 647, 648, 649, - -1, -1, -1, 607, -1, 622, -1, -1, -1, -1, - -1, -1, -1, 663, 664, 619, 21, 641, 23, -1, - -1, 26, -1, 28, 29, 675, -1, 671, -1, -1, - -1, 687, -1, 683, -1, -1, 41, 661, -1, 44, - -1, 691, 692, 48, -1, 695, 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, -1, -1, -1, -1, -1, - -1, -1, -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, + 10, 17, 19, 174, 417, 49, 105, 11, 9, 19, + 54, 327, 110, 576, 18, 12, 20, 16, 22, 165, + 24, 25, 602, 175, 16, 29, 11, 14, 13, 13, + 34, 35, 11, 16, 27, 52, 135, 20, 30, 49, + 13, 24, 52, 0, 48, 49, 50, 51, 200, 16, + 11, 22, 11, 20, 13, 11, 31, 24, 56, 27, + 11, 22, 11, 61, 13, 132, 22, 42, 16, 112, + 113, 89, 20, 18, 13, 20, 24, 22, 414, 24, + 25, 417, 27, 110, 111, 86, 422, 423, 59, 34, + 35, 14, 10, 94, 95, 96, 132, 101, 99, 100, + 93, 19, 86, 11, 49, 13, 51, 94, 95, 96, + 97, 691, 18, 86, 132, 678, 22, 132, 24, 25, + 11, 15, 13, 122, 14, 93, 136, 86, 34, 35, + 122, 175, 14, 132, 52, 102, 22, 86, 148, 122, + 132, 14, 60, 49, 141, 51, 14, 132, 93, 132, + 194, 195, 323, 132, 96, 97, 200, 14, 11, 112, + 13, 25, 172, 173, 174, 175, 110, 313, 185, 186, + 163, 94, 95, 96, 97, 185, 186, 181, 86, 103, + 516, 56, 186, 281, 11, 15, 284, 11, 10, 11, + 200, 13, 56, 23, 16, 163, 14, 61, 20, 11, + 132, 13, 24, 25, 94, 95, 96, 97, 94, 95, + 96, 97, 94, 95, 96, 97, 290, 291, 163, 293, + 294, 94, 95, 96, 97, 56, 94, 95, 96, 97, + 11, 132, 13, 569, 570, 57, 132, 94, 95, 96, + 97, 186, 11, 11, 13, 261, 164, 22, 129, 130, + 22, 39, 262, 32, 14, 265, 35, 36, 37, 38, + 178, 83, 41, 22, 11, 22, 184, 185, 186, 16, + 586, 272, 273, 609, 70, 688, 94, 95, 96, 97, + 186, 285, 22, 86, 383, 86, 330, 132, 33, 34, + 22, 209, 210, 211, 212, 22, 214, 215, 216, 89, + 22, 637, 131, 131, 456, 13, 56, 252, 607, 56, + 132, 22, 329, 323, 61, 94, 95, 96, 97, 329, + 56, 657, 94, 95, 96, 97, 271, 56, 132, 94, + 95, 96, 97, 132, 132, 253, 254, 255, 256, 257, + 258, 259, 260, 132, 643, 644, 645, 44, 94, 95, + 96, 97, 131, 16, 94, 95, 96, 97, 61, 530, + 659, 660, 94, 95, 96, 97, 131, 94, 95, 96, + 97, 289, 290, 291, 292, 293, 294, 15, 59, 59, + 679, 90, 386, 94, 95, 96, 97, 131, 687, 80, + 12, 32, 13, 311, 35, 36, 37, 38, 25, 409, + 41, 126, 127, 128, 129, 130, 25, 417, 424, 25, + 25, 329, 456, 584, 11, 94, 95, 96, 97, 16, + 132, 339, 18, 416, 425, 418, 344, 428, 25, 99, + 132, 583, 123, 56, 80, 126, 127, 128, 129, 130, + 450, 386, 99, 22, 454, 11, 456, 448, 416, 132, + 418, 12, 131, 94, 95, 96, 97, 131, 12, 56, + 132, 16, 479, 12, 61, 12, 384, 385, 12, 479, + 415, 416, 118, 418, 392, 131, 131, 123, 132, 132, + 126, 127, 128, 129, 130, 22, 131, 131, 489, 131, + 491, 94, 95, 96, 97, 413, 414, 131, 131, 417, + 80, 81, 420, 421, 422, 423, 132, 94, 95, 96, + 97, 56, 11, 523, 99, 525, 94, 95, 96, 97, + 530, 3, 4, 5, 6, 7, 8, 9, 131, 80, + 81, 82, 11, 550, 90, 12, 131, 117, 118, 583, + 550, 22, 15, 123, 131, 463, 126, 127, 128, 129, + 130, 132, 22, 131, 499, 131, 131, 80, 81, 82, + 561, 479, 131, 114, 115, 116, 117, 118, 131, 585, + 88, 131, 123, 583, 584, 126, 127, 128, 129, 130, + 132, 131, 598, 94, 95, 96, 97, 94, 95, 96, + 97, 601, 602, 116, 117, 118, 22, 607, 516, 132, + 123, 22, 10, 126, 127, 128, 129, 130, 16, 131, + 626, 45, 20, 17, 630, 131, 24, 618, 628, 131, + 131, 87, 30, 541, 131, 94, 95, 96, 97, 131, + 131, 13, 550, 643, 644, 645, 141, 21, 608, 23, + 564, 565, 26, 420, 28, 29, 688, 571, 525, 659, + 660, 569, 570, 577, 578, 409, 441, 41, 603, 442, + 44, 671, 131, 667, 48, 536, 618, 683, 448, 679, + 615, 55, 56, 57, 58, 59, 163, 687, 688, 418, + -1, 691, 416, -1, -1, -1, 610, 611, 612, 72, + 608, 609, 616, -1, -1, -1, -1, 80, 81, 82, + -1, -1, -1, -1, -1, -1, -1, 631, -1, -1, + 93, -1, -1, -1, 638, 639, 99, 100, 101, 637, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, -1, 662, 657, + 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, + -1, 675, -1, -1, -1, 72, -1, -1, -1, -1, + -1, -1, 686, 80, 81, 82, -1, -1, -1, -1, + -1, -1, 696, -1, -1, -1, 93, -1, -1, 163, + -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, -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, + 127, 128, 129, 130, -1, -1, -1, -1, -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, 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, 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, - 535, -1, 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, 10, 11, - 12, 13, 567, -1, 16, -1, -1, 19, 20, 21, - 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, 35, 36, 37, 38, 592, 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, 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, 531, -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, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, -1, -1, -1, 10, 11, 12, 13, 563, + -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, + 35, 36, 37, 38, 588, 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, @@ -1246,7 +1231,7 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -1254,11 +1239,11 @@ 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, 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, @@ -1275,71 +1260,62 @@ static const yytype_int16 yycheck[] = -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, 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, -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, - 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, -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, - -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, + 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, + -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, + -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, + 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, 66, 67, -1, -1, -1, + 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, 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, @@ -1367,7 +1343,7 @@ static const yytype_int16 yycheck[] = 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, @@ -1379,7 +1355,7 @@ static const yytype_int16 yycheck[] = -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, @@ -1387,7 +1363,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, -1, 132, 52, 53, + 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, @@ -1395,55 +1371,79 @@ 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, 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, 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, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, + 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, 80, 81, -1, 101, -1, 103, 104, 105, 106, + -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, 117, 118, - -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, - 129, 130, -1, -1, -1, -1, -1, -1, 103, 104, + 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, -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, + -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, -1, -1, -1, 115, 116, - 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, - 127, 128, 129, 130 + 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, -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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1476,51 +1476,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, 250, 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, 215, 216, 217, - 218, 220, 221, 222, 14, 132, 246, 249, 263, 264, - 265, 131, 232, 86, 212, 70, 178, 210, 86, 178, - 211, 211, 253, 132, 89, 232, 131, 177, 131, 131, - 232, 254, 254, 271, 233, 233, 22, 253, 13, 131, - 232, 232, 232, 232, 246, 232, 232, 131, 232, 246, + 11, 180, 208, 56, 56, 250, 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, 215, 216, 217, 218, 220, 221, 222, + 14, 132, 246, 249, 263, 264, 265, 131, 232, 86, + 212, 70, 178, 210, 86, 178, 211, 211, 253, 132, + 89, 232, 131, 177, 131, 131, 232, 254, 254, 271, + 233, 233, 22, 253, 13, 131, 232, 232, 232, 232, + 246, 232, 232, 131, 232, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 10, 11, 13, - 16, 20, 24, 25, 57, 83, 132, 236, 263, 131, - 232, 232, 232, 232, 232, 232, 232, 232, 186, 56, - 178, 204, 56, 56, 178, 212, 213, 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, 232, 193, 193, 201, 232, 193, 193, - 61, 214, 16, 15, 131, 232, 212, 131, 59, 211, - 59, 180, 230, 230, 254, 233, 14, 235, 131, 90, - 131, 232, 12, 232, 13, 22, 14, 131, 102, 25, - 209, 232, 232, 25, 25, 25, 25, 25, 131, 232, - 132, 131, 22, 14, 22, 14, 22, 14, 22, 12, - 18, 179, 11, 22, 213, 99, 202, 232, 202, 132, - 256, 263, 132, 178, 194, 199, 202, 203, 232, 259, - 180, 201, 200, 232, 202, 202, 186, 180, 56, 166, - 22, 180, 227, 228, 164, 99, 214, 220, 131, 228, - 132, 178, 223, 224, 131, 23, 178, 255, 253, 131, - 14, 232, 12, 246, 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, 246, 99, 225, 11, 232, 90, 14, 254, 12, - 131, 22, 160, 180, 246, 181, 181, 15, 131, 202, - 202, 181, 151, 132, 131, 198, 198, 181, 181, 184, - 168, 253, 211, 186, 22, 229, 230, 219, 246, 131, - 231, 131, 88, 186, 145, 33, 34, 178, 195, 195, - 263, 132, 131, 131, 196, 200, 202, 181, 181, 181, - 263, 181, 22, 227, 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 + 246, 246, 246, 10, 11, 13, 16, 20, 24, 25, + 57, 83, 132, 236, 263, 131, 232, 232, 232, 232, + 232, 232, 232, 232, 186, 56, 178, 204, 56, 56, + 178, 212, 213, 132, 132, 30, 122, 132, 261, 263, + 180, 180, 132, 132, 182, 44, 172, 205, 162, 205, + 177, 193, 232, 193, 193, 201, 232, 193, 193, 61, + 214, 16, 15, 131, 232, 212, 131, 59, 211, 59, + 180, 230, 230, 254, 233, 14, 235, 131, 90, 131, + 232, 12, 232, 13, 22, 14, 131, 102, 25, 209, + 232, 232, 25, 25, 25, 25, 25, 131, 232, 132, + 131, 22, 14, 22, 14, 22, 14, 22, 12, 18, + 179, 11, 22, 213, 99, 202, 232, 202, 122, 132, + 256, 263, 30, 259, 260, 262, 263, 264, 265, 178, + 194, 199, 202, 203, 232, 259, 132, 201, 200, 232, + 202, 202, 186, 180, 56, 166, 22, 180, 227, 228, + 164, 99, 214, 220, 131, 228, 132, 178, 223, 224, + 131, 23, 178, 255, 253, 131, 14, 232, 12, 246, + 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, 246, 99, 225, + 11, 232, 90, 14, 254, 12, 131, 22, 160, 180, + 246, 181, 181, 15, 131, 202, 202, 181, 151, 132, + 131, 198, 198, 181, 181, 184, 168, 253, 211, 186, + 22, 229, 230, 219, 246, 131, 231, 131, 88, 186, + 145, 33, 34, 178, 195, 195, 263, 132, 131, 131, + 196, 200, 202, 181, 181, 181, 263, 181, 22, 227, + 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. */ @@ -1678,6 +1677,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y + * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index da5eb04280e2..00d019e4e9ea 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 c8778356d91a2d251b182edaa3f490661b960912 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 | 1118 ++++++++++++++++----------------- perly.h | 2 +- perly.tab | 1816 +++++++++++++++++++++++++++-------------------------- perly.y | 12 +- 4 files changed, 1482 insertions(+), 1466 deletions(-) diff --git a/perly.act b/perly.act index cc57750c82e3..c3a36243149e 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 optattrlist 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 optattrlist 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: /* attrlist: COLONATTR THING */ -#line 1067 "perly.y" + case 143: /* attrlist: COLONATTR THING */ +#line 1077 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 142: /* attrlist: COLONATTR */ -#line 1069 "perly.y" + case 144: /* attrlist: COLONATTR */ +#line 1079 "perly.y" { (yyval.opval) = NULL; } break; - case 145: /* sigvar: %empty */ -#line 1084 "perly.y" + case 147: /* sigvar: %empty */ +#line 1094 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 146: /* sigvar: PRIVATEREF */ -#line 1086 "perly.y" + case 148: /* sigvar: PRIVATEREF */ +#line 1096 "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 1091 "perly.y" + case 149: /* sigslurpsigil: PERLY_SNAIL */ +#line 1101 "perly.y" { (yyval.ival) = '@'; } break; - case 148: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1093 "perly.y" + case 150: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1103 "perly.y" { (yyval.ival) = '%'; } break; - case 149: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1097 "perly.y" + case 151: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1107 "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 150: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1102 "perly.y" + case 152: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1112 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1106 "perly.y" + case 153: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1116 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 152: /* optcolon: %empty */ -#line 1112 "perly.y" + case 154: /* optcolon: %empty */ +#line 1122 "perly.y" { (yyval.ival) = 0; } break; - case 153: /* optcolon: PERLY_COLON */ -#line 1114 "perly.y" + case 155: /* optcolon: PERLY_COLON */ +#line 1124 "perly.y" { (yyval.ival) = ':'; } break; - case 154: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1120 "perly.y" + case 156: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1130 "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 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1130 "perly.y" + case 157: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1140 "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 156: /* optsigscalardefault: %empty */ -#line 1143 "perly.y" + case 158: /* optsigscalardefault: %empty */ +#line 1153 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 158: /* sigelem: sigscalarelem */ -#line 1150 "perly.y" + case 160: /* sigelem: sigscalarelem */ +#line 1160 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 159: /* sigelem: sigslurpelem */ -#line 1152 "perly.y" + case 161: /* sigelem: sigslurpelem */ +#line 1162 "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 1178 "perly.y" + case 169: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1188 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 168: /* $@20: %empty */ -#line 1181 "perly.y" + case 170: /* $@20: %empty */ +#line 1191 "perly.y" { ENTER; subsignature_start(); @@ -1045,8 +1045,8 @@ case 2: /* @1: %empty */ break; - case 169: /* subsigguts: $@20 optsiglist */ -#line 1187 "perly.y" + case 171: /* subsigguts: $@20 optsiglist */ +#line 1197 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1073,14 +1073,14 @@ case 2: /* @1: %empty */ break; - case 171: /* optsubbody: PERLY_SEMICOLON */ -#line 1215 "perly.y" + case 173: /* optsubbody: PERLY_SEMICOLON */ +#line 1225 "perly.y" { (yyval.opval) = NULL; } break; - case 172: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1221 "perly.y" + case 174: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1231 "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 174: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1233 "perly.y" + case 176: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1243 "perly.y" { (yyval.opval) = NULL; } break; - case 175: /* $@21: %empty */ -#line 1238 "perly.y" + case 177: /* $@21: %empty */ +#line 1248 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 176: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1240 "perly.y" + case 178: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1250 "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 177: /* expr: expr ANDOP expr */ -#line 1251 "perly.y" + case 179: /* expr: expr ANDOP expr */ +#line 1261 "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 1253 "perly.y" + case 180: /* expr: expr PLUGIN_LOGICAL_AND_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 179: /* expr: expr OROP expr */ -#line 1255 "perly.y" + case 181: /* expr: expr OROP expr */ +#line 1265 "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 1257 "perly.y" + case 182: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1267 "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 1263 "perly.y" + case 184: /* listexpr: listexpr PERLY_COMMA */ +#line 1273 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 183: /* listexpr: listexpr PERLY_COMMA term */ -#line 1265 "perly.y" + case 185: /* listexpr: listexpr PERLY_COMMA term */ +#line 1275 "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 185: /* listop: LSTOP indirob listexpr */ -#line 1274 "perly.y" + case 187: /* listop: LSTOP indirob listexpr */ +#line 1284 "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 1278 "perly.y" + case 188: /* listop: BLKLSTOP block listexpr */ +#line 1288 "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 1282 "perly.y" + case 189: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1292 "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 1286 "perly.y" + case 190: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1296 "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 189: /* listop: term ARROW methodname */ -#line 1292 "perly.y" + case 191: /* listop: term ARROW methodname */ +#line 1302 "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 190: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1297 "perly.y" + case 192: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1307 "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 191: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1303 "perly.y" + case 193: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1313 "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 192: /* listop: METHCALL0 indirob optlistexpr */ -#line 1309 "perly.y" + case 194: /* listop: METHCALL0 indirob optlistexpr */ +#line 1319 "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 193: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1315 "perly.y" + case 195: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1325 "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 194: /* listop: LSTOP optlistexpr */ -#line 1321 "perly.y" + case 196: /* listop: LSTOP optlistexpr */ +#line 1331 "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 1323 "perly.y" + case 197: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1333 "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 1325 "perly.y" + case 198: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1335 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 197: /* @22: %empty */ -#line 1327 "perly.y" + case 199: /* @22: %empty */ +#line 1337 "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 198: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1333 "perly.y" + case 200: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1343 "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 201: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1348 "perly.y" + case 203: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1358 "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 1350 "perly.y" + case 204: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1360 "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 1353 "perly.y" + case 205: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1363 "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 204: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1358 "perly.y" + case 206: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1368 "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 205: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1363 "perly.y" + case 207: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1373 "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 1366 "perly.y" + case 208: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1376 "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 1370 "perly.y" + case 209: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1380 "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 1374 "perly.y" + case 210: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1384 "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 209: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1380 "perly.y" + case 211: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1390 "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 210: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1388 "perly.y" + case 212: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1398 "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 211: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1395 "perly.y" + case 213: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1405 "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 212: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1401 "perly.y" + case 214: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1411 "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 1403 "perly.y" + case 215: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1413 "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 1405 "perly.y" + case 216: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1415 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 215: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1410 "perly.y" + case 217: /* termbinop: term PLUGIN_HIGH_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 ASSIGNOP term */ -#line 1412 "perly.y" + case 218: /* termbinop: term ASSIGNOP term */ +#line 1422 "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 1414 "perly.y" + case 219: /* termbinop: term PLUGIN_ASSIGN_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 POWOP term */ -#line 1416 "perly.y" + case 220: /* termbinop: term POWOP term */ +#line 1426 "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 1418 "perly.y" + case 221: /* termbinop: term PLUGIN_POW_OP term */ +#line 1428 "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 1420 "perly.y" + case 222: /* termbinop: term MULOP term */ +#line 1430 "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 221: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1425 "perly.y" + case 223: /* termbinop: term PLUGIN_MUL_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 ADDOP term */ -#line 1427 "perly.y" + case 224: /* termbinop: term ADDOP 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: term PLUGIN_ADD_OP term */ -#line 1429 "perly.y" + case 225: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1439 "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 1431 "perly.y" + case 226: /* termbinop: term SHIFTOP 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 225: /* termbinop: termrelop */ -#line 1433 "perly.y" + case 227: /* termbinop: termrelop */ +#line 1443 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 226: /* termbinop: termeqop */ -#line 1435 "perly.y" + case 228: /* termbinop: termeqop */ +#line 1445 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 227: /* termbinop: term BITANDOP term */ -#line 1437 "perly.y" + case 229: /* termbinop: term BITANDOP 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 228: /* termbinop: term BITOROP term */ -#line 1439 "perly.y" + case 230: /* termbinop: term BITOROP term */ +#line 1449 "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 1441 "perly.y" + case 231: /* termbinop: term DOTDOT term */ +#line 1451 "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 1443 "perly.y" + case 232: /* termbinop: term ANDAND term */ +#line 1453 "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 1445 "perly.y" + case 233: /* termbinop: term PLUGIN_LOGICAL_AND_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 OROR term */ -#line 1447 "perly.y" + case 234: /* termbinop: term OROR term */ +#line 1457 "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 1449 "perly.y" + case 235: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1459 "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 1451 "perly.y" + case 236: /* termbinop: term DORDOR term */ +#line 1461 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 235: /* termbinop: term MATCHOP term */ -#line 1453 "perly.y" + case 237: /* termbinop: term MATCHOP term */ +#line 1463 "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 1455 "perly.y" + case 238: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1465 "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 1459 "perly.y" + case 239: /* termrelop: relopchain */ +#line 1469 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 238: /* termrelop: term NCRELOP term */ -#line 1461 "perly.y" + case 240: /* termrelop: term NCRELOP term */ +#line 1471 "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 1463 "perly.y" + case 241: /* termrelop: termrelop NCRELOP */ +#line 1473 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 240: /* termrelop: termrelop CHRELOP */ -#line 1465 "perly.y" + case 242: /* termrelop: termrelop CHRELOP */ +#line 1475 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 241: /* termrelop: term PLUGIN_REL_OP term */ -#line 1467 "perly.y" + case 243: /* termrelop: term PLUGIN_REL_OP term */ +#line 1477 "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 1471 "perly.y" + case 244: /* relopchain: term CHRELOP term */ +#line 1481 "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 1473 "perly.y" + case 245: /* relopchain: relopchain CHRELOP term */ +#line 1483 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 244: /* termeqop: eqopchain */ -#line 1477 "perly.y" + case 246: /* termeqop: eqopchain */ +#line 1487 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 245: /* termeqop: term NCEQOP term */ -#line 1479 "perly.y" + case 247: /* termeqop: term NCEQOP term */ +#line 1489 "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 1481 "perly.y" + case 248: /* termeqop: termeqop NCEQOP */ +#line 1491 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 247: /* termeqop: termeqop CHEQOP */ -#line 1483 "perly.y" + case 249: /* termeqop: termeqop CHEQOP */ +#line 1493 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 248: /* eqopchain: term CHEQOP term */ -#line 1487 "perly.y" + case 250: /* eqopchain: term CHEQOP term */ +#line 1497 "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 1489 "perly.y" + case 251: /* eqopchain: eqopchain CHEQOP term */ +#line 1499 "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 1494 "perly.y" + case 252: /* termunop: PERLY_MINUS term */ +#line 1504 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 251: /* termunop: PERLY_PLUS term */ -#line 1496 "perly.y" + case 253: /* termunop: PERLY_PLUS term */ +#line 1506 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 252: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1499 "perly.y" + case 254: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1509 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 253: /* termunop: PERLY_TILDE term */ -#line 1501 "perly.y" + case 255: /* termunop: PERLY_TILDE term */ +#line 1511 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 254: /* termunop: term POSTINC */ -#line 1503 "perly.y" + case 256: /* termunop: term POSTINC */ +#line 1513 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 255: /* termunop: term POSTDEC */ -#line 1506 "perly.y" + case 257: /* termunop: term POSTDEC */ +#line 1516 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 256: /* termunop: term POSTJOIN */ -#line 1509 "perly.y" + case 258: /* termunop: term POSTJOIN */ +#line 1519 "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 257: /* termunop: PREINC term */ -#line 1520 "perly.y" + case 259: /* termunop: PREINC term */ +#line 1530 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 258: /* termunop: PREDEC term */ -#line 1523 "perly.y" + case 260: /* termunop: PREDEC term */ +#line 1533 "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 1531 "perly.y" + case 261: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1541 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 260: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1533 "perly.y" + case 262: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1543 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 261: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1535 "perly.y" + case 263: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1545 "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 1538 "perly.y" + case 264: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1548 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 263: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1540 "perly.y" + case 265: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1550 "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 1543 "perly.y" + case 266: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1553 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 265: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1545 "perly.y" + case 267: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1555 "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 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1550 "perly.y" + case 268: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1560 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 267: /* termdo: KW_DO term */ -#line 1555 "perly.y" + case 269: /* termdo: KW_DO term */ +#line 1565 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 268: /* termdo: KW_DO block */ -#line 1557 "perly.y" + case 270: /* termdo: KW_DO block */ +#line 1567 "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 1565 "perly.y" + case 275: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1575 "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 1567 "perly.y" + case 276: /* term: REFGEN term */ +#line 1577 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 275: /* term: myattrterm */ -#line 1569 "perly.y" + case 277: /* term: myattrterm */ +#line 1579 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 276: /* term: KW_LOCAL term */ -#line 1571 "perly.y" + case 278: /* term: KW_LOCAL term */ +#line 1581 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 277: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1573 "perly.y" + case 279: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1583 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 278: /* term: QWLIST */ -#line 1575 "perly.y" + case 280: /* term: QWLIST */ +#line 1585 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 279: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1577 "perly.y" + case 281: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1587 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 280: /* term: scalar */ -#line 1579 "perly.y" + case 282: /* term: scalar */ +#line 1589 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 281: /* term: star */ -#line 1581 "perly.y" + case 283: /* term: star */ +#line 1591 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: hsh */ -#line 1583 "perly.y" + case 284: /* term: hsh */ +#line 1593 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 283: /* term: ary */ -#line 1585 "perly.y" + case 285: /* term: ary */ +#line 1595 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: arylen */ -#line 1587 "perly.y" + case 286: /* term: arylen */ +#line 1597 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 285: /* term: subscripted */ -#line 1589 "perly.y" + case 287: /* term: subscripted */ +#line 1599 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 286: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1591 "perly.y" + case 288: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1601 "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 287: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1601 "perly.y" + case 289: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1611 "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 288: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1611 "perly.y" + case 290: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1621 "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 289: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1621 "perly.y" + case 291: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1631 "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 290: /* term: THING */ -#line 1631 "perly.y" + case 292: /* term: THING */ +#line 1641 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 291: /* term: amper */ -#line 1633 "perly.y" + case 293: /* term: amper */ +#line 1643 "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 1635 "perly.y" + case 294: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1645 "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 1638 "perly.y" + case 295: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1648 "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 294: /* term: NOAMP subname optlistexpr */ -#line 1643 "perly.y" + case 296: /* term: NOAMP subname optlistexpr */ +#line 1653 "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 1647 "perly.y" + case 297: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1657 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 296: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1649 "perly.y" + case 298: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1659 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 297: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1651 "perly.y" + case 299: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1661 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 298: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1653 "perly.y" + case 300: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1663 "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 1656 "perly.y" + case 301: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1666 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 300: /* term: LOOPEX */ -#line 1658 "perly.y" + case 302: /* term: LOOPEX */ +#line 1668 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 301: /* term: LOOPEX term */ -#line 1661 "perly.y" + case 303: /* term: LOOPEX term */ +#line 1671 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 302: /* term: NOTOP listexpr */ -#line 1663 "perly.y" + case 304: /* term: NOTOP listexpr */ +#line 1673 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 303: /* term: UNIOP */ -#line 1665 "perly.y" + case 305: /* term: UNIOP */ +#line 1675 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 304: /* term: UNIOP block */ -#line 1667 "perly.y" + case 306: /* term: UNIOP block */ +#line 1677 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 305: /* term: UNIOP term */ -#line 1669 "perly.y" + case 307: /* term: UNIOP term */ +#line 1679 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 306: /* term: KW_REQUIRE */ -#line 1671 "perly.y" + case 308: /* term: KW_REQUIRE */ +#line 1681 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 307: /* term: KW_REQUIRE term */ -#line 1673 "perly.y" + case 309: /* term: KW_REQUIRE term */ +#line 1683 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 308: /* term: UNIOPSUB */ -#line 1675 "perly.y" + case 310: /* term: UNIOPSUB */ +#line 1685 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 309: /* term: UNIOPSUB term */ -#line 1677 "perly.y" + case 311: /* term: UNIOPSUB term */ +#line 1687 "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 1680 "perly.y" + case 312: /* term: FUNC0 */ +#line 1690 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 311: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1682 "perly.y" + case 313: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1692 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 312: /* term: FUNC0OP */ -#line 1684 "perly.y" + case 314: /* term: FUNC0OP */ +#line 1694 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 313: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1686 "perly.y" + case 315: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1696 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 314: /* term: FUNC0SUB */ -#line 1688 "perly.y" + case 316: /* term: FUNC0SUB */ +#line 1698 "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 1690 "perly.y" + case 317: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1700 "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 1694 "perly.y" + case 318: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1704 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 317: /* @23: %empty */ -#line 1696 "perly.y" + case 319: /* @23: %empty */ +#line 1706 "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 318: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1707 "perly.y" + case 320: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1717 "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 attrlist */ -#line 1716 "perly.y" + case 324: /* myattrterm: KW_MY myterm attrlist */ +#line 1726 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 323: /* myattrterm: KW_MY myterm */ -#line 1718 "perly.y" + case 325: /* myattrterm: KW_MY myterm */ +#line 1728 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 324: /* myattrterm: KW_MY REFGEN myterm attrlist */ -#line 1720 "perly.y" + case 326: /* myattrterm: KW_MY REFGEN myterm attrlist */ +#line 1730 "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 1722 "perly.y" + case 327: /* myattrterm: KW_MY REFGEN term */ +#line 1732 "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 1727 "perly.y" + case 328: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1737 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 327: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1729 "perly.y" + case 329: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1739 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 328: /* myterm: scalar */ -#line 1732 "perly.y" + case 330: /* myterm: scalar */ +#line 1742 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 329: /* myterm: hsh */ -#line 1734 "perly.y" + case 331: /* myterm: hsh */ +#line 1744 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 330: /* myterm: ary */ -#line 1736 "perly.y" + case 332: /* myterm: ary */ +#line 1746 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 331: /* fieldvar: scalar */ -#line 1741 "perly.y" + case 333: /* fieldvar: scalar */ +#line 1751 "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 332: /* fieldvar: hsh */ -#line 1746 "perly.y" + case 334: /* fieldvar: hsh */ +#line 1756 "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 333: /* fieldvar: ary */ -#line 1751 "perly.y" + case 335: /* fieldvar: ary */ +#line 1761 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2139,8 +2139,8 @@ case 2: /* @1: %empty */ break; - case 334: /* fielddecl: KW_FIELD fieldvar optattrlist */ -#line 1759 "perly.y" + case 336: /* fielddecl: KW_FIELD fieldvar optattrlist */ +#line 1769 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2150,8 +2150,8 @@ case 2: /* @1: %empty */ break; - case 335: /* $@24: %empty */ -#line 1766 "perly.y" + case 337: /* $@24: %empty */ +#line 1776 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2162,8 +2162,8 @@ case 2: /* @1: %empty */ break; - case 336: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ -#line 1774 "perly.y" + case 338: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ +#line 1784 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2172,122 +2172,122 @@ case 2: /* @1: %empty */ break; - case 342: /* optrepl: PERLY_SLASH expr */ -#line 1794 "perly.y" + case 344: /* optrepl: PERLY_SLASH expr */ +#line 1804 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 343: /* my_scalar: scalar */ -#line 1800 "perly.y" + case 345: /* my_scalar: scalar */ +#line 1810 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 344: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1805 "perly.y" + case 346: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1815 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 345: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1807 "perly.y" + case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1817 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 347: /* my_list_of_scalars: list_of_scalars */ -#line 1814 "perly.y" + case 349: /* my_list_of_scalars: list_of_scalars */ +#line 1824 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 355: /* amper: PERLY_AMPERSAND indirob */ -#line 1831 "perly.y" + case 357: /* amper: PERLY_AMPERSAND indirob */ +#line 1841 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 356: /* scalar: PERLY_DOLLAR indirob */ -#line 1835 "perly.y" + case 358: /* scalar: PERLY_DOLLAR indirob */ +#line 1845 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 357: /* ary: PERLY_SNAIL indirob */ -#line 1839 "perly.y" + case 359: /* ary: PERLY_SNAIL indirob */ +#line 1849 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 358: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1845 "perly.y" + case 360: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1855 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 359: /* arylen: DOLSHARP indirob */ -#line 1851 "perly.y" + case 361: /* arylen: DOLSHARP indirob */ +#line 1861 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 360: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1853 "perly.y" + case 362: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1863 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 361: /* star: PERLY_STAR indirob */ -#line 1857 "perly.y" + case 363: /* star: PERLY_STAR indirob */ +#line 1867 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 363: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1862 "perly.y" + case 365: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1872 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 365: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1867 "perly.y" + case 367: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1877 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 367: /* gelem: term ARROW PERLY_STAR */ -#line 1872 "perly.y" + case 369: /* gelem: term ARROW PERLY_STAR */ +#line 1882 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 368: /* indirob: BAREWORD */ -#line 1877 "perly.y" + case 370: /* indirob: BAREWORD */ +#line 1887 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 369: /* indirob: scalar */ -#line 1879 "perly.y" + case 371: /* indirob: scalar */ +#line 1889 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 370: /* indirob: block */ -#line 1881 "perly.y" + case 372: /* indirob: block */ +#line 1891 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 371: /* indirob: PRIVATEREF */ -#line 1884 "perly.y" + case 373: /* indirob: PRIVATEREF */ +#line 1894 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2299,6 +2299,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y + * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 2c90eed9324b..3f39beb05917 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y + * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 9c5d5ba98f84..8ff713a10a4f 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_attrlist = 212, /* attrlist */ - YYSYMBOL_optattrlist = 213, /* optattrlist */ - YYSYMBOL_sigvar = 214, /* sigvar */ - YYSYMBOL_sigslurpsigil = 215, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 216, /* sigslurpelem */ - YYSYMBOL_optcolon = 217, /* optcolon */ - YYSYMBOL_sigscalarelem = 218, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 219, /* optsigscalardefault */ - YYSYMBOL_sigelem = 220, /* sigelem */ - YYSYMBOL_siglist = 221, /* siglist */ - YYSYMBOL_optsiglist = 222, /* optsiglist */ - YYSYMBOL_optsubsignature = 223, /* optsubsignature */ - YYSYMBOL_subsignature = 224, /* subsignature */ - YYSYMBOL_subsigguts = 225, /* subsigguts */ - YYSYMBOL_226_20 = 226, /* $@20 */ - YYSYMBOL_optsubbody = 227, /* optsubbody */ - YYSYMBOL_subbody = 228, /* subbody */ - YYSYMBOL_optsigsubbody = 229, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 230, /* sigsubbody */ - YYSYMBOL_231_21 = 231, /* $@21 */ - YYSYMBOL_expr = 232, /* expr */ - YYSYMBOL_listexpr = 233, /* listexpr */ - YYSYMBOL_listop = 234, /* listop */ - YYSYMBOL_235_22 = 235, /* @22 */ - YYSYMBOL_methodname = 236, /* methodname */ - YYSYMBOL_subscripted = 237, /* subscripted */ - YYSYMBOL_termbinop = 238, /* termbinop */ - YYSYMBOL_termrelop = 239, /* termrelop */ - YYSYMBOL_relopchain = 240, /* relopchain */ - YYSYMBOL_termeqop = 241, /* termeqop */ - YYSYMBOL_eqopchain = 242, /* eqopchain */ - YYSYMBOL_termunop = 243, /* termunop */ - YYSYMBOL_anonymous = 244, /* anonymous */ - YYSYMBOL_termdo = 245, /* termdo */ - YYSYMBOL_term = 246, /* term */ - YYSYMBOL_247_23 = 247, /* @23 */ - YYSYMBOL_myattrterm = 248, /* myattrterm */ - YYSYMBOL_myterm = 249, /* myterm */ - YYSYMBOL_fieldvar = 250, /* fieldvar */ - 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_attrlist = 214, /* attrlist */ + YYSYMBOL_optattrlist = 215, /* optattrlist */ + 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_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 3765 +#define YYLAST 3766 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 139 +#define YYNNTS 141 /* YYNRULES -- Number of rules. */ -#define YYNRULES 371 +#define YYNRULES 373 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 698 +#define YYNSTATES 700 /* 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, 1073, 1074, 1083, 1085, 1090, 1092, 1096, - 1101, 1105, 1111, 1113, 1119, 1129, 1142, 1144, 1149, 1151, - 1159, 1160, 1161, 1166, 1167, 1172, 1173, 1177, 1181, 1181, - 1214, 1215, 1220, 1232, 1233, 1238, 1237, 1250, 1252, 1254, - 1256, 1258, 1262, 1264, 1269, 1273, 1277, 1281, 1285, 1291, - 1296, 1302, 1308, 1314, 1320, 1322, 1324, 1327, 1326, 1340, - 1341, 1345, 1349, 1352, 1357, 1362, 1365, 1369, 1373, 1379, - 1387, 1394, 1400, 1402, 1404, 1409, 1411, 1413, 1415, 1417, - 1419, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, - 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1458, 1460, 1462, - 1464, 1466, 1470, 1472, 1476, 1478, 1480, 1482, 1486, 1488, - 1493, 1495, 1498, 1500, 1502, 1505, 1508, 1519, 1522, 1530, - 1532, 1534, 1537, 1539, 1542, 1544, 1549, 1554, 1556, 1560, - 1561, 1562, 1563, 1564, 1566, 1568, 1570, 1572, 1574, 1576, - 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1600, 1610, 1620, - 1630, 1632, 1634, 1637, 1642, 1646, 1648, 1650, 1652, 1655, - 1657, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, - 1679, 1681, 1683, 1685, 1687, 1689, 1693, 1696, 1695, 1708, - 1709, 1710, 1715, 1717, 1719, 1721, 1726, 1728, 1731, 1733, - 1735, 1740, 1745, 1750, 1758, 1766, 1765, 1783, 1784, 1788, - 1789, 1793, 1794, 1799, 1804, 1806, 1810, 1813, 1817, 1818, - 1819, 1822, 1823, 1826, 1827, 1830, 1834, 1838, 1844, 1850, - 1852, 1856, 1860, 1861, 1865, 1866, 1870, 1871, 1876, 1878, - 1880, 1883 + 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, 1083, 1084, 1093, 1095, 1100, + 1102, 1106, 1111, 1115, 1121, 1123, 1129, 1139, 1152, 1154, + 1159, 1161, 1169, 1170, 1171, 1176, 1177, 1182, 1183, 1187, + 1191, 1191, 1224, 1225, 1230, 1242, 1243, 1248, 1247, 1260, + 1262, 1264, 1266, 1268, 1272, 1274, 1279, 1283, 1287, 1291, + 1295, 1301, 1306, 1312, 1318, 1324, 1330, 1332, 1334, 1337, + 1336, 1350, 1351, 1355, 1359, 1362, 1367, 1372, 1375, 1379, + 1383, 1389, 1397, 1404, 1410, 1412, 1414, 1419, 1421, 1423, + 1425, 1427, 1429, 1434, 1436, 1438, 1440, 1442, 1444, 1446, + 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1462, 1464, 1468, + 1470, 1472, 1474, 1476, 1480, 1482, 1486, 1488, 1490, 1492, + 1496, 1498, 1503, 1505, 1508, 1510, 1512, 1515, 1518, 1529, + 1532, 1540, 1542, 1544, 1547, 1549, 1552, 1554, 1559, 1564, + 1566, 1570, 1571, 1572, 1573, 1574, 1576, 1578, 1580, 1582, + 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1600, 1610, + 1620, 1630, 1640, 1642, 1644, 1647, 1652, 1656, 1658, 1660, + 1662, 1665, 1667, 1670, 1672, 1674, 1676, 1678, 1680, 1682, + 1684, 1686, 1689, 1691, 1693, 1695, 1697, 1699, 1703, 1706, + 1705, 1718, 1719, 1720, 1725, 1727, 1729, 1731, 1736, 1738, + 1741, 1743, 1745, 1750, 1755, 1760, 1768, 1776, 1775, 1793, + 1794, 1798, 1799, 1803, 1804, 1809, 1814, 1816, 1820, 1823, + 1827, 1828, 1829, 1832, 1833, 1836, 1837, 1840, 1844, 1848, + 1854, 1860, 1862, 1866, 1870, 1871, 1875, 1876, 1880, 1881, + 1886, 1888, 1890, 1893 }; #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", @@ -480,12 +483,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-581) +#define YYPACT_NINF (-576) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-370) +#define YYTABLE_NINF (-372) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -494,76 +497,76 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 518, -581, -581, -581, -581, -581, -581, -581, 43, -581, - 3159, 49, 2101, 1984, -581, -581, -581, -581, 253, 3159, - 253, 3159, 253, 3159, 253, 253, 3159, 17, 3159, 2430, - -581, -581, -581, -581, 253, 253, -581, -581, 61, -67, - -581, 3159, -581, -581, 3159, -36, -15, -18, 2430, 2349, - 49, 253, 3159, 2, 3159, 3159, 3159, 3159, 3159, 3159, - 2511, -581, 254, 106, -581, 15, -581, -43, 47, -27, - 56, -581, -581, -581, 617, -581, -581, 68, 109, 147, - 188, -581, 173, 219, 231, 176, -581, -581, -581, -581, - -581, 125, 169, 52, -581, -581, -581, 99, 104, -581, - -581, 49, 232, 232, -581, 2, -581, -581, -581, 225, - -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, 2, 212, -581, 241, 359, - 243, 1984, -581, -581, -581, -581, 864, -581, 33, 981, - -581, -581, -581, -581, -581, 240, -581, 309, -581, 309, - -581, -581, 3635, 3240, 2592, 197, -581, -581, -581, 3635, - -581, 3635, 204, 199, 199, 3159, 155, 210, 3159, 171, - 3635, 49, 617, 172, 2673, 3159, 2349, -581, 3635, 3321, - -581, 106, -581, 2754, 3159, 3159, -581, 278, -581, -581, - 3159, 106, 309, 309, 309, 275, 275, 292, 235, 3159, - 3159, 3159, 3159, 3159, 3159, 3159, 2835, -581, -581, 3159, - -581, -581, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, - 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, - 3159, 3159, 3159, 3159, 3159, 3159, 3159, 3159, -581, -581, - -581, 3159, 178, 2916, 3159, 3159, 3159, 3159, 3159, 3159, - 3159, -581, 250, 264, 271, 197, -581, -581, -581, 196, - 201, 8, -581, -581, 202, 211, -581, -581, 303, -581, - -581, -581, -581, -581, -581, 49, -581, -581, -581, 3159, - 3159, 3159, 3159, 3159, 3159, -581, -581, -581, -581, -581, - -581, -581, -581, 297, -581, 337, -581, -581, 362, -581, - -581, 2997, 309, 197, 41, 51, 92, -581, 321, 319, - -581, -581, -581, 199, 320, -581, 21, 21, -581, 3159, - 3159, 13, -581, -581, -581, -581, 397, 291, 256, 3159, - 106, 106, 378, -581, 3159, 379, 58, 58, -581, -581, - 3351, 114, 77, -581, 413, 449, 3596, 3455, 309, 354, - 420, 1015, 3351, 3351, 683, 3494, 3494, 3494, 3517, 3517, - 3556, 3577, 3596, 3596, 449, 449, 3616, 477, 420, 354, - 309, 309, 119, 136, 3159, 3159, 403, 373, 381, 384, - -581, 385, 3078, 288, -581, -581, 422, 228, 110, 260, - 118, 268, 127, 273, 1165, -581, -581, 404, 39, 197, - -581, -581, 330, 3159, 3159, 1, 592, 2187, 52, 298, - 3159, 3159, 3159, 3159, -581, -581, 377, -581, 421, -581, - -581, -581, 254, -581, -581, -581, 254, -581, -581, -581, - 343, 297, 33, 16, 489, -581, -581, -581, 434, -581, - 317, -581, -581, 326, 170, -581, 3159, -581, -581, -581, - 493, -581, 132, 3159, 439, -581, -581, 3159, -581, 328, - 289, 143, -581, -581, -581, -581, -581, -581, 531, 3159, - -581, 446, -581, 451, -581, 453, -581, 456, -581, -581, - -581, -581, -581, 44, -581, 344, 254, 345, -581, 445, - 346, -581, -581, -581, 347, -581, -581, -581, -581, -581, - -581, -581, 355, 463, 221, -581, 3159, 356, 358, 254, - 366, 367, 1282, 374, 455, 204, -581, 501, -581, -581, - 199, 3159, 415, -581, 27, -581, -581, -581, 521, -581, - -581, 3159, -581, 444, -581, -581, -581, 182, -581, 3403, - 3159, 523, -581, -581, 405, -581, -581, -581, -581, 519, - -581, -581, -581, 3159, 232, 232, 527, 424, -581, 3159, - 3159, 232, -581, 419, 425, -581, -581, 232, 232, -581, - -581, -581, -581, 3159, 199, -581, 530, 617, 3159, 431, - -581, 254, -581, -581, 437, -581, -581, 482, -581, -581, - 617, 255, 255, 445, 448, 440, 450, 212, 3159, 3159, - 232, 232, 232, -581, -581, 445, 232, 574, 421, 1399, - -581, -581, -581, -581, 617, -581, -581, -581, -581, 1516, - -581, 232, 467, -581, -581, -581, -581, 3159, 232, 232, - -581, 579, 478, 212, 212, 212, -581, 566, -581, -581, - -581, 1633, -581, 29, -581, 1750, -581, 3159, 484, 212, - 212, -581, 232, -581, -581, -581, 488, 49, -581, -581, - 596, 534, -581, -581, 498, 232, -581, -581, -581, 212, - -581, -581, -581, -581, -581, -581, 232, 212, 2268, -581, - 1867, 255, -581, 499, -581, -581, 232, -581 + 669, -576, -576, -576, -576, -576, -576, -576, 34, -576, + 3130, 32, 2072, 1955, -576, -576, -576, -576, 427, 3130, + 427, 3130, 427, 3130, 427, 427, 3130, 91, 3130, 2401, + -576, -576, -576, -576, 427, 427, -576, -576, 43, -57, + -576, 3130, -576, -576, 3130, -45, -42, -56, 2401, 2320, + 32, 427, 3130, 48, 3130, 3130, 3130, 3130, 3130, 3130, + 2482, -576, 148, 99, -576, 13, -576, -51, 42, 90, + 70, -576, -576, -576, 986, -576, -576, 51, 142, 209, + 221, -576, 179, 245, 248, 186, -576, -576, -576, -576, + -576, 137, 177, 175, -576, -576, -576, 87, 135, -576, + -576, 32, 261, 261, -576, 48, -576, -576, -576, 259, + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -576, 48, 250, -576, + 268, 623, 270, 1955, -576, -576, -576, -576, 835, -576, + 100, 952, -576, -576, -576, -576, -576, 283, -576, 277, + -576, 277, -576, -576, 3636, 3211, 2563, 215, -576, -576, + -576, 3636, -576, 3636, 232, 218, 218, 3130, 180, 225, + 3130, 176, 3636, 32, 986, 185, 2644, 3130, 2320, -576, + 3636, 3292, -576, 99, -576, 2725, 3130, 3130, -576, 300, + -576, -576, 3130, 99, 277, 277, 277, 241, 241, 311, + 134, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 2806, -576, + -576, 3130, -576, -576, 3130, 3130, 3130, 3130, 3130, 3130, + 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, + 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, + -576, -576, -576, 3130, 53, 2887, 3130, 3130, 3130, 3130, + 3130, 3130, 3130, -576, 273, 274, 280, 215, -576, -576, + -576, 216, 224, 24, -576, -576, 227, 240, -576, -576, + 302, -576, -576, -576, -576, -576, -576, 32, -576, -576, + -576, 3130, 3130, 3130, 3130, 3130, 3130, -576, -576, -576, + -576, -576, -576, -576, -576, 286, -576, 348, -576, -576, + 368, -576, -576, 2968, 277, 215, 95, 108, 128, -576, + 285, 327, -576, -576, -576, 218, 330, -576, 17, 17, + -576, 3130, 3130, 36, -576, -576, -576, -576, 390, 301, + 263, 3130, 99, 99, 378, -576, 3130, 379, 111, 111, + -576, -576, 3374, 115, 65, -576, 399, 3557, 3597, 3478, + 277, 334, 307, 3322, 3374, 3374, 652, 3517, 3517, 3517, + 586, 586, 3539, 3578, 3597, 3597, 3557, 3557, 3617, 667, + 307, 334, 277, 277, 156, 61, 3130, 3130, 416, 377, + 383, 386, -576, 392, 3049, 287, -576, -576, 414, 130, + 77, 231, 109, 238, 121, 258, 1136, -576, -576, 397, + 27, 215, -576, -576, 321, 3130, 3130, 25, 549, 2158, + 175, 290, 3130, 3130, 3130, 3130, -576, -576, 384, -576, + 417, -576, -576, -576, 148, -576, -576, -576, 148, -576, + -576, -576, 345, 286, 100, 19, 429, -576, -576, -576, + 434, -576, 315, -576, -576, 323, 153, -576, 3130, -576, + -576, -576, 441, -576, 144, 3130, 453, -576, -576, 3130, + -576, 338, 266, 182, -576, -576, -576, -576, -576, -576, + 454, 3130, -576, 462, -576, 463, -576, 466, -576, 470, + -576, -576, -576, -576, -576, 37, -576, 358, 148, 360, + -576, 483, 370, -576, -576, -576, 371, -576, -576, -576, + -576, -576, -576, -576, 369, 494, 214, -576, 3130, 388, + 389, 148, 396, 398, 1253, 400, 472, 232, -576, 520, + -576, -576, 218, 3130, 440, -576, 52, -576, -576, -576, + 532, -576, -576, 3130, -576, 456, -576, -576, -576, 223, + -576, 3426, 3130, 541, -576, -576, 413, -576, -576, -576, + -576, 533, -576, -576, -576, 3130, 261, 261, 539, 425, + -576, 3130, 3130, 261, -576, 435, 426, -576, -576, 261, + 261, -576, -576, -576, -576, 3130, 218, -576, 544, 986, + 3130, 430, -576, 148, -576, -576, 437, -576, -576, 482, + -576, -576, 986, 230, 230, 483, 442, 447, 449, 250, + 3130, 3130, 261, 261, 261, -576, -576, 483, 261, 559, + 417, 1370, -576, -576, -576, -576, 986, -576, -576, -576, + -576, 1487, -576, 261, 450, -576, -576, -576, -576, 3130, + 261, 261, -576, 561, 455, 250, 250, 250, -576, 542, + -576, -576, -576, 1604, -576, 15, -576, 1721, -576, 3130, + 458, 250, 250, -576, 261, -576, -576, -576, 459, 32, + -576, -576, 574, 505, -576, -576, 464, 261, -576, -576, + -576, 250, -576, -576, -576, -576, -576, -576, 261, 250, + 2239, -576, 1838, 230, -576, 465, -576, -576, 261, -576 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -571,114 +574,116 @@ 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, 168, 1, 59, 0, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, - 131, 131, 132, 319, 0, 0, 290, 317, 278, 312, - 314, 308, 131, 321, 300, 310, 0, 0, 303, 59, - 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 339, 340, 181, 320, 285, 269, 225, 237, 226, - 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, - 282, 284, 281, 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, - 368, 371, 370, 369, 355, 0, 356, 250, 358, 251, - 357, 361, 276, 0, 0, 323, 328, 330, 329, 307, - 268, 267, 59, 59, 59, 59, 0, 0, 0, 0, - 309, 0, 301, 0, 0, 59, 59, 304, 305, 319, - 337, 338, 194, 280, 0, 0, 359, 0, 134, 135, - 59, 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, 2, 4, 6, 8, 10, 12, 14, 0, 63, + 61, 0, 0, 0, 61, 170, 1, 61, 0, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 308, 0, + 133, 133, 134, 321, 0, 0, 292, 319, 280, 314, + 316, 310, 133, 323, 302, 312, 0, 0, 305, 61, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 341, 342, 183, 322, 287, 271, 227, 239, 228, + 246, 272, 273, 274, 186, 277, 5, 293, 282, 285, + 284, 286, 283, 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, 370, 373, 372, 371, 357, 0, 358, 252, + 360, 253, 359, 363, 278, 0, 0, 325, 330, 332, + 331, 309, 270, 269, 61, 61, 61, 61, 0, 0, + 0, 0, 311, 0, 303, 0, 0, 61, 61, 306, + 307, 321, 339, 340, 196, 282, 0, 0, 361, 0, + 136, 137, 61, 304, 254, 255, 276, 259, 260, 281, + 0, 0, 0, 0, 0, 184, 0, 0, 0, 242, + 241, 0, 249, 248, 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, 59, 59, 0, 0, 59, 331, 333, 332, 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, 148, - 147, 153, 163, 145, 159, 0, 158, 162, 164, 169, - 259, 0, 325, 0, 280, 283, 282, 327, 0, 142, - 322, 137, 136, 59, 140, 138, 264, 266, 192, 59, - 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, 365, 363, 367, - 199, 0, 0, 189, 200, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, - 143, 144, 334, 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, 146, - 149, 145, 160, 279, 0, 324, 326, 141, 262, 139, - 59, 263, 265, 0, 59, 213, 59, 316, 196, 195, - 0, 260, 0, 0, 0, 204, 210, 0, 298, 191, - 0, 0, 295, 297, 296, 299, 360, 208, 0, 59, - 293, 0, 202, 0, 286, 0, 287, 0, 58, 61, - 34, 61, 38, 0, 335, 0, 126, 0, 353, 0, - 0, 343, 354, 351, 0, 352, 348, 349, 350, 121, - 122, 127, 0, 0, 106, 30, 0, 0, 0, 124, - 0, 0, 0, 59, 0, 59, 171, 0, 42, 170, - 59, 150, 154, 161, 277, 261, 168, 165, 0, 166, - 193, 0, 341, 0, 198, 187, 214, 0, 207, 273, - 59, 0, 203, 209, 0, 205, 288, 289, 201, 0, - 39, 61, 17, 0, 0, 0, 347, 0, 346, 0, - 0, 0, 24, 0, 0, 120, 120, 0, 0, 62, - 65, 64, 47, 59, 59, 59, 61, 151, 156, 0, - 175, 342, 318, 212, 0, 206, 188, 0, 59, 18, - 336, 59, 59, 344, 0, 0, 0, 59, 123, 0, - 0, 0, 0, 35, 53, 0, 0, 0, 61, 0, - 174, 44, 173, 155, 157, 167, 59, 190, 59, 0, - 59, 0, 0, 113, 36, 49, 345, 0, 0, 0, - 33, 0, 0, 59, 59, 59, 66, 118, 52, 46, - 172, 0, 70, 0, 40, 0, 114, 0, 0, 59, - 59, 25, 0, 29, 50, 54, 0, 0, 48, 176, - 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, + 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 61, 61, 0, 0, 61, 333, 335, + 334, 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, 150, 149, 155, 165, 147, 161, 0, 160, 164, + 166, 171, 261, 0, 327, 0, 282, 285, 284, 329, + 0, 144, 324, 139, 138, 61, 142, 140, 266, 268, + 194, 61, 0, 0, 315, 199, 313, 317, 0, 0, + 0, 0, 187, 188, 0, 296, 0, 279, 181, 182, + 179, 180, 185, 0, 0, 213, 0, 245, 251, 231, + 220, 222, 224, 238, 218, 219, 0, 234, 236, 235, + 232, 233, 230, 229, 250, 247, 244, 240, 243, 226, + 225, 223, 237, 221, 217, 0, 0, 0, 0, 367, + 365, 369, 201, 0, 0, 191, 202, 294, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, + 0, 61, 145, 146, 336, 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, 148, 151, 147, 162, 281, 0, 326, 328, 143, + 264, 141, 61, 265, 267, 0, 61, 215, 61, 318, + 198, 197, 0, 262, 0, 0, 0, 206, 212, 0, + 300, 193, 0, 0, 297, 299, 298, 301, 362, 210, + 0, 61, 295, 0, 204, 0, 288, 0, 289, 0, + 60, 63, 36, 63, 40, 0, 337, 0, 128, 0, + 355, 0, 0, 345, 356, 353, 0, 354, 350, 351, + 352, 123, 124, 129, 0, 0, 108, 32, 0, 0, + 0, 126, 0, 0, 0, 61, 0, 61, 173, 0, + 44, 172, 61, 152, 156, 163, 279, 263, 170, 167, + 0, 168, 195, 0, 343, 0, 200, 189, 216, 0, + 209, 275, 61, 0, 205, 211, 0, 207, 290, 291, + 203, 0, 41, 63, 17, 0, 0, 0, 349, 0, + 348, 0, 0, 0, 26, 0, 0, 122, 122, 0, + 0, 64, 67, 66, 49, 61, 61, 61, 63, 153, + 158, 0, 177, 344, 320, 214, 0, 208, 190, 0, + 61, 18, 338, 61, 61, 346, 0, 0, 0, 61, + 125, 0, 0, 0, 0, 37, 55, 0, 0, 0, + 63, 0, 176, 46, 175, 157, 159, 169, 61, 192, + 61, 0, 61, 0, 0, 115, 38, 51, 347, 0, + 0, 0, 35, 0, 0, 61, 61, 61, 68, 120, + 54, 48, 174, 0, 72, 0, 42, 0, 116, 0, + 0, 61, 61, 27, 0, 31, 52, 56, 0, 0, + 50, 178, 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, -1, 76, -581, - -581, -581, -581, -16, -581, 618, 495, 3, -581, -581, - -74, -413, -580, -299, -581, -563, -581, 30, 223, -336, - -42, -581, -98, 25, -581, -581, -99, 123, -171, -146, - 246, 215, -581, -581, -581, -581, -581, 217, -581, -581, - -581, -581, 129, -581, 48, 220, -581, -316, -581, 82, - -44, -581, -581, -581, -581, -581, -581, -581, -581, -581, - -581, -581, -581, 616, -581, -581, 513, -581, -581, -581, - -152, -17, -581, -581, -581, -581, 261, -581, -581, 266, - 55, 7, 32, -581, -581, -581, -581, -581, 94 + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, -576, -4, -10, -576, -1, + -100, -576, -576, -576, -576, -16, -576, 584, 460, 5, + -576, -576, 163, -408, -575, -296, -576, -555, -576, -9, + 183, -336, -88, -576, -97, 39, -576, -576, -101, 80, + -174, -152, 193, 166, -576, -576, -576, -576, -576, 171, + -576, -576, -576, -576, 72, -576, -3, 168, -576, -317, + -576, 82, -27, -576, -576, -576, -576, -576, -576, -576, + -576, -576, -576, -576, -576, 585, -576, -576, 457, -576, + -576, -576, -167, 0, -576, -576, -576, -576, 201, -576, + -576, 205, 33, -22, -21, -576, -576, -576, -576, -576, + 78 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 630, 114, 115, 116, 117, 118, 608, 678, - 573, 119, 120, 121, 122, 123, 124, 598, 125, 428, - 126, 530, 127, 525, 128, 616, 129, 130, 131, 426, - 132, 133, 134, 135, 136, 145, 490, 450, 278, 424, - 582, 615, 666, 146, 653, 298, 143, 144, 672, 685, - 431, 138, 634, 287, 668, 611, 511, 518, 435, 495, - 513, 407, 280, 172, 174, 262, 200, 323, 326, 411, - 412, 440, 303, 304, 305, 306, 623, 307, 308, 309, - 538, 539, 147, 148, 528, 529, 621, 451, 626, 139, - 63, 64, 456, 393, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 177, 75, 165, 265, 140, 563, - 192, 76, 543, 500, 566, 567, 503, 504, 418, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 156 + 112, 113, 632, 114, 115, 116, 117, 118, 119, 610, + 680, 120, 575, 121, 122, 123, 124, 125, 126, 600, + 127, 430, 128, 532, 129, 527, 130, 618, 131, 132, + 133, 428, 134, 135, 136, 137, 138, 147, 492, 452, + 280, 426, 584, 617, 668, 148, 655, 300, 145, 146, + 674, 687, 433, 140, 636, 289, 670, 613, 513, 520, + 437, 497, 515, 409, 282, 174, 176, 264, 202, 325, + 328, 413, 414, 442, 305, 306, 307, 308, 625, 309, + 310, 311, 540, 541, 149, 150, 530, 531, 623, 453, + 628, 141, 63, 64, 458, 395, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 179, 75, 167, 267, + 142, 565, 194, 76, 545, 502, 568, 569, 505, 506, + 420, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -686,259 +691,248 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 149, 155, 327, 510, 191, 281, 87, 17, 61, - 201, 452, 283, 612, 152, 137, 152, 20, 152, 320, - 152, 152, 635, 328, 20, 170, 214, 455, 215, 344, - 152, 152, -61, 20, 167, 197, 284, 22, 415, 190, - 463, 24, 61, 16, 187, 152, 195, 152, 343, -152, - 491, 670, 254, 299, 255, 561, 173, 300, 198, 168, - 86, 492, -362, 199, -362, 179, 562, 181, 20, 217, - 218, 185, 22, 153, 178, 153, 24, 153, 497, 153, - 153, 512, 166, 220, 221, 261, 520, 521, 671, 153, - 153, 465, 62, 269, 270, 271, 183, 276, 274, 275, - 267, 62, -327, -364, 193, -364, 153, 209, 210, 211, - 212, 695, 154, -326, 186, 688, 158, 184, 160, 161, - 254, 213, 255, 498, 482, 268, 286, -328, 175, 176, - 416, 191, 484, 499, 62, 301, 464, -330, 302, 163, - 417, 486, 208, 194, 297, 196, 546, 216, 266, 164, - 340, 341, 448, -61, 211, 212, 191, 552, -362, 219, - -362, 468, 322, 325, 325, 190, 222, 445, 337, 338, - 315, 209, 210, 211, 212, 61, 61, 333, -329, 279, - 574, 263, 152, 427, -366, 213, 429, 260, 383, 384, - 190, 385, 198, 541, 386, 316, 593, 199, 387, -364, - 253, -364, 388, 389, 209, 210, 211, 212, 209, 210, - 211, 212, 209, 210, 211, 212, 433, 434, 314, 437, - 438, 209, 210, 211, 212, 264, 209, 210, 211, 212, - 256, 272, 257, 605, 606, 390, 273, 209, 210, 211, - 212, 193, 258, 277, 259, 404, 318, 282, -370, 252, - 481, 285, 406, 289, 310, 410, 290, 291, 292, 293, - 331, 391, 294, 288, 86, 295, 336, 62, 62, 20, - 622, 420, 421, 642, 321, 510, 209, 210, 211, 212, - 339, 430, 483, 319, 469, 324, 454, 329, 631, 632, - 485, 346, 347, 348, 349, 487, 351, 352, 354, 330, - 342, 658, 332, 334, 544, 344, 405, 394, 640, 150, - 392, 551, 453, 325, 151, 209, 210, 211, 212, 61, - 408, 674, 209, 210, 211, 212, 419, 409, 413, 209, - 210, 211, 212, 414, 422, 396, 397, 398, 399, 400, - 401, 402, 403, 423, 663, 664, 665, 425, 209, 210, - 211, 212, -126, 441, 209, 210, 211, 212, 439, 586, - 676, 677, 209, 210, 211, 212, 345, 209, 210, 211, - 212, 432, 432, 432, 436, 432, 432, 442, 447, 449, - 689, 458, 152, 209, 210, 211, 212, 459, 692, 224, - 461, 289, 463, 444, 290, 291, 292, 293, 473, 410, - 294, -370, -370, -370, 251, 252, 474, 509, 522, 475, - 476, 62, 191, 618, 86, 209, 210, 211, 212, 20, - 479, 460, 489, 507, 523, 507, 462, 527, 472, 494, - 516, 617, 247, 524, 224, 248, 249, 250, 251, 252, - 537, 153, 531, 526, 542, -61, 190, 527, 508, 536, - 508, 548, 446, 209, 210, 211, 212, 540, 555, 150, - 550, 20, 554, 556, 151, 557, 470, 471, 558, 61, - 501, 506, 246, 506, 478, 564, 565, 247, 569, 570, - 248, 249, 250, 251, 252, 572, 571, 575, 559, 576, - 560, 209, 210, 211, 212, 496, 496, 577, 578, 514, - 224, 225, 436, 519, 496, 496, 580, 209, 210, 211, - 212, 583, 585, 581, 588, 322, 209, 210, 211, 212, - 325, 1, 2, 3, 4, 5, 6, 7, 457, 224, - 225, 226, 590, 594, 592, 595, 596, 245, 246, 191, - 61, 597, 603, 247, 466, 547, 248, 249, 250, 251, - 252, 609, 620, 480, 568, 604, 610, 224, 225, 226, - 599, 62, 625, 242, 243, 244, 245, 246, 627, 619, - 628, 638, 247, 190, 325, 248, 249, 250, 251, 252, - 637, 639, 629, 209, 210, 211, 212, 209, 210, 211, - 212, 633, 633, 244, 245, 246, 648, 286, 496, 657, - 247, 661, 18, 248, 249, 250, 251, 252, 20, 662, - 651, 667, 22, 682, 655, 675, 24, 527, 652, 680, - 534, 683, 502, 591, 545, 209, 210, 211, 212, 686, - 696, 142, 62, 286, 286, 286, 296, 157, 641, 159, - 601, 602, 162, 517, 169, 171, 693, 607, 584, 286, - 286, 496, 496, 613, 614, 493, 532, 180, 636, 533, - 182, 684, 553, 681, 188, 589, 649, 690, 535, 286, - 646, 202, 203, 204, 205, 206, 313, 286, 509, 515, - 0, 633, 505, 0, 0, 0, 643, 644, 645, 223, - 519, 496, 647, 0, 0, 0, 0, 224, 225, 226, - 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, - 227, 0, 0, 0, 659, 660, 228, 229, 230, 496, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 0, 0, 679, 496, - 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 687, 0, 0, 0, 223, 0, 0, 0, 0, - 0, 0, 691, 224, 225, 226, 0, 0, 0, 0, - 0, 0, 697, 0, 0, 0, 227, 0, 0, 312, - 0, 0, 228, 229, 230, 467, 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, 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, 549, 0, 0, 0, 223, 0, 0, - 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, -370, 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, 587, 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, 600, + 61, 151, 329, 281, 283, 169, 170, 87, 17, 61, + 330, 512, 454, 285, 154, 322, 154, 139, 154, 157, + 154, 154, 193, 614, 216, 172, 217, 203, -63, 637, + 154, 154, 346, 187, 16, 345, 286, 672, 493, 192, + 20, 20, 61, 86, 189, 154, 197, 154, 563, 494, + 457, 155, 199, 155, 417, 155, 180, 155, 155, 564, + 168, 219, 220, 385, 386, 465, 387, 155, 155, 388, + 175, 269, 270, 389, 673, 181, 188, 390, 391, 467, + 499, 183, 195, 514, 155, 263, 470, 185, 522, 523, + 186, 484, 62, 271, 272, 273, 156, 278, 276, 277, + 160, 62, 162, 163, 200, -329, 256, 20, 257, 201, + 392, 22, 177, 178, 215, 24, -154, 200, 697, -364, + 301, -364, 201, 486, 302, 690, 268, 196, 288, 198, + 211, 212, 213, 214, 62, 488, 393, 466, -328, -366, + 304, -366, 210, 317, 318, 218, 418, 500, 299, -63, + 193, 450, 483, 256, 221, 257, 419, 501, 548, 211, + 212, 213, 214, 447, 324, 327, 327, 192, 215, 342, + 343, 211, 212, 213, 214, 193, 543, 61, 61, 335, + 224, -330, 576, 255, 154, 394, 429, 339, 340, 431, + -368, 20, 192, 265, -332, 22, 554, 262, 316, 24, + 222, 223, 303, 211, 212, 213, 214, 213, 214, 211, + 212, 213, 214, 165, -331, 211, 212, 213, 214, 274, + -364, 195, -364, 166, 211, 212, 213, 214, 211, 212, + 213, 214, -366, 266, -366, 607, 608, 595, 211, 212, + 213, 214, 211, 212, 213, 214, 291, 406, 320, 292, + 293, 294, 295, 485, 408, 296, 258, 412, 259, 260, + 487, 261, 333, 633, 634, 347, 341, 275, 338, 62, + 62, 624, 279, 422, 423, 644, 211, 212, 213, 214, + 489, 284, 512, 432, 471, -372, 254, 396, 553, 287, + 290, 546, 297, 348, 349, 350, 351, 312, 353, 354, + 356, 321, 323, 660, 326, 456, 421, 334, 211, 212, + 213, 214, 331, 642, 332, 327, 336, 211, 212, 213, + 214, 61, 344, 676, 346, 211, 212, 213, 214, 407, + 410, 455, 211, 212, 213, 214, 411, 398, 399, 400, + 401, 402, 403, 404, 405, -128, 427, 441, 415, 665, + 666, 667, 211, 212, 213, 214, 416, 226, 588, 424, + 211, 212, 213, 214, 443, 678, 679, -372, -372, -372, + 253, 254, 425, 434, 434, 434, 438, 434, 434, 211, + 212, 213, 214, 444, 154, 691, 449, 226, 227, 451, + 463, 460, 465, 694, 461, 446, 509, 510, 509, 510, + 249, 412, 475, 250, 251, 252, 253, 254, 476, 511, + 524, 477, 620, 62, 226, 491, 448, 478, 619, 481, + 496, 155, 518, 462, 247, 248, 525, 86, 464, 529, + 249, 193, 20, 250, 251, 252, 253, 254, 86, 528, + 526, 474, 539, 20, 533, -63, 544, 538, 192, 529, + 503, 508, 248, 508, 542, 435, 436, 249, 439, 440, + 250, 251, 252, 253, 254, 550, 603, 604, 472, 473, + 552, 61, 152, 609, 557, 558, 480, 153, 559, 615, + 616, 556, 560, 152, 211, 212, 213, 214, 153, 566, + 561, 567, 562, 211, 212, 213, 214, 498, 498, 20, + 573, 516, 571, 572, 438, 521, 498, 498, 211, 212, + 213, 214, 645, 646, 647, 583, 574, 324, 649, 577, + 578, 459, 327, 211, 212, 213, 214, 579, 585, 580, + 468, 587, 582, 658, 570, 211, 212, 213, 214, 590, + 661, 662, 61, 592, 598, 482, 594, 549, 211, 212, + 213, 214, 596, 597, 605, 599, 606, 612, 193, 18, + 536, 627, 601, 62, 681, 20, 622, 611, 629, 22, + 630, 621, 547, 24, 639, 192, 327, 689, 640, 504, + 641, 650, 659, 663, 631, 555, 664, 669, 693, 677, + 682, 684, 685, 635, 635, 688, 698, 144, 699, 288, + 498, 643, 695, 298, 495, 519, 159, 586, 161, 534, + 591, 164, 653, 171, 173, 535, 657, 651, 537, 529, + 654, 517, 315, 507, 0, 593, 182, 0, 0, 184, + 0, 0, 0, 190, 62, 288, 288, 288, 638, 0, + 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, + 648, 288, 288, 498, 498, 291, 0, 0, 292, 293, + 294, 295, 0, 686, 296, 683, 226, 227, 228, 692, + 0, 288, 1, 2, 3, 4, 5, 6, 7, 288, + 511, 0, 0, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 521, 498, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, + 0, 0, 250, 251, 252, 253, 254, 211, 212, 213, + 214, 498, 0, 0, 225, 0, 0, 0, 0, 0, + 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, + 0, 498, 0, 0, 0, 229, 0, 226, 227, 228, + 314, 230, 231, 232, 469, 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, 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, 624, 99, 100, 101, 102, 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, 579, 19, 0, 60, 20, 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, + 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, 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, + 54, 0, 0, 0, 551, 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, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, - 0, 57, 0, 58, 59, 0, 18, 86, 654, 19, - 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, + 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, + 0, 0, 0, 0, 0, 0, 18, 86, 490, 19, + 602, 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, 95, 96, 97, 98, 626, 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, 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, 669, 19, 0, 60, 20, + 58, 59, 0, 18, 86, 581, 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, + 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, 673, 19, 0, 60, 20, 0, 0, 21, + 18, 86, 652, 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, + 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, + 56, 0, 57, 0, 58, 59, 0, 18, 86, 656, 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, + 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, 694, 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, 60, + 0, 58, 59, 0, 18, 86, 671, 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, + 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, 18, 86, 675, 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, 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, + 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, 696, 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, 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, + -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, 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, + 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, 39, 40, 41, 42, 43, 0, 0, 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, - 0, 60, 30, 31, 0, 32, 33, 34, 35, 36, - 37, 0, 38, 39, 40, 41, 42, 43, 0, 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, 0, 0, 19, 0, 0, 20, 54, 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, @@ -950,7 +944,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, 207, 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, @@ -958,31 +952,31 @@ 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, 317, 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, - 0, 0, 0, 0, -369, 254, 0, 255, 0, 0, - -369, 54, 0, -369, -369, -369, 0, 0, -369, -369, - 0, 0, 0, -369, -369, 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, -369, -369, 0, 335, 60, -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, 18, 0, 0, 19, 0, - 0, 20, -369, 0, 21, 22, 23, 0, 0, 24, - 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, - 0, 0, 0, -369, -369, 0, -369, 0, -369, -369, - 0, 0, 28, 29, 0, 0, -369, 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, 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, -371, 256, 0, 257, 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, 337, 60, -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, 18, 0, 0, 19, + 0, 0, 20, -371, 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, 0, -371, -371, 0, -371, 0, -371, + -371, 0, 0, 28, 29, 0, 0, -371, 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, @@ -990,7 +984,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, 395, 60, 30, + 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, @@ -998,7 +992,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, 443, 60, + 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, @@ -1006,7 +1000,7 @@ static const yytype_int16 yytable[] = 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, 28, 29, 0, 477, + 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, @@ -1015,179 +1009,157 @@ 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, - 0, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 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, -368, 0, 0, -368, 0, 0, -368, 54, 0, - -368, -368, -368, 0, 0, -368, -368, 0, 0, 0, - -368, -368, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 57, 0, 58, 59, 0, 0, -368, -368, - 0, 0, 311, -368, -368, 0, -368, -368, -368, -368, - -368, -368, 0, -368, -368, -368, -368, -368, -368, 0, - 0, 0, -368, 0, 0, -368, -368, -368, -368, -368, - -368, 0, 0, 0, -368, -368, -368, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, - 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, - 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, - -368, -368, 0, -368, 0, -368, -368, 0, 0, 0, - 228, 229, 230, -368, 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, 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, -370, 0, 0, -370, 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, 0, 313, -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, 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, -370, 0, 248, - 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, + -370, 0, 0, 0, 225, 0, 0, 0, 0, 0, + 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, + 0, -370, -370, 0, -370, -372, -370, -370, 0, 0, + 0, 230, 231, 232, -370, 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, 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, + 0, 0, 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, 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, - -370, 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 + 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, + -372, 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, 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, 236, 237, 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, 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, -372, 245, 246, 247, 248, 0, 0, 0, 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 }; static const yytype_int16 yycheck[] = { - 10, 17, 19, 174, 417, 49, 105, 11, 9, 19, - 54, 327, 110, 576, 18, 12, 20, 16, 22, 165, - 24, 25, 602, 175, 16, 29, 11, 14, 13, 13, - 34, 35, 11, 16, 27, 52, 135, 20, 30, 49, - 13, 24, 52, 0, 48, 49, 50, 51, 200, 16, - 11, 22, 11, 20, 13, 11, 31, 24, 56, 27, - 11, 22, 11, 61, 13, 132, 22, 42, 16, 112, - 113, 89, 20, 18, 13, 20, 24, 22, 414, 24, - 25, 417, 27, 110, 111, 86, 422, 423, 59, 34, - 35, 14, 10, 94, 95, 96, 132, 101, 99, 100, - 93, 19, 86, 11, 49, 13, 51, 94, 95, 96, - 97, 691, 18, 86, 132, 678, 22, 132, 24, 25, - 11, 15, 13, 122, 14, 93, 136, 86, 34, 35, - 122, 175, 14, 132, 52, 102, 22, 86, 148, 122, - 132, 14, 60, 49, 141, 51, 14, 132, 93, 132, - 194, 195, 323, 132, 96, 97, 200, 14, 11, 112, - 13, 25, 172, 173, 174, 175, 110, 313, 185, 186, - 163, 94, 95, 96, 97, 185, 186, 181, 86, 103, - 516, 56, 186, 281, 11, 15, 284, 11, 10, 11, - 200, 13, 56, 23, 16, 163, 14, 61, 20, 11, - 132, 13, 24, 25, 94, 95, 96, 97, 94, 95, - 96, 97, 94, 95, 96, 97, 290, 291, 163, 293, - 294, 94, 95, 96, 97, 56, 94, 95, 96, 97, - 11, 132, 13, 569, 570, 57, 132, 94, 95, 96, - 97, 186, 11, 11, 13, 261, 164, 22, 129, 130, - 22, 39, 262, 32, 14, 265, 35, 36, 37, 38, - 178, 83, 41, 22, 11, 22, 184, 185, 186, 16, - 586, 272, 273, 609, 70, 688, 94, 95, 96, 97, - 186, 285, 22, 86, 383, 86, 330, 132, 33, 34, - 22, 209, 210, 211, 212, 22, 214, 215, 216, 89, - 22, 637, 131, 131, 456, 13, 56, 252, 607, 56, - 132, 22, 329, 323, 61, 94, 95, 96, 97, 329, - 56, 657, 94, 95, 96, 97, 271, 56, 132, 94, - 95, 96, 97, 132, 132, 253, 254, 255, 256, 257, - 258, 259, 260, 132, 643, 644, 645, 44, 94, 95, - 96, 97, 131, 16, 94, 95, 96, 97, 61, 530, - 659, 660, 94, 95, 96, 97, 131, 94, 95, 96, - 97, 289, 290, 291, 292, 293, 294, 15, 59, 59, - 679, 90, 386, 94, 95, 96, 97, 131, 687, 80, - 12, 32, 13, 311, 35, 36, 37, 38, 25, 409, - 41, 126, 127, 128, 129, 130, 25, 417, 424, 25, - 25, 329, 456, 584, 11, 94, 95, 96, 97, 16, - 132, 339, 18, 416, 425, 418, 344, 428, 25, 99, - 132, 583, 123, 56, 80, 126, 127, 128, 129, 130, - 450, 386, 99, 22, 454, 11, 456, 448, 416, 132, - 418, 12, 131, 94, 95, 96, 97, 131, 12, 56, - 132, 16, 479, 12, 61, 12, 384, 385, 12, 479, - 415, 416, 118, 418, 392, 131, 131, 123, 132, 132, - 126, 127, 128, 129, 130, 22, 131, 131, 489, 131, - 491, 94, 95, 96, 97, 413, 414, 131, 131, 417, - 80, 81, 420, 421, 422, 423, 132, 94, 95, 96, - 97, 56, 11, 523, 99, 525, 94, 95, 96, 97, - 530, 3, 4, 5, 6, 7, 8, 9, 131, 80, - 81, 82, 11, 550, 90, 12, 131, 117, 118, 583, - 550, 22, 15, 123, 131, 463, 126, 127, 128, 129, - 130, 132, 22, 131, 499, 131, 131, 80, 81, 82, - 561, 479, 131, 114, 115, 116, 117, 118, 131, 585, - 88, 131, 123, 583, 584, 126, 127, 128, 129, 130, - 132, 131, 598, 94, 95, 96, 97, 94, 95, 96, - 97, 601, 602, 116, 117, 118, 22, 607, 516, 132, - 123, 22, 10, 126, 127, 128, 129, 130, 16, 131, - 626, 45, 20, 17, 630, 131, 24, 618, 628, 131, - 131, 87, 30, 541, 131, 94, 95, 96, 97, 131, - 131, 13, 550, 643, 644, 645, 141, 21, 608, 23, - 564, 565, 26, 420, 28, 29, 688, 571, 525, 659, - 660, 569, 570, 577, 578, 409, 441, 41, 603, 442, - 44, 671, 131, 667, 48, 536, 618, 683, 448, 679, - 615, 55, 56, 57, 58, 59, 163, 687, 688, 418, - -1, 691, 416, -1, -1, -1, 610, 611, 612, 72, - 608, 609, 616, -1, -1, -1, -1, 80, 81, 82, - -1, -1, -1, -1, -1, -1, -1, 631, -1, -1, - 93, -1, -1, -1, 638, 639, 99, 100, 101, 637, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, -1, -1, 662, 657, + 10, 17, 176, 103, 105, 27, 27, 11, 9, 19, + 177, 419, 329, 110, 18, 167, 20, 12, 22, 19, + 24, 25, 49, 578, 11, 29, 13, 54, 11, 604, + 34, 35, 13, 89, 0, 202, 137, 22, 11, 49, + 16, 16, 52, 11, 48, 49, 50, 51, 11, 22, + 14, 18, 52, 20, 30, 22, 13, 24, 25, 22, + 27, 112, 113, 10, 11, 13, 13, 34, 35, 16, + 31, 93, 93, 20, 59, 132, 132, 24, 25, 14, + 416, 42, 49, 419, 51, 86, 25, 132, 424, 425, + 132, 14, 10, 94, 95, 96, 18, 101, 99, 100, + 22, 19, 24, 25, 56, 86, 11, 16, 13, 61, + 57, 20, 34, 35, 15, 24, 16, 56, 693, 11, + 20, 13, 61, 14, 24, 680, 93, 49, 138, 51, + 94, 95, 96, 97, 52, 14, 83, 22, 86, 11, + 150, 13, 60, 165, 165, 132, 122, 122, 143, 132, + 177, 325, 22, 11, 112, 13, 132, 132, 14, 94, + 95, 96, 97, 315, 174, 175, 176, 177, 15, 196, + 197, 94, 95, 96, 97, 202, 23, 187, 188, 183, + 110, 86, 518, 132, 188, 132, 283, 187, 188, 286, + 11, 16, 202, 56, 86, 20, 14, 11, 165, 24, + 110, 111, 102, 94, 95, 96, 97, 96, 97, 94, + 95, 96, 97, 122, 86, 94, 95, 96, 97, 132, + 11, 188, 13, 132, 94, 95, 96, 97, 94, 95, + 96, 97, 11, 56, 13, 571, 572, 14, 94, 95, + 96, 97, 94, 95, 96, 97, 32, 263, 166, 35, + 36, 37, 38, 22, 264, 41, 11, 267, 13, 11, + 22, 13, 180, 33, 34, 131, 188, 132, 186, 187, + 188, 588, 11, 274, 275, 611, 94, 95, 96, 97, + 22, 22, 690, 287, 385, 129, 130, 254, 22, 39, + 22, 458, 22, 211, 212, 213, 214, 14, 216, 217, + 218, 86, 70, 639, 86, 332, 273, 131, 94, 95, + 96, 97, 132, 609, 89, 325, 131, 94, 95, 96, + 97, 331, 22, 659, 13, 94, 95, 96, 97, 56, + 56, 331, 94, 95, 96, 97, 56, 255, 256, 257, + 258, 259, 260, 261, 262, 131, 44, 61, 132, 645, + 646, 647, 94, 95, 96, 97, 132, 80, 532, 132, + 94, 95, 96, 97, 16, 661, 662, 126, 127, 128, + 129, 130, 132, 291, 292, 293, 294, 295, 296, 94, + 95, 96, 97, 15, 388, 681, 59, 80, 81, 59, + 12, 90, 13, 689, 131, 313, 418, 418, 420, 420, + 123, 411, 25, 126, 127, 128, 129, 130, 25, 419, + 426, 25, 586, 331, 80, 18, 131, 25, 585, 132, + 99, 388, 132, 341, 117, 118, 427, 11, 346, 430, + 123, 458, 16, 126, 127, 128, 129, 130, 11, 22, + 56, 25, 452, 16, 99, 11, 456, 132, 458, 450, + 417, 418, 118, 420, 131, 292, 293, 123, 295, 296, + 126, 127, 128, 129, 130, 12, 566, 567, 386, 387, + 132, 481, 56, 573, 12, 12, 394, 61, 12, 579, + 580, 481, 12, 56, 94, 95, 96, 97, 61, 131, + 491, 131, 493, 94, 95, 96, 97, 415, 416, 16, + 131, 419, 132, 132, 422, 423, 424, 425, 94, 95, + 96, 97, 612, 613, 614, 525, 22, 527, 618, 131, + 131, 131, 532, 94, 95, 96, 97, 131, 56, 131, + 131, 11, 132, 633, 501, 94, 95, 96, 97, 99, + 640, 641, 552, 11, 131, 131, 90, 465, 94, 95, + 96, 97, 552, 12, 15, 22, 131, 131, 585, 10, + 131, 131, 563, 481, 664, 16, 22, 132, 131, 20, + 88, 587, 131, 24, 132, 585, 586, 677, 131, 30, + 131, 22, 132, 22, 600, 131, 131, 45, 688, 131, + 131, 17, 87, 603, 604, 131, 131, 13, 698, 609, + 518, 610, 690, 143, 411, 422, 21, 527, 23, 443, + 538, 26, 628, 28, 29, 444, 632, 620, 450, 620, + 630, 420, 165, 418, -1, 543, 41, -1, -1, 44, + -1, -1, -1, 48, 552, 645, 646, 647, 605, -1, + 55, 56, 57, 58, 59, -1, -1, -1, -1, -1, + 617, 661, 662, 571, 572, 32, -1, -1, 35, 36, + 37, 38, -1, 673, 41, 669, 80, 81, 82, 685, + -1, 681, 3, 4, 5, 6, 7, 8, 9, 689, + 690, -1, -1, 693, -1, -1, -1, -1, -1, -1, + -1, -1, 610, 611, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, + -1, -1, 126, 127, 128, 129, 130, 94, 95, 96, + 97, 639, -1, -1, 72, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, + -1, 659, -1, -1, -1, 93, -1, 80, 81, 82, + 165, 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, 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, - -1, 675, -1, -1, -1, 72, -1, -1, -1, -1, - -1, -1, 686, 80, 81, 82, -1, -1, -1, -1, - -1, -1, 696, -1, -1, -1, 93, -1, -1, 163, - -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, -1, 126, - 127, 128, 129, 130, -1, -1, -1, -1, -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, 531, -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, 563, + 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, 588, 40, 41, 42, 43, -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, @@ -1195,8 +1167,8 @@ static const yytype_int16 yycheck[] = 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, -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, @@ -1205,24 +1177,19 @@ static const yytype_int16 yycheck[] = 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, + 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, 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, 533, -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, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, + 565, -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, 35, 36, 37, 38, 590, 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, @@ -1254,7 +1221,7 @@ 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, @@ -1262,11 +1229,11 @@ static const yytype_int16 yycheck[] = 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, 132, + -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, @@ -1278,48 +1245,75 @@ static const yytype_int16 yycheck[] = -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, 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, 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, + 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, 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, 13, -1, -1, 16, 98, -1, 19, 20, + 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, - 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, + -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, 62, 63, 64, 65, 66, 67, -1, -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, + -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, @@ -1331,7 +1325,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, @@ -1343,7 +1337,7 @@ static const yytype_int16 yycheck[] = 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, + -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, @@ -1351,11 +1345,11 @@ 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, - -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, + -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, @@ -1363,7 +1357,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, @@ -1396,7 +1390,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, - -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, @@ -1408,42 +1402,53 @@ 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, -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, 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, 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, + 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, -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, + -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, -1, -1, - 126, 127, 128, 129, 130, 108, 109, 110, 111, 112, + 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, -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, 106, 107, 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, -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, -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, 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 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1451,75 +1456,75 @@ 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, 232, 233, 234, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 248, 254, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 11, 177, 1, 22, + 132, 180, 234, 235, 236, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 250, 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, 232, - 251, 69, 188, 189, 190, 178, 186, 225, 226, 186, - 56, 61, 177, 263, 271, 254, 271, 246, 271, 246, - 271, 271, 246, 122, 132, 249, 263, 264, 265, 246, - 177, 246, 206, 206, 207, 271, 271, 247, 13, 132, - 246, 206, 246, 132, 132, 89, 132, 177, 246, 56, - 178, 233, 253, 263, 271, 177, 271, 254, 56, 61, - 209, 233, 246, 246, 246, 246, 246, 131, 232, 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, 250, 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, 215, 216, 217, 218, 220, 221, 222, - 14, 132, 246, 249, 263, 264, 265, 131, 232, 86, - 212, 70, 178, 210, 86, 178, 211, 211, 253, 132, - 89, 232, 131, 177, 131, 131, 232, 254, 254, 271, - 233, 233, 22, 253, 13, 131, 232, 232, 232, 232, - 246, 232, 232, 131, 232, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 10, 11, 13, 16, 20, 24, 25, - 57, 83, 132, 236, 263, 131, 232, 232, 232, 232, - 232, 232, 232, 232, 186, 56, 178, 204, 56, 56, - 178, 212, 213, 132, 132, 30, 122, 132, 261, 263, - 180, 180, 132, 132, 182, 44, 172, 205, 162, 205, - 177, 193, 232, 193, 193, 201, 232, 193, 193, 61, - 214, 16, 15, 131, 232, 212, 131, 59, 211, 59, - 180, 230, 230, 254, 233, 14, 235, 131, 90, 131, - 232, 12, 232, 13, 22, 14, 131, 102, 25, 209, - 232, 232, 25, 25, 25, 25, 25, 131, 232, 132, - 131, 22, 14, 22, 14, 22, 14, 22, 12, 18, - 179, 11, 22, 213, 99, 202, 232, 202, 122, 132, - 256, 263, 30, 259, 260, 262, 263, 264, 265, 178, - 194, 199, 202, 203, 232, 259, 132, 201, 200, 232, - 202, 202, 186, 180, 56, 166, 22, 180, 227, 228, - 164, 99, 214, 220, 131, 228, 132, 178, 223, 224, - 131, 23, 178, 255, 253, 131, 14, 232, 12, 246, - 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, 246, 99, 225, - 11, 232, 90, 14, 254, 12, 131, 22, 160, 180, - 246, 181, 181, 15, 131, 202, 202, 181, 151, 132, - 131, 198, 198, 181, 181, 184, 168, 253, 211, 186, - 22, 229, 230, 219, 246, 131, 231, 131, 88, 186, - 145, 33, 34, 178, 195, 195, 263, 132, 131, 131, - 196, 200, 202, 181, 181, 181, 263, 181, 22, 227, - 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, 234, 253, 69, 190, 191, 192, 180, 188, 227, + 228, 188, 56, 61, 179, 265, 273, 256, 273, 248, + 273, 248, 273, 273, 248, 122, 132, 251, 265, 266, + 267, 248, 179, 248, 208, 208, 209, 273, 273, 249, + 13, 132, 248, 208, 248, 132, 132, 89, 132, 179, + 248, 56, 180, 235, 255, 265, 273, 179, 273, 256, + 56, 61, 211, 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, 252, 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, 217, 218, 219, 220, 222, + 223, 224, 14, 132, 248, 251, 265, 266, 267, 131, + 234, 86, 214, 70, 180, 212, 86, 180, 213, 213, + 255, 132, 89, 234, 131, 179, 131, 131, 234, 256, + 256, 273, 235, 235, 22, 255, 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, 265, 131, 234, 234, + 234, 234, 234, 234, 234, 234, 188, 56, 180, 206, + 56, 56, 180, 214, 215, 132, 132, 30, 122, 132, + 263, 265, 182, 182, 132, 132, 184, 44, 174, 207, + 164, 207, 179, 195, 234, 195, 195, 203, 234, 195, + 195, 61, 216, 16, 15, 131, 234, 214, 131, 59, + 213, 59, 182, 232, 232, 256, 235, 14, 237, 131, + 90, 131, 234, 12, 234, 13, 22, 14, 131, 102, + 25, 211, 234, 234, 25, 25, 25, 25, 25, 131, + 234, 132, 131, 22, 14, 22, 14, 22, 14, 22, + 12, 18, 181, 11, 22, 215, 99, 204, 234, 204, + 122, 132, 258, 265, 30, 261, 262, 264, 265, 266, + 267, 180, 196, 201, 204, 205, 234, 261, 132, 203, + 202, 234, 204, 204, 188, 182, 56, 168, 22, 182, + 229, 230, 166, 99, 216, 222, 131, 230, 132, 180, + 225, 226, 131, 23, 180, 257, 255, 131, 14, 234, + 12, 248, 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, 248, + 99, 227, 11, 234, 90, 14, 256, 12, 131, 22, + 162, 182, 248, 183, 183, 15, 131, 204, 204, 183, + 152, 132, 131, 200, 200, 183, 183, 186, 170, 255, + 213, 188, 22, 231, 232, 221, 248, 131, 233, 131, + 88, 188, 145, 33, 34, 180, 197, 197, 265, 132, + 131, 131, 198, 202, 204, 183, 183, 183, 265, 183, + 22, 229, 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. */ @@ -1527,42 +1532,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, 216, - 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, - 221, 221, 221, 222, 222, 223, 223, 224, 226, 225, - 227, 227, 228, 229, 229, 231, 230, 232, 232, 232, - 232, 232, 233, 233, 233, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 235, 234, 236, - 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, - 239, 239, 240, 240, 241, 241, 241, 241, 242, 242, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, - 244, 244, 244, 244, 244, 244, 244, 245, 245, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 247, 246, 246, - 246, 246, 248, 248, 248, 248, 249, 249, 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, 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, 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. */ @@ -1570,42 +1575,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, 1, 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, 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, 1, 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, 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 { @@ -1646,7 +1651,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 +1683,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 077a5899b39088c521d76f52d8712ddd9797719e4bfc3adeda18183d96e4edbd perly.y + * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index 00d019e4e9ea..ef0d18ec1195 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 ce8db55994b17f5a303595dbd6d8bf2447dfde09 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 | 1136 +++++++++++++++++----------------- perly.h | 2 +- perly.tab | 1746 ++++++++++++++++++++++++++--------------------------- perly.y | 52 +- 4 files changed, 1460 insertions(+), 1476 deletions(-) diff --git a/perly.act b/perly.act index c3a36243149e..26edd1c1d00a 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 optattrlist 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 optattrlist 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: /* attrlist: COLONATTR THING */ -#line 1077 "perly.y" + case 144: /* attrlist: COLONATTR THING */ +#line 1067 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 144: /* attrlist: COLONATTR */ -#line 1079 "perly.y" + case 145: /* attrlist: COLONATTR */ +#line 1069 "perly.y" { (yyval.opval) = NULL; } break; - case 147: /* sigvar: %empty */ -#line 1094 "perly.y" + case 148: /* sigvar: %empty */ +#line 1084 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 148: /* sigvar: PRIVATEREF */ -#line 1096 "perly.y" + case 149: /* sigvar: PRIVATEREF */ +#line 1086 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 149: /* sigslurpsigil: PERLY_SNAIL */ -#line 1101 "perly.y" + case 150: /* sigslurpsigil: PERLY_SNAIL */ +#line 1091 "perly.y" { (yyval.ival) = '@'; } break; - case 150: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1103 "perly.y" + case 151: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1093 "perly.y" { (yyval.ival) = '%'; } break; - case 151: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1107 "perly.y" + case 152: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1097 "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 152: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1112 "perly.y" + case 153: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1102 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 153: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1116 "perly.y" + case 154: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1106 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 154: /* optcolon: %empty */ -#line 1122 "perly.y" + case 155: /* optcolon: %empty */ +#line 1112 "perly.y" { (yyval.ival) = 0; } break; - case 155: /* optcolon: PERLY_COLON */ -#line 1124 "perly.y" + case 156: /* optcolon: PERLY_COLON */ +#line 1114 "perly.y" { (yyval.ival) = ':'; } break; - case 156: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1130 "perly.y" + case 157: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1120 "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 157: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1140 "perly.y" + case 158: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1130 "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 158: /* optsigscalardefault: %empty */ -#line 1153 "perly.y" + case 159: /* optsigscalardefault: %empty */ +#line 1143 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 160: /* sigelem: sigscalarelem */ -#line 1160 "perly.y" + case 161: /* sigelem: sigscalarelem */ +#line 1150 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 161: /* sigelem: sigslurpelem */ -#line 1162 "perly.y" + case 162: /* sigelem: sigslurpelem */ +#line 1152 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 169: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1188 "perly.y" + case 170: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1178 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 170: /* $@20: %empty */ -#line 1191 "perly.y" + case 171: /* $@20: %empty */ +#line 1181 "perly.y" { ENTER; subsignature_start(); @@ -1045,8 +1053,8 @@ case 2: /* @1: %empty */ break; - case 171: /* subsigguts: $@20 optsiglist */ -#line 1197 "perly.y" + case 172: /* subsigguts: $@20 optsiglist */ +#line 1187 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1073,14 +1081,14 @@ case 2: /* @1: %empty */ break; - case 173: /* optsubbody: PERLY_SEMICOLON */ -#line 1225 "perly.y" + case 174: /* optsubbody: PERLY_SEMICOLON */ +#line 1215 "perly.y" { (yyval.opval) = NULL; } break; - case 174: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1231 "perly.y" + case 175: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1221 "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 176: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1243 "perly.y" + case 177: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1233 "perly.y" { (yyval.opval) = NULL; } break; - case 177: /* $@21: %empty */ -#line 1248 "perly.y" + case 178: /* $@21: %empty */ +#line 1238 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 178: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1250 "perly.y" + case 179: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1240 "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 179: /* expr: expr ANDOP expr */ -#line 1261 "perly.y" + case 180: /* expr: expr ANDOP expr */ +#line 1251 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 180: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1263 "perly.y" + case 181: /* expr: expr PLUGIN_LOGICAL_AND_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 181: /* expr: expr OROP expr */ -#line 1265 "perly.y" + case 182: /* expr: expr OROP expr */ +#line 1255 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 182: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1267 "perly.y" + case 183: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1257 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 184: /* listexpr: listexpr PERLY_COMMA */ -#line 1273 "perly.y" + case 185: /* listexpr: listexpr PERLY_COMMA */ +#line 1263 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 185: /* listexpr: listexpr PERLY_COMMA term */ -#line 1275 "perly.y" + case 186: /* listexpr: listexpr PERLY_COMMA term */ +#line 1265 "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 187: /* listop: LSTOP indirob listexpr */ -#line 1284 "perly.y" + case 188: /* listop: LSTOP indirob listexpr */ +#line 1274 "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 188: /* listop: BLKLSTOP block listexpr */ -#line 1288 "perly.y" + case 189: /* listop: BLKLSTOP block listexpr */ +#line 1278 "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 189: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1292 "perly.y" + case 190: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1282 "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 190: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1296 "perly.y" + case 191: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1286 "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 191: /* listop: term ARROW methodname */ -#line 1302 "perly.y" + case 192: /* listop: term ARROW methodname */ +#line 1292 "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 192: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1307 "perly.y" + case 193: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1297 "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 193: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1313 "perly.y" + case 194: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1303 "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 194: /* listop: METHCALL0 indirob optlistexpr */ -#line 1319 "perly.y" + case 195: /* listop: METHCALL0 indirob optlistexpr */ +#line 1309 "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 195: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1325 "perly.y" + case 196: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1315 "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 196: /* listop: LSTOP optlistexpr */ -#line 1331 "perly.y" + case 197: /* listop: LSTOP optlistexpr */ +#line 1321 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 197: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1333 "perly.y" + case 198: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1323 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 198: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1335 "perly.y" + case 199: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1325 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 199: /* @22: %empty */ -#line 1337 "perly.y" + case 200: /* @22: %empty */ +#line 1327 "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 200: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1343 "perly.y" + case 201: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1333 "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 203: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1358 "perly.y" + case 204: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1348 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 204: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1360 "perly.y" + case 205: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1350 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 205: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1363 "perly.y" + case 206: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1353 "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 206: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1368 "perly.y" + case 207: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1358 "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 207: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1373 "perly.y" + case 208: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1363 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 208: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1376 "perly.y" + case 209: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1366 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 209: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1380 "perly.y" + case 210: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1370 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 210: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1384 "perly.y" + case 211: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1374 "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 211: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1390 "perly.y" + case 212: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1380 "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 212: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1398 "perly.y" + case 213: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1388 "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 213: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1405 "perly.y" + case 214: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1395 "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 214: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1411 "perly.y" + case 215: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1401 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 215: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1413 "perly.y" + case 216: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1403 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 216: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1415 "perly.y" + case 217: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1405 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 217: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1420 "perly.y" + case 218: /* termbinop: term PLUGIN_HIGH_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 ASSIGNOP term */ -#line 1422 "perly.y" + case 219: /* termbinop: term ASSIGNOP term */ +#line 1412 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 219: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1424 "perly.y" + case 220: /* termbinop: term PLUGIN_ASSIGN_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 POWOP term */ -#line 1426 "perly.y" + case 221: /* termbinop: term POWOP term */ +#line 1416 "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_POW_OP term */ -#line 1428 "perly.y" + case 222: /* termbinop: term PLUGIN_POW_OP term */ +#line 1418 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 222: /* termbinop: term MULOP term */ -#line 1430 "perly.y" + case 223: /* termbinop: term MULOP term */ +#line 1420 "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 223: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1435 "perly.y" + case 224: /* termbinop: term PLUGIN_MUL_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 ADDOP term */ -#line 1437 "perly.y" + case 225: /* termbinop: term ADDOP 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: term PLUGIN_ADD_OP term */ -#line 1439 "perly.y" + case 226: /* termbinop: term PLUGIN_ADD_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 226: /* termbinop: term SHIFTOP term */ -#line 1441 "perly.y" + case 227: /* termbinop: term SHIFTOP term */ +#line 1431 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 227: /* termbinop: termrelop */ -#line 1443 "perly.y" + case 228: /* termbinop: termrelop */ +#line 1433 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 228: /* termbinop: termeqop */ -#line 1445 "perly.y" + case 229: /* termbinop: termeqop */ +#line 1435 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 229: /* termbinop: term BITANDOP term */ -#line 1447 "perly.y" + case 230: /* termbinop: term BITANDOP 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 230: /* termbinop: term BITOROP term */ -#line 1449 "perly.y" + case 231: /* termbinop: term BITOROP term */ +#line 1439 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 231: /* termbinop: term DOTDOT term */ -#line 1451 "perly.y" + case 232: /* termbinop: term DOTDOT term */ +#line 1441 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 232: /* termbinop: term ANDAND term */ -#line 1453 "perly.y" + case 233: /* termbinop: term ANDAND term */ +#line 1443 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 233: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1455 "perly.y" + case 234: /* termbinop: term PLUGIN_LOGICAL_AND_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 OROR term */ -#line 1457 "perly.y" + case 235: /* termbinop: term OROR term */ +#line 1447 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 235: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1459 "perly.y" + case 236: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1449 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 236: /* termbinop: term DORDOR term */ -#line 1461 "perly.y" + case 237: /* termbinop: term DORDOR term */ +#line 1451 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 237: /* termbinop: term MATCHOP term */ -#line 1463 "perly.y" + case 238: /* termbinop: term MATCHOP term */ +#line 1453 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 238: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1465 "perly.y" + case 239: /* termbinop: term PLUGIN_LOW_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 239: /* termrelop: relopchain */ -#line 1469 "perly.y" + case 240: /* termrelop: relopchain */ +#line 1459 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 240: /* termrelop: term NCRELOP term */ -#line 1471 "perly.y" + case 241: /* termrelop: term NCRELOP term */ +#line 1461 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 241: /* termrelop: termrelop NCRELOP */ -#line 1473 "perly.y" + case 242: /* termrelop: termrelop NCRELOP */ +#line 1463 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 242: /* termrelop: termrelop CHRELOP */ -#line 1475 "perly.y" + case 243: /* termrelop: termrelop CHRELOP */ +#line 1465 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 243: /* termrelop: term PLUGIN_REL_OP term */ -#line 1477 "perly.y" + case 244: /* termrelop: term PLUGIN_REL_OP term */ +#line 1467 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 244: /* relopchain: term CHRELOP term */ -#line 1481 "perly.y" + case 245: /* relopchain: term CHRELOP term */ +#line 1471 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 245: /* relopchain: relopchain CHRELOP term */ -#line 1483 "perly.y" + case 246: /* relopchain: relopchain CHRELOP term */ +#line 1473 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 246: /* termeqop: eqopchain */ -#line 1487 "perly.y" + case 247: /* termeqop: eqopchain */ +#line 1477 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 247: /* termeqop: term NCEQOP term */ -#line 1489 "perly.y" + case 248: /* termeqop: term NCEQOP term */ +#line 1479 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 248: /* termeqop: termeqop NCEQOP */ -#line 1491 "perly.y" + case 249: /* termeqop: termeqop NCEQOP */ +#line 1481 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 249: /* termeqop: termeqop CHEQOP */ -#line 1493 "perly.y" + case 250: /* termeqop: termeqop CHEQOP */ +#line 1483 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 250: /* eqopchain: term CHEQOP term */ -#line 1497 "perly.y" + case 251: /* eqopchain: term CHEQOP term */ +#line 1487 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 251: /* eqopchain: eqopchain CHEQOP term */ -#line 1499 "perly.y" + case 252: /* eqopchain: eqopchain CHEQOP term */ +#line 1489 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 252: /* termunop: PERLY_MINUS term */ -#line 1504 "perly.y" + case 253: /* termunop: PERLY_MINUS term */ +#line 1494 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 253: /* termunop: PERLY_PLUS term */ -#line 1506 "perly.y" + case 254: /* termunop: PERLY_PLUS term */ +#line 1496 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 254: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1509 "perly.y" + case 255: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1499 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 255: /* termunop: PERLY_TILDE term */ -#line 1511 "perly.y" + case 256: /* termunop: PERLY_TILDE term */ +#line 1501 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 256: /* termunop: term POSTINC */ -#line 1513 "perly.y" + case 257: /* termunop: term POSTINC */ +#line 1503 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 257: /* termunop: term POSTDEC */ -#line 1516 "perly.y" + case 258: /* termunop: term POSTDEC */ +#line 1506 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 258: /* termunop: term POSTJOIN */ -#line 1519 "perly.y" + case 259: /* termunop: term POSTJOIN */ +#line 1509 "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 259: /* termunop: PREINC term */ -#line 1530 "perly.y" + case 260: /* termunop: PREINC term */ +#line 1520 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 260: /* termunop: PREDEC term */ -#line 1533 "perly.y" + case 261: /* termunop: PREDEC term */ +#line 1523 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 261: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1541 "perly.y" + case 262: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1531 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 262: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1543 "perly.y" + case 263: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1533 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 263: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1545 "perly.y" + case 264: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1535 "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 264: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1548 "perly.y" + case 265: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1538 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 265: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1550 "perly.y" + case 266: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1540 "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 266: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1553 "perly.y" + case 267: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1543 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 267: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1555 "perly.y" + case 268: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1545 "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 268: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1560 "perly.y" + case 269: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1550 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 269: /* termdo: KW_DO term */ -#line 1565 "perly.y" + case 270: /* termdo: KW_DO term */ +#line 1555 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 270: /* termdo: KW_DO block */ -#line 1567 "perly.y" + case 271: /* termdo: KW_DO block */ +#line 1557 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 275: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1575 "perly.y" + case 276: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1565 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 276: /* term: REFGEN term */ -#line 1577 "perly.y" + case 277: /* term: REFGEN term */ +#line 1567 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 277: /* term: myattrterm */ -#line 1579 "perly.y" + case 278: /* term: myattrterm */ +#line 1569 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 278: /* term: KW_LOCAL term */ -#line 1581 "perly.y" + case 279: /* term: KW_LOCAL term */ +#line 1571 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 279: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1583 "perly.y" + case 280: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1573 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 280: /* term: QWLIST */ -#line 1585 "perly.y" + case 281: /* term: QWLIST */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 281: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1587 "perly.y" + case 282: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1577 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 282: /* term: scalar */ -#line 1589 "perly.y" + case 283: /* term: scalar */ +#line 1579 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 283: /* term: star */ -#line 1591 "perly.y" + case 284: /* term: star */ +#line 1581 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: hsh */ -#line 1593 "perly.y" + case 285: /* term: hsh */ +#line 1583 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: /* term: ary */ -#line 1595 "perly.y" + case 286: /* term: ary */ +#line 1585 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 286: /* term: arylen */ -#line 1597 "perly.y" + case 287: /* term: arylen */ +#line 1587 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 287: /* term: subscripted */ -#line 1599 "perly.y" + case 288: /* term: subscripted */ +#line 1589 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 288: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1601 "perly.y" + case 289: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1591 "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 289: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1611 "perly.y" + case 290: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1601 "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 290: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1621 "perly.y" + case 291: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1611 "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 291: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1631 "perly.y" + case 292: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1621 "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 292: /* term: THING */ -#line 1641 "perly.y" + case 293: /* term: THING */ +#line 1631 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 293: /* term: amper */ -#line 1643 "perly.y" + case 294: /* term: amper */ +#line 1633 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 294: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1645 "perly.y" + case 295: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1635 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 295: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1648 "perly.y" + case 296: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1638 "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 296: /* term: NOAMP subname optlistexpr */ -#line 1653 "perly.y" + case 297: /* term: NOAMP subname optlistexpr */ +#line 1643 "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 297: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1657 "perly.y" + case 298: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1647 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 298: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1659 "perly.y" + case 299: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1649 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 299: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1661 "perly.y" + case 300: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1651 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 300: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1663 "perly.y" + case 301: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1653 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 301: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1666 "perly.y" + case 302: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1656 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 302: /* term: LOOPEX */ -#line 1668 "perly.y" + case 303: /* term: LOOPEX */ +#line 1658 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 303: /* term: LOOPEX term */ -#line 1671 "perly.y" + case 304: /* term: LOOPEX term */ +#line 1661 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 304: /* term: NOTOP listexpr */ -#line 1673 "perly.y" + case 305: /* term: NOTOP listexpr */ +#line 1663 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 305: /* term: UNIOP */ -#line 1675 "perly.y" + case 306: /* term: UNIOP */ +#line 1665 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 306: /* term: UNIOP block */ -#line 1677 "perly.y" + case 307: /* term: UNIOP block */ +#line 1667 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 307: /* term: UNIOP term */ -#line 1679 "perly.y" + case 308: /* term: UNIOP term */ +#line 1669 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 308: /* term: KW_REQUIRE */ -#line 1681 "perly.y" + case 309: /* term: KW_REQUIRE */ +#line 1671 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 309: /* term: KW_REQUIRE term */ -#line 1683 "perly.y" + case 310: /* term: KW_REQUIRE term */ +#line 1673 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 310: /* term: UNIOPSUB */ -#line 1685 "perly.y" + case 311: /* term: UNIOPSUB */ +#line 1675 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 311: /* term: UNIOPSUB term */ -#line 1687 "perly.y" + case 312: /* term: UNIOPSUB term */ +#line 1677 "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 312: /* term: FUNC0 */ -#line 1690 "perly.y" + case 313: /* term: FUNC0 */ +#line 1680 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 313: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1692 "perly.y" + case 314: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1682 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 314: /* term: FUNC0OP */ -#line 1694 "perly.y" + case 315: /* term: FUNC0OP */ +#line 1684 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 315: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1696 "perly.y" + case 316: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1686 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 316: /* term: FUNC0SUB */ -#line 1698 "perly.y" + case 317: /* term: FUNC0SUB */ +#line 1688 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 317: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1700 "perly.y" + case 318: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1690 "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 318: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1704 "perly.y" + case 319: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1694 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 319: /* @23: %empty */ -#line 1706 "perly.y" + case 320: /* @23: %empty */ +#line 1696 "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 320: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1717 "perly.y" + case 321: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1707 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 324: /* myattrterm: KW_MY myterm attrlist */ -#line 1726 "perly.y" + case 325: /* myattrterm: KW_MY myterm attrlist */ +#line 1716 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 325: /* myattrterm: KW_MY myterm */ -#line 1728 "perly.y" + case 326: /* myattrterm: KW_MY myterm */ +#line 1718 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 326: /* myattrterm: KW_MY REFGEN myterm attrlist */ -#line 1730 "perly.y" + case 327: /* myattrterm: KW_MY REFGEN myterm attrlist */ +#line 1720 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 327: /* myattrterm: KW_MY REFGEN term */ -#line 1732 "perly.y" + case 328: /* myattrterm: KW_MY REFGEN term */ +#line 1722 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 328: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1737 "perly.y" + case 329: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1727 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 329: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1739 "perly.y" + case 330: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1729 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 330: /* myterm: scalar */ -#line 1742 "perly.y" + case 331: /* myterm: scalar */ +#line 1732 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 331: /* myterm: hsh */ -#line 1744 "perly.y" + case 332: /* myterm: hsh */ +#line 1734 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 332: /* myterm: ary */ -#line 1746 "perly.y" + case 333: /* myterm: ary */ +#line 1736 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 333: /* fieldvar: scalar */ -#line 1751 "perly.y" + case 334: /* fieldvar: scalar */ +#line 1741 "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 334: /* fieldvar: hsh */ -#line 1756 "perly.y" + case 335: /* fieldvar: hsh */ +#line 1746 "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 335: /* fieldvar: ary */ -#line 1761 "perly.y" + case 336: /* fieldvar: ary */ +#line 1751 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2139,8 +2147,8 @@ case 2: /* @1: %empty */ break; - case 336: /* fielddecl: KW_FIELD fieldvar optattrlist */ -#line 1769 "perly.y" + case 337: /* fielddecl: KW_FIELD fieldvar optattrlist */ +#line 1759 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2150,8 +2158,8 @@ case 2: /* @1: %empty */ break; - case 337: /* $@24: %empty */ -#line 1776 "perly.y" + case 338: /* $@24: %empty */ +#line 1766 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2162,8 +2170,8 @@ case 2: /* @1: %empty */ break; - case 338: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ -#line 1784 "perly.y" + case 339: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ +#line 1774 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2172,122 +2180,122 @@ case 2: /* @1: %empty */ break; - case 344: /* optrepl: PERLY_SLASH expr */ -#line 1804 "perly.y" + case 345: /* optrepl: PERLY_SLASH expr */ +#line 1794 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 345: /* my_scalar: scalar */ -#line 1810 "perly.y" + case 346: /* my_scalar: scalar */ +#line 1800 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 346: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1815 "perly.y" + case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1805 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1817 "perly.y" + case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1807 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 349: /* my_list_of_scalars: list_of_scalars */ -#line 1824 "perly.y" + case 350: /* my_list_of_scalars: list_of_scalars */ +#line 1814 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 357: /* amper: PERLY_AMPERSAND indirob */ -#line 1841 "perly.y" + case 358: /* amper: PERLY_AMPERSAND indirob */ +#line 1831 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 358: /* scalar: PERLY_DOLLAR indirob */ -#line 1845 "perly.y" + case 359: /* scalar: PERLY_DOLLAR indirob */ +#line 1835 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 359: /* ary: PERLY_SNAIL indirob */ -#line 1849 "perly.y" + case 360: /* ary: PERLY_SNAIL indirob */ +#line 1839 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 360: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1855 "perly.y" + case 361: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1845 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 361: /* arylen: DOLSHARP indirob */ -#line 1861 "perly.y" + case 362: /* arylen: DOLSHARP indirob */ +#line 1851 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 362: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1863 "perly.y" + case 363: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1853 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 363: /* star: PERLY_STAR indirob */ -#line 1867 "perly.y" + case 364: /* star: PERLY_STAR indirob */ +#line 1857 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 365: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1872 "perly.y" + case 366: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1862 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 367: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1877 "perly.y" + case 368: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1867 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 369: /* gelem: term ARROW PERLY_STAR */ -#line 1882 "perly.y" + case 370: /* gelem: term ARROW PERLY_STAR */ +#line 1872 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 370: /* indirob: BAREWORD */ -#line 1887 "perly.y" + case 371: /* indirob: BAREWORD */ +#line 1877 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 371: /* indirob: scalar */ -#line 1889 "perly.y" + case 372: /* indirob: scalar */ +#line 1879 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 372: /* indirob: block */ -#line 1891 "perly.y" + case 373: /* indirob: block */ +#line 1881 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 373: /* indirob: PRIVATEREF */ -#line 1894 "perly.y" + case 374: /* indirob: PRIVATEREF */ +#line 1884 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2299,6 +2307,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y + * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 3f39beb05917..c77cc4d78605 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y + * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 8ff713a10a4f..ae8456bd0ee8 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_attrlist = 214, /* attrlist */ - YYSYMBOL_optattrlist = 215, /* optattrlist */ - 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_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_attrlist = 215, /* attrlist */ + YYSYMBOL_optattrlist = 216, /* optattrlist */ + YYSYMBOL_sigvar = 217, /* sigvar */ + YYSYMBOL_sigslurpsigil = 218, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 219, /* sigslurpelem */ + YYSYMBOL_optcolon = 220, /* optcolon */ + YYSYMBOL_sigscalarelem = 221, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 222, /* optsigscalardefault */ + YYSYMBOL_sigelem = 223, /* sigelem */ + YYSYMBOL_siglist = 224, /* siglist */ + YYSYMBOL_optsiglist = 225, /* optsiglist */ + YYSYMBOL_optsubsignature = 226, /* optsubsignature */ + YYSYMBOL_subsignature = 227, /* subsignature */ + YYSYMBOL_subsigguts = 228, /* subsigguts */ + YYSYMBOL_229_20 = 229, /* $@20 */ + YYSYMBOL_optsubbody = 230, /* optsubbody */ + YYSYMBOL_subbody = 231, /* subbody */ + YYSYMBOL_optsigsubbody = 232, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 233, /* sigsubbody */ + YYSYMBOL_234_21 = 234, /* $@21 */ + YYSYMBOL_expr = 235, /* expr */ + YYSYMBOL_listexpr = 236, /* listexpr */ + YYSYMBOL_listop = 237, /* listop */ + YYSYMBOL_238_22 = 238, /* @22 */ + YYSYMBOL_methodname = 239, /* methodname */ + YYSYMBOL_subscripted = 240, /* subscripted */ + YYSYMBOL_termbinop = 241, /* termbinop */ + YYSYMBOL_termrelop = 242, /* termrelop */ + YYSYMBOL_relopchain = 243, /* relopchain */ + YYSYMBOL_termeqop = 244, /* termeqop */ + YYSYMBOL_eqopchain = 245, /* eqopchain */ + YYSYMBOL_termunop = 246, /* termunop */ + YYSYMBOL_anonymous = 247, /* anonymous */ + YYSYMBOL_termdo = 248, /* termdo */ + YYSYMBOL_term = 249, /* term */ + YYSYMBOL_250_23 = 250, /* @23 */ + YYSYMBOL_myattrterm = 251, /* myattrterm */ + YYSYMBOL_myterm = 252, /* myterm */ + YYSYMBOL_fieldvar = 253, /* fieldvar */ + 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 3766 +#define YYLAST 3709 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 141 +#define YYNNTS 142 /* YYNRULES -- Number of rules. */ -#define YYNRULES 373 +#define YYNRULES 374 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 700 +#define YYNSTATES 682 /* 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, 1083, 1084, 1093, 1095, 1100, - 1102, 1106, 1111, 1115, 1121, 1123, 1129, 1139, 1152, 1154, - 1159, 1161, 1169, 1170, 1171, 1176, 1177, 1182, 1183, 1187, - 1191, 1191, 1224, 1225, 1230, 1242, 1243, 1248, 1247, 1260, - 1262, 1264, 1266, 1268, 1272, 1274, 1279, 1283, 1287, 1291, - 1295, 1301, 1306, 1312, 1318, 1324, 1330, 1332, 1334, 1337, - 1336, 1350, 1351, 1355, 1359, 1362, 1367, 1372, 1375, 1379, - 1383, 1389, 1397, 1404, 1410, 1412, 1414, 1419, 1421, 1423, - 1425, 1427, 1429, 1434, 1436, 1438, 1440, 1442, 1444, 1446, - 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1462, 1464, 1468, - 1470, 1472, 1474, 1476, 1480, 1482, 1486, 1488, 1490, 1492, - 1496, 1498, 1503, 1505, 1508, 1510, 1512, 1515, 1518, 1529, - 1532, 1540, 1542, 1544, 1547, 1549, 1552, 1554, 1559, 1564, - 1566, 1570, 1571, 1572, 1573, 1574, 1576, 1578, 1580, 1582, - 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1600, 1610, - 1620, 1630, 1640, 1642, 1644, 1647, 1652, 1656, 1658, 1660, - 1662, 1665, 1667, 1670, 1672, 1674, 1676, 1678, 1680, 1682, - 1684, 1686, 1689, 1691, 1693, 1695, 1697, 1699, 1703, 1706, - 1705, 1718, 1719, 1720, 1725, 1727, 1729, 1731, 1736, 1738, - 1741, 1743, 1745, 1750, 1755, 1760, 1768, 1776, 1775, 1793, - 1794, 1798, 1799, 1803, 1804, 1809, 1814, 1816, 1820, 1823, - 1827, 1828, 1829, 1832, 1833, 1836, 1837, 1840, 1844, 1848, - 1854, 1860, 1862, 1866, 1870, 1871, 1875, 1876, 1880, 1881, - 1886, 1888, 1890, 1893 + 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, 1073, 1074, 1083, 1085, + 1090, 1092, 1096, 1101, 1105, 1111, 1113, 1119, 1129, 1142, + 1144, 1149, 1151, 1159, 1160, 1161, 1166, 1167, 1172, 1173, + 1177, 1181, 1181, 1214, 1215, 1220, 1232, 1233, 1238, 1237, + 1250, 1252, 1254, 1256, 1258, 1262, 1264, 1269, 1273, 1277, + 1281, 1285, 1291, 1296, 1302, 1308, 1314, 1320, 1322, 1324, + 1327, 1326, 1340, 1341, 1345, 1349, 1352, 1357, 1362, 1365, + 1369, 1373, 1379, 1387, 1394, 1400, 1402, 1404, 1409, 1411, + 1413, 1415, 1417, 1419, 1424, 1426, 1428, 1430, 1432, 1434, + 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, + 1458, 1460, 1462, 1464, 1466, 1470, 1472, 1476, 1478, 1480, + 1482, 1486, 1488, 1493, 1495, 1498, 1500, 1502, 1505, 1508, + 1519, 1522, 1530, 1532, 1534, 1537, 1539, 1542, 1544, 1549, + 1554, 1556, 1560, 1561, 1562, 1563, 1564, 1566, 1568, 1570, + 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, + 1600, 1610, 1620, 1630, 1632, 1634, 1637, 1642, 1646, 1648, + 1650, 1652, 1655, 1657, 1660, 1662, 1664, 1666, 1668, 1670, + 1672, 1674, 1676, 1679, 1681, 1683, 1685, 1687, 1689, 1693, + 1696, 1695, 1708, 1709, 1710, 1715, 1717, 1719, 1721, 1726, + 1728, 1731, 1733, 1735, 1740, 1745, 1750, 1758, 1766, 1765, + 1783, 1784, 1788, 1789, 1793, 1794, 1799, 1804, 1806, 1810, + 1813, 1817, 1818, 1819, 1822, 1823, 1826, 1827, 1830, 1834, + 1838, 1844, 1850, 1852, 1856, 1860, 1861, 1865, 1866, 1870, + 1871, 1876, 1878, 1880, 1883 }; #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", @@ -483,12 +484,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-576) +#define YYPACT_NINF (-559) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-372) +#define YYTABLE_NINF (-373) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -497,76 +498,75 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 669, -576, -576, -576, -576, -576, -576, -576, 34, -576, - 3130, 32, 2072, 1955, -576, -576, -576, -576, 427, 3130, - 427, 3130, 427, 3130, 427, 427, 3130, 91, 3130, 2401, - -576, -576, -576, -576, 427, 427, -576, -576, 43, -57, - -576, 3130, -576, -576, 3130, -45, -42, -56, 2401, 2320, - 32, 427, 3130, 48, 3130, 3130, 3130, 3130, 3130, 3130, - 2482, -576, 148, 99, -576, 13, -576, -51, 42, 90, - 70, -576, -576, -576, 986, -576, -576, 51, 142, 209, - 221, -576, 179, 245, 248, 186, -576, -576, -576, -576, - -576, 137, 177, 175, -576, -576, -576, 87, 135, -576, - -576, 32, 261, 261, -576, 48, -576, -576, -576, 259, - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -576, 48, 250, -576, - 268, 623, 270, 1955, -576, -576, -576, -576, 835, -576, - 100, 952, -576, -576, -576, -576, -576, 283, -576, 277, - -576, 277, -576, -576, 3636, 3211, 2563, 215, -576, -576, - -576, 3636, -576, 3636, 232, 218, 218, 3130, 180, 225, - 3130, 176, 3636, 32, 986, 185, 2644, 3130, 2320, -576, - 3636, 3292, -576, 99, -576, 2725, 3130, 3130, -576, 300, - -576, -576, 3130, 99, 277, 277, 277, 241, 241, 311, - 134, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 2806, -576, - -576, 3130, -576, -576, 3130, 3130, 3130, 3130, 3130, 3130, - 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, - 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, - -576, -576, -576, 3130, 53, 2887, 3130, 3130, 3130, 3130, - 3130, 3130, 3130, -576, 273, 274, 280, 215, -576, -576, - -576, 216, 224, 24, -576, -576, 227, 240, -576, -576, - 302, -576, -576, -576, -576, -576, -576, 32, -576, -576, - -576, 3130, 3130, 3130, 3130, 3130, 3130, -576, -576, -576, - -576, -576, -576, -576, -576, 286, -576, 348, -576, -576, - 368, -576, -576, 2968, 277, 215, 95, 108, 128, -576, - 285, 327, -576, -576, -576, 218, 330, -576, 17, 17, - -576, 3130, 3130, 36, -576, -576, -576, -576, 390, 301, - 263, 3130, 99, 99, 378, -576, 3130, 379, 111, 111, - -576, -576, 3374, 115, 65, -576, 399, 3557, 3597, 3478, - 277, 334, 307, 3322, 3374, 3374, 652, 3517, 3517, 3517, - 586, 586, 3539, 3578, 3597, 3597, 3557, 3557, 3617, 667, - 307, 334, 277, 277, 156, 61, 3130, 3130, 416, 377, - 383, 386, -576, 392, 3049, 287, -576, -576, 414, 130, - 77, 231, 109, 238, 121, 258, 1136, -576, -576, 397, - 27, 215, -576, -576, 321, 3130, 3130, 25, 549, 2158, - 175, 290, 3130, 3130, 3130, 3130, -576, -576, 384, -576, - 417, -576, -576, -576, 148, -576, -576, -576, 148, -576, - -576, -576, 345, 286, 100, 19, 429, -576, -576, -576, - 434, -576, 315, -576, -576, 323, 153, -576, 3130, -576, - -576, -576, 441, -576, 144, 3130, 453, -576, -576, 3130, - -576, 338, 266, 182, -576, -576, -576, -576, -576, -576, - 454, 3130, -576, 462, -576, 463, -576, 466, -576, 470, - -576, -576, -576, -576, -576, 37, -576, 358, 148, 360, - -576, 483, 370, -576, -576, -576, 371, -576, -576, -576, - -576, -576, -576, -576, 369, 494, 214, -576, 3130, 388, - 389, 148, 396, 398, 1253, 400, 472, 232, -576, 520, - -576, -576, 218, 3130, 440, -576, 52, -576, -576, -576, - 532, -576, -576, 3130, -576, 456, -576, -576, -576, 223, - -576, 3426, 3130, 541, -576, -576, 413, -576, -576, -576, - -576, 533, -576, -576, -576, 3130, 261, 261, 539, 425, - -576, 3130, 3130, 261, -576, 435, 426, -576, -576, 261, - 261, -576, -576, -576, -576, 3130, 218, -576, 544, 986, - 3130, 430, -576, 148, -576, -576, 437, -576, -576, 482, - -576, -576, 986, 230, 230, 483, 442, 447, 449, 250, - 3130, 3130, 261, 261, 261, -576, -576, 483, 261, 559, - 417, 1370, -576, -576, -576, -576, 986, -576, -576, -576, - -576, 1487, -576, 261, 450, -576, -576, -576, -576, 3130, - 261, 261, -576, 561, 455, 250, 250, 250, -576, 542, - -576, -576, -576, 1604, -576, 15, -576, 1721, -576, 3130, - 458, 250, 250, -576, 261, -576, -576, -576, 459, 32, - -576, -576, 574, 505, -576, -576, 464, 261, -576, -576, - -576, 250, -576, -576, -576, -576, -576, -576, 261, 250, - 2239, -576, 1838, 230, -576, 465, -576, -576, 261, -576 + 771, -559, -559, -559, -559, -559, -559, -559, 24, -559, + 3031, 39, 1973, 1856, -559, -559, -559, -559, 298, 3031, + 298, 3031, 298, 3031, 298, 298, 3031, 38, 3031, 2302, + -559, -559, -559, -559, 298, 298, -559, -559, 78, -36, + -559, 3031, -559, -559, 3031, -26, -22, -49, 2302, 2221, + 39, 298, 3031, 16, 3031, 3031, 3031, 3031, 3031, 3031, + 2383, -559, 341, 116, -559, 12, -559, 8, 49, 106, + 26, -559, -559, -559, 701, -559, -559, 55, 40, 71, + 160, -559, 183, 180, 245, 190, -559, -559, -559, -559, + -559, 154, 164, 340, -559, -559, -559, 72, 91, -559, + -559, 39, 220, 220, -559, 16, -559, -559, -559, 226, + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, -559, 16, 214, -559, + 237, 417, 261, 1856, -559, -559, -559, -559, 671, -559, + 88, 870, -559, -559, -559, -559, -559, 276, -559, 481, + -559, 481, -559, -559, 467, 3112, 2464, 209, -559, -559, + -559, 467, -559, 467, 229, 221, 221, 3031, 178, 223, + 3031, 182, 467, 39, 701, 187, 2545, 3031, 2221, -559, + 467, 3193, -559, 116, -559, 2626, 3031, 3031, -559, 301, + -559, -559, 3031, 116, 481, 481, 481, 631, 631, 307, + 185, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 2707, -559, + -559, 3031, -559, -559, 3031, 3031, 3031, 3031, 3031, 3031, + 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, + 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, + -559, -559, -559, 3031, 89, 2788, 3031, 3031, 3031, 3031, + 3031, 3031, 3031, -559, 268, 269, 288, 209, -559, -559, + -559, 213, 213, 19, -559, -559, 213, 213, -559, -559, + 304, -559, -559, -559, -559, -559, -559, 39, -559, -559, + -559, 3031, 3031, 3031, 3031, 3031, 3031, -559, -559, -559, + -559, -559, -559, -559, -559, 289, -559, 333, -559, -559, + 342, -559, -559, 2869, 481, 209, 30, 48, 52, -559, + 443, 299, -559, -559, -559, 221, 302, -559, 5, 5, + -559, 3031, 3031, 103, -559, -559, -559, -559, 457, 273, + 234, 3031, 116, 116, 360, -559, 3031, 364, 143, 143, + -559, -559, 3275, 141, 111, -559, 470, 3540, 3520, 3379, + 481, 401, 349, 3223, 3275, 3275, 1021, 3418, 3418, 3418, + 3441, 3441, 3480, 3501, 3520, 3520, 3540, 3540, 3559, 3579, + 349, 401, 481, 481, 135, 13, 3031, 3031, 163, 357, + 358, 359, -559, 361, 2950, 255, -559, -559, 532, 244, + 131, 279, 148, 284, 155, 295, 987, -559, -559, 375, + 33, 209, -559, -559, 309, 3031, 220, 220, 36, 403, + 2059, 220, 340, 213, 3031, 3031, 220, 220, -559, -559, + 343, -559, 376, -559, -559, -559, 341, -559, -559, -559, + 341, -559, -559, -559, 310, 289, 88, 17, 542, -559, + -559, -559, 389, -559, 271, -559, -559, 280, 92, -559, + 3031, -559, -559, -559, 557, -559, 181, 3031, 402, -559, + -559, 3031, -559, 283, 300, 208, -559, -559, -559, -559, + -559, -559, 692, 3031, -559, 408, -559, 414, -559, 419, + -559, 420, -559, -559, -559, -559, -559, 64, -559, 311, + 341, 264, 264, -559, 424, 213, -559, -559, -559, 213, + -559, -559, -559, -559, -559, -559, -559, 421, 177, 214, + -559, 220, 315, 320, 341, -559, -559, 1154, 324, 385, + 229, -559, 448, -559, -559, 221, 3031, 371, -559, 43, + -559, -559, -559, 449, -559, -559, 3031, -559, 373, -559, + -559, -559, 232, -559, 3327, 3031, 459, -559, -559, 351, + -559, -559, -559, -559, 452, -559, -559, -559, 3031, -559, + 220, 213, -559, -559, -559, 465, 352, -559, 220, 220, + -559, -559, 213, 214, -559, -559, -559, -559, -559, -559, + 3031, 221, -559, 462, 701, 3031, 354, -559, 341, -559, + -559, 356, -559, -559, 405, -559, -559, 701, -559, 220, + 424, 213, 214, 214, 3031, 220, -559, 220, 220, 424, + 220, 472, 376, 1271, -559, -559, -559, -559, 701, -559, + -559, -559, -559, 1388, -559, 264, -559, 220, -559, -559, + 475, 214, 214, 214, -559, 444, -559, -559, -559, 1505, + -559, -2, -559, 1622, -559, 214, -559, -559, -559, -559, + 370, 39, -559, -559, 485, 416, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, 2140, 1739, 377, -559, + 220, -559 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -574,116 +574,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, 170, 1, 61, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 308, 0, - 133, 133, 134, 321, 0, 0, 292, 319, 280, 314, - 316, 310, 133, 323, 302, 312, 0, 0, 305, 61, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, - 0, 341, 342, 183, 322, 287, 271, 227, 239, 228, - 246, 272, 273, 274, 186, 277, 5, 293, 282, 285, - 284, 286, 283, 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, 370, 373, 372, 371, 357, 0, 358, 252, - 360, 253, 359, 363, 278, 0, 0, 325, 330, 332, - 331, 309, 270, 269, 61, 61, 61, 61, 0, 0, - 0, 0, 311, 0, 303, 0, 0, 61, 61, 306, - 307, 321, 339, 340, 196, 282, 0, 0, 361, 0, - 136, 137, 61, 304, 254, 255, 276, 259, 260, 281, - 0, 0, 0, 0, 0, 184, 0, 0, 0, 242, - 241, 0, 249, 248, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 64, + 62, 0, 0, 0, 62, 171, 1, 62, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, + 134, 134, 135, 322, 0, 0, 293, 320, 281, 315, + 317, 311, 134, 324, 303, 313, 0, 0, 306, 62, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 343, 184, 323, 288, 272, 228, 240, 229, + 247, 273, 274, 275, 187, 278, 5, 294, 283, 286, + 285, 287, 284, 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, 371, 374, 373, 372, 358, 0, 359, 253, + 361, 254, 360, 364, 279, 0, 0, 326, 331, 333, + 332, 310, 271, 270, 62, 62, 62, 62, 0, 0, + 0, 0, 312, 0, 304, 0, 0, 62, 62, 307, + 308, 322, 340, 341, 197, 283, 0, 0, 362, 0, + 137, 138, 62, 305, 255, 256, 277, 260, 261, 282, + 0, 0, 0, 0, 0, 185, 0, 0, 0, 243, + 242, 0, 250, 249, 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, - 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 61, 61, 0, 0, 61, 333, 335, - 334, 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, 150, 149, 155, 165, 147, 161, 0, 160, 164, - 166, 171, 261, 0, 327, 0, 282, 285, 284, 329, - 0, 144, 324, 139, 138, 61, 142, 140, 266, 268, - 194, 61, 0, 0, 315, 199, 313, 317, 0, 0, - 0, 0, 187, 188, 0, 296, 0, 279, 181, 182, - 179, 180, 185, 0, 0, 213, 0, 245, 251, 231, - 220, 222, 224, 238, 218, 219, 0, 234, 236, 235, - 232, 233, 230, 229, 250, 247, 244, 240, 243, 226, - 225, 223, 237, 221, 217, 0, 0, 0, 0, 367, - 365, 369, 201, 0, 0, 191, 202, 294, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, - 0, 61, 145, 146, 336, 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, 148, 151, 147, 162, 281, 0, 326, 328, 143, - 264, 141, 61, 265, 267, 0, 61, 215, 61, 318, - 198, 197, 0, 262, 0, 0, 0, 206, 212, 0, - 300, 193, 0, 0, 297, 299, 298, 301, 362, 210, - 0, 61, 295, 0, 204, 0, 288, 0, 289, 0, - 60, 63, 36, 63, 40, 0, 337, 0, 128, 0, - 355, 0, 0, 345, 356, 353, 0, 354, 350, 351, - 352, 123, 124, 129, 0, 0, 108, 32, 0, 0, - 0, 126, 0, 0, 0, 61, 0, 61, 173, 0, - 44, 172, 61, 152, 156, 163, 279, 263, 170, 167, - 0, 168, 195, 0, 343, 0, 200, 189, 216, 0, - 209, 275, 61, 0, 205, 211, 0, 207, 290, 291, - 203, 0, 41, 63, 17, 0, 0, 0, 349, 0, - 348, 0, 0, 0, 26, 0, 0, 122, 122, 0, - 0, 64, 67, 66, 49, 61, 61, 61, 63, 153, - 158, 0, 177, 344, 320, 214, 0, 208, 190, 0, - 61, 18, 338, 61, 61, 346, 0, 0, 0, 61, - 125, 0, 0, 0, 0, 37, 55, 0, 0, 0, - 63, 0, 176, 46, 175, 157, 159, 169, 61, 192, - 61, 0, 61, 0, 0, 115, 38, 51, 347, 0, - 0, 0, 35, 0, 0, 61, 61, 61, 68, 120, - 54, 48, 174, 0, 72, 0, 42, 0, 116, 0, - 0, 61, 61, 27, 0, 31, 52, 56, 0, 0, - 50, 178, 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 + 257, 258, 259, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 62, 0, 0, 62, 334, 336, + 335, 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, 151, 150, 156, 166, 148, 162, 0, 161, 165, + 167, 172, 262, 0, 328, 0, 283, 286, 285, 330, + 0, 145, 325, 140, 139, 62, 143, 141, 267, 269, + 195, 62, 0, 0, 316, 200, 314, 318, 0, 0, + 0, 0, 188, 189, 0, 297, 0, 280, 182, 183, + 180, 181, 186, 0, 0, 214, 0, 246, 252, 232, + 221, 223, 225, 239, 219, 220, 0, 235, 237, 236, + 233, 234, 231, 230, 251, 248, 245, 241, 244, 227, + 226, 224, 238, 222, 218, 0, 0, 0, 0, 368, + 366, 370, 202, 0, 0, 192, 203, 295, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, + 0, 62, 146, 147, 337, 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, 149, 152, 148, 163, 282, 0, 327, + 329, 144, 265, 142, 62, 266, 268, 0, 62, 216, + 62, 319, 199, 198, 0, 263, 0, 0, 0, 207, + 213, 0, 301, 194, 0, 0, 298, 300, 299, 302, + 363, 211, 0, 62, 296, 0, 205, 0, 289, 0, + 290, 0, 61, 64, 36, 64, 40, 0, 338, 0, + 129, 62, 62, 356, 0, 0, 346, 357, 354, 0, + 355, 351, 352, 353, 124, 125, 130, 0, 109, 62, + 32, 0, 0, 0, 127, 37, 55, 0, 62, 0, + 62, 174, 0, 44, 173, 62, 153, 157, 164, 280, + 264, 171, 168, 0, 169, 196, 0, 344, 0, 201, + 190, 217, 0, 210, 276, 62, 0, 206, 212, 0, + 208, 291, 292, 204, 0, 41, 64, 17, 0, 58, + 0, 0, 116, 38, 51, 350, 0, 349, 0, 0, + 26, 35, 0, 62, 123, 123, 65, 68, 67, 49, + 62, 62, 62, 64, 154, 159, 0, 178, 345, 321, + 215, 0, 209, 191, 0, 62, 18, 339, 117, 0, + 347, 0, 62, 62, 126, 0, 31, 0, 0, 0, + 0, 0, 64, 0, 177, 46, 176, 158, 160, 170, + 62, 193, 62, 0, 62, 62, 348, 0, 29, 34, + 0, 62, 62, 62, 69, 121, 54, 48, 175, 0, + 73, 0, 42, 0, 118, 62, 27, 33, 52, 56, + 0, 0, 50, 179, 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[] = { - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, -576, -4, -10, -576, -1, - -100, -576, -576, -576, -576, -16, -576, 584, 460, 5, - -576, -576, 163, -408, -575, -296, -576, -555, -576, -9, - 183, -336, -88, -576, -97, 39, -576, -576, -101, 80, - -174, -152, 193, 166, -576, -576, -576, -576, -576, 171, - -576, -576, -576, -576, 72, -576, -3, 168, -576, -317, - -576, 82, -27, -576, -576, -576, -576, -576, -576, -576, - -576, -576, -576, -576, -576, 585, -576, -576, 457, -576, - -576, -576, -167, 0, -576, -576, -576, -576, 201, -576, - -576, 205, 33, -22, -21, -576, -576, -576, -576, -576, - 78 + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -154, -559, -3, -10, -559, + -7, -74, -559, -559, -559, -559, -16, -559, 493, 367, + 6, -559, -559, -63, -416, -488, -459, -559, -558, -559, + -107, 93, -559, -161, -559, -97, 59, -559, -559, -100, + -14, -173, -160, 110, 77, -559, -559, -559, -559, -559, + 80, -559, -559, -559, -559, -18, -559, -90, 81, -559, + -323, -559, 75, -21, -559, -559, -559, -559, -559, -559, + -559, -559, -559, -559, -559, -559, 620, -559, -559, 369, + -559, -559, -559, -166, 15, -559, -559, -559, -559, 114, + -559, -559, 136, 46, -17, -15, -559, -559, -559, -559, + -559, 108 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 632, 114, 115, 116, 117, 118, 119, 610, - 680, 120, 575, 121, 122, 123, 124, 125, 126, 600, - 127, 430, 128, 532, 129, 527, 130, 618, 131, 132, - 133, 428, 134, 135, 136, 137, 138, 147, 492, 452, - 280, 426, 584, 617, 668, 148, 655, 300, 145, 146, - 674, 687, 433, 140, 636, 289, 670, 613, 513, 520, - 437, 497, 515, 409, 282, 174, 176, 264, 202, 325, - 328, 413, 414, 442, 305, 306, 307, 308, 625, 309, - 310, 311, 540, 541, 149, 150, 530, 531, 623, 453, - 628, 141, 63, 64, 458, 395, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 179, 75, 167, 267, - 142, 565, 194, 76, 545, 502, 568, 569, 505, 506, - 420, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 158 + 112, 113, 634, 114, 115, 116, 117, 118, 119, 614, + 669, 120, 582, 121, 122, 123, 124, 125, 126, 605, + 127, 432, 128, 535, 129, 530, 130, 620, 131, 132, + 133, 430, 134, 135, 136, 416, 137, 138, 147, 494, + 454, 280, 428, 589, 619, 660, 148, 651, 300, 145, + 146, 666, 675, 435, 140, 573, 289, 662, 617, 516, + 523, 439, 499, 517, 409, 282, 174, 176, 264, 202, + 325, 328, 413, 414, 444, 305, 306, 307, 308, 627, + 309, 310, 311, 543, 544, 149, 150, 533, 534, 625, + 455, 630, 141, 63, 64, 460, 395, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 179, 75, 167, + 267, 142, 568, 194, 76, 548, 505, 575, 576, 508, + 509, 422, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -691,145 +690,95 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 329, 281, 283, 169, 170, 87, 17, 61, - 330, 512, 454, 285, 154, 322, 154, 139, 154, 157, - 154, 154, 193, 614, 216, 172, 217, 203, -63, 637, - 154, 154, 346, 187, 16, 345, 286, 672, 493, 192, - 20, 20, 61, 86, 189, 154, 197, 154, 563, 494, - 457, 155, 199, 155, 417, 155, 180, 155, 155, 564, - 168, 219, 220, 385, 386, 465, 387, 155, 155, 388, - 175, 269, 270, 389, 673, 181, 188, 390, 391, 467, - 499, 183, 195, 514, 155, 263, 470, 185, 522, 523, - 186, 484, 62, 271, 272, 273, 156, 278, 276, 277, - 160, 62, 162, 163, 200, -329, 256, 20, 257, 201, - 392, 22, 177, 178, 215, 24, -154, 200, 697, -364, - 301, -364, 201, 486, 302, 690, 268, 196, 288, 198, - 211, 212, 213, 214, 62, 488, 393, 466, -328, -366, - 304, -366, 210, 317, 318, 218, 418, 500, 299, -63, - 193, 450, 483, 256, 221, 257, 419, 501, 548, 211, - 212, 213, 214, 447, 324, 327, 327, 192, 215, 342, - 343, 211, 212, 213, 214, 193, 543, 61, 61, 335, - 224, -330, 576, 255, 154, 394, 429, 339, 340, 431, - -368, 20, 192, 265, -332, 22, 554, 262, 316, 24, - 222, 223, 303, 211, 212, 213, 214, 213, 214, 211, - 212, 213, 214, 165, -331, 211, 212, 213, 214, 274, - -364, 195, -364, 166, 211, 212, 213, 214, 211, 212, - 213, 214, -366, 266, -366, 607, 608, 595, 211, 212, - 213, 214, 211, 212, 213, 214, 291, 406, 320, 292, - 293, 294, 295, 485, 408, 296, 258, 412, 259, 260, - 487, 261, 333, 633, 634, 347, 341, 275, 338, 62, - 62, 624, 279, 422, 423, 644, 211, 212, 213, 214, - 489, 284, 512, 432, 471, -372, 254, 396, 553, 287, - 290, 546, 297, 348, 349, 350, 351, 312, 353, 354, - 356, 321, 323, 660, 326, 456, 421, 334, 211, 212, - 213, 214, 331, 642, 332, 327, 336, 211, 212, 213, - 214, 61, 344, 676, 346, 211, 212, 213, 214, 407, - 410, 455, 211, 212, 213, 214, 411, 398, 399, 400, - 401, 402, 403, 404, 405, -128, 427, 441, 415, 665, - 666, 667, 211, 212, 213, 214, 416, 226, 588, 424, - 211, 212, 213, 214, 443, 678, 679, -372, -372, -372, - 253, 254, 425, 434, 434, 434, 438, 434, 434, 211, - 212, 213, 214, 444, 154, 691, 449, 226, 227, 451, - 463, 460, 465, 694, 461, 446, 509, 510, 509, 510, - 249, 412, 475, 250, 251, 252, 253, 254, 476, 511, - 524, 477, 620, 62, 226, 491, 448, 478, 619, 481, - 496, 155, 518, 462, 247, 248, 525, 86, 464, 529, - 249, 193, 20, 250, 251, 252, 253, 254, 86, 528, - 526, 474, 539, 20, 533, -63, 544, 538, 192, 529, - 503, 508, 248, 508, 542, 435, 436, 249, 439, 440, - 250, 251, 252, 253, 254, 550, 603, 604, 472, 473, - 552, 61, 152, 609, 557, 558, 480, 153, 559, 615, - 616, 556, 560, 152, 211, 212, 213, 214, 153, 566, - 561, 567, 562, 211, 212, 213, 214, 498, 498, 20, - 573, 516, 571, 572, 438, 521, 498, 498, 211, 212, - 213, 214, 645, 646, 647, 583, 574, 324, 649, 577, - 578, 459, 327, 211, 212, 213, 214, 579, 585, 580, - 468, 587, 582, 658, 570, 211, 212, 213, 214, 590, - 661, 662, 61, 592, 598, 482, 594, 549, 211, 212, - 213, 214, 596, 597, 605, 599, 606, 612, 193, 18, - 536, 627, 601, 62, 681, 20, 622, 611, 629, 22, - 630, 621, 547, 24, 639, 192, 327, 689, 640, 504, - 641, 650, 659, 663, 631, 555, 664, 669, 693, 677, - 682, 684, 685, 635, 635, 688, 698, 144, 699, 288, - 498, 643, 695, 298, 495, 519, 159, 586, 161, 534, - 591, 164, 653, 171, 173, 535, 657, 651, 537, 529, - 654, 517, 315, 507, 0, 593, 182, 0, 0, 184, - 0, 0, 0, 190, 62, 288, 288, 288, 638, 0, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 648, 288, 288, 498, 498, 291, 0, 0, 292, 293, - 294, 295, 0, 686, 296, 683, 226, 227, 228, 692, - 0, 288, 1, 2, 3, 4, 5, 6, 7, 288, - 511, 0, 0, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 521, 498, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, - 0, 0, 250, 251, 252, 253, 254, 211, 212, 213, - 214, 498, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, - 0, 498, 0, 0, 0, 229, 0, 226, 227, 228, - 314, 230, 231, 232, 469, 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, 246, 247, 248, 0, 0, 0, 0, + 61, 151, 17, 329, 515, 283, 456, 322, 87, 61, + 169, 330, 170, 285, 574, 154, -64, 154, 139, 154, + 664, 154, 154, 216, 16, 217, 172, 618, 193, 281, + 346, 154, 154, 203, 157, 20, 345, 286, 472, 192, + 187, 256, 61, 257, 495, 189, 154, 197, 154, 418, + 86, 256, 20, 257, 20, 496, 467, 665, 22, -365, + 581, -365, 24, -367, 155, -367, 155, 199, 155, 200, + 155, 155, 200, 168, 201, 566, 269, 201, 270, 263, + 155, 155, -365, 188, -365, 62, 567, 271, 272, 273, + 175, 180, 276, 277, 62, 195, 181, 155, 278, 385, + 386, 183, 387, -330, -155, 388, 185, 215, 301, 389, + 186, 676, 302, 390, 391, 546, -331, 459, 417, 421, + 219, 220, 426, 427, 616, 469, 156, 62, 288, -329, + 160, 215, 162, 163, -333, 210, 224, -64, -332, 268, + 304, 419, 177, 178, 218, 486, 392, 654, 317, 299, + 318, 420, 452, 638, 639, 449, 193, 196, 503, 198, + 165, 221, 488, 468, 324, 327, 327, 192, 504, 490, + 166, -367, 393, -367, 86, 342, 343, 61, 61, 20, + 335, 193, 657, 658, 659, 154, 431, 255, 476, 433, + 303, 258, 192, 259, -369, 551, 668, 211, 212, 213, + 214, 262, 339, 340, 274, 211, 212, 213, 214, 291, + 265, 316, 292, 293, 294, 295, 222, 223, 296, 152, + 266, 394, 557, 275, 153, 211, 212, 213, 214, 437, + 438, 279, 441, 442, 195, 211, 212, 213, 214, 213, + 214, 320, 211, 212, 213, 214, 600, 406, 284, 211, + 212, 213, 214, 287, 408, 333, 260, 412, 261, 290, + 515, 338, 62, 62, -373, 254, 485, 424, 425, 521, + 626, 211, 212, 213, 214, 211, 212, 213, 214, 211, + 212, 213, 214, 297, 434, 473, 348, 349, 350, 351, + 312, 353, 354, 356, 549, 321, 341, 570, 571, 323, + 396, 487, 211, 212, 213, 214, 489, 326, -129, 86, + 331, 458, 332, 334, 20, 327, 347, 491, 336, 423, + 346, 61, 556, 344, 407, 410, 211, 212, 213, 214, + 398, 399, 400, 401, 402, 403, 404, 405, 211, 212, + 213, 214, 501, 502, 411, 415, 457, 519, 429, 445, + 443, 578, 525, 526, 152, 579, 20, 446, 451, 153, + 22, 453, 593, 462, 24, 463, 436, 436, 436, 440, + 436, 436, 465, 211, 212, 213, 214, 467, 211, 212, + 213, 214, 477, 478, 479, 154, 480, 483, 448, 211, + 212, 213, 214, 493, 211, 212, 213, 214, 531, 529, + -64, 412, 512, 541, 513, 512, 62, 513, 498, 536, + 514, 545, 527, 18, 553, 555, 464, 609, 622, 20, + 560, 466, 528, 22, 621, 532, 561, 24, 615, 226, + 227, 562, 563, 507, 155, 211, 212, 213, 214, 193, + 20, 590, 569, 580, 542, 532, 584, 583, 547, 291, + 192, 585, 292, 293, 294, 295, 587, 637, 296, 592, + 597, 474, 475, 599, 506, 511, 247, 248, 511, 482, + 595, 602, 249, 61, 604, 250, 251, 252, 253, 254, + 610, 226, 603, 611, 624, 629, 564, 631, 565, 661, + 500, 572, 572, 632, 646, 518, 608, 656, 559, 440, + 524, 670, 672, 673, 612, 613, 144, 640, 680, 288, + 298, 211, 212, 213, 214, 678, 591, 522, 588, 248, + 324, 497, 537, 596, 249, 327, 538, 250, 251, 252, + 253, 254, 647, 540, 315, 635, 520, 211, 212, 213, + 214, 641, 552, 642, 643, 61, 645, 226, 227, 228, + 577, 211, 212, 213, 214, 510, 0, 0, 62, 606, + 0, 226, 0, 655, 211, 212, 213, 214, 0, 193, + 601, 0, 0, 288, 450, 0, 623, 0, 0, 0, + 192, 327, 245, 246, 247, 248, 0, 0, 461, 633, 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, 551, 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, 589, 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, - 602, 0, 20, 0, 0, 21, 22, 23, 89, 0, - 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, - 0, 95, 96, 97, 98, 626, 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, 581, 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, 652, 19, 0, 60, 20, 0, 0, 21, + 0, 470, 288, 288, 249, 0, 681, 250, 251, 252, + 253, 254, 0, 0, 649, 532, 0, 0, 653, 0, + 0, 598, 650, 0, 0, 572, 211, 212, 213, 214, + 62, 288, 288, 288, 0, 0, 211, 212, 213, 214, + 0, 159, 0, 161, 0, 288, 164, 0, 171, 173, + 0, 211, 212, 213, 214, 674, 636, 677, 671, 0, + 0, 182, 0, 484, 184, 644, 514, 0, 190, 0, + 0, -13, 88, 539, 0, 204, 205, 206, 207, 208, + 0, 18, 86, 0, 19, 0, 0, 20, 550, 524, + 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, -373, -373, -373, + 253, 254, 110, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 0, 225, 1, 2, 3, 4, 5, 6, + 7, 226, 227, 228, 0, 314, 211, 212, 213, 214, + 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, 558, 249, 0, 0, 250, 251, 252, + 253, 254, 0, 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, + -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, @@ -840,7 +789,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, 656, + 56, 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, @@ -850,21 +799,26 @@ static const yytype_int16 yytable[] = 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, 671, 19, 0, 60, + 0, 554, 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, 88, 594, 0, 0, 0, + 0, 0, 0, 0, 18, 86, 586, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, - 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, + 90, 91, 92, 26, 27, 93, 94, 0, 607, 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, + 33, 34, 35, 36, 37, 628, 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, 675, 19, 0, 60, 20, 0, 0, + 0, 18, 86, 648, 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, @@ -876,18 +830,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, + 652, 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, 696, 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, 663, 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, @@ -899,48 +853,75 @@ 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, 0, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 667, 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, - -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, 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, + 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, 679, 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, 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, 0, 0, 0, - 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, + 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, - -61, 60, 30, 31, 0, 32, 191, 34, 35, 36, - 37, 153, 38, 39, 40, 41, 42, 43, 0, 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, 38, 39, 40, 41, 42, 43, 0, + 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, 0, 0, 19, 0, 0, 20, 54, + 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, @@ -952,7 +933,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, 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, @@ -960,31 +941,31 @@ 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, 319, 60, 30, 31, 0, 32, + 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, -371, 256, 0, 257, 0, - 0, -371, 54, 0, -371, -371, -371, 0, 0, -371, - -371, 0, 0, 0, -371, -371, 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, -371, -371, 0, 337, 60, -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, 18, 0, 0, 19, - 0, 0, 20, -371, 0, 21, 22, 23, 0, 0, - 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, - 0, 0, 0, 0, -371, -371, 0, -371, 0, -371, - -371, 0, 0, 28, 29, 0, 0, -371, 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, 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, -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, -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, -372, 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, + 0, 0, 0, 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, @@ -992,7 +973,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, 397, 60, + 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, @@ -1000,7 +981,7 @@ static const yytype_int16 yytable[] = 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, 28, 29, 0, 445, + 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, @@ -1009,7 +990,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, - 479, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 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, @@ -1017,200 +998,162 @@ 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, 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, -370, 0, 0, -370, 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, 0, 313, -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, 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, - -370, 0, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 226, 227, 228, 0, 0, 0, 0, 0, - 0, -370, -370, 0, -370, -372, -370, -370, 0, 0, - 0, 230, 231, 232, -370, 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, -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, 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, 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, 232, 0, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 0, 0, 0, 0, 249, - -372, 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, 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, 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, 236, 237, 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, + 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, 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, -372, 245, 246, 247, 248, 0, 0, 0, 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, 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, 226, + 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, + 254, 0, 0, 0, 244, 245, 246, 247, 248, 226, + 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, + 254, 0, 0, -373, 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, 176, 103, 105, 27, 27, 11, 9, 19, - 177, 419, 329, 110, 18, 167, 20, 12, 22, 19, - 24, 25, 49, 578, 11, 29, 13, 54, 11, 604, - 34, 35, 13, 89, 0, 202, 137, 22, 11, 49, - 16, 16, 52, 11, 48, 49, 50, 51, 11, 22, - 14, 18, 52, 20, 30, 22, 13, 24, 25, 22, - 27, 112, 113, 10, 11, 13, 13, 34, 35, 16, - 31, 93, 93, 20, 59, 132, 132, 24, 25, 14, - 416, 42, 49, 419, 51, 86, 25, 132, 424, 425, - 132, 14, 10, 94, 95, 96, 18, 101, 99, 100, - 22, 19, 24, 25, 56, 86, 11, 16, 13, 61, - 57, 20, 34, 35, 15, 24, 16, 56, 693, 11, - 20, 13, 61, 14, 24, 680, 93, 49, 138, 51, - 94, 95, 96, 97, 52, 14, 83, 22, 86, 11, - 150, 13, 60, 165, 165, 132, 122, 122, 143, 132, - 177, 325, 22, 11, 112, 13, 132, 132, 14, 94, - 95, 96, 97, 315, 174, 175, 176, 177, 15, 196, - 197, 94, 95, 96, 97, 202, 23, 187, 188, 183, - 110, 86, 518, 132, 188, 132, 283, 187, 188, 286, - 11, 16, 202, 56, 86, 20, 14, 11, 165, 24, - 110, 111, 102, 94, 95, 96, 97, 96, 97, 94, - 95, 96, 97, 122, 86, 94, 95, 96, 97, 132, - 11, 188, 13, 132, 94, 95, 96, 97, 94, 95, - 96, 97, 11, 56, 13, 571, 572, 14, 94, 95, - 96, 97, 94, 95, 96, 97, 32, 263, 166, 35, - 36, 37, 38, 22, 264, 41, 11, 267, 13, 11, - 22, 13, 180, 33, 34, 131, 188, 132, 186, 187, - 188, 588, 11, 274, 275, 611, 94, 95, 96, 97, - 22, 22, 690, 287, 385, 129, 130, 254, 22, 39, - 22, 458, 22, 211, 212, 213, 214, 14, 216, 217, - 218, 86, 70, 639, 86, 332, 273, 131, 94, 95, - 96, 97, 132, 609, 89, 325, 131, 94, 95, 96, - 97, 331, 22, 659, 13, 94, 95, 96, 97, 56, - 56, 331, 94, 95, 96, 97, 56, 255, 256, 257, - 258, 259, 260, 261, 262, 131, 44, 61, 132, 645, - 646, 647, 94, 95, 96, 97, 132, 80, 532, 132, - 94, 95, 96, 97, 16, 661, 662, 126, 127, 128, - 129, 130, 132, 291, 292, 293, 294, 295, 296, 94, - 95, 96, 97, 15, 388, 681, 59, 80, 81, 59, - 12, 90, 13, 689, 131, 313, 418, 418, 420, 420, - 123, 411, 25, 126, 127, 128, 129, 130, 25, 419, - 426, 25, 586, 331, 80, 18, 131, 25, 585, 132, - 99, 388, 132, 341, 117, 118, 427, 11, 346, 430, - 123, 458, 16, 126, 127, 128, 129, 130, 11, 22, - 56, 25, 452, 16, 99, 11, 456, 132, 458, 450, - 417, 418, 118, 420, 131, 292, 293, 123, 295, 296, - 126, 127, 128, 129, 130, 12, 566, 567, 386, 387, - 132, 481, 56, 573, 12, 12, 394, 61, 12, 579, - 580, 481, 12, 56, 94, 95, 96, 97, 61, 131, - 491, 131, 493, 94, 95, 96, 97, 415, 416, 16, - 131, 419, 132, 132, 422, 423, 424, 425, 94, 95, - 96, 97, 612, 613, 614, 525, 22, 527, 618, 131, - 131, 131, 532, 94, 95, 96, 97, 131, 56, 131, - 131, 11, 132, 633, 501, 94, 95, 96, 97, 99, - 640, 641, 552, 11, 131, 131, 90, 465, 94, 95, - 96, 97, 552, 12, 15, 22, 131, 131, 585, 10, - 131, 131, 563, 481, 664, 16, 22, 132, 131, 20, - 88, 587, 131, 24, 132, 585, 586, 677, 131, 30, - 131, 22, 132, 22, 600, 131, 131, 45, 688, 131, - 131, 17, 87, 603, 604, 131, 131, 13, 698, 609, - 518, 610, 690, 143, 411, 422, 21, 527, 23, 443, - 538, 26, 628, 28, 29, 444, 632, 620, 450, 620, - 630, 420, 165, 418, -1, 543, 41, -1, -1, 44, - -1, -1, -1, 48, 552, 645, 646, 647, 605, -1, - 55, 56, 57, 58, 59, -1, -1, -1, -1, -1, - 617, 661, 662, 571, 572, 32, -1, -1, 35, 36, - 37, 38, -1, 673, 41, 669, 80, 81, 82, 685, - -1, 681, 3, 4, 5, 6, 7, 8, 9, 689, - 690, -1, -1, 693, -1, -1, -1, -1, -1, -1, - -1, -1, 610, 611, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, - -1, -1, 126, 127, 128, 129, 130, 94, 95, 96, - 97, 639, -1, -1, 72, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, - -1, 659, -1, -1, -1, 93, -1, 80, 81, 82, - 165, 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, 116, 117, 118, -1, -1, -1, -1, + 10, 17, 9, 176, 420, 105, 329, 167, 11, 19, + 27, 177, 27, 110, 502, 18, 11, 20, 12, 22, + 22, 24, 25, 11, 0, 13, 29, 585, 49, 103, + 13, 34, 35, 54, 19, 16, 202, 137, 25, 49, + 89, 11, 52, 13, 11, 48, 49, 50, 51, 30, + 11, 11, 16, 13, 16, 22, 13, 59, 20, 11, + 519, 13, 24, 11, 18, 13, 20, 52, 22, 56, + 24, 25, 56, 27, 61, 11, 93, 61, 93, 86, + 34, 35, 11, 132, 13, 10, 22, 94, 95, 96, + 31, 13, 99, 100, 19, 49, 132, 51, 101, 10, + 11, 42, 13, 86, 16, 16, 132, 15, 20, 20, + 132, 669, 24, 24, 25, 23, 86, 14, 272, 273, + 112, 113, 276, 277, 583, 14, 18, 52, 138, 86, + 22, 15, 24, 25, 86, 60, 110, 132, 86, 93, + 150, 122, 34, 35, 132, 14, 57, 635, 165, 143, + 165, 132, 325, 612, 613, 315, 177, 49, 122, 51, + 122, 112, 14, 22, 174, 175, 176, 177, 132, 14, + 132, 11, 83, 13, 11, 196, 197, 187, 188, 16, + 183, 202, 641, 642, 643, 188, 283, 132, 25, 286, + 102, 11, 202, 13, 11, 14, 655, 94, 95, 96, + 97, 11, 187, 188, 132, 94, 95, 96, 97, 32, + 56, 165, 35, 36, 37, 38, 110, 111, 41, 56, + 56, 132, 14, 132, 61, 94, 95, 96, 97, 292, + 293, 11, 295, 296, 188, 94, 95, 96, 97, 96, + 97, 166, 94, 95, 96, 97, 14, 263, 22, 94, + 95, 96, 97, 39, 264, 180, 11, 267, 13, 22, + 676, 186, 187, 188, 129, 130, 22, 274, 275, 423, + 593, 94, 95, 96, 97, 94, 95, 96, 97, 94, + 95, 96, 97, 22, 287, 385, 211, 212, 213, 214, + 14, 216, 217, 218, 460, 86, 188, 33, 34, 70, + 254, 22, 94, 95, 96, 97, 22, 86, 131, 11, + 132, 332, 89, 131, 16, 325, 131, 22, 131, 273, + 13, 331, 22, 22, 56, 56, 94, 95, 96, 97, + 255, 256, 257, 258, 259, 260, 261, 262, 94, 95, + 96, 97, 416, 417, 56, 132, 331, 421, 44, 16, + 61, 505, 426, 427, 56, 509, 16, 15, 59, 61, + 20, 59, 535, 90, 24, 131, 291, 292, 293, 294, + 295, 296, 12, 94, 95, 96, 97, 13, 94, 95, + 96, 97, 25, 25, 25, 388, 25, 132, 313, 94, + 95, 96, 97, 18, 94, 95, 96, 97, 22, 56, + 11, 411, 419, 132, 419, 422, 331, 422, 99, 99, + 420, 131, 428, 10, 12, 132, 341, 571, 591, 16, + 12, 346, 429, 20, 590, 432, 12, 24, 582, 80, + 81, 12, 12, 30, 388, 94, 95, 96, 97, 460, + 16, 56, 131, 22, 454, 452, 131, 521, 458, 32, + 460, 131, 35, 36, 37, 38, 132, 611, 41, 11, + 11, 386, 387, 90, 418, 419, 117, 118, 422, 394, + 99, 12, 123, 483, 22, 126, 127, 128, 129, 130, + 15, 80, 131, 131, 22, 131, 493, 131, 495, 45, + 415, 501, 502, 88, 22, 420, 570, 22, 483, 424, + 425, 131, 17, 87, 578, 579, 13, 614, 131, 519, + 143, 94, 95, 96, 97, 676, 530, 424, 528, 118, + 530, 411, 445, 541, 123, 535, 446, 126, 127, 128, + 129, 130, 622, 452, 165, 609, 422, 94, 95, 96, + 97, 615, 467, 617, 618, 555, 620, 80, 81, 82, + 504, 94, 95, 96, 97, 419, -1, -1, 483, 566, + -1, 80, -1, 637, 94, 95, 96, 97, -1, 590, + 555, -1, -1, 583, 131, -1, 592, -1, -1, -1, + 590, 591, 115, 116, 117, 118, -1, -1, 131, 605, 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, 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, 533, -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, - 565, -1, 16, -1, -1, 19, 20, 21, 22, -1, - 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, - -1, 35, 36, 37, 38, 590, 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, + -1, 131, 612, 613, 123, -1, 680, 126, 127, 128, + 129, 130, -1, -1, 630, 622, -1, -1, 634, -1, + -1, 546, 632, -1, -1, 635, 94, 95, 96, 97, + 555, 641, 642, 643, -1, -1, 94, 95, 96, 97, + -1, 21, -1, 23, -1, 655, 26, -1, 28, 29, + -1, 94, 95, 96, 97, 665, 610, 673, 661, -1, + -1, 41, -1, 131, 44, 619, 676, -1, 48, -1, + -1, 0, 1, 131, -1, 55, 56, 57, 58, 59, + -1, 10, 11, -1, 13, -1, -1, 16, 131, 614, + 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, 126, 127, 128, + 129, 130, 91, -1, -1, -1, -1, -1, -1, 98, + -1, -1, -1, 72, 3, 4, 5, 6, 7, 8, + 9, 80, 81, 82, -1, 165, 94, 95, 96, 97, + 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, 131, 123, -1, -1, 126, 127, 128, + 129, 130, -1, -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, @@ -1231,14 +1174,19 @@ static const yytype_int16 yycheck[] = 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, + -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, 536, -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, + 26, 27, 28, 29, 30, 31, 32, -1, 568, 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, + 56, 57, 58, 59, 60, 595, 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, @@ -1257,18 +1205,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, @@ -1280,48 +1228,75 @@ static const yytype_int16 yycheck[] = -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, 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, + 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, 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, 13, -1, -1, 16, 98, -1, 19, + -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, 63, 64, 65, 66, 67, -1, -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, 62, 63, 64, 65, 66, 67, -1, + -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, -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, @@ -1333,7 +1308,7 @@ static const yytype_int16 yycheck[] = 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, @@ -1345,7 +1320,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, 11, -1, 13, -1, + -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, @@ -1353,11 +1328,11 @@ static const yytype_int16 yycheck[] = 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, + 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, + 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, @@ -1365,7 +1340,7 @@ 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, @@ -1398,7 +1373,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, @@ -1410,45 +1385,57 @@ 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, + 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, - 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, 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, 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, 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, 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, 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, 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, 106, 107, 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, + -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, 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, -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, -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, 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, -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 @@ -1456,75 +1443,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, 234, 235, 236, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 250, 256, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 11, 179, 1, 22, + 132, 181, 235, 236, 237, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 251, 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, 234, 253, 69, 190, 191, 192, 180, 188, 227, - 228, 188, 56, 61, 179, 265, 273, 256, 273, 248, - 273, 248, 273, 273, 248, 122, 132, 251, 265, 266, - 267, 248, 179, 248, 208, 208, 209, 273, 273, 249, - 13, 132, 248, 208, 248, 132, 132, 89, 132, 179, - 248, 56, 180, 235, 255, 265, 273, 179, 273, 256, - 56, 61, 211, 235, 248, 248, 248, 248, 248, 131, - 234, 94, 95, 96, 97, 15, 11, 13, 132, 112, + 169, 171, 172, 173, 175, 176, 177, 179, 180, 193, + 197, 235, 254, 69, 191, 192, 193, 181, 189, 228, + 229, 189, 56, 61, 180, 266, 274, 257, 274, 249, + 274, 249, 274, 274, 249, 122, 132, 252, 266, 267, + 268, 249, 180, 249, 209, 209, 210, 274, 274, 250, + 13, 132, 249, 209, 249, 132, 132, 89, 132, 180, + 249, 56, 181, 236, 256, 266, 274, 180, 274, 257, + 56, 61, 212, 236, 249, 249, 249, 249, 249, 131, + 235, 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, 252, 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, 217, 218, 219, 220, 222, - 223, 224, 14, 132, 248, 251, 265, 266, 267, 131, - 234, 86, 214, 70, 180, 212, 86, 180, 213, 213, - 255, 132, 89, 234, 131, 179, 131, 131, 234, 256, - 256, 273, 235, 235, 22, 255, 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, 265, 131, 234, 234, - 234, 234, 234, 234, 234, 234, 188, 56, 180, 206, - 56, 56, 180, 214, 215, 132, 132, 30, 122, 132, - 263, 265, 182, 182, 132, 132, 184, 44, 174, 207, - 164, 207, 179, 195, 234, 195, 195, 203, 234, 195, - 195, 61, 216, 16, 15, 131, 234, 214, 131, 59, - 213, 59, 182, 232, 232, 256, 235, 14, 237, 131, - 90, 131, 234, 12, 234, 13, 22, 14, 131, 102, - 25, 211, 234, 234, 25, 25, 25, 25, 25, 131, - 234, 132, 131, 22, 14, 22, 14, 22, 14, 22, - 12, 18, 181, 11, 22, 215, 99, 204, 234, 204, - 122, 132, 258, 265, 30, 261, 262, 264, 265, 266, - 267, 180, 196, 201, 204, 205, 234, 261, 132, 203, - 202, 234, 204, 204, 188, 182, 56, 168, 22, 182, - 229, 230, 166, 99, 216, 222, 131, 230, 132, 180, - 225, 226, 131, 23, 180, 257, 255, 131, 14, 234, - 12, 248, 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, 248, - 99, 227, 11, 234, 90, 14, 256, 12, 131, 22, - 162, 182, 248, 183, 183, 15, 131, 204, 204, 183, - 152, 132, 131, 200, 200, 183, 183, 186, 170, 255, - 213, 188, 22, 231, 232, 221, 248, 131, 233, 131, - 88, 188, 145, 33, 34, 180, 197, 197, 265, 132, - 131, 131, 198, 202, 204, 183, 183, 183, 265, 183, - 22, 229, 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, 253, 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, 218, 219, 220, 221, 223, + 224, 225, 14, 132, 249, 252, 266, 267, 268, 131, + 235, 86, 215, 70, 181, 213, 86, 181, 214, 214, + 256, 132, 89, 235, 131, 180, 131, 131, 235, 257, + 257, 274, 236, 236, 22, 256, 13, 131, 235, 235, + 235, 235, 249, 235, 235, 131, 235, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 239, 266, 131, 235, 235, + 235, 235, 235, 235, 235, 235, 189, 56, 181, 207, + 56, 56, 181, 215, 216, 132, 178, 178, 30, 122, + 132, 178, 264, 266, 183, 183, 178, 178, 185, 44, + 174, 208, 164, 208, 180, 196, 235, 196, 196, 204, + 235, 196, 196, 61, 217, 16, 15, 131, 235, 215, + 131, 59, 214, 59, 183, 233, 233, 257, 236, 14, + 238, 131, 90, 131, 235, 12, 235, 13, 22, 14, + 131, 102, 25, 212, 235, 235, 25, 25, 25, 25, + 25, 131, 235, 132, 131, 22, 14, 22, 14, 22, + 14, 22, 12, 18, 182, 11, 22, 216, 99, 205, + 235, 184, 184, 122, 132, 259, 266, 30, 262, 263, + 265, 266, 267, 268, 181, 197, 202, 206, 235, 184, + 262, 178, 204, 203, 235, 184, 184, 189, 183, 56, + 168, 22, 183, 230, 231, 166, 99, 217, 223, 131, + 231, 132, 181, 226, 227, 131, 23, 181, 258, 256, + 131, 14, 235, 12, 249, 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, 249, 99, 228, 11, 235, 90, + 14, 257, 12, 131, 22, 162, 183, 249, 184, 178, + 15, 131, 184, 184, 152, 178, 199, 201, 201, 187, + 170, 256, 214, 189, 22, 232, 233, 222, 249, 131, + 234, 131, 88, 189, 145, 184, 266, 178, 199, 199, + 203, 184, 184, 184, 266, 184, 22, 230, 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. */ @@ -1535,39 +1521,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, 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, 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, 219, 219, 219, 220, 220, 221, 221, 222, + 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, + 227, 229, 228, 230, 230, 231, 232, 232, 234, 233, + 235, 235, 235, 235, 235, 236, 236, 236, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 238, 237, 239, 239, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 242, 242, 242, 242, 242, 243, 243, 244, 244, 244, + 244, 245, 245, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, + 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 250, 249, 249, 249, 249, 251, 251, 251, 251, 252, + 252, 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. */ @@ -1575,42 +1561,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, 1, 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, 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, 1, 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, 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 { @@ -1661,7 +1647,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, @@ -1683,6 +1669,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 89e83de7f838f248fdc0054ac26ab58800e0964f6c2d348ba47f87a2352dcc94 perly.y + * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index ef0d18ec1195..be2b74858235 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 e65090de993ce4addf752a905546ab158a01a219 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 | 1131 ++++++++++++++++---------------- perly.h | 2 +- perly.tab | 1881 +++++++++++++++++++++++++++-------------------------- perly.y | 58 +- 4 files changed, 1537 insertions(+), 1535 deletions(-) diff --git a/perly.act b/perly.act index 26edd1c1d00a..d700d9efe242 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: /* attrlist: COLONATTR THING */ -#line 1067 "perly.y" + case 147: /* attrlist: COLONATTR THING */ +#line 1057 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 145: /* attrlist: COLONATTR */ -#line 1069 "perly.y" + case 148: /* attrlist: COLONATTR */ +#line 1059 "perly.y" { (yyval.opval) = NULL; } break; - case 148: /* sigvar: %empty */ -#line 1084 "perly.y" + case 151: /* sigvar: %empty */ +#line 1074 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 149: /* sigvar: PRIVATEREF */ -#line 1086 "perly.y" + case 152: /* sigvar: PRIVATEREF */ +#line 1076 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 150: /* sigslurpsigil: PERLY_SNAIL */ -#line 1091 "perly.y" + case 153: /* sigslurpsigil: PERLY_SNAIL */ +#line 1081 "perly.y" { (yyval.ival) = '@'; } break; - case 151: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1093 "perly.y" + case 154: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1083 "perly.y" { (yyval.ival) = '%'; } break; - case 152: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1097 "perly.y" + case 155: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1087 "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 153: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1102 "perly.y" + case 156: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1092 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 154: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1106 "perly.y" + case 157: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1096 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 155: /* optcolon: %empty */ -#line 1112 "perly.y" + case 158: /* optcolon: %empty */ +#line 1102 "perly.y" { (yyval.ival) = 0; } break; - case 156: /* optcolon: PERLY_COLON */ -#line 1114 "perly.y" + case 159: /* optcolon: PERLY_COLON */ +#line 1104 "perly.y" { (yyval.ival) = ':'; } break; - case 157: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1120 "perly.y" + case 160: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1110 "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 158: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1130 "perly.y" + case 161: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1120 "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 159: /* optsigscalardefault: %empty */ -#line 1143 "perly.y" + case 162: /* optsigscalardefault: %empty */ +#line 1133 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 161: /* sigelem: sigscalarelem */ -#line 1150 "perly.y" + case 164: /* sigelem: sigscalarelem */ +#line 1140 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 162: /* sigelem: sigslurpelem */ -#line 1152 "perly.y" + case 165: /* sigelem: sigslurpelem */ +#line 1142 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 170: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1178 "perly.y" + case 173: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1168 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 171: /* $@20: %empty */ -#line 1181 "perly.y" + case 174: /* $@23: %empty */ +#line 1171 "perly.y" { ENTER; subsignature_start(); @@ -1053,8 +1058,8 @@ case 2: /* @1: %empty */ break; - case 172: /* subsigguts: $@20 optsiglist */ -#line 1187 "perly.y" + case 175: /* subsigguts: $@23 optsiglist */ +#line 1177 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1081,14 +1086,14 @@ case 2: /* @1: %empty */ break; - case 174: /* optsubbody: PERLY_SEMICOLON */ -#line 1215 "perly.y" + case 177: /* optsubbody: PERLY_SEMICOLON */ +#line 1205 "perly.y" { (yyval.opval) = NULL; } break; - case 175: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1221 "perly.y" + case 178: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1211 "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 177: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1233 "perly.y" + case 180: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1223 "perly.y" { (yyval.opval) = NULL; } break; - case 178: /* $@21: %empty */ -#line 1238 "perly.y" + case 181: /* $@24: %empty */ +#line 1228 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 179: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1240 "perly.y" + case 182: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@24 stmtseq PERLY_BRACE_CLOSE */ +#line 1230 "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 180: /* expr: expr ANDOP expr */ -#line 1251 "perly.y" + case 183: /* expr: expr ANDOP expr */ +#line 1241 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 181: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1253 "perly.y" + case 184: /* expr: expr PLUGIN_LOGICAL_AND_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 182: /* expr: expr OROP expr */ -#line 1255 "perly.y" + case 185: /* expr: expr OROP expr */ +#line 1245 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 183: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1257 "perly.y" + case 186: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1247 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 185: /* listexpr: listexpr PERLY_COMMA */ -#line 1263 "perly.y" + case 188: /* listexpr: listexpr PERLY_COMMA */ +#line 1253 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 186: /* listexpr: listexpr PERLY_COMMA term */ -#line 1265 "perly.y" + case 189: /* listexpr: listexpr PERLY_COMMA term */ +#line 1255 "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 188: /* listop: LSTOP indirob listexpr */ -#line 1274 "perly.y" + case 191: /* listop: LSTOP indirob listexpr */ +#line 1264 "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 189: /* listop: BLKLSTOP block listexpr */ -#line 1278 "perly.y" + case 192: /* listop: BLKLSTOP block listexpr */ +#line 1268 "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 190: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1282 "perly.y" + case 193: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1272 "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 191: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1286 "perly.y" + case 194: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1276 "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 192: /* listop: term ARROW methodname */ -#line 1292 "perly.y" + case 195: /* listop: term ARROW methodname */ +#line 1282 "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 193: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1297 "perly.y" + case 196: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1287 "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 194: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1303 "perly.y" + case 197: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1293 "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 195: /* listop: METHCALL0 indirob optlistexpr */ -#line 1309 "perly.y" + case 198: /* listop: METHCALL0 indirob optlistexpr */ +#line 1299 "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 196: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1315 "perly.y" + case 199: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1305 "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 197: /* listop: LSTOP optlistexpr */ -#line 1321 "perly.y" + case 200: /* listop: LSTOP optlistexpr */ +#line 1311 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 198: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1323 "perly.y" + case 201: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1313 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 199: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1325 "perly.y" + case 202: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1315 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 200: /* @22: %empty */ -#line 1327 "perly.y" + case 203: /* @25: %empty */ +#line 1317 "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 201: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1333 "perly.y" + case 204: /* listop: LSTOPSUB startanonsub block @25 optlistexpr */ +#line 1323 "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 204: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1348 "perly.y" + case 207: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1338 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 205: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1350 "perly.y" + case 208: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1340 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 206: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1353 "perly.y" + case 209: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1343 "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 207: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1358 "perly.y" + case 210: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1348 "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 208: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1363 "perly.y" + case 211: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1353 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 209: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1366 "perly.y" + case 212: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1356 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 210: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1370 "perly.y" + case 213: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1360 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 211: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1374 "perly.y" + case 214: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1364 "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 212: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1380 "perly.y" + case 215: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1370 "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 213: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1388 "perly.y" + case 216: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1378 "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 214: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1395 "perly.y" + case 217: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1385 "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 215: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1401 "perly.y" + case 218: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1391 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 216: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1403 "perly.y" + case 219: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1393 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 217: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1405 "perly.y" + case 220: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1395 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 218: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1410 "perly.y" + case 221: /* termbinop: term PLUGIN_HIGH_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 ASSIGNOP term */ -#line 1412 "perly.y" + case 222: /* termbinop: term ASSIGNOP term */ +#line 1402 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 220: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1414 "perly.y" + case 223: /* termbinop: term PLUGIN_ASSIGN_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 POWOP term */ -#line 1416 "perly.y" + case 224: /* termbinop: term POWOP term */ +#line 1406 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 222: /* termbinop: term PLUGIN_POW_OP term */ -#line 1418 "perly.y" + case 225: /* termbinop: term PLUGIN_POW_OP term */ +#line 1408 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 223: /* termbinop: term MULOP term */ -#line 1420 "perly.y" + case 226: /* termbinop: term MULOP term */ +#line 1410 "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 224: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1425 "perly.y" + case 227: /* termbinop: term PLUGIN_MUL_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 ADDOP term */ -#line 1427 "perly.y" + case 228: /* termbinop: term ADDOP 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: term PLUGIN_ADD_OP term */ -#line 1429 "perly.y" + case 229: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1419 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 227: /* termbinop: term SHIFTOP term */ -#line 1431 "perly.y" + case 230: /* termbinop: term SHIFTOP term */ +#line 1421 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 228: /* termbinop: termrelop */ -#line 1433 "perly.y" + case 231: /* termbinop: termrelop */ +#line 1423 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 229: /* termbinop: termeqop */ -#line 1435 "perly.y" + case 232: /* termbinop: termeqop */ +#line 1425 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 230: /* termbinop: term BITANDOP term */ -#line 1437 "perly.y" + case 233: /* termbinop: term BITANDOP 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 231: /* termbinop: term BITOROP term */ -#line 1439 "perly.y" + case 234: /* termbinop: term BITOROP term */ +#line 1429 "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 DOTDOT term */ -#line 1441 "perly.y" + case 235: /* termbinop: term DOTDOT term */ +#line 1431 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 233: /* termbinop: term ANDAND term */ -#line 1443 "perly.y" + case 236: /* termbinop: term ANDAND term */ +#line 1433 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 234: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1445 "perly.y" + case 237: /* termbinop: term PLUGIN_LOGICAL_AND_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 OROR term */ -#line 1447 "perly.y" + case 238: /* termbinop: term OROR term */ +#line 1437 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 236: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1449 "perly.y" + case 239: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1439 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 237: /* termbinop: term DORDOR term */ -#line 1451 "perly.y" + case 240: /* termbinop: term DORDOR term */ +#line 1441 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 238: /* termbinop: term MATCHOP term */ -#line 1453 "perly.y" + case 241: /* termbinop: term MATCHOP term */ +#line 1443 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 239: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1455 "perly.y" + case 242: /* termbinop: term PLUGIN_LOW_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 240: /* termrelop: relopchain */ -#line 1459 "perly.y" + case 243: /* termrelop: relopchain */ +#line 1449 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 241: /* termrelop: term NCRELOP term */ -#line 1461 "perly.y" + case 244: /* termrelop: term NCRELOP term */ +#line 1451 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 242: /* termrelop: termrelop NCRELOP */ -#line 1463 "perly.y" + case 245: /* termrelop: termrelop NCRELOP */ +#line 1453 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 243: /* termrelop: termrelop CHRELOP */ -#line 1465 "perly.y" + case 246: /* termrelop: termrelop CHRELOP */ +#line 1455 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 244: /* termrelop: term PLUGIN_REL_OP term */ -#line 1467 "perly.y" + case 247: /* termrelop: term PLUGIN_REL_OP term */ +#line 1457 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 245: /* relopchain: term CHRELOP term */ -#line 1471 "perly.y" + case 248: /* relopchain: term CHRELOP term */ +#line 1461 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 246: /* relopchain: relopchain CHRELOP term */ -#line 1473 "perly.y" + case 249: /* relopchain: relopchain CHRELOP term */ +#line 1463 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 247: /* termeqop: eqopchain */ -#line 1477 "perly.y" + case 250: /* termeqop: eqopchain */ +#line 1467 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 248: /* termeqop: term NCEQOP term */ -#line 1479 "perly.y" + case 251: /* termeqop: term NCEQOP term */ +#line 1469 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 249: /* termeqop: termeqop NCEQOP */ -#line 1481 "perly.y" + case 252: /* termeqop: termeqop NCEQOP */ +#line 1471 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 250: /* termeqop: termeqop CHEQOP */ -#line 1483 "perly.y" + case 253: /* termeqop: termeqop CHEQOP */ +#line 1473 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 251: /* eqopchain: term CHEQOP term */ -#line 1487 "perly.y" + case 254: /* eqopchain: term CHEQOP term */ +#line 1477 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 252: /* eqopchain: eqopchain CHEQOP term */ -#line 1489 "perly.y" + case 255: /* eqopchain: eqopchain CHEQOP term */ +#line 1479 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 253: /* termunop: PERLY_MINUS term */ -#line 1494 "perly.y" + case 256: /* termunop: PERLY_MINUS term */ +#line 1484 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 254: /* termunop: PERLY_PLUS term */ -#line 1496 "perly.y" + case 257: /* termunop: PERLY_PLUS term */ +#line 1486 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 255: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1499 "perly.y" + case 258: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1489 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 256: /* termunop: PERLY_TILDE term */ -#line 1501 "perly.y" + case 259: /* termunop: PERLY_TILDE term */ +#line 1491 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 257: /* termunop: term POSTINC */ -#line 1503 "perly.y" + case 260: /* termunop: term POSTINC */ +#line 1493 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 258: /* termunop: term POSTDEC */ -#line 1506 "perly.y" + case 261: /* termunop: term POSTDEC */ +#line 1496 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 259: /* termunop: term POSTJOIN */ -#line 1509 "perly.y" + case 262: /* termunop: term POSTJOIN */ +#line 1499 "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 260: /* termunop: PREINC term */ -#line 1520 "perly.y" + case 263: /* termunop: PREINC term */ +#line 1510 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 261: /* termunop: PREDEC term */ -#line 1523 "perly.y" + case 264: /* termunop: PREDEC term */ +#line 1513 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 262: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1531 "perly.y" + case 265: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1521 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 263: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1533 "perly.y" + case 266: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1523 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 264: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1535 "perly.y" + case 267: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1525 "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 265: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1538 "perly.y" + case 268: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1528 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 266: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1540 "perly.y" + case 269: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1530 "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 267: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1543 "perly.y" + case 270: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1533 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 268: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1545 "perly.y" + case 271: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1535 "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 269: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1550 "perly.y" + case 272: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1540 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 270: /* termdo: KW_DO term */ -#line 1555 "perly.y" + case 273: /* termdo: KW_DO term */ +#line 1545 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 271: /* termdo: KW_DO block */ -#line 1557 "perly.y" + case 274: /* termdo: KW_DO block */ +#line 1547 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 276: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1565 "perly.y" + case 279: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1555 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 277: /* term: REFGEN term */ -#line 1567 "perly.y" + case 280: /* term: REFGEN term */ +#line 1557 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 278: /* term: myattrterm */ -#line 1569 "perly.y" + case 281: /* term: myattrterm */ +#line 1559 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 279: /* term: KW_LOCAL term */ -#line 1571 "perly.y" + case 282: /* term: KW_LOCAL term */ +#line 1561 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 280: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1573 "perly.y" + case 283: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1563 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 281: /* term: QWLIST */ -#line 1575 "perly.y" + case 284: /* term: QWLIST */ +#line 1565 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1577 "perly.y" + case 285: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1567 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 283: /* term: scalar */ -#line 1579 "perly.y" + case 286: /* term: scalar */ +#line 1569 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: star */ -#line 1581 "perly.y" + case 287: /* term: star */ +#line 1571 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: /* term: hsh */ -#line 1583 "perly.y" + case 288: /* term: hsh */ +#line 1573 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 286: /* term: ary */ -#line 1585 "perly.y" + case 289: /* term: ary */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 287: /* term: arylen */ -#line 1587 "perly.y" + case 290: /* term: arylen */ +#line 1577 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 288: /* term: subscripted */ -#line 1589 "perly.y" + case 291: /* term: subscripted */ +#line 1579 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 289: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1591 "perly.y" + case 292: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1581 "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 290: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1601 "perly.y" + case 293: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1591 "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 291: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1611 "perly.y" + case 294: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1601 "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 292: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1621 "perly.y" + case 295: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1611 "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 293: /* term: THING */ -#line 1631 "perly.y" + case 296: /* term: THING */ +#line 1621 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 294: /* term: amper */ -#line 1633 "perly.y" + case 297: /* term: amper */ +#line 1623 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 295: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1635 "perly.y" + case 298: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1625 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 296: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1638 "perly.y" + case 299: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1628 "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 297: /* term: NOAMP subname optlistexpr */ -#line 1643 "perly.y" + case 300: /* term: NOAMP subname optlistexpr */ +#line 1633 "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 298: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1647 "perly.y" + case 301: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1637 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 299: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1649 "perly.y" + case 302: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1639 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 300: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1651 "perly.y" + case 303: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1641 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 301: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1653 "perly.y" + case 304: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1643 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 302: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1656 "perly.y" + case 305: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1646 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 303: /* term: LOOPEX */ -#line 1658 "perly.y" + case 306: /* term: LOOPEX */ +#line 1648 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 304: /* term: LOOPEX term */ -#line 1661 "perly.y" + case 307: /* term: LOOPEX term */ +#line 1651 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 305: /* term: NOTOP listexpr */ -#line 1663 "perly.y" + case 308: /* term: NOTOP listexpr */ +#line 1653 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 306: /* term: UNIOP */ -#line 1665 "perly.y" + case 309: /* term: UNIOP */ +#line 1655 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 307: /* term: UNIOP block */ -#line 1667 "perly.y" + case 310: /* term: UNIOP block */ +#line 1657 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 308: /* term: UNIOP term */ -#line 1669 "perly.y" + case 311: /* term: UNIOP term */ +#line 1659 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 309: /* term: KW_REQUIRE */ -#line 1671 "perly.y" + case 312: /* term: KW_REQUIRE */ +#line 1661 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 310: /* term: KW_REQUIRE term */ -#line 1673 "perly.y" + case 313: /* term: KW_REQUIRE term */ +#line 1663 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 311: /* term: UNIOPSUB */ -#line 1675 "perly.y" + case 314: /* term: UNIOPSUB */ +#line 1665 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 312: /* term: UNIOPSUB term */ -#line 1677 "perly.y" + case 315: /* term: UNIOPSUB term */ +#line 1667 "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 313: /* term: FUNC0 */ -#line 1680 "perly.y" + case 316: /* term: FUNC0 */ +#line 1670 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 314: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1682 "perly.y" + case 317: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1672 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 315: /* term: FUNC0OP */ -#line 1684 "perly.y" + case 318: /* term: FUNC0OP */ +#line 1674 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 316: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1686 "perly.y" + case 319: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1676 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 317: /* term: FUNC0SUB */ -#line 1688 "perly.y" + case 320: /* term: FUNC0SUB */ +#line 1678 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 318: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1690 "perly.y" + case 321: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1680 "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 319: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1694 "perly.y" + case 322: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1684 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 320: /* @23: %empty */ -#line 1696 "perly.y" + case 323: /* @26: %empty */ +#line 1686 "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 321: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1707 "perly.y" + case 324: /* term: PMFUNC @26 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1697 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 325: /* myattrterm: KW_MY myterm attrlist */ -#line 1716 "perly.y" + case 328: /* myattrterm: KW_MY myterm attrlist */ +#line 1706 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 326: /* myattrterm: KW_MY myterm */ -#line 1718 "perly.y" + case 329: /* myattrterm: KW_MY myterm */ +#line 1708 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 327: /* myattrterm: KW_MY REFGEN myterm attrlist */ -#line 1720 "perly.y" + case 330: /* myattrterm: KW_MY REFGEN myterm attrlist */ +#line 1710 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 328: /* myattrterm: KW_MY REFGEN term */ -#line 1722 "perly.y" + case 331: /* myattrterm: KW_MY REFGEN term */ +#line 1712 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 329: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1727 "perly.y" + case 332: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1717 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 330: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1729 "perly.y" + case 333: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1719 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 331: /* myterm: scalar */ -#line 1732 "perly.y" + case 334: /* myterm: scalar */ +#line 1722 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 332: /* myterm: hsh */ -#line 1734 "perly.y" + case 335: /* myterm: hsh */ +#line 1724 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 333: /* myterm: ary */ -#line 1736 "perly.y" + case 336: /* myterm: ary */ +#line 1726 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 334: /* fieldvar: scalar */ -#line 1741 "perly.y" + case 337: /* fieldvar: scalar */ +#line 1731 "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 335: /* fieldvar: hsh */ -#line 1746 "perly.y" + case 338: /* fieldvar: hsh */ +#line 1736 "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 336: /* fieldvar: ary */ -#line 1751 "perly.y" + case 339: /* fieldvar: ary */ +#line 1741 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2147,8 +2152,8 @@ case 2: /* @1: %empty */ break; - case 337: /* fielddecl: KW_FIELD fieldvar optattrlist */ -#line 1759 "perly.y" + case 340: /* fielddecl: KW_FIELD fieldvar optattrlist */ +#line 1749 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2158,8 +2163,8 @@ case 2: /* @1: %empty */ break; - case 338: /* $@24: %empty */ -#line 1766 "perly.y" + case 341: /* $@27: %empty */ +#line 1756 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2170,8 +2175,8 @@ case 2: /* @1: %empty */ break; - case 339: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ -#line 1774 "perly.y" + case 342: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@27 term */ +#line 1764 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2180,122 +2185,122 @@ case 2: /* @1: %empty */ break; - case 345: /* optrepl: PERLY_SLASH expr */ -#line 1794 "perly.y" + case 348: /* optrepl: PERLY_SLASH expr */ +#line 1784 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 346: /* my_scalar: scalar */ -#line 1800 "perly.y" + case 349: /* my_scalar: scalar */ +#line 1790 "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 1805 "perly.y" + case 350: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1795 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1807 "perly.y" + case 351: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1797 "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 1814 "perly.y" + case 353: /* my_list_of_scalars: list_of_scalars */ +#line 1804 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 358: /* amper: PERLY_AMPERSAND indirob */ -#line 1831 "perly.y" + case 361: /* amper: PERLY_AMPERSAND indirob */ +#line 1821 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 359: /* scalar: PERLY_DOLLAR indirob */ -#line 1835 "perly.y" + case 362: /* scalar: PERLY_DOLLAR indirob */ +#line 1825 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 360: /* ary: PERLY_SNAIL indirob */ -#line 1839 "perly.y" + case 363: /* ary: PERLY_SNAIL indirob */ +#line 1829 "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 1845 "perly.y" + case 364: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1835 "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 1851 "perly.y" + case 365: /* arylen: DOLSHARP indirob */ +#line 1841 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 363: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1853 "perly.y" + case 366: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1843 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 364: /* star: PERLY_STAR indirob */ -#line 1857 "perly.y" + case 367: /* star: PERLY_STAR indirob */ +#line 1847 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 366: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1862 "perly.y" + case 369: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1852 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 368: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1867 "perly.y" + case 371: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1857 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 370: /* gelem: term ARROW PERLY_STAR */ -#line 1872 "perly.y" + case 373: /* gelem: term ARROW PERLY_STAR */ +#line 1862 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 371: /* indirob: BAREWORD */ -#line 1877 "perly.y" + case 374: /* indirob: BAREWORD */ +#line 1867 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 372: /* indirob: scalar */ -#line 1879 "perly.y" + case 375: /* indirob: scalar */ +#line 1869 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 373: /* indirob: block */ -#line 1881 "perly.y" + case 376: /* indirob: block */ +#line 1871 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 374: /* indirob: PRIVATEREF */ -#line 1884 "perly.y" + case 377: /* indirob: PRIVATEREF */ +#line 1874 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2307,6 +2312,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y + * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index c77cc4d78605..64a461e9e1b2 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y + * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index ae8456bd0ee8..d4bc9fd91f8f 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_attrlist = 215, /* attrlist */ - YYSYMBOL_optattrlist = 216, /* optattrlist */ - YYSYMBOL_sigvar = 217, /* sigvar */ - YYSYMBOL_sigslurpsigil = 218, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 219, /* sigslurpelem */ - YYSYMBOL_optcolon = 220, /* optcolon */ - YYSYMBOL_sigscalarelem = 221, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 222, /* optsigscalardefault */ - YYSYMBOL_sigelem = 223, /* sigelem */ - YYSYMBOL_siglist = 224, /* siglist */ - YYSYMBOL_optsiglist = 225, /* optsiglist */ - YYSYMBOL_optsubsignature = 226, /* optsubsignature */ - YYSYMBOL_subsignature = 227, /* subsignature */ - YYSYMBOL_subsigguts = 228, /* subsigguts */ - YYSYMBOL_229_20 = 229, /* $@20 */ - YYSYMBOL_optsubbody = 230, /* optsubbody */ - YYSYMBOL_subbody = 231, /* subbody */ - YYSYMBOL_optsigsubbody = 232, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 233, /* sigsubbody */ - YYSYMBOL_234_21 = 234, /* $@21 */ - YYSYMBOL_expr = 235, /* expr */ - YYSYMBOL_listexpr = 236, /* listexpr */ - YYSYMBOL_listop = 237, /* listop */ - YYSYMBOL_238_22 = 238, /* @22 */ - YYSYMBOL_methodname = 239, /* methodname */ - YYSYMBOL_subscripted = 240, /* subscripted */ - YYSYMBOL_termbinop = 241, /* termbinop */ - YYSYMBOL_termrelop = 242, /* termrelop */ - YYSYMBOL_relopchain = 243, /* relopchain */ - YYSYMBOL_termeqop = 244, /* termeqop */ - YYSYMBOL_eqopchain = 245, /* eqopchain */ - YYSYMBOL_termunop = 246, /* termunop */ - YYSYMBOL_anonymous = 247, /* anonymous */ - YYSYMBOL_termdo = 248, /* termdo */ - YYSYMBOL_term = 249, /* term */ - YYSYMBOL_250_23 = 250, /* @23 */ - YYSYMBOL_myattrterm = 251, /* myattrterm */ - YYSYMBOL_myterm = 252, /* myterm */ - YYSYMBOL_fieldvar = 253, /* fieldvar */ - 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_attrlist = 218, /* attrlist */ + YYSYMBOL_optattrlist = 219, /* optattrlist */ + YYSYMBOL_sigvar = 220, /* sigvar */ + YYSYMBOL_sigslurpsigil = 221, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 222, /* sigslurpelem */ + YYSYMBOL_optcolon = 223, /* optcolon */ + YYSYMBOL_sigscalarelem = 224, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 225, /* optsigscalardefault */ + YYSYMBOL_sigelem = 226, /* sigelem */ + YYSYMBOL_siglist = 227, /* siglist */ + YYSYMBOL_optsiglist = 228, /* optsiglist */ + YYSYMBOL_optsubsignature = 229, /* optsubsignature */ + YYSYMBOL_subsignature = 230, /* subsignature */ + YYSYMBOL_subsigguts = 231, /* subsigguts */ + YYSYMBOL_232_23 = 232, /* $@23 */ + YYSYMBOL_optsubbody = 233, /* optsubbody */ + YYSYMBOL_subbody = 234, /* subbody */ + YYSYMBOL_optsigsubbody = 235, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 236, /* sigsubbody */ + YYSYMBOL_237_24 = 237, /* $@24 */ + YYSYMBOL_expr = 238, /* expr */ + YYSYMBOL_listexpr = 239, /* listexpr */ + YYSYMBOL_listop = 240, /* listop */ + YYSYMBOL_241_25 = 241, /* @25 */ + YYSYMBOL_methodname = 242, /* methodname */ + YYSYMBOL_subscripted = 243, /* subscripted */ + YYSYMBOL_termbinop = 244, /* termbinop */ + YYSYMBOL_termrelop = 245, /* termrelop */ + YYSYMBOL_relopchain = 246, /* relopchain */ + YYSYMBOL_termeqop = 247, /* termeqop */ + YYSYMBOL_eqopchain = 248, /* eqopchain */ + YYSYMBOL_termunop = 249, /* termunop */ + YYSYMBOL_anonymous = 250, /* anonymous */ + YYSYMBOL_termdo = 251, /* termdo */ + YYSYMBOL_term = 252, /* term */ + YYSYMBOL_253_26 = 253, /* @26 */ + YYSYMBOL_myattrterm = 254, /* myattrterm */ + YYSYMBOL_myterm = 255, /* myterm */ + YYSYMBOL_fieldvar = 256, /* fieldvar */ + 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 3709 +#define YYLAST 3722 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 142 +#define YYNNTS 145 /* YYNRULES -- Number of rules. */ -#define YYNRULES 374 +#define YYNRULES 377 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 682 +#define YYNSTATES 685 /* 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, 1073, 1074, 1083, 1085, - 1090, 1092, 1096, 1101, 1105, 1111, 1113, 1119, 1129, 1142, - 1144, 1149, 1151, 1159, 1160, 1161, 1166, 1167, 1172, 1173, - 1177, 1181, 1181, 1214, 1215, 1220, 1232, 1233, 1238, 1237, - 1250, 1252, 1254, 1256, 1258, 1262, 1264, 1269, 1273, 1277, - 1281, 1285, 1291, 1296, 1302, 1308, 1314, 1320, 1322, 1324, - 1327, 1326, 1340, 1341, 1345, 1349, 1352, 1357, 1362, 1365, - 1369, 1373, 1379, 1387, 1394, 1400, 1402, 1404, 1409, 1411, - 1413, 1415, 1417, 1419, 1424, 1426, 1428, 1430, 1432, 1434, - 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, - 1458, 1460, 1462, 1464, 1466, 1470, 1472, 1476, 1478, 1480, - 1482, 1486, 1488, 1493, 1495, 1498, 1500, 1502, 1505, 1508, - 1519, 1522, 1530, 1532, 1534, 1537, 1539, 1542, 1544, 1549, - 1554, 1556, 1560, 1561, 1562, 1563, 1564, 1566, 1568, 1570, - 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, - 1600, 1610, 1620, 1630, 1632, 1634, 1637, 1642, 1646, 1648, - 1650, 1652, 1655, 1657, 1660, 1662, 1664, 1666, 1668, 1670, - 1672, 1674, 1676, 1679, 1681, 1683, 1685, 1687, 1689, 1693, - 1696, 1695, 1708, 1709, 1710, 1715, 1717, 1719, 1721, 1726, - 1728, 1731, 1733, 1735, 1740, 1745, 1750, 1758, 1766, 1765, - 1783, 1784, 1788, 1789, 1793, 1794, 1799, 1804, 1806, 1810, - 1813, 1817, 1818, 1819, 1822, 1823, 1826, 1827, 1830, 1834, - 1838, 1844, 1850, 1852, 1856, 1860, 1861, 1865, 1866, 1870, - 1871, 1876, 1878, 1880, 1883 + 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, 1063, + 1064, 1073, 1075, 1080, 1082, 1086, 1091, 1095, 1101, 1103, + 1109, 1119, 1132, 1134, 1139, 1141, 1149, 1150, 1151, 1156, + 1157, 1162, 1163, 1167, 1171, 1171, 1204, 1205, 1210, 1222, + 1223, 1228, 1227, 1240, 1242, 1244, 1246, 1248, 1252, 1254, + 1259, 1263, 1267, 1271, 1275, 1281, 1286, 1292, 1298, 1304, + 1310, 1312, 1314, 1317, 1316, 1330, 1331, 1335, 1339, 1342, + 1347, 1352, 1355, 1359, 1363, 1369, 1377, 1384, 1390, 1392, + 1394, 1399, 1401, 1403, 1405, 1407, 1409, 1414, 1416, 1418, + 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, + 1440, 1442, 1444, 1448, 1450, 1452, 1454, 1456, 1460, 1462, + 1466, 1468, 1470, 1472, 1476, 1478, 1483, 1485, 1488, 1490, + 1492, 1495, 1498, 1509, 1512, 1520, 1522, 1524, 1527, 1529, + 1532, 1534, 1539, 1544, 1546, 1550, 1551, 1552, 1553, 1554, + 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, + 1576, 1578, 1580, 1590, 1600, 1610, 1620, 1622, 1624, 1627, + 1632, 1636, 1638, 1640, 1642, 1645, 1647, 1650, 1652, 1654, + 1656, 1658, 1660, 1662, 1664, 1666, 1669, 1671, 1673, 1675, + 1677, 1679, 1683, 1686, 1685, 1698, 1699, 1700, 1705, 1707, + 1709, 1711, 1716, 1718, 1721, 1723, 1725, 1730, 1735, 1740, + 1748, 1756, 1755, 1773, 1774, 1778, 1779, 1783, 1784, 1789, + 1794, 1796, 1800, 1803, 1807, 1808, 1809, 1812, 1813, 1816, + 1817, 1820, 1824, 1828, 1834, 1840, 1842, 1846, 1850, 1851, + 1855, 1856, 1860, 1861, 1866, 1868, 1870, 1873 }; #endif @@ -448,17 +451,17 @@ 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", @@ -466,11 +469,11 @@ static const char *const yytname[] = "subattrlist", "attrlist", "optattrlist", "sigvar", "sigslurpsigil", "sigslurpelem", "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature", - "subsigguts", "$@20", "optsubbody", "subbody", "optsigsubbody", - "sigsubbody", "$@21", "expr", "listexpr", "listop", "@22", "methodname", + "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", "fielddecl", "$@24", "optlistexpr", + "eqopchain", "termunop", "anonymous", "termdo", "term", "@26", + "myattrterm", "myterm", "fieldvar", "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", @@ -484,12 +487,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-559) +#define YYPACT_NINF (-555) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-373) +#define YYTABLE_NINF (-376) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -498,75 +501,75 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 771, -559, -559, -559, -559, -559, -559, -559, 24, -559, - 3031, 39, 1973, 1856, -559, -559, -559, -559, 298, 3031, - 298, 3031, 298, 3031, 298, 298, 3031, 38, 3031, 2302, - -559, -559, -559, -559, 298, 298, -559, -559, 78, -36, - -559, 3031, -559, -559, 3031, -26, -22, -49, 2302, 2221, - 39, 298, 3031, 16, 3031, 3031, 3031, 3031, 3031, 3031, - 2383, -559, 341, 116, -559, 12, -559, 8, 49, 106, - 26, -559, -559, -559, 701, -559, -559, 55, 40, 71, - 160, -559, 183, 180, 245, 190, -559, -559, -559, -559, - -559, 154, 164, 340, -559, -559, -559, 72, 91, -559, - -559, 39, 220, 220, -559, 16, -559, -559, -559, 226, - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, -559, 16, 214, -559, - 237, 417, 261, 1856, -559, -559, -559, -559, 671, -559, - 88, 870, -559, -559, -559, -559, -559, 276, -559, 481, - -559, 481, -559, -559, 467, 3112, 2464, 209, -559, -559, - -559, 467, -559, 467, 229, 221, 221, 3031, 178, 223, - 3031, 182, 467, 39, 701, 187, 2545, 3031, 2221, -559, - 467, 3193, -559, 116, -559, 2626, 3031, 3031, -559, 301, - -559, -559, 3031, 116, 481, 481, 481, 631, 631, 307, - 185, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 2707, -559, - -559, 3031, -559, -559, 3031, 3031, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, 3031, - -559, -559, -559, 3031, 89, 2788, 3031, 3031, 3031, 3031, - 3031, 3031, 3031, -559, 268, 269, 288, 209, -559, -559, - -559, 213, 213, 19, -559, -559, 213, 213, -559, -559, - 304, -559, -559, -559, -559, -559, -559, 39, -559, -559, - -559, 3031, 3031, 3031, 3031, 3031, 3031, -559, -559, -559, - -559, -559, -559, -559, -559, 289, -559, 333, -559, -559, - 342, -559, -559, 2869, 481, 209, 30, 48, 52, -559, - 443, 299, -559, -559, -559, 221, 302, -559, 5, 5, - -559, 3031, 3031, 103, -559, -559, -559, -559, 457, 273, - 234, 3031, 116, 116, 360, -559, 3031, 364, 143, 143, - -559, -559, 3275, 141, 111, -559, 470, 3540, 3520, 3379, - 481, 401, 349, 3223, 3275, 3275, 1021, 3418, 3418, 3418, - 3441, 3441, 3480, 3501, 3520, 3520, 3540, 3540, 3559, 3579, - 349, 401, 481, 481, 135, 13, 3031, 3031, 163, 357, - 358, 359, -559, 361, 2950, 255, -559, -559, 532, 244, - 131, 279, 148, 284, 155, 295, 987, -559, -559, 375, - 33, 209, -559, -559, 309, 3031, 220, 220, 36, 403, - 2059, 220, 340, 213, 3031, 3031, 220, 220, -559, -559, - 343, -559, 376, -559, -559, -559, 341, -559, -559, -559, - 341, -559, -559, -559, 310, 289, 88, 17, 542, -559, - -559, -559, 389, -559, 271, -559, -559, 280, 92, -559, - 3031, -559, -559, -559, 557, -559, 181, 3031, 402, -559, - -559, 3031, -559, 283, 300, 208, -559, -559, -559, -559, - -559, -559, 692, 3031, -559, 408, -559, 414, -559, 419, - -559, 420, -559, -559, -559, -559, -559, 64, -559, 311, - 341, 264, 264, -559, 424, 213, -559, -559, -559, 213, - -559, -559, -559, -559, -559, -559, -559, 421, 177, 214, - -559, 220, 315, 320, 341, -559, -559, 1154, 324, 385, - 229, -559, 448, -559, -559, 221, 3031, 371, -559, 43, - -559, -559, -559, 449, -559, -559, 3031, -559, 373, -559, - -559, -559, 232, -559, 3327, 3031, 459, -559, -559, 351, - -559, -559, -559, -559, 452, -559, -559, -559, 3031, -559, - 220, 213, -559, -559, -559, 465, 352, -559, 220, 220, - -559, -559, 213, 214, -559, -559, -559, -559, -559, -559, - 3031, 221, -559, 462, 701, 3031, 354, -559, 341, -559, - -559, 356, -559, -559, 405, -559, -559, 701, -559, 220, - 424, 213, 214, 214, 3031, 220, -559, 220, 220, 424, - 220, 472, 376, 1271, -559, -559, -559, -559, 701, -559, - -559, -559, -559, 1388, -559, 264, -559, 220, -559, -559, - 475, 214, 214, 214, -559, 444, -559, -559, -559, 1505, - -559, -2, -559, 1622, -559, 214, -559, -559, -559, -559, - 370, 39, -559, -559, 485, 416, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, 2140, 1739, 377, -559, - 220, -559 + 689, -555, -555, -555, -555, -555, -555, -555, 37, -555, + 3013, 11, 1955, 1838, -555, -555, -555, -555, 352, 3013, + 352, 3013, 352, 3013, 352, 352, 3013, 88, 3013, 2284, + -555, -555, -555, -555, 352, 352, -555, -555, 106, -5, + -555, 3013, -555, -555, 3013, -2, 12, -30, 2284, 2203, + 11, 352, 3013, 114, 3013, 3013, 3013, 3013, 3013, 3013, + 2365, -555, 458, 194, -555, 16, -555, -27, 57, -12, + 69, -555, -555, -555, 3205, -555, -555, 53, 51, 184, + 191, -555, 195, 201, 220, 204, -555, -555, -555, -555, + -555, 190, 203, 170, -555, -555, -555, 138, 139, -555, + -555, 11, 261, 261, -555, 114, -555, -555, -555, 252, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, 114, 246, -555, + 268, 263, 275, 1838, -555, -555, -555, -555, 735, -555, + 56, 852, -555, -555, -555, -555, -555, 291, -555, 310, + -555, 310, -555, -555, 3572, 3094, 2446, 225, -555, -555, + -555, 3572, -555, 3572, 244, 232, 232, 3013, 188, 224, + 3013, 186, 3572, 11, 3205, 210, 2527, 3013, 2203, -555, + 3572, 3175, -555, 194, -555, 2608, 3013, 3013, -555, 320, + -555, -555, 3013, 194, 310, 310, 310, 509, 509, 332, + 374, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 2689, -555, + -555, 3013, -555, -555, 3013, 3013, 3013, 3013, 3013, 3013, + 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, + 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, + -555, -555, -555, 3013, 100, 2770, 3013, 3013, 3013, 3013, + 3013, 3013, 3013, -555, 290, 295, 299, 225, -555, -555, + -555, 229, 229, 10, -555, -555, 229, 229, -555, -555, + 312, -555, -555, -555, -555, -555, -555, 11, -555, -555, + -555, 3013, 3013, 3013, 3013, 3013, 3013, -555, -555, -555, + -555, -555, -555, -555, -555, 303, -555, 351, -555, -555, + 356, -555, -555, 2851, 310, 225, 32, 43, 180, -555, + 384, 327, -555, -555, -555, 232, 329, -555, 7, 7, + -555, 3013, 3013, 77, -555, -555, -555, -555, 403, 313, + 258, 3013, 194, 194, 388, -555, 3013, 392, 65, 65, + -555, -555, 3309, 41, 129, -555, 407, 468, 3533, 3413, + 310, 335, 255, 3257, 3309, 3309, 886, 3452, 3452, 3452, + 3475, 3475, 3514, 560, 3533, 3533, 468, 468, 3553, 3592, + 255, 335, 310, 310, 115, 227, 3013, 3013, 318, 381, + 386, 389, -555, 391, 2932, 277, -555, -555, 476, 167, + 133, 213, 142, 231, 146, 236, 1019, -555, -555, 401, + 24, 225, -555, -555, 321, 3013, 261, 261, 9, 85, + 2041, 261, 170, -555, 3013, 3013, 261, 261, -555, -555, + 367, -555, 402, -555, -555, -555, 458, -555, -555, -555, + 458, -555, -555, -555, 342, 303, 56, 17, 514, -555, + -555, -555, 423, -555, 311, -555, -555, 315, 46, -555, + 3013, -555, -555, -555, 570, -555, 154, 3013, 430, -555, + -555, 3013, -555, 322, 243, 185, -555, -555, -555, -555, + -555, -555, 608, 3013, -555, 435, -555, 454, -555, 460, + -555, 462, -555, -555, -555, -555, -555, 55, -555, 344, + 458, 222, 222, -555, 467, 229, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, 463, 181, 246, + -555, 229, 345, 353, 458, -555, -555, 1136, 355, 433, + 244, -555, 479, -555, -555, 232, 3013, 394, -555, 28, + -555, -555, -555, 483, -555, -555, 3013, -555, 405, -555, + -555, -555, 197, -555, 3361, 3013, 495, -555, -555, 379, + -555, -555, -555, -555, 490, -555, -555, -555, 3013, -555, + 261, 229, -555, -555, -555, 501, -555, -555, 261, 229, + -555, -555, 229, 261, -555, -555, -555, -555, -555, -555, + 3013, 232, -555, 499, 3205, 3013, 393, -555, 458, -555, + -555, 397, -555, -555, 429, -555, -555, 3205, -555, 261, + 467, 400, 246, 261, 3013, 261, 246, 261, 261, 467, + 261, 513, 402, 1253, -555, -555, -555, -555, 3205, -555, + -555, -555, -555, 1370, -555, 222, -555, 229, -555, 246, + 517, 246, -555, 246, 246, -555, 491, -555, -555, -555, + 1487, -555, 22, -555, 1604, -555, 261, -555, -555, -555, + -555, -555, 415, 11, -555, -555, 540, 478, -555, -555, + 246, -555, -555, -555, -555, -555, -555, -555, -555, 2122, + 1721, 432, -555, 261, -555 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -574,95 +577,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, 171, 1, 62, 0, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, - 134, 134, 135, 322, 0, 0, 293, 320, 281, 315, - 317, 311, 134, 324, 303, 313, 0, 0, 306, 62, - 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 343, 184, 323, 288, 272, 228, 240, 229, - 247, 273, 274, 275, 187, 278, 5, 294, 283, 286, - 285, 287, 284, 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, 371, 374, 373, 372, 358, 0, 359, 253, - 361, 254, 360, 364, 279, 0, 0, 326, 331, 333, - 332, 310, 271, 270, 62, 62, 62, 62, 0, 0, - 0, 0, 312, 0, 304, 0, 0, 62, 62, 307, - 308, 322, 340, 341, 197, 283, 0, 0, 362, 0, - 137, 138, 62, 305, 255, 256, 277, 260, 261, 282, - 0, 0, 0, 0, 0, 185, 0, 0, 0, 243, - 242, 0, 250, 249, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 67, + 65, 0, 0, 0, 65, 174, 1, 65, 0, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, + 137, 137, 138, 325, 0, 0, 296, 323, 284, 318, + 320, 314, 137, 327, 306, 316, 0, 0, 309, 65, + 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, + 0, 345, 346, 187, 326, 291, 275, 231, 243, 232, + 250, 276, 277, 278, 190, 281, 5, 297, 286, 289, + 288, 290, 287, 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, 374, 377, 376, 375, 361, 0, 362, 256, + 364, 257, 363, 367, 282, 0, 0, 329, 334, 336, + 335, 313, 274, 273, 65, 65, 65, 65, 0, 0, + 0, 0, 315, 0, 307, 0, 0, 65, 65, 310, + 311, 325, 343, 344, 200, 286, 0, 0, 365, 0, + 140, 141, 65, 308, 258, 259, 280, 263, 264, 285, + 0, 0, 0, 0, 0, 188, 0, 0, 0, 246, + 245, 0, 253, 252, 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, - 257, 258, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 62, 0, 0, 62, 334, 336, - 335, 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, 151, 150, 156, 166, 148, 162, 0, 161, 165, - 167, 172, 262, 0, 328, 0, 283, 286, 285, 330, - 0, 145, 325, 140, 139, 62, 143, 141, 267, 269, - 195, 62, 0, 0, 316, 200, 314, 318, 0, 0, - 0, 0, 188, 189, 0, 297, 0, 280, 182, 183, - 180, 181, 186, 0, 0, 214, 0, 246, 252, 232, - 221, 223, 225, 239, 219, 220, 0, 235, 237, 236, - 233, 234, 231, 230, 251, 248, 245, 241, 244, 227, - 226, 224, 238, 222, 218, 0, 0, 0, 0, 368, - 366, 370, 202, 0, 0, 192, 203, 295, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, - 0, 62, 146, 147, 337, 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, 149, 152, 148, 163, 282, 0, 327, - 329, 144, 265, 142, 62, 266, 268, 0, 62, 216, - 62, 319, 199, 198, 0, 263, 0, 0, 0, 207, - 213, 0, 301, 194, 0, 0, 298, 300, 299, 302, - 363, 211, 0, 62, 296, 0, 205, 0, 289, 0, - 290, 0, 61, 64, 36, 64, 40, 0, 338, 0, - 129, 62, 62, 356, 0, 0, 346, 357, 354, 0, - 355, 351, 352, 353, 124, 125, 130, 0, 109, 62, - 32, 0, 0, 0, 127, 37, 55, 0, 62, 0, - 62, 174, 0, 44, 173, 62, 153, 157, 164, 280, - 264, 171, 168, 0, 169, 196, 0, 344, 0, 201, - 190, 217, 0, 210, 276, 62, 0, 206, 212, 0, - 208, 291, 292, 204, 0, 41, 64, 17, 0, 58, - 0, 0, 116, 38, 51, 350, 0, 349, 0, 0, - 26, 35, 0, 62, 123, 123, 65, 68, 67, 49, - 62, 62, 62, 64, 154, 159, 0, 178, 345, 321, - 215, 0, 209, 191, 0, 62, 18, 339, 117, 0, - 347, 0, 62, 62, 126, 0, 31, 0, 0, 0, - 0, 0, 64, 0, 177, 46, 176, 158, 160, 170, - 62, 193, 62, 0, 62, 62, 348, 0, 29, 34, - 0, 62, 62, 62, 69, 121, 54, 48, 175, 0, - 73, 0, 42, 0, 118, 62, 27, 33, 52, 56, - 0, 0, 50, 179, 0, 62, 74, 19, 30, 123, - 70, 122, 63, 62, 105, 104, 0, 0, 0, 106, - 0, 28 + 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 65, 65, 0, 0, 65, 337, 339, + 338, 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, 154, 153, 159, 169, 151, 165, 0, 164, 168, + 170, 175, 265, 0, 331, 0, 286, 289, 288, 333, + 0, 148, 328, 143, 142, 65, 146, 144, 270, 272, + 198, 65, 0, 0, 319, 203, 317, 321, 0, 0, + 0, 0, 191, 192, 0, 300, 0, 283, 185, 186, + 183, 184, 189, 0, 0, 217, 0, 249, 255, 235, + 224, 226, 228, 242, 222, 223, 0, 238, 240, 239, + 236, 237, 234, 233, 254, 251, 248, 244, 247, 230, + 229, 227, 241, 225, 221, 0, 0, 0, 0, 371, + 369, 373, 205, 0, 0, 195, 206, 298, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, + 0, 65, 149, 150, 340, 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, 152, 155, 151, 166, 285, 0, 330, + 332, 147, 268, 145, 65, 269, 271, 0, 65, 219, + 65, 322, 202, 201, 0, 266, 0, 0, 0, 210, + 216, 0, 304, 197, 0, 0, 301, 303, 302, 305, + 366, 214, 0, 65, 299, 0, 208, 0, 292, 0, + 293, 0, 64, 67, 39, 67, 43, 0, 341, 0, + 132, 65, 65, 359, 0, 0, 349, 360, 357, 36, + 358, 354, 355, 356, 127, 128, 133, 0, 112, 65, + 34, 0, 0, 0, 130, 40, 58, 0, 65, 0, + 65, 177, 0, 47, 176, 65, 156, 160, 167, 283, + 267, 174, 171, 0, 172, 199, 0, 347, 0, 204, + 193, 220, 0, 213, 279, 65, 0, 209, 215, 0, + 211, 294, 295, 207, 0, 44, 67, 17, 0, 61, + 0, 0, 119, 41, 54, 353, 30, 352, 0, 0, + 26, 38, 0, 0, 126, 126, 68, 71, 70, 52, + 65, 65, 65, 67, 157, 162, 0, 181, 348, 324, + 218, 0, 212, 194, 0, 65, 18, 342, 120, 0, + 350, 0, 65, 0, 129, 0, 65, 0, 0, 0, + 0, 0, 67, 0, 180, 49, 179, 161, 163, 173, + 65, 196, 65, 0, 65, 65, 351, 0, 29, 65, + 0, 65, 33, 65, 65, 72, 124, 57, 51, 178, + 0, 76, 0, 45, 0, 121, 0, 37, 27, 35, + 55, 59, 0, 0, 53, 182, 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[] = { - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -154, -559, -3, -10, -559, - -7, -74, -559, -559, -559, -559, -16, -559, 493, 367, - 6, -559, -559, -63, -416, -488, -459, -559, -558, -559, - -107, 93, -559, -161, -559, -97, 59, -559, -559, -100, - -14, -173, -160, 110, 77, -559, -559, -559, -559, -559, - 80, -559, -559, -559, -559, -18, -559, -90, 81, -559, - -323, -559, 75, -21, -559, -559, -559, -559, -559, -559, - -559, -559, -559, -559, -559, -559, 620, -559, -559, 369, - -559, -559, -559, -166, 15, -559, -559, -559, -559, 114, - -559, -559, 136, 46, -17, -15, -559, -559, -559, -559, - -559, 108 + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -202, -555, + -1, -10, -555, -7, -51, -555, -555, -555, -555, -16, + -555, 561, 434, 8, -555, -555, 164, -406, -486, -436, + -555, -554, -555, -39, 155, -555, -92, -555, -102, 91, + -555, -555, -101, 48, -173, -152, 177, 145, -555, -555, + -555, -555, -555, 147, -555, -555, -555, -555, 58, -555, + -22, 140, -555, -324, -555, 136, -43, -555, -555, -555, + -555, -555, -555, -555, -555, -555, -555, -555, -555, 485, + -555, -555, 436, -555, -555, -555, -164, 13, -555, -555, + -555, -555, 182, -555, -555, 193, 33, -20, -15, -555, + -555, -555, -555, -555, 72 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -670,19 +673,19 @@ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, 112, 113, 634, 114, 115, 116, 117, 118, 119, 614, - 669, 120, 582, 121, 122, 123, 124, 125, 126, 605, - 127, 432, 128, 535, 129, 530, 130, 620, 131, 132, - 133, 430, 134, 135, 136, 416, 137, 138, 147, 494, - 454, 280, 428, 589, 619, 660, 148, 651, 300, 145, - 146, 666, 675, 435, 140, 573, 289, 662, 617, 516, - 523, 439, 499, 517, 409, 282, 174, 176, 264, 202, - 325, 328, 413, 414, 444, 305, 306, 307, 308, 627, - 309, 310, 311, 543, 544, 149, 150, 533, 534, 625, - 455, 630, 141, 63, 64, 460, 395, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 179, 75, 167, - 267, 142, 568, 194, 76, 548, 505, 575, 576, 508, - 509, 422, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 158 + 671, 120, 611, 521, 582, 579, 121, 122, 123, 124, + 125, 126, 605, 127, 432, 128, 535, 129, 530, 130, + 620, 131, 132, 133, 430, 134, 135, 136, 416, 137, + 138, 147, 494, 454, 280, 428, 589, 619, 662, 148, + 652, 300, 145, 146, 668, 677, 435, 140, 573, 289, + 664, 617, 516, 523, 439, 499, 517, 409, 282, 174, + 176, 264, 202, 325, 328, 413, 414, 444, 305, 306, + 307, 308, 627, 309, 310, 311, 543, 544, 149, 150, + 533, 534, 625, 455, 630, 141, 63, 64, 460, 395, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 179, 75, 167, 267, 142, 568, 194, 76, 548, 505, + 575, 576, 508, 509, 422, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -690,95 +693,145 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 17, 329, 515, 283, 456, 322, 87, 61, - 169, 330, 170, 285, 574, 154, -64, 154, 139, 154, - 664, 154, 154, 216, 16, 217, 172, 618, 193, 281, - 346, 154, 154, 203, 157, 20, 345, 286, 472, 192, - 187, 256, 61, 257, 495, 189, 154, 197, 154, 418, - 86, 256, 20, 257, 20, 496, 467, 665, 22, -365, - 581, -365, 24, -367, 155, -367, 155, 199, 155, 200, - 155, 155, 200, 168, 201, 566, 269, 201, 270, 263, - 155, 155, -365, 188, -365, 62, 567, 271, 272, 273, - 175, 180, 276, 277, 62, 195, 181, 155, 278, 385, - 386, 183, 387, -330, -155, 388, 185, 215, 301, 389, - 186, 676, 302, 390, 391, 546, -331, 459, 417, 421, - 219, 220, 426, 427, 616, 469, 156, 62, 288, -329, - 160, 215, 162, 163, -333, 210, 224, -64, -332, 268, - 304, 419, 177, 178, 218, 486, 392, 654, 317, 299, - 318, 420, 452, 638, 639, 449, 193, 196, 503, 198, - 165, 221, 488, 468, 324, 327, 327, 192, 504, 490, - 166, -367, 393, -367, 86, 342, 343, 61, 61, 20, - 335, 193, 657, 658, 659, 154, 431, 255, 476, 433, - 303, 258, 192, 259, -369, 551, 668, 211, 212, 213, - 214, 262, 339, 340, 274, 211, 212, 213, 214, 291, - 265, 316, 292, 293, 294, 295, 222, 223, 296, 152, - 266, 394, 557, 275, 153, 211, 212, 213, 214, 437, - 438, 279, 441, 442, 195, 211, 212, 213, 214, 213, - 214, 320, 211, 212, 213, 214, 600, 406, 284, 211, - 212, 213, 214, 287, 408, 333, 260, 412, 261, 290, - 515, 338, 62, 62, -373, 254, 485, 424, 425, 521, - 626, 211, 212, 213, 214, 211, 212, 213, 214, 211, - 212, 213, 214, 297, 434, 473, 348, 349, 350, 351, - 312, 353, 354, 356, 549, 321, 341, 570, 571, 323, - 396, 487, 211, 212, 213, 214, 489, 326, -129, 86, - 331, 458, 332, 334, 20, 327, 347, 491, 336, 423, - 346, 61, 556, 344, 407, 410, 211, 212, 213, 214, - 398, 399, 400, 401, 402, 403, 404, 405, 211, 212, - 213, 214, 501, 502, 411, 415, 457, 519, 429, 445, - 443, 578, 525, 526, 152, 579, 20, 446, 451, 153, - 22, 453, 593, 462, 24, 463, 436, 436, 436, 440, - 436, 436, 465, 211, 212, 213, 214, 467, 211, 212, - 213, 214, 477, 478, 479, 154, 480, 483, 448, 211, - 212, 213, 214, 493, 211, 212, 213, 214, 531, 529, - -64, 412, 512, 541, 513, 512, 62, 513, 498, 536, - 514, 545, 527, 18, 553, 555, 464, 609, 622, 20, - 560, 466, 528, 22, 621, 532, 561, 24, 615, 226, - 227, 562, 563, 507, 155, 211, 212, 213, 214, 193, - 20, 590, 569, 580, 542, 532, 584, 583, 547, 291, - 192, 585, 292, 293, 294, 295, 587, 637, 296, 592, - 597, 474, 475, 599, 506, 511, 247, 248, 511, 482, - 595, 602, 249, 61, 604, 250, 251, 252, 253, 254, - 610, 226, 603, 611, 624, 629, 564, 631, 565, 661, - 500, 572, 572, 632, 646, 518, 608, 656, 559, 440, - 524, 670, 672, 673, 612, 613, 144, 640, 680, 288, - 298, 211, 212, 213, 214, 678, 591, 522, 588, 248, - 324, 497, 537, 596, 249, 327, 538, 250, 251, 252, - 253, 254, 647, 540, 315, 635, 520, 211, 212, 213, - 214, 641, 552, 642, 643, 61, 645, 226, 227, 228, - 577, 211, 212, 213, 214, 510, 0, 0, 62, 606, - 0, 226, 0, 655, 211, 212, 213, 214, 0, 193, - 601, 0, 0, 288, 450, 0, 623, 0, 0, 0, - 192, 327, 245, 246, 247, 248, 0, 0, 461, 633, - 249, 0, 0, 250, 251, 252, 253, 254, 0, 0, - 0, 470, 288, 288, 249, 0, 681, 250, 251, 252, - 253, 254, 0, 0, 649, 532, 0, 0, 653, 0, - 0, 598, 650, 0, 0, 572, 211, 212, 213, 214, - 62, 288, 288, 288, 0, 0, 211, 212, 213, 214, - 0, 159, 0, 161, 0, 288, 164, 0, 171, 173, - 0, 211, 212, 213, 214, 674, 636, 677, 671, 0, - 0, 182, 0, 484, 184, 644, 514, 0, 190, 0, - 0, -13, 88, 539, 0, 204, 205, 206, 207, 208, - 0, 18, 86, 0, 19, 0, 0, 20, 550, 524, - 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, -373, -373, -373, - 253, 254, 110, 0, 0, 0, 0, 0, 0, 54, - 0, 0, 0, 225, 1, 2, 3, 4, 5, 6, - 7, 226, 227, 228, 0, 314, 211, 212, 213, 214, - 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, 558, 249, 0, 0, 250, 251, 252, - 253, 254, 0, 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, - -3, 88, 0, 384, 0, 0, 0, 0, 0, 0, - 18, 86, 0, 19, 0, 0, 20, 0, 0, 21, + 61, 151, 17, 329, 283, 456, 193, 169, 285, 61, + 87, 203, 170, 330, 515, 322, 574, 154, -67, 154, + 139, 154, 86, 154, 154, 20, 20, 216, 172, 217, + 346, 618, 157, 154, 154, 495, 286, 16, 345, 192, + 418, 467, 61, 256, 666, 257, 496, 189, 154, 197, + 154, 155, 281, 155, -368, 155, -368, 155, 155, 187, + 168, 215, 256, 468, 257, 199, 566, 155, 155, 546, + 417, 421, -158, 269, 426, 427, 301, 567, 270, 263, + 302, 667, 195, 581, 155, 219, 220, 271, 272, 273, + 156, 459, 276, 277, 160, 18, 162, 163, 222, 223, + 278, 20, 188, -333, 20, 22, 177, 178, 22, 24, + 385, 386, 24, 387, -332, 507, 388, 679, -334, 180, + 389, 196, 175, 198, 390, 391, 268, 181, 288, -336, + 185, 503, 419, 183, 193, 211, 212, 213, 214, -67, + 304, 504, 420, 469, 186, 317, 62, 486, 218, 655, + 318, 299, 452, 342, 343, 62, 488, 392, 303, 193, + 490, 213, 214, 449, 324, 327, 327, 192, 551, 221, + 200, 211, 212, 213, 214, 201, 638, 61, 61, 224, + 642, 431, 335, 393, 433, 255, 20, 154, 62, 485, + 22, -370, 192, -370, 24, -368, 210, -368, 316, 557, + 339, 340, -370, 657, -370, 659, -372, 660, 661, 215, + 165, 600, 258, 291, 259, 262, 292, 293, 294, 295, + 166, 195, 296, 211, 212, 213, 214, 211, 212, 213, + 214, 260, 394, 261, 678, 487, 211, 212, 213, 214, + 211, 212, 213, 214, -376, 254, 265, 406, 211, 212, + 213, 214, 472, 489, 408, 570, 571, 412, 491, 266, + 341, 211, 212, 213, 214, 556, -335, 424, 425, 626, + 274, 275, 279, 515, 284, 211, 212, 213, 214, 211, + 212, 213, 214, 200, 473, 287, 434, 396, 201, 458, + 290, 211, 212, 213, 214, 291, 549, 297, 292, 293, + 294, 295, 320, 578, 296, 312, 423, 211, 212, 213, + 214, 321, -132, 332, 323, 327, 333, 334, 326, 583, + 331, 61, 338, 62, 62, 211, 212, 213, 214, 86, + 211, 212, 213, 214, 20, 226, 227, 211, 212, 213, + 214, 336, 344, 476, 457, 346, 407, 348, 349, 350, + 351, 410, 353, 354, 356, 411, 429, 211, 212, 213, + 214, 415, 593, 86, 443, 501, 502, 445, 20, 609, + 519, 446, 247, 248, 152, 525, 526, 613, 249, 153, + 615, 250, 251, 252, 253, 254, 451, 154, 453, 463, + 226, 398, 399, 400, 401, 402, 403, 404, 405, 512, + 465, 412, 512, 462, 513, 467, 477, 513, 152, 483, + 514, 478, 527, 153, 479, 226, 480, 193, 622, 493, + 498, 155, 528, 529, 531, 532, 621, 436, 436, 436, + 440, 436, 436, 249, -67, 656, 250, 251, 252, 253, + 254, 536, 553, 541, 542, 532, 545, 560, 547, 448, + 192, 506, 511, 248, 555, 511, 437, 438, 249, 441, + 442, 250, 251, 252, 253, 254, 561, 62, 211, 212, + 213, 214, 562, 61, 563, 569, 584, 464, 211, 212, + 213, 214, 466, 20, 585, 580, 564, 587, 565, 590, + 592, 572, 572, 595, 597, 599, 559, 211, 212, 213, + 214, 211, 212, 213, 214, 347, 159, 602, 161, 288, + 603, 164, 604, 171, 173, 450, 610, 632, 588, 608, + 324, 624, 474, 475, 629, 327, 182, 612, 631, 184, + 482, 637, 616, 190, 461, 647, 663, 577, 470, 658, + 204, 205, 206, 207, 208, 61, 672, 193, 226, 227, + 228, 500, 211, 212, 213, 214, 518, 674, 635, 606, + 440, 524, 639, 683, 641, 675, 643, 644, 601, 646, + 211, 212, 213, 214, 144, 640, 623, 298, 591, 522, + 192, 327, 244, 245, 246, 247, 248, 681, 497, 633, + 537, 249, 540, 538, 250, 251, 252, 253, 254, 596, + 648, 315, 288, 552, 520, 670, 288, 484, 211, 212, + 213, 214, 510, 0, 650, 532, 0, 0, 654, 62, + 0, 0, 651, 0, 0, 572, 0, 0, 0, 288, + 0, 288, 684, 288, 288, -376, -376, -376, 253, 254, + 226, 227, 228, 636, 0, 539, 0, 0, 0, 0, + 314, 0, 645, 0, 0, 0, 0, 676, 0, 680, + 288, 0, 673, 0, 211, 212, 213, 214, 0, 514, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, + 0, 0, 598, 249, 0, 0, 250, 251, 252, 253, + 254, 62, 1, 2, 3, 4, 5, 6, 7, 0, + 352, 550, 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, 558, + 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, + 524, 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, 0, 0, 554, 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, + 88, 594, 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, 607, 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, + 628, 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, 586, 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, 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, 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, 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, @@ -789,7 +842,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, 492, + 56, 0, 57, 0, 58, 59, 0, 18, 86, 665, 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, @@ -799,38 +852,33 @@ static const yytype_int16 yytable[] = 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, 554, 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, 88, 594, 0, 0, 0, - 0, 0, 0, 0, 18, 86, 586, 19, 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, 669, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, - 90, 91, 92, 26, 27, 93, 94, 0, 607, 95, + 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, 628, 38, 39, 40, 41, + 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, 648, 19, 0, 60, 20, 0, 0, + 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, + 50, 0, 0, 0, 51, 52, 53, 0, 0, 682, 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, - 652, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 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, @@ -841,87 +889,24 @@ 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, 663, 19, 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, + 41, 42, 43, 108, 0, 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, 667, 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, 679, 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, 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, + 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, 86, 0, 19, 0, 0, 20, 54, + 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, @@ -929,19 +914,19 @@ static const yytype_int16 yytable[] = 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, - 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, + 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, + 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, 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, 209, 60, 30, 31, 0, 32, + 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, @@ -949,40 +934,40 @@ 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, 319, 60, 30, 31, 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, -372, 256, 0, 257, - 0, 0, -372, 54, 0, -372, -372, -372, 0, 0, - -372, -372, 0, 0, 0, -372, -372, 0, 0, 0, + 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, 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, -372, 0, 21, 22, 23, 0, + 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, 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, -372, -372, 0, -372, 0, - -372, -372, 0, 0, 28, 29, 0, 0, -372, 30, + 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, 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, -375, 256, + 0, 257, 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, 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, + 0, 58, 59, 0, 0, -375, -375, 0, 337, 60, + -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, 18, + 0, 0, 19, 0, 0, 20, -375, 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, 0, 0, 0, 0, 0, 0, -375, -375, 0, + -375, 0, -375, -375, 0, 0, 28, 29, 0, 0, + -375, 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, @@ -990,7 +975,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, - 447, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 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, @@ -998,7 +983,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, 481, 60, 30, 31, 0, 32, 33, 34, 35, + 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, @@ -1006,154 +991,224 @@ 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, 0, 60, 30, 31, 0, 32, 33, 34, + 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, -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, 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, - -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, + 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, -374, 0, 0, -374, 0, + 0, -374, 54, 0, -374, -374, -374, 0, 0, -374, + -374, 0, 0, 0, -374, -374, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, + 0, 0, -374, -374, 0, 0, 313, -374, -374, 0, + -374, -374, -374, -374, -374, -374, 0, -374, -374, -374, + -374, -374, -374, 0, 0, 0, -374, 0, 0, -374, + -374, -374, -374, -374, -374, 0, 0, 0, -374, -374, + -374, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -374, 0, 0, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 226, 227, 228, 0, 0, + 0, 0, 0, 0, -374, -374, 0, -374, 229, -374, + -374, 0, 0, 0, 230, 231, 232, -374, 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, + -376, 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, -373, 0, 250, 251, 252, 253, 254, 0, 226, + 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, 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, + 0, 0, 232, 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, 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, 244, 245, 246, 247, 248, 226, - 227, 228, 0, 249, 0, 0, 250, 251, 252, 253, - 254, 0, 0, -373, 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 + 0, 0, 0, 0, 249, -376, 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, 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, 226, 227, 228, 0, 0, 0, 0, + 0, 0, 0, 239, 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, -376, 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, 9, 176, 420, 105, 329, 167, 11, 19, - 27, 177, 27, 110, 502, 18, 11, 20, 12, 22, - 22, 24, 25, 11, 0, 13, 29, 585, 49, 103, - 13, 34, 35, 54, 19, 16, 202, 137, 25, 49, - 89, 11, 52, 13, 11, 48, 49, 50, 51, 30, - 11, 11, 16, 13, 16, 22, 13, 59, 20, 11, - 519, 13, 24, 11, 18, 13, 20, 52, 22, 56, - 24, 25, 56, 27, 61, 11, 93, 61, 93, 86, - 34, 35, 11, 132, 13, 10, 22, 94, 95, 96, - 31, 13, 99, 100, 19, 49, 132, 51, 101, 10, - 11, 42, 13, 86, 16, 16, 132, 15, 20, 20, - 132, 669, 24, 24, 25, 23, 86, 14, 272, 273, - 112, 113, 276, 277, 583, 14, 18, 52, 138, 86, - 22, 15, 24, 25, 86, 60, 110, 132, 86, 93, - 150, 122, 34, 35, 132, 14, 57, 635, 165, 143, - 165, 132, 325, 612, 613, 315, 177, 49, 122, 51, - 122, 112, 14, 22, 174, 175, 176, 177, 132, 14, - 132, 11, 83, 13, 11, 196, 197, 187, 188, 16, - 183, 202, 641, 642, 643, 188, 283, 132, 25, 286, - 102, 11, 202, 13, 11, 14, 655, 94, 95, 96, - 97, 11, 187, 188, 132, 94, 95, 96, 97, 32, - 56, 165, 35, 36, 37, 38, 110, 111, 41, 56, - 56, 132, 14, 132, 61, 94, 95, 96, 97, 292, - 293, 11, 295, 296, 188, 94, 95, 96, 97, 96, - 97, 166, 94, 95, 96, 97, 14, 263, 22, 94, - 95, 96, 97, 39, 264, 180, 11, 267, 13, 22, - 676, 186, 187, 188, 129, 130, 22, 274, 275, 423, - 593, 94, 95, 96, 97, 94, 95, 96, 97, 94, - 95, 96, 97, 22, 287, 385, 211, 212, 213, 214, - 14, 216, 217, 218, 460, 86, 188, 33, 34, 70, - 254, 22, 94, 95, 96, 97, 22, 86, 131, 11, - 132, 332, 89, 131, 16, 325, 131, 22, 131, 273, - 13, 331, 22, 22, 56, 56, 94, 95, 96, 97, - 255, 256, 257, 258, 259, 260, 261, 262, 94, 95, - 96, 97, 416, 417, 56, 132, 331, 421, 44, 16, - 61, 505, 426, 427, 56, 509, 16, 15, 59, 61, - 20, 59, 535, 90, 24, 131, 291, 292, 293, 294, - 295, 296, 12, 94, 95, 96, 97, 13, 94, 95, - 96, 97, 25, 25, 25, 388, 25, 132, 313, 94, - 95, 96, 97, 18, 94, 95, 96, 97, 22, 56, - 11, 411, 419, 132, 419, 422, 331, 422, 99, 99, - 420, 131, 428, 10, 12, 132, 341, 571, 591, 16, - 12, 346, 429, 20, 590, 432, 12, 24, 582, 80, - 81, 12, 12, 30, 388, 94, 95, 96, 97, 460, - 16, 56, 131, 22, 454, 452, 131, 521, 458, 32, - 460, 131, 35, 36, 37, 38, 132, 611, 41, 11, - 11, 386, 387, 90, 418, 419, 117, 118, 422, 394, - 99, 12, 123, 483, 22, 126, 127, 128, 129, 130, - 15, 80, 131, 131, 22, 131, 493, 131, 495, 45, - 415, 501, 502, 88, 22, 420, 570, 22, 483, 424, - 425, 131, 17, 87, 578, 579, 13, 614, 131, 519, - 143, 94, 95, 96, 97, 676, 530, 424, 528, 118, - 530, 411, 445, 541, 123, 535, 446, 126, 127, 128, - 129, 130, 622, 452, 165, 609, 422, 94, 95, 96, - 97, 615, 467, 617, 618, 555, 620, 80, 81, 82, - 504, 94, 95, 96, 97, 419, -1, -1, 483, 566, - -1, 80, -1, 637, 94, 95, 96, 97, -1, 590, - 555, -1, -1, 583, 131, -1, 592, -1, -1, -1, - 590, 591, 115, 116, 117, 118, -1, -1, 131, 605, - 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, - -1, 131, 612, 613, 123, -1, 680, 126, 127, 128, - 129, 130, -1, -1, 630, 622, -1, -1, 634, -1, - -1, 546, 632, -1, -1, 635, 94, 95, 96, 97, - 555, 641, 642, 643, -1, -1, 94, 95, 96, 97, - -1, 21, -1, 23, -1, 655, 26, -1, 28, 29, - -1, 94, 95, 96, 97, 665, 610, 673, 661, -1, - -1, 41, -1, 131, 44, 619, 676, -1, 48, -1, - -1, 0, 1, 131, -1, 55, 56, 57, 58, 59, - -1, 10, 11, -1, 13, -1, -1, 16, 131, 614, - 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, 126, 127, 128, - 129, 130, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, 72, 3, 4, 5, 6, 7, 8, - 9, 80, 81, 82, -1, 165, 94, 95, 96, 97, - 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, 131, 123, -1, -1, 126, 127, 128, - 129, 130, -1, -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, + 10, 17, 9, 176, 105, 329, 49, 27, 110, 19, + 11, 54, 27, 177, 420, 167, 502, 18, 11, 20, + 12, 22, 11, 24, 25, 16, 16, 11, 29, 13, + 13, 585, 19, 34, 35, 11, 137, 0, 202, 49, + 30, 13, 52, 11, 22, 13, 22, 48, 49, 50, + 51, 18, 103, 20, 11, 22, 13, 24, 25, 89, + 27, 15, 11, 22, 13, 52, 11, 34, 35, 23, + 272, 273, 16, 93, 276, 277, 20, 22, 93, 86, + 24, 59, 49, 519, 51, 112, 113, 94, 95, 96, + 18, 14, 99, 100, 22, 10, 24, 25, 110, 111, + 101, 16, 132, 86, 16, 20, 34, 35, 20, 24, + 10, 11, 24, 13, 86, 30, 16, 671, 86, 13, + 20, 49, 31, 51, 24, 25, 93, 132, 138, 86, + 132, 122, 122, 42, 177, 94, 95, 96, 97, 132, + 150, 132, 132, 14, 132, 165, 10, 14, 132, 635, + 165, 143, 325, 196, 197, 19, 14, 57, 102, 202, + 14, 96, 97, 315, 174, 175, 176, 177, 14, 112, + 56, 94, 95, 96, 97, 61, 612, 187, 188, 110, + 616, 283, 183, 83, 286, 132, 16, 188, 52, 22, + 20, 11, 202, 13, 24, 11, 60, 13, 165, 14, + 187, 188, 11, 639, 13, 641, 11, 643, 644, 15, + 122, 14, 11, 32, 13, 11, 35, 36, 37, 38, + 132, 188, 41, 94, 95, 96, 97, 94, 95, 96, + 97, 11, 132, 13, 670, 22, 94, 95, 96, 97, + 94, 95, 96, 97, 129, 130, 56, 263, 94, 95, + 96, 97, 25, 22, 264, 33, 34, 267, 22, 56, + 188, 94, 95, 96, 97, 22, 86, 274, 275, 593, + 132, 132, 11, 679, 22, 94, 95, 96, 97, 94, + 95, 96, 97, 56, 385, 39, 287, 254, 61, 332, + 22, 94, 95, 96, 97, 32, 460, 22, 35, 36, + 37, 38, 166, 505, 41, 14, 273, 94, 95, 96, + 97, 86, 131, 89, 70, 325, 180, 131, 86, 521, + 132, 331, 186, 187, 188, 94, 95, 96, 97, 11, + 94, 95, 96, 97, 16, 80, 81, 94, 95, 96, + 97, 131, 22, 25, 331, 13, 56, 211, 212, 213, + 214, 56, 216, 217, 218, 56, 44, 94, 95, 96, + 97, 132, 535, 11, 61, 416, 417, 16, 16, 571, + 421, 15, 117, 118, 56, 426, 427, 579, 123, 61, + 582, 126, 127, 128, 129, 130, 59, 388, 59, 131, + 80, 255, 256, 257, 258, 259, 260, 261, 262, 419, + 12, 411, 422, 90, 419, 13, 25, 422, 56, 132, + 420, 25, 428, 61, 25, 80, 25, 460, 591, 18, + 99, 388, 429, 56, 22, 432, 590, 291, 292, 293, + 294, 295, 296, 123, 11, 637, 126, 127, 128, 129, + 130, 99, 12, 132, 454, 452, 131, 12, 458, 313, + 460, 418, 419, 118, 132, 422, 292, 293, 123, 295, + 296, 126, 127, 128, 129, 130, 12, 331, 94, 95, + 96, 97, 12, 483, 12, 131, 131, 341, 94, 95, + 96, 97, 346, 16, 131, 22, 493, 132, 495, 56, + 11, 501, 502, 99, 11, 90, 483, 94, 95, 96, + 97, 94, 95, 96, 97, 131, 21, 12, 23, 519, + 131, 26, 22, 28, 29, 131, 15, 88, 528, 570, + 530, 22, 386, 387, 131, 535, 41, 578, 131, 44, + 394, 131, 583, 48, 131, 22, 45, 504, 131, 22, + 55, 56, 57, 58, 59, 555, 131, 590, 80, 81, + 82, 415, 94, 95, 96, 97, 420, 17, 609, 566, + 424, 425, 613, 131, 615, 87, 617, 618, 555, 620, + 94, 95, 96, 97, 13, 614, 592, 143, 530, 424, + 590, 591, 114, 115, 116, 117, 118, 679, 411, 605, + 445, 123, 452, 446, 126, 127, 128, 129, 130, 541, + 622, 165, 612, 467, 422, 656, 616, 131, 94, 95, + 96, 97, 419, -1, 630, 622, -1, -1, 634, 483, + -1, -1, 632, -1, -1, 635, -1, -1, -1, 639, + -1, 641, 683, 643, 644, 126, 127, 128, 129, 130, + 80, 81, 82, 610, -1, 131, -1, -1, -1, -1, + 165, -1, 619, -1, -1, -1, -1, 667, -1, 675, + 670, -1, 663, -1, 94, 95, 96, 97, -1, 679, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + -1, -1, 546, 123, -1, -1, 126, 127, 128, 129, + 130, 555, 3, 4, 5, 6, 7, 8, 9, -1, + 215, 131, 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, + 614, 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, -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, 536, -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, 568, 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, + 595, 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, 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, @@ -1174,38 +1229,33 @@ static const yytype_int16 yycheck[] = 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, 536, -1, -1, -1, - -1, -1, -1, -1, 10, 11, 12, 13, -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, 568, 35, + 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, 595, 62, 63, 64, 65, + 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, + -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, + 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, - 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, + -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, @@ -1216,87 +1266,24 @@ 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, 12, 13, -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, + 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, -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, 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, + 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, 13, -1, -1, 16, 98, + 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, @@ -1304,19 +1291,19 @@ 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, - 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 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, + -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, + -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, @@ -1324,11 +1311,11 @@ static const yytype_int16 yycheck[] = -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, - 85, -1, -1, -1, -1, -1, 10, 11, -1, 13, + 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, @@ -1340,11 +1327,11 @@ 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, 10, -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, @@ -1356,7 +1343,7 @@ static const yytype_int16 yycheck[] = -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, @@ -1381,7 +1368,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, -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, @@ -1389,53 +1376,73 @@ static const yytype_int16 yycheck[] = 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, - -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, + -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, -1, -1, 101, -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, 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, + -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, 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, -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 + -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, -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, 80, 81, 82, -1, -1, -1, -1, + -1, -1, -1, 109, 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 @@ -1443,74 +1450,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, 235, 236, 237, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 251, 257, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 11, 180, 1, 22, + 132, 184, 238, 239, 240, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 254, 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, 235, 254, 69, 191, 192, 193, 181, 189, 228, - 229, 189, 56, 61, 180, 266, 274, 257, 274, 249, - 274, 249, 274, 274, 249, 122, 132, 252, 266, 267, - 268, 249, 180, 249, 209, 209, 210, 274, 274, 250, - 13, 132, 249, 209, 249, 132, 132, 89, 132, 180, - 249, 56, 181, 236, 256, 266, 274, 180, 274, 257, - 56, 61, 212, 236, 249, 249, 249, 249, 249, 131, - 235, 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, 238, 257, 69, 194, 195, 196, 184, 192, 231, + 232, 192, 56, 61, 183, 269, 277, 260, 277, 252, + 277, 252, 277, 277, 252, 122, 132, 255, 269, 270, + 271, 252, 183, 252, 212, 212, 213, 277, 277, 253, + 13, 132, 252, 212, 252, 132, 132, 89, 132, 183, + 252, 56, 184, 239, 259, 269, 277, 183, 277, 260, + 56, 61, 215, 239, 252, 252, 252, 252, 252, 131, + 238, 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, 253, 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, 218, 219, 220, 221, 223, - 224, 225, 14, 132, 249, 252, 266, 267, 268, 131, - 235, 86, 215, 70, 181, 213, 86, 181, 214, 214, - 256, 132, 89, 235, 131, 180, 131, 131, 235, 257, - 257, 274, 236, 236, 22, 256, 13, 131, 235, 235, - 235, 235, 249, 235, 235, 131, 235, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 10, 11, 13, 16, 20, - 24, 25, 57, 83, 132, 239, 266, 131, 235, 235, - 235, 235, 235, 235, 235, 235, 189, 56, 181, 207, - 56, 56, 181, 215, 216, 132, 178, 178, 30, 122, - 132, 178, 264, 266, 183, 183, 178, 178, 185, 44, - 174, 208, 164, 208, 180, 196, 235, 196, 196, 204, - 235, 196, 196, 61, 217, 16, 15, 131, 235, 215, - 131, 59, 214, 59, 183, 233, 233, 257, 236, 14, - 238, 131, 90, 131, 235, 12, 235, 13, 22, 14, - 131, 102, 25, 212, 235, 235, 25, 25, 25, 25, - 25, 131, 235, 132, 131, 22, 14, 22, 14, 22, - 14, 22, 12, 18, 182, 11, 22, 216, 99, 205, - 235, 184, 184, 122, 132, 259, 266, 30, 262, 263, - 265, 266, 267, 268, 181, 197, 202, 206, 235, 184, - 262, 178, 204, 203, 235, 184, 184, 189, 183, 56, - 168, 22, 183, 230, 231, 166, 99, 217, 223, 131, - 231, 132, 181, 226, 227, 131, 23, 181, 258, 256, - 131, 14, 235, 12, 249, 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, 249, 99, 228, 11, 235, 90, - 14, 257, 12, 131, 22, 162, 183, 249, 184, 178, - 15, 131, 184, 184, 152, 178, 199, 201, 201, 187, - 170, 256, 214, 189, 22, 232, 233, 222, 249, 131, - 234, 131, 88, 189, 145, 184, 266, 178, 199, 199, - 203, 184, 184, 184, 266, 184, 22, 230, 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, 256, 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, 221, 222, 223, 224, 226, + 227, 228, 14, 132, 252, 255, 269, 270, 271, 131, + 238, 86, 218, 70, 184, 216, 86, 184, 217, 217, + 259, 132, 89, 238, 131, 183, 131, 131, 238, 260, + 260, 277, 239, 239, 22, 259, 13, 131, 238, 238, + 238, 238, 252, 238, 238, 131, 238, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 242, 269, 131, 238, 238, + 238, 238, 238, 238, 238, 238, 192, 56, 184, 210, + 56, 56, 184, 218, 219, 132, 181, 181, 30, 122, + 132, 181, 267, 269, 186, 186, 181, 181, 188, 44, + 177, 211, 167, 211, 183, 199, 238, 199, 199, 207, + 238, 199, 199, 61, 220, 16, 15, 131, 238, 218, + 131, 59, 217, 59, 186, 236, 236, 260, 239, 14, + 241, 131, 90, 131, 238, 12, 238, 13, 22, 14, + 131, 102, 25, 215, 238, 238, 25, 25, 25, 25, + 25, 131, 238, 132, 131, 22, 14, 22, 14, 22, + 14, 22, 12, 18, 185, 11, 22, 219, 99, 208, + 238, 187, 187, 122, 132, 262, 269, 30, 265, 266, + 268, 269, 270, 271, 184, 200, 205, 209, 238, 187, + 265, 156, 207, 206, 238, 187, 187, 192, 186, 56, + 171, 22, 186, 233, 234, 169, 99, 220, 226, 131, + 234, 132, 184, 229, 230, 131, 23, 184, 261, 259, + 131, 14, 238, 12, 252, 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, 252, 99, 231, 11, 238, 90, + 14, 260, 12, 131, 22, 165, 186, 252, 187, 181, + 15, 155, 187, 181, 152, 181, 187, 204, 204, 190, + 173, 259, 217, 192, 22, 235, 236, 225, 252, 131, + 237, 131, 88, 192, 145, 187, 269, 131, 202, 187, + 206, 187, 202, 187, 187, 269, 187, 22, 233, 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. */ @@ -1519,41 +1526,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, 219, 219, 219, 220, 220, 221, 221, 222, - 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, - 227, 229, 228, 230, 230, 231, 232, 232, 234, 233, - 235, 235, 235, 235, 235, 236, 236, 236, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 238, 237, 239, 239, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 242, 242, 242, 242, 242, 243, 243, 244, 244, 244, - 244, 245, 245, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, - 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 250, 249, 249, 249, 249, 251, 251, 251, 251, 252, - 252, 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, 222, 222, 222, 223, 223, + 224, 224, 225, 225, 226, 226, 227, 227, 227, 228, + 228, 229, 229, 230, 232, 231, 233, 233, 234, 235, + 235, 237, 236, 238, 238, 238, 238, 238, 239, 239, + 239, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 241, 240, 242, 242, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, + 247, 247, 247, 247, 248, 248, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, + 250, 250, 250, 251, 251, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 253, 252, 252, 252, 252, 254, 254, + 254, 254, 255, 255, 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. */ @@ -1562,41 +1569,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, 1, 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, 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, 1, + 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, + 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 { @@ -1639,8 +1646,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 +1676,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * 1b87a1956b2ee1be7e66233567173bb75b8b7b3ce44befab9dddb2b213390c5a perly.y + * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index be2b74858235..1d900eeb3f75 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 69dbd258671c9a24e168b61d4097e2773a5daf6c 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 | 1222 +++++++++++++++++------------------ perly.h | 2 +- perly.tab | 1859 ++++++++++++++++++++++++++--------------------------- perly.y | 108 ++-- 4 files changed, 1566 insertions(+), 1625 deletions(-) diff --git a/perly.act b/perly.act index d700d9efe242..9e767613396a 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 optattrlist 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 optattrlist 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 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 62: /* sigsub_or_method_named: KW_SUB_named_sig */ -#line 757 "perly.y" + 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: /* attrlist: COLONATTR THING */ -#line 1057 "perly.y" + case 144: /* attrlist: COLONATTR THING */ +#line 1033 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 148: /* attrlist: COLONATTR */ -#line 1059 "perly.y" + case 145: /* attrlist: COLONATTR */ +#line 1035 "perly.y" { (yyval.opval) = NULL; } break; - case 151: /* sigvar: %empty */ -#line 1074 "perly.y" + case 148: /* sigvar: %empty */ +#line 1050 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 152: /* sigvar: PRIVATEREF */ -#line 1076 "perly.y" + case 149: /* sigvar: PRIVATEREF */ +#line 1052 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 153: /* sigslurpsigil: PERLY_SNAIL */ -#line 1081 "perly.y" + case 150: /* sigslurpsigil: PERLY_SNAIL */ +#line 1057 "perly.y" { (yyval.ival) = '@'; } break; - case 154: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1083 "perly.y" + case 151: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1059 "perly.y" { (yyval.ival) = '%'; } break; - case 155: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1087 "perly.y" + case 152: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1063 "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 156: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1092 "perly.y" + case 153: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1068 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 157: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1096 "perly.y" + case 154: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1072 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 158: /* optcolon: %empty */ -#line 1102 "perly.y" + case 155: /* optcolon: %empty */ +#line 1078 "perly.y" { (yyval.ival) = 0; } break; - case 159: /* optcolon: PERLY_COLON */ -#line 1104 "perly.y" + case 156: /* optcolon: PERLY_COLON */ +#line 1080 "perly.y" { (yyval.ival) = ':'; } break; - case 160: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1110 "perly.y" + case 157: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1086 "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 161: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1120 "perly.y" + case 158: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1096 "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 162: /* optsigscalardefault: %empty */ -#line 1133 "perly.y" + case 159: /* optsigscalardefault: %empty */ +#line 1109 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 164: /* sigelem: sigscalarelem */ -#line 1140 "perly.y" + case 161: /* sigelem: sigscalarelem */ +#line 1116 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 165: /* sigelem: sigslurpelem */ -#line 1142 "perly.y" + case 162: /* sigelem: sigslurpelem */ +#line 1118 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 173: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1168 "perly.y" + case 170: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1144 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 174: /* $@23: %empty */ -#line 1171 "perly.y" + case 171: /* $@19: %empty */ +#line 1147 "perly.y" { ENTER; subsignature_start(); @@ -1058,8 +1034,8 @@ case 2: /* @1: %empty */ break; - case 175: /* subsigguts: $@23 optsiglist */ -#line 1177 "perly.y" + case 172: /* subsigguts: $@19 optsiglist */ +#line 1153 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1086,14 +1062,14 @@ case 2: /* @1: %empty */ break; - case 177: /* optsubbody: PERLY_SEMICOLON */ -#line 1205 "perly.y" + case 174: /* optsubbody: PERLY_SEMICOLON */ +#line 1181 "perly.y" { (yyval.opval) = NULL; } break; - case 178: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1211 "perly.y" + case 175: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1187 "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 180: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1223 "perly.y" + case 177: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1199 "perly.y" { (yyval.opval) = NULL; } break; - case 181: /* $@24: %empty */ -#line 1228 "perly.y" + case 178: /* $@20: %empty */ +#line 1204 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 182: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@24 stmtseq PERLY_BRACE_CLOSE */ -#line 1230 "perly.y" + case 179: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@20 stmtseq PERLY_BRACE_CLOSE */ +#line 1206 "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 183: /* expr: expr ANDOP expr */ -#line 1241 "perly.y" + case 180: /* expr: expr ANDOP expr */ +#line 1217 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 184: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1243 "perly.y" + case 181: /* expr: expr PLUGIN_LOGICAL_AND_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 185: /* expr: expr OROP expr */ -#line 1245 "perly.y" + case 182: /* expr: expr OROP expr */ +#line 1221 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 186: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1247 "perly.y" + case 183: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1223 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 188: /* listexpr: listexpr PERLY_COMMA */ -#line 1253 "perly.y" + case 185: /* listexpr: listexpr PERLY_COMMA */ +#line 1229 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 189: /* listexpr: listexpr PERLY_COMMA term */ -#line 1255 "perly.y" + case 186: /* listexpr: listexpr PERLY_COMMA term */ +#line 1231 "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 191: /* listop: LSTOP indirob listexpr */ -#line 1264 "perly.y" + case 188: /* listop: LSTOP indirob listexpr */ +#line 1240 "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 192: /* listop: BLKLSTOP block listexpr */ -#line 1268 "perly.y" + case 189: /* listop: BLKLSTOP block listexpr */ +#line 1244 "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 193: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1272 "perly.y" + case 190: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1248 "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 194: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1276 "perly.y" + case 191: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1252 "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 195: /* listop: term ARROW methodname */ -#line 1282 "perly.y" + case 192: /* listop: term ARROW methodname */ +#line 1258 "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 196: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1287 "perly.y" + case 193: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1263 "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 197: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1293 "perly.y" + case 194: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1269 "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 198: /* listop: METHCALL0 indirob optlistexpr */ -#line 1299 "perly.y" + case 195: /* listop: METHCALL0 indirob optlistexpr */ +#line 1275 "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 199: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1305 "perly.y" + case 196: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1281 "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 200: /* listop: LSTOP optlistexpr */ -#line 1311 "perly.y" + case 197: /* listop: LSTOP optlistexpr */ +#line 1287 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 201: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1313 "perly.y" + case 198: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1289 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 202: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1315 "perly.y" + case 199: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1291 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 203: /* @25: %empty */ -#line 1317 "perly.y" + case 200: /* @21: %empty */ +#line 1293 "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 204: /* listop: LSTOPSUB startanonsub block @25 optlistexpr */ -#line 1323 "perly.y" + case 201: /* listop: LSTOPSUB startanonsub block @21 optlistexpr */ +#line 1299 "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 207: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1338 "perly.y" + case 204: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1314 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 208: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1340 "perly.y" + case 205: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1316 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 209: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1343 "perly.y" + case 206: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1319 "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 210: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1348 "perly.y" + case 207: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1324 "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 211: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1353 "perly.y" + case 208: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1329 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 212: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1356 "perly.y" + case 209: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1332 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 213: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1360 "perly.y" + case 210: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1336 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 214: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1364 "perly.y" + case 211: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1340 "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 215: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1370 "perly.y" + case 212: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1346 "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 216: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1378 "perly.y" + case 213: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1354 "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 217: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1385 "perly.y" + case 214: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1361 "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 218: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1391 "perly.y" + case 215: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1367 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 219: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1393 "perly.y" + case 216: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1369 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 220: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1395 "perly.y" + case 217: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1371 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 221: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1400 "perly.y" + case 218: /* termbinop: term PLUGIN_HIGH_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 ASSIGNOP term */ -#line 1402 "perly.y" + case 219: /* termbinop: term ASSIGNOP term */ +#line 1378 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 223: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1404 "perly.y" + case 220: /* termbinop: term PLUGIN_ASSIGN_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 POWOP term */ -#line 1406 "perly.y" + case 221: /* termbinop: term POWOP term */ +#line 1382 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 225: /* termbinop: term PLUGIN_POW_OP term */ -#line 1408 "perly.y" + case 222: /* termbinop: term PLUGIN_POW_OP term */ +#line 1384 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 226: /* termbinop: term MULOP term */ -#line 1410 "perly.y" + case 223: /* termbinop: term MULOP term */ +#line 1386 "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 227: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1415 "perly.y" + case 224: /* termbinop: term PLUGIN_MUL_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 ADDOP term */ -#line 1417 "perly.y" + case 225: /* termbinop: term ADDOP 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: term PLUGIN_ADD_OP term */ -#line 1419 "perly.y" + case 226: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1395 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 230: /* termbinop: term SHIFTOP term */ -#line 1421 "perly.y" + case 227: /* termbinop: term SHIFTOP term */ +#line 1397 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 231: /* termbinop: termrelop */ -#line 1423 "perly.y" + case 228: /* termbinop: termrelop */ +#line 1399 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 232: /* termbinop: termeqop */ -#line 1425 "perly.y" + case 229: /* termbinop: termeqop */ +#line 1401 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 233: /* termbinop: term BITANDOP term */ -#line 1427 "perly.y" + case 230: /* termbinop: term BITANDOP term */ +#line 1403 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 234: /* termbinop: term BITOROP term */ -#line 1429 "perly.y" + case 231: /* termbinop: term BITOROP term */ +#line 1405 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 235: /* termbinop: term DOTDOT term */ -#line 1431 "perly.y" + case 232: /* termbinop: term DOTDOT term */ +#line 1407 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 236: /* termbinop: term ANDAND term */ -#line 1433 "perly.y" + case 233: /* termbinop: term ANDAND term */ +#line 1409 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 237: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1435 "perly.y" + case 234: /* termbinop: term PLUGIN_LOGICAL_AND_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 OROR term */ -#line 1437 "perly.y" + case 235: /* termbinop: term OROR term */ +#line 1413 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 239: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1439 "perly.y" + case 236: /* termbinop: term PLUGIN_LOGICAL_OR_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 240: /* termbinop: term DORDOR term */ -#line 1441 "perly.y" + case 237: /* termbinop: term DORDOR term */ +#line 1417 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 241: /* termbinop: term MATCHOP term */ -#line 1443 "perly.y" + case 238: /* termbinop: term MATCHOP term */ +#line 1419 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 242: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1445 "perly.y" + case 239: /* termbinop: term PLUGIN_LOW_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 243: /* termrelop: relopchain */ -#line 1449 "perly.y" + case 240: /* termrelop: relopchain */ +#line 1425 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 244: /* termrelop: term NCRELOP term */ -#line 1451 "perly.y" + case 241: /* termrelop: term NCRELOP 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 245: /* termrelop: termrelop NCRELOP */ -#line 1453 "perly.y" + case 242: /* termrelop: termrelop NCRELOP */ +#line 1429 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 246: /* termrelop: termrelop CHRELOP */ -#line 1455 "perly.y" + case 243: /* termrelop: termrelop CHRELOP */ +#line 1431 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 247: /* termrelop: term PLUGIN_REL_OP term */ -#line 1457 "perly.y" + case 244: /* termrelop: term PLUGIN_REL_OP term */ +#line 1433 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 248: /* relopchain: term CHRELOP term */ -#line 1461 "perly.y" + case 245: /* relopchain: term CHRELOP term */ +#line 1437 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 249: /* relopchain: relopchain CHRELOP term */ -#line 1463 "perly.y" + case 246: /* relopchain: relopchain CHRELOP term */ +#line 1439 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 250: /* termeqop: eqopchain */ -#line 1467 "perly.y" + case 247: /* termeqop: eqopchain */ +#line 1443 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 251: /* termeqop: term NCEQOP term */ -#line 1469 "perly.y" + case 248: /* termeqop: term NCEQOP 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 252: /* termeqop: termeqop NCEQOP */ -#line 1471 "perly.y" + case 249: /* termeqop: termeqop NCEQOP */ +#line 1447 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 253: /* termeqop: termeqop CHEQOP */ -#line 1473 "perly.y" + case 250: /* termeqop: termeqop CHEQOP */ +#line 1449 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 254: /* eqopchain: term CHEQOP term */ -#line 1477 "perly.y" + case 251: /* eqopchain: term CHEQOP term */ +#line 1453 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 255: /* eqopchain: eqopchain CHEQOP term */ -#line 1479 "perly.y" + case 252: /* eqopchain: eqopchain CHEQOP term */ +#line 1455 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 256: /* termunop: PERLY_MINUS term */ -#line 1484 "perly.y" + case 253: /* termunop: PERLY_MINUS term */ +#line 1460 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 257: /* termunop: PERLY_PLUS term */ -#line 1486 "perly.y" + case 254: /* termunop: PERLY_PLUS term */ +#line 1462 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 258: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1489 "perly.y" + case 255: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1465 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 259: /* termunop: PERLY_TILDE term */ -#line 1491 "perly.y" + case 256: /* termunop: PERLY_TILDE term */ +#line 1467 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 260: /* termunop: term POSTINC */ -#line 1493 "perly.y" + case 257: /* termunop: term POSTINC */ +#line 1469 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 261: /* termunop: term POSTDEC */ -#line 1496 "perly.y" + case 258: /* termunop: term POSTDEC */ +#line 1472 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 262: /* termunop: term POSTJOIN */ -#line 1499 "perly.y" + case 259: /* termunop: term POSTJOIN */ +#line 1475 "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 263: /* termunop: PREINC term */ -#line 1510 "perly.y" + case 260: /* termunop: PREINC term */ +#line 1486 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 264: /* termunop: PREDEC term */ -#line 1513 "perly.y" + case 261: /* termunop: PREDEC term */ +#line 1489 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 265: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1521 "perly.y" + case 262: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1497 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 266: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1523 "perly.y" + case 263: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1499 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 267: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1525 "perly.y" + case 264: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1501 "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 268: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1528 "perly.y" + case 265: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1504 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 269: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1530 "perly.y" + case 266: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1506 "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 270: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1533 "perly.y" + case 267: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1509 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 271: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1535 "perly.y" + case 268: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1511 "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 272: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1540 "perly.y" + case 269: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1516 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 273: /* termdo: KW_DO term */ -#line 1545 "perly.y" + case 270: /* termdo: KW_DO term */ +#line 1521 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 274: /* termdo: KW_DO block */ -#line 1547 "perly.y" + case 271: /* termdo: KW_DO block */ +#line 1523 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 279: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1555 "perly.y" + case 276: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1531 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 280: /* term: REFGEN term */ -#line 1557 "perly.y" + case 277: /* term: REFGEN term */ +#line 1533 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 281: /* term: myattrterm */ -#line 1559 "perly.y" + case 278: /* term: myattrterm */ +#line 1535 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: KW_LOCAL term */ -#line 1561 "perly.y" + case 279: /* term: KW_LOCAL term */ +#line 1537 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 283: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1563 "perly.y" + case 280: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1539 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 284: /* term: QWLIST */ -#line 1565 "perly.y" + case 281: /* term: QWLIST */ +#line 1541 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 285: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1567 "perly.y" + case 282: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1543 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 286: /* term: scalar */ -#line 1569 "perly.y" + case 283: /* term: scalar */ +#line 1545 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 287: /* term: star */ -#line 1571 "perly.y" + case 284: /* term: star */ +#line 1547 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 288: /* term: hsh */ -#line 1573 "perly.y" + case 285: /* term: hsh */ +#line 1549 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 289: /* term: ary */ -#line 1575 "perly.y" + case 286: /* term: ary */ +#line 1551 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 290: /* term: arylen */ -#line 1577 "perly.y" + case 287: /* term: arylen */ +#line 1553 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 291: /* term: subscripted */ -#line 1579 "perly.y" + case 288: /* term: subscripted */ +#line 1555 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 292: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1581 "perly.y" + case 289: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1557 "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 293: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1591 "perly.y" + case 290: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1567 "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 294: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1601 "perly.y" + case 291: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1577 "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 295: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1611 "perly.y" + case 292: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1587 "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 296: /* term: THING */ -#line 1621 "perly.y" + case 293: /* term: THING */ +#line 1597 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 297: /* term: amper */ -#line 1623 "perly.y" + case 294: /* term: amper */ +#line 1599 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 298: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1625 "perly.y" + case 295: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1601 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 299: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1628 "perly.y" + case 296: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1604 "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 300: /* term: NOAMP subname optlistexpr */ -#line 1633 "perly.y" + case 297: /* term: NOAMP subname optlistexpr */ +#line 1609 "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 301: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1637 "perly.y" + case 298: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1613 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 302: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1639 "perly.y" + case 299: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1615 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 303: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1641 "perly.y" + case 300: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1617 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 304: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1643 "perly.y" + case 301: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1619 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 305: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1646 "perly.y" + case 302: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1622 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 306: /* term: LOOPEX */ -#line 1648 "perly.y" + case 303: /* term: LOOPEX */ +#line 1624 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 307: /* term: LOOPEX term */ -#line 1651 "perly.y" + case 304: /* term: LOOPEX term */ +#line 1627 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 308: /* term: NOTOP listexpr */ -#line 1653 "perly.y" + case 305: /* term: NOTOP listexpr */ +#line 1629 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 309: /* term: UNIOP */ -#line 1655 "perly.y" + case 306: /* term: UNIOP */ +#line 1631 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 310: /* term: UNIOP block */ -#line 1657 "perly.y" + case 307: /* term: UNIOP block */ +#line 1633 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 311: /* term: UNIOP term */ -#line 1659 "perly.y" + case 308: /* term: UNIOP term */ +#line 1635 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 312: /* term: KW_REQUIRE */ -#line 1661 "perly.y" + case 309: /* term: KW_REQUIRE */ +#line 1637 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 313: /* term: KW_REQUIRE term */ -#line 1663 "perly.y" + case 310: /* term: KW_REQUIRE term */ +#line 1639 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 314: /* term: UNIOPSUB */ -#line 1665 "perly.y" + case 311: /* term: UNIOPSUB */ +#line 1641 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 315: /* term: UNIOPSUB term */ -#line 1667 "perly.y" + case 312: /* term: UNIOPSUB term */ +#line 1643 "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 316: /* term: FUNC0 */ -#line 1670 "perly.y" + case 313: /* term: FUNC0 */ +#line 1646 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 317: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1672 "perly.y" + case 314: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1648 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 318: /* term: FUNC0OP */ -#line 1674 "perly.y" + case 315: /* term: FUNC0OP */ +#line 1650 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 319: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1676 "perly.y" + case 316: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1652 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 320: /* term: FUNC0SUB */ -#line 1678 "perly.y" + case 317: /* term: FUNC0SUB */ +#line 1654 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 321: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1680 "perly.y" + case 318: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1656 "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 322: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1684 "perly.y" + case 319: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1660 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 323: /* @26: %empty */ -#line 1686 "perly.y" + case 320: /* @22: %empty */ +#line 1662 "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 324: /* term: PMFUNC @26 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1697 "perly.y" + case 321: /* term: PMFUNC @22 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1673 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 328: /* myattrterm: KW_MY myterm attrlist */ -#line 1706 "perly.y" + case 325: /* myattrterm: KW_MY myterm attrlist */ +#line 1682 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 329: /* myattrterm: KW_MY myterm */ -#line 1708 "perly.y" + case 326: /* myattrterm: KW_MY myterm */ +#line 1684 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 330: /* myattrterm: KW_MY REFGEN myterm attrlist */ -#line 1710 "perly.y" + case 327: /* myattrterm: KW_MY REFGEN myterm attrlist */ +#line 1686 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 331: /* myattrterm: KW_MY REFGEN term */ -#line 1712 "perly.y" + case 328: /* myattrterm: KW_MY REFGEN term */ +#line 1688 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 332: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1717 "perly.y" + case 329: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1693 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 333: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1719 "perly.y" + case 330: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1695 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 334: /* myterm: scalar */ -#line 1722 "perly.y" + case 331: /* myterm: scalar */ +#line 1698 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 335: /* myterm: hsh */ -#line 1724 "perly.y" + case 332: /* myterm: hsh */ +#line 1700 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 336: /* myterm: ary */ -#line 1726 "perly.y" + case 333: /* myterm: ary */ +#line 1702 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 337: /* fieldvar: scalar */ -#line 1731 "perly.y" + case 334: /* fieldvar: scalar */ +#line 1707 "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 338: /* fieldvar: hsh */ -#line 1736 "perly.y" + case 335: /* fieldvar: hsh */ +#line 1712 "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 339: /* fieldvar: ary */ -#line 1741 "perly.y" + case 336: /* fieldvar: ary */ +#line 1717 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2152,8 +2128,8 @@ case 2: /* @1: %empty */ break; - case 340: /* fielddecl: KW_FIELD fieldvar optattrlist */ -#line 1749 "perly.y" + case 337: /* fielddecl: KW_FIELD fieldvar optattrlist */ +#line 1725 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2163,8 +2139,8 @@ case 2: /* @1: %empty */ break; - case 341: /* $@27: %empty */ -#line 1756 "perly.y" + case 338: /* $@23: %empty */ +#line 1732 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2175,8 +2151,8 @@ case 2: /* @1: %empty */ break; - case 342: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@27 term */ -#line 1764 "perly.y" + case 339: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@23 term */ +#line 1740 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2185,122 +2161,122 @@ case 2: /* @1: %empty */ break; - case 348: /* optrepl: PERLY_SLASH expr */ -#line 1784 "perly.y" + case 345: /* optrepl: PERLY_SLASH expr */ +#line 1760 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 349: /* my_scalar: scalar */ -#line 1790 "perly.y" + case 346: /* my_scalar: scalar */ +#line 1766 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 350: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1795 "perly.y" + case 347: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1771 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 351: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1797 "perly.y" + case 348: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1773 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 353: /* my_list_of_scalars: list_of_scalars */ -#line 1804 "perly.y" + case 350: /* my_list_of_scalars: list_of_scalars */ +#line 1780 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 361: /* amper: PERLY_AMPERSAND indirob */ -#line 1821 "perly.y" + case 358: /* amper: PERLY_AMPERSAND indirob */ +#line 1797 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 362: /* scalar: PERLY_DOLLAR indirob */ -#line 1825 "perly.y" + case 359: /* scalar: PERLY_DOLLAR indirob */ +#line 1801 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 363: /* ary: PERLY_SNAIL indirob */ -#line 1829 "perly.y" + case 360: /* ary: PERLY_SNAIL indirob */ +#line 1805 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 364: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1835 "perly.y" + case 361: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1811 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 365: /* arylen: DOLSHARP indirob */ -#line 1841 "perly.y" + case 362: /* arylen: DOLSHARP indirob */ +#line 1817 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 366: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1843 "perly.y" + case 363: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1819 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 367: /* star: PERLY_STAR indirob */ -#line 1847 "perly.y" + case 364: /* star: PERLY_STAR indirob */ +#line 1823 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 369: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1852 "perly.y" + case 366: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1828 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 371: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1857 "perly.y" + case 368: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1833 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 373: /* gelem: term ARROW PERLY_STAR */ -#line 1862 "perly.y" + case 370: /* gelem: term ARROW PERLY_STAR */ +#line 1838 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 374: /* indirob: BAREWORD */ -#line 1867 "perly.y" + case 371: /* indirob: BAREWORD */ +#line 1843 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 375: /* indirob: scalar */ -#line 1869 "perly.y" + case 372: /* indirob: scalar */ +#line 1845 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 376: /* indirob: block */ -#line 1871 "perly.y" + case 373: /* indirob: block */ +#line 1847 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 377: /* indirob: PRIVATEREF */ -#line 1874 "perly.y" + case 374: /* indirob: PRIVATEREF */ +#line 1850 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2312,6 +2288,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y + * 79b790bd3089e5926f207bbe6d99198f140aaaf5a5a4bd4a6318360abb98a430 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 64a461e9e1b2..4e0985949f49 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y + * 79b790bd3089e5926f207bbe6d99198f140aaaf5a5a4bd4a6318360abb98a430 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index d4bc9fd91f8f..4b1bf05d5a24 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_attrlist = 218, /* attrlist */ - YYSYMBOL_optattrlist = 219, /* optattrlist */ - YYSYMBOL_sigvar = 220, /* sigvar */ - YYSYMBOL_sigslurpsigil = 221, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 222, /* sigslurpelem */ - YYSYMBOL_optcolon = 223, /* optcolon */ - YYSYMBOL_sigscalarelem = 224, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 225, /* optsigscalardefault */ - YYSYMBOL_sigelem = 226, /* sigelem */ - YYSYMBOL_siglist = 227, /* siglist */ - YYSYMBOL_optsiglist = 228, /* optsiglist */ - YYSYMBOL_optsubsignature = 229, /* optsubsignature */ - YYSYMBOL_subsignature = 230, /* subsignature */ - YYSYMBOL_subsigguts = 231, /* subsigguts */ - YYSYMBOL_232_23 = 232, /* $@23 */ - YYSYMBOL_optsubbody = 233, /* optsubbody */ - YYSYMBOL_subbody = 234, /* subbody */ - YYSYMBOL_optsigsubbody = 235, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 236, /* sigsubbody */ - YYSYMBOL_237_24 = 237, /* $@24 */ - YYSYMBOL_expr = 238, /* expr */ - YYSYMBOL_listexpr = 239, /* listexpr */ - YYSYMBOL_listop = 240, /* listop */ - YYSYMBOL_241_25 = 241, /* @25 */ - YYSYMBOL_methodname = 242, /* methodname */ - YYSYMBOL_subscripted = 243, /* subscripted */ - YYSYMBOL_termbinop = 244, /* termbinop */ - YYSYMBOL_termrelop = 245, /* termrelop */ - YYSYMBOL_relopchain = 246, /* relopchain */ - YYSYMBOL_termeqop = 247, /* termeqop */ - YYSYMBOL_eqopchain = 248, /* eqopchain */ - YYSYMBOL_termunop = 249, /* termunop */ - YYSYMBOL_anonymous = 250, /* anonymous */ - YYSYMBOL_termdo = 251, /* termdo */ - YYSYMBOL_term = 252, /* term */ - YYSYMBOL_253_26 = 253, /* @26 */ - YYSYMBOL_myattrterm = 254, /* myattrterm */ - YYSYMBOL_myterm = 255, /* myterm */ - YYSYMBOL_fieldvar = 256, /* fieldvar */ - 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_attrlist = 215, /* attrlist */ + YYSYMBOL_optattrlist = 216, /* optattrlist */ + YYSYMBOL_sigvar = 217, /* sigvar */ + YYSYMBOL_sigslurpsigil = 218, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 219, /* sigslurpelem */ + YYSYMBOL_optcolon = 220, /* optcolon */ + YYSYMBOL_sigscalarelem = 221, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 222, /* optsigscalardefault */ + YYSYMBOL_sigelem = 223, /* sigelem */ + YYSYMBOL_siglist = 224, /* siglist */ + YYSYMBOL_optsiglist = 225, /* optsiglist */ + YYSYMBOL_optsubsignature = 226, /* optsubsignature */ + YYSYMBOL_subsignature = 227, /* subsignature */ + YYSYMBOL_subsigguts = 228, /* subsigguts */ + YYSYMBOL_229_19 = 229, /* $@19 */ + YYSYMBOL_optsubbody = 230, /* optsubbody */ + YYSYMBOL_subbody = 231, /* subbody */ + YYSYMBOL_optsigsubbody = 232, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 233, /* sigsubbody */ + YYSYMBOL_234_20 = 234, /* $@20 */ + YYSYMBOL_expr = 235, /* expr */ + YYSYMBOL_listexpr = 236, /* listexpr */ + YYSYMBOL_listop = 237, /* listop */ + YYSYMBOL_238_21 = 238, /* @21 */ + YYSYMBOL_methodname = 239, /* methodname */ + YYSYMBOL_subscripted = 240, /* subscripted */ + YYSYMBOL_termbinop = 241, /* termbinop */ + YYSYMBOL_termrelop = 242, /* termrelop */ + YYSYMBOL_relopchain = 243, /* relopchain */ + YYSYMBOL_termeqop = 244, /* termeqop */ + YYSYMBOL_eqopchain = 245, /* eqopchain */ + YYSYMBOL_termunop = 246, /* termunop */ + YYSYMBOL_anonymous = 247, /* anonymous */ + YYSYMBOL_termdo = 248, /* termdo */ + YYSYMBOL_term = 249, /* term */ + YYSYMBOL_250_22 = 250, /* @22 */ + YYSYMBOL_myattrterm = 251, /* myattrterm */ + YYSYMBOL_myterm = 252, /* myterm */ + YYSYMBOL_fieldvar = 253, /* fieldvar */ + 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 3722 +#define YYLAST 3720 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 145 +#define YYNNTS 142 /* YYNRULES -- Number of rules. */ -#define YYNRULES 377 +#define YYNRULES 374 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 685 +#define YYNSTATES 670 /* 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, 1063, - 1064, 1073, 1075, 1080, 1082, 1086, 1091, 1095, 1101, 1103, - 1109, 1119, 1132, 1134, 1139, 1141, 1149, 1150, 1151, 1156, - 1157, 1162, 1163, 1167, 1171, 1171, 1204, 1205, 1210, 1222, - 1223, 1228, 1227, 1240, 1242, 1244, 1246, 1248, 1252, 1254, - 1259, 1263, 1267, 1271, 1275, 1281, 1286, 1292, 1298, 1304, - 1310, 1312, 1314, 1317, 1316, 1330, 1331, 1335, 1339, 1342, - 1347, 1352, 1355, 1359, 1363, 1369, 1377, 1384, 1390, 1392, - 1394, 1399, 1401, 1403, 1405, 1407, 1409, 1414, 1416, 1418, - 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, - 1440, 1442, 1444, 1448, 1450, 1452, 1454, 1456, 1460, 1462, - 1466, 1468, 1470, 1472, 1476, 1478, 1483, 1485, 1488, 1490, - 1492, 1495, 1498, 1509, 1512, 1520, 1522, 1524, 1527, 1529, - 1532, 1534, 1539, 1544, 1546, 1550, 1551, 1552, 1553, 1554, - 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, - 1576, 1578, 1580, 1590, 1600, 1610, 1620, 1622, 1624, 1627, - 1632, 1636, 1638, 1640, 1642, 1645, 1647, 1650, 1652, 1654, - 1656, 1658, 1660, 1662, 1664, 1666, 1669, 1671, 1673, 1675, - 1677, 1679, 1683, 1686, 1685, 1698, 1699, 1700, 1705, 1707, - 1709, 1711, 1716, 1718, 1721, 1723, 1725, 1730, 1735, 1740, - 1748, 1756, 1755, 1773, 1774, 1778, 1779, 1783, 1784, 1789, - 1794, 1796, 1800, 1803, 1807, 1808, 1809, 1812, 1813, 1816, - 1817, 1820, 1824, 1828, 1834, 1840, 1842, 1846, 1850, 1851, - 1855, 1856, 1860, 1861, 1866, 1868, 1870, 1873 + 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, 1039, 1040, 1049, 1051, + 1056, 1058, 1062, 1067, 1071, 1077, 1079, 1085, 1095, 1108, + 1110, 1115, 1117, 1125, 1126, 1127, 1132, 1133, 1138, 1139, + 1143, 1147, 1147, 1180, 1181, 1186, 1198, 1199, 1204, 1203, + 1216, 1218, 1220, 1222, 1224, 1228, 1230, 1235, 1239, 1243, + 1247, 1251, 1257, 1262, 1268, 1274, 1280, 1286, 1288, 1290, + 1293, 1292, 1306, 1307, 1311, 1315, 1318, 1323, 1328, 1331, + 1335, 1339, 1345, 1353, 1360, 1366, 1368, 1370, 1375, 1377, + 1379, 1381, 1383, 1385, 1390, 1392, 1394, 1396, 1398, 1400, + 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, + 1424, 1426, 1428, 1430, 1432, 1436, 1438, 1442, 1444, 1446, + 1448, 1452, 1454, 1459, 1461, 1464, 1466, 1468, 1471, 1474, + 1485, 1488, 1496, 1498, 1500, 1503, 1505, 1508, 1510, 1515, + 1520, 1522, 1526, 1527, 1528, 1529, 1530, 1532, 1534, 1536, + 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1554, 1556, + 1566, 1576, 1586, 1596, 1598, 1600, 1603, 1608, 1612, 1614, + 1616, 1618, 1621, 1623, 1626, 1628, 1630, 1632, 1634, 1636, + 1638, 1640, 1642, 1645, 1647, 1649, 1651, 1653, 1655, 1659, + 1662, 1661, 1674, 1675, 1676, 1681, 1683, 1685, 1687, 1692, + 1694, 1697, 1699, 1701, 1706, 1711, 1716, 1724, 1732, 1731, + 1749, 1750, 1754, 1755, 1759, 1760, 1765, 1770, 1772, 1776, + 1779, 1783, 1784, 1785, 1788, 1789, 1792, 1793, 1796, 1800, + 1804, 1810, 1816, 1818, 1822, 1826, 1827, 1831, 1832, 1836, + 1837, 1842, 1844, 1846, 1849 }; #endif @@ -451,33 +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", "attrlist", "optattrlist", "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", "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", "attrlist", + "optattrlist", "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", + "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 * @@ -487,12 +483,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-555) +#define YYPACT_NINF (-558) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-376) +#define YYTABLE_NINF (-373) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -501,75 +497,73 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 689, -555, -555, -555, -555, -555, -555, -555, 37, -555, - 3013, 11, 1955, 1838, -555, -555, -555, -555, 352, 3013, - 352, 3013, 352, 3013, 352, 352, 3013, 88, 3013, 2284, - -555, -555, -555, -555, 352, 352, -555, -555, 106, -5, - -555, 3013, -555, -555, 3013, -2, 12, -30, 2284, 2203, - 11, 352, 3013, 114, 3013, 3013, 3013, 3013, 3013, 3013, - 2365, -555, 458, 194, -555, 16, -555, -27, 57, -12, - 69, -555, -555, -555, 3205, -555, -555, 53, 51, 184, - 191, -555, 195, 201, 220, 204, -555, -555, -555, -555, - -555, 190, 203, 170, -555, -555, -555, 138, 139, -555, - -555, 11, 261, 261, -555, 114, -555, -555, -555, 252, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, 114, 246, -555, - 268, 263, 275, 1838, -555, -555, -555, -555, 735, -555, - 56, 852, -555, -555, -555, -555, -555, 291, -555, 310, - -555, 310, -555, -555, 3572, 3094, 2446, 225, -555, -555, - -555, 3572, -555, 3572, 244, 232, 232, 3013, 188, 224, - 3013, 186, 3572, 11, 3205, 210, 2527, 3013, 2203, -555, - 3572, 3175, -555, 194, -555, 2608, 3013, 3013, -555, 320, - -555, -555, 3013, 194, 310, 310, 310, 509, 509, 332, - 374, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 2689, -555, - -555, 3013, -555, -555, 3013, 3013, 3013, 3013, 3013, 3013, - 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, - 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, - -555, -555, -555, 3013, 100, 2770, 3013, 3013, 3013, 3013, - 3013, 3013, 3013, -555, 290, 295, 299, 225, -555, -555, - -555, 229, 229, 10, -555, -555, 229, 229, -555, -555, - 312, -555, -555, -555, -555, -555, -555, 11, -555, -555, - -555, 3013, 3013, 3013, 3013, 3013, 3013, -555, -555, -555, - -555, -555, -555, -555, -555, 303, -555, 351, -555, -555, - 356, -555, -555, 2851, 310, 225, 32, 43, 180, -555, - 384, 327, -555, -555, -555, 232, 329, -555, 7, 7, - -555, 3013, 3013, 77, -555, -555, -555, -555, 403, 313, - 258, 3013, 194, 194, 388, -555, 3013, 392, 65, 65, - -555, -555, 3309, 41, 129, -555, 407, 468, 3533, 3413, - 310, 335, 255, 3257, 3309, 3309, 886, 3452, 3452, 3452, - 3475, 3475, 3514, 560, 3533, 3533, 468, 468, 3553, 3592, - 255, 335, 310, 310, 115, 227, 3013, 3013, 318, 381, - 386, 389, -555, 391, 2932, 277, -555, -555, 476, 167, - 133, 213, 142, 231, 146, 236, 1019, -555, -555, 401, - 24, 225, -555, -555, 321, 3013, 261, 261, 9, 85, - 2041, 261, 170, -555, 3013, 3013, 261, 261, -555, -555, - 367, -555, 402, -555, -555, -555, 458, -555, -555, -555, - 458, -555, -555, -555, 342, 303, 56, 17, 514, -555, - -555, -555, 423, -555, 311, -555, -555, 315, 46, -555, - 3013, -555, -555, -555, 570, -555, 154, 3013, 430, -555, - -555, 3013, -555, 322, 243, 185, -555, -555, -555, -555, - -555, -555, 608, 3013, -555, 435, -555, 454, -555, 460, - -555, 462, -555, -555, -555, -555, -555, 55, -555, 344, - 458, 222, 222, -555, 467, 229, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, 463, 181, 246, - -555, 229, 345, 353, 458, -555, -555, 1136, 355, 433, - 244, -555, 479, -555, -555, 232, 3013, 394, -555, 28, - -555, -555, -555, 483, -555, -555, 3013, -555, 405, -555, - -555, -555, 197, -555, 3361, 3013, 495, -555, -555, 379, - -555, -555, -555, -555, 490, -555, -555, -555, 3013, -555, - 261, 229, -555, -555, -555, 501, -555, -555, 261, 229, - -555, -555, 229, 261, -555, -555, -555, -555, -555, -555, - 3013, 232, -555, 499, 3205, 3013, 393, -555, 458, -555, - -555, 397, -555, -555, 429, -555, -555, 3205, -555, 261, - 467, 400, 246, 261, 3013, 261, 246, 261, 261, 467, - 261, 513, 402, 1253, -555, -555, -555, -555, 3205, -555, - -555, -555, -555, 1370, -555, 222, -555, 229, -555, 246, - 517, 246, -555, 246, 246, -555, 491, -555, -555, -555, - 1487, -555, 22, -555, 1604, -555, 261, -555, -555, -555, - -555, -555, 415, 11, -555, -555, 540, 478, -555, -555, - 246, -555, -555, -555, -555, -555, -555, -555, -555, 2122, - 1721, 432, -555, 261, -555 + 748, -558, -558, -558, -558, -558, -558, -558, 35, -558, + 3032, 40, 1974, 1857, -558, -558, -558, -558, 46, 3032, + 46, 3032, 46, 3032, 46, 46, 3032, 48, 3032, 2303, + -558, -558, -558, -558, 46, 46, -558, -558, 47, -65, + -558, 3032, -558, -558, 3032, -38, -9, -41, 2303, 2222, + 40, 46, 3032, 137, 3032, 3032, 3032, 3032, 3032, 3032, + 2384, -558, 536, 110, -558, 41, -558, 63, 42, 0, + 19, -558, -558, -558, 3224, -558, -558, 25, 50, 126, + 132, -558, 149, 188, 200, 152, -558, -558, -558, -558, + -558, 131, 140, 265, -558, -558, -558, 78, 113, -558, + -558, 40, 191, 191, -558, 137, -558, -558, -558, 226, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, 137, 216, -558, + 236, 420, 237, 1857, -558, -558, -558, -558, 758, -558, + 93, 875, -558, -558, -558, -558, -558, 246, -558, 279, + -558, 279, -558, -558, 3571, 3113, 2465, 180, -558, -558, + -558, 3571, -558, 3571, 212, 194, 194, 3032, 154, 195, + 3032, 159, 3571, 40, 3224, 165, 2546, 3032, 2222, -558, + 3571, 3194, -558, 110, -558, 2627, 3032, 3032, -558, 275, + -558, -558, 3032, 110, 279, 279, 279, 350, 350, 289, + 339, 3032, 3032, 3032, 3032, 3032, 3032, 3032, 2708, -558, + -558, 3032, -558, -558, 3032, 3032, 3032, 3032, 3032, 3032, + 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, + 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, 3032, + -558, -558, -558, 3032, 111, 2789, 3032, 3032, 3032, 3032, + 3032, 3032, 3032, -558, 258, 264, 266, 180, -558, -558, + -558, 192, 192, 68, -558, -558, 192, 192, -558, -558, + 287, -558, -558, -558, -558, -558, -558, 40, -558, -558, + -558, 3032, 3032, 3032, 3032, 3032, 3032, -558, -558, -558, + -558, -558, -558, -558, -558, 271, -558, 307, -558, -558, + 319, -558, -558, 2870, 279, 180, 60, 65, 70, -558, + 344, 290, -558, -558, -558, 194, 292, -558, 12, 12, + -558, 3032, 3032, 112, -558, -558, -558, -558, 371, 270, + 221, 3032, 110, 110, 343, -558, 3032, 349, 23, 23, + -558, -558, 3328, 210, 120, -558, 400, 467, 3551, 3432, + 279, 262, 3398, 3276, 3328, 3328, 557, 902, 902, 902, + 3471, 3471, 3493, 3532, 3551, 3551, 467, 467, 3511, 3590, + 3398, 262, 279, 279, 97, 164, 3032, 3032, 325, 331, + 347, 348, -558, 354, 2951, 232, -558, -558, 440, 222, + 127, 231, 145, 243, 155, 249, 1038, -558, -558, 364, + 18, 180, -558, -558, 284, 3032, 191, 191, 16, 337, + 2060, 192, 191, 265, -558, 3032, 3032, 191, 191, -558, + -558, 356, -558, 365, -558, -558, -558, 536, -558, -558, + -558, 536, -558, -558, -558, 294, 271, 93, 28, 471, + -558, -558, -558, 388, -558, 283, -558, -558, 291, 89, + -558, 3032, -558, -558, -558, 504, -558, 167, 3032, 406, + -558, -558, 3032, -558, 293, 281, 198, -558, -558, -558, + -558, -558, -558, 509, 3032, -558, 409, -558, 412, -558, + 419, -558, 432, -558, -558, -558, -558, -558, 64, -558, + 316, 536, 203, 203, -558, 434, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, 426, 333, + 191, 216, -558, 322, 323, 536, -558, -558, 1155, 327, + 404, 212, -558, 451, -558, -558, 194, 3032, 372, -558, + 61, -558, -558, -558, 452, -558, -558, 3032, -558, 382, + -558, -558, -558, 204, -558, 3380, 3032, 461, -558, -558, + 352, -558, -558, -558, -558, 459, -558, -558, -558, 3032, + -558, 191, 192, -558, -558, -558, 469, 355, -558, -558, + 216, -558, -558, -558, -558, -558, -558, -558, 3032, 194, + -558, 466, 3224, 3032, 359, -558, 536, -558, -558, 360, + -558, -558, 410, -558, -558, 3224, -558, 191, 434, -558, + 3032, -558, 191, 191, 434, 191, 481, 365, 1272, -558, + -558, -558, -558, 3224, -558, -558, -558, -558, 1389, -558, + 203, -558, 486, 216, 216, -558, 464, -558, -558, -558, + 1506, -558, 36, -558, 1623, -558, -558, -558, -558, 375, + 40, -558, -558, 501, 433, -558, -558, -558, -558, -558, + -558, -558, -558, -558, 2141, 1740, 391, -558, 191, -558 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -577,115 +571,113 @@ 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, 174, 1, 65, 0, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, - 137, 137, 138, 325, 0, 0, 296, 323, 284, 318, - 320, 314, 137, 327, 306, 316, 0, 0, 309, 65, - 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 345, 346, 187, 326, 291, 275, 231, 243, 232, - 250, 276, 277, 278, 190, 281, 5, 297, 286, 289, - 288, 290, 287, 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, 374, 377, 376, 375, 361, 0, 362, 256, - 364, 257, 363, 367, 282, 0, 0, 329, 334, 336, - 335, 313, 274, 273, 65, 65, 65, 65, 0, 0, - 0, 0, 315, 0, 307, 0, 0, 65, 65, 310, - 311, 325, 343, 344, 200, 286, 0, 0, 365, 0, - 140, 141, 65, 308, 258, 259, 280, 263, 264, 285, - 0, 0, 0, 0, 0, 188, 0, 0, 0, 246, - 245, 0, 253, 252, 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, 12, 14, 0, 64, + 62, 0, 0, 0, 62, 171, 1, 62, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, + 134, 134, 135, 322, 0, 0, 293, 320, 281, 315, + 317, 311, 134, 324, 303, 313, 0, 0, 306, 62, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 343, 184, 323, 288, 272, 228, 240, 229, + 247, 273, 274, 275, 187, 278, 5, 294, 283, 286, + 285, 287, 284, 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, 371, 374, 373, 372, 358, 0, 359, 253, + 361, 254, 360, 364, 279, 0, 0, 326, 331, 333, + 332, 310, 271, 270, 62, 62, 62, 62, 0, 0, + 0, 0, 312, 0, 304, 0, 0, 62, 62, 307, + 308, 322, 340, 341, 197, 283, 0, 0, 362, 0, + 137, 138, 62, 305, 255, 256, 277, 260, 261, 282, + 0, 0, 0, 0, 0, 185, 0, 0, 0, 243, + 242, 0, 250, 249, 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, - 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 65, 65, 0, 0, 65, 337, 339, - 338, 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, 154, 153, 159, 169, 151, 165, 0, 164, 168, - 170, 175, 265, 0, 331, 0, 286, 289, 288, 333, - 0, 148, 328, 143, 142, 65, 146, 144, 270, 272, - 198, 65, 0, 0, 319, 203, 317, 321, 0, 0, - 0, 0, 191, 192, 0, 300, 0, 283, 185, 186, - 183, 184, 189, 0, 0, 217, 0, 249, 255, 235, - 224, 226, 228, 242, 222, 223, 0, 238, 240, 239, - 236, 237, 234, 233, 254, 251, 248, 244, 247, 230, - 229, 227, 241, 225, 221, 0, 0, 0, 0, 371, - 369, 373, 205, 0, 0, 195, 206, 298, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, - 0, 65, 149, 150, 340, 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, 152, 155, 151, 166, 285, 0, 330, - 332, 147, 268, 145, 65, 269, 271, 0, 65, 219, - 65, 322, 202, 201, 0, 266, 0, 0, 0, 210, - 216, 0, 304, 197, 0, 0, 301, 303, 302, 305, - 366, 214, 0, 65, 299, 0, 208, 0, 292, 0, - 293, 0, 64, 67, 39, 67, 43, 0, 341, 0, - 132, 65, 65, 359, 0, 0, 349, 360, 357, 36, - 358, 354, 355, 356, 127, 128, 133, 0, 112, 65, - 34, 0, 0, 0, 130, 40, 58, 0, 65, 0, - 65, 177, 0, 47, 176, 65, 156, 160, 167, 283, - 267, 174, 171, 0, 172, 199, 0, 347, 0, 204, - 193, 220, 0, 213, 279, 65, 0, 209, 215, 0, - 211, 294, 295, 207, 0, 44, 67, 17, 0, 61, - 0, 0, 119, 41, 54, 353, 30, 352, 0, 0, - 26, 38, 0, 0, 126, 126, 68, 71, 70, 52, - 65, 65, 65, 67, 157, 162, 0, 181, 348, 324, - 218, 0, 212, 194, 0, 65, 18, 342, 120, 0, - 350, 0, 65, 0, 129, 0, 65, 0, 0, 0, - 0, 0, 67, 0, 180, 49, 179, 161, 163, 173, - 65, 196, 65, 0, 65, 65, 351, 0, 29, 65, - 0, 65, 33, 65, 65, 72, 124, 57, 51, 178, - 0, 76, 0, 45, 0, 121, 0, 37, 27, 35, - 55, 59, 0, 0, 53, 182, 0, 65, 77, 19, - 65, 126, 73, 125, 66, 65, 108, 107, 31, 0, - 0, 0, 109, 0, 28 + 257, 258, 259, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 62, 0, 0, 62, 334, 336, + 335, 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, 151, 150, 156, 166, 148, 162, 0, 161, 165, + 167, 172, 262, 0, 328, 0, 283, 286, 285, 330, + 0, 145, 325, 140, 139, 62, 143, 141, 267, 269, + 195, 62, 0, 0, 316, 200, 314, 318, 0, 0, + 0, 0, 188, 189, 0, 297, 0, 280, 182, 183, + 180, 181, 186, 0, 0, 214, 0, 246, 252, 232, + 221, 223, 225, 239, 219, 220, 0, 235, 237, 236, + 233, 234, 231, 230, 251, 248, 245, 241, 244, 227, + 226, 224, 238, 222, 218, 0, 0, 0, 0, 368, + 366, 370, 202, 0, 0, 192, 203, 295, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 132, 0, + 0, 62, 146, 147, 337, 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, 149, 152, 148, 163, 282, 0, + 327, 329, 144, 265, 142, 62, 266, 268, 0, 62, + 216, 62, 319, 199, 198, 0, 263, 0, 0, 0, + 207, 213, 0, 301, 194, 0, 0, 298, 300, 299, + 302, 363, 211, 0, 62, 296, 0, 205, 0, 289, + 0, 290, 0, 61, 64, 31, 64, 35, 0, 338, + 0, 129, 62, 62, 356, 0, 54, 346, 357, 354, + 57, 355, 351, 352, 353, 124, 125, 130, 0, 109, + 0, 62, 56, 0, 0, 127, 32, 50, 0, 62, + 0, 62, 174, 0, 39, 173, 62, 153, 157, 164, + 280, 264, 171, 168, 0, 169, 196, 0, 344, 0, + 201, 190, 217, 0, 210, 276, 62, 0, 206, 212, + 0, 208, 291, 292, 204, 0, 36, 64, 17, 0, + 58, 0, 0, 116, 33, 46, 350, 0, 349, 26, + 62, 30, 123, 123, 65, 68, 67, 44, 62, 62, + 62, 64, 154, 159, 0, 178, 345, 321, 215, 0, + 209, 191, 0, 62, 18, 339, 117, 0, 347, 55, + 126, 29, 0, 0, 0, 0, 0, 64, 0, 177, + 41, 176, 158, 160, 170, 62, 193, 62, 0, 62, + 62, 348, 0, 62, 62, 69, 121, 49, 43, 175, + 0, 73, 0, 37, 0, 118, 27, 47, 51, 0, + 0, 45, 179, 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[] = { - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -202, -555, - -1, -10, -555, -7, -51, -555, -555, -555, -555, -16, - -555, 561, 434, 8, -555, -555, 164, -406, -486, -436, - -555, -554, -555, -39, 155, -555, -92, -555, -102, 91, - -555, -555, -101, 48, -173, -152, 177, 145, -555, -555, - -555, -555, -555, 147, -555, -555, -555, -555, 58, -555, - -22, 140, -555, -324, -555, 136, -43, -555, -555, -555, - -555, -555, -555, -555, -555, -555, -555, -555, -555, 485, - -555, -555, 436, -555, -555, -555, -164, 13, -555, -555, - -555, -555, 182, -555, -555, 193, 33, -20, -15, -555, - -555, -555, -555, -555, 72 + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -239, -558, -4, -10, -558, + -7, 135, -558, -558, -558, -558, -16, -558, 510, 381, + 7, -558, -558, 102, -408, -481, -462, -558, -557, -558, + -83, 104, -558, -134, -558, -95, 54, -558, -558, -94, + 2, -170, -154, 134, 92, -558, -558, -558, -558, -558, + 103, -558, -558, -558, -558, 11, -558, -62, 105, -558, + -321, -558, 17, -44, -558, -558, -558, -558, -558, -558, + -558, -558, -558, -558, -558, -558, 484, -558, -558, 394, + -558, -558, -558, -174, -2, -558, -558, -558, -558, 133, + -558, -558, 142, 81, -23, -3, -558, -558, -558, -558, + -558, 31 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 634, 114, 115, 116, 117, 118, 119, 614, - 671, 120, 611, 521, 582, 579, 121, 122, 123, 124, - 125, 126, 605, 127, 432, 128, 535, 129, 530, 130, - 620, 131, 132, 133, 430, 134, 135, 136, 416, 137, - 138, 147, 494, 454, 280, 428, 589, 619, 662, 148, - 652, 300, 145, 146, 668, 677, 435, 140, 573, 289, - 664, 617, 516, 523, 439, 499, 517, 409, 282, 174, - 176, 264, 202, 325, 328, 413, 414, 444, 305, 306, - 307, 308, 627, 309, 310, 311, 543, 544, 149, 150, - 533, 534, 625, 455, 630, 141, 63, 64, 460, 395, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 179, 75, 167, 267, 142, 568, 194, 76, 548, 505, - 575, 576, 508, 509, 422, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 158 + 112, 113, 629, 114, 115, 116, 117, 118, 119, 610, + 657, 120, 121, 122, 123, 124, 125, 126, 603, 127, + 433, 128, 536, 129, 531, 130, 615, 131, 132, 133, + 431, 134, 135, 136, 421, 416, 137, 138, 147, 495, + 455, 280, 429, 587, 614, 649, 148, 642, 300, 145, + 146, 655, 663, 436, 140, 574, 289, 651, 612, 517, + 524, 440, 500, 518, 409, 282, 174, 176, 264, 202, + 325, 328, 413, 414, 445, 305, 306, 307, 308, 622, + 309, 310, 311, 544, 545, 149, 150, 534, 535, 620, + 456, 625, 141, 63, 64, 461, 395, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 179, 75, 167, + 267, 142, 569, 194, 76, 549, 506, 576, 577, 509, + 510, 423, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 158 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -693,82 +685,124 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 151, 17, 329, 283, 456, 193, 169, 285, 61, - 87, 203, 170, 330, 515, 322, 574, 154, -67, 154, - 139, 154, 86, 154, 154, 20, 20, 216, 172, 217, - 346, 618, 157, 154, 154, 495, 286, 16, 345, 192, - 418, 467, 61, 256, 666, 257, 496, 189, 154, 197, - 154, 155, 281, 155, -368, 155, -368, 155, 155, 187, - 168, 215, 256, 468, 257, 199, 566, 155, 155, 546, - 417, 421, -158, 269, 426, 427, 301, 567, 270, 263, - 302, 667, 195, 581, 155, 219, 220, 271, 272, 273, - 156, 459, 276, 277, 160, 18, 162, 163, 222, 223, - 278, 20, 188, -333, 20, 22, 177, 178, 22, 24, - 385, 386, 24, 387, -332, 507, 388, 679, -334, 180, - 389, 196, 175, 198, 390, 391, 268, 181, 288, -336, - 185, 503, 419, 183, 193, 211, 212, 213, 214, -67, - 304, 504, 420, 469, 186, 317, 62, 486, 218, 655, - 318, 299, 452, 342, 343, 62, 488, 392, 303, 193, - 490, 213, 214, 449, 324, 327, 327, 192, 551, 221, - 200, 211, 212, 213, 214, 201, 638, 61, 61, 224, - 642, 431, 335, 393, 433, 255, 20, 154, 62, 485, - 22, -370, 192, -370, 24, -368, 210, -368, 316, 557, - 339, 340, -370, 657, -370, 659, -372, 660, 661, 215, - 165, 600, 258, 291, 259, 262, 292, 293, 294, 295, - 166, 195, 296, 211, 212, 213, 214, 211, 212, 213, - 214, 260, 394, 261, 678, 487, 211, 212, 213, 214, - 211, 212, 213, 214, -376, 254, 265, 406, 211, 212, - 213, 214, 472, 489, 408, 570, 571, 412, 491, 266, - 341, 211, 212, 213, 214, 556, -335, 424, 425, 626, - 274, 275, 279, 515, 284, 211, 212, 213, 214, 211, - 212, 213, 214, 200, 473, 287, 434, 396, 201, 458, - 290, 211, 212, 213, 214, 291, 549, 297, 292, 293, - 294, 295, 320, 578, 296, 312, 423, 211, 212, 213, - 214, 321, -132, 332, 323, 327, 333, 334, 326, 583, - 331, 61, 338, 62, 62, 211, 212, 213, 214, 86, - 211, 212, 213, 214, 20, 226, 227, 211, 212, 213, - 214, 336, 344, 476, 457, 346, 407, 348, 349, 350, - 351, 410, 353, 354, 356, 411, 429, 211, 212, 213, - 214, 415, 593, 86, 443, 501, 502, 445, 20, 609, - 519, 446, 247, 248, 152, 525, 526, 613, 249, 153, - 615, 250, 251, 252, 253, 254, 451, 154, 453, 463, - 226, 398, 399, 400, 401, 402, 403, 404, 405, 512, - 465, 412, 512, 462, 513, 467, 477, 513, 152, 483, - 514, 478, 527, 153, 479, 226, 480, 193, 622, 493, - 498, 155, 528, 529, 531, 532, 621, 436, 436, 436, - 440, 436, 436, 249, -67, 656, 250, 251, 252, 253, - 254, 536, 553, 541, 542, 532, 545, 560, 547, 448, - 192, 506, 511, 248, 555, 511, 437, 438, 249, 441, - 442, 250, 251, 252, 253, 254, 561, 62, 211, 212, - 213, 214, 562, 61, 563, 569, 584, 464, 211, 212, - 213, 214, 466, 20, 585, 580, 564, 587, 565, 590, - 592, 572, 572, 595, 597, 599, 559, 211, 212, 213, - 214, 211, 212, 213, 214, 347, 159, 602, 161, 288, - 603, 164, 604, 171, 173, 450, 610, 632, 588, 608, - 324, 624, 474, 475, 629, 327, 182, 612, 631, 184, - 482, 637, 616, 190, 461, 647, 663, 577, 470, 658, - 204, 205, 206, 207, 208, 61, 672, 193, 226, 227, - 228, 500, 211, 212, 213, 214, 518, 674, 635, 606, - 440, 524, 639, 683, 641, 675, 643, 644, 601, 646, - 211, 212, 213, 214, 144, 640, 623, 298, 591, 522, - 192, 327, 244, 245, 246, 247, 248, 681, 497, 633, - 537, 249, 540, 538, 250, 251, 252, 253, 254, 596, - 648, 315, 288, 552, 520, 670, 288, 484, 211, 212, - 213, 214, 510, 0, 650, 532, 0, 0, 654, 62, - 0, 0, 651, 0, 0, 572, 0, 0, 0, 288, - 0, 288, 684, 288, 288, -376, -376, -376, 253, 254, - 226, 227, 228, 636, 0, 539, 0, 0, 0, 0, - 314, 0, 645, 0, 0, 0, 0, 676, 0, 680, - 288, 0, 673, 0, 211, 212, 213, 214, 0, 514, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, - 0, 0, 598, 249, 0, 0, 250, 251, 252, 253, - 254, 62, 1, 2, 3, 4, 5, 6, 7, 0, - 352, 550, 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, 558, - 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, - 524, 20, 0, 0, 21, 22, 23, 89, 0, 24, + 61, 151, 17, 330, 169, 193, 329, 87, 457, 61, + 203, 283, 516, 322, 154, 285, 154, 157, 154, 139, + 154, 154, 575, -64, 170, 172, 613, 62, 345, 496, + 154, 154, 20, 417, 422, 16, 62, 427, 428, 192, + 497, 346, 61, 286, 189, 154, 197, 154, 187, 156, + 199, 86, 216, 160, 217, 162, 163, 86, 653, 581, + 180, 256, 20, 257, 20, 177, 178, 181, 22, 62, + 269, 256, 24, 257, 468, 567, -365, 210, -365, 263, + 196, -367, 198, -367, 20, 175, 568, 271, 272, 273, + 270, 188, 276, 277, 185, 654, 183, 278, 418, 155, + 664, 155, 152, 155, 215, 155, 155, 153, 168, -155, + 222, 223, 547, 301, -330, 155, 155, 302, 611, 213, + 214, 385, 386, 186, 387, 215, 460, 388, 288, 224, + 195, 389, 155, 193, 470, 390, 391, -365, 504, -365, + 304, 487, 317, -367, -64, -367, -331, -329, 505, 645, + 299, -333, 342, 343, 221, 453, -332, 255, 193, 489, + -369, 450, 318, 262, 324, 327, 327, 192, 392, 491, + 165, 647, 648, 218, 268, 219, 220, 61, 61, 335, + 166, 552, 520, 320, 154, 339, 340, 265, 432, 473, + 419, 434, 192, 200, 393, 303, 266, 333, 201, 258, + 420, 259, 279, 338, 62, 62, 211, 212, 213, 214, + 274, 260, 558, 261, 211, 212, 213, 214, 598, 341, + 200, 211, 212, 213, 214, 201, -373, 254, 348, 349, + 350, 351, 469, 353, 354, 356, 571, 572, 281, 211, + 212, 213, 214, 394, 486, 275, 316, 406, 284, 211, + 212, 213, 214, 488, 408, 287, 516, 412, 290, 297, + 312, 211, 212, 213, 214, 490, 321, 425, 426, 195, + 621, 492, 398, 399, 400, 401, 402, 403, 404, 405, + 326, 20, 323, 435, 332, 22, 331, 550, 459, 24, + 334, 474, 211, 212, 213, 214, 336, 344, 211, 212, + 213, 214, 346, 557, 211, 212, 213, 214, 437, 437, + 437, 441, 437, 437, 407, 327, 211, 212, 213, 214, + 410, 61, 411, 446, 415, 211, 212, 213, 214, 458, + 449, 430, 444, 607, 447, 396, 86, 211, 212, 213, + 214, 20, 226, 211, 212, 213, 214, 18, 62, 452, + 477, 454, 464, 20, 424, 466, 478, 22, 465, 226, + 463, 24, 468, 467, 484, 291, 591, 508, 292, 293, + 294, 295, 479, 480, 296, 211, 212, 213, 214, 481, + 248, 152, 494, 499, 154, 249, 153, 532, 250, 251, + 252, 253, 254, 537, 438, 439, 513, 442, 443, -64, + 513, 412, 249, 475, 476, 250, 251, 252, 253, 254, + 515, 483, 530, 528, 616, 542, 514, 193, 554, 617, + 514, 561, 546, 529, 562, 556, 533, 211, 212, 213, + 214, 563, 501, 211, 212, 213, 214, 519, 211, 212, + 213, 214, 441, 525, 564, 543, 533, 570, 579, 548, + 20, 192, 291, 582, 583, 292, 293, 294, 295, 585, + 588, 296, 590, 595, -129, 211, 212, 213, 214, 155, + 347, 593, 597, 600, 61, 451, -373, -373, -373, 253, + 254, 602, 560, 601, 608, 553, 609, 565, 619, 566, + 624, 626, 573, 573, 211, 212, 213, 214, 627, 507, + 512, 62, 462, 637, 512, 159, 658, 161, 646, 650, + 164, 288, 171, 173, 211, 212, 213, 214, 660, 586, + 661, 324, 668, 144, 298, 182, 327, 632, 184, 523, + 666, 471, 190, 589, 211, 212, 213, 214, 538, 204, + 205, 206, 207, 208, 193, 498, 61, 226, 227, 228, + 539, 502, 503, 594, 599, 638, 522, 521, 541, 315, + 604, 511, 526, 527, 596, 211, 212, 213, 214, 0, + 288, 485, 0, 62, 618, 0, 0, 0, 192, 327, + 0, 244, 245, 246, 247, 248, 578, 628, 0, 0, + 249, 0, 0, 250, 251, 252, 253, 254, 211, 212, + 213, 214, 540, 211, 212, 213, 214, 0, 0, 640, + 533, 0, 0, 644, 0, 0, 0, 641, 0, 0, + 573, 0, 0, 288, 288, 0, 0, 525, 0, 225, + 211, 212, 213, 214, 0, 551, 0, 226, 227, 228, + 559, 0, 0, 0, 662, 665, 659, 0, 0, 314, + 229, 0, 0, 0, 515, 580, 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, 0, 250, 251, 252, 253, 254, 0, 631, + 0, 0, 0, 0, 0, 635, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 357, 606, 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, 0, 0, 0, 384, 0, 0, + 0, 0, 630, 0, 0, 0, 0, 633, 634, 0, + 636, 1, 2, 3, 4, 5, 6, 7, -13, 88, + 0, 0, 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, 669, 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, 555, 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, 226, 227, 228, 0, 0, 0, 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, 592, 0, 0, 0, 249, 0, 0, 250, 251, + 252, 253, 254, 0, 0, 0, 0, 0, 0, 88, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 86, + 493, 19, 0, 605, 20, 0, 0, 21, 22, 23, + 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, + 94, 0, 0, 95, 96, 97, 98, 623, 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, 584, 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, @@ -778,8 +812,8 @@ static const yytype_int16 yytable[] = 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, 0, 0, 88, 55, 56, 0, 57, 0, 58, + 59, 0, 18, 86, 639, 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, @@ -788,26 +822,21 @@ static const yytype_int16 yytable[] = 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, 554, 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, - 88, 594, 0, 0, 0, 0, 0, 0, 0, 18, - 86, 492, 19, 0, 0, 20, 0, 0, 21, 22, + 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, 643, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, - 93, 94, 0, 607, 95, 96, 97, 98, 0, 99, + 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, - 628, 38, 39, 40, 41, 42, 43, 108, 143, 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, 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, 586, 19, + 0, 57, 0, 58, 59, 0, 18, 86, 652, 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, @@ -819,7 +848,7 @@ static const yytype_int16 yytable[] = 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, 60, 20, + 58, 59, 0, 18, 86, 656, 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, @@ -831,18 +860,18 @@ static const yytype_int16 yytable[] = 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, + 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, 0, 0, 51, 52, 53, 0, 0, 667, 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, 665, + 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, @@ -854,75 +883,48 @@ 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, 669, 19, 0, 60, + 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, + 42, 43, 108, 0, 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, 682, - 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, 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, + 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, 88, 51, 52, 53, 0, 0, 0, - 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, + 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, + 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, -65, 60, 30, 31, 0, 32, 191, - 34, 35, 36, 37, 153, 38, 39, 40, 41, 42, + 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, + 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, @@ -934,7 +936,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, 0, 60, 30, 31, 0, + 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, @@ -942,32 +944,32 @@ 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, 209, 60, 30, 31, + 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, + 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, 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, 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, 256, - 0, 257, 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, 337, 60, - -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, 18, - 0, 0, 19, 0, 0, 20, -375, 0, 21, 22, + 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, 0, 0, 0, 0, 18, 0, + 0, 19, 0, 0, 20, -372, 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, 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, -375, -375, 0, - -375, 0, -375, -375, 0, 0, 28, 29, 0, 0, - -375, 30, 31, 0, 32, 33, 34, 35, 36, 37, + 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, 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, @@ -975,7 +977,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, - 355, 60, 30, 31, 0, 32, 33, 34, 35, 36, + 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, @@ -983,7 +985,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, 397, 60, 30, 31, 0, 32, 33, 34, 35, + 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, @@ -991,7 +993,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, 447, 60, 30, 31, 0, 32, 33, 34, + 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, @@ -999,153 +1001,185 @@ 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, 481, 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, - 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, - 0, 0, 0, 26, 27, 0, 0, 0, 0, 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, 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, -374, 0, 0, -374, 0, - 0, -374, 54, 0, -374, -374, -374, 0, 0, -374, - -374, 0, 0, 0, -374, -374, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, - 0, 0, -374, -374, 0, 0, 313, -374, -374, 0, - -374, -374, -374, -374, -374, -374, 0, -374, -374, -374, - -374, -374, -374, 0, 0, 0, -374, 0, 0, -374, - -374, -374, -374, -374, -374, 0, 0, 0, -374, -374, - -374, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -374, 0, 0, 0, 225, 0, 0, - 0, 0, 0, 0, 0, 226, 227, 228, 0, 0, - 0, 0, 0, 0, -374, -374, 0, -374, 229, -374, - -374, 0, 0, 0, 230, 231, 232, -374, 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, - -376, 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, 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, -376, 0, 250, 251, 252, - 253, 254, 0, 226, 227, 228, 0, 0, 0, 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, 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, + 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, 229, -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, -373, + 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, -373, 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, 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, 226, 227, 228, 0, 0, 0, 0, - 0, 0, 0, 239, 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, -376, 245, 246, + 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, 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 + 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, + 226, 227, 228, 0, 249, 0, 0, 250, 251, 252, + 253, 254, 0, 0, 0, 0, 245, 246, 247, 248, + 0, 0, 0, 0, 249, 0, 0, 250, 251, 252, + 253, 254, 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, 105, 329, 49, 27, 110, 19, - 11, 54, 27, 177, 420, 167, 502, 18, 11, 20, - 12, 22, 11, 24, 25, 16, 16, 11, 29, 13, - 13, 585, 19, 34, 35, 11, 137, 0, 202, 49, - 30, 13, 52, 11, 22, 13, 22, 48, 49, 50, - 51, 18, 103, 20, 11, 22, 13, 24, 25, 89, - 27, 15, 11, 22, 13, 52, 11, 34, 35, 23, - 272, 273, 16, 93, 276, 277, 20, 22, 93, 86, - 24, 59, 49, 519, 51, 112, 113, 94, 95, 96, - 18, 14, 99, 100, 22, 10, 24, 25, 110, 111, - 101, 16, 132, 86, 16, 20, 34, 35, 20, 24, - 10, 11, 24, 13, 86, 30, 16, 671, 86, 13, - 20, 49, 31, 51, 24, 25, 93, 132, 138, 86, - 132, 122, 122, 42, 177, 94, 95, 96, 97, 132, - 150, 132, 132, 14, 132, 165, 10, 14, 132, 635, - 165, 143, 325, 196, 197, 19, 14, 57, 102, 202, - 14, 96, 97, 315, 174, 175, 176, 177, 14, 112, - 56, 94, 95, 96, 97, 61, 612, 187, 188, 110, - 616, 283, 183, 83, 286, 132, 16, 188, 52, 22, - 20, 11, 202, 13, 24, 11, 60, 13, 165, 14, - 187, 188, 11, 639, 13, 641, 11, 643, 644, 15, - 122, 14, 11, 32, 13, 11, 35, 36, 37, 38, - 132, 188, 41, 94, 95, 96, 97, 94, 95, 96, - 97, 11, 132, 13, 670, 22, 94, 95, 96, 97, - 94, 95, 96, 97, 129, 130, 56, 263, 94, 95, - 96, 97, 25, 22, 264, 33, 34, 267, 22, 56, - 188, 94, 95, 96, 97, 22, 86, 274, 275, 593, - 132, 132, 11, 679, 22, 94, 95, 96, 97, 94, - 95, 96, 97, 56, 385, 39, 287, 254, 61, 332, - 22, 94, 95, 96, 97, 32, 460, 22, 35, 36, - 37, 38, 166, 505, 41, 14, 273, 94, 95, 96, - 97, 86, 131, 89, 70, 325, 180, 131, 86, 521, - 132, 331, 186, 187, 188, 94, 95, 96, 97, 11, - 94, 95, 96, 97, 16, 80, 81, 94, 95, 96, - 97, 131, 22, 25, 331, 13, 56, 211, 212, 213, - 214, 56, 216, 217, 218, 56, 44, 94, 95, 96, - 97, 132, 535, 11, 61, 416, 417, 16, 16, 571, - 421, 15, 117, 118, 56, 426, 427, 579, 123, 61, - 582, 126, 127, 128, 129, 130, 59, 388, 59, 131, - 80, 255, 256, 257, 258, 259, 260, 261, 262, 419, - 12, 411, 422, 90, 419, 13, 25, 422, 56, 132, - 420, 25, 428, 61, 25, 80, 25, 460, 591, 18, - 99, 388, 429, 56, 22, 432, 590, 291, 292, 293, - 294, 295, 296, 123, 11, 637, 126, 127, 128, 129, - 130, 99, 12, 132, 454, 452, 131, 12, 458, 313, - 460, 418, 419, 118, 132, 422, 292, 293, 123, 295, - 296, 126, 127, 128, 129, 130, 12, 331, 94, 95, - 96, 97, 12, 483, 12, 131, 131, 341, 94, 95, - 96, 97, 346, 16, 131, 22, 493, 132, 495, 56, - 11, 501, 502, 99, 11, 90, 483, 94, 95, 96, - 97, 94, 95, 96, 97, 131, 21, 12, 23, 519, - 131, 26, 22, 28, 29, 131, 15, 88, 528, 570, - 530, 22, 386, 387, 131, 535, 41, 578, 131, 44, - 394, 131, 583, 48, 131, 22, 45, 504, 131, 22, - 55, 56, 57, 58, 59, 555, 131, 590, 80, 81, - 82, 415, 94, 95, 96, 97, 420, 17, 609, 566, - 424, 425, 613, 131, 615, 87, 617, 618, 555, 620, - 94, 95, 96, 97, 13, 614, 592, 143, 530, 424, - 590, 591, 114, 115, 116, 117, 118, 679, 411, 605, - 445, 123, 452, 446, 126, 127, 128, 129, 130, 541, - 622, 165, 612, 467, 422, 656, 616, 131, 94, 95, - 96, 97, 419, -1, 630, 622, -1, -1, 634, 483, - -1, -1, 632, -1, -1, 635, -1, -1, -1, 639, - -1, 641, 683, 643, 644, 126, 127, 128, 129, 130, - 80, 81, 82, 610, -1, 131, -1, -1, -1, -1, - 165, -1, 619, -1, -1, -1, -1, 667, -1, 675, - 670, -1, 663, -1, 94, 95, 96, 97, -1, 679, - 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, - -1, -1, 546, 123, -1, -1, 126, 127, 128, 129, - 130, 555, 3, 4, 5, 6, 7, 8, 9, -1, - 215, 131, 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, - 614, 16, -1, -1, 19, 20, 21, 22, -1, 24, + 10, 17, 9, 177, 27, 49, 176, 11, 329, 19, + 54, 105, 420, 167, 18, 110, 20, 19, 22, 12, + 24, 25, 503, 11, 27, 29, 583, 10, 202, 11, + 34, 35, 16, 272, 273, 0, 19, 276, 277, 49, + 22, 13, 52, 137, 48, 49, 50, 51, 89, 18, + 52, 11, 11, 22, 13, 24, 25, 11, 22, 521, + 13, 11, 16, 13, 16, 34, 35, 132, 20, 52, + 93, 11, 24, 13, 13, 11, 11, 60, 13, 86, + 49, 11, 51, 13, 16, 31, 22, 94, 95, 96, + 93, 132, 99, 100, 132, 59, 42, 101, 30, 18, + 657, 20, 56, 22, 15, 24, 25, 61, 27, 16, + 110, 111, 23, 20, 86, 34, 35, 24, 580, 96, + 97, 10, 11, 132, 13, 15, 14, 16, 138, 110, + 49, 20, 51, 177, 14, 24, 25, 11, 122, 13, + 150, 14, 165, 11, 132, 13, 86, 86, 132, 630, + 143, 86, 196, 197, 112, 325, 86, 132, 202, 14, + 11, 315, 165, 11, 174, 175, 176, 177, 57, 14, + 122, 633, 634, 132, 93, 112, 113, 187, 188, 183, + 132, 14, 421, 166, 188, 187, 188, 56, 283, 25, + 122, 286, 202, 56, 83, 102, 56, 180, 61, 11, + 132, 13, 11, 186, 187, 188, 94, 95, 96, 97, + 132, 11, 14, 13, 94, 95, 96, 97, 14, 188, + 56, 94, 95, 96, 97, 61, 129, 130, 211, 212, + 213, 214, 22, 216, 217, 218, 33, 34, 103, 94, + 95, 96, 97, 132, 22, 132, 165, 263, 22, 94, + 95, 96, 97, 22, 264, 39, 664, 267, 22, 22, + 14, 94, 95, 96, 97, 22, 86, 274, 275, 188, + 591, 22, 255, 256, 257, 258, 259, 260, 261, 262, + 86, 16, 70, 287, 89, 20, 132, 461, 332, 24, + 131, 385, 94, 95, 96, 97, 131, 22, 94, 95, + 96, 97, 13, 22, 94, 95, 96, 97, 291, 292, + 293, 294, 295, 296, 56, 325, 94, 95, 96, 97, + 56, 331, 56, 16, 132, 94, 95, 96, 97, 331, + 313, 44, 61, 572, 15, 254, 11, 94, 95, 96, + 97, 16, 80, 94, 95, 96, 97, 10, 331, 59, + 25, 59, 131, 16, 273, 12, 25, 20, 341, 80, + 90, 24, 13, 346, 132, 32, 536, 30, 35, 36, + 37, 38, 25, 25, 41, 94, 95, 96, 97, 25, + 118, 56, 18, 99, 388, 123, 61, 22, 126, 127, + 128, 129, 130, 99, 292, 293, 419, 295, 296, 11, + 423, 411, 123, 386, 387, 126, 127, 128, 129, 130, + 420, 394, 56, 429, 588, 132, 419, 461, 12, 589, + 423, 12, 131, 430, 12, 132, 433, 94, 95, 96, + 97, 12, 415, 94, 95, 96, 97, 420, 94, 95, + 96, 97, 425, 426, 12, 455, 453, 131, 22, 459, + 16, 461, 32, 131, 131, 35, 36, 37, 38, 132, + 56, 41, 11, 11, 131, 94, 95, 96, 97, 388, + 131, 99, 90, 12, 484, 131, 126, 127, 128, 129, + 130, 22, 484, 131, 15, 468, 131, 494, 22, 496, + 131, 131, 502, 503, 94, 95, 96, 97, 88, 418, + 419, 484, 131, 22, 423, 21, 131, 23, 22, 45, + 26, 521, 28, 29, 94, 95, 96, 97, 17, 529, + 87, 531, 131, 13, 143, 41, 536, 610, 44, 425, + 664, 131, 48, 531, 94, 95, 96, 97, 446, 55, + 56, 57, 58, 59, 588, 411, 556, 80, 81, 82, + 447, 416, 417, 542, 556, 617, 423, 422, 453, 165, + 567, 419, 427, 428, 547, 94, 95, 96, 97, -1, + 580, 131, -1, 556, 590, -1, -1, -1, 588, 589, + -1, 114, 115, 116, 117, 118, 505, 603, -1, -1, + 123, -1, -1, 126, 127, 128, 129, 130, 94, 95, + 96, 97, 131, 94, 95, 96, 97, -1, -1, 625, + 617, -1, -1, 629, -1, -1, -1, 627, -1, -1, + 630, -1, -1, 633, 634, -1, -1, 610, -1, 72, + 94, 95, 96, 97, -1, 131, -1, 80, 81, 82, + 131, -1, -1, -1, 654, 661, 650, -1, -1, 165, + 93, -1, -1, -1, 664, 520, 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, 608, + -1, -1, -1, -1, -1, 614, -1, -1, -1, 215, + -1, -1, -1, -1, -1, 221, 571, -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, -1, -1, -1, 253, -1, -1, + -1, -1, 607, -1, -1, -1, -1, 612, 613, -1, + 615, 3, 4, 5, 6, 7, 8, 9, 0, 1, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, + -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, + 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, + 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, + 42, 43, -1, 668, 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, 472, -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, 80, 81, 82, -1, -1, -1, -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, 537, -1, -1, -1, 123, -1, -1, 126, 127, + 128, 129, 130, -1, -1, -1, -1, -1, -1, 1, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, + 12, 13, -1, 569, 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, @@ -1155,8 +1189,8 @@ static const yytype_int16 yycheck[] = 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, -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, @@ -1165,20 +1199,15 @@ static const yytype_int16 yycheck[] = 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, 536, -1, -1, -1, -1, -1, -1, -1, 10, - 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, + 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, 568, 35, 36, 37, 38, -1, 40, + 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, - 595, 62, 63, 64, 65, 66, 67, 68, 69, -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, -1, -1, 98, -1, -1, @@ -1208,18 +1237,18 @@ static const yytype_int16 yycheck[] = -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, + 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, -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, 12, + 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, @@ -1231,75 +1260,48 @@ static const yytype_int16 yycheck[] = -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, + -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, + 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, - -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, + -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, -1, -1, 13, -1, -1, 16, 98, + 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, + 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, 131, 132, 52, 53, -1, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 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, + -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, @@ -1311,7 +1313,7 @@ static const yytype_int16 yycheck[] = -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, -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, @@ -1323,7 +1325,7 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -1331,11 +1333,11 @@ 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, + -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, @@ -1343,7 +1345,7 @@ static const yytype_int16 yycheck[] = -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, @@ -1376,7 +1378,7 @@ static const yytype_int16 yycheck[] = 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, @@ -1388,61 +1390,51 @@ 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, 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, - 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, -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, -1, 80, 81, 82, 106, 107, + -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, 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, -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, 80, 81, 82, -1, -1, -1, -1, - -1, -1, -1, 109, 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, + 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, -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 + 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, -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 @@ -1450,74 +1442,72 @@ 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, 238, 239, 240, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 254, 260, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 11, 183, 1, 22, + 132, 181, 235, 236, 237, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 251, 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, 238, 257, 69, 194, 195, 196, 184, 192, 231, - 232, 192, 56, 61, 183, 269, 277, 260, 277, 252, - 277, 252, 277, 277, 252, 122, 132, 255, 269, 270, - 271, 252, 183, 252, 212, 212, 213, 277, 277, 253, - 13, 132, 252, 212, 252, 132, 132, 89, 132, 183, - 252, 56, 184, 239, 259, 269, 277, 183, 277, 260, - 56, 61, 215, 239, 252, 252, 252, 252, 252, 131, - 238, 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, 235, 254, 69, 191, 192, 193, 181, 189, 228, + 229, 189, 56, 61, 180, 266, 274, 257, 274, 249, + 274, 249, 274, 274, 249, 122, 132, 252, 266, 267, + 268, 249, 180, 249, 209, 209, 210, 274, 274, 250, + 13, 132, 249, 209, 249, 132, 132, 89, 132, 180, + 249, 56, 181, 236, 256, 266, 274, 180, 274, 257, + 56, 61, 212, 236, 249, 249, 249, 249, 249, 131, + 235, 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, 256, 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, 221, 222, 223, 224, 226, - 227, 228, 14, 132, 252, 255, 269, 270, 271, 131, - 238, 86, 218, 70, 184, 216, 86, 184, 217, 217, - 259, 132, 89, 238, 131, 183, 131, 131, 238, 260, - 260, 277, 239, 239, 22, 259, 13, 131, 238, 238, - 238, 238, 252, 238, 238, 131, 238, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 10, 11, 13, 16, 20, - 24, 25, 57, 83, 132, 242, 269, 131, 238, 238, - 238, 238, 238, 238, 238, 238, 192, 56, 184, 210, - 56, 56, 184, 218, 219, 132, 181, 181, 30, 122, - 132, 181, 267, 269, 186, 186, 181, 181, 188, 44, - 177, 211, 167, 211, 183, 199, 238, 199, 199, 207, - 238, 199, 199, 61, 220, 16, 15, 131, 238, 218, - 131, 59, 217, 59, 186, 236, 236, 260, 239, 14, - 241, 131, 90, 131, 238, 12, 238, 13, 22, 14, - 131, 102, 25, 215, 238, 238, 25, 25, 25, 25, - 25, 131, 238, 132, 131, 22, 14, 22, 14, 22, - 14, 22, 12, 18, 185, 11, 22, 219, 99, 208, - 238, 187, 187, 122, 132, 262, 269, 30, 265, 266, - 268, 269, 270, 271, 184, 200, 205, 209, 238, 187, - 265, 156, 207, 206, 238, 187, 187, 192, 186, 56, - 171, 22, 186, 233, 234, 169, 99, 220, 226, 131, - 234, 132, 184, 229, 230, 131, 23, 184, 261, 259, - 131, 14, 238, 12, 252, 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, 252, 99, 231, 11, 238, 90, - 14, 260, 12, 131, 22, 165, 186, 252, 187, 181, - 15, 155, 187, 181, 152, 181, 187, 204, 204, 190, - 173, 259, 217, 192, 22, 235, 236, 225, 252, 131, - 237, 131, 88, 192, 145, 187, 269, 131, 202, 187, - 206, 187, 202, 187, 187, 269, 187, 22, 233, 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, 253, 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, 218, 219, 220, 221, 223, + 224, 225, 14, 132, 249, 252, 266, 267, 268, 131, + 235, 86, 215, 70, 181, 213, 86, 181, 214, 214, + 256, 132, 89, 235, 131, 180, 131, 131, 235, 257, + 257, 274, 236, 236, 22, 256, 13, 131, 235, 235, + 235, 235, 249, 235, 235, 131, 235, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 10, 11, 13, 16, 20, + 24, 25, 57, 83, 132, 239, 266, 131, 235, 235, + 235, 235, 235, 235, 235, 235, 189, 56, 181, 207, + 56, 56, 181, 215, 216, 132, 178, 178, 30, 122, + 132, 177, 178, 264, 266, 183, 183, 178, 178, 185, + 44, 173, 208, 163, 208, 180, 196, 235, 196, 196, + 204, 235, 196, 196, 61, 217, 16, 15, 131, 235, + 215, 131, 59, 214, 59, 183, 233, 233, 257, 236, + 14, 238, 131, 90, 131, 235, 12, 235, 13, 22, + 14, 131, 102, 25, 212, 235, 235, 25, 25, 25, + 25, 25, 131, 235, 132, 131, 22, 14, 22, 14, + 22, 14, 22, 12, 18, 182, 11, 22, 216, 99, + 205, 235, 184, 184, 122, 132, 259, 266, 30, 262, + 263, 265, 266, 267, 268, 181, 197, 202, 206, 235, + 178, 184, 262, 204, 203, 235, 184, 184, 189, 183, + 56, 167, 22, 183, 230, 231, 165, 99, 217, 223, + 131, 231, 132, 181, 226, 227, 131, 23, 181, 258, + 256, 131, 14, 235, 12, 249, 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, 249, 99, 228, 11, 235, 90, 14, 257, + 12, 131, 22, 161, 183, 249, 184, 178, 15, 131, + 152, 199, 201, 201, 187, 169, 256, 214, 189, 22, + 232, 233, 222, 249, 131, 234, 131, 88, 189, 145, + 184, 266, 203, 184, 184, 266, 184, 22, 230, 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. */ @@ -1526,41 +1516,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, 222, 222, 222, 223, 223, - 224, 224, 225, 225, 226, 226, 227, 227, 227, 228, - 228, 229, 229, 230, 232, 231, 233, 233, 234, 235, - 235, 237, 236, 238, 238, 238, 238, 238, 239, 239, - 239, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 241, 240, 242, 242, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, - 247, 247, 247, 247, 248, 248, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, - 250, 250, 250, 251, 251, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 253, 252, 252, 252, 252, 254, 254, - 254, 254, 255, 255, 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, 219, 219, 219, 220, 220, 221, 221, 222, + 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, + 227, 229, 228, 230, 230, 231, 232, 232, 234, 233, + 235, 235, 235, 235, 235, 236, 236, 236, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 238, 237, 239, 239, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 242, 242, 242, 242, 242, 243, 243, 244, 244, 244, + 244, 245, 245, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, + 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 250, 249, 249, 249, 249, 251, 251, 251, 251, 252, + 252, 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. */ @@ -1568,42 +1558,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, 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, 1, - 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, - 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, 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, 1, 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, 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 { @@ -1646,36 +1636,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_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_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_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_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_opval, toketype_pval, toketype_opval, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval + toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: - * 105f4c5c8c05b4137f25dcf3455ca8b8b19ade6b57b6ca8a4e85c02a3cd4aff0 perly.y + * 79b790bd3089e5926f207bbe6d99198f140aaaf5a5a4bd4a6318360abb98a430 perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index 1d900eeb3f75..6d845ebb8e91 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