From c9c5e7c2598f386be8ce2146df62d588955a79f1 Mon Sep 17 00:00:00 2001 From: xensik Date: Tue, 15 Feb 2022 20:01:20 +0100 Subject: [PATCH] fix parser build --- gen/h1/parser.ypp | 8 - gen/h2/parser.ypp | 8 - gen/iw5/parser.ypp | 8 - gen/iw6/parser.ypp | 8 - gen/iw7/parser.ypp | 8 - gen/iw8/parser.ypp | 8 - gen/s1/parser.ypp | 8 - gen/s2/parser.ypp | 8 - gen/s4/parser.ypp | 8 - src/h1/xsk/parser.cpp | 2293 ++++++++++++++++++------------------- src/h1/xsk/parser.hpp | 380 +++---- src/h2/xsk/parser.cpp | 2293 ++++++++++++++++++------------------- src/h2/xsk/parser.hpp | 380 +++---- src/iw5/xsk/parser.cpp | 2319 +++++++++++++++++++------------------ src/iw5/xsk/parser.hpp | 376 +++--- src/iw6/xsk/parser.cpp | 2319 +++++++++++++++++++------------------ src/iw6/xsk/parser.hpp | 376 +++--- src/iw7/xsk/parser.cpp | 2319 +++++++++++++++++++------------------ src/iw7/xsk/parser.hpp | 376 +++--- src/iw8/xsk/parser.cpp | 2440 +++++++++++++++++++-------------------- src/iw8/xsk/parser.hpp | 388 +++---- src/s1/xsk/parser.cpp | 2293 ++++++++++++++++++------------------- src/s1/xsk/parser.hpp | 380 +++---- src/s2/xsk/parser.cpp | 2469 ++++++++++++++++++++-------------------- src/s2/xsk/parser.hpp | 384 +++---- src/s4/xsk/parser.cpp | 2440 +++++++++++++++++++-------------------- src/s4/xsk/parser.hpp | 388 +++---- 27 files changed, 11934 insertions(+), 12751 deletions(-) diff --git a/gen/h1/parser.ypp b/gen/h1/parser.ypp index 8a95c35b..c98fdfb8 100644 --- a/gen/h1/parser.ypp +++ b/gen/h1/parser.ypp @@ -140,7 +140,6 @@ xsk::gsc::h1::parser::symbol_type H1lex(xsk::gsc::h1::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -218,7 +217,6 @@ xsk::gsc::h1::parser::symbol_type H1lex(xsk::gsc::h1::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -631,7 +629,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -820,11 +817,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/h2/parser.ypp b/gen/h2/parser.ypp index 48d32112..1eac61b6 100644 --- a/gen/h2/parser.ypp +++ b/gen/h2/parser.ypp @@ -138,7 +138,6 @@ xsk::gsc::h2::parser::symbol_type H2lex(xsk::gsc::h2::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -216,7 +215,6 @@ xsk::gsc::h2::parser::symbol_type H2lex(xsk::gsc::h2::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -629,7 +627,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -818,11 +815,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/iw5/parser.ypp b/gen/iw5/parser.ypp index ab17058a..302344e7 100644 --- a/gen/iw5/parser.ypp +++ b/gen/iw5/parser.ypp @@ -137,7 +137,6 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(xsk::gsc::iw5::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -214,7 +213,6 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(xsk::gsc::iw5::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -619,7 +617,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -808,11 +805,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/iw6/parser.ypp b/gen/iw6/parser.ypp index a27511c5..bf1b2bc7 100644 --- a/gen/iw6/parser.ypp +++ b/gen/iw6/parser.ypp @@ -137,7 +137,6 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(xsk::gsc::iw6::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -214,7 +213,6 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(xsk::gsc::iw6::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -619,7 +617,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -808,11 +805,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/iw7/parser.ypp b/gen/iw7/parser.ypp index 72f68bcc..95d15b13 100644 --- a/gen/iw7/parser.ypp +++ b/gen/iw7/parser.ypp @@ -137,7 +137,6 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(xsk::gsc::iw7::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -214,7 +213,6 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(xsk::gsc::iw7::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -619,7 +617,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -808,11 +805,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/iw8/parser.ypp b/gen/iw8/parser.ypp index 7150c9dc..78d356fe 100644 --- a/gen/iw8/parser.ypp +++ b/gen/iw8/parser.ypp @@ -140,7 +140,6 @@ xsk::gsc::iw8::parser::symbol_type IW8lex(xsk::gsc::iw8::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -220,7 +219,6 @@ xsk::gsc::iw8::parser::symbol_type IW8lex(xsk::gsc::iw8::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -635,7 +633,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -834,11 +831,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/s1/parser.ypp b/gen/s1/parser.ypp index cf09fb36..3d1235bc 100644 --- a/gen/s1/parser.ypp +++ b/gen/s1/parser.ypp @@ -138,7 +138,6 @@ xsk::gsc::s1::parser::symbol_type S1lex(xsk::gsc::s1::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -216,7 +215,6 @@ xsk::gsc::s1::parser::symbol_type S1lex(xsk::gsc::s1::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -629,7 +627,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -818,11 +815,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/s2/parser.ypp b/gen/s2/parser.ypp index 25ea6c51..b87093aa 100644 --- a/gen/s2/parser.ypp +++ b/gen/s2/parser.ypp @@ -138,7 +138,6 @@ xsk::gsc::s2::parser::symbol_type S2lex(xsk::gsc::s2::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -216,7 +215,6 @@ xsk::gsc::s2::parser::symbol_type S2lex(xsk::gsc::s2::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -629,7 +627,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -818,11 +815,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/gen/s4/parser.ypp b/gen/s4/parser.ypp index bc93d7b8..84547c8e 100644 --- a/gen/s4/parser.ypp +++ b/gen/s4/parser.ypp @@ -140,7 +140,6 @@ xsk::gsc::s4::parser::symbol_type S4lex(xsk::gsc::s4::lexer& lexer); %token IDENTIFIER "identifier" %token STRING "string literal" %token ISTRING "localized string" -%token COLOR "color" %token FLOAT "float" %token INTEGER "integer" @@ -220,7 +219,6 @@ xsk::gsc::s4::parser::symbol_type S4lex(xsk::gsc::s4::lexer& lexer); %type expr_path %type expr_istring %type expr_string -%type expr_color %type expr_vector %type expr_float %type expr_integer @@ -635,7 +633,6 @@ expr_primitive | expr_identifier { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); } | expr_string { $$.as_node = std::move($1); } - | expr_color { $$.as_node = std::move($1); } | expr_vector { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); } @@ -834,11 +831,6 @@ expr_string { $$ = std::make_unique(@$, $1); }; ; -expr_color - : COLOR - { $$ = std::make_unique(@$, $1); }; - ; - expr_vector : LPAREN expr COMMA expr COMMA expr RPAREN { $$ = std::make_unique(@$, std::move($2), std::move($4), std::move($6)); }; diff --git a/src/h1/xsk/parser.cpp b/src/h1/xsk/parser.cpp index 738eac19..c0b0d082 100644 --- a/src/h1/xsk/parser.cpp +++ b/src/h1/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace h1 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -501,7 +497,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -584,10 +579,6 @@ namespace xsk { namespace gsc { namespace h1 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -808,7 +799,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -891,10 +881,6 @@ namespace xsk { namespace gsc { namespace h1 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1115,7 +1101,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1197,10 +1182,6 @@ namespace xsk { namespace gsc { namespace h1 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1421,7 +1402,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1758,10 +1738,6 @@ namespace xsk { namespace gsc { namespace h1 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1982,7 +1958,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2009,1327 +1984,1315 @@ namespace xsk { namespace gsc { namespace h1 { switch (yyn) { case 2: // root: program -#line 258 "parser.ypp" +#line 256 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 2015 "parser.cpp" +#line 1990 "parser.cpp" break; case 3: // root: %empty -#line 259 "parser.ypp" +#line 257 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2021 "parser.cpp" +#line 1996 "parser.cpp" break; case 4: // program: program inline -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2027 "parser.cpp" +#line 2002 "parser.cpp" break; case 5: // program: program include -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2033 "parser.cpp" +#line 2008 "parser.cpp" break; case 6: // program: program declaration -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2039 "parser.cpp" +#line 2014 "parser.cpp" break; case 7: // program: inline -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2045 "parser.cpp" +#line 2020 "parser.cpp" break; case 8: // program: include -#line 272 "parser.ypp" +#line 270 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2051 "parser.cpp" +#line 2026 "parser.cpp" break; case 9: // program: declaration -#line 274 "parser.ypp" +#line 272 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2057 "parser.cpp" +#line 2032 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 278 "parser.ypp" +#line 276 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2063 "parser.cpp" +#line 2038 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 283 "parser.ypp" +#line 281 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2069 "parser.cpp" +#line 2044 "parser.cpp" break; case 12: // declaration: "/#" -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2075 "parser.cpp" +#line 2050 "parser.cpp" break; case 13: // declaration: "#/" -#line 288 "parser.ypp" +#line 286 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2081 "parser.cpp" +#line 2056 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 289 "parser.ypp" +#line 287 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2087 "parser.cpp" +#line 2062 "parser.cpp" break; case 15: // declaration: decl_constant -#line 290 "parser.ypp" +#line 288 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2093 "parser.cpp" +#line 2068 "parser.cpp" break; case 16: // declaration: decl_thread -#line 291 "parser.ypp" +#line 289 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2099 "parser.cpp" +#line 2074 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 296 "parser.ypp" +#line 294 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2105 "parser.cpp" +#line 2080 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 301 "parser.ypp" +#line 299 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2111 "parser.cpp" +#line 2086 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 306 "parser.ypp" +#line 304 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2117 "parser.cpp" +#line 2092 "parser.cpp" break; case 20: // stmt: stmt_block -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2123 "parser.cpp" +#line 2098 "parser.cpp" break; case 21: // stmt: stmt_call -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2129 "parser.cpp" +#line 2104 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2135 "parser.cpp" +#line 2110 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2141 "parser.cpp" +#line 2116 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2147 "parser.cpp" +#line 2122 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2153 "parser.cpp" +#line 2128 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2159 "parser.cpp" +#line 2134 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2165 "parser.cpp" +#line 2140 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2171 "parser.cpp" +#line 2146 "parser.cpp" break; case 29: // stmt: stmt_waitframe -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } -#line 2177 "parser.cpp" +#line 2152 "parser.cpp" break; case 30: // stmt: stmt_if -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2183 "parser.cpp" +#line 2158 "parser.cpp" break; case 31: // stmt: stmt_ifelse -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2189 "parser.cpp" +#line 2164 "parser.cpp" break; case 32: // stmt: stmt_while -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2195 "parser.cpp" +#line 2170 "parser.cpp" break; case 33: // stmt: stmt_dowhile -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2201 "parser.cpp" +#line 2176 "parser.cpp" break; case 34: // stmt: stmt_for -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2207 "parser.cpp" +#line 2182 "parser.cpp" break; case 35: // stmt: stmt_foreach -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2213 "parser.cpp" +#line 2188 "parser.cpp" break; case 36: // stmt: stmt_switch -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2219 "parser.cpp" +#line 2194 "parser.cpp" break; case 37: // stmt: stmt_case -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2225 "parser.cpp" +#line 2200 "parser.cpp" break; case 38: // stmt: stmt_default -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2231 "parser.cpp" +#line 2206 "parser.cpp" break; case 39: // stmt: stmt_break -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2237 "parser.cpp" +#line 2212 "parser.cpp" break; case 40: // stmt: stmt_continue -#line 330 "parser.ypp" +#line 328 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2243 "parser.cpp" +#line 2218 "parser.cpp" break; case 41: // stmt: stmt_return -#line 331 "parser.ypp" +#line 329 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2249 "parser.cpp" +#line 2224 "parser.cpp" break; case 42: // stmt: stmt_breakpoint -#line 332 "parser.ypp" +#line 330 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2255 "parser.cpp" +#line 2230 "parser.cpp" break; case 43: // stmt: stmt_prof_begin -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2261 "parser.cpp" +#line 2236 "parser.cpp" break; case 44: // stmt: stmt_prof_end -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2267 "parser.cpp" +#line 2242 "parser.cpp" break; case 45: // stmt_or_dev: stmt -#line 338 "parser.ypp" +#line 336 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2273 "parser.cpp" +#line 2248 "parser.cpp" break; case 46: // stmt_or_dev: stmt_dev -#line 339 "parser.ypp" +#line 337 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2279 "parser.cpp" +#line 2254 "parser.cpp" break; case 47: // stmt_list: stmt_list stmt -#line 344 "parser.ypp" +#line 342 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2285 "parser.cpp" +#line 2260 "parser.cpp" break; case 48: // stmt_list: stmt -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2291 "parser.cpp" +#line 2266 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 351 "parser.ypp" +#line 349 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2297 "parser.cpp" +#line 2272 "parser.cpp" break; case 50: // stmt_or_dev_list: stmt_or_dev -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2303 "parser.cpp" +#line 2278 "parser.cpp" break; case 51: // stmt_dev: "/#" stmt_list "#/" -#line 357 "parser.ypp" +#line 355 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2309 "parser.cpp" +#line 2284 "parser.cpp" break; case 52: // stmt_dev: "/#" "#/" -#line 358 "parser.ypp" +#line 356 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2315 "parser.cpp" +#line 2290 "parser.cpp" break; case 53: // stmt_block: "{" stmt_or_dev_list "}" -#line 362 "parser.ypp" +#line 360 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2321 "parser.cpp" +#line 2296 "parser.cpp" break; case 54: // stmt_block: "{" "}" -#line 363 "parser.ypp" +#line 361 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2327 "parser.cpp" +#line 2302 "parser.cpp" break; case 55: // stmt_expr: expr_assign -#line 368 "parser.ypp" +#line 366 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2333 "parser.cpp" +#line 2308 "parser.cpp" break; case 56: // stmt_expr: expr_increment -#line 370 "parser.ypp" +#line 368 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2339 "parser.cpp" +#line 2314 "parser.cpp" break; case 57: // stmt_expr: expr_decrement -#line 372 "parser.ypp" +#line 370 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2345 "parser.cpp" +#line 2320 "parser.cpp" break; case 58: // stmt_expr: %empty -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2351 "parser.cpp" +#line 2326 "parser.cpp" break; case 59: // stmt_call: expr_call ";" -#line 379 "parser.ypp" +#line 377 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2357 "parser.cpp" +#line 2332 "parser.cpp" break; case 60: // stmt_call: expr_method ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2363 "parser.cpp" +#line 2338 "parser.cpp" break; case 61: // stmt_assign: expr_assign ";" -#line 386 "parser.ypp" +#line 384 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2369 "parser.cpp" +#line 2344 "parser.cpp" break; case 62: // stmt_assign: expr_increment ";" -#line 388 "parser.ypp" +#line 386 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2375 "parser.cpp" +#line 2350 "parser.cpp" break; case 63: // stmt_assign: expr_decrement ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2381 "parser.cpp" +#line 2356 "parser.cpp" break; case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 395 "parser.ypp" +#line 393 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2387 "parser.cpp" +#line 2362 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 400 "parser.ypp" +#line 398 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2393 "parser.cpp" +#line 2368 "parser.cpp" break; case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2399 "parser.cpp" +#line 2374 "parser.cpp" break; case 67: // stmt_wait: "wait" expr ";" -#line 407 "parser.ypp" +#line 405 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2405 "parser.cpp" +#line 2380 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 412 "parser.ypp" +#line 410 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2411 "parser.cpp" +#line 2386 "parser.cpp" break; case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2417 "parser.cpp" +#line 2392 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 419 "parser.ypp" +#line 417 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2423 "parser.cpp" +#line 2398 "parser.cpp" break; case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2429 "parser.cpp" +#line 2404 "parser.cpp" break; case 72: // stmt_waittillframeend: "waittillframeend" ";" -#line 426 "parser.ypp" +#line 424 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2435 "parser.cpp" +#line 2410 "parser.cpp" break; case 73: // stmt_waitframe: "waitframe" ";" -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2441 "parser.cpp" +#line 2416 "parser.cpp" break; case 74: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 433 "parser.ypp" +#line 431 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2447 "parser.cpp" +#line 2422 "parser.cpp" break; case 75: // stmt_if: "if" "(" expr ")" stmt -#line 438 "parser.ypp" +#line 436 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2453 "parser.cpp" +#line 2428 "parser.cpp" break; case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 443 "parser.ypp" +#line 441 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2459 "parser.cpp" +#line 2434 "parser.cpp" break; case 77: // stmt_while: "while" "(" expr ")" stmt -#line 448 "parser.ypp" +#line 446 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2465 "parser.cpp" +#line 2440 "parser.cpp" break; case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 453 "parser.ypp" +#line 451 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2471 "parser.cpp" +#line 2446 "parser.cpp" break; case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 458 "parser.ypp" +#line 456 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2477 "parser.cpp" +#line 2452 "parser.cpp" break; case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2483 "parser.cpp" +#line 2458 "parser.cpp" break; case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2489 "parser.cpp" +#line 2464 "parser.cpp" break; case 82: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 470 "parser.ypp" +#line 468 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2495 "parser.cpp" +#line 2470 "parser.cpp" break; case 83: // stmt_case: "case" expr_integer ":" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2501 "parser.cpp" +#line 2476 "parser.cpp" break; case 84: // stmt_case: "case" expr_string ":" -#line 477 "parser.ypp" +#line 475 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2507 "parser.cpp" +#line 2482 "parser.cpp" break; case 85: // stmt_default: "default" ":" -#line 482 "parser.ypp" +#line 480 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2513 "parser.cpp" +#line 2488 "parser.cpp" break; case 86: // stmt_break: "break" ";" -#line 487 "parser.ypp" +#line 485 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2519 "parser.cpp" +#line 2494 "parser.cpp" break; case 87: // stmt_continue: "continue" ";" -#line 492 "parser.ypp" +#line 490 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2525 "parser.cpp" +#line 2500 "parser.cpp" break; case 88: // stmt_return: "return" expr ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2531 "parser.cpp" +#line 2506 "parser.cpp" break; case 89: // stmt_return: "return" ";" -#line 499 "parser.ypp" +#line 497 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2537 "parser.cpp" +#line 2512 "parser.cpp" break; case 90: // stmt_breakpoint: "breakpoint" ";" -#line 504 "parser.ypp" +#line 502 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2543 "parser.cpp" +#line 2518 "parser.cpp" break; case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 509 "parser.ypp" +#line 507 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2549 "parser.cpp" +#line 2524 "parser.cpp" break; case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 514 "parser.ypp" +#line 512 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2555 "parser.cpp" +#line 2530 "parser.cpp" break; case 93: // expr: expr_ternary -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2561 "parser.cpp" +#line 2536 "parser.cpp" break; case 94: // expr: expr_binary -#line 519 "parser.ypp" +#line 517 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2567 "parser.cpp" +#line 2542 "parser.cpp" break; case 95: // expr: expr_primitive -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2573 "parser.cpp" +#line 2548 "parser.cpp" break; case 96: // expr_or_empty: expr -#line 524 "parser.ypp" +#line 522 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2579 "parser.cpp" +#line 2554 "parser.cpp" break; case 97: // expr_or_empty: %empty -#line 525 "parser.ypp" +#line 523 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2585 "parser.cpp" +#line 2560 "parser.cpp" break; case 98: // expr_assign: expr_object "=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2591 "parser.cpp" +#line 2566 "parser.cpp" break; case 99: // expr_assign: expr_object "|=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2597 "parser.cpp" +#line 2572 "parser.cpp" break; case 100: // expr_assign: expr_object "&=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2603 "parser.cpp" +#line 2578 "parser.cpp" break; case 101: // expr_assign: expr_object "^=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2609 "parser.cpp" +#line 2584 "parser.cpp" break; case 102: // expr_assign: expr_object "<<=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2615 "parser.cpp" +#line 2590 "parser.cpp" break; case 103: // expr_assign: expr_object ">>=" expr -#line 540 "parser.ypp" +#line 538 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2621 "parser.cpp" +#line 2596 "parser.cpp" break; case 104: // expr_assign: expr_object "+=" expr -#line 542 "parser.ypp" +#line 540 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2627 "parser.cpp" +#line 2602 "parser.cpp" break; case 105: // expr_assign: expr_object "-=" expr -#line 544 "parser.ypp" +#line 542 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2633 "parser.cpp" +#line 2608 "parser.cpp" break; case 106: // expr_assign: expr_object "*=" expr -#line 546 "parser.ypp" +#line 544 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2639 "parser.cpp" +#line 2614 "parser.cpp" break; case 107: // expr_assign: expr_object "/=" expr -#line 548 "parser.ypp" +#line 546 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2645 "parser.cpp" +#line 2620 "parser.cpp" break; case 108: // expr_assign: expr_object "%=" expr -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2651 "parser.cpp" +#line 2626 "parser.cpp" break; case 109: // expr_increment: "++" expr_object -#line 555 "parser.ypp" +#line 553 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2657 "parser.cpp" +#line 2632 "parser.cpp" break; case 110: // expr_increment: expr_object "++" -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2663 "parser.cpp" +#line 2638 "parser.cpp" break; case 111: // expr_decrement: "--" expr_object -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2669 "parser.cpp" +#line 2644 "parser.cpp" break; case 112: // expr_decrement: expr_object "--" -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2675 "parser.cpp" +#line 2650 "parser.cpp" break; case 113: // expr_ternary: expr "?" expr ":" expr -#line 569 "parser.ypp" +#line 567 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2681 "parser.cpp" +#line 2656 "parser.cpp" break; case 114: // expr_binary: expr "||" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2687 "parser.cpp" +#line 2662 "parser.cpp" break; case 115: // expr_binary: expr "&&" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2693 "parser.cpp" +#line 2668 "parser.cpp" break; case 116: // expr_binary: expr "==" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2699 "parser.cpp" +#line 2674 "parser.cpp" break; case 117: // expr_binary: expr "!=" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2705 "parser.cpp" +#line 2680 "parser.cpp" break; case 118: // expr_binary: expr "<=" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2711 "parser.cpp" +#line 2686 "parser.cpp" break; case 119: // expr_binary: expr ">=" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2717 "parser.cpp" +#line 2692 "parser.cpp" break; case 120: // expr_binary: expr "<" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2723 "parser.cpp" +#line 2698 "parser.cpp" break; case 121: // expr_binary: expr ">" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2729 "parser.cpp" +#line 2704 "parser.cpp" break; case 122: // expr_binary: expr "|" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2735 "parser.cpp" +#line 2710 "parser.cpp" break; case 123: // expr_binary: expr "&" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2741 "parser.cpp" +#line 2716 "parser.cpp" break; case 124: // expr_binary: expr "^" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2747 "parser.cpp" +#line 2722 "parser.cpp" break; case 125: // expr_binary: expr "<<" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2753 "parser.cpp" +#line 2728 "parser.cpp" break; case 126: // expr_binary: expr ">>" expr -#line 598 "parser.ypp" +#line 596 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2759 "parser.cpp" +#line 2734 "parser.cpp" break; case 127: // expr_binary: expr "+" expr -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2765 "parser.cpp" +#line 2740 "parser.cpp" break; case 128: // expr_binary: expr "-" expr -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2771 "parser.cpp" +#line 2746 "parser.cpp" break; case 129: // expr_binary: expr "*" expr -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2777 "parser.cpp" +#line 2752 "parser.cpp" break; case 130: // expr_binary: expr "/" expr -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2783 "parser.cpp" +#line 2758 "parser.cpp" break; case 131: // expr_binary: expr "%" expr -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2789 "parser.cpp" +#line 2764 "parser.cpp" break; case 132: // expr_primitive: expr_complement -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2795 "parser.cpp" +#line 2770 "parser.cpp" break; case 133: // expr_primitive: expr_not -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2801 "parser.cpp" +#line 2776 "parser.cpp" break; case 134: // expr_primitive: expr_call -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2807 "parser.cpp" +#line 2782 "parser.cpp" break; case 135: // expr_primitive: expr_method -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2813 "parser.cpp" +#line 2788 "parser.cpp" break; case 136: // expr_primitive: expr_add_array -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2819 "parser.cpp" +#line 2794 "parser.cpp" break; case 137: // expr_primitive: expr_reference -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2825 "parser.cpp" +#line 2800 "parser.cpp" break; case 138: // expr_primitive: expr_array -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2831 "parser.cpp" +#line 2806 "parser.cpp" break; case 139: // expr_primitive: expr_field -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2837 "parser.cpp" +#line 2812 "parser.cpp" break; case 140: // expr_primitive: expr_size -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2843 "parser.cpp" +#line 2818 "parser.cpp" break; case 141: // expr_primitive: expr_paren -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2849 "parser.cpp" +#line 2824 "parser.cpp" break; case 142: // expr_primitive: expr_thisthread -#line 622 "parser.ypp" +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2855 "parser.cpp" +#line 2830 "parser.cpp" break; case 143: // expr_primitive: expr_empty_array -#line 623 "parser.ypp" +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2861 "parser.cpp" +#line 2836 "parser.cpp" break; case 144: // expr_primitive: expr_undefined -#line 624 "parser.ypp" +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2867 "parser.cpp" +#line 2842 "parser.cpp" break; case 145: // expr_primitive: expr_game -#line 625 "parser.ypp" +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2873 "parser.cpp" +#line 2848 "parser.cpp" break; case 146: // expr_primitive: expr_self -#line 626 "parser.ypp" +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2879 "parser.cpp" +#line 2854 "parser.cpp" break; case 147: // expr_primitive: expr_anim -#line 627 "parser.ypp" +#line 625 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2885 "parser.cpp" +#line 2860 "parser.cpp" break; case 148: // expr_primitive: expr_level -#line 628 "parser.ypp" +#line 626 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2891 "parser.cpp" +#line 2866 "parser.cpp" break; case 149: // expr_primitive: expr_animation -#line 629 "parser.ypp" +#line 627 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2897 "parser.cpp" +#line 2872 "parser.cpp" break; case 150: // expr_primitive: expr_animtree -#line 630 "parser.ypp" +#line 628 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2903 "parser.cpp" +#line 2878 "parser.cpp" break; case 151: // expr_primitive: expr_identifier -#line 631 "parser.ypp" +#line 629 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2909 "parser.cpp" +#line 2884 "parser.cpp" break; case 152: // expr_primitive: expr_istring -#line 632 "parser.ypp" +#line 630 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2915 "parser.cpp" +#line 2890 "parser.cpp" break; case 153: // expr_primitive: expr_string -#line 633 "parser.ypp" +#line 631 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2921 "parser.cpp" +#line 2896 "parser.cpp" break; - case 154: // expr_primitive: expr_color -#line 634 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2927 "parser.cpp" - break; - - case 155: // expr_primitive: expr_vector -#line 635 "parser.ypp" + case 154: // expr_primitive: expr_vector +#line 632 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2933 "parser.cpp" +#line 2902 "parser.cpp" break; - case 156: // expr_primitive: expr_float -#line 636 "parser.ypp" + case 155: // expr_primitive: expr_float +#line 633 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2939 "parser.cpp" +#line 2908 "parser.cpp" break; - case 157: // expr_primitive: expr_integer -#line 637 "parser.ypp" + case 156: // expr_primitive: expr_integer +#line 634 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2945 "parser.cpp" +#line 2914 "parser.cpp" break; - case 158: // expr_primitive: expr_false -#line 638 "parser.ypp" + case 157: // expr_primitive: expr_false +#line 635 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2951 "parser.cpp" +#line 2920 "parser.cpp" break; - case 159: // expr_primitive: expr_true -#line 639 "parser.ypp" + case 158: // expr_primitive: expr_true +#line 636 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2957 "parser.cpp" +#line 2926 "parser.cpp" break; - case 160: // expr_complement: "~" expr -#line 644 "parser.ypp" + case 159: // expr_complement: "~" expr +#line 641 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2963 "parser.cpp" +#line 2932 "parser.cpp" break; - case 161: // expr_not: "!" expr -#line 649 "parser.ypp" + case 160: // expr_not: "!" expr +#line 646 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2969 "parser.cpp" +#line 2938 "parser.cpp" break; - case 162: // expr_call: expr_function -#line 653 "parser.ypp" + case 161: // expr_call: expr_function +#line 650 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2975 "parser.cpp" +#line 2944 "parser.cpp" break; - case 163: // expr_call: expr_pointer + case 162: // expr_call: expr_pointer +#line 651 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2950 "parser.cpp" + break; + + case 163: // expr_method: expr_object expr_function #line 654 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2981 "parser.cpp" - break; - - case 164: // expr_method: expr_object expr_function -#line 657 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2987 "parser.cpp" +#line 2956 "parser.cpp" break; - case 165: // expr_method: expr_object expr_pointer -#line 658 "parser.ypp" + case 164: // expr_method: expr_object expr_pointer +#line 655 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2993 "parser.cpp" +#line 2962 "parser.cpp" break; - case 166: // expr_function: expr_identifier "(" expr_arguments ")" -#line 663 "parser.ypp" + case 165: // expr_function: expr_identifier "(" expr_arguments ")" +#line 660 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2999 "parser.cpp" +#line 2968 "parser.cpp" break; - case 167: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 665 "parser.ypp" + case 166: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 662 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3005 "parser.cpp" +#line 2974 "parser.cpp" break; - case 168: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 667 "parser.ypp" + case 167: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3011 "parser.cpp" +#line 2980 "parser.cpp" break; - case 169: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 669 "parser.ypp" + case 168: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3017 "parser.cpp" +#line 2986 "parser.cpp" break; - case 170: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 671 "parser.ypp" + case 169: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3023 "parser.cpp" +#line 2992 "parser.cpp" break; - case 171: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 673 "parser.ypp" + case 170: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 670 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3029 "parser.cpp" +#line 2998 "parser.cpp" break; - case 172: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 678 "parser.ypp" + case 171: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 675 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3035 "parser.cpp" +#line 3004 "parser.cpp" break; - case 173: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 680 "parser.ypp" + case 172: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 677 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3041 "parser.cpp" +#line 3010 "parser.cpp" break; - case 174: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 682 "parser.ypp" + case 173: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 679 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3047 "parser.cpp" +#line 3016 "parser.cpp" break; - case 175: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 684 "parser.ypp" + case 174: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 681 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3053 "parser.cpp" +#line 3022 "parser.cpp" break; - case 176: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 689 "parser.ypp" + case 175: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 686 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3059 "parser.cpp" +#line 3028 "parser.cpp" break; - case 177: // expr_parameters: expr_parameters "," expr_identifier -#line 694 "parser.ypp" + case 176: // expr_parameters: expr_parameters "," expr_identifier +#line 691 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3065 "parser.cpp" +#line 3034 "parser.cpp" break; - case 178: // expr_parameters: expr_identifier -#line 696 "parser.ypp" + case 177: // expr_parameters: expr_identifier +#line 693 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3071 "parser.cpp" +#line 3040 "parser.cpp" break; - case 179: // expr_parameters: %empty -#line 698 "parser.ypp" + case 178: // expr_parameters: %empty +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3077 "parser.cpp" +#line 3046 "parser.cpp" break; - case 180: // expr_arguments: expr_arguments_no_empty -#line 703 "parser.ypp" + case 179: // expr_arguments: expr_arguments_no_empty +#line 700 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3083 "parser.cpp" +#line 3052 "parser.cpp" break; - case 181: // expr_arguments: %empty -#line 705 "parser.ypp" + case 180: // expr_arguments: %empty +#line 702 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3089 "parser.cpp" +#line 3058 "parser.cpp" break; - case 182: // expr_arguments_no_empty: expr_arguments "," expr -#line 710 "parser.ypp" + case 181: // expr_arguments_no_empty: expr_arguments "," expr +#line 707 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3095 "parser.cpp" +#line 3064 "parser.cpp" break; - case 183: // expr_arguments_no_empty: expr -#line 712 "parser.ypp" + case 182: // expr_arguments_no_empty: expr +#line 709 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3101 "parser.cpp" +#line 3070 "parser.cpp" break; - case 184: // expr_reference: "::" expr_identifier -#line 717 "parser.ypp" + case 183: // expr_reference: "::" expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3107 "parser.cpp" +#line 3076 "parser.cpp" break; - case 185: // expr_reference: expr_path "::" expr_identifier -#line 719 "parser.ypp" + case 184: // expr_reference: expr_path "::" expr_identifier +#line 716 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3113 "parser.cpp" +#line 3082 "parser.cpp" break; - case 186: // expr_array: expr_object "[" expr "]" -#line 724 "parser.ypp" + case 185: // expr_array: expr_object "[" expr "]" +#line 721 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3119 "parser.cpp" +#line 3088 "parser.cpp" break; - case 187: // expr_field: expr_object "." expr_identifier -#line 729 "parser.ypp" + case 186: // expr_field: expr_object "." expr_identifier +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3125 "parser.cpp" +#line 3094 "parser.cpp" break; - case 188: // expr_field: expr_object "field" -#line 731 "parser.ypp" + case 187: // expr_field: expr_object "field" +#line 728 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3131 "parser.cpp" +#line 3100 "parser.cpp" break; - case 189: // expr_size: expr_object ".size" -#line 736 "parser.ypp" + case 188: // expr_size: expr_object ".size" +#line 733 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3137 "parser.cpp" +#line 3106 "parser.cpp" break; - case 190: // expr_paren: "(" expr ")" -#line 741 "parser.ypp" + case 189: // expr_paren: "(" expr ")" +#line 738 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3143 "parser.cpp" +#line 3112 "parser.cpp" break; - case 191: // expr_object: expr_call -#line 745 "parser.ypp" + case 190: // expr_object: expr_call +#line 742 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3149 "parser.cpp" +#line 3118 "parser.cpp" break; - case 192: // expr_object: expr_method -#line 746 "parser.ypp" + case 191: // expr_object: expr_method +#line 743 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3155 "parser.cpp" +#line 3124 "parser.cpp" break; - case 193: // expr_object: expr_array -#line 747 "parser.ypp" + case 192: // expr_object: expr_array +#line 744 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3161 "parser.cpp" +#line 3130 "parser.cpp" break; - case 194: // expr_object: expr_field -#line 748 "parser.ypp" + case 193: // expr_object: expr_field +#line 745 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3167 "parser.cpp" +#line 3136 "parser.cpp" break; - case 195: // expr_object: expr_game -#line 749 "parser.ypp" + case 194: // expr_object: expr_game +#line 746 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3173 "parser.cpp" +#line 3142 "parser.cpp" break; - case 196: // expr_object: expr_self -#line 750 "parser.ypp" + case 195: // expr_object: expr_self +#line 747 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3179 "parser.cpp" +#line 3148 "parser.cpp" break; - case 197: // expr_object: expr_anim -#line 751 "parser.ypp" + case 196: // expr_object: expr_anim +#line 748 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3185 "parser.cpp" +#line 3154 "parser.cpp" break; - case 198: // expr_object: expr_level -#line 752 "parser.ypp" + case 197: // expr_object: expr_level +#line 749 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3191 "parser.cpp" +#line 3160 "parser.cpp" break; - case 199: // expr_object: expr_identifier -#line 753 "parser.ypp" + case 198: // expr_object: expr_identifier +#line 750 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3197 "parser.cpp" +#line 3166 "parser.cpp" break; - case 200: // expr_thisthread: "thisthread" -#line 758 "parser.ypp" + case 199: // expr_thisthread: "thisthread" +#line 755 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3203 "parser.cpp" +#line 3172 "parser.cpp" break; - case 201: // expr_empty_array: "[" "]" -#line 763 "parser.ypp" + case 200: // expr_empty_array: "[" "]" +#line 760 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3209 "parser.cpp" +#line 3178 "parser.cpp" break; - case 202: // expr_undefined: "undefined" -#line 768 "parser.ypp" + case 201: // expr_undefined: "undefined" +#line 765 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3215 "parser.cpp" +#line 3184 "parser.cpp" break; - case 203: // expr_game: "game" -#line 773 "parser.ypp" + case 202: // expr_game: "game" +#line 770 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3221 "parser.cpp" +#line 3190 "parser.cpp" break; - case 204: // expr_self: "self" -#line 778 "parser.ypp" + case 203: // expr_self: "self" +#line 775 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3227 "parser.cpp" +#line 3196 "parser.cpp" break; - case 205: // expr_anim: "anim" -#line 783 "parser.ypp" + case 204: // expr_anim: "anim" +#line 780 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3233 "parser.cpp" +#line 3202 "parser.cpp" break; - case 206: // expr_level: "level" -#line 788 "parser.ypp" + case 205: // expr_level: "level" +#line 785 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3239 "parser.cpp" +#line 3208 "parser.cpp" break; - case 207: // expr_animation: "%" "identifier" -#line 793 "parser.ypp" + case 206: // expr_animation: "%" "identifier" +#line 790 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3245 "parser.cpp" +#line 3214 "parser.cpp" break; - case 208: // expr_animtree: "#animtree" -#line 798 "parser.ypp" + case 207: // expr_animtree: "#animtree" +#line 795 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3251 "parser.cpp" +#line 3220 "parser.cpp" break; - case 209: // expr_identifier: "identifier" -#line 803 "parser.ypp" + case 208: // expr_identifier: "identifier" +#line 800 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3257 "parser.cpp" +#line 3226 "parser.cpp" break; - case 210: // expr_path: "path" -#line 808 "parser.ypp" + case 209: // expr_path: "path" +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3263 "parser.cpp" +#line 3232 "parser.cpp" break; - case 211: // expr_path: expr_identifier -#line 810 "parser.ypp" + case 210: // expr_path: expr_identifier +#line 807 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3269 "parser.cpp" +#line 3238 "parser.cpp" break; - case 212: // expr_istring: "localized string" -#line 815 "parser.ypp" + case 211: // expr_istring: "localized string" +#line 812 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3275 "parser.cpp" +#line 3244 "parser.cpp" break; - case 213: // expr_string: "string literal" -#line 820 "parser.ypp" + case 212: // expr_string: "string literal" +#line 817 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3281 "parser.cpp" +#line 3250 "parser.cpp" break; - case 214: // expr_color: "color" -#line 825 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3287 "parser.cpp" - break; - - case 215: // expr_vector: "(" expr "," expr "," expr ")" -#line 830 "parser.ypp" + case 213: // expr_vector: "(" expr "," expr "," expr ")" +#line 822 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3293 "parser.cpp" +#line 3256 "parser.cpp" break; - case 216: // expr_float: "-" "float" -#line 835 "parser.ypp" + case 214: // expr_float: "-" "float" +#line 827 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3299 "parser.cpp" +#line 3262 "parser.cpp" break; - case 217: // expr_float: "float" -#line 837 "parser.ypp" + case 215: // expr_float: "float" +#line 829 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3305 "parser.cpp" +#line 3268 "parser.cpp" break; - case 218: // expr_integer: "-" "integer" -#line 842 "parser.ypp" + case 216: // expr_integer: "-" "integer" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3311 "parser.cpp" +#line 3274 "parser.cpp" break; - case 219: // expr_integer: "integer" -#line 844 "parser.ypp" + case 217: // expr_integer: "integer" +#line 836 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3317 "parser.cpp" +#line 3280 "parser.cpp" break; - case 220: // expr_false: "false" -#line 849 "parser.ypp" + case 218: // expr_false: "false" +#line 841 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3323 "parser.cpp" +#line 3286 "parser.cpp" break; - case 221: // expr_true: "true" -#line 854 "parser.ypp" + case 219: // expr_true: "true" +#line 846 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3329 "parser.cpp" +#line 3292 "parser.cpp" break; -#line 3333 "parser.cpp" +#line 3296 "parser.cpp" default: break; @@ -3525,27 +3488,26 @@ namespace xsk { namespace gsc { namespace h1 { ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", - "localized string", "color", "float", "integer", "ADD_ARRAY", "THEN", - "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", - "$accept", "root", "program", "inline", "include", "declaration", - "decl_usingtree", "decl_constant", "decl_thread", "stmt", "stmt_or_dev", - "stmt_list", "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", - "stmt_call", "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", - "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", - "stmt_waitframe", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", - "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", - "stmt_break", "stmt_continue", "stmt_return", "stmt_breakpoint", - "stmt_prof_begin", "stmt_prof_end", "expr", "expr_or_empty", - "expr_assign", "expr_increment", "expr_decrement", "expr_ternary", - "expr_binary", "expr_primitive", "expr_complement", "expr_not", - "expr_call", "expr_method", "expr_function", "expr_pointer", - "expr_add_array", "expr_parameters", "expr_arguments", - "expr_arguments_no_empty", "expr_reference", "expr_array", "expr_field", - "expr_size", "expr_paren", "expr_object", "expr_thisthread", - "expr_empty_array", "expr_undefined", "expr_game", "expr_self", - "expr_anim", "expr_level", "expr_animation", "expr_animtree", - "expr_identifier", "expr_path", "expr_istring", "expr_string", - "expr_color", "expr_vector", "expr_float", "expr_integer", "expr_false", + "localized string", "float", "integer", "ADD_ARRAY", "THEN", "TERN", + "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", + "root", "program", "inline", "include", "declaration", "decl_usingtree", + "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", + "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", + "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", + "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", + "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", + "stmt_continue", "stmt_return", "stmt_breakpoint", "stmt_prof_begin", + "stmt_prof_end", "expr", "expr_or_empty", "expr_assign", + "expr_increment", "expr_decrement", "expr_ternary", "expr_binary", + "expr_primitive", "expr_complement", "expr_not", "expr_call", + "expr_method", "expr_function", "expr_pointer", "expr_add_array", + "expr_parameters", "expr_arguments", "expr_arguments_no_empty", + "expr_reference", "expr_array", "expr_field", "expr_size", "expr_paren", + "expr_object", "expr_thisthread", "expr_empty_array", "expr_undefined", + "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", + "expr_animtree", "expr_identifier", "expr_path", "expr_istring", + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; @@ -3811,517 +3773,513 @@ namespace xsk { namespace gsc { namespace h1 { } - const short parser::yypact_ninf_ = -270; + const short parser::yypact_ninf_ = -267; - const short parser::yytable_ninf_ = -212; + const short parser::yytable_ninf_ = -211; const short parser::yypact_[] = { - 3, -270, -270, -42, -42, -16, -270, 43, 3, -270, - -270, -270, -270, -270, -270, -25, -270, -270, 1, 7, - -50, -270, -270, -270, -270, -28, 934, -270, -270, -270, - 24, -14, -270, -270, -37, -33, -270, 59, -270, -270, - -270, -270, -270, -270, -270, 934, 627, -28, 934, 934, - 37, -11, -270, -270, -270, -270, 2024, -270, -270, -270, - -270, -270, 69, 293, -270, -270, -270, -270, 433, 532, - -270, -270, 542, -270, -270, -270, 665, 692, 965, 1179, - -270, -270, 8, 41, -270, -270, -270, -270, -270, -270, - -270, -270, 49, 73, -28, 62, 82, 78, 88, 95, - 89, 96, 1310, 627, -270, 2107, 98, 106, -270, -270, - -270, -270, -270, -270, -270, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, -270, 999, -28, -270, -270, -270, - 112, 114, 934, -28, -270, 791, -270, -270, 934, 934, - -28, 934, 934, -28, 934, -270, 934, 1754, 934, -270, - 1989, 65, 65, 2138, 2148, 860, 860, 152, 152, 152, - 152, 2179, 1013, 2189, 75, 75, -270, -270, -270, 1794, - -270, -28, 17, -270, 120, 1092, 934, 113, -10, 124, - 1268, 131, 134, 137, 140, -7, 141, 133, 136, 869, - 139, 155, 156, -270, 148, 33, 33, -270, -270, 843, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, 151, 159, 161, 162, - 165, -270, -270, 1187, -270, -270, -270, -270, -32, 1834, - 32, 158, 1874, 34, 176, 1914, 1953, 157, 2107, 934, - -270, 120, -270, 934, -270, -270, 1146, 2059, -270, 164, - -270, 934, 202, 934, -19, -28, 934, 128, 172, 173, - -270, -270, -270, -270, 2094, -270, 934, 934, 934, -270, - -270, 592, 592, -270, -270, -270, -270, -270, -270, -270, - 184, 185, 188, 189, -270, -270, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 193, -270, 934, - 194, -270, 934, 195, 934, 201, 2107, 38, -270, -270, - -270, 180, 1476, 203, 1510, 196, -270, -270, -270, 1272, - -4, 1544, -270, -270, -270, 42, 45, 1754, 934, 934, - 934, 934, 2107, 2107, 2107, 2107, 2107, 2107, 2107, 2107, - 2107, 2107, 2107, 204, 55, 205, 64, 207, 1578, 934, - -270, -270, 1268, 934, 1268, 934, 934, -28, 73, 208, - 209, 1612, 1354, 1398, 1442, 934, -270, 934, -270, 934, - -270, 68, 238, 1646, -270, 2107, 215, 1680, 235, -270, - -270, -270, 217, 219, 934, 220, 934, 221, 934, 71, - 77, 84, -270, 1268, 227, -19, 1268, 934, -270, -270, - 214, -270, 216, -270, 237, -270, -270, -270, -270, -270, - 241, -270, 1714, 233, 234, 239, 1268, 1268, -270, -270, - -270, -270, -270 + 4, -267, -267, -69, -69, -28, -267, 26, 4, -267, + -267, -267, -267, -267, -267, -40, -267, -267, -16, -3, + 5, -267, -267, -267, -267, -27, 1039, -267, -267, -267, + 23, -26, -267, -267, -36, -34, -267, 42, -267, -267, + -267, -267, -267, -267, -267, 1039, 625, -27, 1039, 1039, + -24, 14, -267, -267, -267, 2008, -267, -267, -267, -267, + -267, 291, 431, -267, -267, -267, -267, 592, 663, -267, + -267, 1003, -267, -267, -267, 1013, 1077, 1244, 1252, -267, + -267, 67, 44, -267, -267, -267, -267, -267, -267, -267, + 50, 68, -27, 60, 80, 76, 89, 90, 78, 94, + 1294, 625, -267, 2091, 88, 95, -267, -267, -267, -267, + -267, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, -267, 1103, -27, -267, -267, -267, 104, 101, + 1039, -27, -267, 789, -267, -267, 1039, 1039, -27, 1039, + 1039, -27, 1039, -267, 1039, 1738, 1039, -267, 1973, 126, + 126, 1243, 2122, 2204, 2204, 415, 415, 415, 415, 2132, + 2173, 2163, 63, 63, -267, -267, -267, 1778, -267, -27, + -5, -267, 110, 895, 1039, 105, -2, 116, 1232, 117, + 118, 120, 121, -49, 113, 122, 123, 975, 125, 138, + 141, -267, 140, 548, 548, -267, -267, 841, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, 137, 143, 144, 146, 149, -267, + -267, 1151, -267, -267, -267, -267, -29, 1818, 15, 148, + 1858, 16, 150, 1898, 1937, 155, 2091, 1039, -267, 110, + -267, 1039, -267, -267, 949, 2043, -267, 161, -267, 1039, + 198, 1039, 690, -27, 1039, 124, 165, 167, -267, -267, + -267, -267, 2078, -267, 1039, 1039, 1039, -267, -267, -4, + -4, -267, -267, -267, -267, -267, -267, -267, 180, 181, + 182, 184, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 174, -267, 1039, 183, -267, + 1039, 185, 1039, 191, 2091, 17, -267, -267, -267, 175, + 1460, 192, 1494, 186, -267, -267, -267, 2, -9, 1528, + -267, -267, -267, 38, 53, 1738, 1039, 1039, 1039, 1039, + 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, + 2091, 193, 62, 194, 71, 197, 1562, 1039, -267, -267, + 1232, 1039, 1232, 1039, 1039, -27, 68, 188, 189, 1596, + 1338, 1382, 1426, 1039, -267, 1039, -267, 1039, -267, 72, + 228, 1630, -267, 2091, 195, 1664, 224, -267, -267, -267, + 199, 200, 1039, 201, 1039, 203, 1039, 75, 82, 86, + -267, 1232, 205, 690, 1232, 1039, -267, -267, 202, -267, + 215, -267, 216, -267, -267, -267, -267, -267, 222, -267, + 1698, 214, 219, 220, 1232, 1232, -267, -267, -267, -267, + -267 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 209, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 210, 211, 0, 0, - 0, 1, 4, 5, 6, 179, 0, 10, 11, 213, - 0, 0, 178, 208, 0, 0, 200, 0, 221, 220, - 202, 203, 204, 205, 206, 0, 181, 0, 0, 0, - 0, 0, 212, 214, 217, 219, 0, 93, 94, 95, - 132, 133, 134, 135, 162, 163, 136, 137, 138, 139, - 140, 141, 0, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 157, - 158, 159, 0, 0, 0, 0, 211, 0, 0, 211, - 0, 0, 0, 181, 201, 183, 0, 180, 184, 161, - 160, 216, 218, 207, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 208, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 209, 210, 0, 0, + 0, 1, 4, 5, 6, 178, 0, 10, 11, 212, + 0, 0, 177, 207, 0, 0, 199, 0, 219, 218, + 201, 202, 203, 204, 205, 0, 180, 0, 0, 0, + 0, 0, 211, 215, 217, 0, 93, 94, 95, 132, + 133, 134, 135, 161, 162, 136, 137, 138, 139, 140, + 141, 0, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 157, 158, + 0, 0, 0, 0, 210, 0, 0, 210, 0, 0, + 0, 180, 200, 182, 0, 179, 183, 160, 159, 214, + 216, 206, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 188, 164, 165, - 211, 0, 181, 0, 17, 0, 19, 177, 0, 181, - 0, 0, 181, 0, 0, 190, 0, 183, 0, 176, - 0, 125, 126, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 127, 128, 129, 130, 131, 0, - 187, 0, 0, 180, 185, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 187, 163, 164, 210, 0, + 180, 0, 17, 0, 19, 176, 0, 180, 0, 0, + 180, 0, 0, 189, 0, 182, 0, 175, 0, 125, + 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 127, 128, 129, 130, 131, 0, 186, 0, + 0, 179, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 45, 50, 0, - 46, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 0, 0, 0, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 186, 0, 166, 181, 52, 48, 0, 0, 72, 0, - 73, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 85, 86, 87, 89, 0, 90, 181, 181, 0, 191, - 192, 109, 111, 53, 49, 61, 62, 63, 59, 60, - 0, 0, 0, 0, 110, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, 181, - 0, 170, 181, 0, 0, 0, 113, 0, 51, 47, - 67, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 84, 83, 88, 0, 0, 0, 0, 0, - 0, 0, 98, 104, 105, 106, 107, 108, 99, 100, - 101, 103, 102, 0, 0, 0, 0, 0, 0, 181, - 167, 74, 0, 0, 0, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 181, 169, 181, 171, 181, - 215, 0, 75, 0, 77, 96, 0, 0, 0, 82, - 91, 92, 0, 0, 181, 0, 181, 0, 181, 0, - 0, 0, 172, 0, 0, 58, 0, 0, 64, 66, - 180, 69, 180, 71, 180, 173, 174, 175, 76, 78, - 0, 80, 0, 0, 0, 0, 0, 0, 65, 68, - 70, 79, 81 + 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 0, 0, 0, 190, 191, 192, + 193, 0, 194, 195, 196, 197, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 0, 185, 0, + 165, 180, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 180, 180, 0, 190, 191, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 167, 180, 0, 169, + 180, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 180, 166, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 168, 180, 170, 180, 213, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 180, 0, 180, 0, 180, 0, 0, 0, + 171, 0, 0, 58, 0, 0, 64, 66, 179, 69, + 179, 71, 179, 172, 173, 174, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -270, -270, -270, 294, 295, 296, -270, -270, -270, -152, - 117, -270, -270, -270, -91, -87, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - 190, -270, -269, -267, -261, -270, -270, -270, -270, -270, - -86, -12, -66, -61, -270, -270, 13, -45, -270, -6, - 179, -270, -270, 249, -270, -270, -270, 282, 337, 362, - 372, -270, -270, 0, 6, -270, -8, -270, -270, -270, - 142, -270, -270 + -267, -267, -267, 275, 277, 280, -267, -267, -267, -155, + 85, -267, -267, -267, -89, -120, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + 190, -267, -266, -259, -258, -267, -267, -267, -267, -267, + -86, -12, -66, -60, -267, -267, 13, -45, -267, -6, + 179, -267, -267, 249, -267, -267, -267, 282, 337, 362, + 372, -267, -267, 0, 6, -267, -13, -267, -267, 106, + -267, -267 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 207, - 208, 266, 209, 210, 211, 335, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 105, 396, 236, 237, 238, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 31, 106, 183, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 205, + 206, 264, 207, 208, 209, 333, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 103, 394, 234, 235, 236, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 31, 104, 181, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 336, 138, 337, 15, 18, - 19, 139, 30, 338, 1, 2, 3, 4, 5, 95, - 142, 34, 35, 98, 37, 32, 376, 25, -211, 41, - 42, 43, 44, 265, 96, 99, 20, 204, 272, 93, - 97, 100, 269, 21, 94, 205, 206, 108, -199, -199, - 29, -199, 270, 26, 377, -199, 16, 6, 107, 239, - 142, 16, 6, 27, -199, 16, 6, -199, -211, 28, - 262, 6, 140, 34, 35, 158, 37, 92, 141, 16, - 6, 41, 42, 43, 44, 318, 277, 321, 113, 204, - 158, 370, 158, 29, 147, 379, 158, 55, 380, 239, - 158, 143, 6, 158, 239, -199, -199, -199, 386, -191, - -191, 144, -191, 158, 329, 101, -191, 388, 148, 289, - 289, 412, 158, 239, 425, -191, 158, 145, -191, 158, - 426, 16, 6, 240, 149, 158, 180, 427, 150, 241, - 111, 112, 158, 184, 151, 248, 336, 152, 337, 153, - 251, 141, 154, 254, 338, 182, 158, 129, 130, 131, - 132, 133, 250, 159, 142, 253, -191, -191, -191, 131, - 132, 133, 263, 240, 181, 268, 271, 138, 240, 241, - 239, 261, 139, 273, 241, 248, 274, 278, 289, 275, - 248, 141, 276, 290, 290, 281, 141, 240, 282, 241, - 241, 285, 280, 241, 288, 248, 248, 286, 287, 248, - 319, 141, 141, 295, 325, 141, 56, 331, 116, 117, - 392, 296, 394, 297, 298, 138, 138, 299, 322, 333, - 139, 139, 112, 342, 343, 102, 348, 349, 109, 110, - 350, 351, 371, 140, 129, 130, 131, 132, 133, 141, - 363, 365, 367, 369, 240, 373, 385, 387, 375, 389, - 241, 428, 290, 413, 431, 417, 248, 433, 241, 434, - 400, 401, 141, 138, 248, 340, 327, 415, 139, 418, - 141, 419, 421, 423, 441, 442, 239, 399, 239, 429, - 435, 140, 140, 157, 436, 438, 439, 141, 141, 345, - 346, 440, 22, 23, 24, 160, 161, 162, 163, 164, + 15, 105, 144, 17, 17, 136, 334, 30, 15, 18, + 19, 137, 25, 335, 336, 1, 2, 3, 4, 5, + 93, 374, 96, 140, 20, 32, 21, 91, 263, 16, + 6, -210, 92, 270, 94, 97, 34, 35, 26, 37, + 95, 98, 34, 35, 275, 37, 27, 106, 260, 375, + 267, 29, 133, 156, 54, 134, 105, 237, 133, 28, + 268, 134, 16, 6, 16, 6, 302, 303, 316, 319, + 368, 138, 6, 156, 156, 156, 90, 139, 109, 110, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 377, 145, 135, 16, 6, 156, 237, 99, 135, + 16, 6, 237, 6, 141, 29, 378, -198, -198, 327, + -198, 156, 142, 111, -198, 384, 146, 287, 287, 140, + 156, 237, 143, -198, 386, 410, -198, -210, 423, 156, + 156, 238, 147, 156, 178, 424, 148, 239, 151, 425, + 156, 182, 150, 246, 156, 149, 156, 334, 249, 139, + 152, 252, 157, 180, 335, 336, 140, 129, 130, 131, + 248, 179, 261, 251, -198, -198, -198, 266, 269, 271, + 272, 238, 273, 274, 278, 136, 238, 239, 237, 259, + 276, 137, 239, 246, 279, 280, 287, 283, 246, 139, + 284, 288, 288, 285, 139, 238, 286, 239, 239, 293, + 317, 239, 320, 246, 246, 294, 295, 246, 296, 139, + 139, 297, 323, 139, 329, 390, 55, 392, 127, 128, + 129, 130, 131, 136, 136, 331, 340, 110, 341, 137, + 137, 361, 346, 347, 348, 100, 349, 369, 107, 108, + 363, 138, 365, 367, 371, 383, 385, 139, 373, 387, + 398, 399, 238, 411, 415, 431, 426, 413, 239, 429, + 288, 416, 417, 419, 246, 421, 239, 427, 432, 433, + 139, 136, 246, 338, 325, 434, 436, 137, 139, 439, + 440, 437, 438, 22, 237, 23, 237, 397, 24, 138, + 138, 155, 292, 428, 0, 139, 139, 343, 344, 277, + 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 242, 179, 294, 239, 430, 289, - 239, 0, 364, -192, -192, 366, -192, 279, 249, 140, - -192, 252, 0, 0, 255, 141, 256, 0, 258, -192, - 239, 239, -192, 0, 0, 0, 0, 0, 0, 420, - 240, 422, 240, 424, 242, 0, 241, 0, 241, 242, - 0, 0, 248, 0, 248, 0, 267, 398, 141, 0, - 141, 0, 391, 0, 242, 242, 0, 0, 242, 284, - -192, -192, -192, 0, 243, 0, 0, 0, 409, 0, - 410, 240, 411, 290, 240, 0, 0, 241, 0, 241, - 241, 0, 0, 248, 0, 248, 248, 0, 0, 141, - 0, 141, 141, 0, 240, 240, 0, 244, 0, 0, - 241, 241, 0, 0, 243, 0, 248, 248, 0, 243, - 0, 0, 141, 141, 0, 242, 0, 0, 0, 326, - 0, 0, 0, 242, 291, 292, 0, 0, 243, 0, - 0, 332, 0, 334, 0, 0, 341, 244, 0, 0, - 0, 0, 244, -193, -193, 0, -193, 0, 347, 0, - -193, 0, 245, 0, 0, 0, 0, 244, 244, -193, - 0, 244, -193, 0, 0, 0, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 246, 0, 0, - 0, 0, 0, 0, 368, 243, 0, 247, 0, 0, - 0, 0, 245, 339, 0, 0, 0, 245, 0, 0, - -193, -193, -193, 0, 0, 0, 0, 0, 381, 382, - 383, 384, 245, 245, 0, 0, 245, 246, 244, 0, - 0, 242, 246, 242, 0, 0, 244, 247, 0, 0, - 0, 0, 247, 393, 0, 395, 397, 246, 246, 0, - 0, 246, -194, -194, 0, -194, 0, 247, 247, -194, - 0, 247, 34, 35, 0, 37, 0, 0, -194, 134, - 0, -194, 242, 0, 242, 242, 0, 0, 135, 0, - 0, 136, 0, 245, 0, 0, 0, 432, 0, 0, - 0, 245, 0, 0, 0, 242, 242, 0, 0, 0, - 0, 243, 0, 243, 0, 0, 0, 0, 246, -194, - -194, -194, 34, 35, 0, 37, 246, 0, 247, 137, - 16, 6, 0, 33, 0, 0, 247, 0, 135, 0, - 0, 136, 0, 0, 244, 0, 244, 0, 0, 0, - 0, 0, 243, 0, 339, 243, 0, 34, 35, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, - 0, 0, 0, 103, 104, 243, 243, 47, 0, 137, - 16, 6, 0, 0, 0, 244, 0, 244, 244, 0, - 0, 0, 0, 48, 49, -195, -195, 0, -195, 245, - 0, 245, -195, 0, 0, 0, 0, 0, 244, 244, - 50, -195, 0, 51, -195, 16, 6, 29, 52, 53, - 54, 55, -196, -196, 246, -196, 246, 0, 0, -196, - 0, 0, 0, 0, 247, 0, 247, 0, -196, 0, - 245, -196, 245, 245, 0, 0, 0, 0, 0, 0, - 0, 0, -195, -195, -195, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 245, 246, 0, 246, 246, 0, - 0, 0, 0, 0, 0, 247, 0, 247, 247, -196, - -196, -196, 0, 0, 0, 0, 0, 0, 246, 246, - 0, 0, 185, 0, 0, 0, 0, 0, 247, 247, - 186, 0, 0, 187, 188, 189, 0, 190, 191, 192, - 193, 0, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 34, 35, 0, 37, 0, 0, 0, 0, 41, - 42, 43, 44, 0, 0, 145, 203, 204, 0, 0, - 0, 0, 0, 0, 185, 205, 206, 0, 0, 0, - 0, 0, 186, 0, 0, 187, 188, 189, 0, 190, - 191, 192, 193, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 34, 35, 33, 37, 0, 0, 16, - 6, 41, 42, 43, 44, 0, 0, 145, 293, 204, - 0, 0, 0, 0, 0, 0, 0, 205, 206, 34, + 175, 176, 240, 177, 0, 237, 0, 287, 237, 0, + 362, -190, -190, 364, -190, 0, 247, 138, -190, 250, + 0, 0, 253, 139, 254, 0, 256, -190, 237, 237, + -190, 0, 0, 0, 0, 0, 0, 418, 238, 420, + 238, 422, 240, 0, 239, 0, 239, 240, 0, 0, + 246, 0, 246, 0, 265, 396, 139, 0, 139, 0, + 389, 0, 240, 240, 0, 0, 240, 282, -190, -190, + -190, 0, 241, 0, 0, 0, 407, 0, 408, 238, + 409, 288, 238, 0, 0, 239, 0, 239, 239, 0, + 0, 246, 0, 246, 246, 0, 0, 139, 0, 139, + 139, 0, 238, 238, 0, 242, 0, 0, 239, 239, + 0, 0, 241, 0, 246, 246, 0, 241, 0, 0, + 139, 139, 0, 240, 0, 0, 0, 324, 0, 0, + 0, 240, 289, 290, 0, 0, 241, 0, 0, 330, + 0, 332, 0, 0, 339, 242, 0, 0, 0, 0, + 242, -191, -191, 0, -191, 0, 345, 0, -191, 0, + 243, 114, 115, 0, 0, 242, 242, -191, 0, 242, + -191, 0, 0, 0, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 244, 0, 127, 128, 129, + 130, 131, 366, 241, 0, 245, 0, 0, 0, 0, + 243, 337, 0, 0, 0, 243, 0, 0, -191, -191, + -191, 0, 0, 0, 0, 0, 379, 380, 381, 382, + 243, 243, 0, 0, 243, 244, 242, 0, 0, 240, + 244, 240, 0, 0, 242, 245, 0, 0, 0, 0, + 245, 391, 0, 393, 395, 244, 244, 0, 0, 244, + 0, 0, 0, 0, 0, 245, 245, 0, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 240, 37, 240, 240, 0, 0, 41, 42, 43, 44, + 0, 243, 0, 0, 202, 430, 0, 0, 0, 243, + 0, 0, 0, 240, 240, 0, 0, 0, 0, 241, + 0, 241, 0, 0, 0, 0, 244, 0, 0, 0, + 0, 0, -192, -192, 244, -192, 245, 0, 0, -192, + 0, 33, 0, 0, 245, 0, 16, 6, -192, 0, + 0, -192, 242, 0, 242, 0, 0, 0, 0, 0, + 241, 0, 337, 241, 0, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 101, 102, 241, 241, 47, 0, 0, 0, -192, + -192, -192, 0, 242, 0, 242, 242, 0, 0, 0, + 0, 48, 49, -193, -193, 0, -193, 243, 0, 243, + -193, 0, 0, 0, 0, 0, 242, 242, 50, -193, + 0, 51, -193, 16, 6, 29, 52, 53, 54, 0, + 34, 35, 244, 37, 244, 0, 0, 0, 41, 42, + 43, 44, 245, 0, 245, 0, 202, 0, 243, 0, + 243, 243, 0, 0, 203, 204, 0, 0, 0, 0, + -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 243, 244, 0, 244, 244, 0, 0, 0, + 0, 0, 0, 245, 0, 245, 245, 0, 16, 6, + 0, 0, 0, 0, 0, 0, 244, 244, 0, 0, + 183, 0, 0, 0, 0, 0, 245, 245, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 0, 37, 0, 0, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 201, 202, 0, 0, 0, 0, + 0, 0, 183, 203, 204, 0, 0, 0, 0, 0, + 184, 0, 0, 185, 186, 187, 0, 188, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 34, 35, 0, 37, 0, 0, 16, 6, 41, + 42, 43, 44, 0, 0, 143, 291, 202, 0, 0, + 0, 0, 0, 0, 0, 203, 204, 262, 0, 0, + 0, 0, 0, 0, 184, 0, 0, 185, 186, 187, + 0, 188, 189, 190, 191, 0, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 34, 35, 0, 37, 16, + 6, 0, 0, 41, 42, 43, 44, 0, 0, 143, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 203, + 204, 326, 0, 0, 0, 0, 0, 0, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 33, 37, 16, 6, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 46, 0, 0, 0, 47, 0, 281, 0, 0, + 0, 0, 0, 34, 35, 0, 37, 16, 6, 0, + 132, 48, 49, -194, -194, 33, -194, 0, 0, 133, + -194, 0, 134, 0, 0, 0, 0, 0, 50, -194, + 0, 51, -194, 16, 6, 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 46, 116, 117, 0, 47, - 0, 283, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 16, 6, 0, 0, 48, 49, 0, 0, 0, - 33, 0, 129, 130, 131, 132, 133, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 34, 35, 36, 37, 38, 39, - 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, - 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -197, -197, 0, -197, 0, - 48, 49, -197, 0, 0, 33, 0, 0, 0, 0, - 0, -197, 0, 0, -197, 0, 0, 50, 0, 0, - 51, 0, 16, 6, 29, 52, 53, 54, 55, 34, - 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 103, 0, 0, 0, 47, - 0, 0, -197, -197, -197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 116, - 117, 0, 0, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 264, 129, 130, 131, 132, 133, - 0, 186, 0, 0, 187, 188, 189, 0, 190, 191, - 192, 193, 0, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 34, 35, 0, 37, 0, 0, 0, 0, - 41, 42, 43, 44, 0, 0, 145, 0, 204, 0, - 0, 0, 0, 0, 0, 0, 205, 206, 328, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 187, 188, - 189, 0, 190, 191, 192, 193, 0, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 34, 35, 0, 37, - 16, 6, 0, 0, 41, 42, 43, 44, 0, 0, - 145, 0, 204, 0, 300, 301, 0, 302, 303, 0, - 205, 206, 0, 0, 0, 0, 0, 0, 0, -198, - -198, 0, -198, 0, 0, 0, -198, 34, 35, 0, - 37, 0, 0, 0, 0, -198, 0, 0, -198, 0, - 0, 0, 0, 135, 16, 6, 136, 0, 0, 0, - 0, 304, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -198, -198, -198, 0, - 0, 0, 0, 0, 137, 16, 6, 186, 0, 0, - 187, 188, 189, 0, 190, 191, 192, 193, 0, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 34, 35, - 0, 37, 34, 35, 0, 37, 41, 42, 43, 44, - 0, 0, 145, 0, 204, 0, 0, 0, 135, 0, - 0, 136, 205, 206, 0, 0, 304, 305, 0, 0, + 44, 45, 0, 0, 0, 46, 0, 0, 0, 47, + 135, 16, 6, 0, 0, 0, 0, 0, 0, 0, + -194, -194, -194, 0, 0, 48, 49, -195, -195, 33, + -195, 0, 0, 0, -195, 0, 0, 0, 0, 0, + 0, 0, 50, -195, 0, 51, -195, 16, 6, 29, + 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 44, 45, 0, 0, 0, 101, + 0, 0, 0, 47, 0, 0, 0, 0, 298, 299, + 0, 300, 301, 0, -195, -195, -195, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 0, 37, 0, 50, 0, 0, 51, + 0, 16, 6, 29, 52, 53, 54, 133, 0, 0, + 134, 0, 0, 0, 0, 302, 303, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 16, + 6, 184, 0, 0, 185, 186, 187, 0, 188, 189, + 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, -196, -196, 143, -196, 202, 0, + 0, -196, -197, -197, 0, -197, 203, 204, 0, -197, + -196, 0, 0, -196, 0, 0, 0, 0, -197, 114, + 115, -197, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 0, 0, 155, 0, 0, 16, 6, 156, 137, - 16, 6, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 403, 0, 0, - 0, 0, 404, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 16, 6, 124, 125, 126, 127, 128, 129, 130, 131, + 0, -196, -196, -196, 0, 0, 0, 153, 0, -197, + -197, -197, 154, 0, 0, 0, 0, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 405, 0, 0, 0, 0, 406, 0, 0, 0, - 0, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 407, 0, 0, 0, 0, - 408, 0, 0, 0, 0, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 374, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 378, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 401, 0, 0, 0, 0, 402, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 403, 0, 0, 0, 0, + 404, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 390, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 402, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 416, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 437, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 405, + 0, 0, 0, 0, 406, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 370, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 372, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 257, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 376, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 388, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 412, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 414, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 260, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 435, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 255, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 258, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 315, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 318, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 321, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 322, 0, 0, 0, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 257, 0, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 317, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 112, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 328, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 320, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 342, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 0, 0, 0, 0, 0, + 124, 125, 126, 127, 128, 129, 130, 131, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 125, 126, 127, 128, 129, 130, 131, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 125, 0, 127, 128, 129, 130, 131, + 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 114, 115, 0, 0, 0, 0, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 323, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 324, 0, 0, 0, 0, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 259, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 114, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 330, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 344, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 116, 117, 0, 119, 120, 121, - 122, 123, 124, 125, 116, 117, 0, 0, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 0, 0, 0, 127, - 0, 129, 130, 131, 132, 133 + 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, + 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 274, 72, 274, 8, 3, - 4, 72, 20, 274, 11, 12, 13, 14, 15, 56, - 52, 40, 41, 56, 43, 25, 30, 52, 60, 48, - 49, 50, 51, 185, 34, 35, 52, 56, 190, 53, - 34, 35, 52, 0, 58, 64, 65, 47, 40, 41, - 100, 43, 62, 78, 58, 47, 98, 99, 103, 145, - 52, 98, 99, 62, 56, 98, 99, 59, 60, 62, - 53, 99, 72, 40, 41, 58, 43, 53, 72, 98, - 99, 48, 49, 50, 51, 53, 93, 53, 99, 56, - 58, 53, 58, 100, 94, 53, 58, 104, 53, 185, - 58, 60, 99, 58, 190, 97, 98, 99, 53, 40, - 41, 62, 43, 58, 266, 56, 47, 53, 56, 205, - 206, 53, 58, 209, 53, 56, 58, 54, 59, 58, - 53, 98, 99, 145, 52, 58, 136, 53, 60, 145, - 103, 104, 58, 143, 56, 145, 415, 52, 415, 60, - 150, 145, 56, 153, 415, 142, 58, 92, 93, 94, - 95, 96, 149, 57, 52, 152, 97, 98, 99, 94, - 95, 96, 52, 185, 60, 62, 52, 243, 190, 185, - 266, 181, 243, 52, 190, 185, 52, 195, 274, 52, - 190, 185, 52, 205, 206, 62, 190, 209, 62, 205, - 206, 62, 61, 209, 56, 205, 206, 52, 52, 209, - 52, 205, 206, 62, 57, 209, 26, 53, 66, 67, - 372, 62, 374, 62, 62, 291, 292, 62, 52, 27, - 291, 292, 104, 61, 61, 45, 52, 52, 48, 49, - 52, 52, 62, 243, 92, 93, 94, 95, 96, 243, - 57, 57, 57, 52, 266, 52, 52, 52, 62, 52, - 266, 413, 274, 25, 416, 30, 266, 53, 274, 53, - 62, 62, 266, 339, 274, 275, 263, 62, 339, 62, - 274, 62, 62, 62, 436, 437, 372, 378, 374, 62, - 53, 291, 292, 103, 53, 62, 62, 291, 292, 286, - 287, 62, 8, 8, 8, 115, 116, 117, 118, 119, + 0, 46, 91, 3, 4, 71, 272, 20, 8, 3, + 4, 71, 52, 272, 272, 11, 12, 13, 14, 15, + 56, 30, 56, 52, 52, 25, 0, 53, 183, 98, + 99, 60, 58, 188, 34, 35, 40, 41, 78, 43, + 34, 35, 40, 41, 93, 43, 62, 47, 53, 58, + 52, 100, 56, 58, 103, 59, 101, 143, 56, 62, + 62, 59, 98, 99, 98, 99, 64, 65, 53, 53, + 53, 71, 99, 58, 58, 58, 53, 71, 102, 103, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 53, 92, 97, 98, 99, 58, 183, 56, 97, + 98, 99, 188, 99, 60, 100, 53, 40, 41, 264, + 43, 58, 62, 99, 47, 53, 56, 203, 204, 52, + 58, 207, 54, 56, 53, 53, 59, 60, 53, 58, + 58, 143, 52, 58, 134, 53, 60, 143, 60, 53, + 58, 141, 52, 143, 58, 56, 58, 413, 148, 143, + 56, 151, 57, 140, 413, 413, 52, 94, 95, 96, + 147, 60, 52, 150, 97, 98, 99, 62, 52, 52, + 52, 183, 52, 52, 61, 241, 188, 183, 264, 179, + 193, 241, 188, 183, 62, 62, 272, 62, 188, 183, + 52, 203, 204, 52, 188, 207, 56, 203, 204, 62, + 52, 207, 52, 203, 204, 62, 62, 207, 62, 203, + 204, 62, 57, 207, 53, 370, 26, 372, 92, 93, + 94, 95, 96, 289, 290, 27, 61, 103, 61, 289, + 290, 57, 52, 52, 52, 45, 52, 62, 48, 49, + 57, 241, 57, 52, 52, 52, 52, 241, 62, 52, + 62, 62, 264, 25, 30, 53, 411, 62, 264, 414, + 272, 62, 62, 62, 264, 62, 272, 62, 53, 53, + 264, 337, 272, 273, 261, 53, 62, 337, 272, 434, + 435, 62, 62, 8, 370, 8, 372, 376, 8, 289, + 290, 101, 207, 413, -1, 289, 290, 284, 285, 193, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 145, 135, 209, 413, 415, 415, - 416, -1, 319, 40, 41, 322, 43, 195, 148, 339, - 47, 151, -1, -1, 154, 339, 156, -1, 158, 56, - 436, 437, 59, -1, -1, -1, -1, -1, -1, 404, - 372, 406, 374, 408, 185, -1, 372, -1, 374, 190, - -1, -1, 372, -1, 374, -1, 186, 377, 372, -1, - 374, -1, 369, -1, 205, 206, -1, -1, 209, 199, - 97, 98, 99, -1, 145, -1, -1, -1, 385, -1, - 387, 413, 389, 415, 416, -1, -1, 413, -1, 415, - 416, -1, -1, 413, -1, 415, 416, -1, -1, 413, - -1, 415, 416, -1, 436, 437, -1, 145, -1, -1, - 436, 437, -1, -1, 185, -1, 436, 437, -1, 190, - -1, -1, 436, 437, -1, 266, -1, -1, -1, 259, - -1, -1, -1, 274, 205, 206, -1, -1, 209, -1, - -1, 271, -1, 273, -1, -1, 276, 185, -1, -1, - -1, -1, 190, 40, 41, -1, 43, -1, 288, -1, - 47, -1, 145, -1, -1, -1, -1, 205, 206, 56, - -1, 209, 59, -1, -1, -1, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 145, -1, -1, - -1, -1, -1, -1, 324, 266, -1, 145, -1, -1, - -1, -1, 185, 274, -1, -1, -1, 190, -1, -1, - 97, 98, 99, -1, -1, -1, -1, -1, 348, 349, - 350, 351, 205, 206, -1, -1, 209, 185, 266, -1, - -1, 372, 190, 374, -1, -1, 274, 185, -1, -1, - -1, -1, 190, 373, -1, 375, 376, 205, 206, -1, - -1, 209, 40, 41, -1, 43, -1, 205, 206, 47, - -1, 209, 40, 41, -1, 43, -1, -1, 56, 47, - -1, 59, 413, -1, 415, 416, -1, -1, 56, -1, - -1, 59, -1, 266, -1, -1, -1, 417, -1, -1, - -1, 274, -1, -1, -1, 436, 437, -1, -1, -1, - -1, 372, -1, 374, -1, -1, -1, -1, 266, 97, - 98, 99, 40, 41, -1, 43, 274, -1, 266, 97, - 98, 99, -1, 16, -1, -1, 274, -1, 56, -1, - -1, 59, -1, -1, 372, -1, 374, -1, -1, -1, - -1, -1, 413, -1, 415, 416, -1, 40, 41, 42, - 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, - -1, -1, -1, 56, 57, 436, 437, 60, -1, 97, - 98, 99, -1, -1, -1, 413, -1, 415, 416, -1, - -1, -1, -1, 76, 77, 40, 41, -1, 43, 372, - -1, 374, 47, -1, -1, -1, -1, -1, 436, 437, - 93, 56, -1, 96, 59, 98, 99, 100, 101, 102, - 103, 104, 40, 41, 372, 43, 374, -1, -1, 47, - -1, -1, -1, -1, 372, -1, 374, -1, 56, -1, - 413, 59, 415, 416, -1, -1, -1, -1, -1, -1, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, 436, 437, 413, -1, 415, 416, -1, - -1, -1, -1, -1, -1, 413, -1, 415, 416, 97, - 98, 99, -1, -1, -1, -1, -1, -1, 436, 437, - -1, -1, 11, -1, -1, -1, -1, -1, 436, 437, + 130, 131, 143, 133, -1, 411, -1, 413, 414, -1, + 317, 40, 41, 320, 43, -1, 146, 337, 47, 149, + -1, -1, 152, 337, 154, -1, 156, 56, 434, 435, + 59, -1, -1, -1, -1, -1, -1, 402, 370, 404, + 372, 406, 183, -1, 370, -1, 372, 188, -1, -1, + 370, -1, 372, -1, 184, 375, 370, -1, 372, -1, + 367, -1, 203, 204, -1, -1, 207, 197, 97, 98, + 99, -1, 143, -1, -1, -1, 383, -1, 385, 411, + 387, 413, 414, -1, -1, 411, -1, 413, 414, -1, + -1, 411, -1, 413, 414, -1, -1, 411, -1, 413, + 414, -1, 434, 435, -1, 143, -1, -1, 434, 435, + -1, -1, 183, -1, 434, 435, -1, 188, -1, -1, + 434, 435, -1, 264, -1, -1, -1, 257, -1, -1, + -1, 272, 203, 204, -1, -1, 207, -1, -1, 269, + -1, 271, -1, -1, 274, 183, -1, -1, -1, -1, + 188, 40, 41, -1, 43, -1, 286, -1, 47, -1, + 143, 66, 67, -1, -1, 203, 204, 56, -1, 207, + 59, -1, -1, -1, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 143, -1, 92, 93, 94, + 95, 96, 322, 264, -1, 143, -1, -1, -1, -1, + 183, 272, -1, -1, -1, 188, -1, -1, 97, 98, + 99, -1, -1, -1, -1, -1, 346, 347, 348, 349, + 203, 204, -1, -1, 207, 183, 264, -1, -1, 370, + 188, 372, -1, -1, 272, 183, -1, -1, -1, -1, + 188, 371, -1, 373, 374, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + 411, 43, 413, 414, -1, -1, 48, 49, 50, 51, + -1, 264, -1, -1, 56, 415, -1, -1, -1, 272, + -1, -1, -1, 434, 435, -1, -1, -1, -1, 370, + -1, 372, -1, -1, -1, -1, 264, -1, -1, -1, + -1, -1, 40, 41, 272, 43, 264, -1, -1, 47, + -1, 16, -1, -1, 272, -1, 98, 99, 56, -1, + -1, 59, 370, -1, 372, -1, -1, -1, -1, -1, + 411, -1, 413, 414, -1, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, 57, 434, 435, 60, -1, -1, -1, 97, + 98, 99, -1, 411, -1, 413, 414, -1, -1, -1, + -1, 76, 77, 40, 41, -1, 43, 370, -1, 372, + 47, -1, -1, -1, -1, -1, 434, 435, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, -1, + 40, 41, 370, 43, 372, -1, -1, -1, 48, 49, + 50, 51, 370, -1, 372, -1, 56, -1, 411, -1, + 413, 414, -1, -1, 64, 65, -1, -1, -1, -1, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + -1, 434, 435, 411, -1, 413, 414, -1, -1, -1, + -1, -1, -1, 411, -1, 413, 414, -1, 98, 99, + -1, -1, -1, -1, -1, -1, 434, 435, -1, -1, + 11, -1, -1, -1, -1, -1, 434, 435, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, -1, -1, -1, -1, 48, 49, 50, + 51, -1, -1, 54, 55, 56, -1, -1, -1, -1, + -1, -1, 11, 64, 65, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, 48, + 39, 40, 41, -1, 43, -1, -1, 98, 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, -1, -1, - -1, -1, -1, -1, 11, 64, 65, -1, -1, -1, - -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 16, 43, -1, -1, 98, - 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, - -1, -1, -1, -1, -1, -1, -1, 64, 65, 40, - 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, - 51, 52, -1, -1, -1, 56, 66, 67, -1, 60, - -1, 62, 72, 73, 74, 75, -1, -1, -1, -1, - -1, 98, 99, -1, -1, 76, 77, -1, -1, -1, - 16, -1, 92, 93, 94, 95, 96, -1, -1, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 40, 41, 42, 43, 44, 45, - 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, - 56, -1, -1, -1, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, - 76, 77, 47, -1, -1, 16, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, 93, -1, -1, - 96, -1, 98, 99, 100, 101, 102, 103, 104, 40, + -1, -1, -1, -1, -1, 64, 65, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, + -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, -1, 43, 98, + 99, -1, -1, 48, 49, 50, 51, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, + 65, 12, -1, -1, -1, -1, -1, -1, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 16, 43, 98, 99, -1, -1, 48, 49, 50, + 51, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, 64, 65, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, -1, -1, -1, 60, -1, 62, -1, -1, + -1, -1, -1, 40, 41, -1, 43, 98, 99, -1, + 47, 76, 77, 40, 41, 16, 43, -1, -1, 56, + 47, -1, 59, -1, -1, -1, -1, -1, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, -1, -1, -1, 60, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, -1, -1, 66, - 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 12, 92, 93, 94, 95, 96, - -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + 97, 98, 99, -1, -1, 76, 77, 40, 41, 16, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, 93, 56, -1, 96, 59, 98, 99, 100, + 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, + -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, + -1, -1, -1, 60, -1, -1, -1, -1, 17, 18, + -1, 20, 21, -1, 97, 98, 99, -1, -1, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 40, 41, -1, 43, -1, 93, -1, -1, 96, + -1, 98, 99, 100, 101, 102, 103, 56, -1, -1, + 59, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + 99, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, - 48, 49, 50, 51, -1, -1, 54, -1, 56, -1, - -1, -1, -1, -1, -1, -1, 64, 65, 12, -1, - -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, - 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, - 98, 99, -1, -1, 48, 49, 50, 51, -1, -1, - 54, -1, 56, -1, 17, 18, -1, 20, 21, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, 40, - 41, -1, 43, -1, -1, -1, 47, 40, 41, -1, - 43, -1, -1, -1, -1, 56, -1, -1, 59, -1, - -1, -1, -1, 56, 98, 99, 59, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 97, 98, 99, -1, - -1, -1, -1, -1, 97, 98, 99, 19, -1, -1, - 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - -1, 43, 40, 41, -1, 43, 48, 49, 50, 51, - -1, -1, 54, -1, 56, -1, -1, -1, 56, -1, - -1, 59, 64, 65, -1, -1, 64, 65, -1, -1, + 48, 49, 50, 51, 40, 41, 54, 43, 56, -1, + -1, 47, 40, 41, -1, 43, 64, 65, -1, 47, + 56, -1, -1, 59, -1, -1, -1, -1, 56, 66, + 67, 59, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, -1, -1, 53, -1, -1, 98, 99, 58, 97, - 98, 99, -1, 63, -1, -1, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, - 90, 91, 92, 93, 94, 95, 96, 53, -1, -1, - -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, + 98, 99, 89, 90, 91, 92, 93, 94, 95, 96, + -1, 97, 98, 99, -1, -1, -1, 53, -1, 97, + 98, 99, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, @@ -4332,8 +4290,9 @@ namespace xsk { namespace gsc { namespace h1 { 92, 93, 94, 95, 96, 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, 89, 90, 91, 92, 93, @@ -4360,133 +4319,139 @@ namespace xsk { namespace gsc { namespace h1 { 90, 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 58, -1, -1, -1, -1, 63, -1, -1, 66, + -1, 53, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 58, -1, -1, -1, -1, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 62, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 89, 90, 91, 92, 93, 94, 95, - 96, -1, -1, -1, -1, -1, 89, 90, 91, 92, - 93, 94, 95, 96, 66, 67, -1, 69, 70, 71, - 72, 73, 74, 75, 66, 67, -1, -1, 70, 71, - 72, 73, 74, 75, -1, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, 90, - 91, 92, 93, 94, 95, 96, -1, -1, -1, 90, - -1, 92, 93, 94, 95, 96 + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 89, 90, 91, + 92, 93, 94, 95, 96, -1, -1, -1, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, + -1, -1, -1, 90, -1, 92, 93, 94, 95, 96, + -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, + 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 99, 115, 116, 117, - 118, 119, 120, 121, 122, 187, 98, 187, 188, 188, - 52, 0, 117, 118, 119, 52, 78, 62, 62, 100, - 190, 169, 187, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 99, 114, 115, 116, + 117, 118, 119, 120, 121, 186, 98, 186, 187, 187, + 52, 0, 116, 117, 118, 52, 78, 62, 62, 100, + 189, 168, 186, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 60, 76, 77, - 93, 96, 101, 102, 103, 104, 154, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 172, 173, 174, + 93, 96, 101, 102, 103, 153, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 53, 53, 58, 56, 187, 188, 56, 187, - 188, 56, 154, 56, 57, 154, 170, 171, 187, 154, - 154, 103, 104, 99, 62, 63, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 89, 90, 91, 92, - 93, 94, 95, 96, 47, 56, 59, 97, 166, 167, - 187, 188, 52, 60, 62, 54, 128, 187, 56, 52, - 60, 56, 52, 60, 56, 53, 58, 154, 58, 57, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 187, 60, 170, 171, 187, 11, 19, 22, 23, 24, - 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 55, 56, 64, 65, 123, 124, 126, - 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 156, 157, 158, 164, - 165, 173, 174, 177, 181, 182, 183, 184, 187, 154, - 170, 187, 154, 170, 187, 154, 154, 57, 154, 61, - 57, 187, 53, 52, 12, 123, 125, 154, 62, 52, - 62, 52, 123, 52, 52, 52, 52, 93, 190, 194, - 61, 62, 62, 62, 154, 62, 52, 52, 56, 164, - 165, 177, 177, 55, 124, 62, 62, 62, 62, 62, - 17, 18, 20, 21, 64, 65, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 57, 53, 52, - 57, 53, 52, 57, 58, 57, 154, 170, 12, 123, - 62, 53, 154, 27, 154, 129, 156, 157, 158, 177, - 187, 154, 61, 61, 62, 170, 170, 154, 52, 52, - 52, 52, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 57, 170, 57, 170, 57, 154, 52, - 53, 62, 53, 52, 53, 62, 30, 58, 53, 53, - 53, 154, 154, 154, 154, 52, 53, 52, 53, 52, - 53, 170, 123, 154, 123, 154, 155, 154, 187, 128, - 62, 62, 53, 53, 58, 53, 58, 53, 58, 170, - 170, 170, 53, 25, 53, 62, 53, 30, 62, 62, - 171, 62, 171, 62, 171, 53, 53, 53, 123, 62, - 129, 123, 154, 53, 53, 53, 53, 53, 62, 62, - 62, 123, 123 + 53, 53, 58, 56, 186, 187, 56, 186, 187, 56, + 153, 56, 57, 153, 169, 170, 186, 153, 153, 102, + 103, 99, 62, 63, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 89, 90, 91, 92, 93, 94, + 95, 96, 47, 56, 59, 97, 165, 166, 186, 187, + 52, 60, 62, 54, 127, 186, 56, 52, 60, 56, + 52, 60, 56, 53, 58, 153, 58, 57, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 186, 60, + 169, 170, 186, 11, 19, 22, 23, 24, 26, 27, + 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 55, 56, 64, 65, 122, 123, 125, 126, 127, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 155, 156, 157, 163, 164, 172, + 173, 176, 180, 181, 182, 183, 186, 153, 169, 186, + 153, 169, 186, 153, 153, 57, 153, 61, 57, 186, + 53, 52, 12, 122, 124, 153, 62, 52, 62, 52, + 122, 52, 52, 52, 52, 93, 189, 192, 61, 62, + 62, 62, 153, 62, 52, 52, 56, 163, 164, 176, + 176, 55, 123, 62, 62, 62, 62, 62, 17, 18, + 20, 21, 64, 65, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 57, 53, 52, 57, 53, + 52, 57, 58, 57, 153, 169, 12, 122, 62, 53, + 153, 27, 153, 128, 155, 156, 157, 176, 186, 153, + 61, 61, 62, 169, 169, 153, 52, 52, 52, 52, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 57, 169, 57, 169, 57, 153, 52, 53, 62, + 53, 52, 53, 62, 30, 58, 53, 53, 53, 153, + 153, 153, 153, 52, 53, 52, 53, 52, 53, 169, + 122, 153, 122, 153, 154, 153, 186, 127, 62, 62, + 53, 53, 58, 53, 58, 53, 58, 169, 169, 169, + 53, 25, 53, 62, 53, 30, 62, 62, 170, 62, + 170, 62, 170, 53, 53, 53, 122, 62, 128, 122, + 153, 53, 53, 53, 53, 53, 62, 62, 62, 122, + 122 }; const unsigned char parser::yyr1_[] = { - 0, 114, 115, 115, 116, 116, 116, 116, 116, 116, - 117, 118, 119, 119, 119, 119, 119, 120, 121, 122, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 124, 124, 125, 125, 126, - 126, 127, 127, 128, 128, 129, 129, 129, 129, 130, - 130, 131, 131, 131, 132, 133, 133, 134, 135, 135, - 136, 136, 137, 138, 138, 139, 140, 141, 142, 143, - 144, 144, 145, 146, 146, 147, 148, 149, 150, 150, - 151, 152, 153, 154, 154, 154, 155, 155, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, - 157, 158, 158, 159, 160, 160, 160, 160, 160, 160, + 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, + 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 129, + 129, 130, 130, 130, 131, 132, 132, 133, 134, 134, + 135, 135, 136, 137, 137, 138, 139, 140, 141, 142, + 143, 143, 144, 145, 145, 146, 147, 148, 149, 149, + 150, 151, 152, 153, 153, 153, 154, 154, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, + 156, 157, 157, 158, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 162, 163, 164, 164, 165, 165, 166, 166, 166, 166, - 166, 166, 167, 167, 167, 167, 168, 169, 169, 169, - 170, 170, 171, 171, 172, 172, 173, 174, 174, 175, - 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, + 162, 163, 163, 164, 164, 165, 165, 165, 165, 165, + 165, 166, 166, 166, 166, 167, 168, 168, 168, 169, + 169, 170, 170, 171, 171, 172, 173, 173, 174, 175, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 188, 189, 190, 191, 192, 193, 193, 194, 194, - 195, 196 + 187, 188, 189, 190, 191, 191, 192, 192, 193, 194 }; const signed char @@ -4507,14 +4472,13 @@ namespace xsk { namespace gsc { namespace h1 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, + 2, 1, 1, 2, 2, 4, 6, 5, 7, 5, + 7, 8, 9, 9, 9, 3, 3, 1, 0, 1, + 0, 3, 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 1, 2, 2, 4, 6, 5, 7, - 5, 7, 8, 9, 9, 9, 3, 3, 1, 0, - 1, 0, 3, 1, 2, 3, 4, 3, 2, 2, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 7, 2, 1, 2, 1, - 1, 1 + 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 7, 2, 1, 2, 1, 1, 1 }; @@ -4524,29 +4488,28 @@ namespace xsk { namespace gsc { namespace h1 { const short parser::yyrline_[] = { - 0, 258, 258, 259, 263, 265, 267, 269, 271, 273, - 278, 282, 287, 288, 289, 290, 291, 295, 300, 305, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 338, 339, 343, 345, 350, - 352, 357, 358, 362, 363, 367, 369, 371, 374, 378, - 380, 385, 387, 389, 394, 399, 401, 406, 411, 413, - 418, 420, 425, 430, 432, 437, 442, 447, 452, 457, - 462, 464, 469, 474, 476, 481, 486, 491, 496, 498, - 503, 508, 513, 518, 519, 520, 524, 525, 529, 531, - 533, 535, 537, 539, 541, 543, 545, 547, 549, 554, - 556, 561, 563, 568, 573, 575, 577, 579, 581, 583, - 585, 587, 589, 591, 593, 595, 597, 599, 601, 603, - 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, - 643, 648, 653, 654, 657, 658, 662, 664, 666, 668, - 670, 672, 677, 679, 681, 683, 688, 693, 695, 698, - 702, 705, 709, 711, 716, 718, 723, 728, 730, 735, - 740, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 757, 762, 767, 772, 777, 782, 787, 792, 797, 802, - 807, 809, 814, 819, 824, 829, 834, 836, 841, 843, - 848, 853 + 0, 256, 256, 257, 261, 263, 265, 267, 269, 271, + 276, 280, 285, 286, 287, 288, 289, 293, 298, 303, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 336, 337, 341, 343, 348, + 350, 355, 356, 360, 361, 365, 367, 369, 372, 376, + 378, 383, 385, 387, 392, 397, 399, 404, 409, 411, + 416, 418, 423, 428, 430, 435, 440, 445, 450, 455, + 460, 462, 467, 472, 474, 479, 484, 489, 494, 496, + 501, 506, 511, 516, 517, 518, 522, 523, 527, 529, + 531, 533, 535, 537, 539, 541, 543, 545, 547, 552, + 554, 559, 561, 566, 571, 573, 575, 577, 579, 581, + 583, 585, 587, 589, 591, 593, 595, 597, 599, 601, + 603, 605, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 640, + 645, 650, 651, 654, 655, 659, 661, 663, 665, 667, + 669, 674, 676, 678, 680, 685, 690, 692, 695, 699, + 702, 706, 708, 713, 715, 720, 725, 727, 732, 737, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 754, + 759, 764, 769, 774, 779, 784, 789, 794, 799, 804, + 806, 811, 816, 821, 826, 828, 833, 835, 840, 845 }; void @@ -4579,9 +4542,9 @@ namespace xsk { namespace gsc { namespace h1 { #line 13 "parser.ypp" } } } // xsk::gsc::h1 -#line 4583 "parser.cpp" +#line 4546 "parser.cpp" -#line 857 "parser.ypp" +#line 849 "parser.ypp" void xsk::gsc::h1::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/h1/xsk/parser.hpp b/src/h1/xsk/parser.hpp index 8e16ba45..ad714057 100644 --- a/src/h1/xsk/parser.hpp +++ b/src/h1/xsk/parser.hpp @@ -458,180 +458,176 @@ namespace xsk { namespace gsc { namespace h1 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waitframe - char dummy63[sizeof (ast::stmt_waitframe::ptr)]; + char dummy62[sizeof (ast::stmt_waitframe::ptr)]; // stmt_waittill - char dummy64[sizeof (ast::stmt_waittill::ptr)]; + char dummy63[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy67[sizeof (ast::stmt_while::ptr)]; + char dummy66[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy68[sizeof (std::string)]; + char dummy67[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -782,18 +778,17 @@ namespace xsk { namespace gsc { namespace h1 { IDENTIFIER = 99, // "identifier" STRING = 100, // "string literal" ISTRING = 101, // "localized string" - COLOR = 102, // "color" - FLOAT = 103, // "float" - INTEGER = 104, // "integer" - ADD_ARRAY = 105, // ADD_ARRAY - THEN = 106, // THEN - TERN = 107, // TERN - NEG = 108, // NEG - ANIMREF = 109, // ANIMREF - PREINC = 110, // PREINC - PREDEC = 111, // PREDEC - POSTINC = 112, // POSTINC - POSTDEC = 113 // POSTDEC + FLOAT = 102, // "float" + INTEGER = 103, // "integer" + ADD_ARRAY = 104, // ADD_ARRAY + THEN = 105, // THEN + TERN = 106, // TERN + NEG = 107, // NEG + ANIMREF = 108, // ANIMREF + PREINC = 109, // PREINC + PREDEC = 110, // PREDEC + POSTINC = 111, // POSTINC + POSTDEC = 112 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -810,7 +805,7 @@ namespace xsk { namespace gsc { namespace h1 { { enum symbol_kind_type { - YYNTOKENS = 114, ///< Number of tokens. + YYNTOKENS = 113, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -914,101 +909,99 @@ namespace xsk { namespace gsc { namespace h1 { S_IDENTIFIER = 99, // "identifier" S_STRING = 100, // "string literal" S_ISTRING = 101, // "localized string" - S_COLOR = 102, // "color" - S_FLOAT = 103, // "float" - S_INTEGER = 104, // "integer" - S_ADD_ARRAY = 105, // ADD_ARRAY - S_THEN = 106, // THEN - S_TERN = 107, // TERN - S_NEG = 108, // NEG - S_ANIMREF = 109, // ANIMREF - S_PREINC = 110, // PREINC - S_PREDEC = 111, // PREDEC - S_POSTINC = 112, // POSTINC - S_POSTDEC = 113, // POSTDEC - S_YYACCEPT = 114, // $accept - S_root = 115, // root - S_program = 116, // program - S_inline = 117, // inline - S_include = 118, // include - S_declaration = 119, // declaration - S_decl_usingtree = 120, // decl_usingtree - S_decl_constant = 121, // decl_constant - S_decl_thread = 122, // decl_thread - S_stmt = 123, // stmt - S_stmt_or_dev = 124, // stmt_or_dev - S_stmt_list = 125, // stmt_list - S_stmt_or_dev_list = 126, // stmt_or_dev_list - S_stmt_dev = 127, // stmt_dev - S_stmt_block = 128, // stmt_block - S_stmt_expr = 129, // stmt_expr - S_stmt_call = 130, // stmt_call - S_stmt_assign = 131, // stmt_assign - S_stmt_endon = 132, // stmt_endon - S_stmt_notify = 133, // stmt_notify - S_stmt_wait = 134, // stmt_wait - S_stmt_waittill = 135, // stmt_waittill - S_stmt_waittillmatch = 136, // stmt_waittillmatch - S_stmt_waittillframeend = 137, // stmt_waittillframeend - S_stmt_waitframe = 138, // stmt_waitframe - S_stmt_if = 139, // stmt_if - S_stmt_ifelse = 140, // stmt_ifelse - S_stmt_while = 141, // stmt_while - S_stmt_dowhile = 142, // stmt_dowhile - S_stmt_for = 143, // stmt_for - S_stmt_foreach = 144, // stmt_foreach - S_stmt_switch = 145, // stmt_switch - S_stmt_case = 146, // stmt_case - S_stmt_default = 147, // stmt_default - S_stmt_break = 148, // stmt_break - S_stmt_continue = 149, // stmt_continue - S_stmt_return = 150, // stmt_return - S_stmt_breakpoint = 151, // stmt_breakpoint - S_stmt_prof_begin = 152, // stmt_prof_begin - S_stmt_prof_end = 153, // stmt_prof_end - S_expr = 154, // expr - S_expr_or_empty = 155, // expr_or_empty - S_expr_assign = 156, // expr_assign - S_expr_increment = 157, // expr_increment - S_expr_decrement = 158, // expr_decrement - S_expr_ternary = 159, // expr_ternary - S_expr_binary = 160, // expr_binary - S_expr_primitive = 161, // expr_primitive - S_expr_complement = 162, // expr_complement - S_expr_not = 163, // expr_not - S_expr_call = 164, // expr_call - S_expr_method = 165, // expr_method - S_expr_function = 166, // expr_function - S_expr_pointer = 167, // expr_pointer - S_expr_add_array = 168, // expr_add_array - S_expr_parameters = 169, // expr_parameters - S_expr_arguments = 170, // expr_arguments - S_expr_arguments_no_empty = 171, // expr_arguments_no_empty - S_expr_reference = 172, // expr_reference - S_expr_array = 173, // expr_array - S_expr_field = 174, // expr_field - S_expr_size = 175, // expr_size - S_expr_paren = 176, // expr_paren - S_expr_object = 177, // expr_object - S_expr_thisthread = 178, // expr_thisthread - S_expr_empty_array = 179, // expr_empty_array - S_expr_undefined = 180, // expr_undefined - S_expr_game = 181, // expr_game - S_expr_self = 182, // expr_self - S_expr_anim = 183, // expr_anim - S_expr_level = 184, // expr_level - S_expr_animation = 185, // expr_animation - S_expr_animtree = 186, // expr_animtree - S_expr_identifier = 187, // expr_identifier - S_expr_path = 188, // expr_path - S_expr_istring = 189, // expr_istring - S_expr_string = 190, // expr_string - S_expr_color = 191, // expr_color - S_expr_vector = 192, // expr_vector - S_expr_float = 193, // expr_float - S_expr_integer = 194, // expr_integer - S_expr_false = 195, // expr_false - S_expr_true = 196 // expr_true + S_FLOAT = 102, // "float" + S_INTEGER = 103, // "integer" + S_ADD_ARRAY = 104, // ADD_ARRAY + S_THEN = 105, // THEN + S_TERN = 106, // TERN + S_NEG = 107, // NEG + S_ANIMREF = 108, // ANIMREF + S_PREINC = 109, // PREINC + S_PREDEC = 110, // PREDEC + S_POSTINC = 111, // POSTINC + S_POSTDEC = 112, // POSTDEC + S_YYACCEPT = 113, // $accept + S_root = 114, // root + S_program = 115, // program + S_inline = 116, // inline + S_include = 117, // include + S_declaration = 118, // declaration + S_decl_usingtree = 119, // decl_usingtree + S_decl_constant = 120, // decl_constant + S_decl_thread = 121, // decl_thread + S_stmt = 122, // stmt + S_stmt_or_dev = 123, // stmt_or_dev + S_stmt_list = 124, // stmt_list + S_stmt_or_dev_list = 125, // stmt_or_dev_list + S_stmt_dev = 126, // stmt_dev + S_stmt_block = 127, // stmt_block + S_stmt_expr = 128, // stmt_expr + S_stmt_call = 129, // stmt_call + S_stmt_assign = 130, // stmt_assign + S_stmt_endon = 131, // stmt_endon + S_stmt_notify = 132, // stmt_notify + S_stmt_wait = 133, // stmt_wait + S_stmt_waittill = 134, // stmt_waittill + S_stmt_waittillmatch = 135, // stmt_waittillmatch + S_stmt_waittillframeend = 136, // stmt_waittillframeend + S_stmt_waitframe = 137, // stmt_waitframe + S_stmt_if = 138, // stmt_if + S_stmt_ifelse = 139, // stmt_ifelse + S_stmt_while = 140, // stmt_while + S_stmt_dowhile = 141, // stmt_dowhile + S_stmt_for = 142, // stmt_for + S_stmt_foreach = 143, // stmt_foreach + S_stmt_switch = 144, // stmt_switch + S_stmt_case = 145, // stmt_case + S_stmt_default = 146, // stmt_default + S_stmt_break = 147, // stmt_break + S_stmt_continue = 148, // stmt_continue + S_stmt_return = 149, // stmt_return + S_stmt_breakpoint = 150, // stmt_breakpoint + S_stmt_prof_begin = 151, // stmt_prof_begin + S_stmt_prof_end = 152, // stmt_prof_end + S_expr = 153, // expr + S_expr_or_empty = 154, // expr_or_empty + S_expr_assign = 155, // expr_assign + S_expr_increment = 156, // expr_increment + S_expr_decrement = 157, // expr_decrement + S_expr_ternary = 158, // expr_ternary + S_expr_binary = 159, // expr_binary + S_expr_primitive = 160, // expr_primitive + S_expr_complement = 161, // expr_complement + S_expr_not = 162, // expr_not + S_expr_call = 163, // expr_call + S_expr_method = 164, // expr_method + S_expr_function = 165, // expr_function + S_expr_pointer = 166, // expr_pointer + S_expr_add_array = 167, // expr_add_array + S_expr_parameters = 168, // expr_parameters + S_expr_arguments = 169, // expr_arguments + S_expr_arguments_no_empty = 170, // expr_arguments_no_empty + S_expr_reference = 171, // expr_reference + S_expr_array = 172, // expr_array + S_expr_field = 173, // expr_field + S_expr_size = 174, // expr_size + S_expr_paren = 175, // expr_paren + S_expr_object = 176, // expr_object + S_expr_thisthread = 177, // expr_thisthread + S_expr_empty_array = 178, // expr_empty_array + S_expr_undefined = 179, // expr_undefined + S_expr_game = 180, // expr_game + S_expr_self = 181, // expr_self + S_expr_anim = 182, // expr_anim + S_expr_level = 183, // expr_level + S_expr_animation = 184, // expr_animation + S_expr_animtree = 185, // expr_animtree + S_expr_identifier = 186, // expr_identifier + S_expr_path = 187, // expr_path + S_expr_istring = 188, // expr_istring + S_expr_string = 189, // expr_string + S_expr_vector = 190, // expr_vector + S_expr_float = 191, // expr_float + S_expr_integer = 192, // expr_integer + S_expr_false = 193, // expr_false + S_expr_true = 194 // expr_true }; }; @@ -1107,10 +1100,6 @@ namespace xsk { namespace gsc { namespace h1 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1331,7 +1320,6 @@ namespace xsk { namespace gsc { namespace h1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1542,20 +1530,6 @@ namespace xsk { namespace gsc { namespace h1 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2396,10 +2370,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2620,7 +2590,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4312,21 +4281,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4836,8 +4790,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2285, ///< Last index in yytable_. - yynnts_ = 83, ///< Number of nonterminal symbols. + yylast_ = 2300, ///< Last index in yytable_. + yynnts_ = 82, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4926,10 +4880,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5150,7 +5100,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5247,10 +5196,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5471,7 +5416,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5540,7 +5484,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::h1 -#line 5544 "parser.hpp" +#line 5488 "parser.hpp" diff --git a/src/h2/xsk/parser.cpp b/src/h2/xsk/parser.cpp index acc92e7d..fcae2d52 100644 --- a/src/h2/xsk/parser.cpp +++ b/src/h2/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace h2 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -501,7 +497,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -584,10 +579,6 @@ namespace xsk { namespace gsc { namespace h2 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -808,7 +799,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -891,10 +881,6 @@ namespace xsk { namespace gsc { namespace h2 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1115,7 +1101,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1197,10 +1182,6 @@ namespace xsk { namespace gsc { namespace h2 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1421,7 +1402,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1758,10 +1738,6 @@ namespace xsk { namespace gsc { namespace h2 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1982,7 +1958,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2009,1327 +1984,1315 @@ namespace xsk { namespace gsc { namespace h2 { switch (yyn) { case 2: // root: program -#line 256 "parser.ypp" +#line 254 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 2015 "parser.cpp" +#line 1990 "parser.cpp" break; case 3: // root: %empty -#line 257 "parser.ypp" +#line 255 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2021 "parser.cpp" +#line 1996 "parser.cpp" break; case 4: // program: program inline -#line 262 "parser.ypp" +#line 260 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2027 "parser.cpp" +#line 2002 "parser.cpp" break; case 5: // program: program include -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2033 "parser.cpp" +#line 2008 "parser.cpp" break; case 6: // program: program declaration -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2039 "parser.cpp" +#line 2014 "parser.cpp" break; case 7: // program: inline -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2045 "parser.cpp" +#line 2020 "parser.cpp" break; case 8: // program: include -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2051 "parser.cpp" +#line 2026 "parser.cpp" break; case 9: // program: declaration -#line 272 "parser.ypp" +#line 270 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2057 "parser.cpp" +#line 2032 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 276 "parser.ypp" +#line 274 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2063 "parser.cpp" +#line 2038 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 281 "parser.ypp" +#line 279 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2069 "parser.cpp" +#line 2044 "parser.cpp" break; case 12: // declaration: "/#" -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2075 "parser.cpp" +#line 2050 "parser.cpp" break; case 13: // declaration: "#/" -#line 286 "parser.ypp" +#line 284 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2081 "parser.cpp" +#line 2056 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2087 "parser.cpp" +#line 2062 "parser.cpp" break; case 15: // declaration: decl_constant -#line 288 "parser.ypp" +#line 286 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2093 "parser.cpp" +#line 2068 "parser.cpp" break; case 16: // declaration: decl_thread -#line 289 "parser.ypp" +#line 287 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2099 "parser.cpp" +#line 2074 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 294 "parser.ypp" +#line 292 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2105 "parser.cpp" +#line 2080 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 299 "parser.ypp" +#line 297 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2111 "parser.cpp" +#line 2086 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 304 "parser.ypp" +#line 302 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2117 "parser.cpp" +#line 2092 "parser.cpp" break; case 20: // stmt: stmt_block -#line 308 "parser.ypp" +#line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2123 "parser.cpp" +#line 2098 "parser.cpp" break; case 21: // stmt: stmt_call -#line 309 "parser.ypp" +#line 307 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2129 "parser.cpp" +#line 2104 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2135 "parser.cpp" +#line 2110 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2141 "parser.cpp" +#line 2116 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2147 "parser.cpp" +#line 2122 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2153 "parser.cpp" +#line 2128 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2159 "parser.cpp" +#line 2134 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2165 "parser.cpp" +#line 2140 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2171 "parser.cpp" +#line 2146 "parser.cpp" break; case 29: // stmt: stmt_waitframe -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } -#line 2177 "parser.cpp" +#line 2152 "parser.cpp" break; case 30: // stmt: stmt_if -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2183 "parser.cpp" +#line 2158 "parser.cpp" break; case 31: // stmt: stmt_ifelse -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2189 "parser.cpp" +#line 2164 "parser.cpp" break; case 32: // stmt: stmt_while -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2195 "parser.cpp" +#line 2170 "parser.cpp" break; case 33: // stmt: stmt_dowhile -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2201 "parser.cpp" +#line 2176 "parser.cpp" break; case 34: // stmt: stmt_for -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2207 "parser.cpp" +#line 2182 "parser.cpp" break; case 35: // stmt: stmt_foreach -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2213 "parser.cpp" +#line 2188 "parser.cpp" break; case 36: // stmt: stmt_switch -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2219 "parser.cpp" +#line 2194 "parser.cpp" break; case 37: // stmt: stmt_case -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2225 "parser.cpp" +#line 2200 "parser.cpp" break; case 38: // stmt: stmt_default -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2231 "parser.cpp" +#line 2206 "parser.cpp" break; case 39: // stmt: stmt_break -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2237 "parser.cpp" +#line 2212 "parser.cpp" break; case 40: // stmt: stmt_continue -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2243 "parser.cpp" +#line 2218 "parser.cpp" break; case 41: // stmt: stmt_return -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2249 "parser.cpp" +#line 2224 "parser.cpp" break; case 42: // stmt: stmt_breakpoint -#line 330 "parser.ypp" +#line 328 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2255 "parser.cpp" +#line 2230 "parser.cpp" break; case 43: // stmt: stmt_prof_begin -#line 331 "parser.ypp" +#line 329 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2261 "parser.cpp" +#line 2236 "parser.cpp" break; case 44: // stmt: stmt_prof_end -#line 332 "parser.ypp" +#line 330 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2267 "parser.cpp" +#line 2242 "parser.cpp" break; case 45: // stmt_or_dev: stmt -#line 336 "parser.ypp" +#line 334 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2273 "parser.cpp" +#line 2248 "parser.cpp" break; case 46: // stmt_or_dev: stmt_dev -#line 337 "parser.ypp" +#line 335 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2279 "parser.cpp" +#line 2254 "parser.cpp" break; case 47: // stmt_list: stmt_list stmt -#line 342 "parser.ypp" +#line 340 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2285 "parser.cpp" +#line 2260 "parser.cpp" break; case 48: // stmt_list: stmt -#line 344 "parser.ypp" +#line 342 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2291 "parser.cpp" +#line 2266 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 349 "parser.ypp" +#line 347 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2297 "parser.cpp" +#line 2272 "parser.cpp" break; case 50: // stmt_or_dev_list: stmt_or_dev -#line 351 "parser.ypp" +#line 349 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2303 "parser.cpp" +#line 2278 "parser.cpp" break; case 51: // stmt_dev: "/#" stmt_list "#/" -#line 355 "parser.ypp" +#line 353 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2309 "parser.cpp" +#line 2284 "parser.cpp" break; case 52: // stmt_dev: "/#" "#/" -#line 356 "parser.ypp" +#line 354 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2315 "parser.cpp" +#line 2290 "parser.cpp" break; case 53: // stmt_block: "{" stmt_or_dev_list "}" -#line 360 "parser.ypp" +#line 358 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2321 "parser.cpp" +#line 2296 "parser.cpp" break; case 54: // stmt_block: "{" "}" -#line 361 "parser.ypp" +#line 359 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2327 "parser.cpp" +#line 2302 "parser.cpp" break; case 55: // stmt_expr: expr_assign -#line 366 "parser.ypp" +#line 364 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2333 "parser.cpp" +#line 2308 "parser.cpp" break; case 56: // stmt_expr: expr_increment -#line 368 "parser.ypp" +#line 366 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2339 "parser.cpp" +#line 2314 "parser.cpp" break; case 57: // stmt_expr: expr_decrement -#line 370 "parser.ypp" +#line 368 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2345 "parser.cpp" +#line 2320 "parser.cpp" break; case 58: // stmt_expr: %empty -#line 372 "parser.ypp" +#line 370 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2351 "parser.cpp" +#line 2326 "parser.cpp" break; case 59: // stmt_call: expr_call ";" -#line 377 "parser.ypp" +#line 375 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2357 "parser.cpp" +#line 2332 "parser.cpp" break; case 60: // stmt_call: expr_method ";" -#line 379 "parser.ypp" +#line 377 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2363 "parser.cpp" +#line 2338 "parser.cpp" break; case 61: // stmt_assign: expr_assign ";" -#line 384 "parser.ypp" +#line 382 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2369 "parser.cpp" +#line 2344 "parser.cpp" break; case 62: // stmt_assign: expr_increment ";" -#line 386 "parser.ypp" +#line 384 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2375 "parser.cpp" +#line 2350 "parser.cpp" break; case 63: // stmt_assign: expr_decrement ";" -#line 388 "parser.ypp" +#line 386 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2381 "parser.cpp" +#line 2356 "parser.cpp" break; case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 393 "parser.ypp" +#line 391 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2387 "parser.cpp" +#line 2362 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 398 "parser.ypp" +#line 396 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2393 "parser.cpp" +#line 2368 "parser.cpp" break; case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 400 "parser.ypp" +#line 398 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2399 "parser.cpp" +#line 2374 "parser.cpp" break; case 67: // stmt_wait: "wait" expr ";" -#line 405 "parser.ypp" +#line 403 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2405 "parser.cpp" +#line 2380 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 410 "parser.ypp" +#line 408 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2411 "parser.cpp" +#line 2386 "parser.cpp" break; case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 412 "parser.ypp" +#line 410 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2417 "parser.cpp" +#line 2392 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 417 "parser.ypp" +#line 415 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2423 "parser.cpp" +#line 2398 "parser.cpp" break; case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 419 "parser.ypp" +#line 417 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2429 "parser.cpp" +#line 2404 "parser.cpp" break; case 72: // stmt_waittillframeend: "waittillframeend" ";" -#line 424 "parser.ypp" +#line 422 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2435 "parser.cpp" +#line 2410 "parser.cpp" break; case 73: // stmt_waitframe: "waitframe" ";" -#line 429 "parser.ypp" +#line 427 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2441 "parser.cpp" +#line 2416 "parser.cpp" break; case 74: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2447 "parser.cpp" +#line 2422 "parser.cpp" break; case 75: // stmt_if: "if" "(" expr ")" stmt -#line 436 "parser.ypp" +#line 434 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2453 "parser.cpp" +#line 2428 "parser.cpp" break; case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 441 "parser.ypp" +#line 439 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2459 "parser.cpp" +#line 2434 "parser.cpp" break; case 77: // stmt_while: "while" "(" expr ")" stmt -#line 446 "parser.ypp" +#line 444 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2465 "parser.cpp" +#line 2440 "parser.cpp" break; case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 451 "parser.ypp" +#line 449 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2471 "parser.cpp" +#line 2446 "parser.cpp" break; case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 456 "parser.ypp" +#line 454 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2477 "parser.cpp" +#line 2452 "parser.cpp" break; case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 461 "parser.ypp" +#line 459 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2483 "parser.cpp" +#line 2458 "parser.cpp" break; case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2489 "parser.cpp" +#line 2464 "parser.cpp" break; case 82: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 468 "parser.ypp" +#line 466 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2495 "parser.cpp" +#line 2470 "parser.cpp" break; case 83: // stmt_case: "case" expr_integer ":" -#line 473 "parser.ypp" +#line 471 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2501 "parser.cpp" +#line 2476 "parser.cpp" break; case 84: // stmt_case: "case" expr_string ":" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2507 "parser.cpp" +#line 2482 "parser.cpp" break; case 85: // stmt_default: "default" ":" -#line 480 "parser.ypp" +#line 478 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2513 "parser.cpp" +#line 2488 "parser.cpp" break; case 86: // stmt_break: "break" ";" -#line 485 "parser.ypp" +#line 483 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2519 "parser.cpp" +#line 2494 "parser.cpp" break; case 87: // stmt_continue: "continue" ";" -#line 490 "parser.ypp" +#line 488 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2525 "parser.cpp" +#line 2500 "parser.cpp" break; case 88: // stmt_return: "return" expr ";" -#line 495 "parser.ypp" +#line 493 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2531 "parser.cpp" +#line 2506 "parser.cpp" break; case 89: // stmt_return: "return" ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2537 "parser.cpp" +#line 2512 "parser.cpp" break; case 90: // stmt_breakpoint: "breakpoint" ";" -#line 502 "parser.ypp" +#line 500 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2543 "parser.cpp" +#line 2518 "parser.cpp" break; case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 507 "parser.ypp" +#line 505 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2549 "parser.cpp" +#line 2524 "parser.cpp" break; case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 512 "parser.ypp" +#line 510 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2555 "parser.cpp" +#line 2530 "parser.cpp" break; case 93: // expr: expr_ternary -#line 516 "parser.ypp" +#line 514 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2561 "parser.cpp" +#line 2536 "parser.cpp" break; case 94: // expr: expr_binary -#line 517 "parser.ypp" +#line 515 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2567 "parser.cpp" +#line 2542 "parser.cpp" break; case 95: // expr: expr_primitive -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2573 "parser.cpp" +#line 2548 "parser.cpp" break; case 96: // expr_or_empty: expr -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2579 "parser.cpp" +#line 2554 "parser.cpp" break; case 97: // expr_or_empty: %empty -#line 523 "parser.ypp" +#line 521 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2585 "parser.cpp" +#line 2560 "parser.cpp" break; case 98: // expr_assign: expr_object "=" expr -#line 528 "parser.ypp" +#line 526 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2591 "parser.cpp" +#line 2566 "parser.cpp" break; case 99: // expr_assign: expr_object "|=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2597 "parser.cpp" +#line 2572 "parser.cpp" break; case 100: // expr_assign: expr_object "&=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2603 "parser.cpp" +#line 2578 "parser.cpp" break; case 101: // expr_assign: expr_object "^=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2609 "parser.cpp" +#line 2584 "parser.cpp" break; case 102: // expr_assign: expr_object "<<=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2615 "parser.cpp" +#line 2590 "parser.cpp" break; case 103: // expr_assign: expr_object ">>=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2621 "parser.cpp" +#line 2596 "parser.cpp" break; case 104: // expr_assign: expr_object "+=" expr -#line 540 "parser.ypp" +#line 538 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2627 "parser.cpp" +#line 2602 "parser.cpp" break; case 105: // expr_assign: expr_object "-=" expr -#line 542 "parser.ypp" +#line 540 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2633 "parser.cpp" +#line 2608 "parser.cpp" break; case 106: // expr_assign: expr_object "*=" expr -#line 544 "parser.ypp" +#line 542 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2639 "parser.cpp" +#line 2614 "parser.cpp" break; case 107: // expr_assign: expr_object "/=" expr -#line 546 "parser.ypp" +#line 544 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2645 "parser.cpp" +#line 2620 "parser.cpp" break; case 108: // expr_assign: expr_object "%=" expr -#line 548 "parser.ypp" +#line 546 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2651 "parser.cpp" +#line 2626 "parser.cpp" break; case 109: // expr_increment: "++" expr_object -#line 553 "parser.ypp" +#line 551 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2657 "parser.cpp" +#line 2632 "parser.cpp" break; case 110: // expr_increment: expr_object "++" -#line 555 "parser.ypp" +#line 553 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2663 "parser.cpp" +#line 2638 "parser.cpp" break; case 111: // expr_decrement: "--" expr_object -#line 560 "parser.ypp" +#line 558 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2669 "parser.cpp" +#line 2644 "parser.cpp" break; case 112: // expr_decrement: expr_object "--" -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2675 "parser.cpp" +#line 2650 "parser.cpp" break; case 113: // expr_ternary: expr "?" expr ":" expr -#line 567 "parser.ypp" +#line 565 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2681 "parser.cpp" +#line 2656 "parser.cpp" break; case 114: // expr_binary: expr "||" expr -#line 572 "parser.ypp" +#line 570 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2687 "parser.cpp" +#line 2662 "parser.cpp" break; case 115: // expr_binary: expr "&&" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2693 "parser.cpp" +#line 2668 "parser.cpp" break; case 116: // expr_binary: expr "==" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2699 "parser.cpp" +#line 2674 "parser.cpp" break; case 117: // expr_binary: expr "!=" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2705 "parser.cpp" +#line 2680 "parser.cpp" break; case 118: // expr_binary: expr "<=" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2711 "parser.cpp" +#line 2686 "parser.cpp" break; case 119: // expr_binary: expr ">=" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2717 "parser.cpp" +#line 2692 "parser.cpp" break; case 120: // expr_binary: expr "<" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2723 "parser.cpp" +#line 2698 "parser.cpp" break; case 121: // expr_binary: expr ">" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2729 "parser.cpp" +#line 2704 "parser.cpp" break; case 122: // expr_binary: expr "|" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2735 "parser.cpp" +#line 2710 "parser.cpp" break; case 123: // expr_binary: expr "&" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2741 "parser.cpp" +#line 2716 "parser.cpp" break; case 124: // expr_binary: expr "^" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2747 "parser.cpp" +#line 2722 "parser.cpp" break; case 125: // expr_binary: expr "<<" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2753 "parser.cpp" +#line 2728 "parser.cpp" break; case 126: // expr_binary: expr ">>" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2759 "parser.cpp" +#line 2734 "parser.cpp" break; case 127: // expr_binary: expr "+" expr -#line 598 "parser.ypp" +#line 596 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2765 "parser.cpp" +#line 2740 "parser.cpp" break; case 128: // expr_binary: expr "-" expr -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2771 "parser.cpp" +#line 2746 "parser.cpp" break; case 129: // expr_binary: expr "*" expr -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2777 "parser.cpp" +#line 2752 "parser.cpp" break; case 130: // expr_binary: expr "/" expr -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2783 "parser.cpp" +#line 2758 "parser.cpp" break; case 131: // expr_binary: expr "%" expr -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2789 "parser.cpp" +#line 2764 "parser.cpp" break; case 132: // expr_primitive: expr_complement -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2795 "parser.cpp" +#line 2770 "parser.cpp" break; case 133: // expr_primitive: expr_not -#line 611 "parser.ypp" +#line 609 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2801 "parser.cpp" +#line 2776 "parser.cpp" break; case 134: // expr_primitive: expr_call -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2807 "parser.cpp" +#line 2782 "parser.cpp" break; case 135: // expr_primitive: expr_method -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2813 "parser.cpp" +#line 2788 "parser.cpp" break; case 136: // expr_primitive: expr_add_array -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2819 "parser.cpp" +#line 2794 "parser.cpp" break; case 137: // expr_primitive: expr_reference -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2825 "parser.cpp" +#line 2800 "parser.cpp" break; case 138: // expr_primitive: expr_array -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2831 "parser.cpp" +#line 2806 "parser.cpp" break; case 139: // expr_primitive: expr_field -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2837 "parser.cpp" +#line 2812 "parser.cpp" break; case 140: // expr_primitive: expr_size -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2843 "parser.cpp" +#line 2818 "parser.cpp" break; case 141: // expr_primitive: expr_paren -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2849 "parser.cpp" +#line 2824 "parser.cpp" break; case 142: // expr_primitive: expr_thisthread -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2855 "parser.cpp" +#line 2830 "parser.cpp" break; case 143: // expr_primitive: expr_empty_array -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2861 "parser.cpp" +#line 2836 "parser.cpp" break; case 144: // expr_primitive: expr_undefined -#line 622 "parser.ypp" +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2867 "parser.cpp" +#line 2842 "parser.cpp" break; case 145: // expr_primitive: expr_game -#line 623 "parser.ypp" +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2873 "parser.cpp" +#line 2848 "parser.cpp" break; case 146: // expr_primitive: expr_self -#line 624 "parser.ypp" +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2879 "parser.cpp" +#line 2854 "parser.cpp" break; case 147: // expr_primitive: expr_anim -#line 625 "parser.ypp" +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2885 "parser.cpp" +#line 2860 "parser.cpp" break; case 148: // expr_primitive: expr_level -#line 626 "parser.ypp" +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2891 "parser.cpp" +#line 2866 "parser.cpp" break; case 149: // expr_primitive: expr_animation -#line 627 "parser.ypp" +#line 625 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2897 "parser.cpp" +#line 2872 "parser.cpp" break; case 150: // expr_primitive: expr_animtree -#line 628 "parser.ypp" +#line 626 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2903 "parser.cpp" +#line 2878 "parser.cpp" break; case 151: // expr_primitive: expr_identifier -#line 629 "parser.ypp" +#line 627 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2909 "parser.cpp" +#line 2884 "parser.cpp" break; case 152: // expr_primitive: expr_istring -#line 630 "parser.ypp" +#line 628 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2915 "parser.cpp" +#line 2890 "parser.cpp" break; case 153: // expr_primitive: expr_string -#line 631 "parser.ypp" +#line 629 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2921 "parser.cpp" +#line 2896 "parser.cpp" break; - case 154: // expr_primitive: expr_color -#line 632 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2927 "parser.cpp" - break; - - case 155: // expr_primitive: expr_vector -#line 633 "parser.ypp" + case 154: // expr_primitive: expr_vector +#line 630 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2933 "parser.cpp" +#line 2902 "parser.cpp" break; - case 156: // expr_primitive: expr_float -#line 634 "parser.ypp" + case 155: // expr_primitive: expr_float +#line 631 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2939 "parser.cpp" +#line 2908 "parser.cpp" break; - case 157: // expr_primitive: expr_integer -#line 635 "parser.ypp" + case 156: // expr_primitive: expr_integer +#line 632 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2945 "parser.cpp" +#line 2914 "parser.cpp" break; - case 158: // expr_primitive: expr_false -#line 636 "parser.ypp" + case 157: // expr_primitive: expr_false +#line 633 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2951 "parser.cpp" +#line 2920 "parser.cpp" break; - case 159: // expr_primitive: expr_true -#line 637 "parser.ypp" + case 158: // expr_primitive: expr_true +#line 634 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2957 "parser.cpp" +#line 2926 "parser.cpp" break; - case 160: // expr_complement: "~" expr -#line 642 "parser.ypp" + case 159: // expr_complement: "~" expr +#line 639 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2963 "parser.cpp" +#line 2932 "parser.cpp" break; - case 161: // expr_not: "!" expr -#line 647 "parser.ypp" + case 160: // expr_not: "!" expr +#line 644 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2969 "parser.cpp" +#line 2938 "parser.cpp" break; - case 162: // expr_call: expr_function -#line 651 "parser.ypp" + case 161: // expr_call: expr_function +#line 648 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2975 "parser.cpp" +#line 2944 "parser.cpp" break; - case 163: // expr_call: expr_pointer + case 162: // expr_call: expr_pointer +#line 649 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2950 "parser.cpp" + break; + + case 163: // expr_method: expr_object expr_function #line 652 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2981 "parser.cpp" - break; - - case 164: // expr_method: expr_object expr_function -#line 655 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2987 "parser.cpp" +#line 2956 "parser.cpp" break; - case 165: // expr_method: expr_object expr_pointer -#line 656 "parser.ypp" + case 164: // expr_method: expr_object expr_pointer +#line 653 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2993 "parser.cpp" +#line 2962 "parser.cpp" break; - case 166: // expr_function: expr_identifier "(" expr_arguments ")" -#line 661 "parser.ypp" + case 165: // expr_function: expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2999 "parser.cpp" +#line 2968 "parser.cpp" break; - case 167: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 663 "parser.ypp" + case 166: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 660 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3005 "parser.cpp" +#line 2974 "parser.cpp" break; - case 168: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 665 "parser.ypp" + case 167: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 662 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3011 "parser.cpp" +#line 2980 "parser.cpp" break; - case 169: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 667 "parser.ypp" + case 168: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3017 "parser.cpp" +#line 2986 "parser.cpp" break; - case 170: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 669 "parser.ypp" + case 169: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3023 "parser.cpp" +#line 2992 "parser.cpp" break; - case 171: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 671 "parser.ypp" + case 170: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3029 "parser.cpp" +#line 2998 "parser.cpp" break; - case 172: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 676 "parser.ypp" + case 171: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 673 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3035 "parser.cpp" +#line 3004 "parser.cpp" break; - case 173: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 678 "parser.ypp" + case 172: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 675 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3041 "parser.cpp" +#line 3010 "parser.cpp" break; - case 174: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 680 "parser.ypp" + case 173: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 677 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3047 "parser.cpp" +#line 3016 "parser.cpp" break; - case 175: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 682 "parser.ypp" + case 174: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 679 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3053 "parser.cpp" +#line 3022 "parser.cpp" break; - case 176: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 687 "parser.ypp" + case 175: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 684 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3059 "parser.cpp" +#line 3028 "parser.cpp" break; - case 177: // expr_parameters: expr_parameters "," expr_identifier -#line 692 "parser.ypp" + case 176: // expr_parameters: expr_parameters "," expr_identifier +#line 689 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3065 "parser.cpp" +#line 3034 "parser.cpp" break; - case 178: // expr_parameters: expr_identifier -#line 694 "parser.ypp" + case 177: // expr_parameters: expr_identifier +#line 691 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3071 "parser.cpp" +#line 3040 "parser.cpp" break; - case 179: // expr_parameters: %empty -#line 696 "parser.ypp" + case 178: // expr_parameters: %empty +#line 693 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3077 "parser.cpp" +#line 3046 "parser.cpp" break; - case 180: // expr_arguments: expr_arguments_no_empty -#line 701 "parser.ypp" + case 179: // expr_arguments: expr_arguments_no_empty +#line 698 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3083 "parser.cpp" +#line 3052 "parser.cpp" break; - case 181: // expr_arguments: %empty -#line 703 "parser.ypp" + case 180: // expr_arguments: %empty +#line 700 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3089 "parser.cpp" +#line 3058 "parser.cpp" break; - case 182: // expr_arguments_no_empty: expr_arguments "," expr -#line 708 "parser.ypp" + case 181: // expr_arguments_no_empty: expr_arguments "," expr +#line 705 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3095 "parser.cpp" +#line 3064 "parser.cpp" break; - case 183: // expr_arguments_no_empty: expr -#line 710 "parser.ypp" + case 182: // expr_arguments_no_empty: expr +#line 707 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3101 "parser.cpp" +#line 3070 "parser.cpp" break; - case 184: // expr_reference: "::" expr_identifier -#line 715 "parser.ypp" + case 183: // expr_reference: "::" expr_identifier +#line 712 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3107 "parser.cpp" +#line 3076 "parser.cpp" break; - case 185: // expr_reference: expr_path "::" expr_identifier -#line 717 "parser.ypp" + case 184: // expr_reference: expr_path "::" expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3113 "parser.cpp" +#line 3082 "parser.cpp" break; - case 186: // expr_array: expr_object "[" expr "]" -#line 722 "parser.ypp" + case 185: // expr_array: expr_object "[" expr "]" +#line 719 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3119 "parser.cpp" +#line 3088 "parser.cpp" break; - case 187: // expr_field: expr_object "." expr_identifier -#line 727 "parser.ypp" + case 186: // expr_field: expr_object "." expr_identifier +#line 724 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3125 "parser.cpp" +#line 3094 "parser.cpp" break; - case 188: // expr_field: expr_object "field" -#line 729 "parser.ypp" + case 187: // expr_field: expr_object "field" +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3131 "parser.cpp" +#line 3100 "parser.cpp" break; - case 189: // expr_size: expr_object ".size" -#line 734 "parser.ypp" + case 188: // expr_size: expr_object ".size" +#line 731 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3137 "parser.cpp" +#line 3106 "parser.cpp" break; - case 190: // expr_paren: "(" expr ")" -#line 739 "parser.ypp" + case 189: // expr_paren: "(" expr ")" +#line 736 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3143 "parser.cpp" +#line 3112 "parser.cpp" break; - case 191: // expr_object: expr_call -#line 743 "parser.ypp" + case 190: // expr_object: expr_call +#line 740 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3149 "parser.cpp" +#line 3118 "parser.cpp" break; - case 192: // expr_object: expr_method -#line 744 "parser.ypp" + case 191: // expr_object: expr_method +#line 741 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3155 "parser.cpp" +#line 3124 "parser.cpp" break; - case 193: // expr_object: expr_array -#line 745 "parser.ypp" + case 192: // expr_object: expr_array +#line 742 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3161 "parser.cpp" +#line 3130 "parser.cpp" break; - case 194: // expr_object: expr_field -#line 746 "parser.ypp" + case 193: // expr_object: expr_field +#line 743 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3167 "parser.cpp" +#line 3136 "parser.cpp" break; - case 195: // expr_object: expr_game -#line 747 "parser.ypp" + case 194: // expr_object: expr_game +#line 744 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3173 "parser.cpp" +#line 3142 "parser.cpp" break; - case 196: // expr_object: expr_self -#line 748 "parser.ypp" + case 195: // expr_object: expr_self +#line 745 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3179 "parser.cpp" +#line 3148 "parser.cpp" break; - case 197: // expr_object: expr_anim -#line 749 "parser.ypp" + case 196: // expr_object: expr_anim +#line 746 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3185 "parser.cpp" +#line 3154 "parser.cpp" break; - case 198: // expr_object: expr_level -#line 750 "parser.ypp" + case 197: // expr_object: expr_level +#line 747 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3191 "parser.cpp" +#line 3160 "parser.cpp" break; - case 199: // expr_object: expr_identifier -#line 751 "parser.ypp" + case 198: // expr_object: expr_identifier +#line 748 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3197 "parser.cpp" +#line 3166 "parser.cpp" break; - case 200: // expr_thisthread: "thisthread" -#line 756 "parser.ypp" + case 199: // expr_thisthread: "thisthread" +#line 753 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3203 "parser.cpp" +#line 3172 "parser.cpp" break; - case 201: // expr_empty_array: "[" "]" -#line 761 "parser.ypp" + case 200: // expr_empty_array: "[" "]" +#line 758 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3209 "parser.cpp" +#line 3178 "parser.cpp" break; - case 202: // expr_undefined: "undefined" -#line 766 "parser.ypp" + case 201: // expr_undefined: "undefined" +#line 763 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3215 "parser.cpp" +#line 3184 "parser.cpp" break; - case 203: // expr_game: "game" -#line 771 "parser.ypp" + case 202: // expr_game: "game" +#line 768 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3221 "parser.cpp" +#line 3190 "parser.cpp" break; - case 204: // expr_self: "self" -#line 776 "parser.ypp" + case 203: // expr_self: "self" +#line 773 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3227 "parser.cpp" +#line 3196 "parser.cpp" break; - case 205: // expr_anim: "anim" -#line 781 "parser.ypp" + case 204: // expr_anim: "anim" +#line 778 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3233 "parser.cpp" +#line 3202 "parser.cpp" break; - case 206: // expr_level: "level" -#line 786 "parser.ypp" + case 205: // expr_level: "level" +#line 783 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3239 "parser.cpp" +#line 3208 "parser.cpp" break; - case 207: // expr_animation: "%" "identifier" -#line 791 "parser.ypp" + case 206: // expr_animation: "%" "identifier" +#line 788 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3245 "parser.cpp" +#line 3214 "parser.cpp" break; - case 208: // expr_animtree: "#animtree" -#line 796 "parser.ypp" + case 207: // expr_animtree: "#animtree" +#line 793 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3251 "parser.cpp" +#line 3220 "parser.cpp" break; - case 209: // expr_identifier: "identifier" -#line 801 "parser.ypp" + case 208: // expr_identifier: "identifier" +#line 798 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3257 "parser.cpp" +#line 3226 "parser.cpp" break; - case 210: // expr_path: "path" -#line 806 "parser.ypp" + case 209: // expr_path: "path" +#line 803 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3263 "parser.cpp" +#line 3232 "parser.cpp" break; - case 211: // expr_path: expr_identifier -#line 808 "parser.ypp" + case 210: // expr_path: expr_identifier +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3269 "parser.cpp" +#line 3238 "parser.cpp" break; - case 212: // expr_istring: "localized string" -#line 813 "parser.ypp" + case 211: // expr_istring: "localized string" +#line 810 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3275 "parser.cpp" +#line 3244 "parser.cpp" break; - case 213: // expr_string: "string literal" -#line 818 "parser.ypp" + case 212: // expr_string: "string literal" +#line 815 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3281 "parser.cpp" +#line 3250 "parser.cpp" break; - case 214: // expr_color: "color" -#line 823 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3287 "parser.cpp" - break; - - case 215: // expr_vector: "(" expr "," expr "," expr ")" -#line 828 "parser.ypp" + case 213: // expr_vector: "(" expr "," expr "," expr ")" +#line 820 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3293 "parser.cpp" +#line 3256 "parser.cpp" break; - case 216: // expr_float: "-" "float" -#line 833 "parser.ypp" + case 214: // expr_float: "-" "float" +#line 825 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3299 "parser.cpp" +#line 3262 "parser.cpp" break; - case 217: // expr_float: "float" -#line 835 "parser.ypp" + case 215: // expr_float: "float" +#line 827 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3305 "parser.cpp" +#line 3268 "parser.cpp" break; - case 218: // expr_integer: "-" "integer" -#line 840 "parser.ypp" + case 216: // expr_integer: "-" "integer" +#line 832 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3311 "parser.cpp" +#line 3274 "parser.cpp" break; - case 219: // expr_integer: "integer" -#line 842 "parser.ypp" + case 217: // expr_integer: "integer" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3317 "parser.cpp" +#line 3280 "parser.cpp" break; - case 220: // expr_false: "false" -#line 847 "parser.ypp" + case 218: // expr_false: "false" +#line 839 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3323 "parser.cpp" +#line 3286 "parser.cpp" break; - case 221: // expr_true: "true" -#line 852 "parser.ypp" + case 219: // expr_true: "true" +#line 844 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3329 "parser.cpp" +#line 3292 "parser.cpp" break; -#line 3333 "parser.cpp" +#line 3296 "parser.cpp" default: break; @@ -3525,27 +3488,26 @@ namespace xsk { namespace gsc { namespace h2 { ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", - "localized string", "color", "float", "integer", "ADD_ARRAY", "THEN", - "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", - "$accept", "root", "program", "inline", "include", "declaration", - "decl_usingtree", "decl_constant", "decl_thread", "stmt", "stmt_or_dev", - "stmt_list", "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", - "stmt_call", "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", - "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", - "stmt_waitframe", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", - "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", - "stmt_break", "stmt_continue", "stmt_return", "stmt_breakpoint", - "stmt_prof_begin", "stmt_prof_end", "expr", "expr_or_empty", - "expr_assign", "expr_increment", "expr_decrement", "expr_ternary", - "expr_binary", "expr_primitive", "expr_complement", "expr_not", - "expr_call", "expr_method", "expr_function", "expr_pointer", - "expr_add_array", "expr_parameters", "expr_arguments", - "expr_arguments_no_empty", "expr_reference", "expr_array", "expr_field", - "expr_size", "expr_paren", "expr_object", "expr_thisthread", - "expr_empty_array", "expr_undefined", "expr_game", "expr_self", - "expr_anim", "expr_level", "expr_animation", "expr_animtree", - "expr_identifier", "expr_path", "expr_istring", "expr_string", - "expr_color", "expr_vector", "expr_float", "expr_integer", "expr_false", + "localized string", "float", "integer", "ADD_ARRAY", "THEN", "TERN", + "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", + "root", "program", "inline", "include", "declaration", "decl_usingtree", + "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", + "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", + "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", + "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", + "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", + "stmt_continue", "stmt_return", "stmt_breakpoint", "stmt_prof_begin", + "stmt_prof_end", "expr", "expr_or_empty", "expr_assign", + "expr_increment", "expr_decrement", "expr_ternary", "expr_binary", + "expr_primitive", "expr_complement", "expr_not", "expr_call", + "expr_method", "expr_function", "expr_pointer", "expr_add_array", + "expr_parameters", "expr_arguments", "expr_arguments_no_empty", + "expr_reference", "expr_array", "expr_field", "expr_size", "expr_paren", + "expr_object", "expr_thisthread", "expr_empty_array", "expr_undefined", + "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", + "expr_animtree", "expr_identifier", "expr_path", "expr_istring", + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; @@ -3811,517 +3773,513 @@ namespace xsk { namespace gsc { namespace h2 { } - const short parser::yypact_ninf_ = -270; + const short parser::yypact_ninf_ = -267; - const short parser::yytable_ninf_ = -212; + const short parser::yytable_ninf_ = -211; const short parser::yypact_[] = { - 3, -270, -270, -42, -42, -16, -270, 43, 3, -270, - -270, -270, -270, -270, -270, -25, -270, -270, 1, 7, - -50, -270, -270, -270, -270, -28, 934, -270, -270, -270, - 24, -14, -270, -270, -37, -33, -270, 59, -270, -270, - -270, -270, -270, -270, -270, 934, 627, -28, 934, 934, - 37, -11, -270, -270, -270, -270, 2024, -270, -270, -270, - -270, -270, 69, 293, -270, -270, -270, -270, 433, 532, - -270, -270, 542, -270, -270, -270, 665, 692, 965, 1179, - -270, -270, 8, 41, -270, -270, -270, -270, -270, -270, - -270, -270, 49, 73, -28, 62, 82, 78, 88, 95, - 89, 96, 1310, 627, -270, 2107, 98, 106, -270, -270, - -270, -270, -270, -270, -270, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, -270, 999, -28, -270, -270, -270, - 112, 114, 934, -28, -270, 791, -270, -270, 934, 934, - -28, 934, 934, -28, 934, -270, 934, 1754, 934, -270, - 1989, 65, 65, 2138, 2148, 860, 860, 152, 152, 152, - 152, 2179, 1013, 2189, 75, 75, -270, -270, -270, 1794, - -270, -28, 17, -270, 120, 1092, 934, 113, -10, 124, - 1268, 131, 134, 137, 140, -7, 141, 133, 136, 869, - 139, 155, 156, -270, 148, 33, 33, -270, -270, 843, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, 151, 159, 161, 162, - 165, -270, -270, 1187, -270, -270, -270, -270, -32, 1834, - 32, 158, 1874, 34, 176, 1914, 1953, 157, 2107, 934, - -270, 120, -270, 934, -270, -270, 1146, 2059, -270, 164, - -270, 934, 202, 934, -19, -28, 934, 128, 172, 173, - -270, -270, -270, -270, 2094, -270, 934, 934, 934, -270, - -270, 592, 592, -270, -270, -270, -270, -270, -270, -270, - 184, 185, 188, 189, -270, -270, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 193, -270, 934, - 194, -270, 934, 195, 934, 201, 2107, 38, -270, -270, - -270, 180, 1476, 203, 1510, 196, -270, -270, -270, 1272, - -4, 1544, -270, -270, -270, 42, 45, 1754, 934, 934, - 934, 934, 2107, 2107, 2107, 2107, 2107, 2107, 2107, 2107, - 2107, 2107, 2107, 204, 55, 205, 64, 207, 1578, 934, - -270, -270, 1268, 934, 1268, 934, 934, -28, 73, 208, - 209, 1612, 1354, 1398, 1442, 934, -270, 934, -270, 934, - -270, 68, 238, 1646, -270, 2107, 215, 1680, 235, -270, - -270, -270, 217, 219, 934, 220, 934, 221, 934, 71, - 77, 84, -270, 1268, 227, -19, 1268, 934, -270, -270, - 214, -270, 216, -270, 237, -270, -270, -270, -270, -270, - 241, -270, 1714, 233, 234, 239, 1268, 1268, -270, -270, - -270, -270, -270 + 4, -267, -267, -69, -69, -28, -267, 26, 4, -267, + -267, -267, -267, -267, -267, -40, -267, -267, -16, -3, + 5, -267, -267, -267, -267, -27, 1039, -267, -267, -267, + 23, -26, -267, -267, -36, -34, -267, 42, -267, -267, + -267, -267, -267, -267, -267, 1039, 625, -27, 1039, 1039, + -24, 14, -267, -267, -267, 2008, -267, -267, -267, -267, + -267, 291, 431, -267, -267, -267, -267, 592, 663, -267, + -267, 1003, -267, -267, -267, 1013, 1077, 1244, 1252, -267, + -267, 67, 44, -267, -267, -267, -267, -267, -267, -267, + 50, 68, -27, 60, 80, 76, 89, 90, 78, 94, + 1294, 625, -267, 2091, 88, 95, -267, -267, -267, -267, + -267, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, -267, 1103, -27, -267, -267, -267, 104, 101, + 1039, -27, -267, 789, -267, -267, 1039, 1039, -27, 1039, + 1039, -27, 1039, -267, 1039, 1738, 1039, -267, 1973, 126, + 126, 1243, 2122, 2204, 2204, 415, 415, 415, 415, 2132, + 2173, 2163, 63, 63, -267, -267, -267, 1778, -267, -27, + -5, -267, 110, 895, 1039, 105, -2, 116, 1232, 117, + 118, 120, 121, -49, 113, 122, 123, 975, 125, 138, + 141, -267, 140, 548, 548, -267, -267, 841, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, 137, 143, 144, 146, 149, -267, + -267, 1151, -267, -267, -267, -267, -29, 1818, 15, 148, + 1858, 16, 150, 1898, 1937, 155, 2091, 1039, -267, 110, + -267, 1039, -267, -267, 949, 2043, -267, 161, -267, 1039, + 198, 1039, 690, -27, 1039, 124, 165, 167, -267, -267, + -267, -267, 2078, -267, 1039, 1039, 1039, -267, -267, -4, + -4, -267, -267, -267, -267, -267, -267, -267, 180, 181, + 182, 184, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 174, -267, 1039, 183, -267, + 1039, 185, 1039, 191, 2091, 17, -267, -267, -267, 175, + 1460, 192, 1494, 186, -267, -267, -267, 2, -9, 1528, + -267, -267, -267, 38, 53, 1738, 1039, 1039, 1039, 1039, + 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, + 2091, 193, 62, 194, 71, 197, 1562, 1039, -267, -267, + 1232, 1039, 1232, 1039, 1039, -27, 68, 188, 189, 1596, + 1338, 1382, 1426, 1039, -267, 1039, -267, 1039, -267, 72, + 228, 1630, -267, 2091, 195, 1664, 224, -267, -267, -267, + 199, 200, 1039, 201, 1039, 203, 1039, 75, 82, 86, + -267, 1232, 205, 690, 1232, 1039, -267, -267, 202, -267, + 215, -267, 216, -267, -267, -267, -267, -267, 222, -267, + 1698, 214, 219, 220, 1232, 1232, -267, -267, -267, -267, + -267 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 209, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 210, 211, 0, 0, - 0, 1, 4, 5, 6, 179, 0, 10, 11, 213, - 0, 0, 178, 208, 0, 0, 200, 0, 221, 220, - 202, 203, 204, 205, 206, 0, 181, 0, 0, 0, - 0, 0, 212, 214, 217, 219, 0, 93, 94, 95, - 132, 133, 134, 135, 162, 163, 136, 137, 138, 139, - 140, 141, 0, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 157, - 158, 159, 0, 0, 0, 0, 211, 0, 0, 211, - 0, 0, 0, 181, 201, 183, 0, 180, 184, 161, - 160, 216, 218, 207, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 208, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 209, 210, 0, 0, + 0, 1, 4, 5, 6, 178, 0, 10, 11, 212, + 0, 0, 177, 207, 0, 0, 199, 0, 219, 218, + 201, 202, 203, 204, 205, 0, 180, 0, 0, 0, + 0, 0, 211, 215, 217, 0, 93, 94, 95, 132, + 133, 134, 135, 161, 162, 136, 137, 138, 139, 140, + 141, 0, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 157, 158, + 0, 0, 0, 0, 210, 0, 0, 210, 0, 0, + 0, 180, 200, 182, 0, 179, 183, 160, 159, 214, + 216, 206, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 188, 164, 165, - 211, 0, 181, 0, 17, 0, 19, 177, 0, 181, - 0, 0, 181, 0, 0, 190, 0, 183, 0, 176, - 0, 125, 126, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 127, 128, 129, 130, 131, 0, - 187, 0, 0, 180, 185, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 187, 163, 164, 210, 0, + 180, 0, 17, 0, 19, 176, 0, 180, 0, 0, + 180, 0, 0, 189, 0, 182, 0, 175, 0, 125, + 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 127, 128, 129, 130, 131, 0, 186, 0, + 0, 179, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 45, 50, 0, - 46, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 0, 0, 0, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 186, 0, 166, 181, 52, 48, 0, 0, 72, 0, - 73, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 85, 86, 87, 89, 0, 90, 181, 181, 0, 191, - 192, 109, 111, 53, 49, 61, 62, 63, 59, 60, - 0, 0, 0, 0, 110, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, 181, - 0, 170, 181, 0, 0, 0, 113, 0, 51, 47, - 67, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 84, 83, 88, 0, 0, 0, 0, 0, - 0, 0, 98, 104, 105, 106, 107, 108, 99, 100, - 101, 103, 102, 0, 0, 0, 0, 0, 0, 181, - 167, 74, 0, 0, 0, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 181, 169, 181, 171, 181, - 215, 0, 75, 0, 77, 96, 0, 0, 0, 82, - 91, 92, 0, 0, 181, 0, 181, 0, 181, 0, - 0, 0, 172, 0, 0, 58, 0, 0, 64, 66, - 180, 69, 180, 71, 180, 173, 174, 175, 76, 78, - 0, 80, 0, 0, 0, 0, 0, 0, 65, 68, - 70, 79, 81 + 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 0, 0, 0, 190, 191, 192, + 193, 0, 194, 195, 196, 197, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 0, 185, 0, + 165, 180, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 180, 180, 0, 190, 191, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 167, 180, 0, 169, + 180, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 180, 166, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 168, 180, 170, 180, 213, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 180, 0, 180, 0, 180, 0, 0, 0, + 171, 0, 0, 58, 0, 0, 64, 66, 179, 69, + 179, 71, 179, 172, 173, 174, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -270, -270, -270, 294, 295, 296, -270, -270, -270, -152, - 117, -270, -270, -270, -91, -87, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - 190, -270, -269, -267, -261, -270, -270, -270, -270, -270, - -86, -12, -66, -61, -270, -270, 13, -45, -270, -6, - 179, -270, -270, 249, -270, -270, -270, 282, 337, 362, - 372, -270, -270, 0, 6, -270, -8, -270, -270, -270, - 142, -270, -270 + -267, -267, -267, 275, 277, 280, -267, -267, -267, -155, + 85, -267, -267, -267, -89, -120, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + 190, -267, -266, -259, -258, -267, -267, -267, -267, -267, + -86, -12, -66, -60, -267, -267, 13, -45, -267, -6, + 179, -267, -267, 249, -267, -267, -267, 282, 337, 362, + 372, -267, -267, 0, 6, -267, -13, -267, -267, 106, + -267, -267 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 207, - 208, 266, 209, 210, 211, 335, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 105, 396, 236, 237, 238, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 31, 106, 183, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 205, + 206, 264, 207, 208, 209, 333, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 103, 394, 234, 235, 236, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 31, 104, 181, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 336, 138, 337, 15, 18, - 19, 139, 30, 338, 1, 2, 3, 4, 5, 95, - 142, 34, 35, 98, 37, 32, 376, 25, -211, 41, - 42, 43, 44, 265, 96, 99, 20, 204, 272, 93, - 97, 100, 269, 21, 94, 205, 206, 108, -199, -199, - 29, -199, 270, 26, 377, -199, 16, 6, 107, 239, - 142, 16, 6, 27, -199, 16, 6, -199, -211, 28, - 262, 6, 140, 34, 35, 158, 37, 92, 141, 16, - 6, 41, 42, 43, 44, 318, 277, 321, 113, 204, - 158, 370, 158, 29, 147, 379, 158, 55, 380, 239, - 158, 143, 6, 158, 239, -199, -199, -199, 386, -191, - -191, 144, -191, 158, 329, 101, -191, 388, 148, 289, - 289, 412, 158, 239, 425, -191, 158, 145, -191, 158, - 426, 16, 6, 240, 149, 158, 180, 427, 150, 241, - 111, 112, 158, 184, 151, 248, 336, 152, 337, 153, - 251, 141, 154, 254, 338, 182, 158, 129, 130, 131, - 132, 133, 250, 159, 142, 253, -191, -191, -191, 131, - 132, 133, 263, 240, 181, 268, 271, 138, 240, 241, - 239, 261, 139, 273, 241, 248, 274, 278, 289, 275, - 248, 141, 276, 290, 290, 281, 141, 240, 282, 241, - 241, 285, 280, 241, 288, 248, 248, 286, 287, 248, - 319, 141, 141, 295, 325, 141, 56, 331, 116, 117, - 392, 296, 394, 297, 298, 138, 138, 299, 322, 333, - 139, 139, 112, 342, 343, 102, 348, 349, 109, 110, - 350, 351, 371, 140, 129, 130, 131, 132, 133, 141, - 363, 365, 367, 369, 240, 373, 385, 387, 375, 389, - 241, 428, 290, 413, 431, 417, 248, 433, 241, 434, - 400, 401, 141, 138, 248, 340, 327, 415, 139, 418, - 141, 419, 421, 423, 441, 442, 239, 399, 239, 429, - 435, 140, 140, 157, 436, 438, 439, 141, 141, 345, - 346, 440, 22, 23, 24, 160, 161, 162, 163, 164, + 15, 105, 144, 17, 17, 136, 334, 30, 15, 18, + 19, 137, 25, 335, 336, 1, 2, 3, 4, 5, + 93, 374, 96, 140, 20, 32, 21, 91, 263, 16, + 6, -210, 92, 270, 94, 97, 34, 35, 26, 37, + 95, 98, 34, 35, 275, 37, 27, 106, 260, 375, + 267, 29, 133, 156, 54, 134, 105, 237, 133, 28, + 268, 134, 16, 6, 16, 6, 302, 303, 316, 319, + 368, 138, 6, 156, 156, 156, 90, 139, 109, 110, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 377, 145, 135, 16, 6, 156, 237, 99, 135, + 16, 6, 237, 6, 141, 29, 378, -198, -198, 327, + -198, 156, 142, 111, -198, 384, 146, 287, 287, 140, + 156, 237, 143, -198, 386, 410, -198, -210, 423, 156, + 156, 238, 147, 156, 178, 424, 148, 239, 151, 425, + 156, 182, 150, 246, 156, 149, 156, 334, 249, 139, + 152, 252, 157, 180, 335, 336, 140, 129, 130, 131, + 248, 179, 261, 251, -198, -198, -198, 266, 269, 271, + 272, 238, 273, 274, 278, 136, 238, 239, 237, 259, + 276, 137, 239, 246, 279, 280, 287, 283, 246, 139, + 284, 288, 288, 285, 139, 238, 286, 239, 239, 293, + 317, 239, 320, 246, 246, 294, 295, 246, 296, 139, + 139, 297, 323, 139, 329, 390, 55, 392, 127, 128, + 129, 130, 131, 136, 136, 331, 340, 110, 341, 137, + 137, 361, 346, 347, 348, 100, 349, 369, 107, 108, + 363, 138, 365, 367, 371, 383, 385, 139, 373, 387, + 398, 399, 238, 411, 415, 431, 426, 413, 239, 429, + 288, 416, 417, 419, 246, 421, 239, 427, 432, 433, + 139, 136, 246, 338, 325, 434, 436, 137, 139, 439, + 440, 437, 438, 22, 237, 23, 237, 397, 24, 138, + 138, 155, 292, 428, 0, 139, 139, 343, 344, 277, + 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 242, 179, 294, 239, 430, 289, - 239, 0, 364, -192, -192, 366, -192, 279, 249, 140, - -192, 252, 0, 0, 255, 141, 256, 0, 258, -192, - 239, 239, -192, 0, 0, 0, 0, 0, 0, 420, - 240, 422, 240, 424, 242, 0, 241, 0, 241, 242, - 0, 0, 248, 0, 248, 0, 267, 398, 141, 0, - 141, 0, 391, 0, 242, 242, 0, 0, 242, 284, - -192, -192, -192, 0, 243, 0, 0, 0, 409, 0, - 410, 240, 411, 290, 240, 0, 0, 241, 0, 241, - 241, 0, 0, 248, 0, 248, 248, 0, 0, 141, - 0, 141, 141, 0, 240, 240, 0, 244, 0, 0, - 241, 241, 0, 0, 243, 0, 248, 248, 0, 243, - 0, 0, 141, 141, 0, 242, 0, 0, 0, 326, - 0, 0, 0, 242, 291, 292, 0, 0, 243, 0, - 0, 332, 0, 334, 0, 0, 341, 244, 0, 0, - 0, 0, 244, -193, -193, 0, -193, 0, 347, 0, - -193, 0, 245, 0, 0, 0, 0, 244, 244, -193, - 0, 244, -193, 0, 0, 0, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 246, 0, 0, - 0, 0, 0, 0, 368, 243, 0, 247, 0, 0, - 0, 0, 245, 339, 0, 0, 0, 245, 0, 0, - -193, -193, -193, 0, 0, 0, 0, 0, 381, 382, - 383, 384, 245, 245, 0, 0, 245, 246, 244, 0, - 0, 242, 246, 242, 0, 0, 244, 247, 0, 0, - 0, 0, 247, 393, 0, 395, 397, 246, 246, 0, - 0, 246, -194, -194, 0, -194, 0, 247, 247, -194, - 0, 247, 34, 35, 0, 37, 0, 0, -194, 134, - 0, -194, 242, 0, 242, 242, 0, 0, 135, 0, - 0, 136, 0, 245, 0, 0, 0, 432, 0, 0, - 0, 245, 0, 0, 0, 242, 242, 0, 0, 0, - 0, 243, 0, 243, 0, 0, 0, 0, 246, -194, - -194, -194, 34, 35, 0, 37, 246, 0, 247, 137, - 16, 6, 0, 33, 0, 0, 247, 0, 135, 0, - 0, 136, 0, 0, 244, 0, 244, 0, 0, 0, - 0, 0, 243, 0, 339, 243, 0, 34, 35, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, - 0, 0, 0, 103, 104, 243, 243, 47, 0, 137, - 16, 6, 0, 0, 0, 244, 0, 244, 244, 0, - 0, 0, 0, 48, 49, -195, -195, 0, -195, 245, - 0, 245, -195, 0, 0, 0, 0, 0, 244, 244, - 50, -195, 0, 51, -195, 16, 6, 29, 52, 53, - 54, 55, -196, -196, 246, -196, 246, 0, 0, -196, - 0, 0, 0, 0, 247, 0, 247, 0, -196, 0, - 245, -196, 245, 245, 0, 0, 0, 0, 0, 0, - 0, 0, -195, -195, -195, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 245, 246, 0, 246, 246, 0, - 0, 0, 0, 0, 0, 247, 0, 247, 247, -196, - -196, -196, 0, 0, 0, 0, 0, 0, 246, 246, - 0, 0, 185, 0, 0, 0, 0, 0, 247, 247, - 186, 0, 0, 187, 188, 189, 0, 190, 191, 192, - 193, 0, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 34, 35, 0, 37, 0, 0, 0, 0, 41, - 42, 43, 44, 0, 0, 145, 203, 204, 0, 0, - 0, 0, 0, 0, 185, 205, 206, 0, 0, 0, - 0, 0, 186, 0, 0, 187, 188, 189, 0, 190, - 191, 192, 193, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 34, 35, 33, 37, 0, 0, 16, - 6, 41, 42, 43, 44, 0, 0, 145, 293, 204, - 0, 0, 0, 0, 0, 0, 0, 205, 206, 34, + 175, 176, 240, 177, 0, 237, 0, 287, 237, 0, + 362, -190, -190, 364, -190, 0, 247, 138, -190, 250, + 0, 0, 253, 139, 254, 0, 256, -190, 237, 237, + -190, 0, 0, 0, 0, 0, 0, 418, 238, 420, + 238, 422, 240, 0, 239, 0, 239, 240, 0, 0, + 246, 0, 246, 0, 265, 396, 139, 0, 139, 0, + 389, 0, 240, 240, 0, 0, 240, 282, -190, -190, + -190, 0, 241, 0, 0, 0, 407, 0, 408, 238, + 409, 288, 238, 0, 0, 239, 0, 239, 239, 0, + 0, 246, 0, 246, 246, 0, 0, 139, 0, 139, + 139, 0, 238, 238, 0, 242, 0, 0, 239, 239, + 0, 0, 241, 0, 246, 246, 0, 241, 0, 0, + 139, 139, 0, 240, 0, 0, 0, 324, 0, 0, + 0, 240, 289, 290, 0, 0, 241, 0, 0, 330, + 0, 332, 0, 0, 339, 242, 0, 0, 0, 0, + 242, -191, -191, 0, -191, 0, 345, 0, -191, 0, + 243, 114, 115, 0, 0, 242, 242, -191, 0, 242, + -191, 0, 0, 0, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 244, 0, 127, 128, 129, + 130, 131, 366, 241, 0, 245, 0, 0, 0, 0, + 243, 337, 0, 0, 0, 243, 0, 0, -191, -191, + -191, 0, 0, 0, 0, 0, 379, 380, 381, 382, + 243, 243, 0, 0, 243, 244, 242, 0, 0, 240, + 244, 240, 0, 0, 242, 245, 0, 0, 0, 0, + 245, 391, 0, 393, 395, 244, 244, 0, 0, 244, + 0, 0, 0, 0, 0, 245, 245, 0, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 240, 37, 240, 240, 0, 0, 41, 42, 43, 44, + 0, 243, 0, 0, 202, 430, 0, 0, 0, 243, + 0, 0, 0, 240, 240, 0, 0, 0, 0, 241, + 0, 241, 0, 0, 0, 0, 244, 0, 0, 0, + 0, 0, -192, -192, 244, -192, 245, 0, 0, -192, + 0, 33, 0, 0, 245, 0, 16, 6, -192, 0, + 0, -192, 242, 0, 242, 0, 0, 0, 0, 0, + 241, 0, 337, 241, 0, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 101, 102, 241, 241, 47, 0, 0, 0, -192, + -192, -192, 0, 242, 0, 242, 242, 0, 0, 0, + 0, 48, 49, -193, -193, 0, -193, 243, 0, 243, + -193, 0, 0, 0, 0, 0, 242, 242, 50, -193, + 0, 51, -193, 16, 6, 29, 52, 53, 54, 0, + 34, 35, 244, 37, 244, 0, 0, 0, 41, 42, + 43, 44, 245, 0, 245, 0, 202, 0, 243, 0, + 243, 243, 0, 0, 203, 204, 0, 0, 0, 0, + -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 243, 244, 0, 244, 244, 0, 0, 0, + 0, 0, 0, 245, 0, 245, 245, 0, 16, 6, + 0, 0, 0, 0, 0, 0, 244, 244, 0, 0, + 183, 0, 0, 0, 0, 0, 245, 245, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 0, 37, 0, 0, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 201, 202, 0, 0, 0, 0, + 0, 0, 183, 203, 204, 0, 0, 0, 0, 0, + 184, 0, 0, 185, 186, 187, 0, 188, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 34, 35, 0, 37, 0, 0, 16, 6, 41, + 42, 43, 44, 0, 0, 143, 291, 202, 0, 0, + 0, 0, 0, 0, 0, 203, 204, 262, 0, 0, + 0, 0, 0, 0, 184, 0, 0, 185, 186, 187, + 0, 188, 189, 190, 191, 0, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 34, 35, 0, 37, 16, + 6, 0, 0, 41, 42, 43, 44, 0, 0, 143, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 203, + 204, 326, 0, 0, 0, 0, 0, 0, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 33, 37, 16, 6, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 46, 0, 0, 0, 47, 0, 281, 0, 0, + 0, 0, 0, 34, 35, 0, 37, 16, 6, 0, + 132, 48, 49, -194, -194, 33, -194, 0, 0, 133, + -194, 0, 134, 0, 0, 0, 0, 0, 50, -194, + 0, 51, -194, 16, 6, 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 46, 116, 117, 0, 47, - 0, 283, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 16, 6, 0, 0, 48, 49, 0, 0, 0, - 33, 0, 129, 130, 131, 132, 133, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 34, 35, 36, 37, 38, 39, - 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, - 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -197, -197, 0, -197, 0, - 48, 49, -197, 0, 0, 33, 0, 0, 0, 0, - 0, -197, 0, 0, -197, 0, 0, 50, 0, 0, - 51, 0, 16, 6, 29, 52, 53, 54, 55, 34, - 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 103, 0, 0, 0, 47, - 0, 0, -197, -197, -197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 116, - 117, 0, 0, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 264, 129, 130, 131, 132, 133, - 0, 186, 0, 0, 187, 188, 189, 0, 190, 191, - 192, 193, 0, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 34, 35, 0, 37, 0, 0, 0, 0, - 41, 42, 43, 44, 0, 0, 145, 0, 204, 0, - 0, 0, 0, 0, 0, 0, 205, 206, 328, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 187, 188, - 189, 0, 190, 191, 192, 193, 0, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 34, 35, 0, 37, - 16, 6, 0, 0, 41, 42, 43, 44, 0, 0, - 145, 0, 204, 0, 300, 301, 0, 302, 303, 0, - 205, 206, 0, 0, 0, 0, 0, 0, 0, -198, - -198, 0, -198, 0, 0, 0, -198, 34, 35, 0, - 37, 0, 0, 0, 0, -198, 0, 0, -198, 0, - 0, 0, 0, 135, 16, 6, 136, 0, 0, 0, - 0, 304, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -198, -198, -198, 0, - 0, 0, 0, 0, 137, 16, 6, 186, 0, 0, - 187, 188, 189, 0, 190, 191, 192, 193, 0, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 34, 35, - 0, 37, 34, 35, 0, 37, 41, 42, 43, 44, - 0, 0, 145, 0, 204, 0, 0, 0, 135, 0, - 0, 136, 205, 206, 0, 0, 304, 305, 0, 0, + 44, 45, 0, 0, 0, 46, 0, 0, 0, 47, + 135, 16, 6, 0, 0, 0, 0, 0, 0, 0, + -194, -194, -194, 0, 0, 48, 49, -195, -195, 33, + -195, 0, 0, 0, -195, 0, 0, 0, 0, 0, + 0, 0, 50, -195, 0, 51, -195, 16, 6, 29, + 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 44, 45, 0, 0, 0, 101, + 0, 0, 0, 47, 0, 0, 0, 0, 298, 299, + 0, 300, 301, 0, -195, -195, -195, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 0, 37, 0, 50, 0, 0, 51, + 0, 16, 6, 29, 52, 53, 54, 133, 0, 0, + 134, 0, 0, 0, 0, 302, 303, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 16, + 6, 184, 0, 0, 185, 186, 187, 0, 188, 189, + 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, -196, -196, 143, -196, 202, 0, + 0, -196, -197, -197, 0, -197, 203, 204, 0, -197, + -196, 0, 0, -196, 0, 0, 0, 0, -197, 114, + 115, -197, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 0, 0, 155, 0, 0, 16, 6, 156, 137, - 16, 6, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 403, 0, 0, - 0, 0, 404, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 16, 6, 124, 125, 126, 127, 128, 129, 130, 131, + 0, -196, -196, -196, 0, 0, 0, 153, 0, -197, + -197, -197, 154, 0, 0, 0, 0, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 405, 0, 0, 0, 0, 406, 0, 0, 0, - 0, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 407, 0, 0, 0, 0, - 408, 0, 0, 0, 0, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 374, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 378, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 401, 0, 0, 0, 0, 402, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 403, 0, 0, 0, 0, + 404, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 390, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 402, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 416, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 437, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 405, + 0, 0, 0, 0, 406, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 370, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 372, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 257, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 376, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 388, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 412, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 414, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 260, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 435, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 255, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 258, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 315, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 318, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 321, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 322, 0, 0, 0, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 257, 0, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 317, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 112, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 328, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 320, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 342, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 0, 0, 0, 0, 0, + 124, 125, 126, 127, 128, 129, 130, 131, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 125, 126, 127, 128, 129, 130, 131, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 125, 0, 127, 128, 129, 130, 131, + 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 114, 115, 0, 0, 0, 0, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 323, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 324, 0, 0, 0, 0, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 259, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 114, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 330, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 344, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 116, 117, 0, 119, 120, 121, - 122, 123, 124, 125, 116, 117, 0, 0, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 0, 0, 0, 127, - 0, 129, 130, 131, 132, 133 + 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, + 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 274, 72, 274, 8, 3, - 4, 72, 20, 274, 11, 12, 13, 14, 15, 56, - 52, 40, 41, 56, 43, 25, 30, 52, 60, 48, - 49, 50, 51, 185, 34, 35, 52, 56, 190, 53, - 34, 35, 52, 0, 58, 64, 65, 47, 40, 41, - 100, 43, 62, 78, 58, 47, 98, 99, 103, 145, - 52, 98, 99, 62, 56, 98, 99, 59, 60, 62, - 53, 99, 72, 40, 41, 58, 43, 53, 72, 98, - 99, 48, 49, 50, 51, 53, 93, 53, 99, 56, - 58, 53, 58, 100, 94, 53, 58, 104, 53, 185, - 58, 60, 99, 58, 190, 97, 98, 99, 53, 40, - 41, 62, 43, 58, 266, 56, 47, 53, 56, 205, - 206, 53, 58, 209, 53, 56, 58, 54, 59, 58, - 53, 98, 99, 145, 52, 58, 136, 53, 60, 145, - 103, 104, 58, 143, 56, 145, 415, 52, 415, 60, - 150, 145, 56, 153, 415, 142, 58, 92, 93, 94, - 95, 96, 149, 57, 52, 152, 97, 98, 99, 94, - 95, 96, 52, 185, 60, 62, 52, 243, 190, 185, - 266, 181, 243, 52, 190, 185, 52, 195, 274, 52, - 190, 185, 52, 205, 206, 62, 190, 209, 62, 205, - 206, 62, 61, 209, 56, 205, 206, 52, 52, 209, - 52, 205, 206, 62, 57, 209, 26, 53, 66, 67, - 372, 62, 374, 62, 62, 291, 292, 62, 52, 27, - 291, 292, 104, 61, 61, 45, 52, 52, 48, 49, - 52, 52, 62, 243, 92, 93, 94, 95, 96, 243, - 57, 57, 57, 52, 266, 52, 52, 52, 62, 52, - 266, 413, 274, 25, 416, 30, 266, 53, 274, 53, - 62, 62, 266, 339, 274, 275, 263, 62, 339, 62, - 274, 62, 62, 62, 436, 437, 372, 378, 374, 62, - 53, 291, 292, 103, 53, 62, 62, 291, 292, 286, - 287, 62, 8, 8, 8, 115, 116, 117, 118, 119, + 0, 46, 91, 3, 4, 71, 272, 20, 8, 3, + 4, 71, 52, 272, 272, 11, 12, 13, 14, 15, + 56, 30, 56, 52, 52, 25, 0, 53, 183, 98, + 99, 60, 58, 188, 34, 35, 40, 41, 78, 43, + 34, 35, 40, 41, 93, 43, 62, 47, 53, 58, + 52, 100, 56, 58, 103, 59, 101, 143, 56, 62, + 62, 59, 98, 99, 98, 99, 64, 65, 53, 53, + 53, 71, 99, 58, 58, 58, 53, 71, 102, 103, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 53, 92, 97, 98, 99, 58, 183, 56, 97, + 98, 99, 188, 99, 60, 100, 53, 40, 41, 264, + 43, 58, 62, 99, 47, 53, 56, 203, 204, 52, + 58, 207, 54, 56, 53, 53, 59, 60, 53, 58, + 58, 143, 52, 58, 134, 53, 60, 143, 60, 53, + 58, 141, 52, 143, 58, 56, 58, 413, 148, 143, + 56, 151, 57, 140, 413, 413, 52, 94, 95, 96, + 147, 60, 52, 150, 97, 98, 99, 62, 52, 52, + 52, 183, 52, 52, 61, 241, 188, 183, 264, 179, + 193, 241, 188, 183, 62, 62, 272, 62, 188, 183, + 52, 203, 204, 52, 188, 207, 56, 203, 204, 62, + 52, 207, 52, 203, 204, 62, 62, 207, 62, 203, + 204, 62, 57, 207, 53, 370, 26, 372, 92, 93, + 94, 95, 96, 289, 290, 27, 61, 103, 61, 289, + 290, 57, 52, 52, 52, 45, 52, 62, 48, 49, + 57, 241, 57, 52, 52, 52, 52, 241, 62, 52, + 62, 62, 264, 25, 30, 53, 411, 62, 264, 414, + 272, 62, 62, 62, 264, 62, 272, 62, 53, 53, + 264, 337, 272, 273, 261, 53, 62, 337, 272, 434, + 435, 62, 62, 8, 370, 8, 372, 376, 8, 289, + 290, 101, 207, 413, -1, 289, 290, 284, 285, 193, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 145, 135, 209, 413, 415, 415, - 416, -1, 319, 40, 41, 322, 43, 195, 148, 339, - 47, 151, -1, -1, 154, 339, 156, -1, 158, 56, - 436, 437, 59, -1, -1, -1, -1, -1, -1, 404, - 372, 406, 374, 408, 185, -1, 372, -1, 374, 190, - -1, -1, 372, -1, 374, -1, 186, 377, 372, -1, - 374, -1, 369, -1, 205, 206, -1, -1, 209, 199, - 97, 98, 99, -1, 145, -1, -1, -1, 385, -1, - 387, 413, 389, 415, 416, -1, -1, 413, -1, 415, - 416, -1, -1, 413, -1, 415, 416, -1, -1, 413, - -1, 415, 416, -1, 436, 437, -1, 145, -1, -1, - 436, 437, -1, -1, 185, -1, 436, 437, -1, 190, - -1, -1, 436, 437, -1, 266, -1, -1, -1, 259, - -1, -1, -1, 274, 205, 206, -1, -1, 209, -1, - -1, 271, -1, 273, -1, -1, 276, 185, -1, -1, - -1, -1, 190, 40, 41, -1, 43, -1, 288, -1, - 47, -1, 145, -1, -1, -1, -1, 205, 206, 56, - -1, 209, 59, -1, -1, -1, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 145, -1, -1, - -1, -1, -1, -1, 324, 266, -1, 145, -1, -1, - -1, -1, 185, 274, -1, -1, -1, 190, -1, -1, - 97, 98, 99, -1, -1, -1, -1, -1, 348, 349, - 350, 351, 205, 206, -1, -1, 209, 185, 266, -1, - -1, 372, 190, 374, -1, -1, 274, 185, -1, -1, - -1, -1, 190, 373, -1, 375, 376, 205, 206, -1, - -1, 209, 40, 41, -1, 43, -1, 205, 206, 47, - -1, 209, 40, 41, -1, 43, -1, -1, 56, 47, - -1, 59, 413, -1, 415, 416, -1, -1, 56, -1, - -1, 59, -1, 266, -1, -1, -1, 417, -1, -1, - -1, 274, -1, -1, -1, 436, 437, -1, -1, -1, - -1, 372, -1, 374, -1, -1, -1, -1, 266, 97, - 98, 99, 40, 41, -1, 43, 274, -1, 266, 97, - 98, 99, -1, 16, -1, -1, 274, -1, 56, -1, - -1, 59, -1, -1, 372, -1, 374, -1, -1, -1, - -1, -1, 413, -1, 415, 416, -1, 40, 41, 42, - 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, - -1, -1, -1, 56, 57, 436, 437, 60, -1, 97, - 98, 99, -1, -1, -1, 413, -1, 415, 416, -1, - -1, -1, -1, 76, 77, 40, 41, -1, 43, 372, - -1, 374, 47, -1, -1, -1, -1, -1, 436, 437, - 93, 56, -1, 96, 59, 98, 99, 100, 101, 102, - 103, 104, 40, 41, 372, 43, 374, -1, -1, 47, - -1, -1, -1, -1, 372, -1, 374, -1, 56, -1, - 413, 59, 415, 416, -1, -1, -1, -1, -1, -1, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, 436, 437, 413, -1, 415, 416, -1, - -1, -1, -1, -1, -1, 413, -1, 415, 416, 97, - 98, 99, -1, -1, -1, -1, -1, -1, 436, 437, - -1, -1, 11, -1, -1, -1, -1, -1, 436, 437, + 130, 131, 143, 133, -1, 411, -1, 413, 414, -1, + 317, 40, 41, 320, 43, -1, 146, 337, 47, 149, + -1, -1, 152, 337, 154, -1, 156, 56, 434, 435, + 59, -1, -1, -1, -1, -1, -1, 402, 370, 404, + 372, 406, 183, -1, 370, -1, 372, 188, -1, -1, + 370, -1, 372, -1, 184, 375, 370, -1, 372, -1, + 367, -1, 203, 204, -1, -1, 207, 197, 97, 98, + 99, -1, 143, -1, -1, -1, 383, -1, 385, 411, + 387, 413, 414, -1, -1, 411, -1, 413, 414, -1, + -1, 411, -1, 413, 414, -1, -1, 411, -1, 413, + 414, -1, 434, 435, -1, 143, -1, -1, 434, 435, + -1, -1, 183, -1, 434, 435, -1, 188, -1, -1, + 434, 435, -1, 264, -1, -1, -1, 257, -1, -1, + -1, 272, 203, 204, -1, -1, 207, -1, -1, 269, + -1, 271, -1, -1, 274, 183, -1, -1, -1, -1, + 188, 40, 41, -1, 43, -1, 286, -1, 47, -1, + 143, 66, 67, -1, -1, 203, 204, 56, -1, 207, + 59, -1, -1, -1, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 143, -1, 92, 93, 94, + 95, 96, 322, 264, -1, 143, -1, -1, -1, -1, + 183, 272, -1, -1, -1, 188, -1, -1, 97, 98, + 99, -1, -1, -1, -1, -1, 346, 347, 348, 349, + 203, 204, -1, -1, 207, 183, 264, -1, -1, 370, + 188, 372, -1, -1, 272, 183, -1, -1, -1, -1, + 188, 371, -1, 373, 374, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + 411, 43, 413, 414, -1, -1, 48, 49, 50, 51, + -1, 264, -1, -1, 56, 415, -1, -1, -1, 272, + -1, -1, -1, 434, 435, -1, -1, -1, -1, 370, + -1, 372, -1, -1, -1, -1, 264, -1, -1, -1, + -1, -1, 40, 41, 272, 43, 264, -1, -1, 47, + -1, 16, -1, -1, 272, -1, 98, 99, 56, -1, + -1, 59, 370, -1, 372, -1, -1, -1, -1, -1, + 411, -1, 413, 414, -1, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, 57, 434, 435, 60, -1, -1, -1, 97, + 98, 99, -1, 411, -1, 413, 414, -1, -1, -1, + -1, 76, 77, 40, 41, -1, 43, 370, -1, 372, + 47, -1, -1, -1, -1, -1, 434, 435, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, -1, + 40, 41, 370, 43, 372, -1, -1, -1, 48, 49, + 50, 51, 370, -1, 372, -1, 56, -1, 411, -1, + 413, 414, -1, -1, 64, 65, -1, -1, -1, -1, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + -1, 434, 435, 411, -1, 413, 414, -1, -1, -1, + -1, -1, -1, 411, -1, 413, 414, -1, 98, 99, + -1, -1, -1, -1, -1, -1, 434, 435, -1, -1, + 11, -1, -1, -1, -1, -1, 434, 435, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, -1, -1, -1, -1, 48, 49, 50, + 51, -1, -1, 54, 55, 56, -1, -1, -1, -1, + -1, -1, 11, 64, 65, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, 48, + 39, 40, 41, -1, 43, -1, -1, 98, 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, -1, -1, - -1, -1, -1, -1, 11, 64, 65, -1, -1, -1, - -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 16, 43, -1, -1, 98, - 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, - -1, -1, -1, -1, -1, -1, -1, 64, 65, 40, - 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, - 51, 52, -1, -1, -1, 56, 66, 67, -1, 60, - -1, 62, 72, 73, 74, 75, -1, -1, -1, -1, - -1, 98, 99, -1, -1, 76, 77, -1, -1, -1, - 16, -1, 92, 93, 94, 95, 96, -1, -1, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 40, 41, 42, 43, 44, 45, - 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, - 56, -1, -1, -1, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, - 76, 77, 47, -1, -1, 16, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, 93, -1, -1, - 96, -1, 98, 99, 100, 101, 102, 103, 104, 40, + -1, -1, -1, -1, -1, 64, 65, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, + -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, -1, 43, 98, + 99, -1, -1, 48, 49, 50, 51, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, + 65, 12, -1, -1, -1, -1, -1, -1, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 16, 43, 98, 99, -1, -1, 48, 49, 50, + 51, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, 64, 65, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, -1, -1, -1, 60, -1, 62, -1, -1, + -1, -1, -1, 40, 41, -1, 43, 98, 99, -1, + 47, 76, 77, 40, 41, 16, 43, -1, -1, 56, + 47, -1, 59, -1, -1, -1, -1, -1, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, -1, -1, -1, 60, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, -1, -1, 66, - 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 12, 92, 93, 94, 95, 96, - -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + 97, 98, 99, -1, -1, 76, 77, 40, 41, 16, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, 93, 56, -1, 96, 59, 98, 99, 100, + 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, + -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, + -1, -1, -1, 60, -1, -1, -1, -1, 17, 18, + -1, 20, 21, -1, 97, 98, 99, -1, -1, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 40, 41, -1, 43, -1, 93, -1, -1, 96, + -1, 98, 99, 100, 101, 102, 103, 56, -1, -1, + 59, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + 99, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, - 48, 49, 50, 51, -1, -1, 54, -1, 56, -1, - -1, -1, -1, -1, -1, -1, 64, 65, 12, -1, - -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, - 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, - 98, 99, -1, -1, 48, 49, 50, 51, -1, -1, - 54, -1, 56, -1, 17, 18, -1, 20, 21, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, 40, - 41, -1, 43, -1, -1, -1, 47, 40, 41, -1, - 43, -1, -1, -1, -1, 56, -1, -1, 59, -1, - -1, -1, -1, 56, 98, 99, 59, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 97, 98, 99, -1, - -1, -1, -1, -1, 97, 98, 99, 19, -1, -1, - 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - -1, 43, 40, 41, -1, 43, 48, 49, 50, 51, - -1, -1, 54, -1, 56, -1, -1, -1, 56, -1, - -1, 59, 64, 65, -1, -1, 64, 65, -1, -1, + 48, 49, 50, 51, 40, 41, 54, 43, 56, -1, + -1, 47, 40, 41, -1, 43, 64, 65, -1, 47, + 56, -1, -1, 59, -1, -1, -1, -1, 56, 66, + 67, 59, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, -1, -1, 53, -1, -1, 98, 99, 58, 97, - 98, 99, -1, 63, -1, -1, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, - 90, 91, 92, 93, 94, 95, 96, 53, -1, -1, - -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, + 98, 99, 89, 90, 91, 92, 93, 94, 95, 96, + -1, 97, 98, 99, -1, -1, -1, 53, -1, 97, + 98, 99, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, @@ -4332,8 +4290,9 @@ namespace xsk { namespace gsc { namespace h2 { 92, 93, 94, 95, 96, 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, 89, 90, 91, 92, 93, @@ -4360,133 +4319,139 @@ namespace xsk { namespace gsc { namespace h2 { 90, 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 58, -1, -1, -1, -1, 63, -1, -1, 66, + -1, 53, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 58, -1, -1, -1, -1, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 62, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 89, 90, 91, 92, 93, 94, 95, - 96, -1, -1, -1, -1, -1, 89, 90, 91, 92, - 93, 94, 95, 96, 66, 67, -1, 69, 70, 71, - 72, 73, 74, 75, 66, 67, -1, -1, 70, 71, - 72, 73, 74, 75, -1, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, 90, - 91, 92, 93, 94, 95, 96, -1, -1, -1, 90, - -1, 92, 93, 94, 95, 96 + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 89, 90, 91, + 92, 93, 94, 95, 96, -1, -1, -1, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, + -1, -1, -1, 90, -1, 92, 93, 94, 95, 96, + -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, + 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 99, 115, 116, 117, - 118, 119, 120, 121, 122, 187, 98, 187, 188, 188, - 52, 0, 117, 118, 119, 52, 78, 62, 62, 100, - 190, 169, 187, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 99, 114, 115, 116, + 117, 118, 119, 120, 121, 186, 98, 186, 187, 187, + 52, 0, 116, 117, 118, 52, 78, 62, 62, 100, + 189, 168, 186, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 60, 76, 77, - 93, 96, 101, 102, 103, 104, 154, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 172, 173, 174, + 93, 96, 101, 102, 103, 153, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 53, 53, 58, 56, 187, 188, 56, 187, - 188, 56, 154, 56, 57, 154, 170, 171, 187, 154, - 154, 103, 104, 99, 62, 63, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 89, 90, 91, 92, - 93, 94, 95, 96, 47, 56, 59, 97, 166, 167, - 187, 188, 52, 60, 62, 54, 128, 187, 56, 52, - 60, 56, 52, 60, 56, 53, 58, 154, 58, 57, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 187, 60, 170, 171, 187, 11, 19, 22, 23, 24, - 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 55, 56, 64, 65, 123, 124, 126, - 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 156, 157, 158, 164, - 165, 173, 174, 177, 181, 182, 183, 184, 187, 154, - 170, 187, 154, 170, 187, 154, 154, 57, 154, 61, - 57, 187, 53, 52, 12, 123, 125, 154, 62, 52, - 62, 52, 123, 52, 52, 52, 52, 93, 190, 194, - 61, 62, 62, 62, 154, 62, 52, 52, 56, 164, - 165, 177, 177, 55, 124, 62, 62, 62, 62, 62, - 17, 18, 20, 21, 64, 65, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 57, 53, 52, - 57, 53, 52, 57, 58, 57, 154, 170, 12, 123, - 62, 53, 154, 27, 154, 129, 156, 157, 158, 177, - 187, 154, 61, 61, 62, 170, 170, 154, 52, 52, - 52, 52, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 57, 170, 57, 170, 57, 154, 52, - 53, 62, 53, 52, 53, 62, 30, 58, 53, 53, - 53, 154, 154, 154, 154, 52, 53, 52, 53, 52, - 53, 170, 123, 154, 123, 154, 155, 154, 187, 128, - 62, 62, 53, 53, 58, 53, 58, 53, 58, 170, - 170, 170, 53, 25, 53, 62, 53, 30, 62, 62, - 171, 62, 171, 62, 171, 53, 53, 53, 123, 62, - 129, 123, 154, 53, 53, 53, 53, 53, 62, 62, - 62, 123, 123 + 53, 53, 58, 56, 186, 187, 56, 186, 187, 56, + 153, 56, 57, 153, 169, 170, 186, 153, 153, 102, + 103, 99, 62, 63, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 89, 90, 91, 92, 93, 94, + 95, 96, 47, 56, 59, 97, 165, 166, 186, 187, + 52, 60, 62, 54, 127, 186, 56, 52, 60, 56, + 52, 60, 56, 53, 58, 153, 58, 57, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 186, 60, + 169, 170, 186, 11, 19, 22, 23, 24, 26, 27, + 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 55, 56, 64, 65, 122, 123, 125, 126, 127, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 155, 156, 157, 163, 164, 172, + 173, 176, 180, 181, 182, 183, 186, 153, 169, 186, + 153, 169, 186, 153, 153, 57, 153, 61, 57, 186, + 53, 52, 12, 122, 124, 153, 62, 52, 62, 52, + 122, 52, 52, 52, 52, 93, 189, 192, 61, 62, + 62, 62, 153, 62, 52, 52, 56, 163, 164, 176, + 176, 55, 123, 62, 62, 62, 62, 62, 17, 18, + 20, 21, 64, 65, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 57, 53, 52, 57, 53, + 52, 57, 58, 57, 153, 169, 12, 122, 62, 53, + 153, 27, 153, 128, 155, 156, 157, 176, 186, 153, + 61, 61, 62, 169, 169, 153, 52, 52, 52, 52, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 57, 169, 57, 169, 57, 153, 52, 53, 62, + 53, 52, 53, 62, 30, 58, 53, 53, 53, 153, + 153, 153, 153, 52, 53, 52, 53, 52, 53, 169, + 122, 153, 122, 153, 154, 153, 186, 127, 62, 62, + 53, 53, 58, 53, 58, 53, 58, 169, 169, 169, + 53, 25, 53, 62, 53, 30, 62, 62, 170, 62, + 170, 62, 170, 53, 53, 53, 122, 62, 128, 122, + 153, 53, 53, 53, 53, 53, 62, 62, 62, 122, + 122 }; const unsigned char parser::yyr1_[] = { - 0, 114, 115, 115, 116, 116, 116, 116, 116, 116, - 117, 118, 119, 119, 119, 119, 119, 120, 121, 122, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 124, 124, 125, 125, 126, - 126, 127, 127, 128, 128, 129, 129, 129, 129, 130, - 130, 131, 131, 131, 132, 133, 133, 134, 135, 135, - 136, 136, 137, 138, 138, 139, 140, 141, 142, 143, - 144, 144, 145, 146, 146, 147, 148, 149, 150, 150, - 151, 152, 153, 154, 154, 154, 155, 155, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, - 157, 158, 158, 159, 160, 160, 160, 160, 160, 160, + 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, + 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 129, + 129, 130, 130, 130, 131, 132, 132, 133, 134, 134, + 135, 135, 136, 137, 137, 138, 139, 140, 141, 142, + 143, 143, 144, 145, 145, 146, 147, 148, 149, 149, + 150, 151, 152, 153, 153, 153, 154, 154, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, + 156, 157, 157, 158, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 162, 163, 164, 164, 165, 165, 166, 166, 166, 166, - 166, 166, 167, 167, 167, 167, 168, 169, 169, 169, - 170, 170, 171, 171, 172, 172, 173, 174, 174, 175, - 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, + 162, 163, 163, 164, 164, 165, 165, 165, 165, 165, + 165, 166, 166, 166, 166, 167, 168, 168, 168, 169, + 169, 170, 170, 171, 171, 172, 173, 173, 174, 175, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 188, 189, 190, 191, 192, 193, 193, 194, 194, - 195, 196 + 187, 188, 189, 190, 191, 191, 192, 192, 193, 194 }; const signed char @@ -4507,14 +4472,13 @@ namespace xsk { namespace gsc { namespace h2 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, + 2, 1, 1, 2, 2, 4, 6, 5, 7, 5, + 7, 8, 9, 9, 9, 3, 3, 1, 0, 1, + 0, 3, 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 1, 2, 2, 4, 6, 5, 7, - 5, 7, 8, 9, 9, 9, 3, 3, 1, 0, - 1, 0, 3, 1, 2, 3, 4, 3, 2, 2, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 7, 2, 1, 2, 1, - 1, 1 + 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 7, 2, 1, 2, 1, 1, 1 }; @@ -4524,29 +4488,28 @@ namespace xsk { namespace gsc { namespace h2 { const short parser::yyrline_[] = { - 0, 256, 256, 257, 261, 263, 265, 267, 269, 271, - 276, 280, 285, 286, 287, 288, 289, 293, 298, 303, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 336, 337, 341, 343, 348, - 350, 355, 356, 360, 361, 365, 367, 369, 372, 376, - 378, 383, 385, 387, 392, 397, 399, 404, 409, 411, - 416, 418, 423, 428, 430, 435, 440, 445, 450, 455, - 460, 462, 467, 472, 474, 479, 484, 489, 494, 496, - 501, 506, 511, 516, 517, 518, 522, 523, 527, 529, - 531, 533, 535, 537, 539, 541, 543, 545, 547, 552, - 554, 559, 561, 566, 571, 573, 575, 577, 579, 581, - 583, 585, 587, 589, 591, 593, 595, 597, 599, 601, - 603, 605, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, - 641, 646, 651, 652, 655, 656, 660, 662, 664, 666, - 668, 670, 675, 677, 679, 681, 686, 691, 693, 696, - 700, 703, 707, 709, 714, 716, 721, 726, 728, 733, - 738, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 755, 760, 765, 770, 775, 780, 785, 790, 795, 800, - 805, 807, 812, 817, 822, 827, 832, 834, 839, 841, - 846, 851 + 0, 254, 254, 255, 259, 261, 263, 265, 267, 269, + 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 334, 335, 339, 341, 346, + 348, 353, 354, 358, 359, 363, 365, 367, 370, 374, + 376, 381, 383, 385, 390, 395, 397, 402, 407, 409, + 414, 416, 421, 426, 428, 433, 438, 443, 448, 453, + 458, 460, 465, 470, 472, 477, 482, 487, 492, 494, + 499, 504, 509, 514, 515, 516, 520, 521, 525, 527, + 529, 531, 533, 535, 537, 539, 541, 543, 545, 550, + 552, 557, 559, 564, 569, 571, 573, 575, 577, 579, + 581, 583, 585, 587, 589, 591, 593, 595, 597, 599, + 601, 603, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 638, + 643, 648, 649, 652, 653, 657, 659, 661, 663, 665, + 667, 672, 674, 676, 678, 683, 688, 690, 693, 697, + 700, 704, 706, 711, 713, 718, 723, 725, 730, 735, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 752, + 757, 762, 767, 772, 777, 782, 787, 792, 797, 802, + 804, 809, 814, 819, 824, 826, 831, 833, 838, 843 }; void @@ -4579,9 +4542,9 @@ namespace xsk { namespace gsc { namespace h2 { #line 13 "parser.ypp" } } } // xsk::gsc::h2 -#line 4583 "parser.cpp" +#line 4546 "parser.cpp" -#line 855 "parser.ypp" +#line 847 "parser.ypp" void xsk::gsc::h2::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/h2/xsk/parser.hpp b/src/h2/xsk/parser.hpp index 94ca79b8..c0c7d79e 100644 --- a/src/h2/xsk/parser.hpp +++ b/src/h2/xsk/parser.hpp @@ -456,180 +456,176 @@ namespace xsk { namespace gsc { namespace h2 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waitframe - char dummy63[sizeof (ast::stmt_waitframe::ptr)]; + char dummy62[sizeof (ast::stmt_waitframe::ptr)]; // stmt_waittill - char dummy64[sizeof (ast::stmt_waittill::ptr)]; + char dummy63[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy67[sizeof (ast::stmt_while::ptr)]; + char dummy66[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy68[sizeof (std::string)]; + char dummy67[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -780,18 +776,17 @@ namespace xsk { namespace gsc { namespace h2 { IDENTIFIER = 99, // "identifier" STRING = 100, // "string literal" ISTRING = 101, // "localized string" - COLOR = 102, // "color" - FLOAT = 103, // "float" - INTEGER = 104, // "integer" - ADD_ARRAY = 105, // ADD_ARRAY - THEN = 106, // THEN - TERN = 107, // TERN - NEG = 108, // NEG - ANIMREF = 109, // ANIMREF - PREINC = 110, // PREINC - PREDEC = 111, // PREDEC - POSTINC = 112, // POSTINC - POSTDEC = 113 // POSTDEC + FLOAT = 102, // "float" + INTEGER = 103, // "integer" + ADD_ARRAY = 104, // ADD_ARRAY + THEN = 105, // THEN + TERN = 106, // TERN + NEG = 107, // NEG + ANIMREF = 108, // ANIMREF + PREINC = 109, // PREINC + PREDEC = 110, // PREDEC + POSTINC = 111, // POSTINC + POSTDEC = 112 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -808,7 +803,7 @@ namespace xsk { namespace gsc { namespace h2 { { enum symbol_kind_type { - YYNTOKENS = 114, ///< Number of tokens. + YYNTOKENS = 113, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -912,101 +907,99 @@ namespace xsk { namespace gsc { namespace h2 { S_IDENTIFIER = 99, // "identifier" S_STRING = 100, // "string literal" S_ISTRING = 101, // "localized string" - S_COLOR = 102, // "color" - S_FLOAT = 103, // "float" - S_INTEGER = 104, // "integer" - S_ADD_ARRAY = 105, // ADD_ARRAY - S_THEN = 106, // THEN - S_TERN = 107, // TERN - S_NEG = 108, // NEG - S_ANIMREF = 109, // ANIMREF - S_PREINC = 110, // PREINC - S_PREDEC = 111, // PREDEC - S_POSTINC = 112, // POSTINC - S_POSTDEC = 113, // POSTDEC - S_YYACCEPT = 114, // $accept - S_root = 115, // root - S_program = 116, // program - S_inline = 117, // inline - S_include = 118, // include - S_declaration = 119, // declaration - S_decl_usingtree = 120, // decl_usingtree - S_decl_constant = 121, // decl_constant - S_decl_thread = 122, // decl_thread - S_stmt = 123, // stmt - S_stmt_or_dev = 124, // stmt_or_dev - S_stmt_list = 125, // stmt_list - S_stmt_or_dev_list = 126, // stmt_or_dev_list - S_stmt_dev = 127, // stmt_dev - S_stmt_block = 128, // stmt_block - S_stmt_expr = 129, // stmt_expr - S_stmt_call = 130, // stmt_call - S_stmt_assign = 131, // stmt_assign - S_stmt_endon = 132, // stmt_endon - S_stmt_notify = 133, // stmt_notify - S_stmt_wait = 134, // stmt_wait - S_stmt_waittill = 135, // stmt_waittill - S_stmt_waittillmatch = 136, // stmt_waittillmatch - S_stmt_waittillframeend = 137, // stmt_waittillframeend - S_stmt_waitframe = 138, // stmt_waitframe - S_stmt_if = 139, // stmt_if - S_stmt_ifelse = 140, // stmt_ifelse - S_stmt_while = 141, // stmt_while - S_stmt_dowhile = 142, // stmt_dowhile - S_stmt_for = 143, // stmt_for - S_stmt_foreach = 144, // stmt_foreach - S_stmt_switch = 145, // stmt_switch - S_stmt_case = 146, // stmt_case - S_stmt_default = 147, // stmt_default - S_stmt_break = 148, // stmt_break - S_stmt_continue = 149, // stmt_continue - S_stmt_return = 150, // stmt_return - S_stmt_breakpoint = 151, // stmt_breakpoint - S_stmt_prof_begin = 152, // stmt_prof_begin - S_stmt_prof_end = 153, // stmt_prof_end - S_expr = 154, // expr - S_expr_or_empty = 155, // expr_or_empty - S_expr_assign = 156, // expr_assign - S_expr_increment = 157, // expr_increment - S_expr_decrement = 158, // expr_decrement - S_expr_ternary = 159, // expr_ternary - S_expr_binary = 160, // expr_binary - S_expr_primitive = 161, // expr_primitive - S_expr_complement = 162, // expr_complement - S_expr_not = 163, // expr_not - S_expr_call = 164, // expr_call - S_expr_method = 165, // expr_method - S_expr_function = 166, // expr_function - S_expr_pointer = 167, // expr_pointer - S_expr_add_array = 168, // expr_add_array - S_expr_parameters = 169, // expr_parameters - S_expr_arguments = 170, // expr_arguments - S_expr_arguments_no_empty = 171, // expr_arguments_no_empty - S_expr_reference = 172, // expr_reference - S_expr_array = 173, // expr_array - S_expr_field = 174, // expr_field - S_expr_size = 175, // expr_size - S_expr_paren = 176, // expr_paren - S_expr_object = 177, // expr_object - S_expr_thisthread = 178, // expr_thisthread - S_expr_empty_array = 179, // expr_empty_array - S_expr_undefined = 180, // expr_undefined - S_expr_game = 181, // expr_game - S_expr_self = 182, // expr_self - S_expr_anim = 183, // expr_anim - S_expr_level = 184, // expr_level - S_expr_animation = 185, // expr_animation - S_expr_animtree = 186, // expr_animtree - S_expr_identifier = 187, // expr_identifier - S_expr_path = 188, // expr_path - S_expr_istring = 189, // expr_istring - S_expr_string = 190, // expr_string - S_expr_color = 191, // expr_color - S_expr_vector = 192, // expr_vector - S_expr_float = 193, // expr_float - S_expr_integer = 194, // expr_integer - S_expr_false = 195, // expr_false - S_expr_true = 196 // expr_true + S_FLOAT = 102, // "float" + S_INTEGER = 103, // "integer" + S_ADD_ARRAY = 104, // ADD_ARRAY + S_THEN = 105, // THEN + S_TERN = 106, // TERN + S_NEG = 107, // NEG + S_ANIMREF = 108, // ANIMREF + S_PREINC = 109, // PREINC + S_PREDEC = 110, // PREDEC + S_POSTINC = 111, // POSTINC + S_POSTDEC = 112, // POSTDEC + S_YYACCEPT = 113, // $accept + S_root = 114, // root + S_program = 115, // program + S_inline = 116, // inline + S_include = 117, // include + S_declaration = 118, // declaration + S_decl_usingtree = 119, // decl_usingtree + S_decl_constant = 120, // decl_constant + S_decl_thread = 121, // decl_thread + S_stmt = 122, // stmt + S_stmt_or_dev = 123, // stmt_or_dev + S_stmt_list = 124, // stmt_list + S_stmt_or_dev_list = 125, // stmt_or_dev_list + S_stmt_dev = 126, // stmt_dev + S_stmt_block = 127, // stmt_block + S_stmt_expr = 128, // stmt_expr + S_stmt_call = 129, // stmt_call + S_stmt_assign = 130, // stmt_assign + S_stmt_endon = 131, // stmt_endon + S_stmt_notify = 132, // stmt_notify + S_stmt_wait = 133, // stmt_wait + S_stmt_waittill = 134, // stmt_waittill + S_stmt_waittillmatch = 135, // stmt_waittillmatch + S_stmt_waittillframeend = 136, // stmt_waittillframeend + S_stmt_waitframe = 137, // stmt_waitframe + S_stmt_if = 138, // stmt_if + S_stmt_ifelse = 139, // stmt_ifelse + S_stmt_while = 140, // stmt_while + S_stmt_dowhile = 141, // stmt_dowhile + S_stmt_for = 142, // stmt_for + S_stmt_foreach = 143, // stmt_foreach + S_stmt_switch = 144, // stmt_switch + S_stmt_case = 145, // stmt_case + S_stmt_default = 146, // stmt_default + S_stmt_break = 147, // stmt_break + S_stmt_continue = 148, // stmt_continue + S_stmt_return = 149, // stmt_return + S_stmt_breakpoint = 150, // stmt_breakpoint + S_stmt_prof_begin = 151, // stmt_prof_begin + S_stmt_prof_end = 152, // stmt_prof_end + S_expr = 153, // expr + S_expr_or_empty = 154, // expr_or_empty + S_expr_assign = 155, // expr_assign + S_expr_increment = 156, // expr_increment + S_expr_decrement = 157, // expr_decrement + S_expr_ternary = 158, // expr_ternary + S_expr_binary = 159, // expr_binary + S_expr_primitive = 160, // expr_primitive + S_expr_complement = 161, // expr_complement + S_expr_not = 162, // expr_not + S_expr_call = 163, // expr_call + S_expr_method = 164, // expr_method + S_expr_function = 165, // expr_function + S_expr_pointer = 166, // expr_pointer + S_expr_add_array = 167, // expr_add_array + S_expr_parameters = 168, // expr_parameters + S_expr_arguments = 169, // expr_arguments + S_expr_arguments_no_empty = 170, // expr_arguments_no_empty + S_expr_reference = 171, // expr_reference + S_expr_array = 172, // expr_array + S_expr_field = 173, // expr_field + S_expr_size = 174, // expr_size + S_expr_paren = 175, // expr_paren + S_expr_object = 176, // expr_object + S_expr_thisthread = 177, // expr_thisthread + S_expr_empty_array = 178, // expr_empty_array + S_expr_undefined = 179, // expr_undefined + S_expr_game = 180, // expr_game + S_expr_self = 181, // expr_self + S_expr_anim = 182, // expr_anim + S_expr_level = 183, // expr_level + S_expr_animation = 184, // expr_animation + S_expr_animtree = 185, // expr_animtree + S_expr_identifier = 186, // expr_identifier + S_expr_path = 187, // expr_path + S_expr_istring = 188, // expr_istring + S_expr_string = 189, // expr_string + S_expr_vector = 190, // expr_vector + S_expr_float = 191, // expr_float + S_expr_integer = 192, // expr_integer + S_expr_false = 193, // expr_false + S_expr_true = 194 // expr_true }; }; @@ -1105,10 +1098,6 @@ namespace xsk { namespace gsc { namespace h2 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1329,7 +1318,6 @@ namespace xsk { namespace gsc { namespace h2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1540,20 +1528,6 @@ namespace xsk { namespace gsc { namespace h2 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2394,10 +2368,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2618,7 +2588,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4310,21 +4279,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4834,8 +4788,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2285, ///< Last index in yytable_. - yynnts_ = 83, ///< Number of nonterminal symbols. + yylast_ = 2300, ///< Last index in yytable_. + yynnts_ = 82, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4924,10 +4878,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5148,7 +5098,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5245,10 +5194,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5469,7 +5414,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5538,7 +5482,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::h2 -#line 5542 "parser.hpp" +#line 5486 "parser.hpp" diff --git a/src/iw5/xsk/parser.cpp b/src/iw5/xsk/parser.cpp index c8d0f774..b6cfd4fa 100644 --- a/src/iw5/xsk/parser.cpp +++ b/src/iw5/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace iw5 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -497,7 +493,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -580,10 +575,6 @@ namespace xsk { namespace gsc { namespace iw5 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -800,7 +791,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -883,10 +873,6 @@ namespace xsk { namespace gsc { namespace iw5 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1103,7 +1089,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1185,10 +1170,6 @@ namespace xsk { namespace gsc { namespace iw5 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1405,7 +1386,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1742,10 +1722,6 @@ namespace xsk { namespace gsc { namespace iw5 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1962,7 +1938,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -1989,1309 +1964,1297 @@ namespace xsk { namespace gsc { namespace iw5 { switch (yyn) { case 2: // root: program -#line 254 "parser.ypp" +#line 252 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 1995 "parser.cpp" +#line 1970 "parser.cpp" break; case 3: // root: %empty -#line 255 "parser.ypp" +#line 253 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2001 "parser.cpp" +#line 1976 "parser.cpp" break; case 4: // program: program inline -#line 260 "parser.ypp" +#line 258 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2007 "parser.cpp" +#line 1982 "parser.cpp" break; case 5: // program: program include -#line 262 "parser.ypp" +#line 260 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2013 "parser.cpp" +#line 1988 "parser.cpp" break; case 6: // program: program declaration -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2019 "parser.cpp" +#line 1994 "parser.cpp" break; case 7: // program: inline -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2025 "parser.cpp" +#line 2000 "parser.cpp" break; case 8: // program: include -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2031 "parser.cpp" +#line 2006 "parser.cpp" break; case 9: // program: declaration -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2037 "parser.cpp" +#line 2012 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 274 "parser.ypp" +#line 272 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2043 "parser.cpp" +#line 2018 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 279 "parser.ypp" +#line 277 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2049 "parser.cpp" +#line 2024 "parser.cpp" break; case 12: // declaration: "/#" -#line 283 "parser.ypp" +#line 281 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2055 "parser.cpp" +#line 2030 "parser.cpp" break; case 13: // declaration: "#/" -#line 284 "parser.ypp" +#line 282 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2061 "parser.cpp" +#line 2036 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2067 "parser.cpp" +#line 2042 "parser.cpp" break; case 15: // declaration: decl_constant -#line 286 "parser.ypp" +#line 284 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2073 "parser.cpp" +#line 2048 "parser.cpp" break; case 16: // declaration: decl_thread -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2079 "parser.cpp" +#line 2054 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 292 "parser.ypp" +#line 290 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2085 "parser.cpp" +#line 2060 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 297 "parser.ypp" +#line 295 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2091 "parser.cpp" +#line 2066 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 302 "parser.ypp" +#line 300 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2097 "parser.cpp" +#line 2072 "parser.cpp" break; case 20: // stmt: stmt_block -#line 306 "parser.ypp" +#line 304 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2103 "parser.cpp" +#line 2078 "parser.cpp" break; case 21: // stmt: stmt_call -#line 307 "parser.ypp" +#line 305 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2109 "parser.cpp" +#line 2084 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 308 "parser.ypp" +#line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2115 "parser.cpp" +#line 2090 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 309 "parser.ypp" +#line 307 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2121 "parser.cpp" +#line 2096 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2127 "parser.cpp" +#line 2102 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2133 "parser.cpp" +#line 2108 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2139 "parser.cpp" +#line 2114 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2145 "parser.cpp" +#line 2120 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2151 "parser.cpp" +#line 2126 "parser.cpp" break; case 29: // stmt: stmt_if -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2157 "parser.cpp" +#line 2132 "parser.cpp" break; case 30: // stmt: stmt_ifelse -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2163 "parser.cpp" +#line 2138 "parser.cpp" break; case 31: // stmt: stmt_while -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2169 "parser.cpp" +#line 2144 "parser.cpp" break; case 32: // stmt: stmt_dowhile -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2175 "parser.cpp" +#line 2150 "parser.cpp" break; case 33: // stmt: stmt_for -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2181 "parser.cpp" +#line 2156 "parser.cpp" break; case 34: // stmt: stmt_foreach -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2187 "parser.cpp" +#line 2162 "parser.cpp" break; case 35: // stmt: stmt_switch -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2193 "parser.cpp" +#line 2168 "parser.cpp" break; case 36: // stmt: stmt_case -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2199 "parser.cpp" +#line 2174 "parser.cpp" break; case 37: // stmt: stmt_default -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2205 "parser.cpp" +#line 2180 "parser.cpp" break; case 38: // stmt: stmt_break -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2211 "parser.cpp" +#line 2186 "parser.cpp" break; case 39: // stmt: stmt_continue -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2217 "parser.cpp" +#line 2192 "parser.cpp" break; case 40: // stmt: stmt_return -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2223 "parser.cpp" +#line 2198 "parser.cpp" break; case 41: // stmt: stmt_breakpoint -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2229 "parser.cpp" +#line 2204 "parser.cpp" break; case 42: // stmt: stmt_prof_begin -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2235 "parser.cpp" +#line 2210 "parser.cpp" break; case 43: // stmt: stmt_prof_end -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2241 "parser.cpp" +#line 2216 "parser.cpp" break; case 44: // stmt_or_dev: stmt -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2247 "parser.cpp" +#line 2222 "parser.cpp" break; case 45: // stmt_or_dev: stmt_dev -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2253 "parser.cpp" +#line 2228 "parser.cpp" break; case 46: // stmt_list: stmt_list stmt -#line 339 "parser.ypp" +#line 337 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2259 "parser.cpp" +#line 2234 "parser.cpp" break; case 47: // stmt_list: stmt -#line 341 "parser.ypp" +#line 339 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2265 "parser.cpp" +#line 2240 "parser.cpp" break; case 48: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2271 "parser.cpp" +#line 2246 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev -#line 348 "parser.ypp" +#line 346 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2277 "parser.cpp" +#line 2252 "parser.cpp" break; case 50: // stmt_dev: "/#" stmt_list "#/" -#line 352 "parser.ypp" +#line 350 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2283 "parser.cpp" +#line 2258 "parser.cpp" break; case 51: // stmt_dev: "/#" "#/" -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2289 "parser.cpp" +#line 2264 "parser.cpp" break; case 52: // stmt_block: "{" stmt_or_dev_list "}" -#line 357 "parser.ypp" +#line 355 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2295 "parser.cpp" +#line 2270 "parser.cpp" break; case 53: // stmt_block: "{" "}" -#line 358 "parser.ypp" +#line 356 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2301 "parser.cpp" +#line 2276 "parser.cpp" break; case 54: // stmt_expr: expr_assign -#line 363 "parser.ypp" +#line 361 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2307 "parser.cpp" +#line 2282 "parser.cpp" break; case 55: // stmt_expr: expr_increment -#line 365 "parser.ypp" +#line 363 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2313 "parser.cpp" +#line 2288 "parser.cpp" break; case 56: // stmt_expr: expr_decrement -#line 367 "parser.ypp" +#line 365 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2319 "parser.cpp" +#line 2294 "parser.cpp" break; case 57: // stmt_expr: %empty -#line 369 "parser.ypp" +#line 367 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2325 "parser.cpp" +#line 2300 "parser.cpp" break; case 58: // stmt_call: expr_call ";" -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2331 "parser.cpp" +#line 2306 "parser.cpp" break; case 59: // stmt_call: expr_method ";" -#line 376 "parser.ypp" +#line 374 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2337 "parser.cpp" +#line 2312 "parser.cpp" break; case 60: // stmt_assign: expr_assign ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2343 "parser.cpp" +#line 2318 "parser.cpp" break; case 61: // stmt_assign: expr_increment ";" -#line 383 "parser.ypp" +#line 381 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2349 "parser.cpp" +#line 2324 "parser.cpp" break; case 62: // stmt_assign: expr_decrement ";" -#line 385 "parser.ypp" +#line 383 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2355 "parser.cpp" +#line 2330 "parser.cpp" break; case 63: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2361 "parser.cpp" +#line 2336 "parser.cpp" break; case 64: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 395 "parser.ypp" +#line 393 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2367 "parser.cpp" +#line 2342 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 397 "parser.ypp" +#line 395 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2373 "parser.cpp" +#line 2348 "parser.cpp" break; case 66: // stmt_wait: "wait" expr ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2379 "parser.cpp" +#line 2354 "parser.cpp" break; case 67: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 407 "parser.ypp" +#line 405 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2385 "parser.cpp" +#line 2360 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 409 "parser.ypp" +#line 407 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2391 "parser.cpp" +#line 2366 "parser.cpp" break; case 69: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2397 "parser.cpp" +#line 2372 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 416 "parser.ypp" +#line 414 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2403 "parser.cpp" +#line 2378 "parser.cpp" break; case 71: // stmt_waittillframeend: "waittillframeend" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2409 "parser.cpp" +#line 2384 "parser.cpp" break; case 72: // stmt_if: "if" "(" expr ")" stmt -#line 426 "parser.ypp" +#line 424 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2415 "parser.cpp" +#line 2390 "parser.cpp" break; case 73: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2421 "parser.cpp" +#line 2396 "parser.cpp" break; case 74: // stmt_while: "while" "(" expr ")" stmt -#line 436 "parser.ypp" +#line 434 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2427 "parser.cpp" +#line 2402 "parser.cpp" break; case 75: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 441 "parser.ypp" +#line 439 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2433 "parser.cpp" +#line 2408 "parser.cpp" break; case 76: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 446 "parser.ypp" +#line 444 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2439 "parser.cpp" +#line 2414 "parser.cpp" break; case 77: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 451 "parser.ypp" +#line 449 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2445 "parser.cpp" +#line 2420 "parser.cpp" break; case 78: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 453 "parser.ypp" +#line 451 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2451 "parser.cpp" +#line 2426 "parser.cpp" break; case 79: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 458 "parser.ypp" +#line 456 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2457 "parser.cpp" +#line 2432 "parser.cpp" break; case 80: // stmt_case: "case" expr_integer ":" -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2463 "parser.cpp" +#line 2438 "parser.cpp" break; case 81: // stmt_case: "case" expr_string ":" -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2469 "parser.cpp" +#line 2444 "parser.cpp" break; case 82: // stmt_default: "default" ":" -#line 470 "parser.ypp" +#line 468 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2475 "parser.cpp" +#line 2450 "parser.cpp" break; case 83: // stmt_break: "break" ";" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2481 "parser.cpp" +#line 2456 "parser.cpp" break; case 84: // stmt_continue: "continue" ";" -#line 480 "parser.ypp" +#line 478 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2487 "parser.cpp" +#line 2462 "parser.cpp" break; case 85: // stmt_return: "return" expr ";" -#line 485 "parser.ypp" +#line 483 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2493 "parser.cpp" +#line 2468 "parser.cpp" break; case 86: // stmt_return: "return" ";" -#line 487 "parser.ypp" +#line 485 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2499 "parser.cpp" +#line 2474 "parser.cpp" break; case 87: // stmt_breakpoint: "breakpoint" ";" -#line 492 "parser.ypp" +#line 490 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2505 "parser.cpp" +#line 2480 "parser.cpp" break; case 88: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2511 "parser.cpp" +#line 2486 "parser.cpp" break; case 89: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 502 "parser.ypp" +#line 500 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2517 "parser.cpp" +#line 2492 "parser.cpp" break; case 90: // expr: expr_ternary -#line 506 "parser.ypp" +#line 504 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2523 "parser.cpp" +#line 2498 "parser.cpp" break; case 91: // expr: expr_binary -#line 507 "parser.ypp" +#line 505 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2529 "parser.cpp" +#line 2504 "parser.cpp" break; case 92: // expr: expr_primitive -#line 508 "parser.ypp" +#line 506 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2535 "parser.cpp" +#line 2510 "parser.cpp" break; case 93: // expr_or_empty: expr -#line 512 "parser.ypp" +#line 510 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2541 "parser.cpp" +#line 2516 "parser.cpp" break; case 94: // expr_or_empty: %empty -#line 513 "parser.ypp" +#line 511 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2547 "parser.cpp" +#line 2522 "parser.cpp" break; case 95: // expr_assign: expr_object "=" expr -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2553 "parser.cpp" +#line 2528 "parser.cpp" break; case 96: // expr_assign: expr_object "|=" expr -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2559 "parser.cpp" +#line 2534 "parser.cpp" break; case 97: // expr_assign: expr_object "&=" expr -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2565 "parser.cpp" +#line 2540 "parser.cpp" break; case 98: // expr_assign: expr_object "^=" expr -#line 524 "parser.ypp" +#line 522 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2571 "parser.cpp" +#line 2546 "parser.cpp" break; case 99: // expr_assign: expr_object "<<=" expr -#line 526 "parser.ypp" +#line 524 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2577 "parser.cpp" +#line 2552 "parser.cpp" break; case 100: // expr_assign: expr_object ">>=" expr -#line 528 "parser.ypp" +#line 526 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2583 "parser.cpp" +#line 2558 "parser.cpp" break; case 101: // expr_assign: expr_object "+=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2589 "parser.cpp" +#line 2564 "parser.cpp" break; case 102: // expr_assign: expr_object "-=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2595 "parser.cpp" +#line 2570 "parser.cpp" break; case 103: // expr_assign: expr_object "*=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2601 "parser.cpp" +#line 2576 "parser.cpp" break; case 104: // expr_assign: expr_object "/=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2607 "parser.cpp" +#line 2582 "parser.cpp" break; case 105: // expr_assign: expr_object "%=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2613 "parser.cpp" +#line 2588 "parser.cpp" break; case 106: // expr_increment: "++" expr_object -#line 543 "parser.ypp" +#line 541 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2619 "parser.cpp" +#line 2594 "parser.cpp" break; case 107: // expr_increment: expr_object "++" -#line 545 "parser.ypp" +#line 543 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2625 "parser.cpp" +#line 2600 "parser.cpp" break; case 108: // expr_decrement: "--" expr_object -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2631 "parser.cpp" +#line 2606 "parser.cpp" break; case 109: // expr_decrement: expr_object "--" -#line 552 "parser.ypp" +#line 550 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2637 "parser.cpp" +#line 2612 "parser.cpp" break; case 110: // expr_ternary: expr "?" expr ":" expr -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2643 "parser.cpp" +#line 2618 "parser.cpp" break; case 111: // expr_binary: expr "||" expr -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2649 "parser.cpp" +#line 2624 "parser.cpp" break; case 112: // expr_binary: expr "&&" expr -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2655 "parser.cpp" +#line 2630 "parser.cpp" break; case 113: // expr_binary: expr "==" expr -#line 566 "parser.ypp" +#line 564 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2661 "parser.cpp" +#line 2636 "parser.cpp" break; case 114: // expr_binary: expr "!=" expr -#line 568 "parser.ypp" +#line 566 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2667 "parser.cpp" +#line 2642 "parser.cpp" break; case 115: // expr_binary: expr "<=" expr -#line 570 "parser.ypp" +#line 568 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2673 "parser.cpp" +#line 2648 "parser.cpp" break; case 116: // expr_binary: expr ">=" expr -#line 572 "parser.ypp" +#line 570 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2679 "parser.cpp" +#line 2654 "parser.cpp" break; case 117: // expr_binary: expr "<" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2685 "parser.cpp" +#line 2660 "parser.cpp" break; case 118: // expr_binary: expr ">" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2691 "parser.cpp" +#line 2666 "parser.cpp" break; case 119: // expr_binary: expr "|" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2697 "parser.cpp" +#line 2672 "parser.cpp" break; case 120: // expr_binary: expr "&" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2703 "parser.cpp" +#line 2678 "parser.cpp" break; case 121: // expr_binary: expr "^" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2709 "parser.cpp" +#line 2684 "parser.cpp" break; case 122: // expr_binary: expr "<<" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2715 "parser.cpp" +#line 2690 "parser.cpp" break; case 123: // expr_binary: expr ">>" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2721 "parser.cpp" +#line 2696 "parser.cpp" break; case 124: // expr_binary: expr "+" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2727 "parser.cpp" +#line 2702 "parser.cpp" break; case 125: // expr_binary: expr "-" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2733 "parser.cpp" +#line 2708 "parser.cpp" break; case 126: // expr_binary: expr "*" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2739 "parser.cpp" +#line 2714 "parser.cpp" break; case 127: // expr_binary: expr "/" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2745 "parser.cpp" +#line 2720 "parser.cpp" break; case 128: // expr_binary: expr "%" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2751 "parser.cpp" +#line 2726 "parser.cpp" break; case 129: // expr_primitive: expr_complement -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2757 "parser.cpp" +#line 2732 "parser.cpp" break; case 130: // expr_primitive: expr_not -#line 601 "parser.ypp" +#line 599 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2763 "parser.cpp" +#line 2738 "parser.cpp" break; case 131: // expr_primitive: expr_call -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2769 "parser.cpp" +#line 2744 "parser.cpp" break; case 132: // expr_primitive: expr_method -#line 603 "parser.ypp" +#line 601 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2775 "parser.cpp" +#line 2750 "parser.cpp" break; case 133: // expr_primitive: expr_add_array -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2781 "parser.cpp" +#line 2756 "parser.cpp" break; case 134: // expr_primitive: expr_reference -#line 605 "parser.ypp" +#line 603 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2787 "parser.cpp" +#line 2762 "parser.cpp" break; case 135: // expr_primitive: expr_array -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2793 "parser.cpp" +#line 2768 "parser.cpp" break; case 136: // expr_primitive: expr_field -#line 607 "parser.ypp" +#line 605 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2799 "parser.cpp" +#line 2774 "parser.cpp" break; case 137: // expr_primitive: expr_size -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2805 "parser.cpp" +#line 2780 "parser.cpp" break; case 138: // expr_primitive: expr_paren -#line 609 "parser.ypp" +#line 607 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2811 "parser.cpp" +#line 2786 "parser.cpp" break; case 139: // expr_primitive: expr_thisthread -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2817 "parser.cpp" +#line 2792 "parser.cpp" break; case 140: // expr_primitive: expr_empty_array -#line 611 "parser.ypp" +#line 609 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2823 "parser.cpp" +#line 2798 "parser.cpp" break; case 141: // expr_primitive: expr_undefined -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2829 "parser.cpp" +#line 2804 "parser.cpp" break; case 142: // expr_primitive: expr_game -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2835 "parser.cpp" +#line 2810 "parser.cpp" break; case 143: // expr_primitive: expr_self -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2841 "parser.cpp" +#line 2816 "parser.cpp" break; case 144: // expr_primitive: expr_anim -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2847 "parser.cpp" +#line 2822 "parser.cpp" break; case 145: // expr_primitive: expr_level -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2853 "parser.cpp" +#line 2828 "parser.cpp" break; case 146: // expr_primitive: expr_animation -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2859 "parser.cpp" +#line 2834 "parser.cpp" break; case 147: // expr_primitive: expr_animtree -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2865 "parser.cpp" +#line 2840 "parser.cpp" break; case 148: // expr_primitive: expr_identifier -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2871 "parser.cpp" +#line 2846 "parser.cpp" break; case 149: // expr_primitive: expr_istring -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2877 "parser.cpp" +#line 2852 "parser.cpp" break; case 150: // expr_primitive: expr_string -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2883 "parser.cpp" +#line 2858 "parser.cpp" break; - case 151: // expr_primitive: expr_color -#line 622 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2889 "parser.cpp" - break; - - case 152: // expr_primitive: expr_vector -#line 623 "parser.ypp" + case 151: // expr_primitive: expr_vector +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2895 "parser.cpp" +#line 2864 "parser.cpp" break; - case 153: // expr_primitive: expr_float -#line 624 "parser.ypp" + case 152: // expr_primitive: expr_float +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2901 "parser.cpp" +#line 2870 "parser.cpp" break; - case 154: // expr_primitive: expr_integer -#line 625 "parser.ypp" + case 153: // expr_primitive: expr_integer +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2907 "parser.cpp" +#line 2876 "parser.cpp" break; - case 155: // expr_primitive: expr_false -#line 626 "parser.ypp" + case 154: // expr_primitive: expr_false +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2913 "parser.cpp" +#line 2882 "parser.cpp" break; - case 156: // expr_primitive: expr_true -#line 627 "parser.ypp" + case 155: // expr_primitive: expr_true +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2919 "parser.cpp" +#line 2888 "parser.cpp" break; - case 157: // expr_complement: "~" expr -#line 632 "parser.ypp" + case 156: // expr_complement: "~" expr +#line 629 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2925 "parser.cpp" +#line 2894 "parser.cpp" break; - case 158: // expr_not: "!" expr -#line 637 "parser.ypp" + case 157: // expr_not: "!" expr +#line 634 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2931 "parser.cpp" +#line 2900 "parser.cpp" break; - case 159: // expr_call: expr_function -#line 641 "parser.ypp" + case 158: // expr_call: expr_function +#line 638 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2937 "parser.cpp" +#line 2906 "parser.cpp" break; - case 160: // expr_call: expr_pointer + case 159: // expr_call: expr_pointer +#line 639 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2912 "parser.cpp" + break; + + case 160: // expr_method: expr_object expr_function #line 642 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2943 "parser.cpp" - break; - - case 161: // expr_method: expr_object expr_function -#line 645 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2949 "parser.cpp" +#line 2918 "parser.cpp" break; - case 162: // expr_method: expr_object expr_pointer -#line 646 "parser.ypp" + case 161: // expr_method: expr_object expr_pointer +#line 643 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2955 "parser.cpp" +#line 2924 "parser.cpp" break; - case 163: // expr_function: expr_identifier "(" expr_arguments ")" -#line 651 "parser.ypp" + case 162: // expr_function: expr_identifier "(" expr_arguments ")" +#line 648 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2961 "parser.cpp" +#line 2930 "parser.cpp" break; - case 164: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 653 "parser.ypp" + case 163: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 650 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2967 "parser.cpp" +#line 2936 "parser.cpp" break; - case 165: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 655 "parser.ypp" + case 164: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 652 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2973 "parser.cpp" +#line 2942 "parser.cpp" break; - case 166: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 657 "parser.ypp" + case 165: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 654 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2979 "parser.cpp" +#line 2948 "parser.cpp" break; - case 167: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 659 "parser.ypp" + case 166: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 656 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2985 "parser.cpp" +#line 2954 "parser.cpp" break; - case 168: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 661 "parser.ypp" + case 167: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2991 "parser.cpp" +#line 2960 "parser.cpp" break; - case 169: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 666 "parser.ypp" + case 168: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 663 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2997 "parser.cpp" +#line 2966 "parser.cpp" break; - case 170: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 668 "parser.ypp" + case 169: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 665 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3003 "parser.cpp" +#line 2972 "parser.cpp" break; - case 171: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 670 "parser.ypp" + case 170: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 667 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3009 "parser.cpp" +#line 2978 "parser.cpp" break; - case 172: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 672 "parser.ypp" + case 171: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 669 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3015 "parser.cpp" +#line 2984 "parser.cpp" break; - case 173: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 677 "parser.ypp" + case 172: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 674 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3021 "parser.cpp" +#line 2990 "parser.cpp" break; - case 174: // expr_parameters: expr_parameters "," expr_identifier -#line 682 "parser.ypp" + case 173: // expr_parameters: expr_parameters "," expr_identifier +#line 679 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3027 "parser.cpp" +#line 2996 "parser.cpp" break; - case 175: // expr_parameters: expr_identifier -#line 684 "parser.ypp" + case 174: // expr_parameters: expr_identifier +#line 681 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3033 "parser.cpp" +#line 3002 "parser.cpp" break; - case 176: // expr_parameters: %empty -#line 686 "parser.ypp" + case 175: // expr_parameters: %empty +#line 683 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3039 "parser.cpp" +#line 3008 "parser.cpp" break; - case 177: // expr_arguments: expr_arguments_no_empty -#line 691 "parser.ypp" + case 176: // expr_arguments: expr_arguments_no_empty +#line 688 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3045 "parser.cpp" +#line 3014 "parser.cpp" break; - case 178: // expr_arguments: %empty -#line 693 "parser.ypp" + case 177: // expr_arguments: %empty +#line 690 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3051 "parser.cpp" +#line 3020 "parser.cpp" break; - case 179: // expr_arguments_no_empty: expr_arguments "," expr -#line 698 "parser.ypp" + case 178: // expr_arguments_no_empty: expr_arguments "," expr +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3057 "parser.cpp" +#line 3026 "parser.cpp" break; - case 180: // expr_arguments_no_empty: expr -#line 700 "parser.ypp" + case 179: // expr_arguments_no_empty: expr +#line 697 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3063 "parser.cpp" +#line 3032 "parser.cpp" break; - case 181: // expr_reference: "::" expr_identifier -#line 705 "parser.ypp" + case 180: // expr_reference: "::" expr_identifier +#line 702 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3069 "parser.cpp" +#line 3038 "parser.cpp" break; - case 182: // expr_reference: expr_path "::" expr_identifier -#line 707 "parser.ypp" + case 181: // expr_reference: expr_path "::" expr_identifier +#line 704 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3075 "parser.cpp" +#line 3044 "parser.cpp" break; - case 183: // expr_array: expr_object "[" expr "]" -#line 712 "parser.ypp" + case 182: // expr_array: expr_object "[" expr "]" +#line 709 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3081 "parser.cpp" +#line 3050 "parser.cpp" break; - case 184: // expr_field: expr_object "." expr_identifier -#line 717 "parser.ypp" + case 183: // expr_field: expr_object "." expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3087 "parser.cpp" +#line 3056 "parser.cpp" break; - case 185: // expr_field: expr_object "field" -#line 719 "parser.ypp" + case 184: // expr_field: expr_object "field" +#line 716 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3093 "parser.cpp" +#line 3062 "parser.cpp" break; - case 186: // expr_size: expr_object ".size" -#line 724 "parser.ypp" + case 185: // expr_size: expr_object ".size" +#line 721 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3099 "parser.cpp" +#line 3068 "parser.cpp" break; - case 187: // expr_paren: "(" expr ")" -#line 729 "parser.ypp" + case 186: // expr_paren: "(" expr ")" +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3105 "parser.cpp" +#line 3074 "parser.cpp" break; - case 188: // expr_object: expr_call -#line 733 "parser.ypp" + case 187: // expr_object: expr_call +#line 730 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3111 "parser.cpp" +#line 3080 "parser.cpp" break; - case 189: // expr_object: expr_method -#line 734 "parser.ypp" + case 188: // expr_object: expr_method +#line 731 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3117 "parser.cpp" +#line 3086 "parser.cpp" break; - case 190: // expr_object: expr_array -#line 735 "parser.ypp" + case 189: // expr_object: expr_array +#line 732 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3123 "parser.cpp" +#line 3092 "parser.cpp" break; - case 191: // expr_object: expr_field -#line 736 "parser.ypp" + case 190: // expr_object: expr_field +#line 733 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3129 "parser.cpp" +#line 3098 "parser.cpp" break; - case 192: // expr_object: expr_game -#line 737 "parser.ypp" + case 191: // expr_object: expr_game +#line 734 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3135 "parser.cpp" +#line 3104 "parser.cpp" break; - case 193: // expr_object: expr_self -#line 738 "parser.ypp" + case 192: // expr_object: expr_self +#line 735 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3141 "parser.cpp" +#line 3110 "parser.cpp" break; - case 194: // expr_object: expr_anim -#line 739 "parser.ypp" + case 193: // expr_object: expr_anim +#line 736 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3147 "parser.cpp" +#line 3116 "parser.cpp" break; - case 195: // expr_object: expr_level -#line 740 "parser.ypp" + case 194: // expr_object: expr_level +#line 737 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3153 "parser.cpp" +#line 3122 "parser.cpp" break; - case 196: // expr_object: expr_identifier -#line 741 "parser.ypp" + case 195: // expr_object: expr_identifier +#line 738 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3159 "parser.cpp" +#line 3128 "parser.cpp" break; - case 197: // expr_thisthread: "thisthread" -#line 746 "parser.ypp" + case 196: // expr_thisthread: "thisthread" +#line 743 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3165 "parser.cpp" +#line 3134 "parser.cpp" break; - case 198: // expr_empty_array: "[" "]" -#line 751 "parser.ypp" + case 197: // expr_empty_array: "[" "]" +#line 748 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3171 "parser.cpp" +#line 3140 "parser.cpp" break; - case 199: // expr_undefined: "undefined" -#line 756 "parser.ypp" + case 198: // expr_undefined: "undefined" +#line 753 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3177 "parser.cpp" +#line 3146 "parser.cpp" break; - case 200: // expr_game: "game" -#line 761 "parser.ypp" + case 199: // expr_game: "game" +#line 758 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3183 "parser.cpp" +#line 3152 "parser.cpp" break; - case 201: // expr_self: "self" -#line 766 "parser.ypp" + case 200: // expr_self: "self" +#line 763 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3189 "parser.cpp" +#line 3158 "parser.cpp" break; - case 202: // expr_anim: "anim" -#line 771 "parser.ypp" + case 201: // expr_anim: "anim" +#line 768 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3195 "parser.cpp" +#line 3164 "parser.cpp" break; - case 203: // expr_level: "level" -#line 776 "parser.ypp" + case 202: // expr_level: "level" +#line 773 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3201 "parser.cpp" +#line 3170 "parser.cpp" break; - case 204: // expr_animation: "%" "identifier" -#line 781 "parser.ypp" + case 203: // expr_animation: "%" "identifier" +#line 778 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3207 "parser.cpp" +#line 3176 "parser.cpp" break; - case 205: // expr_animtree: "#animtree" -#line 786 "parser.ypp" + case 204: // expr_animtree: "#animtree" +#line 783 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3213 "parser.cpp" +#line 3182 "parser.cpp" break; - case 206: // expr_identifier: "identifier" -#line 791 "parser.ypp" + case 205: // expr_identifier: "identifier" +#line 788 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3219 "parser.cpp" +#line 3188 "parser.cpp" break; - case 207: // expr_path: "path" -#line 796 "parser.ypp" + case 206: // expr_path: "path" +#line 793 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3225 "parser.cpp" +#line 3194 "parser.cpp" break; - case 208: // expr_path: expr_identifier -#line 798 "parser.ypp" + case 207: // expr_path: expr_identifier +#line 795 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3231 "parser.cpp" +#line 3200 "parser.cpp" break; - case 209: // expr_istring: "localized string" -#line 803 "parser.ypp" + case 208: // expr_istring: "localized string" +#line 800 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3237 "parser.cpp" +#line 3206 "parser.cpp" break; - case 210: // expr_string: "string literal" -#line 808 "parser.ypp" + case 209: // expr_string: "string literal" +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3243 "parser.cpp" +#line 3212 "parser.cpp" break; - case 211: // expr_color: "color" -#line 813 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3249 "parser.cpp" - break; - - case 212: // expr_vector: "(" expr "," expr "," expr ")" -#line 818 "parser.ypp" + case 210: // expr_vector: "(" expr "," expr "," expr ")" +#line 810 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3255 "parser.cpp" +#line 3218 "parser.cpp" break; - case 213: // expr_float: "-" "float" -#line 823 "parser.ypp" + case 211: // expr_float: "-" "float" +#line 815 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3261 "parser.cpp" +#line 3224 "parser.cpp" break; - case 214: // expr_float: "float" -#line 825 "parser.ypp" + case 212: // expr_float: "float" +#line 817 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3267 "parser.cpp" +#line 3230 "parser.cpp" break; - case 215: // expr_integer: "-" "integer" -#line 830 "parser.ypp" + case 213: // expr_integer: "-" "integer" +#line 822 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3273 "parser.cpp" +#line 3236 "parser.cpp" break; - case 216: // expr_integer: "integer" -#line 832 "parser.ypp" + case 214: // expr_integer: "integer" +#line 824 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3279 "parser.cpp" +#line 3242 "parser.cpp" break; - case 217: // expr_false: "false" -#line 837 "parser.ypp" + case 215: // expr_false: "false" +#line 829 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3285 "parser.cpp" +#line 3248 "parser.cpp" break; - case 218: // expr_true: "true" -#line 842 "parser.ypp" + case 216: // expr_true: "true" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3291 "parser.cpp" +#line 3254 "parser.cpp" break; -#line 3295 "parser.cpp" +#line 3258 "parser.cpp" default: break; @@ -3487,12 +3450,12 @@ namespace xsk { namespace gsc { namespace iw5 { "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", "localized string", - "color", "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", - "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", - "program", "inline", "include", "declaration", "decl_usingtree", - "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", - "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", - "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", + "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", "program", + "inline", "include", "declaration", "decl_usingtree", "decl_constant", + "decl_thread", "stmt", "stmt_or_dev", "stmt_list", "stmt_or_dev_list", + "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", "stmt_assign", + "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", "stmt_continue", @@ -3506,8 +3469,8 @@ namespace xsk { namespace gsc { namespace iw5 { "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", + "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3772,674 +3735,676 @@ namespace xsk { namespace gsc { namespace iw5 { } - const short parser::yypact_ninf_ = -261; + const short parser::yypact_ninf_ = -263; - const short parser::yytable_ninf_ = -209; + const short parser::yytable_ninf_ = -208; const short parser::yypact_[] = { - 8, -261, -261, -33, -33, -20, -261, 14, 8, -261, - -261, -261, -261, -261, -261, -36, -261, -261, -43, -19, - -63, -261, -261, -261, -261, -46, 932, -261, -261, -261, - 10, -28, -261, -261, -49, -27, -261, 5, -261, -261, - -261, -261, -261, -261, -261, 932, 802, -46, 932, 932, - 7, -15, -261, -261, -261, -261, 2012, -261, -261, -261, - -261, -261, 133, 340, -261, -261, -261, -261, 523, 600, - -261, -261, 674, -261, -261, -261, 840, 905, 970, 1168, - -261, -261, 27, 18, -261, -261, -261, -261, -261, -261, - -261, -261, 28, 64, -46, 75, 80, 78, 83, 88, - 82, 87, 1298, 802, -261, 2095, 89, 91, -261, -261, - -261, -261, -261, -261, -261, 932, 932, 932, 932, 932, - 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 932, -261, 997, -46, -261, -261, -261, - 93, 92, 932, -46, -261, 65, -261, -261, 932, 932, - -46, 932, 932, -46, 932, -261, 932, 1742, 932, -261, - 1977, 66, 66, 989, 2126, 1156, 1156, 191, 191, 191, - 191, 2136, 797, 2167, 40, 40, -261, -261, -261, 1782, - -261, -46, -25, -261, 113, 1089, 932, 104, 115, 1256, - 118, 119, 126, 127, -66, 122, 125, 129, 867, 131, - 136, 142, -261, 140, 205, 205, -261, -261, 775, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, 135, 141, 145, 146, 148, -261, - -261, 1176, -261, -261, -261, -261, -21, 1822, -12, 150, - 1862, -6, 159, 1902, 1941, 155, 2095, 932, -261, 113, - -261, 932, -261, -261, 1135, 2047, -261, 932, 171, 932, - 586, -46, 932, 109, 158, 164, -261, -261, -261, -261, - 2082, -261, 932, 932, 932, -261, -261, 663, 663, -261, - -261, -261, -261, -261, -261, -261, 168, 174, 175, 177, - -261, -261, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 176, -261, 932, 181, -261, 932, 184, - 932, 192, 2095, -2, -261, -261, -261, 1464, 195, 1498, - 154, -261, -261, -261, 1260, -18, 1532, -261, -261, -261, - 2, 4, 1742, 932, 932, 932, 932, 2095, 2095, 2095, - 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 197, 11, - 198, 22, 200, 1566, 932, -261, 1256, 932, 1256, 932, - 932, -46, 64, 201, 202, 1600, 1342, 1386, 1430, 932, - -261, 932, -261, 932, -261, 23, 218, 1634, -261, 2095, - 211, 1668, 229, -261, -261, -261, 213, 215, 932, 216, - 932, 219, 932, 59, 69, 70, -261, 1256, 228, 586, - 1256, 932, -261, -261, 209, -261, 214, -261, 238, -261, - -261, -261, -261, -261, 239, -261, 1702, 231, 233, 234, - 1256, 1256, -261, -261, -261, -261, -261 + 4, -263, -263, 2, 2, -23, -263, 11, 4, -263, + -263, -263, -263, -263, -263, 6, -263, -263, -41, -20, + -27, -263, -263, -263, -263, -16, 1035, -263, -263, -263, + 33, 21, -263, -263, -34, -31, -263, 34, -263, -263, + -263, -263, -263, -263, -263, 1035, 907, -16, 1035, 1035, + -32, -7, -263, -263, -263, 1983, -263, -263, -263, -263, + -263, 122, 155, -263, -263, -263, -263, 540, 562, -263, + -263, 624, -263, -263, -263, 660, 995, 1003, 1063, -263, + -263, 35, 38, -263, -263, -263, -263, -263, -263, -263, + 40, 63, -16, 53, 59, 70, 81, 69, 79, 92, + 1269, 907, -263, 2066, 83, 94, -263, -263, -263, -263, + -263, -263, -263, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, -263, 1099, -16, -263, -263, -263, 75, 97, + 1035, -16, -263, 742, -263, -263, 1035, 1035, -16, 1035, + 1035, -16, 1035, -263, 1035, 1713, 1035, -263, 1948, 163, + 163, 2097, 2107, 2179, 2179, -43, -43, -43, -43, 2138, + 557, 2148, -35, -35, -263, -263, -263, 1753, -263, -16, + 27, -263, 109, 834, 1035, 96, 116, 1227, 119, 121, + 125, 135, -66, 113, 128, 129, 971, 130, 142, 147, + -263, 145, 56, 56, -263, -263, 788, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, 143, 144, 146, 148, 160, -263, -263, 1147, + -263, -263, -263, -263, 17, 1793, 55, 157, 1833, 57, + 165, 1873, 1912, 161, 2066, 1035, -263, 109, -263, 1035, + -263, -263, 880, 2018, -263, 1035, 196, 1035, -10, -16, + 1035, 124, 164, 167, -263, -263, -263, -263, 2053, -263, + 1035, 1035, 1035, -263, -263, 931, 931, -263, -263, -263, + -263, -263, -263, -263, 179, 180, 181, 184, -263, -263, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 182, -263, 1035, 185, -263, 1035, 186, 1035, 192, + 2066, 61, -263, -263, -263, 1435, 198, 1469, 199, -263, + -263, -263, 1231, -2, 1503, -263, -263, -263, 65, 67, + 1713, 1035, 1035, 1035, 1035, 2066, 2066, 2066, 2066, 2066, + 2066, 2066, 2066, 2066, 2066, 2066, 208, 71, 210, 78, + 212, 1537, 1035, -263, 1227, 1035, 1227, 1035, 1035, -16, + 63, 204, 209, 1571, 1313, 1357, 1401, 1035, -263, 1035, + -263, 1035, -263, 85, 223, 1605, -263, 2066, 211, 1639, + 244, -263, -263, -263, 213, 215, 1035, 217, 1035, 218, + 1035, 87, 106, 114, -263, 1227, 219, -10, 1227, 1035, + -263, -263, 229, -263, 230, -263, 231, -263, -263, -263, + -263, -263, 238, -263, 1673, 232, 235, 236, 1227, 1227, + -263, -263, -263, -263, -263 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 206, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 207, 208, 0, 0, - 0, 1, 4, 5, 6, 176, 0, 10, 11, 210, - 0, 0, 175, 205, 0, 0, 197, 0, 218, 217, - 199, 200, 201, 202, 203, 0, 178, 0, 0, 0, - 0, 0, 209, 211, 214, 216, 0, 90, 91, 92, - 129, 130, 131, 132, 159, 160, 133, 134, 135, 136, - 137, 138, 0, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 149, 150, 151, 152, 153, 154, - 155, 156, 0, 0, 0, 0, 208, 0, 0, 208, - 0, 0, 0, 178, 198, 180, 0, 177, 181, 158, - 157, 213, 215, 204, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 205, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 206, 207, 0, 0, + 0, 1, 4, 5, 6, 175, 0, 10, 11, 209, + 0, 0, 174, 204, 0, 0, 196, 0, 216, 215, + 198, 199, 200, 201, 202, 0, 177, 0, 0, 0, + 0, 0, 208, 212, 214, 0, 90, 91, 92, 129, + 130, 131, 132, 158, 159, 133, 134, 135, 136, 137, + 138, 0, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 0, 149, 150, 151, 152, 153, 154, 155, + 0, 0, 0, 0, 207, 0, 0, 207, 0, 0, + 0, 177, 197, 179, 0, 176, 180, 157, 156, 211, + 213, 203, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 185, 161, 162, - 208, 0, 178, 0, 17, 0, 19, 174, 0, 178, - 0, 0, 178, 0, 0, 187, 0, 180, 0, 173, - 0, 122, 123, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 124, 125, 126, 127, 128, 0, - 184, 0, 0, 177, 182, 0, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 184, 160, 161, 207, 0, + 177, 0, 17, 0, 19, 173, 0, 177, 0, 0, + 177, 0, 0, 186, 0, 179, 0, 172, 0, 122, + 123, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 124, 125, 126, 127, 128, 0, 183, 0, + 0, 176, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 44, 49, 0, 45, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 0, 0, 0, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 183, 0, - 163, 178, 51, 47, 0, 0, 71, 0, 0, 0, - 57, 0, 0, 0, 0, 0, 82, 83, 84, 86, - 0, 87, 178, 178, 0, 188, 189, 106, 108, 52, - 48, 60, 61, 62, 58, 59, 0, 0, 0, 0, - 107, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 178, 0, 167, 178, 0, - 0, 0, 110, 0, 50, 46, 66, 0, 0, 0, - 0, 54, 55, 56, 0, 0, 0, 81, 80, 85, - 0, 0, 0, 0, 0, 0, 0, 95, 101, 102, - 103, 104, 105, 96, 97, 98, 100, 99, 0, 0, - 0, 0, 0, 0, 178, 164, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 166, 178, 168, 178, 212, 0, 72, 0, 74, 93, - 0, 0, 0, 79, 88, 89, 0, 0, 178, 0, - 178, 0, 178, 0, 0, 0, 169, 0, 0, 57, - 0, 0, 63, 65, 177, 68, 177, 70, 177, 170, - 171, 172, 73, 75, 0, 77, 0, 0, 0, 0, - 0, 0, 64, 67, 69, 76, 78 + 53, 0, 0, 0, 44, 49, 0, 45, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 182, 0, 162, 177, + 51, 47, 0, 0, 71, 0, 0, 0, 57, 0, + 0, 0, 0, 0, 82, 83, 84, 86, 0, 87, + 177, 177, 0, 187, 188, 106, 108, 52, 48, 60, + 61, 62, 58, 59, 0, 0, 0, 0, 107, 109, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 177, 0, 166, 177, 0, 0, 0, + 110, 0, 50, 46, 66, 0, 0, 0, 0, 54, + 55, 56, 0, 0, 0, 81, 80, 85, 0, 0, + 0, 0, 0, 0, 0, 95, 101, 102, 103, 104, + 105, 96, 97, 98, 100, 99, 0, 0, 0, 0, + 0, 0, 177, 163, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 177, 165, 177, + 167, 177, 210, 0, 72, 0, 74, 93, 0, 0, + 0, 79, 88, 89, 0, 0, 177, 0, 177, 0, + 177, 0, 0, 0, 168, 0, 0, 57, 0, 0, + 63, 65, 176, 68, 176, 70, 176, 169, 170, 171, + 73, 75, 0, 77, 0, 0, 0, 0, 0, 0, + 64, 67, 69, 76, 78 }; const short parser::yypgoto_[] = { - -261, -261, -261, 260, 292, 293, -261, -261, -261, -132, - 96, -261, -261, -261, -91, -85, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, 190, - -261, -260, -254, -253, -261, -261, -261, -261, -261, -37, - -5, -67, -65, -261, -261, 412, -45, -261, 207, 244, - -261, -261, 256, -261, -261, -261, 261, 333, 338, 343, - -261, -261, 0, 9, -261, -11, -261, -261, -261, 132, - -261, -261 + -263, -263, -263, 283, 290, 292, -263, -263, -263, 205, + 117, -263, -263, -263, -86, -87, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, 188, + -263, -262, -261, -258, -263, -263, -263, -263, -263, -141, + -28, -57, -40, -263, -263, 262, -45, -263, -18, 156, + -263, -263, 239, -263, -263, -263, 248, 276, 321, 331, + -263, -263, 0, 9, -263, -11, -263, -263, 132, -263, + -263 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 206, - 207, 264, 208, 209, 210, 330, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 105, - 390, 234, 235, 236, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 31, 106, 183, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 204, + 205, 262, 206, 207, 208, 328, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 103, + 388, 232, 233, 234, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 31, 104, 181, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 138, 95, 139, 15, 30, - 331, 370, 18, 19, 21, 25, 332, 333, 27, 1, - 2, 3, 4, 5, 93, 32, 273, 260, 98, 94, - 142, 20, 158, 29, 96, 99, 29, 55, -208, 371, - 314, 26, 28, 97, 100, 158, 317, 108, 16, 6, - 365, 158, 6, 263, 373, 158, 374, 268, 107, 158, - 101, 158, 92, 380, 16, 6, -196, -196, 158, -196, - 16, 6, 140, -196, 382, 406, 185, 143, 142, 158, - 158, 141, -196, 113, 186, -196, -208, 187, 188, 144, - 189, 190, 191, 192, 147, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 6, 37, 237, 111, - 112, 419, 41, 42, 43, 44, 158, 145, 145, 202, - 203, 420, 421, -196, -196, -196, 158, 158, 204, 205, - 148, 149, 325, 131, 132, 133, 180, 150, 151, 152, - 238, 153, 154, 184, 142, 246, 158, 159, 237, 331, - 249, 181, 237, 252, 141, 332, 333, 129, 130, 131, - 132, 133, 16, 6, 261, 266, 267, 285, 285, 269, - 270, 237, -188, -188, 138, -188, 139, 271, 272, -188, - 238, 259, 276, 274, 238, 246, 277, 282, -188, 246, - 278, -188, 281, 283, 141, 284, 291, 328, 141, 286, - 286, 315, 292, 238, 246, 246, 293, 294, 246, 295, - 318, 321, 112, 141, 141, 369, 56, 141, 337, 343, - 138, 138, 139, 139, 338, 344, 345, 237, 346, -188, - -188, -188, 358, 285, 386, 102, 388, 360, 109, 110, - 362, 140, 407, 364, 34, 35, 367, 37, 379, 381, - 141, 383, 41, 42, 43, 44, 116, 117, 411, 238, - 203, 427, 394, 395, 246, 286, 428, 138, 22, 139, - 246, 335, 409, 141, 412, 422, 413, 415, 425, 141, - 417, 393, 129, 130, 131, 132, 133, 140, 140, 423, - 429, 430, 432, 157, 433, 434, 141, 141, 435, 436, - 23, 24, 16, 6, 290, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 424, 179, 275, 0, 0, 237, - 0, 237, 0, 0, 140, 0, 0, 0, 247, 0, - 0, 250, 0, 141, 253, 0, 254, 0, 256, 0, - 0, 0, 239, 414, 0, 416, 0, 418, 0, 0, - 0, 238, 0, 238, 0, 0, 246, 0, 246, 0, - 237, 392, 285, 237, 0, 141, 265, 141, 0, -189, - -189, 0, -189, 0, 0, 0, -189, 0, 280, 240, - 0, 0, 239, 237, 237, -189, 239, 0, -189, 0, - 0, 241, 238, 0, 286, 238, 242, 246, 0, 246, - 246, 239, 239, 0, 0, 239, 141, 0, 141, 141, - 0, 0, 0, 0, 0, 238, 238, 0, 0, 240, - 246, 246, 0, 240, 0, 0, -189, -189, -189, 141, - 141, 241, 0, 0, 0, 241, 242, 322, 240, 240, - 242, 0, 240, 0, 0, 0, 0, 327, 0, 329, - 287, 288, 336, 0, 241, 242, 242, 0, 0, 242, - 0, 239, 0, 0, 342, 0, 0, 239, 243, 0, - 0, 0, 0, 244, 0, 0, 0, 0, 245, 0, - 0, 0, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 0, 0, 0, 0, 0, 240, 0, - 363, 0, 0, 0, 240, 0, 0, 0, 243, 0, - 241, 0, 243, 244, 0, 242, 334, 244, 245, 0, - 0, 242, 245, 375, 376, 377, 378, 243, 243, 0, - 0, 243, 244, 244, 0, 0, 244, 245, 245, 0, - 0, 245, 0, 0, 182, 0, 0, 387, 0, 389, - 391, 248, -190, -190, 251, -190, 0, 0, 0, -190, - 0, 0, 0, 239, 0, 239, 0, 0, -190, 0, - 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, - 0, 426, 244, 243, 0, 0, 0, 245, 244, 0, - 240, 0, 240, 245, 239, 0, 239, 239, 0, -190, - -190, -190, 241, 0, 241, 34, 35, 242, 37, 242, - 0, 0, 0, 41, 42, 43, 44, 239, 239, -191, - -191, 203, -191, 0, 0, 0, -191, 0, 0, 204, - 205, 240, 0, 240, 240, -191, 0, 0, -191, 0, - 0, 0, 0, 241, 0, 334, 241, 0, 242, 0, - 242, 242, 0, 323, 240, 240, 0, 0, 0, 0, - 0, 0, 0, 16, 6, 0, 241, 241, 0, 0, - 0, 242, 242, 0, 340, 341, -191, -191, -191, 243, - 0, 243, 34, 35, 244, 37, 244, 0, 0, 245, - 0, 245, 0, 34, 35, 0, 37, 0, 135, 0, - 134, 136, 0, 0, 0, 0, 0, 359, 0, 135, - 361, 0, 136, 0, 0, 0, 0, 0, 0, 0, - 243, 0, 243, 243, 0, 244, 0, 244, 244, 0, - 245, 0, 245, 245, 0, 0, 0, 0, 0, 137, - 16, 6, 0, 243, 243, 0, 0, 0, 244, 244, - 137, 16, 6, 245, 245, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, - 0, 403, 0, 404, 186, 405, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 33, 0, - 0, 0, 41, 42, 43, 44, 0, 0, 145, 289, - 203, 0, 0, 0, 0, 0, 0, 0, 204, 205, - 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 103, 104, 0, - 0, 47, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 16, 6, 0, 0, 0, 48, 49, -192, - -192, 0, -192, 33, 0, 0, -192, 0, 129, 130, - 131, 132, 133, 0, 50, -192, 0, 51, -192, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, + 15, 105, 235, 17, 17, 144, 329, 330, 15, 30, + 331, 21, 18, 19, 136, 1, 2, 3, 4, 5, + 27, 93, 114, 115, 96, 32, 271, 368, 20, 34, + 35, 137, 37, 29, 94, 97, 54, 41, 42, 43, + 44, 28, 235, 95, 98, 201, 235, 106, 127, 128, + 129, 130, 131, 202, 203, 369, 105, 25, 129, 130, + 131, 283, 283, 16, 6, 235, 16, 6, 140, 109, + 110, 138, 29, 91, -195, -195, -207, -195, 92, 258, + 139, -195, 6, 26, 156, 90, 140, 16, 6, 99, + -195, 111, 145, -195, -207, 34, 35, 141, 37, 16, + 6, 142, 6, 41, 42, 43, 44, 312, 146, 315, + 147, 201, 156, 363, 156, 236, 143, 371, 156, 372, + 150, 235, 156, 378, 156, 237, 140, 283, 156, 148, + 380, -195, -195, -195, 178, 156, 149, 404, 151, 417, + 156, 182, 156, 244, 156, 329, 330, 152, 247, 331, + 157, 250, 139, 16, 6, 236, 179, 264, 418, 236, + 259, -187, -187, 156, -187, 237, 419, 265, -187, 237, + 267, 156, 268, 274, 284, 284, 269, -187, 236, 257, + -187, 272, 136, 244, 237, 237, 270, 244, 237, 275, + 276, 279, 139, 280, -188, -188, 139, -188, 281, 137, + 282, -188, 244, 244, 289, 290, 244, 291, 313, 292, + -188, 139, 139, -188, 55, 139, 316, 319, -187, -187, + -187, 293, 326, 235, 335, 235, 110, 336, 136, 136, + 341, 342, 343, 100, 236, 344, 107, 108, 356, 138, + 284, 358, 360, 362, 237, 137, 137, 405, 139, 365, + 237, -188, -188, -188, 127, 128, 129, 130, 131, 377, + 367, 379, 244, 381, 235, 392, 283, 235, 244, 333, + 393, 139, 407, 409, 410, 136, 411, 139, 413, 415, + 421, 425, 426, 427, 391, 138, 138, 235, 235, 155, + 428, 22, 137, 430, 139, 139, 431, 432, 23, 238, + 24, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 422, 177, 0, 288, 273, 0, 0, 0, 0, 0, + 0, 0, 138, 0, 245, 0, 236, 248, 236, 238, + 251, 139, 252, 238, 254, 0, 237, 0, 237, 0, + 0, 412, 0, 414, 0, 416, 0, 0, 238, 238, + 0, 0, 238, 0, 244, 0, 244, 0, 0, 390, + 0, 0, 263, 139, 0, 139, 0, 236, 0, 284, + 236, 0, 239, 0, 278, 0, 0, 237, 261, 237, + 237, 240, 266, 0, 0, 0, 0, 0, 0, 0, + 236, 236, 180, 0, 0, 244, 0, 244, 244, 246, + 237, 237, 249, 0, 139, 0, 139, 139, 238, 241, + 0, 0, 239, 0, 238, 0, 239, 0, 244, 244, + 0, 240, 0, 0, 0, 240, 0, 139, 139, 0, + 0, 285, 286, 320, 0, 239, 0, 0, 0, 0, + 240, 240, 0, 325, 240, 327, 0, 0, 334, 241, + 0, 0, 0, 241, 242, 0, 0, 323, 0, 0, + 340, 0, 0, 0, 243, 0, 0, 0, 241, 241, + 0, 0, 241, 0, 0, 0, 0, 0, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 0, + 0, 239, 0, 0, 242, 0, 361, 332, 242, 0, + 240, 0, 0, 0, 243, 0, 240, 0, 243, 0, + 238, 321, 238, 242, 242, 0, 0, 242, 0, 373, + 374, 375, 376, 243, 243, 0, 0, 243, 241, 0, + 0, 0, 338, 339, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 387, 389, 0, 0, 0, + 0, 238, 0, 238, 238, 0, 0, 0, 0, 384, + 0, 386, 0, 0, 0, 357, 0, 0, 359, -189, + -189, 0, -189, 242, 238, 238, -189, 0, 0, 242, + 0, 0, 0, 243, 0, -189, 0, 424, -189, 243, + 0, -190, -190, 239, -190, 239, 0, 0, -190, 0, + 420, 0, 240, 423, 240, 0, 0, -190, 0, 0, + -190, 0, 114, 115, 383, 0, 118, 119, 120, 121, + 122, 123, 0, 433, 434, 0, -189, -189, -189, 401, + 241, 402, 241, 403, 239, 0, 332, 239, 127, 128, + 129, 130, 131, 240, 0, 240, 240, 0, -190, -190, + -190, 0, 0, 34, 35, 0, 37, 239, 239, 0, + 132, 0, 0, 0, 0, 0, 240, 240, 0, 133, + 0, 241, 134, 241, 241, 242, 0, 242, 0, 0, + 0, 0, 0, 0, 0, 243, 0, 243, 0, -191, + -191, 0, -191, 0, 241, 241, -191, 0, 0, 0, + 0, 0, 0, 0, 0, -191, 0, 0, -191, 0, + 135, 16, 6, 0, 0, 0, 242, 0, 242, 242, + 0, 0, 0, 0, 0, 0, 243, 0, 243, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 242, 0, 0, 183, 0, 0, -191, -191, -191, 243, + 243, 184, 0, 0, 185, 186, 0, 187, 188, 189, + 190, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 34, 35, 0, 37, 0, 0, 0, 0, 41, + 42, 43, 44, 0, 0, 143, 200, 201, 0, 183, + 0, 0, 0, 0, 0, 202, 203, 184, 0, 0, + 185, 186, 0, 187, 188, 189, 190, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 34, 35, 0, + 37, 0, 0, 0, 0, 41, 42, 43, 44, 16, + 6, 143, 287, 201, 0, 0, 260, 0, 0, 0, + 0, 202, 203, 184, 0, 0, 185, 186, 0, 187, + 188, 189, 190, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 34, 35, 0, 37, 0, 0, 0, + 0, 41, 42, 43, 44, 16, 6, 143, 0, 201, + 0, 0, 322, 0, 0, 0, 0, 202, 203, 184, + 0, 0, 185, 186, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 34, + 35, 0, 37, 33, 0, 0, 0, 41, 42, 43, + 44, 16, 6, 143, 0, 201, 0, 0, 0, 0, + 0, 0, 0, 202, 203, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 46, 0, 0, 0, 47, 0, 279, 0, - 0, 0, 0, 0, 0, 0, -192, -192, -192, 0, - 0, 0, 48, 49, -193, -193, 0, -193, 33, 0, - 0, -193, 0, 0, 0, 0, 0, 0, 0, 50, - -193, 0, 51, -193, 16, 6, 29, 52, 53, 54, - 55, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -193, -193, -193, 0, 0, 0, 48, 49, -194, - -194, 0, -194, 33, 0, 0, -194, 0, 0, 0, - 0, 0, 0, 0, 50, -194, 0, 51, -194, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, - 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 103, 0, 116, 117, 47, 119, 120, 121, - 122, 123, 124, 125, 0, 0, -194, -194, -194, 0, - 0, 0, 48, 49, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 0, 0, 50, + 0, 0, 101, 102, 0, 0, 47, 0, 0, 0, + 34, 35, 0, 37, 0, 0, 0, 16, 6, 0, + 0, 0, 48, 49, 0, 0, 133, 33, 0, 134, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, 53, 54, - 55, 262, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 187, 188, 0, 189, 190, 191, 192, 0, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 34, 35, - 0, 37, 0, 0, 0, 0, 41, 42, 43, 44, - 0, 0, 145, 0, 203, 0, 0, 324, 0, 0, - 0, 0, 204, 205, 186, 0, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 0, 0, - 0, 0, 41, 42, 43, 44, 16, 6, 145, 0, - 203, 0, 0, 296, 297, 0, 298, 299, 204, 205, - 0, 0, 0, 0, 0, 0, 0, -195, -195, 0, - -195, 0, 0, 0, -195, 34, 35, 0, 37, 0, - 0, 116, 117, -195, 0, 0, -195, 122, 123, 124, - 125, 135, 16, 6, 136, 0, 0, 0, 0, 300, - 301, 0, 0, 0, 0, 0, 0, 129, 130, 131, - 132, 133, 0, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, -195, -195, -195, 0, 0, 0, - 0, 0, 137, 16, 6, 186, 0, 0, 187, 188, - 0, 189, 190, 191, 192, 0, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 34, 35, 0, 37, 34, - 35, 0, 37, 41, 42, 43, 44, 0, 0, 145, - 0, 203, 0, 0, 0, 135, 0, 0, 136, 204, - 205, 0, 0, 300, 301, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, - 155, 0, 0, 16, 6, 156, 137, 16, 6, 0, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 397, 0, 0, 0, 0, 398, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, + 43, 44, 45, 0, 0, 0, 46, 135, 16, 6, + 47, 0, 277, 0, -192, -192, 0, -192, 0, 0, + 0, -192, -193, -193, 0, -193, 48, 49, 0, -193, + -192, 33, 0, -192, 0, 0, 0, 0, -193, 0, + 0, -193, 0, 50, 0, 0, 51, 0, 16, 6, + 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, + 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, + 46, -192, -192, -192, 47, 0, 0, 0, 0, -193, + -193, -193, -194, -194, 0, -194, 0, 0, 0, -194, + 48, 49, 0, 0, 0, 33, 0, 0, -194, 0, + 0, -194, 0, 0, 0, 0, 0, 50, 0, 0, + 51, 0, 16, 6, 29, 52, 53, 54, 34, 35, + 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, + 45, 0, 0, 0, 101, 0, 0, 0, 47, -194, + -194, -194, 0, 0, 294, 295, 0, 296, 297, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 0, 37, + 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, + 53, 54, 133, 0, 0, 134, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 16, 6, 184, 0, 0, 185, + 186, 0, 187, 188, 189, 190, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 34, 35, 0, 37, + 34, 35, 0, 37, 41, 42, 43, 44, 0, 0, + 143, 0, 201, 0, 0, 0, 133, 0, 0, 134, + 202, 203, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, + 0, 153, 0, 0, 16, 6, 154, 135, 16, 6, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 395, 0, 0, 0, 0, + 396, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 399, 0, - 0, 0, 0, 400, 0, 0, 0, 0, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 401, 0, 0, 0, 0, 402, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 366, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 397, + 0, 0, 0, 0, 398, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 399, 0, 0, 0, 0, 400, 0, + 0, 0, 0, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 364, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 368, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 372, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 408, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 366, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 370, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 394, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 406, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 410, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 431, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 408, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 429, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 255, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 253, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 258, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 256, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 313, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 311, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 316, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 314, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 319, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 317, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 320, 0, - 0, 0, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 257, 0, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 114, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 318, + 0, 0, 0, 0, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 326, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 339, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 0, 129, 130, - 131, 132, 133 + 124, 125, 126, 127, 128, 129, 130, 131, 255, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 112, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 324, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 337, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 113, 0, + 0, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 0, 0, 124, 125, 126, 127, 128, 129, + 130, 131, 114, 115, 0, 117, 118, 119, 120, 121, + 122, 123, 114, 115, 0, 0, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 125, 126, 127, + 128, 129, 130, 131, 0, 0, 0, 125, 0, 127, + 128, 129, 130, 131, 114, 115, 0, 0, 0, 0, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 128, 129, 130, 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 72, 55, 72, 8, 20, - 270, 29, 3, 4, 0, 51, 270, 270, 61, 11, - 12, 13, 14, 15, 52, 25, 92, 52, 55, 57, - 51, 51, 57, 99, 34, 35, 99, 103, 59, 57, - 52, 77, 61, 34, 35, 57, 52, 47, 97, 98, - 52, 57, 98, 185, 52, 57, 52, 189, 103, 57, - 55, 57, 52, 52, 97, 98, 39, 40, 57, 42, - 97, 98, 72, 46, 52, 52, 11, 59, 51, 57, - 57, 72, 55, 98, 19, 58, 59, 22, 23, 61, - 25, 26, 27, 28, 94, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 98, 42, 145, 102, - 103, 52, 47, 48, 49, 50, 57, 53, 53, 54, - 55, 52, 52, 96, 97, 98, 57, 57, 63, 64, - 55, 51, 264, 93, 94, 95, 136, 59, 55, 51, - 145, 59, 55, 143, 51, 145, 57, 56, 185, 409, - 150, 59, 189, 153, 145, 409, 409, 91, 92, 93, - 94, 95, 97, 98, 51, 61, 51, 204, 205, 51, - 51, 208, 39, 40, 241, 42, 241, 51, 51, 46, - 185, 181, 60, 194, 189, 185, 61, 51, 55, 189, - 61, 58, 61, 51, 185, 55, 61, 26, 189, 204, - 205, 51, 61, 208, 204, 205, 61, 61, 208, 61, - 51, 56, 103, 204, 205, 61, 26, 208, 60, 51, - 287, 288, 287, 288, 60, 51, 51, 264, 51, 96, - 97, 98, 56, 270, 366, 45, 368, 56, 48, 49, - 56, 241, 24, 51, 39, 40, 51, 42, 51, 51, - 241, 51, 47, 48, 49, 50, 65, 66, 29, 264, - 55, 52, 61, 61, 264, 270, 52, 334, 8, 334, - 270, 271, 61, 264, 61, 407, 61, 61, 410, 270, - 61, 372, 91, 92, 93, 94, 95, 287, 288, 61, - 52, 52, 61, 103, 61, 61, 287, 288, 430, 431, - 8, 8, 97, 98, 208, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 409, 135, 194, -1, -1, 366, - -1, 368, -1, -1, 334, -1, -1, -1, 148, -1, - -1, 151, -1, 334, 154, -1, 156, -1, 158, -1, - -1, -1, 145, 398, -1, 400, -1, 402, -1, -1, - -1, 366, -1, 368, -1, -1, 366, -1, 368, -1, - 407, 371, 409, 410, -1, 366, 186, 368, -1, 39, - 40, -1, 42, -1, -1, -1, 46, -1, 198, 145, - -1, -1, 185, 430, 431, 55, 189, -1, 58, -1, - -1, 145, 407, -1, 409, 410, 145, 407, -1, 409, - 410, 204, 205, -1, -1, 208, 407, -1, 409, 410, - -1, -1, -1, -1, -1, 430, 431, -1, -1, 185, - 430, 431, -1, 189, -1, -1, 96, 97, 98, 430, - 431, 185, -1, -1, -1, 189, 185, 257, 204, 205, - 189, -1, 208, -1, -1, -1, -1, 267, -1, 269, - 204, 205, 272, -1, 208, 204, 205, -1, -1, 208, - -1, 264, -1, -1, 284, -1, -1, 270, 145, -1, - -1, -1, -1, 145, -1, -1, -1, -1, 145, -1, - -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, -1, -1, -1, -1, -1, 264, -1, - 320, -1, -1, -1, 270, -1, -1, -1, 185, -1, - 264, -1, 189, 185, -1, 264, 270, 189, 185, -1, - -1, 270, 189, 343, 344, 345, 346, 204, 205, -1, - -1, 208, 204, 205, -1, -1, 208, 204, 205, -1, - -1, 208, -1, -1, 142, -1, -1, 367, -1, 369, - 370, 149, 39, 40, 152, 42, -1, -1, -1, 46, - -1, -1, -1, 366, -1, 368, -1, -1, 55, -1, - -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, - -1, 411, 264, 270, -1, -1, -1, 264, 270, -1, - 366, -1, 368, 270, 407, -1, 409, 410, -1, 96, - 97, 98, 366, -1, 368, 39, 40, 366, 42, 368, - -1, -1, -1, 47, 48, 49, 50, 430, 431, 39, - 40, 55, 42, -1, -1, -1, 46, -1, -1, 63, - 64, 407, -1, 409, 410, 55, -1, -1, 58, -1, - -1, -1, -1, 407, -1, 409, 410, -1, 407, -1, - 409, 410, -1, 261, 430, 431, -1, -1, -1, -1, - -1, -1, -1, 97, 98, -1, 430, 431, -1, -1, - -1, 430, 431, -1, 282, 283, 96, 97, 98, 366, - -1, 368, 39, 40, 366, 42, 368, -1, -1, 366, - -1, 368, -1, 39, 40, -1, 42, -1, 55, -1, - 46, 58, -1, -1, -1, -1, -1, 315, -1, 55, - 318, -1, 58, -1, -1, -1, -1, -1, -1, -1, - 407, -1, 409, 410, -1, 407, -1, 409, 410, -1, - 407, -1, 409, 410, -1, -1, -1, -1, -1, 96, - 97, 98, -1, 430, 431, -1, -1, -1, 430, 431, - 96, 97, 98, 430, 431, -1, 364, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, - -1, 379, -1, 381, 19, 383, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, 16, -1, - -1, -1, 47, 48, 49, 50, -1, -1, 53, 54, - 55, -1, -1, -1, -1, -1, -1, -1, 63, 64, - -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, - -1, 59, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, 91, 92, - 93, 94, 95, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, + 0, 46, 143, 3, 4, 91, 268, 268, 8, 20, + 268, 0, 3, 4, 71, 11, 12, 13, 14, 15, + 61, 55, 65, 66, 55, 25, 92, 29, 51, 39, + 40, 71, 42, 99, 34, 35, 102, 47, 48, 49, + 50, 61, 183, 34, 35, 55, 187, 47, 91, 92, + 93, 94, 95, 63, 64, 57, 101, 51, 93, 94, + 95, 202, 203, 97, 98, 206, 97, 98, 51, 101, + 102, 71, 99, 52, 39, 40, 59, 42, 57, 52, + 71, 46, 98, 77, 57, 52, 51, 97, 98, 55, + 55, 98, 92, 58, 59, 39, 40, 59, 42, 97, + 98, 61, 98, 47, 48, 49, 50, 52, 55, 52, + 51, 55, 57, 52, 57, 143, 53, 52, 57, 52, + 51, 262, 57, 52, 57, 143, 51, 268, 57, 59, + 52, 96, 97, 98, 134, 57, 55, 52, 59, 52, + 57, 141, 57, 143, 57, 407, 407, 55, 148, 407, + 56, 151, 143, 97, 98, 183, 59, 61, 52, 187, + 51, 39, 40, 57, 42, 183, 52, 51, 46, 187, + 51, 57, 51, 60, 202, 203, 51, 55, 206, 179, + 58, 192, 239, 183, 202, 203, 51, 187, 206, 61, + 61, 61, 183, 51, 39, 40, 187, 42, 51, 239, + 55, 46, 202, 203, 61, 61, 206, 61, 51, 61, + 55, 202, 203, 58, 26, 206, 51, 56, 96, 97, + 98, 61, 26, 364, 60, 366, 102, 60, 285, 286, + 51, 51, 51, 45, 262, 51, 48, 49, 56, 239, + 268, 56, 56, 51, 262, 285, 286, 24, 239, 51, + 268, 96, 97, 98, 91, 92, 93, 94, 95, 51, + 61, 51, 262, 51, 405, 61, 407, 408, 268, 269, + 61, 262, 61, 29, 61, 332, 61, 268, 61, 61, + 61, 52, 52, 52, 370, 285, 286, 428, 429, 101, + 52, 8, 332, 61, 285, 286, 61, 61, 8, 143, + 8, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 407, 133, -1, 206, 192, -1, -1, -1, -1, -1, + -1, -1, 332, -1, 146, -1, 364, 149, 366, 183, + 152, 332, 154, 187, 156, -1, 364, -1, 366, -1, + -1, 396, -1, 398, -1, 400, -1, -1, 202, 203, + -1, -1, 206, -1, 364, -1, 366, -1, -1, 369, + -1, -1, 184, 364, -1, 366, -1, 405, -1, 407, + 408, -1, 143, -1, 196, -1, -1, 405, 183, 407, + 408, 143, 187, -1, -1, -1, -1, -1, -1, -1, + 428, 429, 140, -1, -1, 405, -1, 407, 408, 147, + 428, 429, 150, -1, 405, -1, 407, 408, 262, 143, + -1, -1, 183, -1, 268, -1, 187, -1, 428, 429, + -1, 183, -1, -1, -1, 187, -1, 428, 429, -1, + -1, 202, 203, 255, -1, 206, -1, -1, -1, -1, + 202, 203, -1, 265, 206, 267, -1, -1, 270, 183, + -1, -1, -1, 187, 143, -1, -1, 262, -1, -1, + 282, -1, -1, -1, 143, -1, -1, -1, 202, 203, + -1, -1, 206, -1, -1, -1, -1, -1, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, -1, + -1, 262, -1, -1, 183, -1, 318, 268, 187, -1, + 262, -1, -1, -1, 183, -1, 268, -1, 187, -1, + 364, 259, 366, 202, 203, -1, -1, 206, -1, 341, + 342, 343, 344, 202, 203, -1, -1, 206, 262, -1, + -1, -1, 280, 281, 268, -1, -1, -1, -1, -1, + -1, -1, -1, 365, -1, 367, 368, -1, -1, -1, + -1, 405, -1, 407, 408, -1, -1, -1, -1, 364, + -1, 366, -1, -1, -1, 313, -1, -1, 316, 39, + 40, -1, 42, 262, 428, 429, 46, -1, -1, 268, + -1, -1, -1, 262, -1, 55, -1, 409, 58, 268, + -1, 39, 40, 364, 42, 366, -1, -1, 46, -1, + 405, -1, 364, 408, 366, -1, -1, 55, -1, -1, + 58, -1, 65, 66, 362, -1, 69, 70, 71, 72, + 73, 74, -1, 428, 429, -1, 96, 97, 98, 377, + 364, 379, 366, 381, 405, -1, 407, 408, 91, 92, + 93, 94, 95, 405, -1, 407, 408, -1, 96, 97, + 98, -1, -1, 39, 40, -1, 42, 428, 429, -1, + 46, -1, -1, -1, -1, -1, 428, 429, -1, 55, + -1, 405, 58, 407, 408, 364, -1, 366, -1, -1, + -1, -1, -1, -1, -1, 364, -1, 366, -1, 39, + 40, -1, 42, -1, 428, 429, 46, -1, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, 58, -1, + 96, 97, 98, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, + 429, -1, -1, 11, -1, -1, 96, 97, 98, 428, + 429, 19, -1, -1, 22, 23, -1, 25, 26, 27, + 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, -1, 42, -1, -1, -1, -1, 47, + 48, 49, 50, -1, -1, 53, 54, 55, -1, 11, + -1, -1, -1, -1, -1, 63, 64, 19, -1, -1, + 22, 23, -1, 25, 26, 27, 28, -1, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, + 42, -1, -1, -1, -1, 47, 48, 49, 50, 97, + 98, 53, 54, 55, -1, -1, 12, -1, -1, -1, + -1, 63, 64, 19, -1, -1, 22, 23, -1, 25, + 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, -1, 42, -1, -1, -1, + -1, 47, 48, 49, 50, 97, 98, 53, -1, 55, + -1, -1, 12, -1, -1, -1, -1, 63, 64, 19, + -1, -1, 22, 23, -1, 25, 26, 27, 28, -1, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, -1, 42, 16, -1, -1, -1, 47, 48, 49, + 50, 97, 98, 53, -1, 55, -1, -1, -1, -1, + -1, -1, -1, 63, 64, -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, -1, -1, 59, -1, 61, -1, - -1, -1, -1, -1, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, 39, 40, -1, 42, 16, -1, - -1, 46, -1, -1, -1, -1, -1, -1, -1, 92, - 55, -1, 95, 58, 97, 98, 99, 100, 101, 102, - 103, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, -1, -1, - -1, -1, -1, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, - 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, 65, 66, 59, 68, 69, 70, - 71, 72, 73, 74, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, -1, -1, -1, 88, 89, 90, - 91, 92, 93, 94, 95, -1, -1, -1, -1, 92, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + 39, 40, -1, 42, -1, -1, -1, 97, 98, -1, + -1, -1, 75, 76, -1, -1, 55, 16, -1, 58, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, 101, 102, - 103, 12, -1, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, -1, 25, 26, 27, 28, -1, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - -1, 42, -1, -1, -1, -1, 47, 48, 49, 50, - -1, -1, 53, -1, 55, -1, -1, 12, -1, -1, - -1, -1, 63, 64, 19, -1, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, -1, -1, - -1, -1, 47, 48, 49, 50, 97, 98, 53, -1, - 55, -1, -1, 17, 18, -1, 20, 21, 63, 64, - -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, - 42, -1, -1, -1, 46, 39, 40, -1, 42, -1, - -1, 65, 66, 55, -1, -1, 58, 71, 72, 73, - 74, 55, 97, 98, 58, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, 91, 92, 93, - 94, 95, -1, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 96, 97, 98, -1, -1, -1, - -1, -1, 96, 97, 98, 19, -1, -1, 22, 23, - -1, 25, 26, 27, 28, -1, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, -1, 42, 39, - 40, -1, 42, 47, 48, 49, 50, -1, -1, 53, - -1, 55, -1, -1, -1, 55, -1, -1, 58, 63, - 64, -1, -1, 63, 64, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, - 52, -1, -1, 97, 98, 57, 96, 97, 98, -1, + 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, + 49, 50, 51, -1, -1, -1, 55, 96, 97, 98, + 59, -1, 61, -1, 39, 40, -1, 42, -1, -1, + -1, 46, 39, 40, -1, 42, 75, 76, -1, 46, + 55, 16, -1, 58, -1, -1, -1, -1, 55, -1, + -1, 58, -1, 92, -1, -1, 95, -1, 97, 98, + 99, 100, 101, 102, 39, 40, 41, 42, 43, 44, + 45, -1, 47, 48, 49, 50, 51, -1, -1, -1, + 55, 96, 97, 98, 59, -1, -1, -1, -1, 96, + 97, 98, 39, 40, -1, 42, -1, -1, -1, 46, + 75, 76, -1, -1, -1, 16, -1, -1, 55, -1, + -1, 58, -1, -1, -1, -1, -1, 92, -1, -1, + 95, -1, 97, 98, 99, 100, 101, 102, 39, 40, + 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, + 51, -1, -1, -1, 55, -1, -1, -1, 59, 96, + 97, 98, -1, -1, 17, 18, -1, 20, 21, -1, + -1, -1, -1, -1, 75, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 39, 40, -1, 42, + -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, + 101, 102, 55, -1, -1, 58, -1, -1, -1, -1, + 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 98, 19, -1, -1, 22, + 23, -1, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, -1, 42, + 39, 40, -1, 42, 47, 48, 49, 50, -1, -1, + 53, -1, 55, -1, -1, -1, 55, -1, -1, 58, + 63, 64, -1, -1, 63, 64, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, + -1, 52, -1, -1, 97, 98, 57, 96, 97, 98, + -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 52, -1, -1, -1, -1, + 57, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 52, + -1, -1, -1, -1, 57, -1, -1, -1, -1, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 52, -1, -1, -1, -1, 57, -1, + -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 52, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 57, + -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 88, 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 52, -1, -1, -1, -1, 57, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 52, -1, - -1, -1, -1, 57, -1, -1, -1, -1, 62, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 61, + 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 74, 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 52, -1, -1, -1, -1, 57, -1, -1, - -1, -1, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 94, 95, 65, 66, -1, 68, 69, 70, 71, 72, + 73, 74, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, -1, -1, -1, 89, -1, 91, + 92, 93, 94, 95, 65, 66, -1, -1, -1, -1, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 52, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 57, -1, - -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 61, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, 93, 94, - 95, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, -1, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 89, -1, 91, 92, - 93, 94, 95 + 91, 92, 93, 94, 95 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 98, 114, 115, 116, - 117, 118, 119, 120, 121, 185, 97, 185, 186, 186, - 51, 0, 116, 117, 118, 51, 77, 61, 61, 99, - 188, 167, 185, 16, 39, 40, 41, 42, 43, 44, + 0, 11, 12, 13, 14, 15, 98, 113, 114, 115, + 116, 117, 118, 119, 120, 184, 97, 184, 185, 185, + 51, 0, 115, 116, 117, 51, 77, 61, 61, 99, + 187, 166, 184, 16, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 55, 59, 75, 76, - 92, 95, 100, 101, 102, 103, 152, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 170, 171, 172, + 92, 95, 100, 101, 102, 151, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 52, 52, 57, 55, 185, 186, 55, 185, - 186, 55, 152, 55, 56, 152, 168, 169, 185, 152, - 152, 102, 103, 98, 61, 62, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 88, 89, 90, 91, - 92, 93, 94, 95, 46, 55, 58, 96, 164, 165, - 185, 186, 51, 59, 61, 53, 127, 185, 55, 51, - 59, 55, 51, 59, 55, 52, 57, 152, 57, 56, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 185, 59, 168, 169, 185, 11, 19, 22, 23, 25, - 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 54, 55, 63, 64, 122, 123, 125, 126, - 127, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 154, 155, 156, 162, 163, 171, - 172, 175, 179, 180, 181, 182, 185, 152, 168, 185, - 152, 168, 185, 152, 152, 56, 152, 60, 56, 185, - 52, 51, 12, 122, 124, 152, 61, 51, 122, 51, - 51, 51, 51, 92, 188, 192, 60, 61, 61, 61, - 152, 61, 51, 51, 55, 162, 163, 175, 175, 54, - 123, 61, 61, 61, 61, 61, 17, 18, 20, 21, - 63, 64, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 56, 52, 51, 56, 52, 51, 56, - 57, 56, 152, 168, 12, 122, 61, 152, 26, 152, - 128, 154, 155, 156, 175, 185, 152, 60, 60, 61, - 168, 168, 152, 51, 51, 51, 51, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 56, 168, - 56, 168, 56, 152, 51, 52, 52, 51, 52, 61, - 29, 57, 52, 52, 52, 152, 152, 152, 152, 51, - 52, 51, 52, 51, 52, 168, 122, 152, 122, 152, - 153, 152, 185, 127, 61, 61, 52, 52, 57, 52, - 57, 52, 57, 168, 168, 168, 52, 24, 52, 61, - 52, 29, 61, 61, 169, 61, 169, 61, 169, 52, - 52, 52, 122, 61, 128, 122, 152, 52, 52, 52, - 52, 52, 61, 61, 61, 122, 122 + 52, 52, 57, 55, 184, 185, 55, 184, 185, 55, + 151, 55, 56, 151, 167, 168, 184, 151, 151, 101, + 102, 98, 61, 62, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 88, 89, 90, 91, 92, 93, + 94, 95, 46, 55, 58, 96, 163, 164, 184, 185, + 51, 59, 61, 53, 126, 184, 55, 51, 59, 55, + 51, 59, 55, 52, 57, 151, 57, 56, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 184, 59, + 167, 168, 184, 11, 19, 22, 23, 25, 26, 27, + 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 54, 55, 63, 64, 121, 122, 124, 125, 126, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 153, 154, 155, 161, 162, 170, 171, 174, + 178, 179, 180, 181, 184, 151, 167, 184, 151, 167, + 184, 151, 151, 56, 151, 60, 56, 184, 52, 51, + 12, 121, 123, 151, 61, 51, 121, 51, 51, 51, + 51, 92, 187, 190, 60, 61, 61, 61, 151, 61, + 51, 51, 55, 161, 162, 174, 174, 54, 122, 61, + 61, 61, 61, 61, 17, 18, 20, 21, 63, 64, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 56, 52, 51, 56, 52, 51, 56, 57, 56, + 151, 167, 12, 121, 61, 151, 26, 151, 127, 153, + 154, 155, 174, 184, 151, 60, 60, 61, 167, 167, + 151, 51, 51, 51, 51, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 56, 167, 56, 167, + 56, 151, 51, 52, 52, 51, 52, 61, 29, 57, + 52, 52, 52, 151, 151, 151, 151, 51, 52, 51, + 52, 51, 52, 167, 121, 151, 121, 151, 152, 151, + 184, 126, 61, 61, 52, 52, 57, 52, 57, 52, + 57, 167, 167, 167, 52, 24, 52, 61, 52, 29, + 61, 61, 168, 61, 168, 61, 168, 52, 52, 52, + 121, 61, 127, 121, 151, 52, 52, 52, 52, 52, + 61, 61, 61, 121, 121 }; const unsigned char parser::yyr1_[] = { - 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, - 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 123, 123, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 128, 128, 128, 129, 129, - 130, 130, 130, 131, 132, 132, 133, 134, 134, 135, - 135, 136, 137, 138, 139, 140, 141, 142, 142, 143, - 144, 144, 145, 146, 147, 148, 148, 149, 150, 151, - 152, 152, 152, 153, 153, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 155, 155, 156, 156, - 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 160, 161, 162, - 162, 163, 163, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 166, 167, 167, 167, 168, 168, 169, - 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 186, 187, - 188, 189, 190, 191, 191, 192, 192, 193, 194 + 0, 112, 113, 113, 114, 114, 114, 114, 114, 114, + 115, 116, 117, 117, 117, 117, 117, 118, 119, 120, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 122, 122, 123, 123, 124, 124, + 125, 125, 126, 126, 127, 127, 127, 127, 128, 128, + 129, 129, 129, 130, 131, 131, 132, 133, 133, 134, + 134, 135, 136, 137, 138, 139, 140, 141, 141, 142, + 143, 143, 144, 145, 146, 147, 147, 148, 149, 150, + 151, 151, 151, 152, 152, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 154, 154, 155, 155, + 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 159, 160, 161, 161, + 162, 162, 163, 163, 163, 163, 163, 163, 164, 164, + 164, 164, 165, 166, 166, 166, 167, 167, 168, 168, + 169, 169, 170, 171, 171, 172, 173, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 185, 186, 187, + 188, 189, 189, 190, 190, 191, 192 }; const signed char @@ -4460,13 +4425,13 @@ namespace xsk { namespace gsc { namespace iw5 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, 2, 1, - 1, 2, 2, 4, 6, 5, 7, 5, 7, 8, - 9, 9, 9, 3, 3, 1, 0, 1, 0, 3, - 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 7, 2, 1, 2, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, + 2, 2, 4, 6, 5, 7, 5, 7, 8, 9, + 9, 9, 3, 3, 1, 0, 1, 0, 3, 1, + 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 7, 2, 1, 2, 1, 1, 1 }; @@ -4476,28 +4441,28 @@ namespace xsk { namespace gsc { namespace iw5 { const short parser::yyrline_[] = { - 0, 254, 254, 255, 259, 261, 263, 265, 267, 269, - 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 333, 334, 338, 340, 345, 347, - 352, 353, 357, 358, 362, 364, 366, 369, 373, 375, - 380, 382, 384, 389, 394, 396, 401, 406, 408, 413, - 415, 420, 425, 430, 435, 440, 445, 450, 452, 457, - 462, 464, 469, 474, 479, 484, 486, 491, 496, 501, - 506, 507, 508, 512, 513, 517, 519, 521, 523, 525, - 527, 529, 531, 533, 535, 537, 542, 544, 549, 551, - 556, 561, 563, 565, 567, 569, 571, 573, 575, 577, - 579, 581, 583, 585, 587, 589, 591, 593, 595, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 631, 636, 641, - 642, 645, 646, 650, 652, 654, 656, 658, 660, 665, - 667, 669, 671, 676, 681, 683, 686, 690, 693, 697, - 699, 704, 706, 711, 716, 718, 723, 728, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 745, 750, 755, - 760, 765, 770, 775, 780, 785, 790, 795, 797, 802, - 807, 812, 817, 822, 824, 829, 831, 836, 841 + 0, 252, 252, 253, 257, 259, 261, 263, 265, 267, + 272, 276, 281, 282, 283, 284, 285, 289, 294, 299, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 331, 332, 336, 338, 343, 345, + 350, 351, 355, 356, 360, 362, 364, 367, 371, 373, + 378, 380, 382, 387, 392, 394, 399, 404, 406, 411, + 413, 418, 423, 428, 433, 438, 443, 448, 450, 455, + 460, 462, 467, 472, 477, 482, 484, 489, 494, 499, + 504, 505, 506, 510, 511, 515, 517, 519, 521, 523, + 525, 527, 529, 531, 533, 535, 540, 542, 547, 549, + 554, 559, 561, 563, 565, 567, 569, 571, 573, 575, + 577, 579, 581, 583, 585, 587, 589, 591, 593, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 628, 633, 638, 639, + 642, 643, 647, 649, 651, 653, 655, 657, 662, 664, + 666, 668, 673, 678, 680, 683, 687, 690, 694, 696, + 701, 703, 708, 713, 715, 720, 725, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 742, 747, 752, 757, + 762, 767, 772, 777, 782, 787, 792, 794, 799, 804, + 809, 814, 816, 821, 823, 828, 833 }; void @@ -4530,9 +4495,9 @@ namespace xsk { namespace gsc { namespace iw5 { #line 13 "parser.ypp" } } } // xsk::gsc::iw5 -#line 4534 "parser.cpp" +#line 4499 "parser.cpp" -#line 845 "parser.ypp" +#line 837 "parser.ypp" void xsk::gsc::iw5::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/iw5/xsk/parser.hpp b/src/iw5/xsk/parser.hpp index d84275f7..d9f7b08b 100644 --- a/src/iw5/xsk/parser.hpp +++ b/src/iw5/xsk/parser.hpp @@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw5 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waittill - char dummy63[sizeof (ast::stmt_waittill::ptr)]; + char dummy62[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy63[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy64[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy66[sizeof (ast::stmt_while::ptr)]; + char dummy65[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy67[sizeof (std::string)]; + char dummy66[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw5 { IDENTIFIER = 98, // "identifier" STRING = 99, // "string literal" ISTRING = 100, // "localized string" - COLOR = 101, // "color" - FLOAT = 102, // "float" - INTEGER = 103, // "integer" - ADD_ARRAY = 104, // ADD_ARRAY - THEN = 105, // THEN - TERN = 106, // TERN - NEG = 107, // NEG - ANIMREF = 108, // ANIMREF - PREINC = 109, // PREINC - PREDEC = 110, // PREDEC - POSTINC = 111, // POSTINC - POSTDEC = 112 // POSTDEC + FLOAT = 101, // "float" + INTEGER = 102, // "integer" + ADD_ARRAY = 103, // ADD_ARRAY + THEN = 104, // THEN + TERN = 105, // TERN + NEG = 106, // NEG + ANIMREF = 107, // ANIMREF + PREINC = 108, // PREINC + PREDEC = 109, // PREDEC + POSTINC = 110, // POSTINC + POSTDEC = 111 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw5 { { enum symbol_kind_type { - YYNTOKENS = 113, ///< Number of tokens. + YYNTOKENS = 112, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw5 { S_IDENTIFIER = 98, // "identifier" S_STRING = 99, // "string literal" S_ISTRING = 100, // "localized string" - S_COLOR = 101, // "color" - S_FLOAT = 102, // "float" - S_INTEGER = 103, // "integer" - S_ADD_ARRAY = 104, // ADD_ARRAY - S_THEN = 105, // THEN - S_TERN = 106, // TERN - S_NEG = 107, // NEG - S_ANIMREF = 108, // ANIMREF - S_PREINC = 109, // PREINC - S_PREDEC = 110, // PREDEC - S_POSTINC = 111, // POSTINC - S_POSTDEC = 112, // POSTDEC - S_YYACCEPT = 113, // $accept - S_root = 114, // root - S_program = 115, // program - S_inline = 116, // inline - S_include = 117, // include - S_declaration = 118, // declaration - S_decl_usingtree = 119, // decl_usingtree - S_decl_constant = 120, // decl_constant - S_decl_thread = 121, // decl_thread - S_stmt = 122, // stmt - S_stmt_or_dev = 123, // stmt_or_dev - S_stmt_list = 124, // stmt_list - S_stmt_or_dev_list = 125, // stmt_or_dev_list - S_stmt_dev = 126, // stmt_dev - S_stmt_block = 127, // stmt_block - S_stmt_expr = 128, // stmt_expr - S_stmt_call = 129, // stmt_call - S_stmt_assign = 130, // stmt_assign - S_stmt_endon = 131, // stmt_endon - S_stmt_notify = 132, // stmt_notify - S_stmt_wait = 133, // stmt_wait - S_stmt_waittill = 134, // stmt_waittill - S_stmt_waittillmatch = 135, // stmt_waittillmatch - S_stmt_waittillframeend = 136, // stmt_waittillframeend - S_stmt_if = 137, // stmt_if - S_stmt_ifelse = 138, // stmt_ifelse - S_stmt_while = 139, // stmt_while - S_stmt_dowhile = 140, // stmt_dowhile - S_stmt_for = 141, // stmt_for - S_stmt_foreach = 142, // stmt_foreach - S_stmt_switch = 143, // stmt_switch - S_stmt_case = 144, // stmt_case - S_stmt_default = 145, // stmt_default - S_stmt_break = 146, // stmt_break - S_stmt_continue = 147, // stmt_continue - S_stmt_return = 148, // stmt_return - S_stmt_breakpoint = 149, // stmt_breakpoint - S_stmt_prof_begin = 150, // stmt_prof_begin - S_stmt_prof_end = 151, // stmt_prof_end - S_expr = 152, // expr - S_expr_or_empty = 153, // expr_or_empty - S_expr_assign = 154, // expr_assign - S_expr_increment = 155, // expr_increment - S_expr_decrement = 156, // expr_decrement - S_expr_ternary = 157, // expr_ternary - S_expr_binary = 158, // expr_binary - S_expr_primitive = 159, // expr_primitive - S_expr_complement = 160, // expr_complement - S_expr_not = 161, // expr_not - S_expr_call = 162, // expr_call - S_expr_method = 163, // expr_method - S_expr_function = 164, // expr_function - S_expr_pointer = 165, // expr_pointer - S_expr_add_array = 166, // expr_add_array - S_expr_parameters = 167, // expr_parameters - S_expr_arguments = 168, // expr_arguments - S_expr_arguments_no_empty = 169, // expr_arguments_no_empty - S_expr_reference = 170, // expr_reference - S_expr_array = 171, // expr_array - S_expr_field = 172, // expr_field - S_expr_size = 173, // expr_size - S_expr_paren = 174, // expr_paren - S_expr_object = 175, // expr_object - S_expr_thisthread = 176, // expr_thisthread - S_expr_empty_array = 177, // expr_empty_array - S_expr_undefined = 178, // expr_undefined - S_expr_game = 179, // expr_game - S_expr_self = 180, // expr_self - S_expr_anim = 181, // expr_anim - S_expr_level = 182, // expr_level - S_expr_animation = 183, // expr_animation - S_expr_animtree = 184, // expr_animtree - S_expr_identifier = 185, // expr_identifier - S_expr_path = 186, // expr_path - S_expr_istring = 187, // expr_istring - S_expr_string = 188, // expr_string - S_expr_color = 189, // expr_color - S_expr_vector = 190, // expr_vector - S_expr_float = 191, // expr_float - S_expr_integer = 192, // expr_integer - S_expr_false = 193, // expr_false - S_expr_true = 194 // expr_true + S_FLOAT = 101, // "float" + S_INTEGER = 102, // "integer" + S_ADD_ARRAY = 103, // ADD_ARRAY + S_THEN = 104, // THEN + S_TERN = 105, // TERN + S_NEG = 106, // NEG + S_ANIMREF = 107, // ANIMREF + S_PREINC = 108, // PREINC + S_PREDEC = 109, // PREDEC + S_POSTINC = 110, // POSTINC + S_POSTDEC = 111, // POSTDEC + S_YYACCEPT = 112, // $accept + S_root = 113, // root + S_program = 114, // program + S_inline = 115, // inline + S_include = 116, // include + S_declaration = 117, // declaration + S_decl_usingtree = 118, // decl_usingtree + S_decl_constant = 119, // decl_constant + S_decl_thread = 120, // decl_thread + S_stmt = 121, // stmt + S_stmt_or_dev = 122, // stmt_or_dev + S_stmt_list = 123, // stmt_list + S_stmt_or_dev_list = 124, // stmt_or_dev_list + S_stmt_dev = 125, // stmt_dev + S_stmt_block = 126, // stmt_block + S_stmt_expr = 127, // stmt_expr + S_stmt_call = 128, // stmt_call + S_stmt_assign = 129, // stmt_assign + S_stmt_endon = 130, // stmt_endon + S_stmt_notify = 131, // stmt_notify + S_stmt_wait = 132, // stmt_wait + S_stmt_waittill = 133, // stmt_waittill + S_stmt_waittillmatch = 134, // stmt_waittillmatch + S_stmt_waittillframeend = 135, // stmt_waittillframeend + S_stmt_if = 136, // stmt_if + S_stmt_ifelse = 137, // stmt_ifelse + S_stmt_while = 138, // stmt_while + S_stmt_dowhile = 139, // stmt_dowhile + S_stmt_for = 140, // stmt_for + S_stmt_foreach = 141, // stmt_foreach + S_stmt_switch = 142, // stmt_switch + S_stmt_case = 143, // stmt_case + S_stmt_default = 144, // stmt_default + S_stmt_break = 145, // stmt_break + S_stmt_continue = 146, // stmt_continue + S_stmt_return = 147, // stmt_return + S_stmt_breakpoint = 148, // stmt_breakpoint + S_stmt_prof_begin = 149, // stmt_prof_begin + S_stmt_prof_end = 150, // stmt_prof_end + S_expr = 151, // expr + S_expr_or_empty = 152, // expr_or_empty + S_expr_assign = 153, // expr_assign + S_expr_increment = 154, // expr_increment + S_expr_decrement = 155, // expr_decrement + S_expr_ternary = 156, // expr_ternary + S_expr_binary = 157, // expr_binary + S_expr_primitive = 158, // expr_primitive + S_expr_complement = 159, // expr_complement + S_expr_not = 160, // expr_not + S_expr_call = 161, // expr_call + S_expr_method = 162, // expr_method + S_expr_function = 163, // expr_function + S_expr_pointer = 164, // expr_pointer + S_expr_add_array = 165, // expr_add_array + S_expr_parameters = 166, // expr_parameters + S_expr_arguments = 167, // expr_arguments + S_expr_arguments_no_empty = 168, // expr_arguments_no_empty + S_expr_reference = 169, // expr_reference + S_expr_array = 170, // expr_array + S_expr_field = 171, // expr_field + S_expr_size = 172, // expr_size + S_expr_paren = 173, // expr_paren + S_expr_object = 174, // expr_object + S_expr_thisthread = 175, // expr_thisthread + S_expr_empty_array = 176, // expr_empty_array + S_expr_undefined = 177, // expr_undefined + S_expr_game = 178, // expr_game + S_expr_self = 179, // expr_self + S_expr_anim = 180, // expr_anim + S_expr_level = 181, // expr_level + S_expr_animation = 182, // expr_animation + S_expr_animtree = 183, // expr_animtree + S_expr_identifier = 184, // expr_identifier + S_expr_path = 185, // expr_path + S_expr_istring = 186, // expr_istring + S_expr_string = 187, // expr_string + S_expr_vector = 188, // expr_vector + S_expr_float = 189, // expr_float + S_expr_integer = 190, // expr_integer + S_expr_false = 191, // expr_false + S_expr_true = 192 // expr_true }; }; @@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw5 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw5 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw5 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2370,10 +2344,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2590,7 +2560,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4267,21 +4236,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4791,8 +4745,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2262, ///< Last index in yytable_. - yynnts_ = 82, ///< Number of nonterminal symbols. + yylast_ = 2274, ///< Last index in yytable_. + yynnts_ = 81, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4881,10 +4835,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5101,7 +5051,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5198,10 +5147,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5418,7 +5363,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5487,7 +5431,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::iw5 -#line 5491 "parser.hpp" +#line 5435 "parser.hpp" diff --git a/src/iw6/xsk/parser.cpp b/src/iw6/xsk/parser.cpp index bb877ee5..67a1f406 100644 --- a/src/iw6/xsk/parser.cpp +++ b/src/iw6/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace iw6 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -497,7 +493,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -580,10 +575,6 @@ namespace xsk { namespace gsc { namespace iw6 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -800,7 +791,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -883,10 +873,6 @@ namespace xsk { namespace gsc { namespace iw6 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1103,7 +1089,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1185,10 +1170,6 @@ namespace xsk { namespace gsc { namespace iw6 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1405,7 +1386,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1742,10 +1722,6 @@ namespace xsk { namespace gsc { namespace iw6 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1962,7 +1938,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -1989,1309 +1964,1297 @@ namespace xsk { namespace gsc { namespace iw6 { switch (yyn) { case 2: // root: program -#line 254 "parser.ypp" +#line 252 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 1995 "parser.cpp" +#line 1970 "parser.cpp" break; case 3: // root: %empty -#line 255 "parser.ypp" +#line 253 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2001 "parser.cpp" +#line 1976 "parser.cpp" break; case 4: // program: program inline -#line 260 "parser.ypp" +#line 258 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2007 "parser.cpp" +#line 1982 "parser.cpp" break; case 5: // program: program include -#line 262 "parser.ypp" +#line 260 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2013 "parser.cpp" +#line 1988 "parser.cpp" break; case 6: // program: program declaration -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2019 "parser.cpp" +#line 1994 "parser.cpp" break; case 7: // program: inline -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2025 "parser.cpp" +#line 2000 "parser.cpp" break; case 8: // program: include -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2031 "parser.cpp" +#line 2006 "parser.cpp" break; case 9: // program: declaration -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2037 "parser.cpp" +#line 2012 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 274 "parser.ypp" +#line 272 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2043 "parser.cpp" +#line 2018 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 279 "parser.ypp" +#line 277 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2049 "parser.cpp" +#line 2024 "parser.cpp" break; case 12: // declaration: "/#" -#line 283 "parser.ypp" +#line 281 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2055 "parser.cpp" +#line 2030 "parser.cpp" break; case 13: // declaration: "#/" -#line 284 "parser.ypp" +#line 282 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2061 "parser.cpp" +#line 2036 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2067 "parser.cpp" +#line 2042 "parser.cpp" break; case 15: // declaration: decl_constant -#line 286 "parser.ypp" +#line 284 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2073 "parser.cpp" +#line 2048 "parser.cpp" break; case 16: // declaration: decl_thread -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2079 "parser.cpp" +#line 2054 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 292 "parser.ypp" +#line 290 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2085 "parser.cpp" +#line 2060 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 297 "parser.ypp" +#line 295 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2091 "parser.cpp" +#line 2066 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 302 "parser.ypp" +#line 300 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2097 "parser.cpp" +#line 2072 "parser.cpp" break; case 20: // stmt: stmt_block -#line 306 "parser.ypp" +#line 304 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2103 "parser.cpp" +#line 2078 "parser.cpp" break; case 21: // stmt: stmt_call -#line 307 "parser.ypp" +#line 305 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2109 "parser.cpp" +#line 2084 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 308 "parser.ypp" +#line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2115 "parser.cpp" +#line 2090 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 309 "parser.ypp" +#line 307 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2121 "parser.cpp" +#line 2096 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2127 "parser.cpp" +#line 2102 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2133 "parser.cpp" +#line 2108 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2139 "parser.cpp" +#line 2114 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2145 "parser.cpp" +#line 2120 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2151 "parser.cpp" +#line 2126 "parser.cpp" break; case 29: // stmt: stmt_if -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2157 "parser.cpp" +#line 2132 "parser.cpp" break; case 30: // stmt: stmt_ifelse -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2163 "parser.cpp" +#line 2138 "parser.cpp" break; case 31: // stmt: stmt_while -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2169 "parser.cpp" +#line 2144 "parser.cpp" break; case 32: // stmt: stmt_dowhile -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2175 "parser.cpp" +#line 2150 "parser.cpp" break; case 33: // stmt: stmt_for -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2181 "parser.cpp" +#line 2156 "parser.cpp" break; case 34: // stmt: stmt_foreach -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2187 "parser.cpp" +#line 2162 "parser.cpp" break; case 35: // stmt: stmt_switch -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2193 "parser.cpp" +#line 2168 "parser.cpp" break; case 36: // stmt: stmt_case -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2199 "parser.cpp" +#line 2174 "parser.cpp" break; case 37: // stmt: stmt_default -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2205 "parser.cpp" +#line 2180 "parser.cpp" break; case 38: // stmt: stmt_break -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2211 "parser.cpp" +#line 2186 "parser.cpp" break; case 39: // stmt: stmt_continue -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2217 "parser.cpp" +#line 2192 "parser.cpp" break; case 40: // stmt: stmt_return -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2223 "parser.cpp" +#line 2198 "parser.cpp" break; case 41: // stmt: stmt_breakpoint -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2229 "parser.cpp" +#line 2204 "parser.cpp" break; case 42: // stmt: stmt_prof_begin -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2235 "parser.cpp" +#line 2210 "parser.cpp" break; case 43: // stmt: stmt_prof_end -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2241 "parser.cpp" +#line 2216 "parser.cpp" break; case 44: // stmt_or_dev: stmt -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2247 "parser.cpp" +#line 2222 "parser.cpp" break; case 45: // stmt_or_dev: stmt_dev -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2253 "parser.cpp" +#line 2228 "parser.cpp" break; case 46: // stmt_list: stmt_list stmt -#line 339 "parser.ypp" +#line 337 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2259 "parser.cpp" +#line 2234 "parser.cpp" break; case 47: // stmt_list: stmt -#line 341 "parser.ypp" +#line 339 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2265 "parser.cpp" +#line 2240 "parser.cpp" break; case 48: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2271 "parser.cpp" +#line 2246 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev -#line 348 "parser.ypp" +#line 346 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2277 "parser.cpp" +#line 2252 "parser.cpp" break; case 50: // stmt_dev: "/#" stmt_list "#/" -#line 352 "parser.ypp" +#line 350 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2283 "parser.cpp" +#line 2258 "parser.cpp" break; case 51: // stmt_dev: "/#" "#/" -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2289 "parser.cpp" +#line 2264 "parser.cpp" break; case 52: // stmt_block: "{" stmt_or_dev_list "}" -#line 357 "parser.ypp" +#line 355 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2295 "parser.cpp" +#line 2270 "parser.cpp" break; case 53: // stmt_block: "{" "}" -#line 358 "parser.ypp" +#line 356 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2301 "parser.cpp" +#line 2276 "parser.cpp" break; case 54: // stmt_expr: expr_assign -#line 363 "parser.ypp" +#line 361 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2307 "parser.cpp" +#line 2282 "parser.cpp" break; case 55: // stmt_expr: expr_increment -#line 365 "parser.ypp" +#line 363 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2313 "parser.cpp" +#line 2288 "parser.cpp" break; case 56: // stmt_expr: expr_decrement -#line 367 "parser.ypp" +#line 365 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2319 "parser.cpp" +#line 2294 "parser.cpp" break; case 57: // stmt_expr: %empty -#line 369 "parser.ypp" +#line 367 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2325 "parser.cpp" +#line 2300 "parser.cpp" break; case 58: // stmt_call: expr_call ";" -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2331 "parser.cpp" +#line 2306 "parser.cpp" break; case 59: // stmt_call: expr_method ";" -#line 376 "parser.ypp" +#line 374 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2337 "parser.cpp" +#line 2312 "parser.cpp" break; case 60: // stmt_assign: expr_assign ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2343 "parser.cpp" +#line 2318 "parser.cpp" break; case 61: // stmt_assign: expr_increment ";" -#line 383 "parser.ypp" +#line 381 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2349 "parser.cpp" +#line 2324 "parser.cpp" break; case 62: // stmt_assign: expr_decrement ";" -#line 385 "parser.ypp" +#line 383 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2355 "parser.cpp" +#line 2330 "parser.cpp" break; case 63: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2361 "parser.cpp" +#line 2336 "parser.cpp" break; case 64: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 395 "parser.ypp" +#line 393 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2367 "parser.cpp" +#line 2342 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 397 "parser.ypp" +#line 395 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2373 "parser.cpp" +#line 2348 "parser.cpp" break; case 66: // stmt_wait: "wait" expr ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2379 "parser.cpp" +#line 2354 "parser.cpp" break; case 67: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 407 "parser.ypp" +#line 405 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2385 "parser.cpp" +#line 2360 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 409 "parser.ypp" +#line 407 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2391 "parser.cpp" +#line 2366 "parser.cpp" break; case 69: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2397 "parser.cpp" +#line 2372 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 416 "parser.ypp" +#line 414 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2403 "parser.cpp" +#line 2378 "parser.cpp" break; case 71: // stmt_waittillframeend: "waittillframeend" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2409 "parser.cpp" +#line 2384 "parser.cpp" break; case 72: // stmt_if: "if" "(" expr ")" stmt -#line 426 "parser.ypp" +#line 424 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2415 "parser.cpp" +#line 2390 "parser.cpp" break; case 73: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2421 "parser.cpp" +#line 2396 "parser.cpp" break; case 74: // stmt_while: "while" "(" expr ")" stmt -#line 436 "parser.ypp" +#line 434 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2427 "parser.cpp" +#line 2402 "parser.cpp" break; case 75: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 441 "parser.ypp" +#line 439 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2433 "parser.cpp" +#line 2408 "parser.cpp" break; case 76: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 446 "parser.ypp" +#line 444 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2439 "parser.cpp" +#line 2414 "parser.cpp" break; case 77: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 451 "parser.ypp" +#line 449 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2445 "parser.cpp" +#line 2420 "parser.cpp" break; case 78: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 453 "parser.ypp" +#line 451 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2451 "parser.cpp" +#line 2426 "parser.cpp" break; case 79: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 458 "parser.ypp" +#line 456 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2457 "parser.cpp" +#line 2432 "parser.cpp" break; case 80: // stmt_case: "case" expr_integer ":" -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2463 "parser.cpp" +#line 2438 "parser.cpp" break; case 81: // stmt_case: "case" expr_string ":" -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2469 "parser.cpp" +#line 2444 "parser.cpp" break; case 82: // stmt_default: "default" ":" -#line 470 "parser.ypp" +#line 468 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2475 "parser.cpp" +#line 2450 "parser.cpp" break; case 83: // stmt_break: "break" ";" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2481 "parser.cpp" +#line 2456 "parser.cpp" break; case 84: // stmt_continue: "continue" ";" -#line 480 "parser.ypp" +#line 478 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2487 "parser.cpp" +#line 2462 "parser.cpp" break; case 85: // stmt_return: "return" expr ";" -#line 485 "parser.ypp" +#line 483 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2493 "parser.cpp" +#line 2468 "parser.cpp" break; case 86: // stmt_return: "return" ";" -#line 487 "parser.ypp" +#line 485 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2499 "parser.cpp" +#line 2474 "parser.cpp" break; case 87: // stmt_breakpoint: "breakpoint" ";" -#line 492 "parser.ypp" +#line 490 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2505 "parser.cpp" +#line 2480 "parser.cpp" break; case 88: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2511 "parser.cpp" +#line 2486 "parser.cpp" break; case 89: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 502 "parser.ypp" +#line 500 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2517 "parser.cpp" +#line 2492 "parser.cpp" break; case 90: // expr: expr_ternary -#line 506 "parser.ypp" +#line 504 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2523 "parser.cpp" +#line 2498 "parser.cpp" break; case 91: // expr: expr_binary -#line 507 "parser.ypp" +#line 505 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2529 "parser.cpp" +#line 2504 "parser.cpp" break; case 92: // expr: expr_primitive -#line 508 "parser.ypp" +#line 506 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2535 "parser.cpp" +#line 2510 "parser.cpp" break; case 93: // expr_or_empty: expr -#line 512 "parser.ypp" +#line 510 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2541 "parser.cpp" +#line 2516 "parser.cpp" break; case 94: // expr_or_empty: %empty -#line 513 "parser.ypp" +#line 511 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2547 "parser.cpp" +#line 2522 "parser.cpp" break; case 95: // expr_assign: expr_object "=" expr -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2553 "parser.cpp" +#line 2528 "parser.cpp" break; case 96: // expr_assign: expr_object "|=" expr -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2559 "parser.cpp" +#line 2534 "parser.cpp" break; case 97: // expr_assign: expr_object "&=" expr -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2565 "parser.cpp" +#line 2540 "parser.cpp" break; case 98: // expr_assign: expr_object "^=" expr -#line 524 "parser.ypp" +#line 522 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2571 "parser.cpp" +#line 2546 "parser.cpp" break; case 99: // expr_assign: expr_object "<<=" expr -#line 526 "parser.ypp" +#line 524 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2577 "parser.cpp" +#line 2552 "parser.cpp" break; case 100: // expr_assign: expr_object ">>=" expr -#line 528 "parser.ypp" +#line 526 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2583 "parser.cpp" +#line 2558 "parser.cpp" break; case 101: // expr_assign: expr_object "+=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2589 "parser.cpp" +#line 2564 "parser.cpp" break; case 102: // expr_assign: expr_object "-=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2595 "parser.cpp" +#line 2570 "parser.cpp" break; case 103: // expr_assign: expr_object "*=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2601 "parser.cpp" +#line 2576 "parser.cpp" break; case 104: // expr_assign: expr_object "/=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2607 "parser.cpp" +#line 2582 "parser.cpp" break; case 105: // expr_assign: expr_object "%=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2613 "parser.cpp" +#line 2588 "parser.cpp" break; case 106: // expr_increment: "++" expr_object -#line 543 "parser.ypp" +#line 541 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2619 "parser.cpp" +#line 2594 "parser.cpp" break; case 107: // expr_increment: expr_object "++" -#line 545 "parser.ypp" +#line 543 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2625 "parser.cpp" +#line 2600 "parser.cpp" break; case 108: // expr_decrement: "--" expr_object -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2631 "parser.cpp" +#line 2606 "parser.cpp" break; case 109: // expr_decrement: expr_object "--" -#line 552 "parser.ypp" +#line 550 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2637 "parser.cpp" +#line 2612 "parser.cpp" break; case 110: // expr_ternary: expr "?" expr ":" expr -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2643 "parser.cpp" +#line 2618 "parser.cpp" break; case 111: // expr_binary: expr "||" expr -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2649 "parser.cpp" +#line 2624 "parser.cpp" break; case 112: // expr_binary: expr "&&" expr -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2655 "parser.cpp" +#line 2630 "parser.cpp" break; case 113: // expr_binary: expr "==" expr -#line 566 "parser.ypp" +#line 564 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2661 "parser.cpp" +#line 2636 "parser.cpp" break; case 114: // expr_binary: expr "!=" expr -#line 568 "parser.ypp" +#line 566 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2667 "parser.cpp" +#line 2642 "parser.cpp" break; case 115: // expr_binary: expr "<=" expr -#line 570 "parser.ypp" +#line 568 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2673 "parser.cpp" +#line 2648 "parser.cpp" break; case 116: // expr_binary: expr ">=" expr -#line 572 "parser.ypp" +#line 570 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2679 "parser.cpp" +#line 2654 "parser.cpp" break; case 117: // expr_binary: expr "<" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2685 "parser.cpp" +#line 2660 "parser.cpp" break; case 118: // expr_binary: expr ">" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2691 "parser.cpp" +#line 2666 "parser.cpp" break; case 119: // expr_binary: expr "|" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2697 "parser.cpp" +#line 2672 "parser.cpp" break; case 120: // expr_binary: expr "&" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2703 "parser.cpp" +#line 2678 "parser.cpp" break; case 121: // expr_binary: expr "^" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2709 "parser.cpp" +#line 2684 "parser.cpp" break; case 122: // expr_binary: expr "<<" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2715 "parser.cpp" +#line 2690 "parser.cpp" break; case 123: // expr_binary: expr ">>" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2721 "parser.cpp" +#line 2696 "parser.cpp" break; case 124: // expr_binary: expr "+" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2727 "parser.cpp" +#line 2702 "parser.cpp" break; case 125: // expr_binary: expr "-" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2733 "parser.cpp" +#line 2708 "parser.cpp" break; case 126: // expr_binary: expr "*" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2739 "parser.cpp" +#line 2714 "parser.cpp" break; case 127: // expr_binary: expr "/" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2745 "parser.cpp" +#line 2720 "parser.cpp" break; case 128: // expr_binary: expr "%" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2751 "parser.cpp" +#line 2726 "parser.cpp" break; case 129: // expr_primitive: expr_complement -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2757 "parser.cpp" +#line 2732 "parser.cpp" break; case 130: // expr_primitive: expr_not -#line 601 "parser.ypp" +#line 599 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2763 "parser.cpp" +#line 2738 "parser.cpp" break; case 131: // expr_primitive: expr_call -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2769 "parser.cpp" +#line 2744 "parser.cpp" break; case 132: // expr_primitive: expr_method -#line 603 "parser.ypp" +#line 601 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2775 "parser.cpp" +#line 2750 "parser.cpp" break; case 133: // expr_primitive: expr_add_array -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2781 "parser.cpp" +#line 2756 "parser.cpp" break; case 134: // expr_primitive: expr_reference -#line 605 "parser.ypp" +#line 603 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2787 "parser.cpp" +#line 2762 "parser.cpp" break; case 135: // expr_primitive: expr_array -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2793 "parser.cpp" +#line 2768 "parser.cpp" break; case 136: // expr_primitive: expr_field -#line 607 "parser.ypp" +#line 605 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2799 "parser.cpp" +#line 2774 "parser.cpp" break; case 137: // expr_primitive: expr_size -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2805 "parser.cpp" +#line 2780 "parser.cpp" break; case 138: // expr_primitive: expr_paren -#line 609 "parser.ypp" +#line 607 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2811 "parser.cpp" +#line 2786 "parser.cpp" break; case 139: // expr_primitive: expr_thisthread -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2817 "parser.cpp" +#line 2792 "parser.cpp" break; case 140: // expr_primitive: expr_empty_array -#line 611 "parser.ypp" +#line 609 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2823 "parser.cpp" +#line 2798 "parser.cpp" break; case 141: // expr_primitive: expr_undefined -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2829 "parser.cpp" +#line 2804 "parser.cpp" break; case 142: // expr_primitive: expr_game -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2835 "parser.cpp" +#line 2810 "parser.cpp" break; case 143: // expr_primitive: expr_self -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2841 "parser.cpp" +#line 2816 "parser.cpp" break; case 144: // expr_primitive: expr_anim -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2847 "parser.cpp" +#line 2822 "parser.cpp" break; case 145: // expr_primitive: expr_level -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2853 "parser.cpp" +#line 2828 "parser.cpp" break; case 146: // expr_primitive: expr_animation -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2859 "parser.cpp" +#line 2834 "parser.cpp" break; case 147: // expr_primitive: expr_animtree -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2865 "parser.cpp" +#line 2840 "parser.cpp" break; case 148: // expr_primitive: expr_identifier -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2871 "parser.cpp" +#line 2846 "parser.cpp" break; case 149: // expr_primitive: expr_istring -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2877 "parser.cpp" +#line 2852 "parser.cpp" break; case 150: // expr_primitive: expr_string -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2883 "parser.cpp" +#line 2858 "parser.cpp" break; - case 151: // expr_primitive: expr_color -#line 622 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2889 "parser.cpp" - break; - - case 152: // expr_primitive: expr_vector -#line 623 "parser.ypp" + case 151: // expr_primitive: expr_vector +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2895 "parser.cpp" +#line 2864 "parser.cpp" break; - case 153: // expr_primitive: expr_float -#line 624 "parser.ypp" + case 152: // expr_primitive: expr_float +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2901 "parser.cpp" +#line 2870 "parser.cpp" break; - case 154: // expr_primitive: expr_integer -#line 625 "parser.ypp" + case 153: // expr_primitive: expr_integer +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2907 "parser.cpp" +#line 2876 "parser.cpp" break; - case 155: // expr_primitive: expr_false -#line 626 "parser.ypp" + case 154: // expr_primitive: expr_false +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2913 "parser.cpp" +#line 2882 "parser.cpp" break; - case 156: // expr_primitive: expr_true -#line 627 "parser.ypp" + case 155: // expr_primitive: expr_true +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2919 "parser.cpp" +#line 2888 "parser.cpp" break; - case 157: // expr_complement: "~" expr -#line 632 "parser.ypp" + case 156: // expr_complement: "~" expr +#line 629 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2925 "parser.cpp" +#line 2894 "parser.cpp" break; - case 158: // expr_not: "!" expr -#line 637 "parser.ypp" + case 157: // expr_not: "!" expr +#line 634 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2931 "parser.cpp" +#line 2900 "parser.cpp" break; - case 159: // expr_call: expr_function -#line 641 "parser.ypp" + case 158: // expr_call: expr_function +#line 638 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2937 "parser.cpp" +#line 2906 "parser.cpp" break; - case 160: // expr_call: expr_pointer + case 159: // expr_call: expr_pointer +#line 639 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2912 "parser.cpp" + break; + + case 160: // expr_method: expr_object expr_function #line 642 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2943 "parser.cpp" - break; - - case 161: // expr_method: expr_object expr_function -#line 645 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2949 "parser.cpp" +#line 2918 "parser.cpp" break; - case 162: // expr_method: expr_object expr_pointer -#line 646 "parser.ypp" + case 161: // expr_method: expr_object expr_pointer +#line 643 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2955 "parser.cpp" +#line 2924 "parser.cpp" break; - case 163: // expr_function: expr_identifier "(" expr_arguments ")" -#line 651 "parser.ypp" + case 162: // expr_function: expr_identifier "(" expr_arguments ")" +#line 648 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2961 "parser.cpp" +#line 2930 "parser.cpp" break; - case 164: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 653 "parser.ypp" + case 163: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 650 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2967 "parser.cpp" +#line 2936 "parser.cpp" break; - case 165: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 655 "parser.ypp" + case 164: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 652 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2973 "parser.cpp" +#line 2942 "parser.cpp" break; - case 166: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 657 "parser.ypp" + case 165: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 654 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2979 "parser.cpp" +#line 2948 "parser.cpp" break; - case 167: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 659 "parser.ypp" + case 166: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 656 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2985 "parser.cpp" +#line 2954 "parser.cpp" break; - case 168: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 661 "parser.ypp" + case 167: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2991 "parser.cpp" +#line 2960 "parser.cpp" break; - case 169: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 666 "parser.ypp" + case 168: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 663 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2997 "parser.cpp" +#line 2966 "parser.cpp" break; - case 170: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 668 "parser.ypp" + case 169: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 665 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3003 "parser.cpp" +#line 2972 "parser.cpp" break; - case 171: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 670 "parser.ypp" + case 170: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 667 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3009 "parser.cpp" +#line 2978 "parser.cpp" break; - case 172: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 672 "parser.ypp" + case 171: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 669 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3015 "parser.cpp" +#line 2984 "parser.cpp" break; - case 173: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 677 "parser.ypp" + case 172: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 674 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3021 "parser.cpp" +#line 2990 "parser.cpp" break; - case 174: // expr_parameters: expr_parameters "," expr_identifier -#line 682 "parser.ypp" + case 173: // expr_parameters: expr_parameters "," expr_identifier +#line 679 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3027 "parser.cpp" +#line 2996 "parser.cpp" break; - case 175: // expr_parameters: expr_identifier -#line 684 "parser.ypp" + case 174: // expr_parameters: expr_identifier +#line 681 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3033 "parser.cpp" +#line 3002 "parser.cpp" break; - case 176: // expr_parameters: %empty -#line 686 "parser.ypp" + case 175: // expr_parameters: %empty +#line 683 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3039 "parser.cpp" +#line 3008 "parser.cpp" break; - case 177: // expr_arguments: expr_arguments_no_empty -#line 691 "parser.ypp" + case 176: // expr_arguments: expr_arguments_no_empty +#line 688 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3045 "parser.cpp" +#line 3014 "parser.cpp" break; - case 178: // expr_arguments: %empty -#line 693 "parser.ypp" + case 177: // expr_arguments: %empty +#line 690 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3051 "parser.cpp" +#line 3020 "parser.cpp" break; - case 179: // expr_arguments_no_empty: expr_arguments "," expr -#line 698 "parser.ypp" + case 178: // expr_arguments_no_empty: expr_arguments "," expr +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3057 "parser.cpp" +#line 3026 "parser.cpp" break; - case 180: // expr_arguments_no_empty: expr -#line 700 "parser.ypp" + case 179: // expr_arguments_no_empty: expr +#line 697 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3063 "parser.cpp" +#line 3032 "parser.cpp" break; - case 181: // expr_reference: "::" expr_identifier -#line 705 "parser.ypp" + case 180: // expr_reference: "::" expr_identifier +#line 702 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3069 "parser.cpp" +#line 3038 "parser.cpp" break; - case 182: // expr_reference: expr_path "::" expr_identifier -#line 707 "parser.ypp" + case 181: // expr_reference: expr_path "::" expr_identifier +#line 704 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3075 "parser.cpp" +#line 3044 "parser.cpp" break; - case 183: // expr_array: expr_object "[" expr "]" -#line 712 "parser.ypp" + case 182: // expr_array: expr_object "[" expr "]" +#line 709 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3081 "parser.cpp" +#line 3050 "parser.cpp" break; - case 184: // expr_field: expr_object "." expr_identifier -#line 717 "parser.ypp" + case 183: // expr_field: expr_object "." expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3087 "parser.cpp" +#line 3056 "parser.cpp" break; - case 185: // expr_field: expr_object "field" -#line 719 "parser.ypp" + case 184: // expr_field: expr_object "field" +#line 716 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3093 "parser.cpp" +#line 3062 "parser.cpp" break; - case 186: // expr_size: expr_object ".size" -#line 724 "parser.ypp" + case 185: // expr_size: expr_object ".size" +#line 721 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3099 "parser.cpp" +#line 3068 "parser.cpp" break; - case 187: // expr_paren: "(" expr ")" -#line 729 "parser.ypp" + case 186: // expr_paren: "(" expr ")" +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3105 "parser.cpp" +#line 3074 "parser.cpp" break; - case 188: // expr_object: expr_call -#line 733 "parser.ypp" + case 187: // expr_object: expr_call +#line 730 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3111 "parser.cpp" +#line 3080 "parser.cpp" break; - case 189: // expr_object: expr_method -#line 734 "parser.ypp" + case 188: // expr_object: expr_method +#line 731 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3117 "parser.cpp" +#line 3086 "parser.cpp" break; - case 190: // expr_object: expr_array -#line 735 "parser.ypp" + case 189: // expr_object: expr_array +#line 732 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3123 "parser.cpp" +#line 3092 "parser.cpp" break; - case 191: // expr_object: expr_field -#line 736 "parser.ypp" + case 190: // expr_object: expr_field +#line 733 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3129 "parser.cpp" +#line 3098 "parser.cpp" break; - case 192: // expr_object: expr_game -#line 737 "parser.ypp" + case 191: // expr_object: expr_game +#line 734 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3135 "parser.cpp" +#line 3104 "parser.cpp" break; - case 193: // expr_object: expr_self -#line 738 "parser.ypp" + case 192: // expr_object: expr_self +#line 735 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3141 "parser.cpp" +#line 3110 "parser.cpp" break; - case 194: // expr_object: expr_anim -#line 739 "parser.ypp" + case 193: // expr_object: expr_anim +#line 736 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3147 "parser.cpp" +#line 3116 "parser.cpp" break; - case 195: // expr_object: expr_level -#line 740 "parser.ypp" + case 194: // expr_object: expr_level +#line 737 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3153 "parser.cpp" +#line 3122 "parser.cpp" break; - case 196: // expr_object: expr_identifier -#line 741 "parser.ypp" + case 195: // expr_object: expr_identifier +#line 738 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3159 "parser.cpp" +#line 3128 "parser.cpp" break; - case 197: // expr_thisthread: "thisthread" -#line 746 "parser.ypp" + case 196: // expr_thisthread: "thisthread" +#line 743 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3165 "parser.cpp" +#line 3134 "parser.cpp" break; - case 198: // expr_empty_array: "[" "]" -#line 751 "parser.ypp" + case 197: // expr_empty_array: "[" "]" +#line 748 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3171 "parser.cpp" +#line 3140 "parser.cpp" break; - case 199: // expr_undefined: "undefined" -#line 756 "parser.ypp" + case 198: // expr_undefined: "undefined" +#line 753 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3177 "parser.cpp" +#line 3146 "parser.cpp" break; - case 200: // expr_game: "game" -#line 761 "parser.ypp" + case 199: // expr_game: "game" +#line 758 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3183 "parser.cpp" +#line 3152 "parser.cpp" break; - case 201: // expr_self: "self" -#line 766 "parser.ypp" + case 200: // expr_self: "self" +#line 763 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3189 "parser.cpp" +#line 3158 "parser.cpp" break; - case 202: // expr_anim: "anim" -#line 771 "parser.ypp" + case 201: // expr_anim: "anim" +#line 768 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3195 "parser.cpp" +#line 3164 "parser.cpp" break; - case 203: // expr_level: "level" -#line 776 "parser.ypp" + case 202: // expr_level: "level" +#line 773 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3201 "parser.cpp" +#line 3170 "parser.cpp" break; - case 204: // expr_animation: "%" "identifier" -#line 781 "parser.ypp" + case 203: // expr_animation: "%" "identifier" +#line 778 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3207 "parser.cpp" +#line 3176 "parser.cpp" break; - case 205: // expr_animtree: "#animtree" -#line 786 "parser.ypp" + case 204: // expr_animtree: "#animtree" +#line 783 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3213 "parser.cpp" +#line 3182 "parser.cpp" break; - case 206: // expr_identifier: "identifier" -#line 791 "parser.ypp" + case 205: // expr_identifier: "identifier" +#line 788 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3219 "parser.cpp" +#line 3188 "parser.cpp" break; - case 207: // expr_path: "path" -#line 796 "parser.ypp" + case 206: // expr_path: "path" +#line 793 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3225 "parser.cpp" +#line 3194 "parser.cpp" break; - case 208: // expr_path: expr_identifier -#line 798 "parser.ypp" + case 207: // expr_path: expr_identifier +#line 795 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3231 "parser.cpp" +#line 3200 "parser.cpp" break; - case 209: // expr_istring: "localized string" -#line 803 "parser.ypp" + case 208: // expr_istring: "localized string" +#line 800 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3237 "parser.cpp" +#line 3206 "parser.cpp" break; - case 210: // expr_string: "string literal" -#line 808 "parser.ypp" + case 209: // expr_string: "string literal" +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3243 "parser.cpp" +#line 3212 "parser.cpp" break; - case 211: // expr_color: "color" -#line 813 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3249 "parser.cpp" - break; - - case 212: // expr_vector: "(" expr "," expr "," expr ")" -#line 818 "parser.ypp" + case 210: // expr_vector: "(" expr "," expr "," expr ")" +#line 810 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3255 "parser.cpp" +#line 3218 "parser.cpp" break; - case 213: // expr_float: "-" "float" -#line 823 "parser.ypp" + case 211: // expr_float: "-" "float" +#line 815 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3261 "parser.cpp" +#line 3224 "parser.cpp" break; - case 214: // expr_float: "float" -#line 825 "parser.ypp" + case 212: // expr_float: "float" +#line 817 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3267 "parser.cpp" +#line 3230 "parser.cpp" break; - case 215: // expr_integer: "-" "integer" -#line 830 "parser.ypp" + case 213: // expr_integer: "-" "integer" +#line 822 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3273 "parser.cpp" +#line 3236 "parser.cpp" break; - case 216: // expr_integer: "integer" -#line 832 "parser.ypp" + case 214: // expr_integer: "integer" +#line 824 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3279 "parser.cpp" +#line 3242 "parser.cpp" break; - case 217: // expr_false: "false" -#line 837 "parser.ypp" + case 215: // expr_false: "false" +#line 829 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3285 "parser.cpp" +#line 3248 "parser.cpp" break; - case 218: // expr_true: "true" -#line 842 "parser.ypp" + case 216: // expr_true: "true" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3291 "parser.cpp" +#line 3254 "parser.cpp" break; -#line 3295 "parser.cpp" +#line 3258 "parser.cpp" default: break; @@ -3487,12 +3450,12 @@ namespace xsk { namespace gsc { namespace iw6 { "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", "localized string", - "color", "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", - "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", - "program", "inline", "include", "declaration", "decl_usingtree", - "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", - "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", - "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", + "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", "program", + "inline", "include", "declaration", "decl_usingtree", "decl_constant", + "decl_thread", "stmt", "stmt_or_dev", "stmt_list", "stmt_or_dev_list", + "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", "stmt_assign", + "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", "stmt_continue", @@ -3506,8 +3469,8 @@ namespace xsk { namespace gsc { namespace iw6 { "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", + "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3772,674 +3735,676 @@ namespace xsk { namespace gsc { namespace iw6 { } - const short parser::yypact_ninf_ = -261; + const short parser::yypact_ninf_ = -263; - const short parser::yytable_ninf_ = -209; + const short parser::yytable_ninf_ = -208; const short parser::yypact_[] = { - 8, -261, -261, -33, -33, -20, -261, 14, 8, -261, - -261, -261, -261, -261, -261, -36, -261, -261, -43, -19, - -63, -261, -261, -261, -261, -46, 932, -261, -261, -261, - 10, -28, -261, -261, -49, -27, -261, 5, -261, -261, - -261, -261, -261, -261, -261, 932, 802, -46, 932, 932, - 7, -15, -261, -261, -261, -261, 2012, -261, -261, -261, - -261, -261, 133, 340, -261, -261, -261, -261, 523, 600, - -261, -261, 674, -261, -261, -261, 840, 905, 970, 1168, - -261, -261, 27, 18, -261, -261, -261, -261, -261, -261, - -261, -261, 28, 64, -46, 75, 80, 78, 83, 88, - 82, 87, 1298, 802, -261, 2095, 89, 91, -261, -261, - -261, -261, -261, -261, -261, 932, 932, 932, 932, 932, - 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 932, -261, 997, -46, -261, -261, -261, - 93, 92, 932, -46, -261, 65, -261, -261, 932, 932, - -46, 932, 932, -46, 932, -261, 932, 1742, 932, -261, - 1977, 66, 66, 989, 2126, 1156, 1156, 191, 191, 191, - 191, 2136, 797, 2167, 40, 40, -261, -261, -261, 1782, - -261, -46, -25, -261, 113, 1089, 932, 104, 115, 1256, - 118, 119, 126, 127, -66, 122, 125, 129, 867, 131, - 136, 142, -261, 140, 205, 205, -261, -261, 775, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, 135, 141, 145, 146, 148, -261, - -261, 1176, -261, -261, -261, -261, -21, 1822, -12, 150, - 1862, -6, 159, 1902, 1941, 155, 2095, 932, -261, 113, - -261, 932, -261, -261, 1135, 2047, -261, 932, 171, 932, - 586, -46, 932, 109, 158, 164, -261, -261, -261, -261, - 2082, -261, 932, 932, 932, -261, -261, 663, 663, -261, - -261, -261, -261, -261, -261, -261, 168, 174, 175, 177, - -261, -261, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 176, -261, 932, 181, -261, 932, 184, - 932, 192, 2095, -2, -261, -261, -261, 1464, 195, 1498, - 154, -261, -261, -261, 1260, -18, 1532, -261, -261, -261, - 2, 4, 1742, 932, 932, 932, 932, 2095, 2095, 2095, - 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 197, 11, - 198, 22, 200, 1566, 932, -261, 1256, 932, 1256, 932, - 932, -46, 64, 201, 202, 1600, 1342, 1386, 1430, 932, - -261, 932, -261, 932, -261, 23, 218, 1634, -261, 2095, - 211, 1668, 229, -261, -261, -261, 213, 215, 932, 216, - 932, 219, 932, 59, 69, 70, -261, 1256, 228, 586, - 1256, 932, -261, -261, 209, -261, 214, -261, 238, -261, - -261, -261, -261, -261, 239, -261, 1702, 231, 233, 234, - 1256, 1256, -261, -261, -261, -261, -261 + 4, -263, -263, 2, 2, -23, -263, 11, 4, -263, + -263, -263, -263, -263, -263, 6, -263, -263, -41, -20, + -27, -263, -263, -263, -263, -16, 1035, -263, -263, -263, + 33, 21, -263, -263, -34, -31, -263, 34, -263, -263, + -263, -263, -263, -263, -263, 1035, 907, -16, 1035, 1035, + -32, -7, -263, -263, -263, 1983, -263, -263, -263, -263, + -263, 122, 155, -263, -263, -263, -263, 540, 562, -263, + -263, 624, -263, -263, -263, 660, 995, 1003, 1063, -263, + -263, 35, 38, -263, -263, -263, -263, -263, -263, -263, + 40, 63, -16, 53, 59, 70, 81, 69, 79, 92, + 1269, 907, -263, 2066, 83, 94, -263, -263, -263, -263, + -263, -263, -263, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, -263, 1099, -16, -263, -263, -263, 75, 97, + 1035, -16, -263, 742, -263, -263, 1035, 1035, -16, 1035, + 1035, -16, 1035, -263, 1035, 1713, 1035, -263, 1948, 163, + 163, 2097, 2107, 2179, 2179, -43, -43, -43, -43, 2138, + 557, 2148, -35, -35, -263, -263, -263, 1753, -263, -16, + 27, -263, 109, 834, 1035, 96, 116, 1227, 119, 121, + 125, 135, -66, 113, 128, 129, 971, 130, 142, 147, + -263, 145, 56, 56, -263, -263, 788, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, 143, 144, 146, 148, 160, -263, -263, 1147, + -263, -263, -263, -263, 17, 1793, 55, 157, 1833, 57, + 165, 1873, 1912, 161, 2066, 1035, -263, 109, -263, 1035, + -263, -263, 880, 2018, -263, 1035, 196, 1035, -10, -16, + 1035, 124, 164, 167, -263, -263, -263, -263, 2053, -263, + 1035, 1035, 1035, -263, -263, 931, 931, -263, -263, -263, + -263, -263, -263, -263, 179, 180, 181, 184, -263, -263, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 182, -263, 1035, 185, -263, 1035, 186, 1035, 192, + 2066, 61, -263, -263, -263, 1435, 198, 1469, 199, -263, + -263, -263, 1231, -2, 1503, -263, -263, -263, 65, 67, + 1713, 1035, 1035, 1035, 1035, 2066, 2066, 2066, 2066, 2066, + 2066, 2066, 2066, 2066, 2066, 2066, 208, 71, 210, 78, + 212, 1537, 1035, -263, 1227, 1035, 1227, 1035, 1035, -16, + 63, 204, 209, 1571, 1313, 1357, 1401, 1035, -263, 1035, + -263, 1035, -263, 85, 223, 1605, -263, 2066, 211, 1639, + 244, -263, -263, -263, 213, 215, 1035, 217, 1035, 218, + 1035, 87, 106, 114, -263, 1227, 219, -10, 1227, 1035, + -263, -263, 229, -263, 230, -263, 231, -263, -263, -263, + -263, -263, 238, -263, 1673, 232, 235, 236, 1227, 1227, + -263, -263, -263, -263, -263 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 206, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 207, 208, 0, 0, - 0, 1, 4, 5, 6, 176, 0, 10, 11, 210, - 0, 0, 175, 205, 0, 0, 197, 0, 218, 217, - 199, 200, 201, 202, 203, 0, 178, 0, 0, 0, - 0, 0, 209, 211, 214, 216, 0, 90, 91, 92, - 129, 130, 131, 132, 159, 160, 133, 134, 135, 136, - 137, 138, 0, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 149, 150, 151, 152, 153, 154, - 155, 156, 0, 0, 0, 0, 208, 0, 0, 208, - 0, 0, 0, 178, 198, 180, 0, 177, 181, 158, - 157, 213, 215, 204, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 205, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 206, 207, 0, 0, + 0, 1, 4, 5, 6, 175, 0, 10, 11, 209, + 0, 0, 174, 204, 0, 0, 196, 0, 216, 215, + 198, 199, 200, 201, 202, 0, 177, 0, 0, 0, + 0, 0, 208, 212, 214, 0, 90, 91, 92, 129, + 130, 131, 132, 158, 159, 133, 134, 135, 136, 137, + 138, 0, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 0, 149, 150, 151, 152, 153, 154, 155, + 0, 0, 0, 0, 207, 0, 0, 207, 0, 0, + 0, 177, 197, 179, 0, 176, 180, 157, 156, 211, + 213, 203, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 185, 161, 162, - 208, 0, 178, 0, 17, 0, 19, 174, 0, 178, - 0, 0, 178, 0, 0, 187, 0, 180, 0, 173, - 0, 122, 123, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 124, 125, 126, 127, 128, 0, - 184, 0, 0, 177, 182, 0, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 184, 160, 161, 207, 0, + 177, 0, 17, 0, 19, 173, 0, 177, 0, 0, + 177, 0, 0, 186, 0, 179, 0, 172, 0, 122, + 123, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 124, 125, 126, 127, 128, 0, 183, 0, + 0, 176, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 44, 49, 0, 45, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 0, 0, 0, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 183, 0, - 163, 178, 51, 47, 0, 0, 71, 0, 0, 0, - 57, 0, 0, 0, 0, 0, 82, 83, 84, 86, - 0, 87, 178, 178, 0, 188, 189, 106, 108, 52, - 48, 60, 61, 62, 58, 59, 0, 0, 0, 0, - 107, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 178, 0, 167, 178, 0, - 0, 0, 110, 0, 50, 46, 66, 0, 0, 0, - 0, 54, 55, 56, 0, 0, 0, 81, 80, 85, - 0, 0, 0, 0, 0, 0, 0, 95, 101, 102, - 103, 104, 105, 96, 97, 98, 100, 99, 0, 0, - 0, 0, 0, 0, 178, 164, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 166, 178, 168, 178, 212, 0, 72, 0, 74, 93, - 0, 0, 0, 79, 88, 89, 0, 0, 178, 0, - 178, 0, 178, 0, 0, 0, 169, 0, 0, 57, - 0, 0, 63, 65, 177, 68, 177, 70, 177, 170, - 171, 172, 73, 75, 0, 77, 0, 0, 0, 0, - 0, 0, 64, 67, 69, 76, 78 + 53, 0, 0, 0, 44, 49, 0, 45, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 182, 0, 162, 177, + 51, 47, 0, 0, 71, 0, 0, 0, 57, 0, + 0, 0, 0, 0, 82, 83, 84, 86, 0, 87, + 177, 177, 0, 187, 188, 106, 108, 52, 48, 60, + 61, 62, 58, 59, 0, 0, 0, 0, 107, 109, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 177, 0, 166, 177, 0, 0, 0, + 110, 0, 50, 46, 66, 0, 0, 0, 0, 54, + 55, 56, 0, 0, 0, 81, 80, 85, 0, 0, + 0, 0, 0, 0, 0, 95, 101, 102, 103, 104, + 105, 96, 97, 98, 100, 99, 0, 0, 0, 0, + 0, 0, 177, 163, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 177, 165, 177, + 167, 177, 210, 0, 72, 0, 74, 93, 0, 0, + 0, 79, 88, 89, 0, 0, 177, 0, 177, 0, + 177, 0, 0, 0, 168, 0, 0, 57, 0, 0, + 63, 65, 176, 68, 176, 70, 176, 169, 170, 171, + 73, 75, 0, 77, 0, 0, 0, 0, 0, 0, + 64, 67, 69, 76, 78 }; const short parser::yypgoto_[] = { - -261, -261, -261, 260, 292, 293, -261, -261, -261, -132, - 96, -261, -261, -261, -91, -85, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, 190, - -261, -260, -254, -253, -261, -261, -261, -261, -261, -37, - -5, -67, -65, -261, -261, 412, -45, -261, 207, 244, - -261, -261, 256, -261, -261, -261, 261, 333, 338, 343, - -261, -261, 0, 9, -261, -11, -261, -261, -261, 132, - -261, -261 + -263, -263, -263, 283, 290, 292, -263, -263, -263, 205, + 117, -263, -263, -263, -86, -87, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, 188, + -263, -262, -261, -258, -263, -263, -263, -263, -263, -141, + -28, -57, -40, -263, -263, 262, -45, -263, -18, 156, + -263, -263, 239, -263, -263, -263, 248, 276, 321, 331, + -263, -263, 0, 9, -263, -11, -263, -263, 132, -263, + -263 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 206, - 207, 264, 208, 209, 210, 330, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 105, - 390, 234, 235, 236, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 31, 106, 183, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 204, + 205, 262, 206, 207, 208, 328, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 103, + 388, 232, 233, 234, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 31, 104, 181, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 138, 95, 139, 15, 30, - 331, 370, 18, 19, 21, 25, 332, 333, 27, 1, - 2, 3, 4, 5, 93, 32, 273, 260, 98, 94, - 142, 20, 158, 29, 96, 99, 29, 55, -208, 371, - 314, 26, 28, 97, 100, 158, 317, 108, 16, 6, - 365, 158, 6, 263, 373, 158, 374, 268, 107, 158, - 101, 158, 92, 380, 16, 6, -196, -196, 158, -196, - 16, 6, 140, -196, 382, 406, 185, 143, 142, 158, - 158, 141, -196, 113, 186, -196, -208, 187, 188, 144, - 189, 190, 191, 192, 147, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 6, 37, 237, 111, - 112, 419, 41, 42, 43, 44, 158, 145, 145, 202, - 203, 420, 421, -196, -196, -196, 158, 158, 204, 205, - 148, 149, 325, 131, 132, 133, 180, 150, 151, 152, - 238, 153, 154, 184, 142, 246, 158, 159, 237, 331, - 249, 181, 237, 252, 141, 332, 333, 129, 130, 131, - 132, 133, 16, 6, 261, 266, 267, 285, 285, 269, - 270, 237, -188, -188, 138, -188, 139, 271, 272, -188, - 238, 259, 276, 274, 238, 246, 277, 282, -188, 246, - 278, -188, 281, 283, 141, 284, 291, 328, 141, 286, - 286, 315, 292, 238, 246, 246, 293, 294, 246, 295, - 318, 321, 112, 141, 141, 369, 56, 141, 337, 343, - 138, 138, 139, 139, 338, 344, 345, 237, 346, -188, - -188, -188, 358, 285, 386, 102, 388, 360, 109, 110, - 362, 140, 407, 364, 34, 35, 367, 37, 379, 381, - 141, 383, 41, 42, 43, 44, 116, 117, 411, 238, - 203, 427, 394, 395, 246, 286, 428, 138, 22, 139, - 246, 335, 409, 141, 412, 422, 413, 415, 425, 141, - 417, 393, 129, 130, 131, 132, 133, 140, 140, 423, - 429, 430, 432, 157, 433, 434, 141, 141, 435, 436, - 23, 24, 16, 6, 290, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 424, 179, 275, 0, 0, 237, - 0, 237, 0, 0, 140, 0, 0, 0, 247, 0, - 0, 250, 0, 141, 253, 0, 254, 0, 256, 0, - 0, 0, 239, 414, 0, 416, 0, 418, 0, 0, - 0, 238, 0, 238, 0, 0, 246, 0, 246, 0, - 237, 392, 285, 237, 0, 141, 265, 141, 0, -189, - -189, 0, -189, 0, 0, 0, -189, 0, 280, 240, - 0, 0, 239, 237, 237, -189, 239, 0, -189, 0, - 0, 241, 238, 0, 286, 238, 242, 246, 0, 246, - 246, 239, 239, 0, 0, 239, 141, 0, 141, 141, - 0, 0, 0, 0, 0, 238, 238, 0, 0, 240, - 246, 246, 0, 240, 0, 0, -189, -189, -189, 141, - 141, 241, 0, 0, 0, 241, 242, 322, 240, 240, - 242, 0, 240, 0, 0, 0, 0, 327, 0, 329, - 287, 288, 336, 0, 241, 242, 242, 0, 0, 242, - 0, 239, 0, 0, 342, 0, 0, 239, 243, 0, - 0, 0, 0, 244, 0, 0, 0, 0, 245, 0, - 0, 0, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 0, 0, 0, 0, 0, 240, 0, - 363, 0, 0, 0, 240, 0, 0, 0, 243, 0, - 241, 0, 243, 244, 0, 242, 334, 244, 245, 0, - 0, 242, 245, 375, 376, 377, 378, 243, 243, 0, - 0, 243, 244, 244, 0, 0, 244, 245, 245, 0, - 0, 245, 0, 0, 182, 0, 0, 387, 0, 389, - 391, 248, -190, -190, 251, -190, 0, 0, 0, -190, - 0, 0, 0, 239, 0, 239, 0, 0, -190, 0, - 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, - 0, 426, 244, 243, 0, 0, 0, 245, 244, 0, - 240, 0, 240, 245, 239, 0, 239, 239, 0, -190, - -190, -190, 241, 0, 241, 34, 35, 242, 37, 242, - 0, 0, 0, 41, 42, 43, 44, 239, 239, -191, - -191, 203, -191, 0, 0, 0, -191, 0, 0, 204, - 205, 240, 0, 240, 240, -191, 0, 0, -191, 0, - 0, 0, 0, 241, 0, 334, 241, 0, 242, 0, - 242, 242, 0, 323, 240, 240, 0, 0, 0, 0, - 0, 0, 0, 16, 6, 0, 241, 241, 0, 0, - 0, 242, 242, 0, 340, 341, -191, -191, -191, 243, - 0, 243, 34, 35, 244, 37, 244, 0, 0, 245, - 0, 245, 0, 34, 35, 0, 37, 0, 135, 0, - 134, 136, 0, 0, 0, 0, 0, 359, 0, 135, - 361, 0, 136, 0, 0, 0, 0, 0, 0, 0, - 243, 0, 243, 243, 0, 244, 0, 244, 244, 0, - 245, 0, 245, 245, 0, 0, 0, 0, 0, 137, - 16, 6, 0, 243, 243, 0, 0, 0, 244, 244, - 137, 16, 6, 245, 245, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, - 0, 403, 0, 404, 186, 405, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 33, 0, - 0, 0, 41, 42, 43, 44, 0, 0, 145, 289, - 203, 0, 0, 0, 0, 0, 0, 0, 204, 205, - 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 103, 104, 0, - 0, 47, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 16, 6, 0, 0, 0, 48, 49, -192, - -192, 0, -192, 33, 0, 0, -192, 0, 129, 130, - 131, 132, 133, 0, 50, -192, 0, 51, -192, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, + 15, 105, 235, 17, 17, 144, 329, 330, 15, 30, + 331, 21, 18, 19, 136, 1, 2, 3, 4, 5, + 27, 93, 114, 115, 96, 32, 271, 368, 20, 34, + 35, 137, 37, 29, 94, 97, 54, 41, 42, 43, + 44, 28, 235, 95, 98, 201, 235, 106, 127, 128, + 129, 130, 131, 202, 203, 369, 105, 25, 129, 130, + 131, 283, 283, 16, 6, 235, 16, 6, 140, 109, + 110, 138, 29, 91, -195, -195, -207, -195, 92, 258, + 139, -195, 6, 26, 156, 90, 140, 16, 6, 99, + -195, 111, 145, -195, -207, 34, 35, 141, 37, 16, + 6, 142, 6, 41, 42, 43, 44, 312, 146, 315, + 147, 201, 156, 363, 156, 236, 143, 371, 156, 372, + 150, 235, 156, 378, 156, 237, 140, 283, 156, 148, + 380, -195, -195, -195, 178, 156, 149, 404, 151, 417, + 156, 182, 156, 244, 156, 329, 330, 152, 247, 331, + 157, 250, 139, 16, 6, 236, 179, 264, 418, 236, + 259, -187, -187, 156, -187, 237, 419, 265, -187, 237, + 267, 156, 268, 274, 284, 284, 269, -187, 236, 257, + -187, 272, 136, 244, 237, 237, 270, 244, 237, 275, + 276, 279, 139, 280, -188, -188, 139, -188, 281, 137, + 282, -188, 244, 244, 289, 290, 244, 291, 313, 292, + -188, 139, 139, -188, 55, 139, 316, 319, -187, -187, + -187, 293, 326, 235, 335, 235, 110, 336, 136, 136, + 341, 342, 343, 100, 236, 344, 107, 108, 356, 138, + 284, 358, 360, 362, 237, 137, 137, 405, 139, 365, + 237, -188, -188, -188, 127, 128, 129, 130, 131, 377, + 367, 379, 244, 381, 235, 392, 283, 235, 244, 333, + 393, 139, 407, 409, 410, 136, 411, 139, 413, 415, + 421, 425, 426, 427, 391, 138, 138, 235, 235, 155, + 428, 22, 137, 430, 139, 139, 431, 432, 23, 238, + 24, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 422, 177, 0, 288, 273, 0, 0, 0, 0, 0, + 0, 0, 138, 0, 245, 0, 236, 248, 236, 238, + 251, 139, 252, 238, 254, 0, 237, 0, 237, 0, + 0, 412, 0, 414, 0, 416, 0, 0, 238, 238, + 0, 0, 238, 0, 244, 0, 244, 0, 0, 390, + 0, 0, 263, 139, 0, 139, 0, 236, 0, 284, + 236, 0, 239, 0, 278, 0, 0, 237, 261, 237, + 237, 240, 266, 0, 0, 0, 0, 0, 0, 0, + 236, 236, 180, 0, 0, 244, 0, 244, 244, 246, + 237, 237, 249, 0, 139, 0, 139, 139, 238, 241, + 0, 0, 239, 0, 238, 0, 239, 0, 244, 244, + 0, 240, 0, 0, 0, 240, 0, 139, 139, 0, + 0, 285, 286, 320, 0, 239, 0, 0, 0, 0, + 240, 240, 0, 325, 240, 327, 0, 0, 334, 241, + 0, 0, 0, 241, 242, 0, 0, 323, 0, 0, + 340, 0, 0, 0, 243, 0, 0, 0, 241, 241, + 0, 0, 241, 0, 0, 0, 0, 0, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 0, + 0, 239, 0, 0, 242, 0, 361, 332, 242, 0, + 240, 0, 0, 0, 243, 0, 240, 0, 243, 0, + 238, 321, 238, 242, 242, 0, 0, 242, 0, 373, + 374, 375, 376, 243, 243, 0, 0, 243, 241, 0, + 0, 0, 338, 339, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 387, 389, 0, 0, 0, + 0, 238, 0, 238, 238, 0, 0, 0, 0, 384, + 0, 386, 0, 0, 0, 357, 0, 0, 359, -189, + -189, 0, -189, 242, 238, 238, -189, 0, 0, 242, + 0, 0, 0, 243, 0, -189, 0, 424, -189, 243, + 0, -190, -190, 239, -190, 239, 0, 0, -190, 0, + 420, 0, 240, 423, 240, 0, 0, -190, 0, 0, + -190, 0, 114, 115, 383, 0, 118, 119, 120, 121, + 122, 123, 0, 433, 434, 0, -189, -189, -189, 401, + 241, 402, 241, 403, 239, 0, 332, 239, 127, 128, + 129, 130, 131, 240, 0, 240, 240, 0, -190, -190, + -190, 0, 0, 34, 35, 0, 37, 239, 239, 0, + 132, 0, 0, 0, 0, 0, 240, 240, 0, 133, + 0, 241, 134, 241, 241, 242, 0, 242, 0, 0, + 0, 0, 0, 0, 0, 243, 0, 243, 0, -191, + -191, 0, -191, 0, 241, 241, -191, 0, 0, 0, + 0, 0, 0, 0, 0, -191, 0, 0, -191, 0, + 135, 16, 6, 0, 0, 0, 242, 0, 242, 242, + 0, 0, 0, 0, 0, 0, 243, 0, 243, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 242, 0, 0, 183, 0, 0, -191, -191, -191, 243, + 243, 184, 0, 0, 185, 186, 0, 187, 188, 189, + 190, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 34, 35, 0, 37, 0, 0, 0, 0, 41, + 42, 43, 44, 0, 0, 143, 200, 201, 0, 183, + 0, 0, 0, 0, 0, 202, 203, 184, 0, 0, + 185, 186, 0, 187, 188, 189, 190, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 34, 35, 0, + 37, 0, 0, 0, 0, 41, 42, 43, 44, 16, + 6, 143, 287, 201, 0, 0, 260, 0, 0, 0, + 0, 202, 203, 184, 0, 0, 185, 186, 0, 187, + 188, 189, 190, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 34, 35, 0, 37, 0, 0, 0, + 0, 41, 42, 43, 44, 16, 6, 143, 0, 201, + 0, 0, 322, 0, 0, 0, 0, 202, 203, 184, + 0, 0, 185, 186, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 34, + 35, 0, 37, 33, 0, 0, 0, 41, 42, 43, + 44, 16, 6, 143, 0, 201, 0, 0, 0, 0, + 0, 0, 0, 202, 203, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 46, 0, 0, 0, 47, 0, 279, 0, - 0, 0, 0, 0, 0, 0, -192, -192, -192, 0, - 0, 0, 48, 49, -193, -193, 0, -193, 33, 0, - 0, -193, 0, 0, 0, 0, 0, 0, 0, 50, - -193, 0, 51, -193, 16, 6, 29, 52, 53, 54, - 55, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -193, -193, -193, 0, 0, 0, 48, 49, -194, - -194, 0, -194, 33, 0, 0, -194, 0, 0, 0, - 0, 0, 0, 0, 50, -194, 0, 51, -194, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, - 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 103, 0, 116, 117, 47, 119, 120, 121, - 122, 123, 124, 125, 0, 0, -194, -194, -194, 0, - 0, 0, 48, 49, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 0, 0, 50, + 0, 0, 101, 102, 0, 0, 47, 0, 0, 0, + 34, 35, 0, 37, 0, 0, 0, 16, 6, 0, + 0, 0, 48, 49, 0, 0, 133, 33, 0, 134, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, 53, 54, - 55, 262, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 187, 188, 0, 189, 190, 191, 192, 0, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 34, 35, - 0, 37, 0, 0, 0, 0, 41, 42, 43, 44, - 0, 0, 145, 0, 203, 0, 0, 324, 0, 0, - 0, 0, 204, 205, 186, 0, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 0, 0, - 0, 0, 41, 42, 43, 44, 16, 6, 145, 0, - 203, 0, 0, 296, 297, 0, 298, 299, 204, 205, - 0, 0, 0, 0, 0, 0, 0, -195, -195, 0, - -195, 0, 0, 0, -195, 34, 35, 0, 37, 0, - 0, 116, 117, -195, 0, 0, -195, 122, 123, 124, - 125, 135, 16, 6, 136, 0, 0, 0, 0, 300, - 301, 0, 0, 0, 0, 0, 0, 129, 130, 131, - 132, 133, 0, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, -195, -195, -195, 0, 0, 0, - 0, 0, 137, 16, 6, 186, 0, 0, 187, 188, - 0, 189, 190, 191, 192, 0, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 34, 35, 0, 37, 34, - 35, 0, 37, 41, 42, 43, 44, 0, 0, 145, - 0, 203, 0, 0, 0, 135, 0, 0, 136, 204, - 205, 0, 0, 300, 301, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, - 155, 0, 0, 16, 6, 156, 137, 16, 6, 0, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 397, 0, 0, 0, 0, 398, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, + 43, 44, 45, 0, 0, 0, 46, 135, 16, 6, + 47, 0, 277, 0, -192, -192, 0, -192, 0, 0, + 0, -192, -193, -193, 0, -193, 48, 49, 0, -193, + -192, 33, 0, -192, 0, 0, 0, 0, -193, 0, + 0, -193, 0, 50, 0, 0, 51, 0, 16, 6, + 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, + 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, + 46, -192, -192, -192, 47, 0, 0, 0, 0, -193, + -193, -193, -194, -194, 0, -194, 0, 0, 0, -194, + 48, 49, 0, 0, 0, 33, 0, 0, -194, 0, + 0, -194, 0, 0, 0, 0, 0, 50, 0, 0, + 51, 0, 16, 6, 29, 52, 53, 54, 34, 35, + 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, + 45, 0, 0, 0, 101, 0, 0, 0, 47, -194, + -194, -194, 0, 0, 294, 295, 0, 296, 297, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 0, 37, + 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, + 53, 54, 133, 0, 0, 134, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 16, 6, 184, 0, 0, 185, + 186, 0, 187, 188, 189, 190, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 34, 35, 0, 37, + 34, 35, 0, 37, 41, 42, 43, 44, 0, 0, + 143, 0, 201, 0, 0, 0, 133, 0, 0, 134, + 202, 203, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, + 0, 153, 0, 0, 16, 6, 154, 135, 16, 6, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 395, 0, 0, 0, 0, + 396, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 399, 0, - 0, 0, 0, 400, 0, 0, 0, 0, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 401, 0, 0, 0, 0, 402, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 366, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 397, + 0, 0, 0, 0, 398, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 399, 0, 0, 0, 0, 400, 0, + 0, 0, 0, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 364, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 368, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 372, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 408, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 366, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 370, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 394, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 406, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 410, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 431, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 408, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 429, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 255, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 253, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 258, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 256, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 313, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 311, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 316, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 314, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 319, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 317, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 320, 0, - 0, 0, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 257, 0, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 114, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 318, + 0, 0, 0, 0, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 326, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 339, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 0, 129, 130, - 131, 132, 133 + 124, 125, 126, 127, 128, 129, 130, 131, 255, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 112, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 324, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 337, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 113, 0, + 0, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 0, 0, 124, 125, 126, 127, 128, 129, + 130, 131, 114, 115, 0, 117, 118, 119, 120, 121, + 122, 123, 114, 115, 0, 0, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 125, 126, 127, + 128, 129, 130, 131, 0, 0, 0, 125, 0, 127, + 128, 129, 130, 131, 114, 115, 0, 0, 0, 0, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 128, 129, 130, 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 72, 55, 72, 8, 20, - 270, 29, 3, 4, 0, 51, 270, 270, 61, 11, - 12, 13, 14, 15, 52, 25, 92, 52, 55, 57, - 51, 51, 57, 99, 34, 35, 99, 103, 59, 57, - 52, 77, 61, 34, 35, 57, 52, 47, 97, 98, - 52, 57, 98, 185, 52, 57, 52, 189, 103, 57, - 55, 57, 52, 52, 97, 98, 39, 40, 57, 42, - 97, 98, 72, 46, 52, 52, 11, 59, 51, 57, - 57, 72, 55, 98, 19, 58, 59, 22, 23, 61, - 25, 26, 27, 28, 94, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 98, 42, 145, 102, - 103, 52, 47, 48, 49, 50, 57, 53, 53, 54, - 55, 52, 52, 96, 97, 98, 57, 57, 63, 64, - 55, 51, 264, 93, 94, 95, 136, 59, 55, 51, - 145, 59, 55, 143, 51, 145, 57, 56, 185, 409, - 150, 59, 189, 153, 145, 409, 409, 91, 92, 93, - 94, 95, 97, 98, 51, 61, 51, 204, 205, 51, - 51, 208, 39, 40, 241, 42, 241, 51, 51, 46, - 185, 181, 60, 194, 189, 185, 61, 51, 55, 189, - 61, 58, 61, 51, 185, 55, 61, 26, 189, 204, - 205, 51, 61, 208, 204, 205, 61, 61, 208, 61, - 51, 56, 103, 204, 205, 61, 26, 208, 60, 51, - 287, 288, 287, 288, 60, 51, 51, 264, 51, 96, - 97, 98, 56, 270, 366, 45, 368, 56, 48, 49, - 56, 241, 24, 51, 39, 40, 51, 42, 51, 51, - 241, 51, 47, 48, 49, 50, 65, 66, 29, 264, - 55, 52, 61, 61, 264, 270, 52, 334, 8, 334, - 270, 271, 61, 264, 61, 407, 61, 61, 410, 270, - 61, 372, 91, 92, 93, 94, 95, 287, 288, 61, - 52, 52, 61, 103, 61, 61, 287, 288, 430, 431, - 8, 8, 97, 98, 208, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 409, 135, 194, -1, -1, 366, - -1, 368, -1, -1, 334, -1, -1, -1, 148, -1, - -1, 151, -1, 334, 154, -1, 156, -1, 158, -1, - -1, -1, 145, 398, -1, 400, -1, 402, -1, -1, - -1, 366, -1, 368, -1, -1, 366, -1, 368, -1, - 407, 371, 409, 410, -1, 366, 186, 368, -1, 39, - 40, -1, 42, -1, -1, -1, 46, -1, 198, 145, - -1, -1, 185, 430, 431, 55, 189, -1, 58, -1, - -1, 145, 407, -1, 409, 410, 145, 407, -1, 409, - 410, 204, 205, -1, -1, 208, 407, -1, 409, 410, - -1, -1, -1, -1, -1, 430, 431, -1, -1, 185, - 430, 431, -1, 189, -1, -1, 96, 97, 98, 430, - 431, 185, -1, -1, -1, 189, 185, 257, 204, 205, - 189, -1, 208, -1, -1, -1, -1, 267, -1, 269, - 204, 205, 272, -1, 208, 204, 205, -1, -1, 208, - -1, 264, -1, -1, 284, -1, -1, 270, 145, -1, - -1, -1, -1, 145, -1, -1, -1, -1, 145, -1, - -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, -1, -1, -1, -1, -1, 264, -1, - 320, -1, -1, -1, 270, -1, -1, -1, 185, -1, - 264, -1, 189, 185, -1, 264, 270, 189, 185, -1, - -1, 270, 189, 343, 344, 345, 346, 204, 205, -1, - -1, 208, 204, 205, -1, -1, 208, 204, 205, -1, - -1, 208, -1, -1, 142, -1, -1, 367, -1, 369, - 370, 149, 39, 40, 152, 42, -1, -1, -1, 46, - -1, -1, -1, 366, -1, 368, -1, -1, 55, -1, - -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, - -1, 411, 264, 270, -1, -1, -1, 264, 270, -1, - 366, -1, 368, 270, 407, -1, 409, 410, -1, 96, - 97, 98, 366, -1, 368, 39, 40, 366, 42, 368, - -1, -1, -1, 47, 48, 49, 50, 430, 431, 39, - 40, 55, 42, -1, -1, -1, 46, -1, -1, 63, - 64, 407, -1, 409, 410, 55, -1, -1, 58, -1, - -1, -1, -1, 407, -1, 409, 410, -1, 407, -1, - 409, 410, -1, 261, 430, 431, -1, -1, -1, -1, - -1, -1, -1, 97, 98, -1, 430, 431, -1, -1, - -1, 430, 431, -1, 282, 283, 96, 97, 98, 366, - -1, 368, 39, 40, 366, 42, 368, -1, -1, 366, - -1, 368, -1, 39, 40, -1, 42, -1, 55, -1, - 46, 58, -1, -1, -1, -1, -1, 315, -1, 55, - 318, -1, 58, -1, -1, -1, -1, -1, -1, -1, - 407, -1, 409, 410, -1, 407, -1, 409, 410, -1, - 407, -1, 409, 410, -1, -1, -1, -1, -1, 96, - 97, 98, -1, 430, 431, -1, -1, -1, 430, 431, - 96, 97, 98, 430, 431, -1, 364, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, - -1, 379, -1, 381, 19, 383, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, 16, -1, - -1, -1, 47, 48, 49, 50, -1, -1, 53, 54, - 55, -1, -1, -1, -1, -1, -1, -1, 63, 64, - -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, - -1, 59, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, 91, 92, - 93, 94, 95, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, + 0, 46, 143, 3, 4, 91, 268, 268, 8, 20, + 268, 0, 3, 4, 71, 11, 12, 13, 14, 15, + 61, 55, 65, 66, 55, 25, 92, 29, 51, 39, + 40, 71, 42, 99, 34, 35, 102, 47, 48, 49, + 50, 61, 183, 34, 35, 55, 187, 47, 91, 92, + 93, 94, 95, 63, 64, 57, 101, 51, 93, 94, + 95, 202, 203, 97, 98, 206, 97, 98, 51, 101, + 102, 71, 99, 52, 39, 40, 59, 42, 57, 52, + 71, 46, 98, 77, 57, 52, 51, 97, 98, 55, + 55, 98, 92, 58, 59, 39, 40, 59, 42, 97, + 98, 61, 98, 47, 48, 49, 50, 52, 55, 52, + 51, 55, 57, 52, 57, 143, 53, 52, 57, 52, + 51, 262, 57, 52, 57, 143, 51, 268, 57, 59, + 52, 96, 97, 98, 134, 57, 55, 52, 59, 52, + 57, 141, 57, 143, 57, 407, 407, 55, 148, 407, + 56, 151, 143, 97, 98, 183, 59, 61, 52, 187, + 51, 39, 40, 57, 42, 183, 52, 51, 46, 187, + 51, 57, 51, 60, 202, 203, 51, 55, 206, 179, + 58, 192, 239, 183, 202, 203, 51, 187, 206, 61, + 61, 61, 183, 51, 39, 40, 187, 42, 51, 239, + 55, 46, 202, 203, 61, 61, 206, 61, 51, 61, + 55, 202, 203, 58, 26, 206, 51, 56, 96, 97, + 98, 61, 26, 364, 60, 366, 102, 60, 285, 286, + 51, 51, 51, 45, 262, 51, 48, 49, 56, 239, + 268, 56, 56, 51, 262, 285, 286, 24, 239, 51, + 268, 96, 97, 98, 91, 92, 93, 94, 95, 51, + 61, 51, 262, 51, 405, 61, 407, 408, 268, 269, + 61, 262, 61, 29, 61, 332, 61, 268, 61, 61, + 61, 52, 52, 52, 370, 285, 286, 428, 429, 101, + 52, 8, 332, 61, 285, 286, 61, 61, 8, 143, + 8, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 407, 133, -1, 206, 192, -1, -1, -1, -1, -1, + -1, -1, 332, -1, 146, -1, 364, 149, 366, 183, + 152, 332, 154, 187, 156, -1, 364, -1, 366, -1, + -1, 396, -1, 398, -1, 400, -1, -1, 202, 203, + -1, -1, 206, -1, 364, -1, 366, -1, -1, 369, + -1, -1, 184, 364, -1, 366, -1, 405, -1, 407, + 408, -1, 143, -1, 196, -1, -1, 405, 183, 407, + 408, 143, 187, -1, -1, -1, -1, -1, -1, -1, + 428, 429, 140, -1, -1, 405, -1, 407, 408, 147, + 428, 429, 150, -1, 405, -1, 407, 408, 262, 143, + -1, -1, 183, -1, 268, -1, 187, -1, 428, 429, + -1, 183, -1, -1, -1, 187, -1, 428, 429, -1, + -1, 202, 203, 255, -1, 206, -1, -1, -1, -1, + 202, 203, -1, 265, 206, 267, -1, -1, 270, 183, + -1, -1, -1, 187, 143, -1, -1, 262, -1, -1, + 282, -1, -1, -1, 143, -1, -1, -1, 202, 203, + -1, -1, 206, -1, -1, -1, -1, -1, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, -1, + -1, 262, -1, -1, 183, -1, 318, 268, 187, -1, + 262, -1, -1, -1, 183, -1, 268, -1, 187, -1, + 364, 259, 366, 202, 203, -1, -1, 206, -1, 341, + 342, 343, 344, 202, 203, -1, -1, 206, 262, -1, + -1, -1, 280, 281, 268, -1, -1, -1, -1, -1, + -1, -1, -1, 365, -1, 367, 368, -1, -1, -1, + -1, 405, -1, 407, 408, -1, -1, -1, -1, 364, + -1, 366, -1, -1, -1, 313, -1, -1, 316, 39, + 40, -1, 42, 262, 428, 429, 46, -1, -1, 268, + -1, -1, -1, 262, -1, 55, -1, 409, 58, 268, + -1, 39, 40, 364, 42, 366, -1, -1, 46, -1, + 405, -1, 364, 408, 366, -1, -1, 55, -1, -1, + 58, -1, 65, 66, 362, -1, 69, 70, 71, 72, + 73, 74, -1, 428, 429, -1, 96, 97, 98, 377, + 364, 379, 366, 381, 405, -1, 407, 408, 91, 92, + 93, 94, 95, 405, -1, 407, 408, -1, 96, 97, + 98, -1, -1, 39, 40, -1, 42, 428, 429, -1, + 46, -1, -1, -1, -1, -1, 428, 429, -1, 55, + -1, 405, 58, 407, 408, 364, -1, 366, -1, -1, + -1, -1, -1, -1, -1, 364, -1, 366, -1, 39, + 40, -1, 42, -1, 428, 429, 46, -1, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, 58, -1, + 96, 97, 98, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, + 429, -1, -1, 11, -1, -1, 96, 97, 98, 428, + 429, 19, -1, -1, 22, 23, -1, 25, 26, 27, + 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, -1, 42, -1, -1, -1, -1, 47, + 48, 49, 50, -1, -1, 53, 54, 55, -1, 11, + -1, -1, -1, -1, -1, 63, 64, 19, -1, -1, + 22, 23, -1, 25, 26, 27, 28, -1, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, + 42, -1, -1, -1, -1, 47, 48, 49, 50, 97, + 98, 53, 54, 55, -1, -1, 12, -1, -1, -1, + -1, 63, 64, 19, -1, -1, 22, 23, -1, 25, + 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, -1, 42, -1, -1, -1, + -1, 47, 48, 49, 50, 97, 98, 53, -1, 55, + -1, -1, 12, -1, -1, -1, -1, 63, 64, 19, + -1, -1, 22, 23, -1, 25, 26, 27, 28, -1, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, -1, 42, 16, -1, -1, -1, 47, 48, 49, + 50, 97, 98, 53, -1, 55, -1, -1, -1, -1, + -1, -1, -1, 63, 64, -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, -1, -1, 59, -1, 61, -1, - -1, -1, -1, -1, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, 39, 40, -1, 42, 16, -1, - -1, 46, -1, -1, -1, -1, -1, -1, -1, 92, - 55, -1, 95, 58, 97, 98, 99, 100, 101, 102, - 103, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, -1, -1, - -1, -1, -1, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, - 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, 65, 66, 59, 68, 69, 70, - 71, 72, 73, 74, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, -1, -1, -1, 88, 89, 90, - 91, 92, 93, 94, 95, -1, -1, -1, -1, 92, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + 39, 40, -1, 42, -1, -1, -1, 97, 98, -1, + -1, -1, 75, 76, -1, -1, 55, 16, -1, 58, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, 101, 102, - 103, 12, -1, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, -1, 25, 26, 27, 28, -1, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - -1, 42, -1, -1, -1, -1, 47, 48, 49, 50, - -1, -1, 53, -1, 55, -1, -1, 12, -1, -1, - -1, -1, 63, 64, 19, -1, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, -1, -1, - -1, -1, 47, 48, 49, 50, 97, 98, 53, -1, - 55, -1, -1, 17, 18, -1, 20, 21, 63, 64, - -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, - 42, -1, -1, -1, 46, 39, 40, -1, 42, -1, - -1, 65, 66, 55, -1, -1, 58, 71, 72, 73, - 74, 55, 97, 98, 58, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, 91, 92, 93, - 94, 95, -1, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 96, 97, 98, -1, -1, -1, - -1, -1, 96, 97, 98, 19, -1, -1, 22, 23, - -1, 25, 26, 27, 28, -1, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, -1, 42, 39, - 40, -1, 42, 47, 48, 49, 50, -1, -1, 53, - -1, 55, -1, -1, -1, 55, -1, -1, 58, 63, - 64, -1, -1, 63, 64, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, - 52, -1, -1, 97, 98, 57, 96, 97, 98, -1, + 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, + 49, 50, 51, -1, -1, -1, 55, 96, 97, 98, + 59, -1, 61, -1, 39, 40, -1, 42, -1, -1, + -1, 46, 39, 40, -1, 42, 75, 76, -1, 46, + 55, 16, -1, 58, -1, -1, -1, -1, 55, -1, + -1, 58, -1, 92, -1, -1, 95, -1, 97, 98, + 99, 100, 101, 102, 39, 40, 41, 42, 43, 44, + 45, -1, 47, 48, 49, 50, 51, -1, -1, -1, + 55, 96, 97, 98, 59, -1, -1, -1, -1, 96, + 97, 98, 39, 40, -1, 42, -1, -1, -1, 46, + 75, 76, -1, -1, -1, 16, -1, -1, 55, -1, + -1, 58, -1, -1, -1, -1, -1, 92, -1, -1, + 95, -1, 97, 98, 99, 100, 101, 102, 39, 40, + 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, + 51, -1, -1, -1, 55, -1, -1, -1, 59, 96, + 97, 98, -1, -1, 17, 18, -1, 20, 21, -1, + -1, -1, -1, -1, 75, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 39, 40, -1, 42, + -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, + 101, 102, 55, -1, -1, 58, -1, -1, -1, -1, + 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 98, 19, -1, -1, 22, + 23, -1, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, -1, 42, + 39, 40, -1, 42, 47, 48, 49, 50, -1, -1, + 53, -1, 55, -1, -1, -1, 55, -1, -1, 58, + 63, 64, -1, -1, 63, 64, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, + -1, 52, -1, -1, 97, 98, 57, 96, 97, 98, + -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 52, -1, -1, -1, -1, + 57, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 52, + -1, -1, -1, -1, 57, -1, -1, -1, -1, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 52, -1, -1, -1, -1, 57, -1, + -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 52, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 57, + -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 88, 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 52, -1, -1, -1, -1, 57, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 52, -1, - -1, -1, -1, 57, -1, -1, -1, -1, 62, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 61, + 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 74, 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 52, -1, -1, -1, -1, 57, -1, -1, - -1, -1, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 94, 95, 65, 66, -1, 68, 69, 70, 71, 72, + 73, 74, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, -1, -1, -1, 89, -1, 91, + 92, 93, 94, 95, 65, 66, -1, -1, -1, -1, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 52, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 57, -1, - -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 61, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, 93, 94, - 95, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, -1, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 89, -1, 91, 92, - 93, 94, 95 + 91, 92, 93, 94, 95 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 98, 114, 115, 116, - 117, 118, 119, 120, 121, 185, 97, 185, 186, 186, - 51, 0, 116, 117, 118, 51, 77, 61, 61, 99, - 188, 167, 185, 16, 39, 40, 41, 42, 43, 44, + 0, 11, 12, 13, 14, 15, 98, 113, 114, 115, + 116, 117, 118, 119, 120, 184, 97, 184, 185, 185, + 51, 0, 115, 116, 117, 51, 77, 61, 61, 99, + 187, 166, 184, 16, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 55, 59, 75, 76, - 92, 95, 100, 101, 102, 103, 152, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 170, 171, 172, + 92, 95, 100, 101, 102, 151, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 52, 52, 57, 55, 185, 186, 55, 185, - 186, 55, 152, 55, 56, 152, 168, 169, 185, 152, - 152, 102, 103, 98, 61, 62, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 88, 89, 90, 91, - 92, 93, 94, 95, 46, 55, 58, 96, 164, 165, - 185, 186, 51, 59, 61, 53, 127, 185, 55, 51, - 59, 55, 51, 59, 55, 52, 57, 152, 57, 56, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 185, 59, 168, 169, 185, 11, 19, 22, 23, 25, - 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 54, 55, 63, 64, 122, 123, 125, 126, - 127, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 154, 155, 156, 162, 163, 171, - 172, 175, 179, 180, 181, 182, 185, 152, 168, 185, - 152, 168, 185, 152, 152, 56, 152, 60, 56, 185, - 52, 51, 12, 122, 124, 152, 61, 51, 122, 51, - 51, 51, 51, 92, 188, 192, 60, 61, 61, 61, - 152, 61, 51, 51, 55, 162, 163, 175, 175, 54, - 123, 61, 61, 61, 61, 61, 17, 18, 20, 21, - 63, 64, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 56, 52, 51, 56, 52, 51, 56, - 57, 56, 152, 168, 12, 122, 61, 152, 26, 152, - 128, 154, 155, 156, 175, 185, 152, 60, 60, 61, - 168, 168, 152, 51, 51, 51, 51, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 56, 168, - 56, 168, 56, 152, 51, 52, 52, 51, 52, 61, - 29, 57, 52, 52, 52, 152, 152, 152, 152, 51, - 52, 51, 52, 51, 52, 168, 122, 152, 122, 152, - 153, 152, 185, 127, 61, 61, 52, 52, 57, 52, - 57, 52, 57, 168, 168, 168, 52, 24, 52, 61, - 52, 29, 61, 61, 169, 61, 169, 61, 169, 52, - 52, 52, 122, 61, 128, 122, 152, 52, 52, 52, - 52, 52, 61, 61, 61, 122, 122 + 52, 52, 57, 55, 184, 185, 55, 184, 185, 55, + 151, 55, 56, 151, 167, 168, 184, 151, 151, 101, + 102, 98, 61, 62, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 88, 89, 90, 91, 92, 93, + 94, 95, 46, 55, 58, 96, 163, 164, 184, 185, + 51, 59, 61, 53, 126, 184, 55, 51, 59, 55, + 51, 59, 55, 52, 57, 151, 57, 56, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 184, 59, + 167, 168, 184, 11, 19, 22, 23, 25, 26, 27, + 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 54, 55, 63, 64, 121, 122, 124, 125, 126, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 153, 154, 155, 161, 162, 170, 171, 174, + 178, 179, 180, 181, 184, 151, 167, 184, 151, 167, + 184, 151, 151, 56, 151, 60, 56, 184, 52, 51, + 12, 121, 123, 151, 61, 51, 121, 51, 51, 51, + 51, 92, 187, 190, 60, 61, 61, 61, 151, 61, + 51, 51, 55, 161, 162, 174, 174, 54, 122, 61, + 61, 61, 61, 61, 17, 18, 20, 21, 63, 64, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 56, 52, 51, 56, 52, 51, 56, 57, 56, + 151, 167, 12, 121, 61, 151, 26, 151, 127, 153, + 154, 155, 174, 184, 151, 60, 60, 61, 167, 167, + 151, 51, 51, 51, 51, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 56, 167, 56, 167, + 56, 151, 51, 52, 52, 51, 52, 61, 29, 57, + 52, 52, 52, 151, 151, 151, 151, 51, 52, 51, + 52, 51, 52, 167, 121, 151, 121, 151, 152, 151, + 184, 126, 61, 61, 52, 52, 57, 52, 57, 52, + 57, 167, 167, 167, 52, 24, 52, 61, 52, 29, + 61, 61, 168, 61, 168, 61, 168, 52, 52, 52, + 121, 61, 127, 121, 151, 52, 52, 52, 52, 52, + 61, 61, 61, 121, 121 }; const unsigned char parser::yyr1_[] = { - 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, - 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 123, 123, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 128, 128, 128, 129, 129, - 130, 130, 130, 131, 132, 132, 133, 134, 134, 135, - 135, 136, 137, 138, 139, 140, 141, 142, 142, 143, - 144, 144, 145, 146, 147, 148, 148, 149, 150, 151, - 152, 152, 152, 153, 153, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 155, 155, 156, 156, - 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 160, 161, 162, - 162, 163, 163, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 166, 167, 167, 167, 168, 168, 169, - 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 186, 187, - 188, 189, 190, 191, 191, 192, 192, 193, 194 + 0, 112, 113, 113, 114, 114, 114, 114, 114, 114, + 115, 116, 117, 117, 117, 117, 117, 118, 119, 120, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 122, 122, 123, 123, 124, 124, + 125, 125, 126, 126, 127, 127, 127, 127, 128, 128, + 129, 129, 129, 130, 131, 131, 132, 133, 133, 134, + 134, 135, 136, 137, 138, 139, 140, 141, 141, 142, + 143, 143, 144, 145, 146, 147, 147, 148, 149, 150, + 151, 151, 151, 152, 152, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 154, 154, 155, 155, + 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 159, 160, 161, 161, + 162, 162, 163, 163, 163, 163, 163, 163, 164, 164, + 164, 164, 165, 166, 166, 166, 167, 167, 168, 168, + 169, 169, 170, 171, 171, 172, 173, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 185, 186, 187, + 188, 189, 189, 190, 190, 191, 192 }; const signed char @@ -4460,13 +4425,13 @@ namespace xsk { namespace gsc { namespace iw6 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, 2, 1, - 1, 2, 2, 4, 6, 5, 7, 5, 7, 8, - 9, 9, 9, 3, 3, 1, 0, 1, 0, 3, - 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 7, 2, 1, 2, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, + 2, 2, 4, 6, 5, 7, 5, 7, 8, 9, + 9, 9, 3, 3, 1, 0, 1, 0, 3, 1, + 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 7, 2, 1, 2, 1, 1, 1 }; @@ -4476,28 +4441,28 @@ namespace xsk { namespace gsc { namespace iw6 { const short parser::yyrline_[] = { - 0, 254, 254, 255, 259, 261, 263, 265, 267, 269, - 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 333, 334, 338, 340, 345, 347, - 352, 353, 357, 358, 362, 364, 366, 369, 373, 375, - 380, 382, 384, 389, 394, 396, 401, 406, 408, 413, - 415, 420, 425, 430, 435, 440, 445, 450, 452, 457, - 462, 464, 469, 474, 479, 484, 486, 491, 496, 501, - 506, 507, 508, 512, 513, 517, 519, 521, 523, 525, - 527, 529, 531, 533, 535, 537, 542, 544, 549, 551, - 556, 561, 563, 565, 567, 569, 571, 573, 575, 577, - 579, 581, 583, 585, 587, 589, 591, 593, 595, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 631, 636, 641, - 642, 645, 646, 650, 652, 654, 656, 658, 660, 665, - 667, 669, 671, 676, 681, 683, 686, 690, 693, 697, - 699, 704, 706, 711, 716, 718, 723, 728, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 745, 750, 755, - 760, 765, 770, 775, 780, 785, 790, 795, 797, 802, - 807, 812, 817, 822, 824, 829, 831, 836, 841 + 0, 252, 252, 253, 257, 259, 261, 263, 265, 267, + 272, 276, 281, 282, 283, 284, 285, 289, 294, 299, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 331, 332, 336, 338, 343, 345, + 350, 351, 355, 356, 360, 362, 364, 367, 371, 373, + 378, 380, 382, 387, 392, 394, 399, 404, 406, 411, + 413, 418, 423, 428, 433, 438, 443, 448, 450, 455, + 460, 462, 467, 472, 477, 482, 484, 489, 494, 499, + 504, 505, 506, 510, 511, 515, 517, 519, 521, 523, + 525, 527, 529, 531, 533, 535, 540, 542, 547, 549, + 554, 559, 561, 563, 565, 567, 569, 571, 573, 575, + 577, 579, 581, 583, 585, 587, 589, 591, 593, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 628, 633, 638, 639, + 642, 643, 647, 649, 651, 653, 655, 657, 662, 664, + 666, 668, 673, 678, 680, 683, 687, 690, 694, 696, + 701, 703, 708, 713, 715, 720, 725, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 742, 747, 752, 757, + 762, 767, 772, 777, 782, 787, 792, 794, 799, 804, + 809, 814, 816, 821, 823, 828, 833 }; void @@ -4530,9 +4495,9 @@ namespace xsk { namespace gsc { namespace iw6 { #line 13 "parser.ypp" } } } // xsk::gsc::iw6 -#line 4534 "parser.cpp" +#line 4499 "parser.cpp" -#line 845 "parser.ypp" +#line 837 "parser.ypp" void xsk::gsc::iw6::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/iw6/xsk/parser.hpp b/src/iw6/xsk/parser.hpp index 56035e4b..eb082456 100644 --- a/src/iw6/xsk/parser.hpp +++ b/src/iw6/xsk/parser.hpp @@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw6 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waittill - char dummy63[sizeof (ast::stmt_waittill::ptr)]; + char dummy62[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy63[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy64[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy66[sizeof (ast::stmt_while::ptr)]; + char dummy65[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy67[sizeof (std::string)]; + char dummy66[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw6 { IDENTIFIER = 98, // "identifier" STRING = 99, // "string literal" ISTRING = 100, // "localized string" - COLOR = 101, // "color" - FLOAT = 102, // "float" - INTEGER = 103, // "integer" - ADD_ARRAY = 104, // ADD_ARRAY - THEN = 105, // THEN - TERN = 106, // TERN - NEG = 107, // NEG - ANIMREF = 108, // ANIMREF - PREINC = 109, // PREINC - PREDEC = 110, // PREDEC - POSTINC = 111, // POSTINC - POSTDEC = 112 // POSTDEC + FLOAT = 101, // "float" + INTEGER = 102, // "integer" + ADD_ARRAY = 103, // ADD_ARRAY + THEN = 104, // THEN + TERN = 105, // TERN + NEG = 106, // NEG + ANIMREF = 107, // ANIMREF + PREINC = 108, // PREINC + PREDEC = 109, // PREDEC + POSTINC = 110, // POSTINC + POSTDEC = 111 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw6 { { enum symbol_kind_type { - YYNTOKENS = 113, ///< Number of tokens. + YYNTOKENS = 112, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw6 { S_IDENTIFIER = 98, // "identifier" S_STRING = 99, // "string literal" S_ISTRING = 100, // "localized string" - S_COLOR = 101, // "color" - S_FLOAT = 102, // "float" - S_INTEGER = 103, // "integer" - S_ADD_ARRAY = 104, // ADD_ARRAY - S_THEN = 105, // THEN - S_TERN = 106, // TERN - S_NEG = 107, // NEG - S_ANIMREF = 108, // ANIMREF - S_PREINC = 109, // PREINC - S_PREDEC = 110, // PREDEC - S_POSTINC = 111, // POSTINC - S_POSTDEC = 112, // POSTDEC - S_YYACCEPT = 113, // $accept - S_root = 114, // root - S_program = 115, // program - S_inline = 116, // inline - S_include = 117, // include - S_declaration = 118, // declaration - S_decl_usingtree = 119, // decl_usingtree - S_decl_constant = 120, // decl_constant - S_decl_thread = 121, // decl_thread - S_stmt = 122, // stmt - S_stmt_or_dev = 123, // stmt_or_dev - S_stmt_list = 124, // stmt_list - S_stmt_or_dev_list = 125, // stmt_or_dev_list - S_stmt_dev = 126, // stmt_dev - S_stmt_block = 127, // stmt_block - S_stmt_expr = 128, // stmt_expr - S_stmt_call = 129, // stmt_call - S_stmt_assign = 130, // stmt_assign - S_stmt_endon = 131, // stmt_endon - S_stmt_notify = 132, // stmt_notify - S_stmt_wait = 133, // stmt_wait - S_stmt_waittill = 134, // stmt_waittill - S_stmt_waittillmatch = 135, // stmt_waittillmatch - S_stmt_waittillframeend = 136, // stmt_waittillframeend - S_stmt_if = 137, // stmt_if - S_stmt_ifelse = 138, // stmt_ifelse - S_stmt_while = 139, // stmt_while - S_stmt_dowhile = 140, // stmt_dowhile - S_stmt_for = 141, // stmt_for - S_stmt_foreach = 142, // stmt_foreach - S_stmt_switch = 143, // stmt_switch - S_stmt_case = 144, // stmt_case - S_stmt_default = 145, // stmt_default - S_stmt_break = 146, // stmt_break - S_stmt_continue = 147, // stmt_continue - S_stmt_return = 148, // stmt_return - S_stmt_breakpoint = 149, // stmt_breakpoint - S_stmt_prof_begin = 150, // stmt_prof_begin - S_stmt_prof_end = 151, // stmt_prof_end - S_expr = 152, // expr - S_expr_or_empty = 153, // expr_or_empty - S_expr_assign = 154, // expr_assign - S_expr_increment = 155, // expr_increment - S_expr_decrement = 156, // expr_decrement - S_expr_ternary = 157, // expr_ternary - S_expr_binary = 158, // expr_binary - S_expr_primitive = 159, // expr_primitive - S_expr_complement = 160, // expr_complement - S_expr_not = 161, // expr_not - S_expr_call = 162, // expr_call - S_expr_method = 163, // expr_method - S_expr_function = 164, // expr_function - S_expr_pointer = 165, // expr_pointer - S_expr_add_array = 166, // expr_add_array - S_expr_parameters = 167, // expr_parameters - S_expr_arguments = 168, // expr_arguments - S_expr_arguments_no_empty = 169, // expr_arguments_no_empty - S_expr_reference = 170, // expr_reference - S_expr_array = 171, // expr_array - S_expr_field = 172, // expr_field - S_expr_size = 173, // expr_size - S_expr_paren = 174, // expr_paren - S_expr_object = 175, // expr_object - S_expr_thisthread = 176, // expr_thisthread - S_expr_empty_array = 177, // expr_empty_array - S_expr_undefined = 178, // expr_undefined - S_expr_game = 179, // expr_game - S_expr_self = 180, // expr_self - S_expr_anim = 181, // expr_anim - S_expr_level = 182, // expr_level - S_expr_animation = 183, // expr_animation - S_expr_animtree = 184, // expr_animtree - S_expr_identifier = 185, // expr_identifier - S_expr_path = 186, // expr_path - S_expr_istring = 187, // expr_istring - S_expr_string = 188, // expr_string - S_expr_color = 189, // expr_color - S_expr_vector = 190, // expr_vector - S_expr_float = 191, // expr_float - S_expr_integer = 192, // expr_integer - S_expr_false = 193, // expr_false - S_expr_true = 194 // expr_true + S_FLOAT = 101, // "float" + S_INTEGER = 102, // "integer" + S_ADD_ARRAY = 103, // ADD_ARRAY + S_THEN = 104, // THEN + S_TERN = 105, // TERN + S_NEG = 106, // NEG + S_ANIMREF = 107, // ANIMREF + S_PREINC = 108, // PREINC + S_PREDEC = 109, // PREDEC + S_POSTINC = 110, // POSTINC + S_POSTDEC = 111, // POSTDEC + S_YYACCEPT = 112, // $accept + S_root = 113, // root + S_program = 114, // program + S_inline = 115, // inline + S_include = 116, // include + S_declaration = 117, // declaration + S_decl_usingtree = 118, // decl_usingtree + S_decl_constant = 119, // decl_constant + S_decl_thread = 120, // decl_thread + S_stmt = 121, // stmt + S_stmt_or_dev = 122, // stmt_or_dev + S_stmt_list = 123, // stmt_list + S_stmt_or_dev_list = 124, // stmt_or_dev_list + S_stmt_dev = 125, // stmt_dev + S_stmt_block = 126, // stmt_block + S_stmt_expr = 127, // stmt_expr + S_stmt_call = 128, // stmt_call + S_stmt_assign = 129, // stmt_assign + S_stmt_endon = 130, // stmt_endon + S_stmt_notify = 131, // stmt_notify + S_stmt_wait = 132, // stmt_wait + S_stmt_waittill = 133, // stmt_waittill + S_stmt_waittillmatch = 134, // stmt_waittillmatch + S_stmt_waittillframeend = 135, // stmt_waittillframeend + S_stmt_if = 136, // stmt_if + S_stmt_ifelse = 137, // stmt_ifelse + S_stmt_while = 138, // stmt_while + S_stmt_dowhile = 139, // stmt_dowhile + S_stmt_for = 140, // stmt_for + S_stmt_foreach = 141, // stmt_foreach + S_stmt_switch = 142, // stmt_switch + S_stmt_case = 143, // stmt_case + S_stmt_default = 144, // stmt_default + S_stmt_break = 145, // stmt_break + S_stmt_continue = 146, // stmt_continue + S_stmt_return = 147, // stmt_return + S_stmt_breakpoint = 148, // stmt_breakpoint + S_stmt_prof_begin = 149, // stmt_prof_begin + S_stmt_prof_end = 150, // stmt_prof_end + S_expr = 151, // expr + S_expr_or_empty = 152, // expr_or_empty + S_expr_assign = 153, // expr_assign + S_expr_increment = 154, // expr_increment + S_expr_decrement = 155, // expr_decrement + S_expr_ternary = 156, // expr_ternary + S_expr_binary = 157, // expr_binary + S_expr_primitive = 158, // expr_primitive + S_expr_complement = 159, // expr_complement + S_expr_not = 160, // expr_not + S_expr_call = 161, // expr_call + S_expr_method = 162, // expr_method + S_expr_function = 163, // expr_function + S_expr_pointer = 164, // expr_pointer + S_expr_add_array = 165, // expr_add_array + S_expr_parameters = 166, // expr_parameters + S_expr_arguments = 167, // expr_arguments + S_expr_arguments_no_empty = 168, // expr_arguments_no_empty + S_expr_reference = 169, // expr_reference + S_expr_array = 170, // expr_array + S_expr_field = 171, // expr_field + S_expr_size = 172, // expr_size + S_expr_paren = 173, // expr_paren + S_expr_object = 174, // expr_object + S_expr_thisthread = 175, // expr_thisthread + S_expr_empty_array = 176, // expr_empty_array + S_expr_undefined = 177, // expr_undefined + S_expr_game = 178, // expr_game + S_expr_self = 179, // expr_self + S_expr_anim = 180, // expr_anim + S_expr_level = 181, // expr_level + S_expr_animation = 182, // expr_animation + S_expr_animtree = 183, // expr_animtree + S_expr_identifier = 184, // expr_identifier + S_expr_path = 185, // expr_path + S_expr_istring = 186, // expr_istring + S_expr_string = 187, // expr_string + S_expr_vector = 188, // expr_vector + S_expr_float = 189, // expr_float + S_expr_integer = 190, // expr_integer + S_expr_false = 191, // expr_false + S_expr_true = 192 // expr_true }; }; @@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw6 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw6 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw6 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2370,10 +2344,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2590,7 +2560,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4267,21 +4236,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4791,8 +4745,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2262, ///< Last index in yytable_. - yynnts_ = 82, ///< Number of nonterminal symbols. + yylast_ = 2274, ///< Last index in yytable_. + yynnts_ = 81, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4881,10 +4835,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5101,7 +5051,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5198,10 +5147,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5418,7 +5363,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5487,7 +5431,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::iw6 -#line 5491 "parser.hpp" +#line 5435 "parser.hpp" diff --git a/src/iw7/xsk/parser.cpp b/src/iw7/xsk/parser.cpp index 1570bc91..9f76794f 100644 --- a/src/iw7/xsk/parser.cpp +++ b/src/iw7/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace iw7 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -497,7 +493,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -580,10 +575,6 @@ namespace xsk { namespace gsc { namespace iw7 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -800,7 +791,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -883,10 +873,6 @@ namespace xsk { namespace gsc { namespace iw7 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1103,7 +1089,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1185,10 +1170,6 @@ namespace xsk { namespace gsc { namespace iw7 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1405,7 +1386,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1742,10 +1722,6 @@ namespace xsk { namespace gsc { namespace iw7 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1962,7 +1938,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -1989,1309 +1964,1297 @@ namespace xsk { namespace gsc { namespace iw7 { switch (yyn) { case 2: // root: program -#line 254 "parser.ypp" +#line 252 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 1995 "parser.cpp" +#line 1970 "parser.cpp" break; case 3: // root: %empty -#line 255 "parser.ypp" +#line 253 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2001 "parser.cpp" +#line 1976 "parser.cpp" break; case 4: // program: program inline -#line 260 "parser.ypp" +#line 258 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2007 "parser.cpp" +#line 1982 "parser.cpp" break; case 5: // program: program include -#line 262 "parser.ypp" +#line 260 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2013 "parser.cpp" +#line 1988 "parser.cpp" break; case 6: // program: program declaration -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2019 "parser.cpp" +#line 1994 "parser.cpp" break; case 7: // program: inline -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2025 "parser.cpp" +#line 2000 "parser.cpp" break; case 8: // program: include -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2031 "parser.cpp" +#line 2006 "parser.cpp" break; case 9: // program: declaration -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2037 "parser.cpp" +#line 2012 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 274 "parser.ypp" +#line 272 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2043 "parser.cpp" +#line 2018 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 279 "parser.ypp" +#line 277 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2049 "parser.cpp" +#line 2024 "parser.cpp" break; case 12: // declaration: "/#" -#line 283 "parser.ypp" +#line 281 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2055 "parser.cpp" +#line 2030 "parser.cpp" break; case 13: // declaration: "#/" -#line 284 "parser.ypp" +#line 282 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2061 "parser.cpp" +#line 2036 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2067 "parser.cpp" +#line 2042 "parser.cpp" break; case 15: // declaration: decl_constant -#line 286 "parser.ypp" +#line 284 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2073 "parser.cpp" +#line 2048 "parser.cpp" break; case 16: // declaration: decl_thread -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2079 "parser.cpp" +#line 2054 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 292 "parser.ypp" +#line 290 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2085 "parser.cpp" +#line 2060 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 297 "parser.ypp" +#line 295 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2091 "parser.cpp" +#line 2066 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 302 "parser.ypp" +#line 300 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2097 "parser.cpp" +#line 2072 "parser.cpp" break; case 20: // stmt: stmt_block -#line 306 "parser.ypp" +#line 304 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2103 "parser.cpp" +#line 2078 "parser.cpp" break; case 21: // stmt: stmt_call -#line 307 "parser.ypp" +#line 305 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2109 "parser.cpp" +#line 2084 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 308 "parser.ypp" +#line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2115 "parser.cpp" +#line 2090 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 309 "parser.ypp" +#line 307 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2121 "parser.cpp" +#line 2096 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2127 "parser.cpp" +#line 2102 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2133 "parser.cpp" +#line 2108 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2139 "parser.cpp" +#line 2114 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2145 "parser.cpp" +#line 2120 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2151 "parser.cpp" +#line 2126 "parser.cpp" break; case 29: // stmt: stmt_if -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2157 "parser.cpp" +#line 2132 "parser.cpp" break; case 30: // stmt: stmt_ifelse -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2163 "parser.cpp" +#line 2138 "parser.cpp" break; case 31: // stmt: stmt_while -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2169 "parser.cpp" +#line 2144 "parser.cpp" break; case 32: // stmt: stmt_dowhile -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2175 "parser.cpp" +#line 2150 "parser.cpp" break; case 33: // stmt: stmt_for -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2181 "parser.cpp" +#line 2156 "parser.cpp" break; case 34: // stmt: stmt_foreach -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2187 "parser.cpp" +#line 2162 "parser.cpp" break; case 35: // stmt: stmt_switch -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2193 "parser.cpp" +#line 2168 "parser.cpp" break; case 36: // stmt: stmt_case -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2199 "parser.cpp" +#line 2174 "parser.cpp" break; case 37: // stmt: stmt_default -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2205 "parser.cpp" +#line 2180 "parser.cpp" break; case 38: // stmt: stmt_break -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2211 "parser.cpp" +#line 2186 "parser.cpp" break; case 39: // stmt: stmt_continue -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2217 "parser.cpp" +#line 2192 "parser.cpp" break; case 40: // stmt: stmt_return -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2223 "parser.cpp" +#line 2198 "parser.cpp" break; case 41: // stmt: stmt_breakpoint -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2229 "parser.cpp" +#line 2204 "parser.cpp" break; case 42: // stmt: stmt_prof_begin -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2235 "parser.cpp" +#line 2210 "parser.cpp" break; case 43: // stmt: stmt_prof_end -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2241 "parser.cpp" +#line 2216 "parser.cpp" break; case 44: // stmt_or_dev: stmt -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2247 "parser.cpp" +#line 2222 "parser.cpp" break; case 45: // stmt_or_dev: stmt_dev -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2253 "parser.cpp" +#line 2228 "parser.cpp" break; case 46: // stmt_list: stmt_list stmt -#line 339 "parser.ypp" +#line 337 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2259 "parser.cpp" +#line 2234 "parser.cpp" break; case 47: // stmt_list: stmt -#line 341 "parser.ypp" +#line 339 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2265 "parser.cpp" +#line 2240 "parser.cpp" break; case 48: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2271 "parser.cpp" +#line 2246 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev -#line 348 "parser.ypp" +#line 346 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2277 "parser.cpp" +#line 2252 "parser.cpp" break; case 50: // stmt_dev: "/#" stmt_list "#/" -#line 352 "parser.ypp" +#line 350 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2283 "parser.cpp" +#line 2258 "parser.cpp" break; case 51: // stmt_dev: "/#" "#/" -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2289 "parser.cpp" +#line 2264 "parser.cpp" break; case 52: // stmt_block: "{" stmt_or_dev_list "}" -#line 357 "parser.ypp" +#line 355 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2295 "parser.cpp" +#line 2270 "parser.cpp" break; case 53: // stmt_block: "{" "}" -#line 358 "parser.ypp" +#line 356 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2301 "parser.cpp" +#line 2276 "parser.cpp" break; case 54: // stmt_expr: expr_assign -#line 363 "parser.ypp" +#line 361 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2307 "parser.cpp" +#line 2282 "parser.cpp" break; case 55: // stmt_expr: expr_increment -#line 365 "parser.ypp" +#line 363 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2313 "parser.cpp" +#line 2288 "parser.cpp" break; case 56: // stmt_expr: expr_decrement -#line 367 "parser.ypp" +#line 365 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2319 "parser.cpp" +#line 2294 "parser.cpp" break; case 57: // stmt_expr: %empty -#line 369 "parser.ypp" +#line 367 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2325 "parser.cpp" +#line 2300 "parser.cpp" break; case 58: // stmt_call: expr_call ";" -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2331 "parser.cpp" +#line 2306 "parser.cpp" break; case 59: // stmt_call: expr_method ";" -#line 376 "parser.ypp" +#line 374 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2337 "parser.cpp" +#line 2312 "parser.cpp" break; case 60: // stmt_assign: expr_assign ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2343 "parser.cpp" +#line 2318 "parser.cpp" break; case 61: // stmt_assign: expr_increment ";" -#line 383 "parser.ypp" +#line 381 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2349 "parser.cpp" +#line 2324 "parser.cpp" break; case 62: // stmt_assign: expr_decrement ";" -#line 385 "parser.ypp" +#line 383 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2355 "parser.cpp" +#line 2330 "parser.cpp" break; case 63: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2361 "parser.cpp" +#line 2336 "parser.cpp" break; case 64: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 395 "parser.ypp" +#line 393 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2367 "parser.cpp" +#line 2342 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 397 "parser.ypp" +#line 395 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2373 "parser.cpp" +#line 2348 "parser.cpp" break; case 66: // stmt_wait: "wait" expr ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2379 "parser.cpp" +#line 2354 "parser.cpp" break; case 67: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 407 "parser.ypp" +#line 405 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2385 "parser.cpp" +#line 2360 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 409 "parser.ypp" +#line 407 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2391 "parser.cpp" +#line 2366 "parser.cpp" break; case 69: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2397 "parser.cpp" +#line 2372 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 416 "parser.ypp" +#line 414 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2403 "parser.cpp" +#line 2378 "parser.cpp" break; case 71: // stmt_waittillframeend: "waittillframeend" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2409 "parser.cpp" +#line 2384 "parser.cpp" break; case 72: // stmt_if: "if" "(" expr ")" stmt -#line 426 "parser.ypp" +#line 424 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2415 "parser.cpp" +#line 2390 "parser.cpp" break; case 73: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2421 "parser.cpp" +#line 2396 "parser.cpp" break; case 74: // stmt_while: "while" "(" expr ")" stmt -#line 436 "parser.ypp" +#line 434 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2427 "parser.cpp" +#line 2402 "parser.cpp" break; case 75: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 441 "parser.ypp" +#line 439 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2433 "parser.cpp" +#line 2408 "parser.cpp" break; case 76: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 446 "parser.ypp" +#line 444 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2439 "parser.cpp" +#line 2414 "parser.cpp" break; case 77: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 451 "parser.ypp" +#line 449 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2445 "parser.cpp" +#line 2420 "parser.cpp" break; case 78: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 453 "parser.ypp" +#line 451 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2451 "parser.cpp" +#line 2426 "parser.cpp" break; case 79: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 458 "parser.ypp" +#line 456 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2457 "parser.cpp" +#line 2432 "parser.cpp" break; case 80: // stmt_case: "case" expr_integer ":" -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2463 "parser.cpp" +#line 2438 "parser.cpp" break; case 81: // stmt_case: "case" expr_string ":" -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2469 "parser.cpp" +#line 2444 "parser.cpp" break; case 82: // stmt_default: "default" ":" -#line 470 "parser.ypp" +#line 468 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2475 "parser.cpp" +#line 2450 "parser.cpp" break; case 83: // stmt_break: "break" ";" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2481 "parser.cpp" +#line 2456 "parser.cpp" break; case 84: // stmt_continue: "continue" ";" -#line 480 "parser.ypp" +#line 478 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2487 "parser.cpp" +#line 2462 "parser.cpp" break; case 85: // stmt_return: "return" expr ";" -#line 485 "parser.ypp" +#line 483 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2493 "parser.cpp" +#line 2468 "parser.cpp" break; case 86: // stmt_return: "return" ";" -#line 487 "parser.ypp" +#line 485 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2499 "parser.cpp" +#line 2474 "parser.cpp" break; case 87: // stmt_breakpoint: "breakpoint" ";" -#line 492 "parser.ypp" +#line 490 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2505 "parser.cpp" +#line 2480 "parser.cpp" break; case 88: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2511 "parser.cpp" +#line 2486 "parser.cpp" break; case 89: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 502 "parser.ypp" +#line 500 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2517 "parser.cpp" +#line 2492 "parser.cpp" break; case 90: // expr: expr_ternary -#line 506 "parser.ypp" +#line 504 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2523 "parser.cpp" +#line 2498 "parser.cpp" break; case 91: // expr: expr_binary -#line 507 "parser.ypp" +#line 505 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2529 "parser.cpp" +#line 2504 "parser.cpp" break; case 92: // expr: expr_primitive -#line 508 "parser.ypp" +#line 506 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2535 "parser.cpp" +#line 2510 "parser.cpp" break; case 93: // expr_or_empty: expr -#line 512 "parser.ypp" +#line 510 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2541 "parser.cpp" +#line 2516 "parser.cpp" break; case 94: // expr_or_empty: %empty -#line 513 "parser.ypp" +#line 511 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2547 "parser.cpp" +#line 2522 "parser.cpp" break; case 95: // expr_assign: expr_object "=" expr -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2553 "parser.cpp" +#line 2528 "parser.cpp" break; case 96: // expr_assign: expr_object "|=" expr -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2559 "parser.cpp" +#line 2534 "parser.cpp" break; case 97: // expr_assign: expr_object "&=" expr -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2565 "parser.cpp" +#line 2540 "parser.cpp" break; case 98: // expr_assign: expr_object "^=" expr -#line 524 "parser.ypp" +#line 522 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2571 "parser.cpp" +#line 2546 "parser.cpp" break; case 99: // expr_assign: expr_object "<<=" expr -#line 526 "parser.ypp" +#line 524 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2577 "parser.cpp" +#line 2552 "parser.cpp" break; case 100: // expr_assign: expr_object ">>=" expr -#line 528 "parser.ypp" +#line 526 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2583 "parser.cpp" +#line 2558 "parser.cpp" break; case 101: // expr_assign: expr_object "+=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2589 "parser.cpp" +#line 2564 "parser.cpp" break; case 102: // expr_assign: expr_object "-=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2595 "parser.cpp" +#line 2570 "parser.cpp" break; case 103: // expr_assign: expr_object "*=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2601 "parser.cpp" +#line 2576 "parser.cpp" break; case 104: // expr_assign: expr_object "/=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2607 "parser.cpp" +#line 2582 "parser.cpp" break; case 105: // expr_assign: expr_object "%=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2613 "parser.cpp" +#line 2588 "parser.cpp" break; case 106: // expr_increment: "++" expr_object -#line 543 "parser.ypp" +#line 541 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2619 "parser.cpp" +#line 2594 "parser.cpp" break; case 107: // expr_increment: expr_object "++" -#line 545 "parser.ypp" +#line 543 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2625 "parser.cpp" +#line 2600 "parser.cpp" break; case 108: // expr_decrement: "--" expr_object -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2631 "parser.cpp" +#line 2606 "parser.cpp" break; case 109: // expr_decrement: expr_object "--" -#line 552 "parser.ypp" +#line 550 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2637 "parser.cpp" +#line 2612 "parser.cpp" break; case 110: // expr_ternary: expr "?" expr ":" expr -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2643 "parser.cpp" +#line 2618 "parser.cpp" break; case 111: // expr_binary: expr "||" expr -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2649 "parser.cpp" +#line 2624 "parser.cpp" break; case 112: // expr_binary: expr "&&" expr -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2655 "parser.cpp" +#line 2630 "parser.cpp" break; case 113: // expr_binary: expr "==" expr -#line 566 "parser.ypp" +#line 564 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2661 "parser.cpp" +#line 2636 "parser.cpp" break; case 114: // expr_binary: expr "!=" expr -#line 568 "parser.ypp" +#line 566 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2667 "parser.cpp" +#line 2642 "parser.cpp" break; case 115: // expr_binary: expr "<=" expr -#line 570 "parser.ypp" +#line 568 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2673 "parser.cpp" +#line 2648 "parser.cpp" break; case 116: // expr_binary: expr ">=" expr -#line 572 "parser.ypp" +#line 570 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2679 "parser.cpp" +#line 2654 "parser.cpp" break; case 117: // expr_binary: expr "<" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2685 "parser.cpp" +#line 2660 "parser.cpp" break; case 118: // expr_binary: expr ">" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2691 "parser.cpp" +#line 2666 "parser.cpp" break; case 119: // expr_binary: expr "|" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2697 "parser.cpp" +#line 2672 "parser.cpp" break; case 120: // expr_binary: expr "&" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2703 "parser.cpp" +#line 2678 "parser.cpp" break; case 121: // expr_binary: expr "^" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2709 "parser.cpp" +#line 2684 "parser.cpp" break; case 122: // expr_binary: expr "<<" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2715 "parser.cpp" +#line 2690 "parser.cpp" break; case 123: // expr_binary: expr ">>" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2721 "parser.cpp" +#line 2696 "parser.cpp" break; case 124: // expr_binary: expr "+" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2727 "parser.cpp" +#line 2702 "parser.cpp" break; case 125: // expr_binary: expr "-" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2733 "parser.cpp" +#line 2708 "parser.cpp" break; case 126: // expr_binary: expr "*" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2739 "parser.cpp" +#line 2714 "parser.cpp" break; case 127: // expr_binary: expr "/" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2745 "parser.cpp" +#line 2720 "parser.cpp" break; case 128: // expr_binary: expr "%" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2751 "parser.cpp" +#line 2726 "parser.cpp" break; case 129: // expr_primitive: expr_complement -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2757 "parser.cpp" +#line 2732 "parser.cpp" break; case 130: // expr_primitive: expr_not -#line 601 "parser.ypp" +#line 599 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2763 "parser.cpp" +#line 2738 "parser.cpp" break; case 131: // expr_primitive: expr_call -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2769 "parser.cpp" +#line 2744 "parser.cpp" break; case 132: // expr_primitive: expr_method -#line 603 "parser.ypp" +#line 601 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2775 "parser.cpp" +#line 2750 "parser.cpp" break; case 133: // expr_primitive: expr_add_array -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2781 "parser.cpp" +#line 2756 "parser.cpp" break; case 134: // expr_primitive: expr_reference -#line 605 "parser.ypp" +#line 603 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2787 "parser.cpp" +#line 2762 "parser.cpp" break; case 135: // expr_primitive: expr_array -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2793 "parser.cpp" +#line 2768 "parser.cpp" break; case 136: // expr_primitive: expr_field -#line 607 "parser.ypp" +#line 605 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2799 "parser.cpp" +#line 2774 "parser.cpp" break; case 137: // expr_primitive: expr_size -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2805 "parser.cpp" +#line 2780 "parser.cpp" break; case 138: // expr_primitive: expr_paren -#line 609 "parser.ypp" +#line 607 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2811 "parser.cpp" +#line 2786 "parser.cpp" break; case 139: // expr_primitive: expr_thisthread -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2817 "parser.cpp" +#line 2792 "parser.cpp" break; case 140: // expr_primitive: expr_empty_array -#line 611 "parser.ypp" +#line 609 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2823 "parser.cpp" +#line 2798 "parser.cpp" break; case 141: // expr_primitive: expr_undefined -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2829 "parser.cpp" +#line 2804 "parser.cpp" break; case 142: // expr_primitive: expr_game -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2835 "parser.cpp" +#line 2810 "parser.cpp" break; case 143: // expr_primitive: expr_self -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2841 "parser.cpp" +#line 2816 "parser.cpp" break; case 144: // expr_primitive: expr_anim -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2847 "parser.cpp" +#line 2822 "parser.cpp" break; case 145: // expr_primitive: expr_level -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2853 "parser.cpp" +#line 2828 "parser.cpp" break; case 146: // expr_primitive: expr_animation -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2859 "parser.cpp" +#line 2834 "parser.cpp" break; case 147: // expr_primitive: expr_animtree -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2865 "parser.cpp" +#line 2840 "parser.cpp" break; case 148: // expr_primitive: expr_identifier -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2871 "parser.cpp" +#line 2846 "parser.cpp" break; case 149: // expr_primitive: expr_istring -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2877 "parser.cpp" +#line 2852 "parser.cpp" break; case 150: // expr_primitive: expr_string -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2883 "parser.cpp" +#line 2858 "parser.cpp" break; - case 151: // expr_primitive: expr_color -#line 622 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2889 "parser.cpp" - break; - - case 152: // expr_primitive: expr_vector -#line 623 "parser.ypp" + case 151: // expr_primitive: expr_vector +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2895 "parser.cpp" +#line 2864 "parser.cpp" break; - case 153: // expr_primitive: expr_float -#line 624 "parser.ypp" + case 152: // expr_primitive: expr_float +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2901 "parser.cpp" +#line 2870 "parser.cpp" break; - case 154: // expr_primitive: expr_integer -#line 625 "parser.ypp" + case 153: // expr_primitive: expr_integer +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2907 "parser.cpp" +#line 2876 "parser.cpp" break; - case 155: // expr_primitive: expr_false -#line 626 "parser.ypp" + case 154: // expr_primitive: expr_false +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2913 "parser.cpp" +#line 2882 "parser.cpp" break; - case 156: // expr_primitive: expr_true -#line 627 "parser.ypp" + case 155: // expr_primitive: expr_true +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2919 "parser.cpp" +#line 2888 "parser.cpp" break; - case 157: // expr_complement: "~" expr -#line 632 "parser.ypp" + case 156: // expr_complement: "~" expr +#line 629 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2925 "parser.cpp" +#line 2894 "parser.cpp" break; - case 158: // expr_not: "!" expr -#line 637 "parser.ypp" + case 157: // expr_not: "!" expr +#line 634 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2931 "parser.cpp" +#line 2900 "parser.cpp" break; - case 159: // expr_call: expr_function -#line 641 "parser.ypp" + case 158: // expr_call: expr_function +#line 638 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2937 "parser.cpp" +#line 2906 "parser.cpp" break; - case 160: // expr_call: expr_pointer + case 159: // expr_call: expr_pointer +#line 639 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2912 "parser.cpp" + break; + + case 160: // expr_method: expr_object expr_function #line 642 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2943 "parser.cpp" - break; - - case 161: // expr_method: expr_object expr_function -#line 645 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2949 "parser.cpp" +#line 2918 "parser.cpp" break; - case 162: // expr_method: expr_object expr_pointer -#line 646 "parser.ypp" + case 161: // expr_method: expr_object expr_pointer +#line 643 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2955 "parser.cpp" +#line 2924 "parser.cpp" break; - case 163: // expr_function: expr_identifier "(" expr_arguments ")" -#line 651 "parser.ypp" + case 162: // expr_function: expr_identifier "(" expr_arguments ")" +#line 648 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2961 "parser.cpp" +#line 2930 "parser.cpp" break; - case 164: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 653 "parser.ypp" + case 163: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 650 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2967 "parser.cpp" +#line 2936 "parser.cpp" break; - case 165: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 655 "parser.ypp" + case 164: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 652 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2973 "parser.cpp" +#line 2942 "parser.cpp" break; - case 166: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 657 "parser.ypp" + case 165: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 654 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 2979 "parser.cpp" +#line 2948 "parser.cpp" break; - case 167: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 659 "parser.ypp" + case 166: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 656 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2985 "parser.cpp" +#line 2954 "parser.cpp" break; - case 168: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 661 "parser.ypp" + case 167: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 2991 "parser.cpp" +#line 2960 "parser.cpp" break; - case 169: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 666 "parser.ypp" + case 168: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 663 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2997 "parser.cpp" +#line 2966 "parser.cpp" break; - case 170: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 668 "parser.ypp" + case 169: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 665 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3003 "parser.cpp" +#line 2972 "parser.cpp" break; - case 171: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 670 "parser.ypp" + case 170: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 667 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3009 "parser.cpp" +#line 2978 "parser.cpp" break; - case 172: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 672 "parser.ypp" + case 171: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 669 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3015 "parser.cpp" +#line 2984 "parser.cpp" break; - case 173: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 677 "parser.ypp" + case 172: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 674 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3021 "parser.cpp" +#line 2990 "parser.cpp" break; - case 174: // expr_parameters: expr_parameters "," expr_identifier -#line 682 "parser.ypp" + case 173: // expr_parameters: expr_parameters "," expr_identifier +#line 679 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3027 "parser.cpp" +#line 2996 "parser.cpp" break; - case 175: // expr_parameters: expr_identifier -#line 684 "parser.ypp" + case 174: // expr_parameters: expr_identifier +#line 681 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3033 "parser.cpp" +#line 3002 "parser.cpp" break; - case 176: // expr_parameters: %empty -#line 686 "parser.ypp" + case 175: // expr_parameters: %empty +#line 683 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3039 "parser.cpp" +#line 3008 "parser.cpp" break; - case 177: // expr_arguments: expr_arguments_no_empty -#line 691 "parser.ypp" + case 176: // expr_arguments: expr_arguments_no_empty +#line 688 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3045 "parser.cpp" +#line 3014 "parser.cpp" break; - case 178: // expr_arguments: %empty -#line 693 "parser.ypp" + case 177: // expr_arguments: %empty +#line 690 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3051 "parser.cpp" +#line 3020 "parser.cpp" break; - case 179: // expr_arguments_no_empty: expr_arguments "," expr -#line 698 "parser.ypp" + case 178: // expr_arguments_no_empty: expr_arguments "," expr +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3057 "parser.cpp" +#line 3026 "parser.cpp" break; - case 180: // expr_arguments_no_empty: expr -#line 700 "parser.ypp" + case 179: // expr_arguments_no_empty: expr +#line 697 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3063 "parser.cpp" +#line 3032 "parser.cpp" break; - case 181: // expr_reference: "::" expr_identifier -#line 705 "parser.ypp" + case 180: // expr_reference: "::" expr_identifier +#line 702 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3069 "parser.cpp" +#line 3038 "parser.cpp" break; - case 182: // expr_reference: expr_path "::" expr_identifier -#line 707 "parser.ypp" + case 181: // expr_reference: expr_path "::" expr_identifier +#line 704 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3075 "parser.cpp" +#line 3044 "parser.cpp" break; - case 183: // expr_array: expr_object "[" expr "]" -#line 712 "parser.ypp" + case 182: // expr_array: expr_object "[" expr "]" +#line 709 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3081 "parser.cpp" +#line 3050 "parser.cpp" break; - case 184: // expr_field: expr_object "." expr_identifier -#line 717 "parser.ypp" + case 183: // expr_field: expr_object "." expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3087 "parser.cpp" +#line 3056 "parser.cpp" break; - case 185: // expr_field: expr_object "field" -#line 719 "parser.ypp" + case 184: // expr_field: expr_object "field" +#line 716 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3093 "parser.cpp" +#line 3062 "parser.cpp" break; - case 186: // expr_size: expr_object ".size" -#line 724 "parser.ypp" + case 185: // expr_size: expr_object ".size" +#line 721 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3099 "parser.cpp" +#line 3068 "parser.cpp" break; - case 187: // expr_paren: "(" expr ")" -#line 729 "parser.ypp" + case 186: // expr_paren: "(" expr ")" +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3105 "parser.cpp" +#line 3074 "parser.cpp" break; - case 188: // expr_object: expr_call -#line 733 "parser.ypp" + case 187: // expr_object: expr_call +#line 730 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3111 "parser.cpp" +#line 3080 "parser.cpp" break; - case 189: // expr_object: expr_method -#line 734 "parser.ypp" + case 188: // expr_object: expr_method +#line 731 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3117 "parser.cpp" +#line 3086 "parser.cpp" break; - case 190: // expr_object: expr_array -#line 735 "parser.ypp" + case 189: // expr_object: expr_array +#line 732 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3123 "parser.cpp" +#line 3092 "parser.cpp" break; - case 191: // expr_object: expr_field -#line 736 "parser.ypp" + case 190: // expr_object: expr_field +#line 733 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3129 "parser.cpp" +#line 3098 "parser.cpp" break; - case 192: // expr_object: expr_game -#line 737 "parser.ypp" + case 191: // expr_object: expr_game +#line 734 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3135 "parser.cpp" +#line 3104 "parser.cpp" break; - case 193: // expr_object: expr_self -#line 738 "parser.ypp" + case 192: // expr_object: expr_self +#line 735 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3141 "parser.cpp" +#line 3110 "parser.cpp" break; - case 194: // expr_object: expr_anim -#line 739 "parser.ypp" + case 193: // expr_object: expr_anim +#line 736 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3147 "parser.cpp" +#line 3116 "parser.cpp" break; - case 195: // expr_object: expr_level -#line 740 "parser.ypp" + case 194: // expr_object: expr_level +#line 737 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3153 "parser.cpp" +#line 3122 "parser.cpp" break; - case 196: // expr_object: expr_identifier -#line 741 "parser.ypp" + case 195: // expr_object: expr_identifier +#line 738 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3159 "parser.cpp" +#line 3128 "parser.cpp" break; - case 197: // expr_thisthread: "thisthread" -#line 746 "parser.ypp" + case 196: // expr_thisthread: "thisthread" +#line 743 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3165 "parser.cpp" +#line 3134 "parser.cpp" break; - case 198: // expr_empty_array: "[" "]" -#line 751 "parser.ypp" + case 197: // expr_empty_array: "[" "]" +#line 748 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3171 "parser.cpp" +#line 3140 "parser.cpp" break; - case 199: // expr_undefined: "undefined" -#line 756 "parser.ypp" + case 198: // expr_undefined: "undefined" +#line 753 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3177 "parser.cpp" +#line 3146 "parser.cpp" break; - case 200: // expr_game: "game" -#line 761 "parser.ypp" + case 199: // expr_game: "game" +#line 758 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3183 "parser.cpp" +#line 3152 "parser.cpp" break; - case 201: // expr_self: "self" -#line 766 "parser.ypp" + case 200: // expr_self: "self" +#line 763 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3189 "parser.cpp" +#line 3158 "parser.cpp" break; - case 202: // expr_anim: "anim" -#line 771 "parser.ypp" + case 201: // expr_anim: "anim" +#line 768 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3195 "parser.cpp" +#line 3164 "parser.cpp" break; - case 203: // expr_level: "level" -#line 776 "parser.ypp" + case 202: // expr_level: "level" +#line 773 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3201 "parser.cpp" +#line 3170 "parser.cpp" break; - case 204: // expr_animation: "%" "identifier" -#line 781 "parser.ypp" + case 203: // expr_animation: "%" "identifier" +#line 778 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3207 "parser.cpp" +#line 3176 "parser.cpp" break; - case 205: // expr_animtree: "#animtree" -#line 786 "parser.ypp" + case 204: // expr_animtree: "#animtree" +#line 783 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3213 "parser.cpp" +#line 3182 "parser.cpp" break; - case 206: // expr_identifier: "identifier" -#line 791 "parser.ypp" + case 205: // expr_identifier: "identifier" +#line 788 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3219 "parser.cpp" +#line 3188 "parser.cpp" break; - case 207: // expr_path: "path" -#line 796 "parser.ypp" + case 206: // expr_path: "path" +#line 793 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3225 "parser.cpp" +#line 3194 "parser.cpp" break; - case 208: // expr_path: expr_identifier -#line 798 "parser.ypp" + case 207: // expr_path: expr_identifier +#line 795 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3231 "parser.cpp" +#line 3200 "parser.cpp" break; - case 209: // expr_istring: "localized string" -#line 803 "parser.ypp" + case 208: // expr_istring: "localized string" +#line 800 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3237 "parser.cpp" +#line 3206 "parser.cpp" break; - case 210: // expr_string: "string literal" -#line 808 "parser.ypp" + case 209: // expr_string: "string literal" +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3243 "parser.cpp" +#line 3212 "parser.cpp" break; - case 211: // expr_color: "color" -#line 813 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3249 "parser.cpp" - break; - - case 212: // expr_vector: "(" expr "," expr "," expr ")" -#line 818 "parser.ypp" + case 210: // expr_vector: "(" expr "," expr "," expr ")" +#line 810 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3255 "parser.cpp" +#line 3218 "parser.cpp" break; - case 213: // expr_float: "-" "float" -#line 823 "parser.ypp" + case 211: // expr_float: "-" "float" +#line 815 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3261 "parser.cpp" +#line 3224 "parser.cpp" break; - case 214: // expr_float: "float" -#line 825 "parser.ypp" + case 212: // expr_float: "float" +#line 817 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3267 "parser.cpp" +#line 3230 "parser.cpp" break; - case 215: // expr_integer: "-" "integer" -#line 830 "parser.ypp" + case 213: // expr_integer: "-" "integer" +#line 822 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3273 "parser.cpp" +#line 3236 "parser.cpp" break; - case 216: // expr_integer: "integer" -#line 832 "parser.ypp" + case 214: // expr_integer: "integer" +#line 824 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3279 "parser.cpp" +#line 3242 "parser.cpp" break; - case 217: // expr_false: "false" -#line 837 "parser.ypp" + case 215: // expr_false: "false" +#line 829 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3285 "parser.cpp" +#line 3248 "parser.cpp" break; - case 218: // expr_true: "true" -#line 842 "parser.ypp" + case 216: // expr_true: "true" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3291 "parser.cpp" +#line 3254 "parser.cpp" break; -#line 3295 "parser.cpp" +#line 3258 "parser.cpp" default: break; @@ -3487,12 +3450,12 @@ namespace xsk { namespace gsc { namespace iw7 { "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", "localized string", - "color", "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", - "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", - "program", "inline", "include", "declaration", "decl_usingtree", - "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", - "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", - "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "float", "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", + "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", "program", + "inline", "include", "declaration", "decl_usingtree", "decl_constant", + "decl_thread", "stmt", "stmt_or_dev", "stmt_list", "stmt_or_dev_list", + "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", "stmt_assign", + "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", "stmt_continue", @@ -3506,8 +3469,8 @@ namespace xsk { namespace gsc { namespace iw7 { "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", + "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3772,674 +3735,676 @@ namespace xsk { namespace gsc { namespace iw7 { } - const short parser::yypact_ninf_ = -261; + const short parser::yypact_ninf_ = -263; - const short parser::yytable_ninf_ = -209; + const short parser::yytable_ninf_ = -208; const short parser::yypact_[] = { - 8, -261, -261, -33, -33, -20, -261, 14, 8, -261, - -261, -261, -261, -261, -261, -36, -261, -261, -43, -19, - -63, -261, -261, -261, -261, -46, 932, -261, -261, -261, - 10, -28, -261, -261, -49, -27, -261, 5, -261, -261, - -261, -261, -261, -261, -261, 932, 802, -46, 932, 932, - 7, -15, -261, -261, -261, -261, 2012, -261, -261, -261, - -261, -261, 133, 340, -261, -261, -261, -261, 523, 600, - -261, -261, 674, -261, -261, -261, 840, 905, 970, 1168, - -261, -261, 27, 18, -261, -261, -261, -261, -261, -261, - -261, -261, 28, 64, -46, 75, 80, 78, 83, 88, - 82, 87, 1298, 802, -261, 2095, 89, 91, -261, -261, - -261, -261, -261, -261, -261, 932, 932, 932, 932, 932, - 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 932, -261, 997, -46, -261, -261, -261, - 93, 92, 932, -46, -261, 65, -261, -261, 932, 932, - -46, 932, 932, -46, 932, -261, 932, 1742, 932, -261, - 1977, 66, 66, 989, 2126, 1156, 1156, 191, 191, 191, - 191, 2136, 797, 2167, 40, 40, -261, -261, -261, 1782, - -261, -46, -25, -261, 113, 1089, 932, 104, 115, 1256, - 118, 119, 126, 127, -66, 122, 125, 129, 867, 131, - 136, 142, -261, 140, 205, 205, -261, -261, 775, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, 135, 141, 145, 146, 148, -261, - -261, 1176, -261, -261, -261, -261, -21, 1822, -12, 150, - 1862, -6, 159, 1902, 1941, 155, 2095, 932, -261, 113, - -261, 932, -261, -261, 1135, 2047, -261, 932, 171, 932, - 586, -46, 932, 109, 158, 164, -261, -261, -261, -261, - 2082, -261, 932, 932, 932, -261, -261, 663, 663, -261, - -261, -261, -261, -261, -261, -261, 168, 174, 175, 177, - -261, -261, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 932, 932, 176, -261, 932, 181, -261, 932, 184, - 932, 192, 2095, -2, -261, -261, -261, 1464, 195, 1498, - 154, -261, -261, -261, 1260, -18, 1532, -261, -261, -261, - 2, 4, 1742, 932, 932, 932, 932, 2095, 2095, 2095, - 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 197, 11, - 198, 22, 200, 1566, 932, -261, 1256, 932, 1256, 932, - 932, -46, 64, 201, 202, 1600, 1342, 1386, 1430, 932, - -261, 932, -261, 932, -261, 23, 218, 1634, -261, 2095, - 211, 1668, 229, -261, -261, -261, 213, 215, 932, 216, - 932, 219, 932, 59, 69, 70, -261, 1256, 228, 586, - 1256, 932, -261, -261, 209, -261, 214, -261, 238, -261, - -261, -261, -261, -261, 239, -261, 1702, 231, 233, 234, - 1256, 1256, -261, -261, -261, -261, -261 + 4, -263, -263, 2, 2, -23, -263, 11, 4, -263, + -263, -263, -263, -263, -263, 6, -263, -263, -41, -20, + -27, -263, -263, -263, -263, -16, 1035, -263, -263, -263, + 33, 21, -263, -263, -34, -31, -263, 34, -263, -263, + -263, -263, -263, -263, -263, 1035, 907, -16, 1035, 1035, + -32, -7, -263, -263, -263, 1983, -263, -263, -263, -263, + -263, 122, 155, -263, -263, -263, -263, 540, 562, -263, + -263, 624, -263, -263, -263, 660, 995, 1003, 1063, -263, + -263, 35, 38, -263, -263, -263, -263, -263, -263, -263, + 40, 63, -16, 53, 59, 70, 81, 69, 79, 92, + 1269, 907, -263, 2066, 83, 94, -263, -263, -263, -263, + -263, -263, -263, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 1035, -263, 1099, -16, -263, -263, -263, 75, 97, + 1035, -16, -263, 742, -263, -263, 1035, 1035, -16, 1035, + 1035, -16, 1035, -263, 1035, 1713, 1035, -263, 1948, 163, + 163, 2097, 2107, 2179, 2179, -43, -43, -43, -43, 2138, + 557, 2148, -35, -35, -263, -263, -263, 1753, -263, -16, + 27, -263, 109, 834, 1035, 96, 116, 1227, 119, 121, + 125, 135, -66, 113, 128, 129, 971, 130, 142, 147, + -263, 145, 56, 56, -263, -263, 788, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, 143, 144, 146, 148, 160, -263, -263, 1147, + -263, -263, -263, -263, 17, 1793, 55, 157, 1833, 57, + 165, 1873, 1912, 161, 2066, 1035, -263, 109, -263, 1035, + -263, -263, 880, 2018, -263, 1035, 196, 1035, -10, -16, + 1035, 124, 164, 167, -263, -263, -263, -263, 2053, -263, + 1035, 1035, 1035, -263, -263, 931, 931, -263, -263, -263, + -263, -263, -263, -263, 179, 180, 181, 184, -263, -263, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1035, 182, -263, 1035, 185, -263, 1035, 186, 1035, 192, + 2066, 61, -263, -263, -263, 1435, 198, 1469, 199, -263, + -263, -263, 1231, -2, 1503, -263, -263, -263, 65, 67, + 1713, 1035, 1035, 1035, 1035, 2066, 2066, 2066, 2066, 2066, + 2066, 2066, 2066, 2066, 2066, 2066, 208, 71, 210, 78, + 212, 1537, 1035, -263, 1227, 1035, 1227, 1035, 1035, -16, + 63, 204, 209, 1571, 1313, 1357, 1401, 1035, -263, 1035, + -263, 1035, -263, 85, 223, 1605, -263, 2066, 211, 1639, + 244, -263, -263, -263, 213, 215, 1035, 217, 1035, 218, + 1035, 87, 106, 114, -263, 1227, 219, -10, 1227, 1035, + -263, -263, 229, -263, 230, -263, 231, -263, -263, -263, + -263, -263, 238, -263, 1673, 232, 235, 236, 1227, 1227, + -263, -263, -263, -263, -263 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 206, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 207, 208, 0, 0, - 0, 1, 4, 5, 6, 176, 0, 10, 11, 210, - 0, 0, 175, 205, 0, 0, 197, 0, 218, 217, - 199, 200, 201, 202, 203, 0, 178, 0, 0, 0, - 0, 0, 209, 211, 214, 216, 0, 90, 91, 92, - 129, 130, 131, 132, 159, 160, 133, 134, 135, 136, - 137, 138, 0, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 149, 150, 151, 152, 153, 154, - 155, 156, 0, 0, 0, 0, 208, 0, 0, 208, - 0, 0, 0, 178, 198, 180, 0, 177, 181, 158, - 157, 213, 215, 204, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 205, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 206, 207, 0, 0, + 0, 1, 4, 5, 6, 175, 0, 10, 11, 209, + 0, 0, 174, 204, 0, 0, 196, 0, 216, 215, + 198, 199, 200, 201, 202, 0, 177, 0, 0, 0, + 0, 0, 208, 212, 214, 0, 90, 91, 92, 129, + 130, 131, 132, 158, 159, 133, 134, 135, 136, 137, + 138, 0, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 0, 149, 150, 151, 152, 153, 154, 155, + 0, 0, 0, 0, 207, 0, 0, 207, 0, 0, + 0, 177, 197, 179, 0, 176, 180, 157, 156, 211, + 213, 203, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 185, 161, 162, - 208, 0, 178, 0, 17, 0, 19, 174, 0, 178, - 0, 0, 178, 0, 0, 187, 0, 180, 0, 173, - 0, 122, 123, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 124, 125, 126, 127, 128, 0, - 184, 0, 0, 177, 182, 0, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 184, 160, 161, 207, 0, + 177, 0, 17, 0, 19, 173, 0, 177, 0, 0, + 177, 0, 0, 186, 0, 179, 0, 172, 0, 122, + 123, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 124, 125, 126, 127, 128, 0, 183, 0, + 0, 176, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 44, 49, 0, 45, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 0, 0, 0, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 183, 0, - 163, 178, 51, 47, 0, 0, 71, 0, 0, 0, - 57, 0, 0, 0, 0, 0, 82, 83, 84, 86, - 0, 87, 178, 178, 0, 188, 189, 106, 108, 52, - 48, 60, 61, 62, 58, 59, 0, 0, 0, 0, - 107, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 178, 0, 167, 178, 0, - 0, 0, 110, 0, 50, 46, 66, 0, 0, 0, - 0, 54, 55, 56, 0, 0, 0, 81, 80, 85, - 0, 0, 0, 0, 0, 0, 0, 95, 101, 102, - 103, 104, 105, 96, 97, 98, 100, 99, 0, 0, - 0, 0, 0, 0, 178, 164, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 166, 178, 168, 178, 212, 0, 72, 0, 74, 93, - 0, 0, 0, 79, 88, 89, 0, 0, 178, 0, - 178, 0, 178, 0, 0, 0, 169, 0, 0, 57, - 0, 0, 63, 65, 177, 68, 177, 70, 177, 170, - 171, 172, 73, 75, 0, 77, 0, 0, 0, 0, - 0, 0, 64, 67, 69, 76, 78 + 53, 0, 0, 0, 44, 49, 0, 45, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 182, 0, 162, 177, + 51, 47, 0, 0, 71, 0, 0, 0, 57, 0, + 0, 0, 0, 0, 82, 83, 84, 86, 0, 87, + 177, 177, 0, 187, 188, 106, 108, 52, 48, 60, + 61, 62, 58, 59, 0, 0, 0, 0, 107, 109, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 177, 0, 166, 177, 0, 0, 0, + 110, 0, 50, 46, 66, 0, 0, 0, 0, 54, + 55, 56, 0, 0, 0, 81, 80, 85, 0, 0, + 0, 0, 0, 0, 0, 95, 101, 102, 103, 104, + 105, 96, 97, 98, 100, 99, 0, 0, 0, 0, + 0, 0, 177, 163, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 177, 165, 177, + 167, 177, 210, 0, 72, 0, 74, 93, 0, 0, + 0, 79, 88, 89, 0, 0, 177, 0, 177, 0, + 177, 0, 0, 0, 168, 0, 0, 57, 0, 0, + 63, 65, 176, 68, 176, 70, 176, 169, 170, 171, + 73, 75, 0, 77, 0, 0, 0, 0, 0, 0, + 64, 67, 69, 76, 78 }; const short parser::yypgoto_[] = { - -261, -261, -261, 260, 292, 293, -261, -261, -261, -132, - 96, -261, -261, -261, -91, -85, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, 190, - -261, -260, -254, -253, -261, -261, -261, -261, -261, -37, - -5, -67, -65, -261, -261, 412, -45, -261, 207, 244, - -261, -261, 256, -261, -261, -261, 261, 333, 338, 343, - -261, -261, 0, 9, -261, -11, -261, -261, -261, 132, - -261, -261 + -263, -263, -263, 283, 290, 292, -263, -263, -263, 205, + 117, -263, -263, -263, -86, -87, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, 188, + -263, -262, -261, -258, -263, -263, -263, -263, -263, -141, + -28, -57, -40, -263, -263, 262, -45, -263, -18, 156, + -263, -263, 239, -263, -263, -263, 248, 276, 321, 331, + -263, -263, 0, 9, -263, -11, -263, -263, 132, -263, + -263 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 206, - 207, 264, 208, 209, 210, 330, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 105, - 390, 234, 235, 236, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 31, 106, 183, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 204, + 205, 262, 206, 207, 208, 328, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 103, + 388, 232, 233, 234, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 31, 104, 181, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 138, 95, 139, 15, 30, - 331, 370, 18, 19, 21, 25, 332, 333, 27, 1, - 2, 3, 4, 5, 93, 32, 273, 260, 98, 94, - 142, 20, 158, 29, 96, 99, 29, 55, -208, 371, - 314, 26, 28, 97, 100, 158, 317, 108, 16, 6, - 365, 158, 6, 263, 373, 158, 374, 268, 107, 158, - 101, 158, 92, 380, 16, 6, -196, -196, 158, -196, - 16, 6, 140, -196, 382, 406, 185, 143, 142, 158, - 158, 141, -196, 113, 186, -196, -208, 187, 188, 144, - 189, 190, 191, 192, 147, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 6, 37, 237, 111, - 112, 419, 41, 42, 43, 44, 158, 145, 145, 202, - 203, 420, 421, -196, -196, -196, 158, 158, 204, 205, - 148, 149, 325, 131, 132, 133, 180, 150, 151, 152, - 238, 153, 154, 184, 142, 246, 158, 159, 237, 331, - 249, 181, 237, 252, 141, 332, 333, 129, 130, 131, - 132, 133, 16, 6, 261, 266, 267, 285, 285, 269, - 270, 237, -188, -188, 138, -188, 139, 271, 272, -188, - 238, 259, 276, 274, 238, 246, 277, 282, -188, 246, - 278, -188, 281, 283, 141, 284, 291, 328, 141, 286, - 286, 315, 292, 238, 246, 246, 293, 294, 246, 295, - 318, 321, 112, 141, 141, 369, 56, 141, 337, 343, - 138, 138, 139, 139, 338, 344, 345, 237, 346, -188, - -188, -188, 358, 285, 386, 102, 388, 360, 109, 110, - 362, 140, 407, 364, 34, 35, 367, 37, 379, 381, - 141, 383, 41, 42, 43, 44, 116, 117, 411, 238, - 203, 427, 394, 395, 246, 286, 428, 138, 22, 139, - 246, 335, 409, 141, 412, 422, 413, 415, 425, 141, - 417, 393, 129, 130, 131, 132, 133, 140, 140, 423, - 429, 430, 432, 157, 433, 434, 141, 141, 435, 436, - 23, 24, 16, 6, 290, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 424, 179, 275, 0, 0, 237, - 0, 237, 0, 0, 140, 0, 0, 0, 247, 0, - 0, 250, 0, 141, 253, 0, 254, 0, 256, 0, - 0, 0, 239, 414, 0, 416, 0, 418, 0, 0, - 0, 238, 0, 238, 0, 0, 246, 0, 246, 0, - 237, 392, 285, 237, 0, 141, 265, 141, 0, -189, - -189, 0, -189, 0, 0, 0, -189, 0, 280, 240, - 0, 0, 239, 237, 237, -189, 239, 0, -189, 0, - 0, 241, 238, 0, 286, 238, 242, 246, 0, 246, - 246, 239, 239, 0, 0, 239, 141, 0, 141, 141, - 0, 0, 0, 0, 0, 238, 238, 0, 0, 240, - 246, 246, 0, 240, 0, 0, -189, -189, -189, 141, - 141, 241, 0, 0, 0, 241, 242, 322, 240, 240, - 242, 0, 240, 0, 0, 0, 0, 327, 0, 329, - 287, 288, 336, 0, 241, 242, 242, 0, 0, 242, - 0, 239, 0, 0, 342, 0, 0, 239, 243, 0, - 0, 0, 0, 244, 0, 0, 0, 0, 245, 0, - 0, 0, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 0, 0, 0, 0, 0, 240, 0, - 363, 0, 0, 0, 240, 0, 0, 0, 243, 0, - 241, 0, 243, 244, 0, 242, 334, 244, 245, 0, - 0, 242, 245, 375, 376, 377, 378, 243, 243, 0, - 0, 243, 244, 244, 0, 0, 244, 245, 245, 0, - 0, 245, 0, 0, 182, 0, 0, 387, 0, 389, - 391, 248, -190, -190, 251, -190, 0, 0, 0, -190, - 0, 0, 0, 239, 0, 239, 0, 0, -190, 0, - 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, - 0, 426, 244, 243, 0, 0, 0, 245, 244, 0, - 240, 0, 240, 245, 239, 0, 239, 239, 0, -190, - -190, -190, 241, 0, 241, 34, 35, 242, 37, 242, - 0, 0, 0, 41, 42, 43, 44, 239, 239, -191, - -191, 203, -191, 0, 0, 0, -191, 0, 0, 204, - 205, 240, 0, 240, 240, -191, 0, 0, -191, 0, - 0, 0, 0, 241, 0, 334, 241, 0, 242, 0, - 242, 242, 0, 323, 240, 240, 0, 0, 0, 0, - 0, 0, 0, 16, 6, 0, 241, 241, 0, 0, - 0, 242, 242, 0, 340, 341, -191, -191, -191, 243, - 0, 243, 34, 35, 244, 37, 244, 0, 0, 245, - 0, 245, 0, 34, 35, 0, 37, 0, 135, 0, - 134, 136, 0, 0, 0, 0, 0, 359, 0, 135, - 361, 0, 136, 0, 0, 0, 0, 0, 0, 0, - 243, 0, 243, 243, 0, 244, 0, 244, 244, 0, - 245, 0, 245, 245, 0, 0, 0, 0, 0, 137, - 16, 6, 0, 243, 243, 0, 0, 0, 244, 244, - 137, 16, 6, 245, 245, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, - 0, 403, 0, 404, 186, 405, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 33, 0, - 0, 0, 41, 42, 43, 44, 0, 0, 145, 289, - 203, 0, 0, 0, 0, 0, 0, 0, 204, 205, - 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 103, 104, 0, - 0, 47, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 16, 6, 0, 0, 0, 48, 49, -192, - -192, 0, -192, 33, 0, 0, -192, 0, 129, 130, - 131, 132, 133, 0, 50, -192, 0, 51, -192, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, + 15, 105, 235, 17, 17, 144, 329, 330, 15, 30, + 331, 21, 18, 19, 136, 1, 2, 3, 4, 5, + 27, 93, 114, 115, 96, 32, 271, 368, 20, 34, + 35, 137, 37, 29, 94, 97, 54, 41, 42, 43, + 44, 28, 235, 95, 98, 201, 235, 106, 127, 128, + 129, 130, 131, 202, 203, 369, 105, 25, 129, 130, + 131, 283, 283, 16, 6, 235, 16, 6, 140, 109, + 110, 138, 29, 91, -195, -195, -207, -195, 92, 258, + 139, -195, 6, 26, 156, 90, 140, 16, 6, 99, + -195, 111, 145, -195, -207, 34, 35, 141, 37, 16, + 6, 142, 6, 41, 42, 43, 44, 312, 146, 315, + 147, 201, 156, 363, 156, 236, 143, 371, 156, 372, + 150, 235, 156, 378, 156, 237, 140, 283, 156, 148, + 380, -195, -195, -195, 178, 156, 149, 404, 151, 417, + 156, 182, 156, 244, 156, 329, 330, 152, 247, 331, + 157, 250, 139, 16, 6, 236, 179, 264, 418, 236, + 259, -187, -187, 156, -187, 237, 419, 265, -187, 237, + 267, 156, 268, 274, 284, 284, 269, -187, 236, 257, + -187, 272, 136, 244, 237, 237, 270, 244, 237, 275, + 276, 279, 139, 280, -188, -188, 139, -188, 281, 137, + 282, -188, 244, 244, 289, 290, 244, 291, 313, 292, + -188, 139, 139, -188, 55, 139, 316, 319, -187, -187, + -187, 293, 326, 235, 335, 235, 110, 336, 136, 136, + 341, 342, 343, 100, 236, 344, 107, 108, 356, 138, + 284, 358, 360, 362, 237, 137, 137, 405, 139, 365, + 237, -188, -188, -188, 127, 128, 129, 130, 131, 377, + 367, 379, 244, 381, 235, 392, 283, 235, 244, 333, + 393, 139, 407, 409, 410, 136, 411, 139, 413, 415, + 421, 425, 426, 427, 391, 138, 138, 235, 235, 155, + 428, 22, 137, 430, 139, 139, 431, 432, 23, 238, + 24, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 422, 177, 0, 288, 273, 0, 0, 0, 0, 0, + 0, 0, 138, 0, 245, 0, 236, 248, 236, 238, + 251, 139, 252, 238, 254, 0, 237, 0, 237, 0, + 0, 412, 0, 414, 0, 416, 0, 0, 238, 238, + 0, 0, 238, 0, 244, 0, 244, 0, 0, 390, + 0, 0, 263, 139, 0, 139, 0, 236, 0, 284, + 236, 0, 239, 0, 278, 0, 0, 237, 261, 237, + 237, 240, 266, 0, 0, 0, 0, 0, 0, 0, + 236, 236, 180, 0, 0, 244, 0, 244, 244, 246, + 237, 237, 249, 0, 139, 0, 139, 139, 238, 241, + 0, 0, 239, 0, 238, 0, 239, 0, 244, 244, + 0, 240, 0, 0, 0, 240, 0, 139, 139, 0, + 0, 285, 286, 320, 0, 239, 0, 0, 0, 0, + 240, 240, 0, 325, 240, 327, 0, 0, 334, 241, + 0, 0, 0, 241, 242, 0, 0, 323, 0, 0, + 340, 0, 0, 0, 243, 0, 0, 0, 241, 241, + 0, 0, 241, 0, 0, 0, 0, 0, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 0, + 0, 239, 0, 0, 242, 0, 361, 332, 242, 0, + 240, 0, 0, 0, 243, 0, 240, 0, 243, 0, + 238, 321, 238, 242, 242, 0, 0, 242, 0, 373, + 374, 375, 376, 243, 243, 0, 0, 243, 241, 0, + 0, 0, 338, 339, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 387, 389, 0, 0, 0, + 0, 238, 0, 238, 238, 0, 0, 0, 0, 384, + 0, 386, 0, 0, 0, 357, 0, 0, 359, -189, + -189, 0, -189, 242, 238, 238, -189, 0, 0, 242, + 0, 0, 0, 243, 0, -189, 0, 424, -189, 243, + 0, -190, -190, 239, -190, 239, 0, 0, -190, 0, + 420, 0, 240, 423, 240, 0, 0, -190, 0, 0, + -190, 0, 114, 115, 383, 0, 118, 119, 120, 121, + 122, 123, 0, 433, 434, 0, -189, -189, -189, 401, + 241, 402, 241, 403, 239, 0, 332, 239, 127, 128, + 129, 130, 131, 240, 0, 240, 240, 0, -190, -190, + -190, 0, 0, 34, 35, 0, 37, 239, 239, 0, + 132, 0, 0, 0, 0, 0, 240, 240, 0, 133, + 0, 241, 134, 241, 241, 242, 0, 242, 0, 0, + 0, 0, 0, 0, 0, 243, 0, 243, 0, -191, + -191, 0, -191, 0, 241, 241, -191, 0, 0, 0, + 0, 0, 0, 0, 0, -191, 0, 0, -191, 0, + 135, 16, 6, 0, 0, 0, 242, 0, 242, 242, + 0, 0, 0, 0, 0, 0, 243, 0, 243, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 242, 0, 0, 183, 0, 0, -191, -191, -191, 243, + 243, 184, 0, 0, 185, 186, 0, 187, 188, 189, + 190, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 34, 35, 0, 37, 0, 0, 0, 0, 41, + 42, 43, 44, 0, 0, 143, 200, 201, 0, 183, + 0, 0, 0, 0, 0, 202, 203, 184, 0, 0, + 185, 186, 0, 187, 188, 189, 190, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 34, 35, 0, + 37, 0, 0, 0, 0, 41, 42, 43, 44, 16, + 6, 143, 287, 201, 0, 0, 260, 0, 0, 0, + 0, 202, 203, 184, 0, 0, 185, 186, 0, 187, + 188, 189, 190, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 34, 35, 0, 37, 0, 0, 0, + 0, 41, 42, 43, 44, 16, 6, 143, 0, 201, + 0, 0, 322, 0, 0, 0, 0, 202, 203, 184, + 0, 0, 185, 186, 0, 187, 188, 189, 190, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 34, + 35, 0, 37, 33, 0, 0, 0, 41, 42, 43, + 44, 16, 6, 143, 0, 201, 0, 0, 0, 0, + 0, 0, 0, 202, 203, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 46, 0, 0, 0, 47, 0, 279, 0, - 0, 0, 0, 0, 0, 0, -192, -192, -192, 0, - 0, 0, 48, 49, -193, -193, 0, -193, 33, 0, - 0, -193, 0, 0, 0, 0, 0, 0, 0, 50, - -193, 0, 51, -193, 16, 6, 29, 52, 53, 54, - 55, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -193, -193, -193, 0, 0, 0, 48, 49, -194, - -194, 0, -194, 33, 0, 0, -194, 0, 0, 0, - 0, 0, 0, 0, 50, -194, 0, 51, -194, 16, - 6, 29, 52, 53, 54, 55, 34, 35, 36, 37, - 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, - 0, 0, 103, 0, 116, 117, 47, 119, 120, 121, - 122, 123, 124, 125, 0, 0, -194, -194, -194, 0, - 0, 0, 48, 49, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 0, 0, 50, + 0, 0, 101, 102, 0, 0, 47, 0, 0, 0, + 34, 35, 0, 37, 0, 0, 0, 16, 6, 0, + 0, 0, 48, 49, 0, 0, 133, 33, 0, 134, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, 53, 54, - 55, 262, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 187, 188, 0, 189, 190, 191, 192, 0, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 34, 35, - 0, 37, 0, 0, 0, 0, 41, 42, 43, 44, - 0, 0, 145, 0, 203, 0, 0, 324, 0, 0, - 0, 0, 204, 205, 186, 0, 0, 187, 188, 0, - 189, 190, 191, 192, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 34, 35, 0, 37, 0, 0, - 0, 0, 41, 42, 43, 44, 16, 6, 145, 0, - 203, 0, 0, 296, 297, 0, 298, 299, 204, 205, - 0, 0, 0, 0, 0, 0, 0, -195, -195, 0, - -195, 0, 0, 0, -195, 34, 35, 0, 37, 0, - 0, 116, 117, -195, 0, 0, -195, 122, 123, 124, - 125, 135, 16, 6, 136, 0, 0, 0, 0, 300, - 301, 0, 0, 0, 0, 0, 0, 129, 130, 131, - 132, 133, 0, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, -195, -195, -195, 0, 0, 0, - 0, 0, 137, 16, 6, 186, 0, 0, 187, 188, - 0, 189, 190, 191, 192, 0, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 34, 35, 0, 37, 34, - 35, 0, 37, 41, 42, 43, 44, 0, 0, 145, - 0, 203, 0, 0, 0, 135, 0, 0, 136, 204, - 205, 0, 0, 300, 301, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, - 155, 0, 0, 16, 6, 156, 137, 16, 6, 0, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 397, 0, 0, 0, 0, 398, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, + 43, 44, 45, 0, 0, 0, 46, 135, 16, 6, + 47, 0, 277, 0, -192, -192, 0, -192, 0, 0, + 0, -192, -193, -193, 0, -193, 48, 49, 0, -193, + -192, 33, 0, -192, 0, 0, 0, 0, -193, 0, + 0, -193, 0, 50, 0, 0, 51, 0, 16, 6, + 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, + 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, + 46, -192, -192, -192, 47, 0, 0, 0, 0, -193, + -193, -193, -194, -194, 0, -194, 0, 0, 0, -194, + 48, 49, 0, 0, 0, 33, 0, 0, -194, 0, + 0, -194, 0, 0, 0, 0, 0, 50, 0, 0, + 51, 0, 16, 6, 29, 52, 53, 54, 34, 35, + 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, + 45, 0, 0, 0, 101, 0, 0, 0, 47, -194, + -194, -194, 0, 0, 294, 295, 0, 296, 297, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 0, 37, + 0, 50, 0, 0, 51, 0, 16, 6, 29, 52, + 53, 54, 133, 0, 0, 134, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 16, 6, 184, 0, 0, 185, + 186, 0, 187, 188, 189, 190, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 34, 35, 0, 37, + 34, 35, 0, 37, 41, 42, 43, 44, 0, 0, + 143, 0, 201, 0, 0, 0, 133, 0, 0, 134, + 202, 203, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, + 0, 153, 0, 0, 16, 6, 154, 135, 16, 6, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 395, 0, 0, 0, 0, + 396, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 399, 0, - 0, 0, 0, 400, 0, 0, 0, 0, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 401, 0, 0, 0, 0, 402, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 366, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 397, + 0, 0, 0, 0, 398, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 399, 0, 0, 0, 0, 400, 0, + 0, 0, 0, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 364, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 368, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 372, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 408, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 366, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 370, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 394, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 406, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 410, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 431, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 408, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 429, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 255, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 253, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 258, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 256, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 313, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 311, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 316, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 314, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 319, 0, - 0, 0, 0, 0, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 317, + 0, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 320, 0, - 0, 0, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 257, 0, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 114, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 318, + 0, 0, 0, 0, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 326, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 339, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 116, 117, 0, 0, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 0, 129, 130, - 131, 132, 133 + 124, 125, 126, 127, 128, 129, 130, 131, 255, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 112, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 324, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 337, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 113, 0, + 0, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 0, 0, 124, 125, 126, 127, 128, 129, + 130, 131, 114, 115, 0, 117, 118, 119, 120, 121, + 122, 123, 114, 115, 0, 0, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 0, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 114, 115, 0, 0, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 125, 126, 127, + 128, 129, 130, 131, 0, 0, 0, 125, 0, 127, + 128, 129, 130, 131, 114, 115, 0, 0, 0, 0, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 128, 129, 130, 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 72, 55, 72, 8, 20, - 270, 29, 3, 4, 0, 51, 270, 270, 61, 11, - 12, 13, 14, 15, 52, 25, 92, 52, 55, 57, - 51, 51, 57, 99, 34, 35, 99, 103, 59, 57, - 52, 77, 61, 34, 35, 57, 52, 47, 97, 98, - 52, 57, 98, 185, 52, 57, 52, 189, 103, 57, - 55, 57, 52, 52, 97, 98, 39, 40, 57, 42, - 97, 98, 72, 46, 52, 52, 11, 59, 51, 57, - 57, 72, 55, 98, 19, 58, 59, 22, 23, 61, - 25, 26, 27, 28, 94, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 98, 42, 145, 102, - 103, 52, 47, 48, 49, 50, 57, 53, 53, 54, - 55, 52, 52, 96, 97, 98, 57, 57, 63, 64, - 55, 51, 264, 93, 94, 95, 136, 59, 55, 51, - 145, 59, 55, 143, 51, 145, 57, 56, 185, 409, - 150, 59, 189, 153, 145, 409, 409, 91, 92, 93, - 94, 95, 97, 98, 51, 61, 51, 204, 205, 51, - 51, 208, 39, 40, 241, 42, 241, 51, 51, 46, - 185, 181, 60, 194, 189, 185, 61, 51, 55, 189, - 61, 58, 61, 51, 185, 55, 61, 26, 189, 204, - 205, 51, 61, 208, 204, 205, 61, 61, 208, 61, - 51, 56, 103, 204, 205, 61, 26, 208, 60, 51, - 287, 288, 287, 288, 60, 51, 51, 264, 51, 96, - 97, 98, 56, 270, 366, 45, 368, 56, 48, 49, - 56, 241, 24, 51, 39, 40, 51, 42, 51, 51, - 241, 51, 47, 48, 49, 50, 65, 66, 29, 264, - 55, 52, 61, 61, 264, 270, 52, 334, 8, 334, - 270, 271, 61, 264, 61, 407, 61, 61, 410, 270, - 61, 372, 91, 92, 93, 94, 95, 287, 288, 61, - 52, 52, 61, 103, 61, 61, 287, 288, 430, 431, - 8, 8, 97, 98, 208, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 409, 135, 194, -1, -1, 366, - -1, 368, -1, -1, 334, -1, -1, -1, 148, -1, - -1, 151, -1, 334, 154, -1, 156, -1, 158, -1, - -1, -1, 145, 398, -1, 400, -1, 402, -1, -1, - -1, 366, -1, 368, -1, -1, 366, -1, 368, -1, - 407, 371, 409, 410, -1, 366, 186, 368, -1, 39, - 40, -1, 42, -1, -1, -1, 46, -1, 198, 145, - -1, -1, 185, 430, 431, 55, 189, -1, 58, -1, - -1, 145, 407, -1, 409, 410, 145, 407, -1, 409, - 410, 204, 205, -1, -1, 208, 407, -1, 409, 410, - -1, -1, -1, -1, -1, 430, 431, -1, -1, 185, - 430, 431, -1, 189, -1, -1, 96, 97, 98, 430, - 431, 185, -1, -1, -1, 189, 185, 257, 204, 205, - 189, -1, 208, -1, -1, -1, -1, 267, -1, 269, - 204, 205, 272, -1, 208, 204, 205, -1, -1, 208, - -1, 264, -1, -1, 284, -1, -1, 270, 145, -1, - -1, -1, -1, 145, -1, -1, -1, -1, 145, -1, - -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, -1, -1, -1, -1, -1, 264, -1, - 320, -1, -1, -1, 270, -1, -1, -1, 185, -1, - 264, -1, 189, 185, -1, 264, 270, 189, 185, -1, - -1, 270, 189, 343, 344, 345, 346, 204, 205, -1, - -1, 208, 204, 205, -1, -1, 208, 204, 205, -1, - -1, 208, -1, -1, 142, -1, -1, 367, -1, 369, - 370, 149, 39, 40, 152, 42, -1, -1, -1, 46, - -1, -1, -1, 366, -1, 368, -1, -1, 55, -1, - -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, - -1, 411, 264, 270, -1, -1, -1, 264, 270, -1, - 366, -1, 368, 270, 407, -1, 409, 410, -1, 96, - 97, 98, 366, -1, 368, 39, 40, 366, 42, 368, - -1, -1, -1, 47, 48, 49, 50, 430, 431, 39, - 40, 55, 42, -1, -1, -1, 46, -1, -1, 63, - 64, 407, -1, 409, 410, 55, -1, -1, 58, -1, - -1, -1, -1, 407, -1, 409, 410, -1, 407, -1, - 409, 410, -1, 261, 430, 431, -1, -1, -1, -1, - -1, -1, -1, 97, 98, -1, 430, 431, -1, -1, - -1, 430, 431, -1, 282, 283, 96, 97, 98, 366, - -1, 368, 39, 40, 366, 42, 368, -1, -1, 366, - -1, 368, -1, 39, 40, -1, 42, -1, 55, -1, - 46, 58, -1, -1, -1, -1, -1, 315, -1, 55, - 318, -1, 58, -1, -1, -1, -1, -1, -1, -1, - 407, -1, 409, 410, -1, 407, -1, 409, 410, -1, - 407, -1, 409, 410, -1, -1, -1, -1, -1, 96, - 97, 98, -1, 430, 431, -1, -1, -1, 430, 431, - 96, 97, 98, 430, 431, -1, 364, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, - -1, 379, -1, 381, 19, 383, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, 16, -1, - -1, -1, 47, 48, 49, 50, -1, -1, 53, 54, - 55, -1, -1, -1, -1, -1, -1, -1, 63, 64, - -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, - -1, 59, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, 91, 92, - 93, 94, 95, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, + 0, 46, 143, 3, 4, 91, 268, 268, 8, 20, + 268, 0, 3, 4, 71, 11, 12, 13, 14, 15, + 61, 55, 65, 66, 55, 25, 92, 29, 51, 39, + 40, 71, 42, 99, 34, 35, 102, 47, 48, 49, + 50, 61, 183, 34, 35, 55, 187, 47, 91, 92, + 93, 94, 95, 63, 64, 57, 101, 51, 93, 94, + 95, 202, 203, 97, 98, 206, 97, 98, 51, 101, + 102, 71, 99, 52, 39, 40, 59, 42, 57, 52, + 71, 46, 98, 77, 57, 52, 51, 97, 98, 55, + 55, 98, 92, 58, 59, 39, 40, 59, 42, 97, + 98, 61, 98, 47, 48, 49, 50, 52, 55, 52, + 51, 55, 57, 52, 57, 143, 53, 52, 57, 52, + 51, 262, 57, 52, 57, 143, 51, 268, 57, 59, + 52, 96, 97, 98, 134, 57, 55, 52, 59, 52, + 57, 141, 57, 143, 57, 407, 407, 55, 148, 407, + 56, 151, 143, 97, 98, 183, 59, 61, 52, 187, + 51, 39, 40, 57, 42, 183, 52, 51, 46, 187, + 51, 57, 51, 60, 202, 203, 51, 55, 206, 179, + 58, 192, 239, 183, 202, 203, 51, 187, 206, 61, + 61, 61, 183, 51, 39, 40, 187, 42, 51, 239, + 55, 46, 202, 203, 61, 61, 206, 61, 51, 61, + 55, 202, 203, 58, 26, 206, 51, 56, 96, 97, + 98, 61, 26, 364, 60, 366, 102, 60, 285, 286, + 51, 51, 51, 45, 262, 51, 48, 49, 56, 239, + 268, 56, 56, 51, 262, 285, 286, 24, 239, 51, + 268, 96, 97, 98, 91, 92, 93, 94, 95, 51, + 61, 51, 262, 51, 405, 61, 407, 408, 268, 269, + 61, 262, 61, 29, 61, 332, 61, 268, 61, 61, + 61, 52, 52, 52, 370, 285, 286, 428, 429, 101, + 52, 8, 332, 61, 285, 286, 61, 61, 8, 143, + 8, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 407, 133, -1, 206, 192, -1, -1, -1, -1, -1, + -1, -1, 332, -1, 146, -1, 364, 149, 366, 183, + 152, 332, 154, 187, 156, -1, 364, -1, 366, -1, + -1, 396, -1, 398, -1, 400, -1, -1, 202, 203, + -1, -1, 206, -1, 364, -1, 366, -1, -1, 369, + -1, -1, 184, 364, -1, 366, -1, 405, -1, 407, + 408, -1, 143, -1, 196, -1, -1, 405, 183, 407, + 408, 143, 187, -1, -1, -1, -1, -1, -1, -1, + 428, 429, 140, -1, -1, 405, -1, 407, 408, 147, + 428, 429, 150, -1, 405, -1, 407, 408, 262, 143, + -1, -1, 183, -1, 268, -1, 187, -1, 428, 429, + -1, 183, -1, -1, -1, 187, -1, 428, 429, -1, + -1, 202, 203, 255, -1, 206, -1, -1, -1, -1, + 202, 203, -1, 265, 206, 267, -1, -1, 270, 183, + -1, -1, -1, 187, 143, -1, -1, 262, -1, -1, + 282, -1, -1, -1, 143, -1, -1, -1, 202, 203, + -1, -1, 206, -1, -1, -1, -1, -1, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, -1, + -1, 262, -1, -1, 183, -1, 318, 268, 187, -1, + 262, -1, -1, -1, 183, -1, 268, -1, 187, -1, + 364, 259, 366, 202, 203, -1, -1, 206, -1, 341, + 342, 343, 344, 202, 203, -1, -1, 206, 262, -1, + -1, -1, 280, 281, 268, -1, -1, -1, -1, -1, + -1, -1, -1, 365, -1, 367, 368, -1, -1, -1, + -1, 405, -1, 407, 408, -1, -1, -1, -1, 364, + -1, 366, -1, -1, -1, 313, -1, -1, 316, 39, + 40, -1, 42, 262, 428, 429, 46, -1, -1, 268, + -1, -1, -1, 262, -1, 55, -1, 409, 58, 268, + -1, 39, 40, 364, 42, 366, -1, -1, 46, -1, + 405, -1, 364, 408, 366, -1, -1, 55, -1, -1, + 58, -1, 65, 66, 362, -1, 69, 70, 71, 72, + 73, 74, -1, 428, 429, -1, 96, 97, 98, 377, + 364, 379, 366, 381, 405, -1, 407, 408, 91, 92, + 93, 94, 95, 405, -1, 407, 408, -1, 96, 97, + 98, -1, -1, 39, 40, -1, 42, 428, 429, -1, + 46, -1, -1, -1, -1, -1, 428, 429, -1, 55, + -1, 405, 58, 407, 408, 364, -1, 366, -1, -1, + -1, -1, -1, -1, -1, 364, -1, 366, -1, 39, + 40, -1, 42, -1, 428, 429, 46, -1, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, 58, -1, + 96, 97, 98, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, 405, -1, 407, 408, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, + 429, -1, -1, 11, -1, -1, 96, 97, 98, 428, + 429, 19, -1, -1, 22, 23, -1, 25, 26, 27, + 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, -1, 42, -1, -1, -1, -1, 47, + 48, 49, 50, -1, -1, 53, 54, 55, -1, 11, + -1, -1, -1, -1, -1, 63, 64, 19, -1, -1, + 22, 23, -1, 25, 26, 27, 28, -1, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, + 42, -1, -1, -1, -1, 47, 48, 49, 50, 97, + 98, 53, 54, 55, -1, -1, 12, -1, -1, -1, + -1, 63, 64, 19, -1, -1, 22, 23, -1, 25, + 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, -1, 42, -1, -1, -1, + -1, 47, 48, 49, 50, 97, 98, 53, -1, 55, + -1, -1, 12, -1, -1, -1, -1, 63, 64, 19, + -1, -1, 22, 23, -1, 25, 26, 27, 28, -1, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, -1, 42, 16, -1, -1, -1, 47, 48, 49, + 50, 97, 98, 53, -1, 55, -1, -1, -1, -1, + -1, -1, -1, 63, 64, -1, 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, -1, -1, 59, -1, 61, -1, - -1, -1, -1, -1, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, 39, 40, -1, 42, 16, -1, - -1, 46, -1, -1, -1, -1, -1, -1, -1, 92, - 55, -1, 95, 58, 97, 98, 99, 100, 101, 102, - 103, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, -1, -1, -1, 55, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, 98, -1, -1, -1, 75, 76, 39, - 40, -1, 42, 16, -1, -1, 46, -1, -1, -1, - -1, -1, -1, -1, 92, 55, -1, 95, 58, 97, - 98, 99, 100, 101, 102, 103, 39, 40, 41, 42, - 43, 44, 45, -1, 47, 48, 49, 50, 51, -1, - -1, -1, 55, -1, 65, 66, 59, 68, 69, 70, - 71, 72, 73, 74, -1, -1, 96, 97, 98, -1, - -1, -1, 75, 76, -1, -1, -1, 88, 89, 90, - 91, 92, 93, 94, 95, -1, -1, -1, -1, 92, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + 39, 40, -1, 42, -1, -1, -1, 97, 98, -1, + -1, -1, 75, 76, -1, -1, 55, 16, -1, 58, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, 101, 102, - 103, 12, -1, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, -1, 25, 26, 27, 28, -1, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - -1, 42, -1, -1, -1, -1, 47, 48, 49, 50, - -1, -1, 53, -1, 55, -1, -1, 12, -1, -1, - -1, -1, 63, 64, 19, -1, -1, 22, 23, -1, - 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, -1, -1, - -1, -1, 47, 48, 49, 50, 97, 98, 53, -1, - 55, -1, -1, 17, 18, -1, 20, 21, 63, 64, - -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, - 42, -1, -1, -1, 46, 39, 40, -1, 42, -1, - -1, 65, 66, 55, -1, -1, 58, 71, 72, 73, - 74, 55, 97, 98, 58, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, 91, 92, 93, - 94, 95, -1, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 96, 97, 98, -1, -1, -1, - -1, -1, 96, 97, 98, 19, -1, -1, 22, 23, - -1, 25, 26, 27, 28, -1, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, -1, 42, 39, - 40, -1, 42, 47, 48, 49, 50, -1, -1, 53, - -1, 55, -1, -1, -1, 55, -1, -1, 58, 63, - 64, -1, -1, 63, 64, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, - 52, -1, -1, 97, 98, 57, 96, 97, 98, -1, + 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, + 49, 50, 51, -1, -1, -1, 55, 96, 97, 98, + 59, -1, 61, -1, 39, 40, -1, 42, -1, -1, + -1, 46, 39, 40, -1, 42, 75, 76, -1, 46, + 55, 16, -1, 58, -1, -1, -1, -1, 55, -1, + -1, 58, -1, 92, -1, -1, 95, -1, 97, 98, + 99, 100, 101, 102, 39, 40, 41, 42, 43, 44, + 45, -1, 47, 48, 49, 50, 51, -1, -1, -1, + 55, 96, 97, 98, 59, -1, -1, -1, -1, 96, + 97, 98, 39, 40, -1, 42, -1, -1, -1, 46, + 75, 76, -1, -1, -1, 16, -1, -1, 55, -1, + -1, 58, -1, -1, -1, -1, -1, 92, -1, -1, + 95, -1, 97, 98, 99, 100, 101, 102, 39, 40, + 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, + 51, -1, -1, -1, 55, -1, -1, -1, 59, 96, + 97, 98, -1, -1, 17, 18, -1, 20, 21, -1, + -1, -1, -1, -1, 75, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 39, 40, -1, 42, + -1, 92, -1, -1, 95, -1, 97, 98, 99, 100, + 101, 102, 55, -1, -1, 58, -1, -1, -1, -1, + 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 98, 19, -1, -1, 22, + 23, -1, 25, 26, 27, 28, -1, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, -1, 42, + 39, 40, -1, 42, 47, 48, 49, 50, -1, -1, + 53, -1, 55, -1, -1, -1, 55, -1, -1, 58, + 63, 64, -1, -1, 63, 64, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, + -1, 52, -1, -1, 97, 98, 57, 96, 97, 98, + -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 52, -1, -1, -1, -1, + 57, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 52, + -1, -1, -1, -1, 57, -1, -1, -1, -1, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 52, -1, -1, -1, -1, 57, -1, + -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 62, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 52, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 62, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 52, -1, 88, + 89, 90, 91, 92, 93, 94, 95, 62, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 52, -1, 88, 89, 90, 91, 92, 93, 94, + 95, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 52, -1, 88, 89, 90, + 91, 92, 93, 94, 95, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 56, + -1, -1, -1, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 57, + -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 88, 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 52, -1, -1, -1, -1, 57, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 52, -1, - -1, -1, -1, 57, -1, -1, -1, -1, 62, -1, + -1, 88, 89, 90, 91, 92, 93, 94, 95, 61, + 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, + 92, 93, 94, 95, 61, 62, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 74, 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 52, -1, -1, -1, -1, 57, -1, -1, - -1, -1, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 94, 95, 65, 66, -1, 68, 69, 70, 71, 72, + 73, 74, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, -1, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, -1, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, -1, -1, -1, 89, -1, 91, + 92, 93, 94, 95, 65, 66, -1, -1, -1, -1, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 52, -1, 88, 89, 90, 91, 92, 93, - 94, 95, 62, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, 88, 89, - 90, 91, 92, 93, 94, 95, 62, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, 88, 89, 90, 91, 92, 93, 94, 95, - 62, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 52, -1, 88, 89, 90, 91, - 92, 93, 94, 95, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 56, -1, - -1, -1, -1, -1, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 57, -1, - -1, -1, -1, 62, -1, -1, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, 93, 94, 95, 60, -1, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, 93, 94, 95, 61, 62, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - 93, 94, 95, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 62, -1, -1, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 88, 89, 90, 91, 92, 93, 94, 95, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, 93, 94, - 95, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, -1, -1, -1, 88, 89, 90, 91, 92, 93, - 94, 95, -1, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 89, -1, 91, 92, - 93, 94, 95 + 91, 92, 93, 94, 95 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 98, 114, 115, 116, - 117, 118, 119, 120, 121, 185, 97, 185, 186, 186, - 51, 0, 116, 117, 118, 51, 77, 61, 61, 99, - 188, 167, 185, 16, 39, 40, 41, 42, 43, 44, + 0, 11, 12, 13, 14, 15, 98, 113, 114, 115, + 116, 117, 118, 119, 120, 184, 97, 184, 185, 185, + 51, 0, 115, 116, 117, 51, 77, 61, 61, 99, + 187, 166, 184, 16, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 55, 59, 75, 76, - 92, 95, 100, 101, 102, 103, 152, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 170, 171, 172, + 92, 95, 100, 101, 102, 151, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 52, 52, 57, 55, 185, 186, 55, 185, - 186, 55, 152, 55, 56, 152, 168, 169, 185, 152, - 152, 102, 103, 98, 61, 62, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 88, 89, 90, 91, - 92, 93, 94, 95, 46, 55, 58, 96, 164, 165, - 185, 186, 51, 59, 61, 53, 127, 185, 55, 51, - 59, 55, 51, 59, 55, 52, 57, 152, 57, 56, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 185, 59, 168, 169, 185, 11, 19, 22, 23, 25, - 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 54, 55, 63, 64, 122, 123, 125, 126, - 127, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 154, 155, 156, 162, 163, 171, - 172, 175, 179, 180, 181, 182, 185, 152, 168, 185, - 152, 168, 185, 152, 152, 56, 152, 60, 56, 185, - 52, 51, 12, 122, 124, 152, 61, 51, 122, 51, - 51, 51, 51, 92, 188, 192, 60, 61, 61, 61, - 152, 61, 51, 51, 55, 162, 163, 175, 175, 54, - 123, 61, 61, 61, 61, 61, 17, 18, 20, 21, - 63, 64, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 56, 52, 51, 56, 52, 51, 56, - 57, 56, 152, 168, 12, 122, 61, 152, 26, 152, - 128, 154, 155, 156, 175, 185, 152, 60, 60, 61, - 168, 168, 152, 51, 51, 51, 51, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 56, 168, - 56, 168, 56, 152, 51, 52, 52, 51, 52, 61, - 29, 57, 52, 52, 52, 152, 152, 152, 152, 51, - 52, 51, 52, 51, 52, 168, 122, 152, 122, 152, - 153, 152, 185, 127, 61, 61, 52, 52, 57, 52, - 57, 52, 57, 168, 168, 168, 52, 24, 52, 61, - 52, 29, 61, 61, 169, 61, 169, 61, 169, 52, - 52, 52, 122, 61, 128, 122, 152, 52, 52, 52, - 52, 52, 61, 61, 61, 122, 122 + 52, 52, 57, 55, 184, 185, 55, 184, 185, 55, + 151, 55, 56, 151, 167, 168, 184, 151, 151, 101, + 102, 98, 61, 62, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 88, 89, 90, 91, 92, 93, + 94, 95, 46, 55, 58, 96, 163, 164, 184, 185, + 51, 59, 61, 53, 126, 184, 55, 51, 59, 55, + 51, 59, 55, 52, 57, 151, 57, 56, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 184, 59, + 167, 168, 184, 11, 19, 22, 23, 25, 26, 27, + 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 54, 55, 63, 64, 121, 122, 124, 125, 126, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 153, 154, 155, 161, 162, 170, 171, 174, + 178, 179, 180, 181, 184, 151, 167, 184, 151, 167, + 184, 151, 151, 56, 151, 60, 56, 184, 52, 51, + 12, 121, 123, 151, 61, 51, 121, 51, 51, 51, + 51, 92, 187, 190, 60, 61, 61, 61, 151, 61, + 51, 51, 55, 161, 162, 174, 174, 54, 122, 61, + 61, 61, 61, 61, 17, 18, 20, 21, 63, 64, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 56, 52, 51, 56, 52, 51, 56, 57, 56, + 151, 167, 12, 121, 61, 151, 26, 151, 127, 153, + 154, 155, 174, 184, 151, 60, 60, 61, 167, 167, + 151, 51, 51, 51, 51, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 56, 167, 56, 167, + 56, 151, 51, 52, 52, 51, 52, 61, 29, 57, + 52, 52, 52, 151, 151, 151, 151, 51, 52, 51, + 52, 51, 52, 167, 121, 151, 121, 151, 152, 151, + 184, 126, 61, 61, 52, 52, 57, 52, 57, 52, + 57, 167, 167, 167, 52, 24, 52, 61, 52, 29, + 61, 61, 168, 61, 168, 61, 168, 52, 52, 52, + 121, 61, 127, 121, 151, 52, 52, 52, 52, 52, + 61, 61, 61, 121, 121 }; const unsigned char parser::yyr1_[] = { - 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, - 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 123, 123, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 128, 128, 128, 129, 129, - 130, 130, 130, 131, 132, 132, 133, 134, 134, 135, - 135, 136, 137, 138, 139, 140, 141, 142, 142, 143, - 144, 144, 145, 146, 147, 148, 148, 149, 150, 151, - 152, 152, 152, 153, 153, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 155, 155, 156, 156, - 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 160, 161, 162, - 162, 163, 163, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 166, 167, 167, 167, 168, 168, 169, - 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 186, 187, - 188, 189, 190, 191, 191, 192, 192, 193, 194 + 0, 112, 113, 113, 114, 114, 114, 114, 114, 114, + 115, 116, 117, 117, 117, 117, 117, 118, 119, 120, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 122, 122, 123, 123, 124, 124, + 125, 125, 126, 126, 127, 127, 127, 127, 128, 128, + 129, 129, 129, 130, 131, 131, 132, 133, 133, 134, + 134, 135, 136, 137, 138, 139, 140, 141, 141, 142, + 143, 143, 144, 145, 146, 147, 147, 148, 149, 150, + 151, 151, 151, 152, 152, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 154, 154, 155, 155, + 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 159, 160, 161, 161, + 162, 162, 163, 163, 163, 163, 163, 163, 164, 164, + 164, 164, 165, 166, 166, 166, 167, 167, 168, 168, + 169, 169, 170, 171, 171, 172, 173, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 185, 186, 187, + 188, 189, 189, 190, 190, 191, 192 }; const signed char @@ -4460,13 +4425,13 @@ namespace xsk { namespace gsc { namespace iw7 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, 2, 1, - 1, 2, 2, 4, 6, 5, 7, 5, 7, 8, - 9, 9, 9, 3, 3, 1, 0, 1, 0, 3, - 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 7, 2, 1, 2, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, + 2, 2, 4, 6, 5, 7, 5, 7, 8, 9, + 9, 9, 3, 3, 1, 0, 1, 0, 3, 1, + 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 7, 2, 1, 2, 1, 1, 1 }; @@ -4476,28 +4441,28 @@ namespace xsk { namespace gsc { namespace iw7 { const short parser::yyrline_[] = { - 0, 254, 254, 255, 259, 261, 263, 265, 267, 269, - 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 333, 334, 338, 340, 345, 347, - 352, 353, 357, 358, 362, 364, 366, 369, 373, 375, - 380, 382, 384, 389, 394, 396, 401, 406, 408, 413, - 415, 420, 425, 430, 435, 440, 445, 450, 452, 457, - 462, 464, 469, 474, 479, 484, 486, 491, 496, 501, - 506, 507, 508, 512, 513, 517, 519, 521, 523, 525, - 527, 529, 531, 533, 535, 537, 542, 544, 549, 551, - 556, 561, 563, 565, 567, 569, 571, 573, 575, 577, - 579, 581, 583, 585, 587, 589, 591, 593, 595, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 631, 636, 641, - 642, 645, 646, 650, 652, 654, 656, 658, 660, 665, - 667, 669, 671, 676, 681, 683, 686, 690, 693, 697, - 699, 704, 706, 711, 716, 718, 723, 728, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 745, 750, 755, - 760, 765, 770, 775, 780, 785, 790, 795, 797, 802, - 807, 812, 817, 822, 824, 829, 831, 836, 841 + 0, 252, 252, 253, 257, 259, 261, 263, 265, 267, + 272, 276, 281, 282, 283, 284, 285, 289, 294, 299, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 331, 332, 336, 338, 343, 345, + 350, 351, 355, 356, 360, 362, 364, 367, 371, 373, + 378, 380, 382, 387, 392, 394, 399, 404, 406, 411, + 413, 418, 423, 428, 433, 438, 443, 448, 450, 455, + 460, 462, 467, 472, 477, 482, 484, 489, 494, 499, + 504, 505, 506, 510, 511, 515, 517, 519, 521, 523, + 525, 527, 529, 531, 533, 535, 540, 542, 547, 549, + 554, 559, 561, 563, 565, 567, 569, 571, 573, 575, + 577, 579, 581, 583, 585, 587, 589, 591, 593, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 628, 633, 638, 639, + 642, 643, 647, 649, 651, 653, 655, 657, 662, 664, + 666, 668, 673, 678, 680, 683, 687, 690, 694, 696, + 701, 703, 708, 713, 715, 720, 725, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 742, 747, 752, 757, + 762, 767, 772, 777, 782, 787, 792, 794, 799, 804, + 809, 814, 816, 821, 823, 828, 833 }; void @@ -4530,9 +4495,9 @@ namespace xsk { namespace gsc { namespace iw7 { #line 13 "parser.ypp" } } } // xsk::gsc::iw7 -#line 4534 "parser.cpp" +#line 4499 "parser.cpp" -#line 845 "parser.ypp" +#line 837 "parser.ypp" void xsk::gsc::iw7::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/iw7/xsk/parser.hpp b/src/iw7/xsk/parser.hpp index 59ca2dbf..b2c63d7c 100644 --- a/src/iw7/xsk/parser.hpp +++ b/src/iw7/xsk/parser.hpp @@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw7 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waittill - char dummy63[sizeof (ast::stmt_waittill::ptr)]; + char dummy62[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy63[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy64[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy66[sizeof (ast::stmt_while::ptr)]; + char dummy65[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy67[sizeof (std::string)]; + char dummy66[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw7 { IDENTIFIER = 98, // "identifier" STRING = 99, // "string literal" ISTRING = 100, // "localized string" - COLOR = 101, // "color" - FLOAT = 102, // "float" - INTEGER = 103, // "integer" - ADD_ARRAY = 104, // ADD_ARRAY - THEN = 105, // THEN - TERN = 106, // TERN - NEG = 107, // NEG - ANIMREF = 108, // ANIMREF - PREINC = 109, // PREINC - PREDEC = 110, // PREDEC - POSTINC = 111, // POSTINC - POSTDEC = 112 // POSTDEC + FLOAT = 101, // "float" + INTEGER = 102, // "integer" + ADD_ARRAY = 103, // ADD_ARRAY + THEN = 104, // THEN + TERN = 105, // TERN + NEG = 106, // NEG + ANIMREF = 107, // ANIMREF + PREINC = 108, // PREINC + PREDEC = 109, // PREDEC + POSTINC = 110, // POSTINC + POSTDEC = 111 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw7 { { enum symbol_kind_type { - YYNTOKENS = 113, ///< Number of tokens. + YYNTOKENS = 112, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw7 { S_IDENTIFIER = 98, // "identifier" S_STRING = 99, // "string literal" S_ISTRING = 100, // "localized string" - S_COLOR = 101, // "color" - S_FLOAT = 102, // "float" - S_INTEGER = 103, // "integer" - S_ADD_ARRAY = 104, // ADD_ARRAY - S_THEN = 105, // THEN - S_TERN = 106, // TERN - S_NEG = 107, // NEG - S_ANIMREF = 108, // ANIMREF - S_PREINC = 109, // PREINC - S_PREDEC = 110, // PREDEC - S_POSTINC = 111, // POSTINC - S_POSTDEC = 112, // POSTDEC - S_YYACCEPT = 113, // $accept - S_root = 114, // root - S_program = 115, // program - S_inline = 116, // inline - S_include = 117, // include - S_declaration = 118, // declaration - S_decl_usingtree = 119, // decl_usingtree - S_decl_constant = 120, // decl_constant - S_decl_thread = 121, // decl_thread - S_stmt = 122, // stmt - S_stmt_or_dev = 123, // stmt_or_dev - S_stmt_list = 124, // stmt_list - S_stmt_or_dev_list = 125, // stmt_or_dev_list - S_stmt_dev = 126, // stmt_dev - S_stmt_block = 127, // stmt_block - S_stmt_expr = 128, // stmt_expr - S_stmt_call = 129, // stmt_call - S_stmt_assign = 130, // stmt_assign - S_stmt_endon = 131, // stmt_endon - S_stmt_notify = 132, // stmt_notify - S_stmt_wait = 133, // stmt_wait - S_stmt_waittill = 134, // stmt_waittill - S_stmt_waittillmatch = 135, // stmt_waittillmatch - S_stmt_waittillframeend = 136, // stmt_waittillframeend - S_stmt_if = 137, // stmt_if - S_stmt_ifelse = 138, // stmt_ifelse - S_stmt_while = 139, // stmt_while - S_stmt_dowhile = 140, // stmt_dowhile - S_stmt_for = 141, // stmt_for - S_stmt_foreach = 142, // stmt_foreach - S_stmt_switch = 143, // stmt_switch - S_stmt_case = 144, // stmt_case - S_stmt_default = 145, // stmt_default - S_stmt_break = 146, // stmt_break - S_stmt_continue = 147, // stmt_continue - S_stmt_return = 148, // stmt_return - S_stmt_breakpoint = 149, // stmt_breakpoint - S_stmt_prof_begin = 150, // stmt_prof_begin - S_stmt_prof_end = 151, // stmt_prof_end - S_expr = 152, // expr - S_expr_or_empty = 153, // expr_or_empty - S_expr_assign = 154, // expr_assign - S_expr_increment = 155, // expr_increment - S_expr_decrement = 156, // expr_decrement - S_expr_ternary = 157, // expr_ternary - S_expr_binary = 158, // expr_binary - S_expr_primitive = 159, // expr_primitive - S_expr_complement = 160, // expr_complement - S_expr_not = 161, // expr_not - S_expr_call = 162, // expr_call - S_expr_method = 163, // expr_method - S_expr_function = 164, // expr_function - S_expr_pointer = 165, // expr_pointer - S_expr_add_array = 166, // expr_add_array - S_expr_parameters = 167, // expr_parameters - S_expr_arguments = 168, // expr_arguments - S_expr_arguments_no_empty = 169, // expr_arguments_no_empty - S_expr_reference = 170, // expr_reference - S_expr_array = 171, // expr_array - S_expr_field = 172, // expr_field - S_expr_size = 173, // expr_size - S_expr_paren = 174, // expr_paren - S_expr_object = 175, // expr_object - S_expr_thisthread = 176, // expr_thisthread - S_expr_empty_array = 177, // expr_empty_array - S_expr_undefined = 178, // expr_undefined - S_expr_game = 179, // expr_game - S_expr_self = 180, // expr_self - S_expr_anim = 181, // expr_anim - S_expr_level = 182, // expr_level - S_expr_animation = 183, // expr_animation - S_expr_animtree = 184, // expr_animtree - S_expr_identifier = 185, // expr_identifier - S_expr_path = 186, // expr_path - S_expr_istring = 187, // expr_istring - S_expr_string = 188, // expr_string - S_expr_color = 189, // expr_color - S_expr_vector = 190, // expr_vector - S_expr_float = 191, // expr_float - S_expr_integer = 192, // expr_integer - S_expr_false = 193, // expr_false - S_expr_true = 194 // expr_true + S_FLOAT = 101, // "float" + S_INTEGER = 102, // "integer" + S_ADD_ARRAY = 103, // ADD_ARRAY + S_THEN = 104, // THEN + S_TERN = 105, // TERN + S_NEG = 106, // NEG + S_ANIMREF = 107, // ANIMREF + S_PREINC = 108, // PREINC + S_PREDEC = 109, // PREDEC + S_POSTINC = 110, // POSTINC + S_POSTDEC = 111, // POSTDEC + S_YYACCEPT = 112, // $accept + S_root = 113, // root + S_program = 114, // program + S_inline = 115, // inline + S_include = 116, // include + S_declaration = 117, // declaration + S_decl_usingtree = 118, // decl_usingtree + S_decl_constant = 119, // decl_constant + S_decl_thread = 120, // decl_thread + S_stmt = 121, // stmt + S_stmt_or_dev = 122, // stmt_or_dev + S_stmt_list = 123, // stmt_list + S_stmt_or_dev_list = 124, // stmt_or_dev_list + S_stmt_dev = 125, // stmt_dev + S_stmt_block = 126, // stmt_block + S_stmt_expr = 127, // stmt_expr + S_stmt_call = 128, // stmt_call + S_stmt_assign = 129, // stmt_assign + S_stmt_endon = 130, // stmt_endon + S_stmt_notify = 131, // stmt_notify + S_stmt_wait = 132, // stmt_wait + S_stmt_waittill = 133, // stmt_waittill + S_stmt_waittillmatch = 134, // stmt_waittillmatch + S_stmt_waittillframeend = 135, // stmt_waittillframeend + S_stmt_if = 136, // stmt_if + S_stmt_ifelse = 137, // stmt_ifelse + S_stmt_while = 138, // stmt_while + S_stmt_dowhile = 139, // stmt_dowhile + S_stmt_for = 140, // stmt_for + S_stmt_foreach = 141, // stmt_foreach + S_stmt_switch = 142, // stmt_switch + S_stmt_case = 143, // stmt_case + S_stmt_default = 144, // stmt_default + S_stmt_break = 145, // stmt_break + S_stmt_continue = 146, // stmt_continue + S_stmt_return = 147, // stmt_return + S_stmt_breakpoint = 148, // stmt_breakpoint + S_stmt_prof_begin = 149, // stmt_prof_begin + S_stmt_prof_end = 150, // stmt_prof_end + S_expr = 151, // expr + S_expr_or_empty = 152, // expr_or_empty + S_expr_assign = 153, // expr_assign + S_expr_increment = 154, // expr_increment + S_expr_decrement = 155, // expr_decrement + S_expr_ternary = 156, // expr_ternary + S_expr_binary = 157, // expr_binary + S_expr_primitive = 158, // expr_primitive + S_expr_complement = 159, // expr_complement + S_expr_not = 160, // expr_not + S_expr_call = 161, // expr_call + S_expr_method = 162, // expr_method + S_expr_function = 163, // expr_function + S_expr_pointer = 164, // expr_pointer + S_expr_add_array = 165, // expr_add_array + S_expr_parameters = 166, // expr_parameters + S_expr_arguments = 167, // expr_arguments + S_expr_arguments_no_empty = 168, // expr_arguments_no_empty + S_expr_reference = 169, // expr_reference + S_expr_array = 170, // expr_array + S_expr_field = 171, // expr_field + S_expr_size = 172, // expr_size + S_expr_paren = 173, // expr_paren + S_expr_object = 174, // expr_object + S_expr_thisthread = 175, // expr_thisthread + S_expr_empty_array = 176, // expr_empty_array + S_expr_undefined = 177, // expr_undefined + S_expr_game = 178, // expr_game + S_expr_self = 179, // expr_self + S_expr_anim = 180, // expr_anim + S_expr_level = 181, // expr_level + S_expr_animation = 182, // expr_animation + S_expr_animtree = 183, // expr_animtree + S_expr_identifier = 184, // expr_identifier + S_expr_path = 185, // expr_path + S_expr_istring = 186, // expr_istring + S_expr_string = 187, // expr_string + S_expr_vector = 188, // expr_vector + S_expr_float = 189, // expr_float + S_expr_integer = 190, // expr_integer + S_expr_false = 191, // expr_false + S_expr_true = 192 // expr_true }; }; @@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw7 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw7 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw7 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2370,10 +2344,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2590,7 +2560,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4267,21 +4236,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4791,8 +4745,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2262, ///< Last index in yytable_. - yynnts_ = 82, ///< Number of nonterminal symbols. + yylast_ = 2274, ///< Last index in yytable_. + yynnts_ = 81, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4881,10 +4835,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5101,7 +5051,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5198,10 +5147,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5418,7 +5363,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5487,7 +5431,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::iw7 -#line 5491 "parser.hpp" +#line 5435 "parser.hpp" diff --git a/src/iw8/xsk/parser.cpp b/src/iw8/xsk/parser.cpp index 6e325802..efeef6da 100644 --- a/src/iw8/xsk/parser.cpp +++ b/src/iw8/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace iw8 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -509,7 +505,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -592,10 +587,6 @@ namespace xsk { namespace gsc { namespace iw8 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -824,7 +815,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -907,10 +897,6 @@ namespace xsk { namespace gsc { namespace iw8 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1139,7 +1125,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1221,10 +1206,6 @@ namespace xsk { namespace gsc { namespace iw8 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1453,7 +1434,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1790,10 +1770,6 @@ namespace xsk { namespace gsc { namespace iw8 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -2022,7 +1998,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2049,1351 +2024,1339 @@ namespace xsk { namespace gsc { namespace iw8 { switch (yyn) { case 2: // root: program -#line 260 "parser.ypp" +#line 258 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 2055 "parser.cpp" +#line 2030 "parser.cpp" break; case 3: // root: %empty -#line 261 "parser.ypp" +#line 259 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2061 "parser.cpp" +#line 2036 "parser.cpp" break; case 4: // program: program inline -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2067 "parser.cpp" +#line 2042 "parser.cpp" break; case 5: // program: program include -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2073 "parser.cpp" +#line 2048 "parser.cpp" break; case 6: // program: program declaration -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2079 "parser.cpp" +#line 2054 "parser.cpp" break; case 7: // program: inline -#line 272 "parser.ypp" +#line 270 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2085 "parser.cpp" +#line 2060 "parser.cpp" break; case 8: // program: include -#line 274 "parser.ypp" +#line 272 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2091 "parser.cpp" +#line 2066 "parser.cpp" break; case 9: // program: declaration -#line 276 "parser.ypp" +#line 274 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2097 "parser.cpp" +#line 2072 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 280 "parser.ypp" +#line 278 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2103 "parser.cpp" +#line 2078 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2109 "parser.cpp" +#line 2084 "parser.cpp" break; case 12: // declaration: "/#" -#line 289 "parser.ypp" +#line 287 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2115 "parser.cpp" +#line 2090 "parser.cpp" break; case 13: // declaration: "#/" -#line 290 "parser.ypp" +#line 288 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2121 "parser.cpp" +#line 2096 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 291 "parser.ypp" +#line 289 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2127 "parser.cpp" +#line 2102 "parser.cpp" break; case 15: // declaration: decl_constant -#line 292 "parser.ypp" +#line 290 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2133 "parser.cpp" +#line 2108 "parser.cpp" break; case 16: // declaration: decl_thread -#line 293 "parser.ypp" +#line 291 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2139 "parser.cpp" +#line 2114 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 298 "parser.ypp" +#line 296 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2145 "parser.cpp" +#line 2120 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 303 "parser.ypp" +#line 301 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2151 "parser.cpp" +#line 2126 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 308 "parser.ypp" +#line 306 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2157 "parser.cpp" +#line 2132 "parser.cpp" break; case 20: // stmt: stmt_block -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2163 "parser.cpp" +#line 2138 "parser.cpp" break; case 21: // stmt: stmt_call -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2169 "parser.cpp" +#line 2144 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2175 "parser.cpp" +#line 2150 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2181 "parser.cpp" +#line 2156 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2187 "parser.cpp" +#line 2162 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2193 "parser.cpp" +#line 2168 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2199 "parser.cpp" +#line 2174 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2205 "parser.cpp" +#line 2180 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2211 "parser.cpp" +#line 2186 "parser.cpp" break; case 29: // stmt: stmt_waitframe -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } -#line 2217 "parser.cpp" +#line 2192 "parser.cpp" break; case 30: // stmt: stmt_if -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2223 "parser.cpp" +#line 2198 "parser.cpp" break; case 31: // stmt: stmt_ifelse -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2229 "parser.cpp" +#line 2204 "parser.cpp" break; case 32: // stmt: stmt_while -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2235 "parser.cpp" +#line 2210 "parser.cpp" break; case 33: // stmt: stmt_dowhile -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2241 "parser.cpp" +#line 2216 "parser.cpp" break; case 34: // stmt: stmt_for -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2247 "parser.cpp" +#line 2222 "parser.cpp" break; case 35: // stmt: stmt_foreach -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2253 "parser.cpp" +#line 2228 "parser.cpp" break; case 36: // stmt: stmt_switch -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2259 "parser.cpp" +#line 2234 "parser.cpp" break; case 37: // stmt: stmt_case -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2265 "parser.cpp" +#line 2240 "parser.cpp" break; case 38: // stmt: stmt_default -#line 330 "parser.ypp" +#line 328 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2271 "parser.cpp" +#line 2246 "parser.cpp" break; case 39: // stmt: stmt_break -#line 331 "parser.ypp" +#line 329 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2277 "parser.cpp" +#line 2252 "parser.cpp" break; case 40: // stmt: stmt_continue -#line 332 "parser.ypp" +#line 330 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2283 "parser.cpp" +#line 2258 "parser.cpp" break; case 41: // stmt: stmt_return -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2289 "parser.cpp" +#line 2264 "parser.cpp" break; case 42: // stmt: stmt_breakpoint -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2295 "parser.cpp" +#line 2270 "parser.cpp" break; case 43: // stmt: stmt_prof_begin -#line 335 "parser.ypp" +#line 333 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2301 "parser.cpp" +#line 2276 "parser.cpp" break; case 44: // stmt: stmt_prof_end -#line 336 "parser.ypp" +#line 334 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2307 "parser.cpp" +#line 2282 "parser.cpp" break; case 45: // stmt_or_dev: stmt -#line 340 "parser.ypp" +#line 338 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2313 "parser.cpp" +#line 2288 "parser.cpp" break; case 46: // stmt_or_dev: stmt_dev -#line 341 "parser.ypp" +#line 339 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2319 "parser.cpp" +#line 2294 "parser.cpp" break; case 47: // stmt_list: stmt_list stmt -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2325 "parser.cpp" +#line 2300 "parser.cpp" break; case 48: // stmt_list: stmt -#line 348 "parser.ypp" +#line 346 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2331 "parser.cpp" +#line 2306 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2337 "parser.cpp" +#line 2312 "parser.cpp" break; case 50: // stmt_or_dev_list: stmt_or_dev -#line 355 "parser.ypp" +#line 353 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2343 "parser.cpp" +#line 2318 "parser.cpp" break; case 51: // stmt_dev: "/#" stmt_list "#/" -#line 359 "parser.ypp" +#line 357 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2349 "parser.cpp" +#line 2324 "parser.cpp" break; case 52: // stmt_dev: "/#" "#/" -#line 360 "parser.ypp" +#line 358 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2355 "parser.cpp" +#line 2330 "parser.cpp" break; case 53: // stmt_block: "{" stmt_or_dev_list "}" -#line 364 "parser.ypp" +#line 362 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2361 "parser.cpp" +#line 2336 "parser.cpp" break; case 54: // stmt_block: "{" "}" -#line 365 "parser.ypp" +#line 363 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2367 "parser.cpp" +#line 2342 "parser.cpp" break; case 55: // stmt_expr: expr_assign -#line 370 "parser.ypp" +#line 368 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2373 "parser.cpp" +#line 2348 "parser.cpp" break; case 56: // stmt_expr: expr_increment -#line 372 "parser.ypp" +#line 370 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2379 "parser.cpp" +#line 2354 "parser.cpp" break; case 57: // stmt_expr: expr_decrement -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2385 "parser.cpp" +#line 2360 "parser.cpp" break; case 58: // stmt_expr: %empty -#line 376 "parser.ypp" +#line 374 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2391 "parser.cpp" +#line 2366 "parser.cpp" break; case 59: // stmt_call: expr_call ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2397 "parser.cpp" +#line 2372 "parser.cpp" break; case 60: // stmt_call: expr_method ";" -#line 383 "parser.ypp" +#line 381 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2403 "parser.cpp" +#line 2378 "parser.cpp" break; case 61: // stmt_assign: expr_assign ";" -#line 388 "parser.ypp" +#line 386 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2409 "parser.cpp" +#line 2384 "parser.cpp" break; case 62: // stmt_assign: expr_increment ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2415 "parser.cpp" +#line 2390 "parser.cpp" break; case 63: // stmt_assign: expr_decrement ";" -#line 392 "parser.ypp" +#line 390 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2421 "parser.cpp" +#line 2396 "parser.cpp" break; case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 397 "parser.ypp" +#line 395 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2427 "parser.cpp" +#line 2402 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2433 "parser.cpp" +#line 2408 "parser.cpp" break; case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 404 "parser.ypp" +#line 402 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2439 "parser.cpp" +#line 2414 "parser.cpp" break; case 67: // stmt_wait: "wait" expr ";" -#line 409 "parser.ypp" +#line 407 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2445 "parser.cpp" +#line 2420 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2451 "parser.cpp" +#line 2426 "parser.cpp" break; case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 416 "parser.ypp" +#line 414 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2457 "parser.cpp" +#line 2432 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2463 "parser.cpp" +#line 2438 "parser.cpp" break; case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 423 "parser.ypp" +#line 421 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2469 "parser.cpp" +#line 2444 "parser.cpp" break; case 72: // stmt_waittillframeend: "waittillframeend" ";" -#line 428 "parser.ypp" +#line 426 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2475 "parser.cpp" +#line 2450 "parser.cpp" break; case 73: // stmt_waitframe: "waitframe" ";" -#line 433 "parser.ypp" +#line 431 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2481 "parser.cpp" +#line 2456 "parser.cpp" break; case 74: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 435 "parser.ypp" +#line 433 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2487 "parser.cpp" +#line 2462 "parser.cpp" break; case 75: // stmt_if: "if" "(" expr ")" stmt -#line 440 "parser.ypp" +#line 438 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2493 "parser.cpp" +#line 2468 "parser.cpp" break; case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 445 "parser.ypp" +#line 443 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2499 "parser.cpp" +#line 2474 "parser.cpp" break; case 77: // stmt_while: "while" "(" expr ")" stmt -#line 450 "parser.ypp" +#line 448 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2505 "parser.cpp" +#line 2480 "parser.cpp" break; case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 455 "parser.ypp" +#line 453 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2511 "parser.cpp" +#line 2486 "parser.cpp" break; case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 460 "parser.ypp" +#line 458 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2517 "parser.cpp" +#line 2492 "parser.cpp" break; case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2523 "parser.cpp" +#line 2498 "parser.cpp" break; case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 467 "parser.ypp" +#line 465 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2529 "parser.cpp" +#line 2504 "parser.cpp" break; case 82: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 472 "parser.ypp" +#line 470 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2535 "parser.cpp" +#line 2510 "parser.cpp" break; case 83: // stmt_case: "case" expr_integer ":" -#line 477 "parser.ypp" +#line 475 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2541 "parser.cpp" +#line 2516 "parser.cpp" break; case 84: // stmt_case: "case" expr_string ":" -#line 479 "parser.ypp" +#line 477 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2547 "parser.cpp" +#line 2522 "parser.cpp" break; case 85: // stmt_default: "default" ":" -#line 484 "parser.ypp" +#line 482 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2553 "parser.cpp" +#line 2528 "parser.cpp" break; case 86: // stmt_break: "break" ";" -#line 489 "parser.ypp" +#line 487 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2559 "parser.cpp" +#line 2534 "parser.cpp" break; case 87: // stmt_continue: "continue" ";" -#line 494 "parser.ypp" +#line 492 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2565 "parser.cpp" +#line 2540 "parser.cpp" break; case 88: // stmt_return: "return" expr ";" -#line 499 "parser.ypp" +#line 497 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2571 "parser.cpp" +#line 2546 "parser.cpp" break; case 89: // stmt_return: "return" ";" -#line 501 "parser.ypp" +#line 499 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2577 "parser.cpp" +#line 2552 "parser.cpp" break; case 90: // stmt_breakpoint: "breakpoint" ";" -#line 506 "parser.ypp" +#line 504 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2583 "parser.cpp" +#line 2558 "parser.cpp" break; case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 511 "parser.ypp" +#line 509 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2589 "parser.cpp" +#line 2564 "parser.cpp" break; case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 516 "parser.ypp" +#line 514 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2595 "parser.cpp" +#line 2570 "parser.cpp" break; case 93: // expr: expr_ternary -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2601 "parser.cpp" +#line 2576 "parser.cpp" break; case 94: // expr: expr_binary -#line 521 "parser.ypp" +#line 519 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2607 "parser.cpp" +#line 2582 "parser.cpp" break; case 95: // expr: expr_primitive -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2613 "parser.cpp" +#line 2588 "parser.cpp" break; case 96: // expr_or_empty: expr -#line 526 "parser.ypp" +#line 524 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2619 "parser.cpp" +#line 2594 "parser.cpp" break; case 97: // expr_or_empty: %empty -#line 527 "parser.ypp" +#line 525 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2625 "parser.cpp" +#line 2600 "parser.cpp" break; case 98: // expr_assign: expr_object "=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2631 "parser.cpp" +#line 2606 "parser.cpp" break; case 99: // expr_assign: expr_object "|=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2637 "parser.cpp" +#line 2612 "parser.cpp" break; case 100: // expr_assign: expr_object "&=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2643 "parser.cpp" +#line 2618 "parser.cpp" break; case 101: // expr_assign: expr_object "^=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2649 "parser.cpp" +#line 2624 "parser.cpp" break; case 102: // expr_assign: expr_object "<<=" expr -#line 540 "parser.ypp" +#line 538 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2655 "parser.cpp" +#line 2630 "parser.cpp" break; case 103: // expr_assign: expr_object ">>=" expr -#line 542 "parser.ypp" +#line 540 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2661 "parser.cpp" +#line 2636 "parser.cpp" break; case 104: // expr_assign: expr_object "+=" expr -#line 544 "parser.ypp" +#line 542 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2667 "parser.cpp" +#line 2642 "parser.cpp" break; case 105: // expr_assign: expr_object "-=" expr -#line 546 "parser.ypp" +#line 544 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2673 "parser.cpp" +#line 2648 "parser.cpp" break; case 106: // expr_assign: expr_object "*=" expr -#line 548 "parser.ypp" +#line 546 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2679 "parser.cpp" +#line 2654 "parser.cpp" break; case 107: // expr_assign: expr_object "/=" expr -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2685 "parser.cpp" +#line 2660 "parser.cpp" break; case 108: // expr_assign: expr_object "%=" expr -#line 552 "parser.ypp" +#line 550 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2691 "parser.cpp" +#line 2666 "parser.cpp" break; case 109: // expr_increment: "++" expr_object -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2697 "parser.cpp" +#line 2672 "parser.cpp" break; case 110: // expr_increment: expr_object "++" -#line 559 "parser.ypp" +#line 557 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2703 "parser.cpp" +#line 2678 "parser.cpp" break; case 111: // expr_decrement: "--" expr_object -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2709 "parser.cpp" +#line 2684 "parser.cpp" break; case 112: // expr_decrement: expr_object "--" -#line 566 "parser.ypp" +#line 564 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2715 "parser.cpp" +#line 2690 "parser.cpp" break; case 113: // expr_ternary: expr "?" expr ":" expr -#line 571 "parser.ypp" +#line 569 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2721 "parser.cpp" +#line 2696 "parser.cpp" break; case 114: // expr_binary: expr "||" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2727 "parser.cpp" +#line 2702 "parser.cpp" break; case 115: // expr_binary: expr "&&" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2733 "parser.cpp" +#line 2708 "parser.cpp" break; case 116: // expr_binary: expr "==" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2739 "parser.cpp" +#line 2714 "parser.cpp" break; case 117: // expr_binary: expr "!=" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2745 "parser.cpp" +#line 2720 "parser.cpp" break; case 118: // expr_binary: expr "<=" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2751 "parser.cpp" +#line 2726 "parser.cpp" break; case 119: // expr_binary: expr ">=" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2757 "parser.cpp" +#line 2732 "parser.cpp" break; case 120: // expr_binary: expr "<" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2763 "parser.cpp" +#line 2738 "parser.cpp" break; case 121: // expr_binary: expr ">" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2769 "parser.cpp" +#line 2744 "parser.cpp" break; case 122: // expr_binary: expr "|" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2775 "parser.cpp" +#line 2750 "parser.cpp" break; case 123: // expr_binary: expr "&" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2781 "parser.cpp" +#line 2756 "parser.cpp" break; case 124: // expr_binary: expr "^" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2787 "parser.cpp" +#line 2762 "parser.cpp" break; case 125: // expr_binary: expr "<<" expr -#line 598 "parser.ypp" +#line 596 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2793 "parser.cpp" +#line 2768 "parser.cpp" break; case 126: // expr_binary: expr ">>" expr -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2799 "parser.cpp" +#line 2774 "parser.cpp" break; case 127: // expr_binary: expr "+" expr -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2805 "parser.cpp" +#line 2780 "parser.cpp" break; case 128: // expr_binary: expr "-" expr -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2811 "parser.cpp" +#line 2786 "parser.cpp" break; case 129: // expr_binary: expr "*" expr -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2817 "parser.cpp" +#line 2792 "parser.cpp" break; case 130: // expr_binary: expr "/" expr -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2823 "parser.cpp" +#line 2798 "parser.cpp" break; case 131: // expr_binary: expr "%" expr -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2829 "parser.cpp" +#line 2804 "parser.cpp" break; case 132: // expr_primitive: expr_complement -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2835 "parser.cpp" +#line 2810 "parser.cpp" break; case 133: // expr_primitive: expr_not -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2841 "parser.cpp" +#line 2816 "parser.cpp" break; case 134: // expr_primitive: expr_call -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2847 "parser.cpp" +#line 2822 "parser.cpp" break; case 135: // expr_primitive: expr_method -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2853 "parser.cpp" +#line 2828 "parser.cpp" break; case 136: // expr_primitive: expr_add_array -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2859 "parser.cpp" +#line 2834 "parser.cpp" break; case 137: // expr_primitive: expr_isdefined -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_isdefined::ptr > ()); } -#line 2865 "parser.cpp" +#line 2840 "parser.cpp" break; case 138: // expr_primitive: expr_istrue -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istrue::ptr > ()); } -#line 2871 "parser.cpp" +#line 2846 "parser.cpp" break; case 139: // expr_primitive: expr_reference -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2877 "parser.cpp" +#line 2852 "parser.cpp" break; case 140: // expr_primitive: expr_array -#line 622 "parser.ypp" +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2883 "parser.cpp" +#line 2858 "parser.cpp" break; case 141: // expr_primitive: expr_field -#line 623 "parser.ypp" +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2889 "parser.cpp" +#line 2864 "parser.cpp" break; case 142: // expr_primitive: expr_size -#line 624 "parser.ypp" +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2895 "parser.cpp" +#line 2870 "parser.cpp" break; case 143: // expr_primitive: expr_paren -#line 625 "parser.ypp" +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2901 "parser.cpp" +#line 2876 "parser.cpp" break; case 144: // expr_primitive: expr_thisthread -#line 626 "parser.ypp" +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2907 "parser.cpp" +#line 2882 "parser.cpp" break; case 145: // expr_primitive: expr_empty_array -#line 627 "parser.ypp" +#line 625 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2913 "parser.cpp" +#line 2888 "parser.cpp" break; case 146: // expr_primitive: expr_undefined -#line 628 "parser.ypp" +#line 626 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2919 "parser.cpp" +#line 2894 "parser.cpp" break; case 147: // expr_primitive: expr_game -#line 629 "parser.ypp" +#line 627 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2925 "parser.cpp" +#line 2900 "parser.cpp" break; case 148: // expr_primitive: expr_self -#line 630 "parser.ypp" +#line 628 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2931 "parser.cpp" +#line 2906 "parser.cpp" break; case 149: // expr_primitive: expr_anim -#line 631 "parser.ypp" +#line 629 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2937 "parser.cpp" +#line 2912 "parser.cpp" break; case 150: // expr_primitive: expr_level -#line 632 "parser.ypp" +#line 630 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2943 "parser.cpp" +#line 2918 "parser.cpp" break; case 151: // expr_primitive: expr_animation -#line 633 "parser.ypp" +#line 631 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2949 "parser.cpp" +#line 2924 "parser.cpp" break; case 152: // expr_primitive: expr_animtree -#line 634 "parser.ypp" +#line 632 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2955 "parser.cpp" +#line 2930 "parser.cpp" break; case 153: // expr_primitive: expr_identifier -#line 635 "parser.ypp" +#line 633 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2961 "parser.cpp" +#line 2936 "parser.cpp" break; case 154: // expr_primitive: expr_istring -#line 636 "parser.ypp" +#line 634 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2967 "parser.cpp" +#line 2942 "parser.cpp" break; case 155: // expr_primitive: expr_string -#line 637 "parser.ypp" +#line 635 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2973 "parser.cpp" +#line 2948 "parser.cpp" break; - case 156: // expr_primitive: expr_color -#line 638 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2979 "parser.cpp" - break; - - case 157: // expr_primitive: expr_vector -#line 639 "parser.ypp" + case 156: // expr_primitive: expr_vector +#line 636 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2985 "parser.cpp" +#line 2954 "parser.cpp" break; - case 158: // expr_primitive: expr_float -#line 640 "parser.ypp" + case 157: // expr_primitive: expr_float +#line 637 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2991 "parser.cpp" +#line 2960 "parser.cpp" break; - case 159: // expr_primitive: expr_integer -#line 641 "parser.ypp" + case 158: // expr_primitive: expr_integer +#line 638 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2997 "parser.cpp" +#line 2966 "parser.cpp" break; - case 160: // expr_primitive: expr_false -#line 642 "parser.ypp" + case 159: // expr_primitive: expr_false +#line 639 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 3003 "parser.cpp" +#line 2972 "parser.cpp" break; - case 161: // expr_primitive: expr_true -#line 643 "parser.ypp" + case 160: // expr_primitive: expr_true +#line 640 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 3009 "parser.cpp" +#line 2978 "parser.cpp" break; - case 162: // expr_complement: "~" expr -#line 648 "parser.ypp" + case 161: // expr_complement: "~" expr +#line 645 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3015 "parser.cpp" +#line 2984 "parser.cpp" break; - case 163: // expr_not: "!" expr -#line 653 "parser.ypp" + case 162: // expr_not: "!" expr +#line 650 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3021 "parser.cpp" +#line 2990 "parser.cpp" break; - case 164: // expr_call: expr_function -#line 657 "parser.ypp" + case 163: // expr_call: expr_function +#line 654 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 3027 "parser.cpp" +#line 2996 "parser.cpp" break; - case 165: // expr_call: expr_pointer + case 164: // expr_call: expr_pointer +#line 655 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 3002 "parser.cpp" + break; + + case 165: // expr_method: expr_object expr_function #line 658 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 3033 "parser.cpp" - break; - - case 166: // expr_method: expr_object expr_function -#line 661 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 3039 "parser.cpp" +#line 3008 "parser.cpp" break; - case 167: // expr_method: expr_object expr_pointer -#line 662 "parser.ypp" + case 166: // expr_method: expr_object expr_pointer +#line 659 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 3045 "parser.cpp" +#line 3014 "parser.cpp" break; - case 168: // expr_function: expr_identifier "(" expr_arguments ")" -#line 667 "parser.ypp" + case 167: // expr_function: expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3051 "parser.cpp" +#line 3020 "parser.cpp" break; - case 169: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 669 "parser.ypp" + case 168: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3057 "parser.cpp" +#line 3026 "parser.cpp" break; - case 170: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 671 "parser.ypp" + case 169: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3063 "parser.cpp" +#line 3032 "parser.cpp" break; - case 171: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 673 "parser.ypp" + case 170: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 670 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3069 "parser.cpp" +#line 3038 "parser.cpp" break; - case 172: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 675 "parser.ypp" + case 171: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 672 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3075 "parser.cpp" +#line 3044 "parser.cpp" break; - case 173: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 677 "parser.ypp" + case 172: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 674 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3081 "parser.cpp" +#line 3050 "parser.cpp" break; - case 174: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 682 "parser.ypp" + case 173: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 679 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3087 "parser.cpp" +#line 3056 "parser.cpp" break; - case 175: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 684 "parser.ypp" + case 174: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 681 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3093 "parser.cpp" +#line 3062 "parser.cpp" break; - case 176: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 686 "parser.ypp" + case 175: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 683 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3099 "parser.cpp" +#line 3068 "parser.cpp" break; - case 177: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 688 "parser.ypp" + case 176: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 685 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3105 "parser.cpp" +#line 3074 "parser.cpp" break; - case 178: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 693 "parser.ypp" + case 177: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 690 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3111 "parser.cpp" +#line 3080 "parser.cpp" break; - case 179: // expr_parameters: expr_parameters "," expr_identifier -#line 698 "parser.ypp" + case 178: // expr_parameters: expr_parameters "," expr_identifier +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3117 "parser.cpp" +#line 3086 "parser.cpp" break; - case 180: // expr_parameters: expr_identifier -#line 700 "parser.ypp" + case 179: // expr_parameters: expr_identifier +#line 697 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3123 "parser.cpp" +#line 3092 "parser.cpp" break; - case 181: // expr_parameters: %empty -#line 702 "parser.ypp" + case 180: // expr_parameters: %empty +#line 699 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3129 "parser.cpp" +#line 3098 "parser.cpp" break; - case 182: // expr_arguments: expr_arguments_no_empty -#line 707 "parser.ypp" + case 181: // expr_arguments: expr_arguments_no_empty +#line 704 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3135 "parser.cpp" +#line 3104 "parser.cpp" break; - case 183: // expr_arguments: %empty -#line 709 "parser.ypp" + case 182: // expr_arguments: %empty +#line 706 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3141 "parser.cpp" +#line 3110 "parser.cpp" break; - case 184: // expr_arguments_no_empty: expr_arguments "," expr -#line 714 "parser.ypp" + case 183: // expr_arguments_no_empty: expr_arguments "," expr +#line 711 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3147 "parser.cpp" +#line 3116 "parser.cpp" break; - case 185: // expr_arguments_no_empty: expr -#line 716 "parser.ypp" + case 184: // expr_arguments_no_empty: expr +#line 713 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3153 "parser.cpp" +#line 3122 "parser.cpp" break; - case 186: // expr_isdefined: "isdefined" "(" expr ")" -#line 721 "parser.ypp" + case 185: // expr_isdefined: "isdefined" "(" expr ")" +#line 718 "parser.ypp" { yylhs.value.as < ast::expr_isdefined::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3159 "parser.cpp" +#line 3128 "parser.cpp" break; - case 187: // expr_istrue: "istrue" "(" expr ")" -#line 726 "parser.ypp" + case 186: // expr_istrue: "istrue" "(" expr ")" +#line 723 "parser.ypp" { yylhs.value.as < ast::expr_istrue::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3165 "parser.cpp" +#line 3134 "parser.cpp" break; - case 188: // expr_reference: "::" expr_identifier -#line 731 "parser.ypp" + case 187: // expr_reference: "::" expr_identifier +#line 728 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3171 "parser.cpp" +#line 3140 "parser.cpp" break; - case 189: // expr_reference: expr_path "::" expr_identifier -#line 733 "parser.ypp" + case 188: // expr_reference: expr_path "::" expr_identifier +#line 730 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3177 "parser.cpp" +#line 3146 "parser.cpp" break; - case 190: // expr_array: expr_object "[" expr "]" -#line 738 "parser.ypp" + case 189: // expr_array: expr_object "[" expr "]" +#line 735 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3183 "parser.cpp" +#line 3152 "parser.cpp" break; - case 191: // expr_field: expr_object "." expr_identifier -#line 743 "parser.ypp" + case 190: // expr_field: expr_object "." expr_identifier +#line 740 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3189 "parser.cpp" +#line 3158 "parser.cpp" break; - case 192: // expr_field: expr_object "field" -#line 745 "parser.ypp" + case 191: // expr_field: expr_object "field" +#line 742 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3195 "parser.cpp" +#line 3164 "parser.cpp" break; - case 193: // expr_size: expr_object ".size" -#line 750 "parser.ypp" + case 192: // expr_size: expr_object ".size" +#line 747 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3201 "parser.cpp" +#line 3170 "parser.cpp" break; - case 194: // expr_paren: "(" expr ")" -#line 755 "parser.ypp" + case 193: // expr_paren: "(" expr ")" +#line 752 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3207 "parser.cpp" +#line 3176 "parser.cpp" break; - case 195: // expr_object: expr_call -#line 759 "parser.ypp" + case 194: // expr_object: expr_call +#line 756 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3213 "parser.cpp" +#line 3182 "parser.cpp" break; - case 196: // expr_object: expr_method -#line 760 "parser.ypp" + case 195: // expr_object: expr_method +#line 757 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3219 "parser.cpp" +#line 3188 "parser.cpp" break; - case 197: // expr_object: expr_array -#line 761 "parser.ypp" + case 196: // expr_object: expr_array +#line 758 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3225 "parser.cpp" +#line 3194 "parser.cpp" break; - case 198: // expr_object: expr_field -#line 762 "parser.ypp" + case 197: // expr_object: expr_field +#line 759 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3231 "parser.cpp" +#line 3200 "parser.cpp" break; - case 199: // expr_object: expr_game -#line 763 "parser.ypp" + case 198: // expr_object: expr_game +#line 760 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3237 "parser.cpp" +#line 3206 "parser.cpp" break; - case 200: // expr_object: expr_self -#line 764 "parser.ypp" + case 199: // expr_object: expr_self +#line 761 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3243 "parser.cpp" +#line 3212 "parser.cpp" break; - case 201: // expr_object: expr_anim -#line 765 "parser.ypp" + case 200: // expr_object: expr_anim +#line 762 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3249 "parser.cpp" +#line 3218 "parser.cpp" break; - case 202: // expr_object: expr_level -#line 766 "parser.ypp" + case 201: // expr_object: expr_level +#line 763 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3255 "parser.cpp" +#line 3224 "parser.cpp" break; - case 203: // expr_object: expr_identifier -#line 767 "parser.ypp" + case 202: // expr_object: expr_identifier +#line 764 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3261 "parser.cpp" +#line 3230 "parser.cpp" break; - case 204: // expr_thisthread: "thisthread" -#line 772 "parser.ypp" + case 203: // expr_thisthread: "thisthread" +#line 769 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3267 "parser.cpp" +#line 3236 "parser.cpp" break; - case 205: // expr_empty_array: "[" "]" -#line 777 "parser.ypp" + case 204: // expr_empty_array: "[" "]" +#line 774 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3273 "parser.cpp" +#line 3242 "parser.cpp" break; - case 206: // expr_undefined: "undefined" -#line 782 "parser.ypp" + case 205: // expr_undefined: "undefined" +#line 779 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3279 "parser.cpp" +#line 3248 "parser.cpp" break; - case 207: // expr_game: "game" -#line 787 "parser.ypp" + case 206: // expr_game: "game" +#line 784 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3285 "parser.cpp" +#line 3254 "parser.cpp" break; - case 208: // expr_self: "self" -#line 792 "parser.ypp" + case 207: // expr_self: "self" +#line 789 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3291 "parser.cpp" +#line 3260 "parser.cpp" break; - case 209: // expr_anim: "anim" -#line 797 "parser.ypp" + case 208: // expr_anim: "anim" +#line 794 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3297 "parser.cpp" +#line 3266 "parser.cpp" break; - case 210: // expr_level: "level" -#line 802 "parser.ypp" + case 209: // expr_level: "level" +#line 799 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3303 "parser.cpp" +#line 3272 "parser.cpp" break; - case 211: // expr_animation: "%" "identifier" -#line 807 "parser.ypp" + case 210: // expr_animation: "%" "identifier" +#line 804 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3309 "parser.cpp" +#line 3278 "parser.cpp" break; - case 212: // expr_animtree: "#animtree" -#line 812 "parser.ypp" + case 211: // expr_animtree: "#animtree" +#line 809 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3315 "parser.cpp" +#line 3284 "parser.cpp" break; - case 213: // expr_identifier: "identifier" -#line 817 "parser.ypp" + case 212: // expr_identifier: "identifier" +#line 814 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3321 "parser.cpp" +#line 3290 "parser.cpp" break; - case 214: // expr_path: "path" -#line 822 "parser.ypp" + case 213: // expr_path: "path" +#line 819 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3327 "parser.cpp" +#line 3296 "parser.cpp" break; - case 215: // expr_path: expr_identifier -#line 824 "parser.ypp" + case 214: // expr_path: expr_identifier +#line 821 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3333 "parser.cpp" +#line 3302 "parser.cpp" break; - case 216: // expr_istring: "localized string" -#line 829 "parser.ypp" + case 215: // expr_istring: "localized string" +#line 826 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3339 "parser.cpp" +#line 3308 "parser.cpp" break; - case 217: // expr_string: "string literal" -#line 834 "parser.ypp" + case 216: // expr_string: "string literal" +#line 831 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3345 "parser.cpp" +#line 3314 "parser.cpp" break; - case 218: // expr_color: "color" -#line 839 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3351 "parser.cpp" - break; - - case 219: // expr_vector: "(" expr "," expr "," expr ")" -#line 844 "parser.ypp" + case 217: // expr_vector: "(" expr "," expr "," expr ")" +#line 836 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3357 "parser.cpp" +#line 3320 "parser.cpp" break; - case 220: // expr_float: "-" "float" -#line 849 "parser.ypp" + case 218: // expr_float: "-" "float" +#line 841 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3363 "parser.cpp" +#line 3326 "parser.cpp" break; - case 221: // expr_float: "float" -#line 851 "parser.ypp" + case 219: // expr_float: "float" +#line 843 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3369 "parser.cpp" +#line 3332 "parser.cpp" break; - case 222: // expr_integer: "-" "integer" -#line 856 "parser.ypp" + case 220: // expr_integer: "-" "integer" +#line 848 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3375 "parser.cpp" +#line 3338 "parser.cpp" break; - case 223: // expr_integer: "integer" -#line 858 "parser.ypp" + case 221: // expr_integer: "integer" +#line 850 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3381 "parser.cpp" +#line 3344 "parser.cpp" break; - case 224: // expr_false: "false" -#line 863 "parser.ypp" + case 222: // expr_false: "false" +#line 855 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3387 "parser.cpp" +#line 3350 "parser.cpp" break; - case 225: // expr_true: "true" -#line 868 "parser.ypp" + case 223: // expr_true: "true" +#line 860 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3393 "parser.cpp" +#line 3356 "parser.cpp" break; -#line 3397 "parser.cpp" +#line 3360 "parser.cpp" default: break; @@ -3589,29 +3552,28 @@ namespace xsk { namespace gsc { namespace iw8 { ";", "?", "++", "--", "<<", ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", - "identifier", "string literal", "localized string", "color", "float", - "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", "PREINC", - "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", "program", "inline", - "include", "declaration", "decl_usingtree", "decl_constant", - "decl_thread", "stmt", "stmt_or_dev", "stmt_list", "stmt_or_dev_list", - "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", "stmt_assign", - "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", - "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", - "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", - "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", - "stmt_continue", "stmt_return", "stmt_breakpoint", "stmt_prof_begin", - "stmt_prof_end", "expr", "expr_or_empty", "expr_assign", - "expr_increment", "expr_decrement", "expr_ternary", "expr_binary", - "expr_primitive", "expr_complement", "expr_not", "expr_call", - "expr_method", "expr_function", "expr_pointer", "expr_add_array", - "expr_parameters", "expr_arguments", "expr_arguments_no_empty", - "expr_isdefined", "expr_istrue", "expr_reference", "expr_array", - "expr_field", "expr_size", "expr_paren", "expr_object", - "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", - "expr_self", "expr_anim", "expr_level", "expr_animation", - "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "identifier", "string literal", "localized string", "float", "integer", + "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", + "POSTINC", "POSTDEC", "$accept", "root", "program", "inline", "include", + "declaration", "decl_usingtree", "decl_constant", "decl_thread", "stmt", + "stmt_or_dev", "stmt_list", "stmt_or_dev_list", "stmt_dev", "stmt_block", + "stmt_expr", "stmt_call", "stmt_assign", "stmt_endon", "stmt_notify", + "stmt_wait", "stmt_waittill", "stmt_waittillmatch", + "stmt_waittillframeend", "stmt_waitframe", "stmt_if", "stmt_ifelse", + "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", + "stmt_case", "stmt_default", "stmt_break", "stmt_continue", + "stmt_return", "stmt_breakpoint", "stmt_prof_begin", "stmt_prof_end", + "expr", "expr_or_empty", "expr_assign", "expr_increment", + "expr_decrement", "expr_ternary", "expr_binary", "expr_primitive", + "expr_complement", "expr_not", "expr_call", "expr_method", + "expr_function", "expr_pointer", "expr_add_array", "expr_parameters", + "expr_arguments", "expr_arguments_no_empty", "expr_isdefined", + "expr_istrue", "expr_reference", "expr_array", "expr_field", "expr_size", + "expr_paren", "expr_object", "expr_thisthread", "expr_empty_array", + "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", + "expr_animation", "expr_animtree", "expr_identifier", "expr_path", + "expr_istring", "expr_string", "expr_vector", "expr_float", + "expr_integer", "expr_false", "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3876,709 +3838,709 @@ namespace xsk { namespace gsc { namespace iw8 { } - const short parser::yypact_ninf_ = -279; + const short parser::yypact_ninf_ = -276; - const short parser::yytable_ninf_ = -216; + const short parser::yytable_ninf_ = -215; const short parser::yypact_[] = { - 8, -279, -279, 12, 12, -38, -279, 65, 8, -279, - -279, -279, -279, -279, -279, -18, -279, -279, 4, 11, - -72, -279, -279, -279, -279, -29, 974, -279, -279, -279, - 24, -28, -279, -279, -43, -34, -279, 32, -279, -279, - -279, -279, -279, -279, -279, 39, 45, 974, 2, -29, - 974, 974, 48, 9, -279, -279, -279, -279, 2144, -279, - -279, -279, -279, -279, 77, 592, -279, -279, -279, -279, - -279, -279, 704, 934, -279, -279, 997, -279, -279, -279, - 1007, 1293, 1305, 1315, -279, -279, 30, 52, -279, -279, - -279, -279, -279, -279, -279, -279, 69, 90, -29, 92, - 83, 96, 102, 108, 101, 106, 974, 974, 1362, 2, - -279, 2227, 105, 113, -279, -279, -279, -279, -279, -279, - -279, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - -279, 1041, -29, -279, -279, -279, 119, 112, 974, -29, - -279, 825, -279, -279, 974, 974, -29, 974, 974, -29, - 974, 1528, 1562, -279, 974, 1874, 974, -279, 2109, 73, - 73, 2258, 2268, 1303, 1303, 164, 164, 164, 164, 2299, - 1055, 2309, -11, -11, -279, -279, -279, 1914, -279, -29, - 14, -279, 121, 1136, 974, 115, -26, 129, 1238, 130, - 133, 138, 140, -69, 132, 136, 141, 907, 144, 142, - 143, -279, 151, 416, 416, -279, -279, 879, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, 147, 148, 152, 154, 157, -279, - -279, 712, -279, -279, -279, -279, -23, 1954, 23, 161, - 1994, 34, 168, 2034, -279, -279, 2073, 165, 2227, 974, - -279, 121, -279, 974, -279, -279, 1192, 2179, -279, 170, - -279, 974, 175, 974, 611, -29, 974, 120, 171, 172, - -279, -279, -279, -279, 2214, -279, 974, 974, 974, -279, - -279, 1324, 1324, -279, -279, -279, -279, -279, -279, -279, - 173, 174, 182, 183, -279, -279, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 184, -279, 974, - 187, -279, 974, 188, 974, 194, 2227, 41, -279, -279, - -279, 177, 1596, 195, 1630, 191, -279, -279, -279, 1242, - -1, 1664, -279, -279, -279, 56, 66, 1874, 974, 974, - 974, 974, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, - 2227, 2227, 2227, 202, 68, 213, 72, 214, 1698, 974, - -279, -279, 1238, 974, 1238, 974, 974, -29, 90, 206, - 207, 1732, 1406, 1450, 1494, 974, -279, 974, -279, 974, - -279, 79, 247, 1766, -279, 2227, 209, 1800, 244, -279, - -279, -279, 211, 215, 974, 216, 974, 217, 974, 81, - 85, 88, -279, 1238, 219, 611, 1238, 974, -279, -279, - 232, -279, 233, -279, 234, -279, -279, -279, -279, -279, - 236, -279, 1834, 229, 230, 231, 1238, 1238, -279, -279, - -279, -279, -279 + 4, -276, -276, 25, 25, 10, -276, 45, 4, -276, + -276, -276, -276, -276, -276, -28, -276, -276, -26, -11, + -41, -276, -276, -276, -276, -30, 1074, -276, -276, -276, + 13, -18, -276, -276, -38, -34, -276, 24, -276, -276, + -276, -276, -276, -276, -276, 41, 47, 1074, 644, -30, + 1074, 1074, -77, 2, -276, -276, -276, 2141, -276, -276, + -276, -276, -276, 134, 554, -276, -276, -276, -276, -276, + -276, 716, 726, -276, -276, 1034, -276, -276, -276, 1100, + 1285, 1340, 1348, -276, -276, 59, 22, -276, -276, -276, + -276, -276, -276, -276, 48, 53, -30, 69, 68, 66, + 76, 87, 81, 86, 1074, 1074, 1359, 644, -276, 2224, + 85, 91, -276, -276, -276, -276, -276, -276, -276, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, -276, 1140, + -30, -276, -276, -276, 102, 106, 1074, -30, -276, 812, + -276, -276, 1074, 1074, -30, 1074, 1074, -30, 1074, 1525, + 1559, -276, 1074, 1871, 1074, -276, 2106, 110, 110, 2255, + 2265, 2306, 2306, 67, 67, 67, 67, 2296, 724, 467, + 35, 35, -276, -276, -276, 1911, -276, -30, -16, -276, + 115, 922, 1074, 107, -32, 118, 1271, 119, 122, 124, + 128, -72, 120, 121, 125, 1008, 126, 139, 140, -276, + 152, 29, 29, -276, -276, 866, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, 149, 150, 155, 160, 161, -276, -276, 1188, + -276, -276, -276, -276, -33, 1951, -9, 144, 1991, -1, + 162, 2031, -276, -276, 2070, 167, 2224, 1074, -276, 115, + -276, 1074, -276, -276, 978, 2176, -276, 172, -276, 1074, + 201, 1074, 7, -30, 1074, 127, 173, 177, -276, -276, + -276, -276, 2211, -276, 1074, 1074, 1074, -276, -276, 532, + 532, -276, -276, -276, -276, -276, -276, -276, 187, 188, + 189, 191, -276, -276, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 192, -276, 1074, 193, -276, + 1074, 194, 1074, 196, 2224, 28, -276, -276, -276, 182, + 1593, 200, 1627, 199, -276, -276, -276, 1275, -17, 1661, + -276, -276, -276, 30, 31, 1871, 1074, 1074, 1074, 1074, + 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, + 2224, 202, 34, 203, 37, 204, 1695, 1074, -276, -276, + 1271, 1074, 1271, 1074, 1074, -30, 53, 207, 208, 1729, + 1403, 1447, 1491, 1074, -276, 1074, -276, 1074, -276, 38, + 235, 1763, -276, 2224, 209, 1797, 237, -276, -276, -276, + 211, 212, 1074, 213, 1074, 215, 1074, 55, 56, 64, + -276, 1271, 217, 7, 1271, 1074, -276, -276, 210, -276, + 232, -276, 234, -276, -276, -276, -276, -276, 236, -276, + 1831, 226, 228, 230, 1271, 1271, -276, -276, -276, -276, + -276 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 213, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 214, 215, 0, 0, - 0, 1, 4, 5, 6, 181, 0, 10, 11, 217, - 0, 0, 180, 212, 0, 0, 204, 0, 225, 224, - 206, 207, 208, 209, 210, 0, 0, 0, 183, 0, - 0, 0, 0, 0, 216, 218, 221, 223, 0, 93, - 94, 95, 132, 133, 134, 135, 164, 165, 136, 137, - 138, 139, 140, 141, 142, 143, 0, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 0, 154, 155, - 156, 157, 158, 159, 160, 161, 0, 0, 0, 0, - 215, 0, 0, 215, 0, 0, 0, 0, 0, 183, - 205, 185, 0, 182, 188, 163, 162, 220, 222, 211, - 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 212, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 213, 214, 0, 0, + 0, 1, 4, 5, 6, 180, 0, 10, 11, 216, + 0, 0, 179, 211, 0, 0, 203, 0, 223, 222, + 205, 206, 207, 208, 209, 0, 0, 0, 182, 0, + 0, 0, 0, 0, 215, 219, 221, 0, 93, 94, + 95, 132, 133, 134, 135, 163, 164, 136, 137, 138, + 139, 140, 141, 142, 143, 0, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, + 157, 158, 159, 160, 0, 0, 0, 0, 214, 0, + 0, 214, 0, 0, 0, 0, 0, 182, 204, 184, + 0, 181, 187, 162, 161, 218, 220, 210, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 0, 0, 192, 166, 167, 215, 0, 183, 0, - 17, 0, 19, 179, 0, 183, 0, 0, 183, 0, - 0, 0, 0, 194, 0, 185, 0, 178, 0, 125, - 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 127, 128, 129, 130, 131, 0, 191, 0, - 0, 182, 189, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 0, 0, 0, 195, 196, 197, - 198, 0, 199, 200, 201, 202, 203, 0, 0, 0, - 0, 0, 0, 0, 186, 187, 0, 0, 184, 0, - 190, 0, 168, 183, 52, 48, 0, 0, 72, 0, - 73, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 85, 86, 87, 89, 0, 90, 183, 183, 0, 195, - 196, 109, 111, 53, 49, 61, 62, 63, 59, 60, - 0, 0, 0, 0, 110, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 170, 183, - 0, 172, 183, 0, 0, 0, 113, 0, 51, 47, - 67, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 84, 83, 88, 0, 0, 0, 0, 0, - 0, 0, 98, 104, 105, 106, 107, 108, 99, 100, - 101, 103, 102, 0, 0, 0, 0, 0, 0, 183, - 169, 74, 0, 0, 0, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 183, 171, 183, 173, 183, - 219, 0, 75, 0, 77, 96, 0, 0, 0, 82, - 91, 92, 0, 0, 183, 0, 183, 0, 183, 0, - 0, 0, 174, 0, 0, 58, 0, 0, 64, 66, - 182, 69, 182, 71, 182, 175, 176, 177, 76, 78, - 0, 80, 0, 0, 0, 0, 0, 0, 65, 68, - 70, 79, 81 + 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, + 0, 191, 165, 166, 214, 0, 182, 0, 17, 0, + 19, 178, 0, 182, 0, 0, 182, 0, 0, 0, + 0, 193, 0, 184, 0, 177, 0, 125, 126, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 127, 128, 129, 130, 131, 0, 190, 0, 0, 181, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 0, 45, 50, 0, 46, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 0, 0, 0, 194, 195, 196, 197, 0, + 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, + 0, 0, 185, 186, 0, 0, 183, 0, 189, 0, + 167, 182, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 182, 182, 0, 194, 195, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 169, 182, 0, 171, + 182, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 182, 168, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 182, 170, 182, 172, 182, 217, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 182, 0, 182, 0, 182, 0, 0, 0, + 173, 0, 0, 58, 0, 0, 64, 66, 181, 69, + 181, 71, 181, 174, 175, 176, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -279, -279, -279, 289, 292, 295, -279, -279, -279, -181, - 87, -279, -279, -279, -96, -127, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - 203, -279, -278, -273, -270, -279, -279, -279, -279, -279, - -32, -7, -71, -63, -279, -279, -33, -46, -279, -279, - -279, 256, 262, -279, -279, 290, -279, -279, -279, 317, - 343, 392, 399, -279, -279, 0, 6, -279, -13, -279, - -279, -279, 103, -279, -279 + -276, -276, -276, 260, 287, 288, -276, -276, -276, -160, + 82, -276, -276, -276, -93, -125, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + 197, -276, -275, -271, -270, -276, -276, -276, -276, -276, + -73, -45, -69, -61, -276, -276, 113, -47, -276, -276, + -276, -12, 205, -276, -276, 256, -276, -276, -276, 286, + 292, 337, 388, -276, -276, 0, 6, -276, -15, -276, + -276, 109, -276, -276 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 215, - 216, 276, 217, 218, 219, 345, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 111, 406, 244, 245, 246, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 31, 112, 191, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 213, + 214, 274, 215, 216, 217, 343, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 109, 404, 242, 243, 244, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 31, 110, 189, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93 }; const short parser::yytable_[] = { - 15, 152, 113, 17, 17, 144, 346, 30, 15, 18, - 19, 347, 275, 145, 348, 99, 20, 282, 33, 1, - 2, 3, 4, 5, 102, 32, 287, 97, 279, 386, - 29, 148, 98, 29, 100, 103, 25, 57, 280, -215, - 101, 104, 34, 35, 36, 37, 38, 39, 40, 114, - 41, 42, 43, 44, 45, 46, 47, 16, 6, 387, - 109, 110, 26, 113, 49, 21, 16, 6, 27, 272, - -203, -203, 6, -203, 166, 28, 146, -203, 328, 96, - 50, 51, 147, 166, 148, 137, 138, 139, -203, 331, - 105, -203, -215, 106, 166, 339, 380, 52, 153, 107, - 53, 166, 16, 6, 29, 54, 55, 56, 57, 6, - 119, 389, 16, 6, 149, 190, 166, -195, -195, 247, - -195, 390, 258, 396, -195, 261, 166, 398, 166, -203, - -203, -203, 166, 150, 422, -195, 435, 155, -195, 166, - 436, 166, 188, 437, 248, 166, 151, 346, 166, 192, - 154, 256, 347, 117, 118, 348, 259, 147, 156, 262, - 157, 247, 158, 159, 160, 166, 247, 135, 136, 137, - 138, 139, 167, 148, 189, 273, -195, -195, -195, 278, - 144, 299, 299, 281, 283, 247, 248, 284, 145, 271, - 288, 248, 285, 256, 286, 290, 296, 297, 256, 147, - 291, 402, 343, 404, 147, 292, 300, 300, 295, 298, - 248, 305, 306, 256, 256, 329, 307, 256, 308, 147, - 147, 309, 332, 147, 335, 341, 118, 358, 359, 58, - 144, 144, 122, 123, 352, 353, 360, 361, 145, 145, - 337, 381, 438, 373, 247, 441, 375, 377, 379, 383, - 108, 146, 299, 115, 116, 385, 395, 147, 135, 136, - 137, 138, 139, 355, 356, 451, 452, 397, 399, 248, - 410, 411, 423, 425, 427, 428, 256, 300, 144, 429, - 431, 433, 147, 439, 256, 350, 145, 443, 444, 445, - 147, 446, 409, 448, 449, 450, 374, 22, 440, 376, - 23, 146, 146, 24, 304, 0, 289, 147, 147, 161, - 162, 0, 165, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 0, 187, 0, 401, 0, 0, 146, - 247, 0, 247, 0, 0, 147, 0, 257, 0, 0, - 260, 0, 419, 263, 420, 0, 421, 266, 430, 268, - 432, 0, 434, 0, 0, 248, 0, 248, 0, 0, - 0, 0, 256, 0, 256, 0, 0, 408, 147, 0, - 147, 247, 0, 299, 247, 0, 0, 277, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 294, 0, 0, 250, 247, 247, 248, 0, 300, 248, - 0, 0, 0, 256, 0, 256, 256, 0, 0, 147, - 0, 147, 147, 0, 0, 0, 0, 0, 0, 248, - 248, 251, 0, 0, 0, 0, 256, 256, 0, 249, - 0, 0, 147, 147, 249, 250, 34, 35, 0, 37, - 250, 0, 0, 0, 41, 42, 43, 44, 252, 249, - 249, 0, 336, 249, 212, 250, 250, 0, 0, 250, - 0, 0, 0, 251, 342, 0, 344, 0, 251, 351, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, - 0, 357, 0, 301, 302, 0, 0, 251, 0, 0, - 252, 0, 0, 0, 0, 252, 16, 6, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 252, 252, 249, 0, 252, 0, 253, 378, 250, 0, - 249, 253, 0, 254, 0, 0, 250, 0, 0, 0, - 255, 0, 0, 0, 0, 0, 253, 253, 0, 0, - 253, 391, 392, 393, 394, 0, 251, 0, 0, 0, - 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 403, 0, 405, 407, - 254, 0, 255, 252, 0, 0, 0, 255, 0, 0, - 0, 252, 0, 0, 0, 254, 254, 0, 0, 254, - 0, 0, 255, 255, 0, 0, 255, 0, 0, 253, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 442, 0, -196, -196, 0, -196, 0, 0, 249, -196, - 249, 0, 0, 0, 250, 0, 250, 0, 0, 0, - -196, 34, 35, -196, 37, 0, 0, 0, 0, 41, - 42, 43, 44, 0, 0, 0, 0, 0, 254, 212, - 0, 0, 251, 0, 251, 255, 254, 213, 214, 249, - 0, 249, 249, 255, 0, 250, 0, 250, 250, 0, - 0, -196, -196, -196, 0, 0, 0, 0, 0, 252, - 0, 252, 249, 249, 0, 0, 0, 0, 250, 250, - 0, 16, 6, 251, 0, 349, 251, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 253, 0, 310, - 311, 0, 312, 313, 0, 0, 251, 251, 0, 0, - 252, 0, 252, 252, -197, -197, 0, -197, 0, 0, - 0, -197, 34, 35, 0, 37, 0, 0, 0, 0, - 0, 0, -197, 252, 252, -197, 253, 0, 253, 253, - 141, 0, 0, 142, 254, 0, 254, 0, 314, 315, - 0, 255, 0, 255, 0, 0, 0, 0, 0, 253, - 253, 0, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, -197, -197, -197, 0, 0, 0, 0, - 0, 143, 16, 6, 0, 254, 0, 254, 254, 0, - 0, 0, 255, 0, 255, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 0, 254, 254, - 0, 0, 0, 0, 194, 255, 255, 195, 196, 197, - 0, 198, 199, 200, 201, 0, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 34, 35, 0, 37, 0, - 0, 0, 0, 41, 42, 43, 44, 0, 0, 0, - 0, 151, 211, 212, 0, 0, 0, 0, 0, 0, - 193, 213, 214, 0, 0, 0, 0, 0, 194, 0, - 0, 195, 196, 197, 0, 198, 199, 200, 201, 0, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 34, - 35, 0, 37, 33, 0, 16, 6, 41, 42, 43, - 44, 0, 0, 0, 0, 151, 303, 212, 0, 0, - 0, 0, 0, 0, 0, 213, 214, 34, 35, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, - 46, 47, 0, 0, 0, 48, 0, 0, 0, 49, - 0, 293, 0, 0, -198, -198, 0, -198, 0, 16, - 6, -198, 0, 0, 0, 50, 51, 0, 0, 0, - 33, 0, -198, 0, 0, -198, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 53, 0, 16, 6, 29, - 54, 55, 56, 57, 34, 35, 36, 37, 38, 39, + 15, 111, 150, 17, 17, 30, 142, 344, 15, 18, + 19, 345, 346, 384, 143, 1, 2, 3, 4, 5, + 97, 146, 277, 285, 100, 32, 25, 115, 116, -214, + 29, 273, 278, 56, 98, 101, 280, 95, 27, 270, + 99, 102, 96, 385, 164, 21, 326, 34, 35, 112, + 37, 164, 26, 28, 329, 41, 42, 43, 44, 164, + 111, 29, 16, 6, 20, 210, 16, 6, 94, 34, + 35, 6, 37, 211, 212, 144, 245, 41, 42, 43, + 44, 145, 103, 378, 147, 387, 388, 210, 164, 394, + 164, 164, 396, 420, 164, 104, 151, 164, 164, -202, + -202, 105, -202, 117, 246, 6, -202, 16, 6, 149, + 433, 434, 148, 146, 337, 164, 164, -202, 245, 435, + -202, -214, 153, 245, 164, 16, 6, 152, 154, 16, + 6, 135, 136, 137, 155, 120, 121, 247, 297, 297, + 186, 156, 245, 157, 158, 164, 246, 190, 344, 254, + 165, 246, 345, 346, 257, 145, 146, 260, -202, -202, + -202, 133, 134, 135, 136, 137, 298, 298, 187, 271, + 246, 276, 279, 281, -194, -194, 282, -194, 283, 247, + 142, -194, 284, 288, 247, 289, 286, 269, 143, 290, + 293, 254, -194, 294, 295, -194, 254, 145, 327, 247, + 247, 245, 145, 247, 133, 134, 135, 136, 137, 297, + 296, 254, 254, 303, 304, 254, 330, 145, 145, 305, + 400, 145, 402, 57, 306, 307, 333, 339, 341, 246, + 142, 142, 116, -194, -194, -194, 350, 298, 143, 143, + 351, 356, 357, 358, 106, 359, 379, 113, 114, 144, + 377, 371, 373, 375, 381, 145, 393, 395, 397, 188, + 421, 436, 247, 383, 439, 441, 256, 425, 22, 259, + 247, 408, 409, 423, 254, 426, 427, 429, 142, 431, + 145, 437, 254, 348, 449, 450, 143, 442, 145, 443, + 446, 444, 447, 407, 448, 23, 24, 302, 438, 144, + 144, 159, 160, 0, 163, 145, 145, 245, 0, 245, + 287, 0, 0, 0, 0, 0, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 246, 185, 246, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 144, 245, 255, + 297, 245, 258, 145, 248, 261, 0, 0, 0, 264, + 0, 266, 0, 0, 0, 428, 0, 430, 247, 432, + 247, 245, 245, 0, 0, 0, 246, 0, 298, 246, + 254, 0, 254, 0, 335, 406, 145, 0, 145, 275, + 0, 0, 0, 0, 0, 0, 248, 0, 0, 246, + 246, 248, 292, 0, 0, 249, 0, 353, 354, 247, + 0, 247, 247, 0, 0, 0, 248, 248, 0, 0, + 248, 254, 0, 254, 254, 0, 0, 145, 0, 145, + 145, 0, 247, 247, 0, 250, 0, 0, 0, 0, + 372, 251, 0, 374, 254, 254, 0, 249, 0, 0, + 145, 145, 249, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 334, 0, 0, 299, 300, 0, + 0, 249, 0, 0, 0, 0, 340, 250, 342, 248, + 0, 349, 250, 251, 0, 0, 252, 248, 251, 0, + 399, 0, 0, 355, 0, 0, 0, 250, 250, 0, + 0, 250, 0, 251, 251, 0, 417, 251, 418, 0, + 419, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 0, 0, 0, 0, 0, 0, 252, 376, + 249, 0, 0, 252, 0, 120, 121, 253, 347, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 252, 252, + 0, 0, 252, 389, 390, 391, 392, 0, 0, 131, + 250, 133, 134, 135, 136, 137, 251, 0, 250, 0, + 0, 0, 34, 35, 251, 37, 0, 0, 401, 253, + 403, 405, 0, 0, 253, 248, 0, 248, 0, 0, + 139, 0, 0, 140, -195, -195, 0, -195, 0, 253, + 253, -195, 0, 253, 0, 0, 0, 0, 0, 0, + 0, 252, -195, 0, 0, -195, 0, 0, 0, 252, + 0, 0, 440, 0, 0, 0, 248, 0, 248, 248, + 0, 141, 16, 6, 0, 0, 249, 0, 249, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, + 248, 0, 0, -195, -195, -195, 0, 0, 0, 0, + 33, 0, 253, 0, 0, 0, 250, 0, 250, 0, + 253, 0, 251, 0, 251, 0, 0, 249, 0, 347, + 249, 0, 0, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 46, 47, 0, - 0, 0, 48, -198, -198, -198, 49, 34, 35, 0, - 37, 0, 0, 0, 140, 0, 0, -199, -199, 0, - -199, 0, 50, 51, -199, 141, 0, 33, 142, 0, - 0, 0, 0, 0, 0, -199, 0, 0, -199, 52, + 249, 249, 107, 108, 0, 0, 49, 250, 0, 250, + 250, 0, 0, 251, 0, 251, 251, 252, 0, 252, + 0, 0, 50, 51, 0, 0, 0, 0, 0, 0, + 250, 250, 0, 0, 0, 0, 251, 251, 0, 52, 0, 0, 53, 0, 16, 6, 29, 54, 55, 56, - 57, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 46, 47, 143, 16, 6, 109, - 0, 0, 0, 49, 0, 0, -199, -199, -199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 51, 0, 0, 122, 123, 0, 0, 126, 127, 128, - 129, 130, 131, 0, 0, 0, 52, 0, 0, 53, - 0, 16, 6, 29, 54, 55, 56, 57, 274, 135, - 136, 137, 138, 139, 0, 194, 0, 0, 195, 196, - 197, 0, 198, 199, 200, 201, 0, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 34, 35, 0, 37, - 0, 0, 0, 0, 41, 42, 43, 44, 0, 0, - 0, 0, 151, 0, 212, 0, 0, 0, 0, 0, - 0, 0, 213, 214, 338, 0, 0, 0, 0, 0, - 0, 194, 0, 0, 195, 196, 197, 0, 198, 199, - 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 34, 35, 0, 37, 16, 6, 0, 0, - 41, 42, 43, 44, 0, 0, 0, 0, 151, 0, - 212, 0, 0, 0, 0, 0, 0, 194, 213, 214, - 195, 196, 197, 0, 198, 199, 200, 201, 0, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 34, 35, - 0, 37, 34, 35, 0, 37, 41, 42, 43, 44, - 0, 0, 16, 6, 151, 0, 212, 0, 0, 0, - 141, 0, 0, 142, 213, 214, 0, 0, 314, 315, + 0, 0, 0, 0, 0, 0, -196, -196, 252, -196, + 252, 252, 0, -196, 0, 0, -197, -197, 253, -197, + 253, 0, 0, -197, -196, 0, 0, -196, 0, 0, + 0, 252, 252, 0, -197, 0, 0, -197, 0, 0, + 0, 0, 120, 121, 0, 0, 124, 125, 126, 127, + 128, 129, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 253, 253, 0, 0, -196, -196, -196, 133, 134, + 135, 136, 137, 191, 0, -197, -197, -197, 0, 0, + 0, 192, 253, 253, 193, 194, 195, 0, 196, 197, + 198, 199, 0, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 149, 209, + 210, 0, 0, 0, 0, 0, 0, 191, 211, 212, + 0, 0, 0, 0, 0, 192, 0, 0, 193, 194, + 195, 0, 196, 197, 198, 199, 0, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 34, 35, 0, 37, + 0, 0, 16, 6, 41, 42, 43, 44, 0, 0, + 0, 0, 149, 301, 210, 0, 0, 0, 0, 0, + 0, 0, 211, 212, 272, 0, 0, 0, 0, 0, + 0, 192, 0, 0, 193, 194, 195, 0, 196, 197, + 198, 199, 0, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 34, 35, 0, 37, 16, 6, 0, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 149, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 211, 212, + 336, 0, 0, 0, 0, 0, 0, 192, 0, 0, + 193, 194, 195, 0, 196, 197, 198, 199, 0, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 34, 35, + 0, 37, 16, 6, 33, 0, 41, 42, 43, 44, + 0, 0, 0, 0, 149, 0, 210, 0, 0, 0, + 0, 0, 0, 0, 211, 212, 0, 0, 34, 35, + 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, + 45, 46, 47, 0, 0, 0, 48, 0, 0, 0, + 49, 0, 291, 0, 34, 35, 0, 37, 16, 6, + 0, 138, 0, 0, 0, 0, 50, 51, 0, 0, + 33, 0, 139, 0, 0, 140, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 53, 0, 16, 6, + 29, 54, 55, 56, 34, 35, 36, 37, 38, 39, + 40, 0, 41, 42, 43, 44, 45, 46, 47, 0, + 0, 0, 48, 141, 16, 6, 49, 0, 0, 0, + -198, -198, 0, -198, 0, 0, 0, -198, 0, 0, + 0, 0, 50, 51, 0, 0, 33, 0, -198, 0, + 0, -198, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 16, 6, 29, 54, 55, 56, + 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 107, -198, + -198, -198, 49, 0, 0, 308, 309, 0, 310, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 0, 37, 0, 0, 0, 52, 0, 0, 53, 0, + 16, 6, 29, 54, 55, 56, 139, 0, 0, 140, + 0, 0, 0, 0, 312, 313, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, + 0, 0, 0, 0, 0, 0, 0, 141, 16, 6, + 192, 0, 0, 193, 194, 195, 0, 196, 197, 198, + 199, 0, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 34, 35, 0, 37, 34, 35, 0, 37, 41, + 42, 43, 44, 0, 0, -199, -199, 149, -199, 210, + 0, 0, -199, 139, 0, 0, 140, 211, 212, 0, + 0, 312, 313, -199, 0, 0, -199, 0, 0, 0, + 0, 0, 0, 0, 0, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, + 0, 16, 6, 0, 141, 16, 6, 0, 0, 0, + -200, -200, 0, -200, -199, -199, -199, -200, -201, -201, + 0, -201, 0, 0, 0, -201, 0, 0, -200, 0, + 0, -200, 0, 0, 0, 0, -201, 0, 0, -201, + 0, 0, 0, 0, 161, 0, 0, 0, 0, 162, + 0, 0, 0, 0, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, -200, + -200, -200, 0, 0, 0, 0, 0, -201, -201, -201, + 130, 131, 132, 133, 134, 135, 136, 137, 411, 0, + 0, 0, 0, 412, 0, 0, 0, 0, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 413, 0, 0, 0, 0, 414, 0, 0, + 0, 0, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 415, 0, 0, 0, + 0, 416, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, -200, -200, 0, -200, 0, 16, 6, - -200, 143, 16, 6, 0, -201, -201, 0, -201, 0, - 0, -200, -201, 0, -200, -202, -202, 0, -202, 0, - 0, 0, -202, -201, 34, 35, -201, 37, 0, 0, - 0, 122, 123, -202, 0, 0, -202, 128, 129, 130, - 131, 0, 141, 0, 0, 142, 0, 0, 0, 0, - 0, 0, -200, -200, -200, 0, 0, 135, 136, 137, - 138, 139, 0, 0, -201, -201, -201, 0, 0, 0, - 0, 0, 0, 0, -202, -202, -202, 163, 0, 0, - 0, 0, 164, 143, 16, 6, 0, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 262, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 119, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 413, 0, 0, 0, 0, 414, 0, 0, 0, - 0, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 415, 0, 0, 0, 0, - 416, 0, 0, 0, 0, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, + 398, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 119, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 410, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 424, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 445, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 417, - 0, 0, 0, 0, 418, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 264, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 121, 0, 0, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 265, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 265, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 382, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 400, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 121, 0, 0, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 412, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 268, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 424, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 426, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 267, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 270, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 327, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 330, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 333, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 334, 0, 0, 0, 0, 121, 0, - 0, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 133, 134, 135, 136, 137, - 138, 139, 269, 0, 121, 0, 0, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 325, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 135, 136, 137, 138, 139, 120, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 340, 121, 0, 0, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 328, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 135, 136, 137, 138, 139, 354, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 121, 0, 0, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 0, 0, 0, 0, 132, 133, - 134, 135, 136, 137, 138, 139, 122, 123, 0, 125, - 126, 127, 128, 129, 130, 131, 122, 123, 0, 0, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 122, 123, 0, - 0, 126, 127, 128, 129, 130, 131, 122, 123, 0, - 0, 126, 127, 128, 129, 130, 131, 0, 0, 0, - 0, 133, 134, 135, 136, 137, 138, 139, 0, 0, - 0, 133, 0, 135, 136, 137, 138, 139 + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 331, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 332, 0, 0, 0, 0, 119, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 267, + 0, 119, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 118, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 338, 119, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 352, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 119, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 0, 0, 0, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 120, 121, 0, 123, 124, 125, 126, + 127, 128, 129, 120, 121, 0, 0, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 0, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 120, 121, 0, 0, 124, 125, + 126, 127, 128, 129, 120, 121, 0, 0, 0, 0, + 126, 127, 128, 129, 0, 0, 0, 0, 131, 132, + 133, 134, 135, 136, 137, 0, 0, 0, 0, 0, + 133, 134, 135, 136, 137 }; const short parser::yycheck_[] = { - 0, 97, 48, 3, 4, 76, 284, 20, 8, 3, - 4, 284, 193, 76, 284, 58, 54, 198, 16, 11, - 12, 13, 14, 15, 58, 25, 95, 55, 54, 30, - 102, 54, 60, 102, 34, 35, 54, 106, 64, 62, - 34, 35, 40, 41, 42, 43, 44, 45, 46, 49, - 48, 49, 50, 51, 52, 53, 54, 100, 101, 60, - 58, 59, 80, 109, 62, 0, 100, 101, 64, 55, - 40, 41, 101, 43, 60, 64, 76, 47, 55, 55, - 78, 79, 76, 60, 54, 96, 97, 98, 58, 55, - 58, 61, 62, 54, 60, 276, 55, 95, 98, 54, - 98, 60, 100, 101, 102, 103, 104, 105, 106, 101, - 101, 55, 100, 101, 62, 148, 60, 40, 41, 151, - 43, 55, 155, 55, 47, 158, 60, 55, 60, 99, - 100, 101, 60, 64, 55, 58, 55, 54, 61, 60, - 55, 60, 142, 55, 151, 60, 56, 425, 60, 149, - 58, 151, 425, 105, 106, 425, 156, 151, 62, 159, - 58, 193, 54, 62, 58, 60, 198, 94, 95, 96, - 97, 98, 59, 54, 62, 54, 99, 100, 101, 64, - 251, 213, 214, 54, 54, 217, 193, 54, 251, 189, - 203, 198, 54, 193, 54, 63, 54, 54, 198, 193, - 64, 382, 27, 384, 198, 64, 213, 214, 64, 58, - 217, 64, 64, 213, 214, 54, 64, 217, 64, 213, - 214, 64, 54, 217, 59, 55, 106, 54, 54, 26, - 301, 302, 68, 69, 63, 63, 54, 54, 301, 302, - 273, 64, 423, 59, 276, 426, 59, 59, 54, 54, - 47, 251, 284, 50, 51, 64, 54, 251, 94, 95, - 96, 97, 98, 296, 297, 446, 447, 54, 54, 276, - 64, 64, 25, 64, 30, 64, 276, 284, 349, 64, - 64, 64, 276, 64, 284, 285, 349, 55, 55, 55, - 284, 55, 388, 64, 64, 64, 329, 8, 425, 332, - 8, 301, 302, 8, 217, -1, 203, 301, 302, 106, - 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, -1, 141, -1, 379, -1, -1, 349, - 382, -1, 384, -1, -1, 349, -1, 154, -1, -1, - 157, -1, 395, 160, 397, -1, 399, 164, 414, 166, - 416, -1, 418, -1, -1, 382, -1, 384, -1, -1, - -1, -1, 382, -1, 384, -1, -1, 387, 382, -1, - 384, 423, -1, 425, 426, -1, -1, 194, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, - 207, -1, -1, 151, 446, 447, 423, -1, 425, 426, - -1, -1, -1, 423, -1, 425, 426, -1, -1, 423, - -1, 425, 426, -1, -1, -1, -1, -1, -1, 446, - 447, 151, -1, -1, -1, -1, 446, 447, -1, 193, - -1, -1, 446, 447, 198, 193, 40, 41, -1, 43, - 198, -1, -1, -1, 48, 49, 50, 51, 151, 213, - 214, -1, 269, 217, 58, 213, 214, -1, -1, 217, - -1, -1, -1, 193, 281, -1, 283, -1, 198, 286, - -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, - -1, 298, -1, 213, 214, -1, -1, 217, -1, -1, - 193, -1, -1, -1, -1, 198, 100, 101, -1, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 213, 214, 276, -1, 217, -1, 193, 334, 276, -1, - 284, 198, -1, 151, -1, -1, 284, -1, -1, -1, - 151, -1, -1, -1, -1, -1, 213, 214, -1, -1, - 217, 358, 359, 360, 361, -1, 276, -1, -1, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 193, 383, -1, 385, 386, - 198, -1, 193, 276, -1, -1, -1, 198, -1, -1, - -1, 284, -1, -1, -1, 213, 214, -1, -1, 217, - -1, -1, 213, 214, -1, -1, 217, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, - 427, -1, 40, 41, -1, 43, -1, -1, 382, 47, - 384, -1, -1, -1, 382, -1, 384, -1, -1, -1, - 58, 40, 41, 61, 43, -1, -1, -1, -1, 48, - 49, 50, 51, -1, -1, -1, -1, -1, 276, 58, - -1, -1, 382, -1, 384, 276, 284, 66, 67, 423, - -1, 425, 426, 284, -1, 423, -1, 425, 426, -1, - -1, 99, 100, 101, -1, -1, -1, -1, -1, 382, - -1, 384, 446, 447, -1, -1, -1, -1, 446, 447, - -1, 100, 101, 423, -1, 425, 426, -1, -1, -1, - -1, -1, -1, -1, -1, 382, -1, 384, -1, 17, - 18, -1, 20, 21, -1, -1, 446, 447, -1, -1, - 423, -1, 425, 426, 40, 41, -1, 43, -1, -1, - -1, 47, 40, 41, -1, 43, -1, -1, -1, -1, - -1, -1, 58, 446, 447, 61, 423, -1, 425, 426, - 58, -1, -1, 61, 382, -1, 384, -1, 66, 67, - -1, 382, -1, 384, -1, -1, -1, -1, -1, 446, - 447, -1, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 99, 100, 101, -1, -1, -1, -1, - -1, 99, 100, 101, -1, 423, -1, 425, 426, -1, - -1, -1, 423, -1, 425, 426, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, -1, 446, 447, - -1, -1, -1, -1, 19, 446, 447, 22, 23, 24, - -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, - -1, -1, -1, 48, 49, 50, 51, -1, -1, -1, - -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, - 11, 66, 67, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, -1, 43, 16, -1, 100, 101, 48, 49, 50, - 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, - -1, -1, -1, -1, -1, 66, 67, 40, 41, 42, - 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, -1, -1, -1, 58, -1, -1, -1, 62, - -1, 64, -1, -1, 40, 41, -1, 43, -1, 100, - 101, 47, -1, -1, -1, 78, 79, -1, -1, -1, - 16, -1, 58, -1, -1, 61, -1, -1, -1, -1, - -1, -1, 95, -1, -1, 98, -1, 100, 101, 102, - 103, 104, 105, 106, 40, 41, 42, 43, 44, 45, + 0, 48, 95, 3, 4, 20, 75, 282, 8, 3, + 4, 282, 282, 30, 75, 11, 12, 13, 14, 15, + 58, 54, 54, 95, 58, 25, 54, 104, 105, 62, + 102, 191, 64, 105, 34, 35, 196, 55, 64, 55, + 34, 35, 60, 60, 60, 0, 55, 40, 41, 49, + 43, 60, 80, 64, 55, 48, 49, 50, 51, 60, + 107, 102, 100, 101, 54, 58, 100, 101, 55, 40, + 41, 101, 43, 66, 67, 75, 149, 48, 49, 50, + 51, 75, 58, 55, 62, 55, 55, 58, 60, 55, + 60, 60, 55, 55, 60, 54, 96, 60, 60, 40, + 41, 54, 43, 101, 149, 101, 47, 100, 101, 56, + 55, 55, 64, 54, 274, 60, 60, 58, 191, 55, + 61, 62, 54, 196, 60, 100, 101, 58, 62, 100, + 101, 96, 97, 98, 58, 68, 69, 149, 211, 212, + 140, 54, 215, 62, 58, 60, 191, 147, 423, 149, + 59, 196, 423, 423, 154, 149, 54, 157, 99, 100, + 101, 94, 95, 96, 97, 98, 211, 212, 62, 54, + 215, 64, 54, 54, 40, 41, 54, 43, 54, 191, + 249, 47, 54, 63, 196, 64, 201, 187, 249, 64, + 64, 191, 58, 54, 54, 61, 196, 191, 54, 211, + 212, 274, 196, 215, 94, 95, 96, 97, 98, 282, + 58, 211, 212, 64, 64, 215, 54, 211, 212, 64, + 380, 215, 382, 26, 64, 64, 59, 55, 27, 274, + 299, 300, 105, 99, 100, 101, 63, 282, 299, 300, + 63, 54, 54, 54, 47, 54, 64, 50, 51, 249, + 54, 59, 59, 59, 54, 249, 54, 54, 54, 146, + 25, 421, 274, 64, 424, 55, 153, 30, 8, 156, + 282, 64, 64, 64, 274, 64, 64, 64, 347, 64, + 274, 64, 282, 283, 444, 445, 347, 55, 282, 55, + 64, 55, 64, 386, 64, 8, 8, 215, 423, 299, + 300, 104, 105, -1, 107, 299, 300, 380, -1, 382, + 201, -1, -1, -1, -1, -1, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 380, 139, 382, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 347, 421, 152, + 423, 424, 155, 347, 149, 158, -1, -1, -1, 162, + -1, 164, -1, -1, -1, 412, -1, 414, 380, 416, + 382, 444, 445, -1, -1, -1, 421, -1, 423, 424, + 380, -1, 382, -1, 271, 385, 380, -1, 382, 192, + -1, -1, -1, -1, -1, -1, 191, -1, -1, 444, + 445, 196, 205, -1, -1, 149, -1, 294, 295, 421, + -1, 423, 424, -1, -1, -1, 211, 212, -1, -1, + 215, 421, -1, 423, 424, -1, -1, 421, -1, 423, + 424, -1, 444, 445, -1, 149, -1, -1, -1, -1, + 327, 149, -1, 330, 444, 445, -1, 191, -1, -1, + 444, 445, 196, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 267, -1, -1, 211, 212, -1, + -1, 215, -1, -1, -1, -1, 279, 191, 281, 274, + -1, 284, 196, 191, -1, -1, 149, 282, 196, -1, + 377, -1, -1, 296, -1, -1, -1, 211, 212, -1, + -1, 215, -1, 211, 212, -1, 393, 215, 395, -1, + 397, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, -1, -1, 191, 332, + 274, -1, -1, 196, -1, 68, 69, 149, 282, 72, + 73, 74, 75, 76, 77, -1, -1, -1, 211, 212, + -1, -1, 215, 356, 357, 358, 359, -1, -1, 92, + 274, 94, 95, 96, 97, 98, 274, -1, 282, -1, + -1, -1, 40, 41, 282, 43, -1, -1, 381, 191, + 383, 384, -1, -1, 196, 380, -1, 382, -1, -1, + 58, -1, -1, 61, 40, 41, -1, 43, -1, 211, + 212, 47, -1, 215, -1, -1, -1, -1, -1, -1, + -1, 274, 58, -1, -1, 61, -1, -1, -1, 282, + -1, -1, 425, -1, -1, -1, 421, -1, 423, 424, + -1, 99, 100, 101, -1, -1, 380, -1, 382, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 444, + 445, -1, -1, 99, 100, 101, -1, -1, -1, -1, + 16, -1, 274, -1, -1, -1, 380, -1, 382, -1, + 282, -1, 380, -1, 382, -1, -1, 421, -1, 423, + 424, -1, -1, -1, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, - -1, -1, 58, 99, 100, 101, 62, 40, 41, -1, - 43, -1, -1, -1, 47, -1, -1, 40, 41, -1, - 43, -1, 78, 79, 47, 58, -1, 16, 61, -1, - -1, -1, -1, -1, -1, 58, -1, -1, 61, 95, + 444, 445, 58, 59, -1, -1, 62, 421, -1, 423, + 424, -1, -1, 421, -1, 423, 424, 380, -1, 382, + -1, -1, 78, 79, -1, -1, -1, -1, -1, -1, + 444, 445, -1, -1, -1, -1, 444, 445, -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, 104, 105, - 106, 40, 41, 42, 43, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 99, 100, 101, 58, - -1, -1, -1, 62, -1, -1, 99, 100, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, - 79, -1, -1, 68, 69, -1, -1, 72, 73, 74, - 75, 76, 77, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, 12, 94, - 95, 96, 97, 98, -1, 19, -1, -1, 22, 23, + -1, -1, -1, -1, -1, -1, 40, 41, 421, 43, + 423, 424, -1, 47, -1, -1, 40, 41, 380, 43, + 382, -1, -1, 47, 58, -1, -1, 61, -1, -1, + -1, 444, 445, -1, 58, -1, -1, 61, -1, -1, + -1, -1, 68, 69, -1, -1, 72, 73, 74, 75, + 76, 77, -1, -1, -1, -1, -1, -1, -1, 421, + -1, 423, 424, -1, -1, 99, 100, 101, 94, 95, + 96, 97, 98, 11, -1, 99, 100, 101, -1, -1, + -1, 19, 444, 445, 22, 23, 24, -1, 26, 27, + 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, + 48, 49, 50, 51, -1, -1, -1, -1, 56, 57, + 58, -1, -1, -1, -1, -1, -1, 11, 66, 67, + -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, 48, 49, 50, 51, -1, -1, - -1, -1, 56, -1, 58, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 48, 49, 50, 51, -1, -1, + -1, -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, -1, 66, 67, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 100, 101, -1, -1, 48, 49, 50, 51, -1, -1, -1, -1, 56, -1, - 58, -1, -1, -1, -1, -1, -1, 19, 66, 67, + 58, -1, -1, -1, -1, -1, -1, -1, 66, 67, + 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - -1, 43, 40, 41, -1, 43, 48, 49, 50, 51, - -1, -1, 100, 101, 56, -1, 58, -1, -1, -1, - 58, -1, -1, 61, 66, 67, -1, -1, 66, 67, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 40, 41, -1, 43, -1, 100, 101, - 47, 99, 100, 101, -1, 40, 41, -1, 43, -1, - -1, 58, 47, -1, 61, 40, 41, -1, 43, -1, - -1, -1, 47, 58, 40, 41, 61, 43, -1, -1, - -1, 68, 69, 58, -1, -1, 61, 74, 75, 76, - 77, -1, 58, -1, -1, 61, -1, -1, -1, -1, - -1, -1, 99, 100, 101, -1, -1, 94, 95, 96, - 97, 98, -1, -1, 99, 100, 101, -1, -1, -1, - -1, -1, -1, -1, 99, 100, 101, 55, -1, -1, - -1, -1, 60, 99, 100, 101, -1, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 55, -1, -1, -1, -1, 60, -1, -1, -1, - -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 55, -1, -1, -1, -1, - 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 55, - -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 60, -1, -1, -1, -1, 65, -1, + -1, 43, 100, 101, 16, -1, 48, 49, 50, 51, + -1, -1, -1, -1, 56, -1, 58, -1, -1, -1, + -1, -1, -1, -1, 66, 67, -1, -1, 40, 41, + 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, -1, -1, -1, 58, -1, -1, -1, + 62, -1, 64, -1, 40, 41, -1, 43, 100, 101, + -1, 47, -1, -1, -1, -1, 78, 79, -1, -1, + 16, -1, 58, -1, -1, 61, -1, -1, -1, -1, + -1, -1, -1, 95, -1, -1, 98, -1, 100, 101, + 102, 103, 104, 105, 40, 41, 42, 43, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, + -1, -1, 58, 99, 100, 101, 62, -1, -1, -1, + 40, 41, -1, 43, -1, -1, -1, 47, -1, -1, + -1, -1, 78, 79, -1, -1, 16, -1, 58, -1, + -1, 61, -1, -1, -1, -1, -1, -1, -1, 95, + -1, -1, 98, -1, 100, 101, 102, 103, 104, 105, + 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, -1, -1, -1, 58, 99, + 100, 101, 62, -1, -1, 17, 18, -1, 20, 21, + -1, -1, -1, -1, -1, -1, -1, -1, 78, 79, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + -1, 43, -1, -1, -1, 95, -1, -1, 98, -1, + 100, 101, 102, 103, 104, 105, 58, -1, -1, 61, + -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, -1, -1, -1, -1, 99, 100, 101, + 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, + 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, -1, 43, 40, 41, -1, 43, 48, + 49, 50, 51, -1, -1, 40, 41, 56, 43, 58, + -1, -1, 47, 58, -1, -1, 61, 66, 67, -1, + -1, 66, 67, 58, -1, -1, 61, -1, -1, -1, + -1, -1, -1, -1, -1, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + -1, 100, 101, -1, 99, 100, 101, -1, -1, -1, + 40, 41, -1, 43, 99, 100, 101, 47, 40, 41, + -1, 43, -1, -1, -1, 47, -1, -1, 58, -1, + -1, 61, -1, -1, -1, -1, 58, -1, -1, 61, + -1, -1, -1, -1, 55, -1, -1, -1, -1, 60, + -1, -1, -1, -1, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 99, + 100, 101, -1, -1, -1, -1, -1, 99, 100, 101, + 91, 92, 93, 94, 95, 96, 97, 98, 55, -1, + -1, -1, -1, 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, 96, - 97, 98, 63, -1, 65, -1, -1, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + 97, 98, 55, -1, -1, -1, -1, 60, -1, -1, + -1, -1, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 55, -1, -1, -1, + -1, 60, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, 94, 95, 96, 97, 98, 64, 65, + 55, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + 91, 92, 93, 94, 95, 96, 97, 98, 65, -1, + -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, -1, 91, 92, 93, 94, 95, 96, + 97, 98, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + 91, 92, 93, 94, 95, 96, 97, 98, 65, -1, + -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, -1, 91, 92, 93, 94, 95, 96, + 97, 98, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 91, 92, 93, 94, 95, 96, 97, 98, 63, + -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + 94, 95, 96, 97, 98, 64, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 64, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + 94, 95, 96, 97, 98, 64, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, + 76, 77, 91, 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 64, 65, -1, -1, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, 94, 95, 96, 97, 98, 64, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 65, -1, -1, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 91, 92, 93, 94, 95, - 96, 97, 98, -1, -1, -1, -1, -1, 91, 92, - 93, 94, 95, 96, 97, 98, 68, 69, -1, 71, - 72, 73, 74, 75, 76, 77, 68, 69, -1, -1, - 72, 73, 74, 75, 76, 77, -1, -1, -1, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 68, 69, -1, - -1, 72, 73, 74, 75, 76, 77, 68, 69, -1, - -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, - -1, 92, 93, 94, 95, 96, 97, 98, -1, -1, - -1, 92, -1, 94, 95, 96, 97, 98 + 96, 97, 98, 68, 69, -1, 71, 72, 73, 74, + 75, 76, 77, 68, 69, -1, -1, 72, 73, 74, + 75, 76, 77, -1, -1, -1, 91, 92, 93, 94, + 95, 96, 97, 98, -1, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 68, 69, -1, -1, 72, 73, + 74, 75, 76, 77, 68, 69, -1, -1, -1, -1, + 74, 75, 76, 77, -1, -1, -1, -1, 92, 93, + 94, 95, 96, 97, 98, -1, -1, -1, -1, -1, + 94, 95, 96, 97, 98 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 101, 117, 118, 119, - 120, 121, 122, 123, 124, 191, 100, 191, 192, 192, - 54, 0, 119, 120, 121, 54, 80, 64, 64, 102, - 194, 171, 191, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 101, 116, 117, 118, + 119, 120, 121, 122, 123, 190, 100, 190, 191, 191, + 54, 0, 118, 119, 120, 54, 80, 64, 64, 102, + 193, 170, 190, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 58, 62, - 78, 79, 95, 98, 103, 104, 105, 106, 156, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 174, + 78, 79, 95, 98, 103, 104, 105, 155, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 55, 55, 60, 58, - 191, 192, 58, 191, 192, 58, 54, 54, 156, 58, - 59, 156, 172, 173, 191, 156, 156, 105, 106, 101, - 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 91, 92, 93, 94, 95, 96, 97, 98, - 47, 58, 61, 99, 168, 169, 191, 192, 54, 62, - 64, 56, 130, 191, 58, 54, 62, 58, 54, 62, - 58, 156, 156, 55, 60, 156, 60, 59, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 191, 62, - 172, 173, 191, 11, 19, 22, 23, 24, 26, 27, - 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 57, 58, 66, 67, 125, 126, 128, 129, 130, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 158, 159, 160, 166, 167, 177, - 178, 181, 185, 186, 187, 188, 191, 156, 172, 191, - 156, 172, 191, 156, 55, 55, 156, 59, 156, 63, - 59, 191, 55, 54, 12, 125, 127, 156, 64, 54, - 64, 54, 125, 54, 54, 54, 54, 95, 194, 198, - 63, 64, 64, 64, 156, 64, 54, 54, 58, 166, - 167, 181, 181, 57, 126, 64, 64, 64, 64, 64, - 17, 18, 20, 21, 66, 67, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 59, 55, 54, - 59, 55, 54, 59, 60, 59, 156, 172, 12, 125, - 64, 55, 156, 27, 156, 131, 158, 159, 160, 181, - 191, 156, 63, 63, 64, 172, 172, 156, 54, 54, - 54, 54, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 59, 172, 59, 172, 59, 156, 54, - 55, 64, 55, 54, 55, 64, 30, 60, 55, 55, - 55, 156, 156, 156, 156, 54, 55, 54, 55, 54, - 55, 172, 125, 156, 125, 156, 157, 156, 191, 130, - 64, 64, 55, 55, 60, 55, 60, 55, 60, 172, - 172, 172, 55, 25, 55, 64, 55, 30, 64, 64, - 173, 64, 173, 64, 173, 55, 55, 55, 125, 64, - 131, 125, 156, 55, 55, 55, 55, 55, 64, 64, - 64, 125, 125 + 195, 196, 197, 198, 55, 55, 60, 58, 190, 191, + 58, 190, 191, 58, 54, 54, 155, 58, 59, 155, + 171, 172, 190, 155, 155, 104, 105, 101, 64, 65, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 91, 92, 93, 94, 95, 96, 97, 98, 47, 58, + 61, 99, 167, 168, 190, 191, 54, 62, 64, 56, + 129, 190, 58, 54, 62, 58, 54, 62, 58, 155, + 155, 55, 60, 155, 60, 59, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 190, 62, 171, 172, + 190, 11, 19, 22, 23, 24, 26, 27, 28, 29, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 57, + 58, 66, 67, 124, 125, 127, 128, 129, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 157, 158, 159, 165, 166, 176, 177, 180, + 184, 185, 186, 187, 190, 155, 171, 190, 155, 171, + 190, 155, 55, 55, 155, 59, 155, 63, 59, 190, + 55, 54, 12, 124, 126, 155, 64, 54, 64, 54, + 124, 54, 54, 54, 54, 95, 193, 196, 63, 64, + 64, 64, 155, 64, 54, 54, 58, 165, 166, 180, + 180, 57, 125, 64, 64, 64, 64, 64, 17, 18, + 20, 21, 66, 67, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 59, 55, 54, 59, 55, + 54, 59, 60, 59, 155, 171, 12, 124, 64, 55, + 155, 27, 155, 130, 157, 158, 159, 180, 190, 155, + 63, 63, 64, 171, 171, 155, 54, 54, 54, 54, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 59, 171, 59, 171, 59, 155, 54, 55, 64, + 55, 54, 55, 64, 30, 60, 55, 55, 55, 155, + 155, 155, 155, 54, 55, 54, 55, 54, 55, 171, + 124, 155, 124, 155, 156, 155, 190, 129, 64, 64, + 55, 55, 60, 55, 60, 55, 60, 171, 171, 171, + 55, 25, 55, 64, 55, 30, 64, 64, 172, 64, + 172, 64, 172, 55, 55, 55, 124, 64, 130, 124, + 155, 55, 55, 55, 55, 55, 64, 64, 64, 124, + 124 }; const unsigned char parser::yyr1_[] = { - 0, 116, 117, 117, 118, 118, 118, 118, 118, 118, - 119, 120, 121, 121, 121, 121, 121, 122, 123, 124, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 126, 126, 127, 127, 128, - 128, 129, 129, 130, 130, 131, 131, 131, 131, 132, - 132, 133, 133, 133, 134, 135, 135, 136, 137, 137, - 138, 138, 139, 140, 140, 141, 142, 143, 144, 145, - 146, 146, 147, 148, 148, 149, 150, 151, 152, 152, - 153, 154, 155, 156, 156, 156, 157, 157, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, - 159, 160, 160, 161, 162, 162, 162, 162, 162, 162, + 0, 115, 116, 116, 117, 117, 117, 117, 117, 117, + 118, 119, 120, 120, 120, 120, 120, 121, 122, 123, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 125, 125, 126, 126, 127, + 127, 128, 128, 129, 129, 130, 130, 130, 130, 131, + 131, 132, 132, 132, 133, 134, 134, 135, 136, 136, + 137, 137, 138, 139, 139, 140, 141, 142, 143, 144, + 145, 145, 146, 147, 147, 148, 149, 150, 151, 151, + 152, 153, 154, 155, 155, 155, 156, 156, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, + 158, 159, 159, 160, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 164, 165, 166, 166, 167, 167, 168, 168, - 168, 168, 168, 168, 169, 169, 169, 169, 170, 171, - 171, 171, 172, 172, 173, 173, 174, 175, 176, 176, - 177, 178, 178, 179, 180, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 192, 193, 194, 195, 196, - 197, 197, 198, 198, 199, 200 + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 163, 164, 165, 165, 166, 166, 167, 167, 167, + 167, 167, 167, 168, 168, 168, 168, 169, 170, 170, + 170, 171, 171, 172, 172, 173, 174, 175, 175, 176, + 177, 177, 178, 179, 180, 180, 180, 180, 180, 180, + 180, 180, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 191, 192, 193, 194, 195, 195, + 196, 196, 197, 198 }; const signed char @@ -4600,13 +4562,13 @@ namespace xsk { namespace gsc { namespace iw8 { 3, 3, 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, 2, 1, 1, 2, 2, 4, 6, - 5, 7, 5, 7, 8, 9, 9, 9, 3, 3, - 1, 0, 1, 0, 3, 1, 4, 4, 2, 3, - 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 7, - 2, 1, 2, 1, 1, 1 + 1, 2, 2, 1, 1, 2, 2, 4, 6, 5, + 7, 5, 7, 8, 9, 9, 9, 3, 3, 1, + 0, 1, 0, 3, 1, 4, 4, 2, 3, 4, + 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 7, 2, 1, + 2, 1, 1, 1 }; @@ -4616,29 +4578,29 @@ namespace xsk { namespace gsc { namespace iw8 { const short parser::yyrline_[] = { - 0, 260, 260, 261, 265, 267, 269, 271, 273, 275, - 280, 284, 289, 290, 291, 292, 293, 297, 302, 307, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 340, 341, 345, 347, 352, - 354, 359, 360, 364, 365, 369, 371, 373, 376, 380, - 382, 387, 389, 391, 396, 401, 403, 408, 413, 415, - 420, 422, 427, 432, 434, 439, 444, 449, 454, 459, - 464, 466, 471, 476, 478, 483, 488, 493, 498, 500, - 505, 510, 515, 520, 521, 522, 526, 527, 531, 533, - 535, 537, 539, 541, 543, 545, 547, 549, 551, 556, - 558, 563, 565, 570, 575, 577, 579, 581, 583, 585, - 587, 589, 591, 593, 595, 597, 599, 601, 603, 605, - 607, 609, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, - 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, - 642, 643, 647, 652, 657, 658, 661, 662, 666, 668, - 670, 672, 674, 676, 681, 683, 685, 687, 692, 697, - 699, 702, 706, 709, 713, 715, 720, 725, 730, 732, - 737, 742, 744, 749, 754, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 771, 776, 781, 786, 791, 796, - 801, 806, 811, 816, 821, 823, 828, 833, 838, 843, - 848, 850, 855, 857, 862, 867 + 0, 258, 258, 259, 263, 265, 267, 269, 271, 273, + 278, 282, 287, 288, 289, 290, 291, 295, 300, 305, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 338, 339, 343, 345, 350, + 352, 357, 358, 362, 363, 367, 369, 371, 374, 378, + 380, 385, 387, 389, 394, 399, 401, 406, 411, 413, + 418, 420, 425, 430, 432, 437, 442, 447, 452, 457, + 462, 464, 469, 474, 476, 481, 486, 491, 496, 498, + 503, 508, 513, 518, 519, 520, 524, 525, 529, 531, + 533, 535, 537, 539, 541, 543, 545, 547, 549, 554, + 556, 561, 563, 568, 573, 575, 577, 579, 581, 583, + 585, 587, 589, 591, 593, 595, 597, 599, 601, 603, + 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 644, 649, 654, 655, 658, 659, 663, 665, 667, + 669, 671, 673, 678, 680, 682, 684, 689, 694, 696, + 699, 703, 706, 710, 712, 717, 722, 727, 729, 734, + 739, 741, 746, 751, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 768, 773, 778, 783, 788, 793, 798, + 803, 808, 813, 818, 820, 825, 830, 835, 840, 842, + 847, 849, 854, 859 }; void @@ -4671,9 +4633,9 @@ namespace xsk { namespace gsc { namespace iw8 { #line 13 "parser.ypp" } } } // xsk::gsc::iw8 -#line 4675 "parser.cpp" +#line 4637 "parser.cpp" -#line 871 "parser.ypp" +#line 863 "parser.ypp" void xsk::gsc::iw8::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/iw8/xsk/parser.hpp b/src/iw8/xsk/parser.hpp index fd92392b..e144fd56 100644 --- a/src/iw8/xsk/parser.hpp +++ b/src/iw8/xsk/parser.hpp @@ -456,186 +456,182 @@ namespace xsk { namespace gsc { namespace iw8 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_isdefined - char dummy23[sizeof (ast::expr_isdefined::ptr)]; + char dummy22[sizeof (ast::expr_isdefined::ptr)]; // expr_istring - char dummy24[sizeof (ast::expr_istring::ptr)]; + char dummy23[sizeof (ast::expr_istring::ptr)]; // expr_istrue - char dummy25[sizeof (ast::expr_istrue::ptr)]; + char dummy24[sizeof (ast::expr_istrue::ptr)]; // expr_level - char dummy26[sizeof (ast::expr_level::ptr)]; + char dummy25[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy27[sizeof (ast::expr_method::ptr)]; + char dummy26[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy28[sizeof (ast::expr_not::ptr)]; + char dummy27[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy29[sizeof (ast::expr_parameters::ptr)]; + char dummy28[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy30[sizeof (ast::expr_paren::ptr)]; + char dummy29[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy31[sizeof (ast::expr_path::ptr)]; + char dummy30[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy32[sizeof (ast::expr_reference::ptr)]; + char dummy31[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy33[sizeof (ast::expr_self::ptr)]; + char dummy32[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy34[sizeof (ast::expr_size::ptr)]; + char dummy33[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy35[sizeof (ast::expr_string::ptr)]; + char dummy34[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy36[sizeof (ast::expr_thisthread::ptr)]; + char dummy35[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy37[sizeof (ast::expr_true::ptr)]; + char dummy36[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy38[sizeof (ast::expr_undefined::ptr)]; + char dummy37[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy39[sizeof (ast::expr_vector::ptr)]; + char dummy38[sizeof (ast::expr_vector::ptr)]; // include - char dummy40[sizeof (ast::include::ptr)]; + char dummy39[sizeof (ast::include::ptr)]; // program - char dummy41[sizeof (ast::program::ptr)]; + char dummy40[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy42[sizeof (ast::stmt)]; + char dummy41[sizeof (ast::stmt)]; // stmt_assign - char dummy43[sizeof (ast::stmt_assign::ptr)]; + char dummy42[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy44[sizeof (ast::stmt_break::ptr)]; + char dummy43[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy45[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy44[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy46[sizeof (ast::stmt_call::ptr)]; + char dummy45[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy47[sizeof (ast::stmt_case::ptr)]; + char dummy46[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy48[sizeof (ast::stmt_continue::ptr)]; + char dummy47[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy49[sizeof (ast::stmt_default::ptr)]; + char dummy48[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy50[sizeof (ast::stmt_dev::ptr)]; + char dummy49[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy51[sizeof (ast::stmt_dowhile::ptr)]; + char dummy50[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy52[sizeof (ast::stmt_endon::ptr)]; + char dummy51[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy53[sizeof (ast::stmt_expr::ptr)]; + char dummy52[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy54[sizeof (ast::stmt_for::ptr)]; + char dummy53[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy55[sizeof (ast::stmt_foreach::ptr)]; + char dummy54[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy56[sizeof (ast::stmt_if::ptr)]; + char dummy55[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy57[sizeof (ast::stmt_ifelse::ptr)]; + char dummy56[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy58[sizeof (ast::stmt_list::ptr)]; + char dummy57[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy59[sizeof (ast::stmt_notify::ptr)]; + char dummy58[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy60[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy59[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy61[sizeof (ast::stmt_prof_end::ptr)]; + char dummy60[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy62[sizeof (ast::stmt_return::ptr)]; + char dummy61[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy63[sizeof (ast::stmt_switch::ptr)]; + char dummy62[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy64[sizeof (ast::stmt_wait::ptr)]; + char dummy63[sizeof (ast::stmt_wait::ptr)]; // stmt_waitframe - char dummy65[sizeof (ast::stmt_waitframe::ptr)]; + char dummy64[sizeof (ast::stmt_waitframe::ptr)]; // stmt_waittill - char dummy66[sizeof (ast::stmt_waittill::ptr)]; + char dummy65[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy67[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy66[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy68[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy67[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy69[sizeof (ast::stmt_while::ptr)]; + char dummy68[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy70[sizeof (std::string)]; + char dummy69[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -788,18 +784,17 @@ namespace xsk { namespace gsc { namespace iw8 { IDENTIFIER = 101, // "identifier" STRING = 102, // "string literal" ISTRING = 103, // "localized string" - COLOR = 104, // "color" - FLOAT = 105, // "float" - INTEGER = 106, // "integer" - ADD_ARRAY = 107, // ADD_ARRAY - THEN = 108, // THEN - TERN = 109, // TERN - NEG = 110, // NEG - ANIMREF = 111, // ANIMREF - PREINC = 112, // PREINC - PREDEC = 113, // PREDEC - POSTINC = 114, // POSTINC - POSTDEC = 115 // POSTDEC + FLOAT = 104, // "float" + INTEGER = 105, // "integer" + ADD_ARRAY = 106, // ADD_ARRAY + THEN = 107, // THEN + TERN = 108, // TERN + NEG = 109, // NEG + ANIMREF = 110, // ANIMREF + PREINC = 111, // PREINC + PREDEC = 112, // PREDEC + POSTINC = 113, // POSTINC + POSTDEC = 114 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -816,7 +811,7 @@ namespace xsk { namespace gsc { namespace iw8 { { enum symbol_kind_type { - YYNTOKENS = 116, ///< Number of tokens. + YYNTOKENS = 115, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -922,103 +917,101 @@ namespace xsk { namespace gsc { namespace iw8 { S_IDENTIFIER = 101, // "identifier" S_STRING = 102, // "string literal" S_ISTRING = 103, // "localized string" - S_COLOR = 104, // "color" - S_FLOAT = 105, // "float" - S_INTEGER = 106, // "integer" - S_ADD_ARRAY = 107, // ADD_ARRAY - S_THEN = 108, // THEN - S_TERN = 109, // TERN - S_NEG = 110, // NEG - S_ANIMREF = 111, // ANIMREF - S_PREINC = 112, // PREINC - S_PREDEC = 113, // PREDEC - S_POSTINC = 114, // POSTINC - S_POSTDEC = 115, // POSTDEC - S_YYACCEPT = 116, // $accept - S_root = 117, // root - S_program = 118, // program - S_inline = 119, // inline - S_include = 120, // include - S_declaration = 121, // declaration - S_decl_usingtree = 122, // decl_usingtree - S_decl_constant = 123, // decl_constant - S_decl_thread = 124, // decl_thread - S_stmt = 125, // stmt - S_stmt_or_dev = 126, // stmt_or_dev - S_stmt_list = 127, // stmt_list - S_stmt_or_dev_list = 128, // stmt_or_dev_list - S_stmt_dev = 129, // stmt_dev - S_stmt_block = 130, // stmt_block - S_stmt_expr = 131, // stmt_expr - S_stmt_call = 132, // stmt_call - S_stmt_assign = 133, // stmt_assign - S_stmt_endon = 134, // stmt_endon - S_stmt_notify = 135, // stmt_notify - S_stmt_wait = 136, // stmt_wait - S_stmt_waittill = 137, // stmt_waittill - S_stmt_waittillmatch = 138, // stmt_waittillmatch - S_stmt_waittillframeend = 139, // stmt_waittillframeend - S_stmt_waitframe = 140, // stmt_waitframe - S_stmt_if = 141, // stmt_if - S_stmt_ifelse = 142, // stmt_ifelse - S_stmt_while = 143, // stmt_while - S_stmt_dowhile = 144, // stmt_dowhile - S_stmt_for = 145, // stmt_for - S_stmt_foreach = 146, // stmt_foreach - S_stmt_switch = 147, // stmt_switch - S_stmt_case = 148, // stmt_case - S_stmt_default = 149, // stmt_default - S_stmt_break = 150, // stmt_break - S_stmt_continue = 151, // stmt_continue - S_stmt_return = 152, // stmt_return - S_stmt_breakpoint = 153, // stmt_breakpoint - S_stmt_prof_begin = 154, // stmt_prof_begin - S_stmt_prof_end = 155, // stmt_prof_end - S_expr = 156, // expr - S_expr_or_empty = 157, // expr_or_empty - S_expr_assign = 158, // expr_assign - S_expr_increment = 159, // expr_increment - S_expr_decrement = 160, // expr_decrement - S_expr_ternary = 161, // expr_ternary - S_expr_binary = 162, // expr_binary - S_expr_primitive = 163, // expr_primitive - S_expr_complement = 164, // expr_complement - S_expr_not = 165, // expr_not - S_expr_call = 166, // expr_call - S_expr_method = 167, // expr_method - S_expr_function = 168, // expr_function - S_expr_pointer = 169, // expr_pointer - S_expr_add_array = 170, // expr_add_array - S_expr_parameters = 171, // expr_parameters - S_expr_arguments = 172, // expr_arguments - S_expr_arguments_no_empty = 173, // expr_arguments_no_empty - S_expr_isdefined = 174, // expr_isdefined - S_expr_istrue = 175, // expr_istrue - S_expr_reference = 176, // expr_reference - S_expr_array = 177, // expr_array - S_expr_field = 178, // expr_field - S_expr_size = 179, // expr_size - S_expr_paren = 180, // expr_paren - S_expr_object = 181, // expr_object - S_expr_thisthread = 182, // expr_thisthread - S_expr_empty_array = 183, // expr_empty_array - S_expr_undefined = 184, // expr_undefined - S_expr_game = 185, // expr_game - S_expr_self = 186, // expr_self - S_expr_anim = 187, // expr_anim - S_expr_level = 188, // expr_level - S_expr_animation = 189, // expr_animation - S_expr_animtree = 190, // expr_animtree - S_expr_identifier = 191, // expr_identifier - S_expr_path = 192, // expr_path - S_expr_istring = 193, // expr_istring - S_expr_string = 194, // expr_string - S_expr_color = 195, // expr_color - S_expr_vector = 196, // expr_vector - S_expr_float = 197, // expr_float - S_expr_integer = 198, // expr_integer - S_expr_false = 199, // expr_false - S_expr_true = 200 // expr_true + S_FLOAT = 104, // "float" + S_INTEGER = 105, // "integer" + S_ADD_ARRAY = 106, // ADD_ARRAY + S_THEN = 107, // THEN + S_TERN = 108, // TERN + S_NEG = 109, // NEG + S_ANIMREF = 110, // ANIMREF + S_PREINC = 111, // PREINC + S_PREDEC = 112, // PREDEC + S_POSTINC = 113, // POSTINC + S_POSTDEC = 114, // POSTDEC + S_YYACCEPT = 115, // $accept + S_root = 116, // root + S_program = 117, // program + S_inline = 118, // inline + S_include = 119, // include + S_declaration = 120, // declaration + S_decl_usingtree = 121, // decl_usingtree + S_decl_constant = 122, // decl_constant + S_decl_thread = 123, // decl_thread + S_stmt = 124, // stmt + S_stmt_or_dev = 125, // stmt_or_dev + S_stmt_list = 126, // stmt_list + S_stmt_or_dev_list = 127, // stmt_or_dev_list + S_stmt_dev = 128, // stmt_dev + S_stmt_block = 129, // stmt_block + S_stmt_expr = 130, // stmt_expr + S_stmt_call = 131, // stmt_call + S_stmt_assign = 132, // stmt_assign + S_stmt_endon = 133, // stmt_endon + S_stmt_notify = 134, // stmt_notify + S_stmt_wait = 135, // stmt_wait + S_stmt_waittill = 136, // stmt_waittill + S_stmt_waittillmatch = 137, // stmt_waittillmatch + S_stmt_waittillframeend = 138, // stmt_waittillframeend + S_stmt_waitframe = 139, // stmt_waitframe + S_stmt_if = 140, // stmt_if + S_stmt_ifelse = 141, // stmt_ifelse + S_stmt_while = 142, // stmt_while + S_stmt_dowhile = 143, // stmt_dowhile + S_stmt_for = 144, // stmt_for + S_stmt_foreach = 145, // stmt_foreach + S_stmt_switch = 146, // stmt_switch + S_stmt_case = 147, // stmt_case + S_stmt_default = 148, // stmt_default + S_stmt_break = 149, // stmt_break + S_stmt_continue = 150, // stmt_continue + S_stmt_return = 151, // stmt_return + S_stmt_breakpoint = 152, // stmt_breakpoint + S_stmt_prof_begin = 153, // stmt_prof_begin + S_stmt_prof_end = 154, // stmt_prof_end + S_expr = 155, // expr + S_expr_or_empty = 156, // expr_or_empty + S_expr_assign = 157, // expr_assign + S_expr_increment = 158, // expr_increment + S_expr_decrement = 159, // expr_decrement + S_expr_ternary = 160, // expr_ternary + S_expr_binary = 161, // expr_binary + S_expr_primitive = 162, // expr_primitive + S_expr_complement = 163, // expr_complement + S_expr_not = 164, // expr_not + S_expr_call = 165, // expr_call + S_expr_method = 166, // expr_method + S_expr_function = 167, // expr_function + S_expr_pointer = 168, // expr_pointer + S_expr_add_array = 169, // expr_add_array + S_expr_parameters = 170, // expr_parameters + S_expr_arguments = 171, // expr_arguments + S_expr_arguments_no_empty = 172, // expr_arguments_no_empty + S_expr_isdefined = 173, // expr_isdefined + S_expr_istrue = 174, // expr_istrue + S_expr_reference = 175, // expr_reference + S_expr_array = 176, // expr_array + S_expr_field = 177, // expr_field + S_expr_size = 178, // expr_size + S_expr_paren = 179, // expr_paren + S_expr_object = 180, // expr_object + S_expr_thisthread = 181, // expr_thisthread + S_expr_empty_array = 182, // expr_empty_array + S_expr_undefined = 183, // expr_undefined + S_expr_game = 184, // expr_game + S_expr_self = 185, // expr_self + S_expr_anim = 186, // expr_anim + S_expr_level = 187, // expr_level + S_expr_animation = 188, // expr_animation + S_expr_animtree = 189, // expr_animtree + S_expr_identifier = 190, // expr_identifier + S_expr_path = 191, // expr_path + S_expr_istring = 192, // expr_istring + S_expr_string = 193, // expr_string + S_expr_vector = 194, // expr_vector + S_expr_float = 195, // expr_float + S_expr_integer = 196, // expr_integer + S_expr_false = 197, // expr_false + S_expr_true = 198 // expr_true }; }; @@ -1117,10 +1110,6 @@ namespace xsk { namespace gsc { namespace iw8 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1349,7 +1338,6 @@ namespace xsk { namespace gsc { namespace iw8 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1560,20 +1548,6 @@ namespace xsk { namespace gsc { namespace iw8 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2442,10 +2416,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2674,7 +2644,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4396,21 +4365,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4920,8 +4874,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2407, ///< Last index in yytable_. - yynnts_ = 85, ///< Number of nonterminal symbols. + yylast_ = 2404, ///< Last index in yytable_. + yynnts_ = 84, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -5010,10 +4964,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5242,7 +5192,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5339,10 +5288,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5571,7 +5516,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5640,7 +5584,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::iw8 -#line 5644 "parser.hpp" +#line 5588 "parser.hpp" diff --git a/src/s1/xsk/parser.cpp b/src/s1/xsk/parser.cpp index 3eee5bd8..0c280e5d 100644 --- a/src/s1/xsk/parser.cpp +++ b/src/s1/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace s1 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -501,7 +497,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -584,10 +579,6 @@ namespace xsk { namespace gsc { namespace s1 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -808,7 +799,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -891,10 +881,6 @@ namespace xsk { namespace gsc { namespace s1 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1115,7 +1101,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1197,10 +1182,6 @@ namespace xsk { namespace gsc { namespace s1 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1421,7 +1402,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1758,10 +1738,6 @@ namespace xsk { namespace gsc { namespace s1 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1982,7 +1958,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2009,1327 +1984,1315 @@ namespace xsk { namespace gsc { namespace s1 { switch (yyn) { case 2: // root: program -#line 256 "parser.ypp" +#line 254 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 2015 "parser.cpp" +#line 1990 "parser.cpp" break; case 3: // root: %empty -#line 257 "parser.ypp" +#line 255 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2021 "parser.cpp" +#line 1996 "parser.cpp" break; case 4: // program: program inline -#line 262 "parser.ypp" +#line 260 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2027 "parser.cpp" +#line 2002 "parser.cpp" break; case 5: // program: program include -#line 264 "parser.ypp" +#line 262 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2033 "parser.cpp" +#line 2008 "parser.cpp" break; case 6: // program: program declaration -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2039 "parser.cpp" +#line 2014 "parser.cpp" break; case 7: // program: inline -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2045 "parser.cpp" +#line 2020 "parser.cpp" break; case 8: // program: include -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2051 "parser.cpp" +#line 2026 "parser.cpp" break; case 9: // program: declaration -#line 272 "parser.ypp" +#line 270 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2057 "parser.cpp" +#line 2032 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 276 "parser.ypp" +#line 274 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2063 "parser.cpp" +#line 2038 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 281 "parser.ypp" +#line 279 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2069 "parser.cpp" +#line 2044 "parser.cpp" break; case 12: // declaration: "/#" -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2075 "parser.cpp" +#line 2050 "parser.cpp" break; case 13: // declaration: "#/" -#line 286 "parser.ypp" +#line 284 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2081 "parser.cpp" +#line 2056 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 287 "parser.ypp" +#line 285 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2087 "parser.cpp" +#line 2062 "parser.cpp" break; case 15: // declaration: decl_constant -#line 288 "parser.ypp" +#line 286 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2093 "parser.cpp" +#line 2068 "parser.cpp" break; case 16: // declaration: decl_thread -#line 289 "parser.ypp" +#line 287 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2099 "parser.cpp" +#line 2074 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 294 "parser.ypp" +#line 292 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2105 "parser.cpp" +#line 2080 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 299 "parser.ypp" +#line 297 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2111 "parser.cpp" +#line 2086 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 304 "parser.ypp" +#line 302 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2117 "parser.cpp" +#line 2092 "parser.cpp" break; case 20: // stmt: stmt_block -#line 308 "parser.ypp" +#line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2123 "parser.cpp" +#line 2098 "parser.cpp" break; case 21: // stmt: stmt_call -#line 309 "parser.ypp" +#line 307 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2129 "parser.cpp" +#line 2104 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 310 "parser.ypp" +#line 308 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2135 "parser.cpp" +#line 2110 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 311 "parser.ypp" +#line 309 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2141 "parser.cpp" +#line 2116 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2147 "parser.cpp" +#line 2122 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2153 "parser.cpp" +#line 2128 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2159 "parser.cpp" +#line 2134 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2165 "parser.cpp" +#line 2140 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2171 "parser.cpp" +#line 2146 "parser.cpp" break; case 29: // stmt: stmt_waitframe -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } -#line 2177 "parser.cpp" +#line 2152 "parser.cpp" break; case 30: // stmt: stmt_if -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2183 "parser.cpp" +#line 2158 "parser.cpp" break; case 31: // stmt: stmt_ifelse -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2189 "parser.cpp" +#line 2164 "parser.cpp" break; case 32: // stmt: stmt_while -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2195 "parser.cpp" +#line 2170 "parser.cpp" break; case 33: // stmt: stmt_dowhile -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2201 "parser.cpp" +#line 2176 "parser.cpp" break; case 34: // stmt: stmt_for -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2207 "parser.cpp" +#line 2182 "parser.cpp" break; case 35: // stmt: stmt_foreach -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2213 "parser.cpp" +#line 2188 "parser.cpp" break; case 36: // stmt: stmt_switch -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2219 "parser.cpp" +#line 2194 "parser.cpp" break; case 37: // stmt: stmt_case -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2225 "parser.cpp" +#line 2200 "parser.cpp" break; case 38: // stmt: stmt_default -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2231 "parser.cpp" +#line 2206 "parser.cpp" break; case 39: // stmt: stmt_break -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2237 "parser.cpp" +#line 2212 "parser.cpp" break; case 40: // stmt: stmt_continue -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2243 "parser.cpp" +#line 2218 "parser.cpp" break; case 41: // stmt: stmt_return -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2249 "parser.cpp" +#line 2224 "parser.cpp" break; case 42: // stmt: stmt_breakpoint -#line 330 "parser.ypp" +#line 328 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2255 "parser.cpp" +#line 2230 "parser.cpp" break; case 43: // stmt: stmt_prof_begin -#line 331 "parser.ypp" +#line 329 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2261 "parser.cpp" +#line 2236 "parser.cpp" break; case 44: // stmt: stmt_prof_end -#line 332 "parser.ypp" +#line 330 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2267 "parser.cpp" +#line 2242 "parser.cpp" break; case 45: // stmt_or_dev: stmt -#line 336 "parser.ypp" +#line 334 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2273 "parser.cpp" +#line 2248 "parser.cpp" break; case 46: // stmt_or_dev: stmt_dev -#line 337 "parser.ypp" +#line 335 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2279 "parser.cpp" +#line 2254 "parser.cpp" break; case 47: // stmt_list: stmt_list stmt -#line 342 "parser.ypp" +#line 340 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2285 "parser.cpp" +#line 2260 "parser.cpp" break; case 48: // stmt_list: stmt -#line 344 "parser.ypp" +#line 342 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2291 "parser.cpp" +#line 2266 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 349 "parser.ypp" +#line 347 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2297 "parser.cpp" +#line 2272 "parser.cpp" break; case 50: // stmt_or_dev_list: stmt_or_dev -#line 351 "parser.ypp" +#line 349 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2303 "parser.cpp" +#line 2278 "parser.cpp" break; case 51: // stmt_dev: "/#" stmt_list "#/" -#line 355 "parser.ypp" +#line 353 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2309 "parser.cpp" +#line 2284 "parser.cpp" break; case 52: // stmt_dev: "/#" "#/" -#line 356 "parser.ypp" +#line 354 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2315 "parser.cpp" +#line 2290 "parser.cpp" break; case 53: // stmt_block: "{" stmt_or_dev_list "}" -#line 360 "parser.ypp" +#line 358 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2321 "parser.cpp" +#line 2296 "parser.cpp" break; case 54: // stmt_block: "{" "}" -#line 361 "parser.ypp" +#line 359 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2327 "parser.cpp" +#line 2302 "parser.cpp" break; case 55: // stmt_expr: expr_assign -#line 366 "parser.ypp" +#line 364 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2333 "parser.cpp" +#line 2308 "parser.cpp" break; case 56: // stmt_expr: expr_increment -#line 368 "parser.ypp" +#line 366 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2339 "parser.cpp" +#line 2314 "parser.cpp" break; case 57: // stmt_expr: expr_decrement -#line 370 "parser.ypp" +#line 368 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2345 "parser.cpp" +#line 2320 "parser.cpp" break; case 58: // stmt_expr: %empty -#line 372 "parser.ypp" +#line 370 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2351 "parser.cpp" +#line 2326 "parser.cpp" break; case 59: // stmt_call: expr_call ";" -#line 377 "parser.ypp" +#line 375 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2357 "parser.cpp" +#line 2332 "parser.cpp" break; case 60: // stmt_call: expr_method ";" -#line 379 "parser.ypp" +#line 377 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2363 "parser.cpp" +#line 2338 "parser.cpp" break; case 61: // stmt_assign: expr_assign ";" -#line 384 "parser.ypp" +#line 382 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2369 "parser.cpp" +#line 2344 "parser.cpp" break; case 62: // stmt_assign: expr_increment ";" -#line 386 "parser.ypp" +#line 384 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2375 "parser.cpp" +#line 2350 "parser.cpp" break; case 63: // stmt_assign: expr_decrement ";" -#line 388 "parser.ypp" +#line 386 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2381 "parser.cpp" +#line 2356 "parser.cpp" break; case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 393 "parser.ypp" +#line 391 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2387 "parser.cpp" +#line 2362 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 398 "parser.ypp" +#line 396 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2393 "parser.cpp" +#line 2368 "parser.cpp" break; case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 400 "parser.ypp" +#line 398 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2399 "parser.cpp" +#line 2374 "parser.cpp" break; case 67: // stmt_wait: "wait" expr ";" -#line 405 "parser.ypp" +#line 403 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2405 "parser.cpp" +#line 2380 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 410 "parser.ypp" +#line 408 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2411 "parser.cpp" +#line 2386 "parser.cpp" break; case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 412 "parser.ypp" +#line 410 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2417 "parser.cpp" +#line 2392 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 417 "parser.ypp" +#line 415 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2423 "parser.cpp" +#line 2398 "parser.cpp" break; case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 419 "parser.ypp" +#line 417 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2429 "parser.cpp" +#line 2404 "parser.cpp" break; case 72: // stmt_waittillframeend: "waittillframeend" ";" -#line 424 "parser.ypp" +#line 422 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2435 "parser.cpp" +#line 2410 "parser.cpp" break; case 73: // stmt_waitframe: "waitframe" ";" -#line 429 "parser.ypp" +#line 427 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2441 "parser.cpp" +#line 2416 "parser.cpp" break; case 74: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 431 "parser.ypp" +#line 429 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2447 "parser.cpp" +#line 2422 "parser.cpp" break; case 75: // stmt_if: "if" "(" expr ")" stmt -#line 436 "parser.ypp" +#line 434 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2453 "parser.cpp" +#line 2428 "parser.cpp" break; case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 441 "parser.ypp" +#line 439 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2459 "parser.cpp" +#line 2434 "parser.cpp" break; case 77: // stmt_while: "while" "(" expr ")" stmt -#line 446 "parser.ypp" +#line 444 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2465 "parser.cpp" +#line 2440 "parser.cpp" break; case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 451 "parser.ypp" +#line 449 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2471 "parser.cpp" +#line 2446 "parser.cpp" break; case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 456 "parser.ypp" +#line 454 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2477 "parser.cpp" +#line 2452 "parser.cpp" break; case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 461 "parser.ypp" +#line 459 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2483 "parser.cpp" +#line 2458 "parser.cpp" break; case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 463 "parser.ypp" +#line 461 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2489 "parser.cpp" +#line 2464 "parser.cpp" break; case 82: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 468 "parser.ypp" +#line 466 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2495 "parser.cpp" +#line 2470 "parser.cpp" break; case 83: // stmt_case: "case" expr_integer ":" -#line 473 "parser.ypp" +#line 471 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2501 "parser.cpp" +#line 2476 "parser.cpp" break; case 84: // stmt_case: "case" expr_string ":" -#line 475 "parser.ypp" +#line 473 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2507 "parser.cpp" +#line 2482 "parser.cpp" break; case 85: // stmt_default: "default" ":" -#line 480 "parser.ypp" +#line 478 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2513 "parser.cpp" +#line 2488 "parser.cpp" break; case 86: // stmt_break: "break" ";" -#line 485 "parser.ypp" +#line 483 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2519 "parser.cpp" +#line 2494 "parser.cpp" break; case 87: // stmt_continue: "continue" ";" -#line 490 "parser.ypp" +#line 488 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2525 "parser.cpp" +#line 2500 "parser.cpp" break; case 88: // stmt_return: "return" expr ";" -#line 495 "parser.ypp" +#line 493 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2531 "parser.cpp" +#line 2506 "parser.cpp" break; case 89: // stmt_return: "return" ";" -#line 497 "parser.ypp" +#line 495 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2537 "parser.cpp" +#line 2512 "parser.cpp" break; case 90: // stmt_breakpoint: "breakpoint" ";" -#line 502 "parser.ypp" +#line 500 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2543 "parser.cpp" +#line 2518 "parser.cpp" break; case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 507 "parser.ypp" +#line 505 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2549 "parser.cpp" +#line 2524 "parser.cpp" break; case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 512 "parser.ypp" +#line 510 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2555 "parser.cpp" +#line 2530 "parser.cpp" break; case 93: // expr: expr_ternary -#line 516 "parser.ypp" +#line 514 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2561 "parser.cpp" +#line 2536 "parser.cpp" break; case 94: // expr: expr_binary -#line 517 "parser.ypp" +#line 515 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2567 "parser.cpp" +#line 2542 "parser.cpp" break; case 95: // expr: expr_primitive -#line 518 "parser.ypp" +#line 516 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2573 "parser.cpp" +#line 2548 "parser.cpp" break; case 96: // expr_or_empty: expr -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2579 "parser.cpp" +#line 2554 "parser.cpp" break; case 97: // expr_or_empty: %empty -#line 523 "parser.ypp" +#line 521 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2585 "parser.cpp" +#line 2560 "parser.cpp" break; case 98: // expr_assign: expr_object "=" expr -#line 528 "parser.ypp" +#line 526 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2591 "parser.cpp" +#line 2566 "parser.cpp" break; case 99: // expr_assign: expr_object "|=" expr -#line 530 "parser.ypp" +#line 528 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2597 "parser.cpp" +#line 2572 "parser.cpp" break; case 100: // expr_assign: expr_object "&=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2603 "parser.cpp" +#line 2578 "parser.cpp" break; case 101: // expr_assign: expr_object "^=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2609 "parser.cpp" +#line 2584 "parser.cpp" break; case 102: // expr_assign: expr_object "<<=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2615 "parser.cpp" +#line 2590 "parser.cpp" break; case 103: // expr_assign: expr_object ">>=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2621 "parser.cpp" +#line 2596 "parser.cpp" break; case 104: // expr_assign: expr_object "+=" expr -#line 540 "parser.ypp" +#line 538 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2627 "parser.cpp" +#line 2602 "parser.cpp" break; case 105: // expr_assign: expr_object "-=" expr -#line 542 "parser.ypp" +#line 540 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2633 "parser.cpp" +#line 2608 "parser.cpp" break; case 106: // expr_assign: expr_object "*=" expr -#line 544 "parser.ypp" +#line 542 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2639 "parser.cpp" +#line 2614 "parser.cpp" break; case 107: // expr_assign: expr_object "/=" expr -#line 546 "parser.ypp" +#line 544 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2645 "parser.cpp" +#line 2620 "parser.cpp" break; case 108: // expr_assign: expr_object "%=" expr -#line 548 "parser.ypp" +#line 546 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2651 "parser.cpp" +#line 2626 "parser.cpp" break; case 109: // expr_increment: "++" expr_object -#line 553 "parser.ypp" +#line 551 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2657 "parser.cpp" +#line 2632 "parser.cpp" break; case 110: // expr_increment: expr_object "++" -#line 555 "parser.ypp" +#line 553 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2663 "parser.cpp" +#line 2638 "parser.cpp" break; case 111: // expr_decrement: "--" expr_object -#line 560 "parser.ypp" +#line 558 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2669 "parser.cpp" +#line 2644 "parser.cpp" break; case 112: // expr_decrement: expr_object "--" -#line 562 "parser.ypp" +#line 560 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2675 "parser.cpp" +#line 2650 "parser.cpp" break; case 113: // expr_ternary: expr "?" expr ":" expr -#line 567 "parser.ypp" +#line 565 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2681 "parser.cpp" +#line 2656 "parser.cpp" break; case 114: // expr_binary: expr "||" expr -#line 572 "parser.ypp" +#line 570 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2687 "parser.cpp" +#line 2662 "parser.cpp" break; case 115: // expr_binary: expr "&&" expr -#line 574 "parser.ypp" +#line 572 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2693 "parser.cpp" +#line 2668 "parser.cpp" break; case 116: // expr_binary: expr "==" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2699 "parser.cpp" +#line 2674 "parser.cpp" break; case 117: // expr_binary: expr "!=" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2705 "parser.cpp" +#line 2680 "parser.cpp" break; case 118: // expr_binary: expr "<=" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2711 "parser.cpp" +#line 2686 "parser.cpp" break; case 119: // expr_binary: expr ">=" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2717 "parser.cpp" +#line 2692 "parser.cpp" break; case 120: // expr_binary: expr "<" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2723 "parser.cpp" +#line 2698 "parser.cpp" break; case 121: // expr_binary: expr ">" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2729 "parser.cpp" +#line 2704 "parser.cpp" break; case 122: // expr_binary: expr "|" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2735 "parser.cpp" +#line 2710 "parser.cpp" break; case 123: // expr_binary: expr "&" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2741 "parser.cpp" +#line 2716 "parser.cpp" break; case 124: // expr_binary: expr "^" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2747 "parser.cpp" +#line 2722 "parser.cpp" break; case 125: // expr_binary: expr "<<" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2753 "parser.cpp" +#line 2728 "parser.cpp" break; case 126: // expr_binary: expr ">>" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2759 "parser.cpp" +#line 2734 "parser.cpp" break; case 127: // expr_binary: expr "+" expr -#line 598 "parser.ypp" +#line 596 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2765 "parser.cpp" +#line 2740 "parser.cpp" break; case 128: // expr_binary: expr "-" expr -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2771 "parser.cpp" +#line 2746 "parser.cpp" break; case 129: // expr_binary: expr "*" expr -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2777 "parser.cpp" +#line 2752 "parser.cpp" break; case 130: // expr_binary: expr "/" expr -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2783 "parser.cpp" +#line 2758 "parser.cpp" break; case 131: // expr_binary: expr "%" expr -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2789 "parser.cpp" +#line 2764 "parser.cpp" break; case 132: // expr_primitive: expr_complement -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2795 "parser.cpp" +#line 2770 "parser.cpp" break; case 133: // expr_primitive: expr_not -#line 611 "parser.ypp" +#line 609 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2801 "parser.cpp" +#line 2776 "parser.cpp" break; case 134: // expr_primitive: expr_call -#line 612 "parser.ypp" +#line 610 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2807 "parser.cpp" +#line 2782 "parser.cpp" break; case 135: // expr_primitive: expr_method -#line 613 "parser.ypp" +#line 611 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2813 "parser.cpp" +#line 2788 "parser.cpp" break; case 136: // expr_primitive: expr_add_array -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2819 "parser.cpp" +#line 2794 "parser.cpp" break; case 137: // expr_primitive: expr_reference -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2825 "parser.cpp" +#line 2800 "parser.cpp" break; case 138: // expr_primitive: expr_array -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2831 "parser.cpp" +#line 2806 "parser.cpp" break; case 139: // expr_primitive: expr_field -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2837 "parser.cpp" +#line 2812 "parser.cpp" break; case 140: // expr_primitive: expr_size -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2843 "parser.cpp" +#line 2818 "parser.cpp" break; case 141: // expr_primitive: expr_paren -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2849 "parser.cpp" +#line 2824 "parser.cpp" break; case 142: // expr_primitive: expr_thisthread -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2855 "parser.cpp" +#line 2830 "parser.cpp" break; case 143: // expr_primitive: expr_empty_array -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2861 "parser.cpp" +#line 2836 "parser.cpp" break; case 144: // expr_primitive: expr_undefined -#line 622 "parser.ypp" +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2867 "parser.cpp" +#line 2842 "parser.cpp" break; case 145: // expr_primitive: expr_game -#line 623 "parser.ypp" +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2873 "parser.cpp" +#line 2848 "parser.cpp" break; case 146: // expr_primitive: expr_self -#line 624 "parser.ypp" +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2879 "parser.cpp" +#line 2854 "parser.cpp" break; case 147: // expr_primitive: expr_anim -#line 625 "parser.ypp" +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2885 "parser.cpp" +#line 2860 "parser.cpp" break; case 148: // expr_primitive: expr_level -#line 626 "parser.ypp" +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2891 "parser.cpp" +#line 2866 "parser.cpp" break; case 149: // expr_primitive: expr_animation -#line 627 "parser.ypp" +#line 625 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2897 "parser.cpp" +#line 2872 "parser.cpp" break; case 150: // expr_primitive: expr_animtree -#line 628 "parser.ypp" +#line 626 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2903 "parser.cpp" +#line 2878 "parser.cpp" break; case 151: // expr_primitive: expr_identifier -#line 629 "parser.ypp" +#line 627 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2909 "parser.cpp" +#line 2884 "parser.cpp" break; case 152: // expr_primitive: expr_istring -#line 630 "parser.ypp" +#line 628 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2915 "parser.cpp" +#line 2890 "parser.cpp" break; case 153: // expr_primitive: expr_string -#line 631 "parser.ypp" +#line 629 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2921 "parser.cpp" +#line 2896 "parser.cpp" break; - case 154: // expr_primitive: expr_color -#line 632 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2927 "parser.cpp" - break; - - case 155: // expr_primitive: expr_vector -#line 633 "parser.ypp" + case 154: // expr_primitive: expr_vector +#line 630 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2933 "parser.cpp" +#line 2902 "parser.cpp" break; - case 156: // expr_primitive: expr_float -#line 634 "parser.ypp" + case 155: // expr_primitive: expr_float +#line 631 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2939 "parser.cpp" +#line 2908 "parser.cpp" break; - case 157: // expr_primitive: expr_integer -#line 635 "parser.ypp" + case 156: // expr_primitive: expr_integer +#line 632 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2945 "parser.cpp" +#line 2914 "parser.cpp" break; - case 158: // expr_primitive: expr_false -#line 636 "parser.ypp" + case 157: // expr_primitive: expr_false +#line 633 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 2951 "parser.cpp" +#line 2920 "parser.cpp" break; - case 159: // expr_primitive: expr_true -#line 637 "parser.ypp" + case 158: // expr_primitive: expr_true +#line 634 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 2957 "parser.cpp" +#line 2926 "parser.cpp" break; - case 160: // expr_complement: "~" expr -#line 642 "parser.ypp" + case 159: // expr_complement: "~" expr +#line 639 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2963 "parser.cpp" +#line 2932 "parser.cpp" break; - case 161: // expr_not: "!" expr -#line 647 "parser.ypp" + case 160: // expr_not: "!" expr +#line 644 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2969 "parser.cpp" +#line 2938 "parser.cpp" break; - case 162: // expr_call: expr_function -#line 651 "parser.ypp" + case 161: // expr_call: expr_function +#line 648 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2975 "parser.cpp" +#line 2944 "parser.cpp" break; - case 163: // expr_call: expr_pointer + case 162: // expr_call: expr_pointer +#line 649 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 2950 "parser.cpp" + break; + + case 163: // expr_method: expr_object expr_function #line 652 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 2981 "parser.cpp" - break; - - case 164: // expr_method: expr_object expr_function -#line 655 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2987 "parser.cpp" +#line 2956 "parser.cpp" break; - case 165: // expr_method: expr_object expr_pointer -#line 656 "parser.ypp" + case 164: // expr_method: expr_object expr_pointer +#line 653 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 2993 "parser.cpp" +#line 2962 "parser.cpp" break; - case 166: // expr_function: expr_identifier "(" expr_arguments ")" -#line 661 "parser.ypp" + case 165: // expr_function: expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 2999 "parser.cpp" +#line 2968 "parser.cpp" break; - case 167: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 663 "parser.ypp" + case 166: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 660 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3005 "parser.cpp" +#line 2974 "parser.cpp" break; - case 168: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 665 "parser.ypp" + case 167: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 662 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3011 "parser.cpp" +#line 2980 "parser.cpp" break; - case 169: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 667 "parser.ypp" + case 168: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3017 "parser.cpp" +#line 2986 "parser.cpp" break; - case 170: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 669 "parser.ypp" + case 169: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3023 "parser.cpp" +#line 2992 "parser.cpp" break; - case 171: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 671 "parser.ypp" + case 170: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3029 "parser.cpp" +#line 2998 "parser.cpp" break; - case 172: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 676 "parser.ypp" + case 171: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 673 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3035 "parser.cpp" +#line 3004 "parser.cpp" break; - case 173: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 678 "parser.ypp" + case 172: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 675 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3041 "parser.cpp" +#line 3010 "parser.cpp" break; - case 174: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 680 "parser.ypp" + case 173: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 677 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3047 "parser.cpp" +#line 3016 "parser.cpp" break; - case 175: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 682 "parser.ypp" + case 174: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 679 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3053 "parser.cpp" +#line 3022 "parser.cpp" break; - case 176: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 687 "parser.ypp" + case 175: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 684 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3059 "parser.cpp" +#line 3028 "parser.cpp" break; - case 177: // expr_parameters: expr_parameters "," expr_identifier -#line 692 "parser.ypp" + case 176: // expr_parameters: expr_parameters "," expr_identifier +#line 689 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3065 "parser.cpp" +#line 3034 "parser.cpp" break; - case 178: // expr_parameters: expr_identifier -#line 694 "parser.ypp" + case 177: // expr_parameters: expr_identifier +#line 691 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3071 "parser.cpp" +#line 3040 "parser.cpp" break; - case 179: // expr_parameters: %empty -#line 696 "parser.ypp" + case 178: // expr_parameters: %empty +#line 693 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3077 "parser.cpp" +#line 3046 "parser.cpp" break; - case 180: // expr_arguments: expr_arguments_no_empty -#line 701 "parser.ypp" + case 179: // expr_arguments: expr_arguments_no_empty +#line 698 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3083 "parser.cpp" +#line 3052 "parser.cpp" break; - case 181: // expr_arguments: %empty -#line 703 "parser.ypp" + case 180: // expr_arguments: %empty +#line 700 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3089 "parser.cpp" +#line 3058 "parser.cpp" break; - case 182: // expr_arguments_no_empty: expr_arguments "," expr -#line 708 "parser.ypp" + case 181: // expr_arguments_no_empty: expr_arguments "," expr +#line 705 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3095 "parser.cpp" +#line 3064 "parser.cpp" break; - case 183: // expr_arguments_no_empty: expr -#line 710 "parser.ypp" + case 182: // expr_arguments_no_empty: expr +#line 707 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3101 "parser.cpp" +#line 3070 "parser.cpp" break; - case 184: // expr_reference: "::" expr_identifier -#line 715 "parser.ypp" + case 183: // expr_reference: "::" expr_identifier +#line 712 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3107 "parser.cpp" +#line 3076 "parser.cpp" break; - case 185: // expr_reference: expr_path "::" expr_identifier -#line 717 "parser.ypp" + case 184: // expr_reference: expr_path "::" expr_identifier +#line 714 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3113 "parser.cpp" +#line 3082 "parser.cpp" break; - case 186: // expr_array: expr_object "[" expr "]" -#line 722 "parser.ypp" + case 185: // expr_array: expr_object "[" expr "]" +#line 719 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3119 "parser.cpp" +#line 3088 "parser.cpp" break; - case 187: // expr_field: expr_object "." expr_identifier -#line 727 "parser.ypp" + case 186: // expr_field: expr_object "." expr_identifier +#line 724 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3125 "parser.cpp" +#line 3094 "parser.cpp" break; - case 188: // expr_field: expr_object "field" -#line 729 "parser.ypp" + case 187: // expr_field: expr_object "field" +#line 726 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3131 "parser.cpp" +#line 3100 "parser.cpp" break; - case 189: // expr_size: expr_object ".size" -#line 734 "parser.ypp" + case 188: // expr_size: expr_object ".size" +#line 731 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3137 "parser.cpp" +#line 3106 "parser.cpp" break; - case 190: // expr_paren: "(" expr ")" -#line 739 "parser.ypp" + case 189: // expr_paren: "(" expr ")" +#line 736 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3143 "parser.cpp" +#line 3112 "parser.cpp" break; - case 191: // expr_object: expr_call -#line 743 "parser.ypp" + case 190: // expr_object: expr_call +#line 740 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3149 "parser.cpp" +#line 3118 "parser.cpp" break; - case 192: // expr_object: expr_method -#line 744 "parser.ypp" + case 191: // expr_object: expr_method +#line 741 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3155 "parser.cpp" +#line 3124 "parser.cpp" break; - case 193: // expr_object: expr_array -#line 745 "parser.ypp" + case 192: // expr_object: expr_array +#line 742 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3161 "parser.cpp" +#line 3130 "parser.cpp" break; - case 194: // expr_object: expr_field -#line 746 "parser.ypp" + case 193: // expr_object: expr_field +#line 743 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3167 "parser.cpp" +#line 3136 "parser.cpp" break; - case 195: // expr_object: expr_game -#line 747 "parser.ypp" + case 194: // expr_object: expr_game +#line 744 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3173 "parser.cpp" +#line 3142 "parser.cpp" break; - case 196: // expr_object: expr_self -#line 748 "parser.ypp" + case 195: // expr_object: expr_self +#line 745 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3179 "parser.cpp" +#line 3148 "parser.cpp" break; - case 197: // expr_object: expr_anim -#line 749 "parser.ypp" + case 196: // expr_object: expr_anim +#line 746 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3185 "parser.cpp" +#line 3154 "parser.cpp" break; - case 198: // expr_object: expr_level -#line 750 "parser.ypp" + case 197: // expr_object: expr_level +#line 747 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3191 "parser.cpp" +#line 3160 "parser.cpp" break; - case 199: // expr_object: expr_identifier -#line 751 "parser.ypp" + case 198: // expr_object: expr_identifier +#line 748 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3197 "parser.cpp" +#line 3166 "parser.cpp" break; - case 200: // expr_thisthread: "thisthread" -#line 756 "parser.ypp" + case 199: // expr_thisthread: "thisthread" +#line 753 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3203 "parser.cpp" +#line 3172 "parser.cpp" break; - case 201: // expr_empty_array: "[" "]" -#line 761 "parser.ypp" + case 200: // expr_empty_array: "[" "]" +#line 758 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3209 "parser.cpp" +#line 3178 "parser.cpp" break; - case 202: // expr_undefined: "undefined" -#line 766 "parser.ypp" + case 201: // expr_undefined: "undefined" +#line 763 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3215 "parser.cpp" +#line 3184 "parser.cpp" break; - case 203: // expr_game: "game" -#line 771 "parser.ypp" + case 202: // expr_game: "game" +#line 768 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3221 "parser.cpp" +#line 3190 "parser.cpp" break; - case 204: // expr_self: "self" -#line 776 "parser.ypp" + case 203: // expr_self: "self" +#line 773 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3227 "parser.cpp" +#line 3196 "parser.cpp" break; - case 205: // expr_anim: "anim" -#line 781 "parser.ypp" + case 204: // expr_anim: "anim" +#line 778 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3233 "parser.cpp" +#line 3202 "parser.cpp" break; - case 206: // expr_level: "level" -#line 786 "parser.ypp" + case 205: // expr_level: "level" +#line 783 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3239 "parser.cpp" +#line 3208 "parser.cpp" break; - case 207: // expr_animation: "%" "identifier" -#line 791 "parser.ypp" + case 206: // expr_animation: "%" "identifier" +#line 788 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3245 "parser.cpp" +#line 3214 "parser.cpp" break; - case 208: // expr_animtree: "#animtree" -#line 796 "parser.ypp" + case 207: // expr_animtree: "#animtree" +#line 793 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3251 "parser.cpp" +#line 3220 "parser.cpp" break; - case 209: // expr_identifier: "identifier" -#line 801 "parser.ypp" + case 208: // expr_identifier: "identifier" +#line 798 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3257 "parser.cpp" +#line 3226 "parser.cpp" break; - case 210: // expr_path: "path" -#line 806 "parser.ypp" + case 209: // expr_path: "path" +#line 803 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3263 "parser.cpp" +#line 3232 "parser.cpp" break; - case 211: // expr_path: expr_identifier -#line 808 "parser.ypp" + case 210: // expr_path: expr_identifier +#line 805 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3269 "parser.cpp" +#line 3238 "parser.cpp" break; - case 212: // expr_istring: "localized string" -#line 813 "parser.ypp" + case 211: // expr_istring: "localized string" +#line 810 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3275 "parser.cpp" +#line 3244 "parser.cpp" break; - case 213: // expr_string: "string literal" -#line 818 "parser.ypp" + case 212: // expr_string: "string literal" +#line 815 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3281 "parser.cpp" +#line 3250 "parser.cpp" break; - case 214: // expr_color: "color" -#line 823 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3287 "parser.cpp" - break; - - case 215: // expr_vector: "(" expr "," expr "," expr ")" -#line 828 "parser.ypp" + case 213: // expr_vector: "(" expr "," expr "," expr ")" +#line 820 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3293 "parser.cpp" +#line 3256 "parser.cpp" break; - case 216: // expr_float: "-" "float" -#line 833 "parser.ypp" + case 214: // expr_float: "-" "float" +#line 825 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3299 "parser.cpp" +#line 3262 "parser.cpp" break; - case 217: // expr_float: "float" -#line 835 "parser.ypp" + case 215: // expr_float: "float" +#line 827 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3305 "parser.cpp" +#line 3268 "parser.cpp" break; - case 218: // expr_integer: "-" "integer" -#line 840 "parser.ypp" + case 216: // expr_integer: "-" "integer" +#line 832 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3311 "parser.cpp" +#line 3274 "parser.cpp" break; - case 219: // expr_integer: "integer" -#line 842 "parser.ypp" + case 217: // expr_integer: "integer" +#line 834 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3317 "parser.cpp" +#line 3280 "parser.cpp" break; - case 220: // expr_false: "false" -#line 847 "parser.ypp" + case 218: // expr_false: "false" +#line 839 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3323 "parser.cpp" +#line 3286 "parser.cpp" break; - case 221: // expr_true: "true" -#line 852 "parser.ypp" + case 219: // expr_true: "true" +#line 844 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3329 "parser.cpp" +#line 3292 "parser.cpp" break; -#line 3333 "parser.cpp" +#line 3296 "parser.cpp" default: break; @@ -3525,27 +3488,26 @@ namespace xsk { namespace gsc { namespace s1 { ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", - "localized string", "color", "float", "integer", "ADD_ARRAY", "THEN", - "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", - "$accept", "root", "program", "inline", "include", "declaration", - "decl_usingtree", "decl_constant", "decl_thread", "stmt", "stmt_or_dev", - "stmt_list", "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", - "stmt_call", "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", - "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", - "stmt_waitframe", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", - "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", - "stmt_break", "stmt_continue", "stmt_return", "stmt_breakpoint", - "stmt_prof_begin", "stmt_prof_end", "expr", "expr_or_empty", - "expr_assign", "expr_increment", "expr_decrement", "expr_ternary", - "expr_binary", "expr_primitive", "expr_complement", "expr_not", - "expr_call", "expr_method", "expr_function", "expr_pointer", - "expr_add_array", "expr_parameters", "expr_arguments", - "expr_arguments_no_empty", "expr_reference", "expr_array", "expr_field", - "expr_size", "expr_paren", "expr_object", "expr_thisthread", - "expr_empty_array", "expr_undefined", "expr_game", "expr_self", - "expr_anim", "expr_level", "expr_animation", "expr_animtree", - "expr_identifier", "expr_path", "expr_istring", "expr_string", - "expr_color", "expr_vector", "expr_float", "expr_integer", "expr_false", + "localized string", "float", "integer", "ADD_ARRAY", "THEN", "TERN", + "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", + "root", "program", "inline", "include", "declaration", "decl_usingtree", + "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", + "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", + "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", + "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", + "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", + "stmt_continue", "stmt_return", "stmt_breakpoint", "stmt_prof_begin", + "stmt_prof_end", "expr", "expr_or_empty", "expr_assign", + "expr_increment", "expr_decrement", "expr_ternary", "expr_binary", + "expr_primitive", "expr_complement", "expr_not", "expr_call", + "expr_method", "expr_function", "expr_pointer", "expr_add_array", + "expr_parameters", "expr_arguments", "expr_arguments_no_empty", + "expr_reference", "expr_array", "expr_field", "expr_size", "expr_paren", + "expr_object", "expr_thisthread", "expr_empty_array", "expr_undefined", + "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", + "expr_animtree", "expr_identifier", "expr_path", "expr_istring", + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; @@ -3811,517 +3773,513 @@ namespace xsk { namespace gsc { namespace s1 { } - const short parser::yypact_ninf_ = -270; + const short parser::yypact_ninf_ = -267; - const short parser::yytable_ninf_ = -212; + const short parser::yytable_ninf_ = -211; const short parser::yypact_[] = { - 3, -270, -270, -42, -42, -16, -270, 43, 3, -270, - -270, -270, -270, -270, -270, -25, -270, -270, 1, 7, - -50, -270, -270, -270, -270, -28, 934, -270, -270, -270, - 24, -14, -270, -270, -37, -33, -270, 59, -270, -270, - -270, -270, -270, -270, -270, 934, 627, -28, 934, 934, - 37, -11, -270, -270, -270, -270, 2024, -270, -270, -270, - -270, -270, 69, 293, -270, -270, -270, -270, 433, 532, - -270, -270, 542, -270, -270, -270, 665, 692, 965, 1179, - -270, -270, 8, 41, -270, -270, -270, -270, -270, -270, - -270, -270, 49, 73, -28, 62, 82, 78, 88, 95, - 89, 96, 1310, 627, -270, 2107, 98, 106, -270, -270, - -270, -270, -270, -270, -270, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, -270, 999, -28, -270, -270, -270, - 112, 114, 934, -28, -270, 791, -270, -270, 934, 934, - -28, 934, 934, -28, 934, -270, 934, 1754, 934, -270, - 1989, 65, 65, 2138, 2148, 860, 860, 152, 152, 152, - 152, 2179, 1013, 2189, 75, 75, -270, -270, -270, 1794, - -270, -28, 17, -270, 120, 1092, 934, 113, -10, 124, - 1268, 131, 134, 137, 140, -7, 141, 133, 136, 869, - 139, 155, 156, -270, 148, 33, 33, -270, -270, 843, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, 151, 159, 161, 162, - 165, -270, -270, 1187, -270, -270, -270, -270, -32, 1834, - 32, 158, 1874, 34, 176, 1914, 1953, 157, 2107, 934, - -270, 120, -270, 934, -270, -270, 1146, 2059, -270, 164, - -270, 934, 202, 934, -19, -28, 934, 128, 172, 173, - -270, -270, -270, -270, 2094, -270, 934, 934, 934, -270, - -270, 592, 592, -270, -270, -270, -270, -270, -270, -270, - 184, 185, 188, 189, -270, -270, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 193, -270, 934, - 194, -270, 934, 195, 934, 201, 2107, 38, -270, -270, - -270, 180, 1476, 203, 1510, 196, -270, -270, -270, 1272, - -4, 1544, -270, -270, -270, 42, 45, 1754, 934, 934, - 934, 934, 2107, 2107, 2107, 2107, 2107, 2107, 2107, 2107, - 2107, 2107, 2107, 204, 55, 205, 64, 207, 1578, 934, - -270, -270, 1268, 934, 1268, 934, 934, -28, 73, 208, - 209, 1612, 1354, 1398, 1442, 934, -270, 934, -270, 934, - -270, 68, 238, 1646, -270, 2107, 215, 1680, 235, -270, - -270, -270, 217, 219, 934, 220, 934, 221, 934, 71, - 77, 84, -270, 1268, 227, -19, 1268, 934, -270, -270, - 214, -270, 216, -270, 237, -270, -270, -270, -270, -270, - 241, -270, 1714, 233, 234, 239, 1268, 1268, -270, -270, - -270, -270, -270 + 4, -267, -267, -69, -69, -28, -267, 26, 4, -267, + -267, -267, -267, -267, -267, -40, -267, -267, -16, -3, + 5, -267, -267, -267, -267, -27, 1039, -267, -267, -267, + 23, -26, -267, -267, -36, -34, -267, 42, -267, -267, + -267, -267, -267, -267, -267, 1039, 625, -27, 1039, 1039, + -24, 14, -267, -267, -267, 2008, -267, -267, -267, -267, + -267, 291, 431, -267, -267, -267, -267, 592, 663, -267, + -267, 1003, -267, -267, -267, 1013, 1077, 1244, 1252, -267, + -267, 67, 44, -267, -267, -267, -267, -267, -267, -267, + 50, 68, -27, 60, 80, 76, 89, 90, 78, 94, + 1294, 625, -267, 2091, 88, 95, -267, -267, -267, -267, + -267, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, -267, 1103, -27, -267, -267, -267, 104, 101, + 1039, -27, -267, 789, -267, -267, 1039, 1039, -27, 1039, + 1039, -27, 1039, -267, 1039, 1738, 1039, -267, 1973, 126, + 126, 1243, 2122, 2204, 2204, 415, 415, 415, 415, 2132, + 2173, 2163, 63, 63, -267, -267, -267, 1778, -267, -27, + -5, -267, 110, 895, 1039, 105, -2, 116, 1232, 117, + 118, 120, 121, -49, 113, 122, 123, 975, 125, 138, + 141, -267, 140, 548, 548, -267, -267, 841, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, 137, 143, 144, 146, 149, -267, + -267, 1151, -267, -267, -267, -267, -29, 1818, 15, 148, + 1858, 16, 150, 1898, 1937, 155, 2091, 1039, -267, 110, + -267, 1039, -267, -267, 949, 2043, -267, 161, -267, 1039, + 198, 1039, 690, -27, 1039, 124, 165, 167, -267, -267, + -267, -267, 2078, -267, 1039, 1039, 1039, -267, -267, -4, + -4, -267, -267, -267, -267, -267, -267, -267, 180, 181, + 182, 184, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 174, -267, 1039, 183, -267, + 1039, 185, 1039, 191, 2091, 17, -267, -267, -267, 175, + 1460, 192, 1494, 186, -267, -267, -267, 2, -9, 1528, + -267, -267, -267, 38, 53, 1738, 1039, 1039, 1039, 1039, + 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, + 2091, 193, 62, 194, 71, 197, 1562, 1039, -267, -267, + 1232, 1039, 1232, 1039, 1039, -27, 68, 188, 189, 1596, + 1338, 1382, 1426, 1039, -267, 1039, -267, 1039, -267, 72, + 228, 1630, -267, 2091, 195, 1664, 224, -267, -267, -267, + 199, 200, 1039, 201, 1039, 203, 1039, 75, 82, 86, + -267, 1232, 205, 690, 1232, 1039, -267, -267, 202, -267, + 215, -267, 216, -267, -267, -267, -267, -267, 222, -267, + 1698, 214, 219, 220, 1232, 1232, -267, -267, -267, -267, + -267 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 209, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 210, 211, 0, 0, - 0, 1, 4, 5, 6, 179, 0, 10, 11, 213, - 0, 0, 178, 208, 0, 0, 200, 0, 221, 220, - 202, 203, 204, 205, 206, 0, 181, 0, 0, 0, - 0, 0, 212, 214, 217, 219, 0, 93, 94, 95, - 132, 133, 134, 135, 162, 163, 136, 137, 138, 139, - 140, 141, 0, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 157, - 158, 159, 0, 0, 0, 0, 211, 0, 0, 211, - 0, 0, 0, 181, 201, 183, 0, 180, 184, 161, - 160, 216, 218, 207, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 208, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 209, 210, 0, 0, + 0, 1, 4, 5, 6, 178, 0, 10, 11, 212, + 0, 0, 177, 207, 0, 0, 199, 0, 219, 218, + 201, 202, 203, 204, 205, 0, 180, 0, 0, 0, + 0, 0, 211, 215, 217, 0, 93, 94, 95, 132, + 133, 134, 135, 161, 162, 136, 137, 138, 139, 140, + 141, 0, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 157, 158, + 0, 0, 0, 0, 210, 0, 0, 210, 0, 0, + 0, 180, 200, 182, 0, 179, 183, 160, 159, 214, + 216, 206, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 188, 164, 165, - 211, 0, 181, 0, 17, 0, 19, 177, 0, 181, - 0, 0, 181, 0, 0, 190, 0, 183, 0, 176, - 0, 125, 126, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 127, 128, 129, 130, 131, 0, - 187, 0, 0, 180, 185, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 187, 163, 164, 210, 0, + 180, 0, 17, 0, 19, 176, 0, 180, 0, 0, + 180, 0, 0, 189, 0, 182, 0, 175, 0, 125, + 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 127, 128, 129, 130, 131, 0, 186, 0, + 0, 179, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 45, 50, 0, - 46, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 0, 0, 0, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 186, 0, 166, 181, 52, 48, 0, 0, 72, 0, - 73, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 85, 86, 87, 89, 0, 90, 181, 181, 0, 191, - 192, 109, 111, 53, 49, 61, 62, 63, 59, 60, - 0, 0, 0, 0, 110, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, 181, - 0, 170, 181, 0, 0, 0, 113, 0, 51, 47, - 67, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 84, 83, 88, 0, 0, 0, 0, 0, - 0, 0, 98, 104, 105, 106, 107, 108, 99, 100, - 101, 103, 102, 0, 0, 0, 0, 0, 0, 181, - 167, 74, 0, 0, 0, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 181, 169, 181, 171, 181, - 215, 0, 75, 0, 77, 96, 0, 0, 0, 82, - 91, 92, 0, 0, 181, 0, 181, 0, 181, 0, - 0, 0, 172, 0, 0, 58, 0, 0, 64, 66, - 180, 69, 180, 71, 180, 173, 174, 175, 76, 78, - 0, 80, 0, 0, 0, 0, 0, 0, 65, 68, - 70, 79, 81 + 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 0, 0, 0, 190, 191, 192, + 193, 0, 194, 195, 196, 197, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 0, 185, 0, + 165, 180, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 180, 180, 0, 190, 191, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 167, 180, 0, 169, + 180, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 180, 166, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 168, 180, 170, 180, 213, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 180, 0, 180, 0, 180, 0, 0, 0, + 171, 0, 0, 58, 0, 0, 64, 66, 179, 69, + 179, 71, 179, 172, 173, 174, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -270, -270, -270, 294, 295, 296, -270, -270, -270, -152, - 117, -270, -270, -270, -91, -87, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - 190, -270, -269, -267, -261, -270, -270, -270, -270, -270, - -86, -12, -66, -61, -270, -270, 13, -45, -270, -6, - 179, -270, -270, 249, -270, -270, -270, 282, 337, 362, - 372, -270, -270, 0, 6, -270, -8, -270, -270, -270, - 142, -270, -270 + -267, -267, -267, 275, 277, 280, -267, -267, -267, -155, + 85, -267, -267, -267, -89, -120, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + 190, -267, -266, -259, -258, -267, -267, -267, -267, -267, + -86, -12, -66, -60, -267, -267, 13, -45, -267, -6, + 179, -267, -267, 249, -267, -267, -267, 282, 337, 362, + 372, -267, -267, 0, 6, -267, -13, -267, -267, 106, + -267, -267 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 207, - 208, 266, 209, 210, 211, 335, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 105, 396, 236, 237, 238, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 31, 106, 183, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 205, + 206, 264, 207, 208, 209, 333, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 103, 394, 234, 235, 236, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 31, 104, 181, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 336, 138, 337, 15, 18, - 19, 139, 30, 338, 1, 2, 3, 4, 5, 95, - 142, 34, 35, 98, 37, 32, 376, 25, -211, 41, - 42, 43, 44, 265, 96, 99, 20, 204, 272, 93, - 97, 100, 269, 21, 94, 205, 206, 108, -199, -199, - 29, -199, 270, 26, 377, -199, 16, 6, 107, 239, - 142, 16, 6, 27, -199, 16, 6, -199, -211, 28, - 262, 6, 140, 34, 35, 158, 37, 92, 141, 16, - 6, 41, 42, 43, 44, 318, 277, 321, 113, 204, - 158, 370, 158, 29, 147, 379, 158, 55, 380, 239, - 158, 143, 6, 158, 239, -199, -199, -199, 386, -191, - -191, 144, -191, 158, 329, 101, -191, 388, 148, 289, - 289, 412, 158, 239, 425, -191, 158, 145, -191, 158, - 426, 16, 6, 240, 149, 158, 180, 427, 150, 241, - 111, 112, 158, 184, 151, 248, 336, 152, 337, 153, - 251, 141, 154, 254, 338, 182, 158, 129, 130, 131, - 132, 133, 250, 159, 142, 253, -191, -191, -191, 131, - 132, 133, 263, 240, 181, 268, 271, 138, 240, 241, - 239, 261, 139, 273, 241, 248, 274, 278, 289, 275, - 248, 141, 276, 290, 290, 281, 141, 240, 282, 241, - 241, 285, 280, 241, 288, 248, 248, 286, 287, 248, - 319, 141, 141, 295, 325, 141, 56, 331, 116, 117, - 392, 296, 394, 297, 298, 138, 138, 299, 322, 333, - 139, 139, 112, 342, 343, 102, 348, 349, 109, 110, - 350, 351, 371, 140, 129, 130, 131, 132, 133, 141, - 363, 365, 367, 369, 240, 373, 385, 387, 375, 389, - 241, 428, 290, 413, 431, 417, 248, 433, 241, 434, - 400, 401, 141, 138, 248, 340, 327, 415, 139, 418, - 141, 419, 421, 423, 441, 442, 239, 399, 239, 429, - 435, 140, 140, 157, 436, 438, 439, 141, 141, 345, - 346, 440, 22, 23, 24, 160, 161, 162, 163, 164, + 15, 105, 144, 17, 17, 136, 334, 30, 15, 18, + 19, 137, 25, 335, 336, 1, 2, 3, 4, 5, + 93, 374, 96, 140, 20, 32, 21, 91, 263, 16, + 6, -210, 92, 270, 94, 97, 34, 35, 26, 37, + 95, 98, 34, 35, 275, 37, 27, 106, 260, 375, + 267, 29, 133, 156, 54, 134, 105, 237, 133, 28, + 268, 134, 16, 6, 16, 6, 302, 303, 316, 319, + 368, 138, 6, 156, 156, 156, 90, 139, 109, 110, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 377, 145, 135, 16, 6, 156, 237, 99, 135, + 16, 6, 237, 6, 141, 29, 378, -198, -198, 327, + -198, 156, 142, 111, -198, 384, 146, 287, 287, 140, + 156, 237, 143, -198, 386, 410, -198, -210, 423, 156, + 156, 238, 147, 156, 178, 424, 148, 239, 151, 425, + 156, 182, 150, 246, 156, 149, 156, 334, 249, 139, + 152, 252, 157, 180, 335, 336, 140, 129, 130, 131, + 248, 179, 261, 251, -198, -198, -198, 266, 269, 271, + 272, 238, 273, 274, 278, 136, 238, 239, 237, 259, + 276, 137, 239, 246, 279, 280, 287, 283, 246, 139, + 284, 288, 288, 285, 139, 238, 286, 239, 239, 293, + 317, 239, 320, 246, 246, 294, 295, 246, 296, 139, + 139, 297, 323, 139, 329, 390, 55, 392, 127, 128, + 129, 130, 131, 136, 136, 331, 340, 110, 341, 137, + 137, 361, 346, 347, 348, 100, 349, 369, 107, 108, + 363, 138, 365, 367, 371, 383, 385, 139, 373, 387, + 398, 399, 238, 411, 415, 431, 426, 413, 239, 429, + 288, 416, 417, 419, 246, 421, 239, 427, 432, 433, + 139, 136, 246, 338, 325, 434, 436, 137, 139, 439, + 440, 437, 438, 22, 237, 23, 237, 397, 24, 138, + 138, 155, 292, 428, 0, 139, 139, 343, 344, 277, + 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 242, 179, 294, 239, 430, 289, - 239, 0, 364, -192, -192, 366, -192, 279, 249, 140, - -192, 252, 0, 0, 255, 141, 256, 0, 258, -192, - 239, 239, -192, 0, 0, 0, 0, 0, 0, 420, - 240, 422, 240, 424, 242, 0, 241, 0, 241, 242, - 0, 0, 248, 0, 248, 0, 267, 398, 141, 0, - 141, 0, 391, 0, 242, 242, 0, 0, 242, 284, - -192, -192, -192, 0, 243, 0, 0, 0, 409, 0, - 410, 240, 411, 290, 240, 0, 0, 241, 0, 241, - 241, 0, 0, 248, 0, 248, 248, 0, 0, 141, - 0, 141, 141, 0, 240, 240, 0, 244, 0, 0, - 241, 241, 0, 0, 243, 0, 248, 248, 0, 243, - 0, 0, 141, 141, 0, 242, 0, 0, 0, 326, - 0, 0, 0, 242, 291, 292, 0, 0, 243, 0, - 0, 332, 0, 334, 0, 0, 341, 244, 0, 0, - 0, 0, 244, -193, -193, 0, -193, 0, 347, 0, - -193, 0, 245, 0, 0, 0, 0, 244, 244, -193, - 0, 244, -193, 0, 0, 0, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 246, 0, 0, - 0, 0, 0, 0, 368, 243, 0, 247, 0, 0, - 0, 0, 245, 339, 0, 0, 0, 245, 0, 0, - -193, -193, -193, 0, 0, 0, 0, 0, 381, 382, - 383, 384, 245, 245, 0, 0, 245, 246, 244, 0, - 0, 242, 246, 242, 0, 0, 244, 247, 0, 0, - 0, 0, 247, 393, 0, 395, 397, 246, 246, 0, - 0, 246, -194, -194, 0, -194, 0, 247, 247, -194, - 0, 247, 34, 35, 0, 37, 0, 0, -194, 134, - 0, -194, 242, 0, 242, 242, 0, 0, 135, 0, - 0, 136, 0, 245, 0, 0, 0, 432, 0, 0, - 0, 245, 0, 0, 0, 242, 242, 0, 0, 0, - 0, 243, 0, 243, 0, 0, 0, 0, 246, -194, - -194, -194, 34, 35, 0, 37, 246, 0, 247, 137, - 16, 6, 0, 33, 0, 0, 247, 0, 135, 0, - 0, 136, 0, 0, 244, 0, 244, 0, 0, 0, - 0, 0, 243, 0, 339, 243, 0, 34, 35, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, - 0, 0, 0, 103, 104, 243, 243, 47, 0, 137, - 16, 6, 0, 0, 0, 244, 0, 244, 244, 0, - 0, 0, 0, 48, 49, -195, -195, 0, -195, 245, - 0, 245, -195, 0, 0, 0, 0, 0, 244, 244, - 50, -195, 0, 51, -195, 16, 6, 29, 52, 53, - 54, 55, -196, -196, 246, -196, 246, 0, 0, -196, - 0, 0, 0, 0, 247, 0, 247, 0, -196, 0, - 245, -196, 245, 245, 0, 0, 0, 0, 0, 0, - 0, 0, -195, -195, -195, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 245, 246, 0, 246, 246, 0, - 0, 0, 0, 0, 0, 247, 0, 247, 247, -196, - -196, -196, 0, 0, 0, 0, 0, 0, 246, 246, - 0, 0, 185, 0, 0, 0, 0, 0, 247, 247, - 186, 0, 0, 187, 188, 189, 0, 190, 191, 192, - 193, 0, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 34, 35, 0, 37, 0, 0, 0, 0, 41, - 42, 43, 44, 0, 0, 145, 203, 204, 0, 0, - 0, 0, 0, 0, 185, 205, 206, 0, 0, 0, - 0, 0, 186, 0, 0, 187, 188, 189, 0, 190, - 191, 192, 193, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 34, 35, 33, 37, 0, 0, 16, - 6, 41, 42, 43, 44, 0, 0, 145, 293, 204, - 0, 0, 0, 0, 0, 0, 0, 205, 206, 34, + 175, 176, 240, 177, 0, 237, 0, 287, 237, 0, + 362, -190, -190, 364, -190, 0, 247, 138, -190, 250, + 0, 0, 253, 139, 254, 0, 256, -190, 237, 237, + -190, 0, 0, 0, 0, 0, 0, 418, 238, 420, + 238, 422, 240, 0, 239, 0, 239, 240, 0, 0, + 246, 0, 246, 0, 265, 396, 139, 0, 139, 0, + 389, 0, 240, 240, 0, 0, 240, 282, -190, -190, + -190, 0, 241, 0, 0, 0, 407, 0, 408, 238, + 409, 288, 238, 0, 0, 239, 0, 239, 239, 0, + 0, 246, 0, 246, 246, 0, 0, 139, 0, 139, + 139, 0, 238, 238, 0, 242, 0, 0, 239, 239, + 0, 0, 241, 0, 246, 246, 0, 241, 0, 0, + 139, 139, 0, 240, 0, 0, 0, 324, 0, 0, + 0, 240, 289, 290, 0, 0, 241, 0, 0, 330, + 0, 332, 0, 0, 339, 242, 0, 0, 0, 0, + 242, -191, -191, 0, -191, 0, 345, 0, -191, 0, + 243, 114, 115, 0, 0, 242, 242, -191, 0, 242, + -191, 0, 0, 0, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 244, 0, 127, 128, 129, + 130, 131, 366, 241, 0, 245, 0, 0, 0, 0, + 243, 337, 0, 0, 0, 243, 0, 0, -191, -191, + -191, 0, 0, 0, 0, 0, 379, 380, 381, 382, + 243, 243, 0, 0, 243, 244, 242, 0, 0, 240, + 244, 240, 0, 0, 242, 245, 0, 0, 0, 0, + 245, 391, 0, 393, 395, 244, 244, 0, 0, 244, + 0, 0, 0, 0, 0, 245, 245, 0, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 240, 37, 240, 240, 0, 0, 41, 42, 43, 44, + 0, 243, 0, 0, 202, 430, 0, 0, 0, 243, + 0, 0, 0, 240, 240, 0, 0, 0, 0, 241, + 0, 241, 0, 0, 0, 0, 244, 0, 0, 0, + 0, 0, -192, -192, 244, -192, 245, 0, 0, -192, + 0, 33, 0, 0, 245, 0, 16, 6, -192, 0, + 0, -192, 242, 0, 242, 0, 0, 0, 0, 0, + 241, 0, 337, 241, 0, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 101, 102, 241, 241, 47, 0, 0, 0, -192, + -192, -192, 0, 242, 0, 242, 242, 0, 0, 0, + 0, 48, 49, -193, -193, 0, -193, 243, 0, 243, + -193, 0, 0, 0, 0, 0, 242, 242, 50, -193, + 0, 51, -193, 16, 6, 29, 52, 53, 54, 0, + 34, 35, 244, 37, 244, 0, 0, 0, 41, 42, + 43, 44, 245, 0, 245, 0, 202, 0, 243, 0, + 243, 243, 0, 0, 203, 204, 0, 0, 0, 0, + -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 243, 244, 0, 244, 244, 0, 0, 0, + 0, 0, 0, 245, 0, 245, 245, 0, 16, 6, + 0, 0, 0, 0, 0, 0, 244, 244, 0, 0, + 183, 0, 0, 0, 0, 0, 245, 245, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 0, 37, 0, 0, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 201, 202, 0, 0, 0, 0, + 0, 0, 183, 203, 204, 0, 0, 0, 0, 0, + 184, 0, 0, 185, 186, 187, 0, 188, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 34, 35, 0, 37, 0, 0, 16, 6, 41, + 42, 43, 44, 0, 0, 143, 291, 202, 0, 0, + 0, 0, 0, 0, 0, 203, 204, 262, 0, 0, + 0, 0, 0, 0, 184, 0, 0, 185, 186, 187, + 0, 188, 189, 190, 191, 0, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 34, 35, 0, 37, 16, + 6, 0, 0, 41, 42, 43, 44, 0, 0, 143, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 203, + 204, 326, 0, 0, 0, 0, 0, 0, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 33, 37, 16, 6, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 46, 0, 0, 0, 47, 0, 281, 0, 0, + 0, 0, 0, 34, 35, 0, 37, 16, 6, 0, + 132, 48, 49, -194, -194, 33, -194, 0, 0, 133, + -194, 0, 134, 0, 0, 0, 0, 0, 50, -194, + 0, 51, -194, 16, 6, 29, 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 46, 116, 117, 0, 47, - 0, 283, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 16, 6, 0, 0, 48, 49, 0, 0, 0, - 33, 0, 129, 130, 131, 132, 133, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 34, 35, 36, 37, 38, 39, - 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, - 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -197, -197, 0, -197, 0, - 48, 49, -197, 0, 0, 33, 0, 0, 0, 0, - 0, -197, 0, 0, -197, 0, 0, 50, 0, 0, - 51, 0, 16, 6, 29, 52, 53, 54, 55, 34, - 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, - 44, 45, 0, 0, 0, 103, 0, 0, 0, 47, - 0, 0, -197, -197, -197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 116, - 117, 0, 0, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 50, 0, 0, 51, 0, 16, 6, 29, - 52, 53, 54, 55, 264, 129, 130, 131, 132, 133, - 0, 186, 0, 0, 187, 188, 189, 0, 190, 191, - 192, 193, 0, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 34, 35, 0, 37, 0, 0, 0, 0, - 41, 42, 43, 44, 0, 0, 145, 0, 204, 0, - 0, 0, 0, 0, 0, 0, 205, 206, 328, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 187, 188, - 189, 0, 190, 191, 192, 193, 0, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 34, 35, 0, 37, - 16, 6, 0, 0, 41, 42, 43, 44, 0, 0, - 145, 0, 204, 0, 300, 301, 0, 302, 303, 0, - 205, 206, 0, 0, 0, 0, 0, 0, 0, -198, - -198, 0, -198, 0, 0, 0, -198, 34, 35, 0, - 37, 0, 0, 0, 0, -198, 0, 0, -198, 0, - 0, 0, 0, 135, 16, 6, 136, 0, 0, 0, - 0, 304, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -198, -198, -198, 0, - 0, 0, 0, 0, 137, 16, 6, 186, 0, 0, - 187, 188, 189, 0, 190, 191, 192, 193, 0, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 34, 35, - 0, 37, 34, 35, 0, 37, 41, 42, 43, 44, - 0, 0, 145, 0, 204, 0, 0, 0, 135, 0, - 0, 136, 205, 206, 0, 0, 304, 305, 0, 0, + 44, 45, 0, 0, 0, 46, 0, 0, 0, 47, + 135, 16, 6, 0, 0, 0, 0, 0, 0, 0, + -194, -194, -194, 0, 0, 48, 49, -195, -195, 33, + -195, 0, 0, 0, -195, 0, 0, 0, 0, 0, + 0, 0, 50, -195, 0, 51, -195, 16, 6, 29, + 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 44, 45, 0, 0, 0, 101, + 0, 0, 0, 47, 0, 0, 0, 0, 298, 299, + 0, 300, 301, 0, -195, -195, -195, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 0, 37, 0, 50, 0, 0, 51, + 0, 16, 6, 29, 52, 53, 54, 133, 0, 0, + 134, 0, 0, 0, 0, 302, 303, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 16, + 6, 184, 0, 0, 185, 186, 187, 0, 188, 189, + 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, -196, -196, 143, -196, 202, 0, + 0, -196, -197, -197, 0, -197, 203, 204, 0, -197, + -196, 0, 0, -196, 0, 0, 0, 0, -197, 114, + 115, -197, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 0, 0, 155, 0, 0, 16, 6, 156, 137, - 16, 6, 0, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 403, 0, 0, - 0, 0, 404, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 16, 6, 124, 125, 126, 127, 128, 129, 130, 131, + 0, -196, -196, -196, 0, 0, 0, 153, 0, -197, + -197, -197, 154, 0, 0, 0, 0, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 405, 0, 0, 0, 0, 406, 0, 0, 0, - 0, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 407, 0, 0, 0, 0, - 408, 0, 0, 0, 0, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 374, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 378, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 401, 0, 0, 0, 0, 402, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 403, 0, 0, 0, 0, + 404, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 390, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 402, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 115, - 0, 0, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 416, 0, 126, 127, 128, 129, 130, - 131, 132, 133, 115, 0, 0, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 437, 0, 126, - 127, 128, 129, 130, 131, 132, 133, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 405, + 0, 0, 0, 0, 406, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 370, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 372, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 257, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 376, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 388, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 412, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 414, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 260, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 435, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 255, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 258, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 315, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 318, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 321, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 322, 0, 0, 0, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 257, 0, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 317, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 112, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 328, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 320, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 342, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 0, 0, 0, 0, 0, + 124, 125, 126, 127, 128, 129, 130, 131, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 125, 126, 127, 128, 129, 130, 131, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 125, 0, 127, 128, 129, 130, 131, + 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 114, 115, 0, 0, 0, 0, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 323, 0, 0, 0, 0, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 324, 0, 0, 0, 0, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 259, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 114, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 330, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 344, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 116, 117, 0, 119, 120, 121, - 122, 123, 124, 125, 116, 117, 0, 0, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 116, 117, 0, 0, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 0, 0, 0, 127, - 0, 129, 130, 131, 132, 133 + 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, + 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 274, 72, 274, 8, 3, - 4, 72, 20, 274, 11, 12, 13, 14, 15, 56, - 52, 40, 41, 56, 43, 25, 30, 52, 60, 48, - 49, 50, 51, 185, 34, 35, 52, 56, 190, 53, - 34, 35, 52, 0, 58, 64, 65, 47, 40, 41, - 100, 43, 62, 78, 58, 47, 98, 99, 103, 145, - 52, 98, 99, 62, 56, 98, 99, 59, 60, 62, - 53, 99, 72, 40, 41, 58, 43, 53, 72, 98, - 99, 48, 49, 50, 51, 53, 93, 53, 99, 56, - 58, 53, 58, 100, 94, 53, 58, 104, 53, 185, - 58, 60, 99, 58, 190, 97, 98, 99, 53, 40, - 41, 62, 43, 58, 266, 56, 47, 53, 56, 205, - 206, 53, 58, 209, 53, 56, 58, 54, 59, 58, - 53, 98, 99, 145, 52, 58, 136, 53, 60, 145, - 103, 104, 58, 143, 56, 145, 415, 52, 415, 60, - 150, 145, 56, 153, 415, 142, 58, 92, 93, 94, - 95, 96, 149, 57, 52, 152, 97, 98, 99, 94, - 95, 96, 52, 185, 60, 62, 52, 243, 190, 185, - 266, 181, 243, 52, 190, 185, 52, 195, 274, 52, - 190, 185, 52, 205, 206, 62, 190, 209, 62, 205, - 206, 62, 61, 209, 56, 205, 206, 52, 52, 209, - 52, 205, 206, 62, 57, 209, 26, 53, 66, 67, - 372, 62, 374, 62, 62, 291, 292, 62, 52, 27, - 291, 292, 104, 61, 61, 45, 52, 52, 48, 49, - 52, 52, 62, 243, 92, 93, 94, 95, 96, 243, - 57, 57, 57, 52, 266, 52, 52, 52, 62, 52, - 266, 413, 274, 25, 416, 30, 266, 53, 274, 53, - 62, 62, 266, 339, 274, 275, 263, 62, 339, 62, - 274, 62, 62, 62, 436, 437, 372, 378, 374, 62, - 53, 291, 292, 103, 53, 62, 62, 291, 292, 286, - 287, 62, 8, 8, 8, 115, 116, 117, 118, 119, + 0, 46, 91, 3, 4, 71, 272, 20, 8, 3, + 4, 71, 52, 272, 272, 11, 12, 13, 14, 15, + 56, 30, 56, 52, 52, 25, 0, 53, 183, 98, + 99, 60, 58, 188, 34, 35, 40, 41, 78, 43, + 34, 35, 40, 41, 93, 43, 62, 47, 53, 58, + 52, 100, 56, 58, 103, 59, 101, 143, 56, 62, + 62, 59, 98, 99, 98, 99, 64, 65, 53, 53, + 53, 71, 99, 58, 58, 58, 53, 71, 102, 103, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 53, 92, 97, 98, 99, 58, 183, 56, 97, + 98, 99, 188, 99, 60, 100, 53, 40, 41, 264, + 43, 58, 62, 99, 47, 53, 56, 203, 204, 52, + 58, 207, 54, 56, 53, 53, 59, 60, 53, 58, + 58, 143, 52, 58, 134, 53, 60, 143, 60, 53, + 58, 141, 52, 143, 58, 56, 58, 413, 148, 143, + 56, 151, 57, 140, 413, 413, 52, 94, 95, 96, + 147, 60, 52, 150, 97, 98, 99, 62, 52, 52, + 52, 183, 52, 52, 61, 241, 188, 183, 264, 179, + 193, 241, 188, 183, 62, 62, 272, 62, 188, 183, + 52, 203, 204, 52, 188, 207, 56, 203, 204, 62, + 52, 207, 52, 203, 204, 62, 62, 207, 62, 203, + 204, 62, 57, 207, 53, 370, 26, 372, 92, 93, + 94, 95, 96, 289, 290, 27, 61, 103, 61, 289, + 290, 57, 52, 52, 52, 45, 52, 62, 48, 49, + 57, 241, 57, 52, 52, 52, 52, 241, 62, 52, + 62, 62, 264, 25, 30, 53, 411, 62, 264, 414, + 272, 62, 62, 62, 264, 62, 272, 62, 53, 53, + 264, 337, 272, 273, 261, 53, 62, 337, 272, 434, + 435, 62, 62, 8, 370, 8, 372, 376, 8, 289, + 290, 101, 207, 413, -1, 289, 290, 284, 285, 193, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 145, 135, 209, 413, 415, 415, - 416, -1, 319, 40, 41, 322, 43, 195, 148, 339, - 47, 151, -1, -1, 154, 339, 156, -1, 158, 56, - 436, 437, 59, -1, -1, -1, -1, -1, -1, 404, - 372, 406, 374, 408, 185, -1, 372, -1, 374, 190, - -1, -1, 372, -1, 374, -1, 186, 377, 372, -1, - 374, -1, 369, -1, 205, 206, -1, -1, 209, 199, - 97, 98, 99, -1, 145, -1, -1, -1, 385, -1, - 387, 413, 389, 415, 416, -1, -1, 413, -1, 415, - 416, -1, -1, 413, -1, 415, 416, -1, -1, 413, - -1, 415, 416, -1, 436, 437, -1, 145, -1, -1, - 436, 437, -1, -1, 185, -1, 436, 437, -1, 190, - -1, -1, 436, 437, -1, 266, -1, -1, -1, 259, - -1, -1, -1, 274, 205, 206, -1, -1, 209, -1, - -1, 271, -1, 273, -1, -1, 276, 185, -1, -1, - -1, -1, 190, 40, 41, -1, 43, -1, 288, -1, - 47, -1, 145, -1, -1, -1, -1, 205, 206, 56, - -1, 209, 59, -1, -1, -1, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 145, -1, -1, - -1, -1, -1, -1, 324, 266, -1, 145, -1, -1, - -1, -1, 185, 274, -1, -1, -1, 190, -1, -1, - 97, 98, 99, -1, -1, -1, -1, -1, 348, 349, - 350, 351, 205, 206, -1, -1, 209, 185, 266, -1, - -1, 372, 190, 374, -1, -1, 274, 185, -1, -1, - -1, -1, 190, 373, -1, 375, 376, 205, 206, -1, - -1, 209, 40, 41, -1, 43, -1, 205, 206, 47, - -1, 209, 40, 41, -1, 43, -1, -1, 56, 47, - -1, 59, 413, -1, 415, 416, -1, -1, 56, -1, - -1, 59, -1, 266, -1, -1, -1, 417, -1, -1, - -1, 274, -1, -1, -1, 436, 437, -1, -1, -1, - -1, 372, -1, 374, -1, -1, -1, -1, 266, 97, - 98, 99, 40, 41, -1, 43, 274, -1, 266, 97, - 98, 99, -1, 16, -1, -1, 274, -1, 56, -1, - -1, 59, -1, -1, 372, -1, 374, -1, -1, -1, - -1, -1, 413, -1, 415, 416, -1, 40, 41, 42, - 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, - -1, -1, -1, 56, 57, 436, 437, 60, -1, 97, - 98, 99, -1, -1, -1, 413, -1, 415, 416, -1, - -1, -1, -1, 76, 77, 40, 41, -1, 43, 372, - -1, 374, 47, -1, -1, -1, -1, -1, 436, 437, - 93, 56, -1, 96, 59, 98, 99, 100, 101, 102, - 103, 104, 40, 41, 372, 43, 374, -1, -1, 47, - -1, -1, -1, -1, 372, -1, 374, -1, 56, -1, - 413, 59, 415, 416, -1, -1, -1, -1, -1, -1, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, 436, 437, 413, -1, 415, 416, -1, - -1, -1, -1, -1, -1, 413, -1, 415, 416, 97, - 98, 99, -1, -1, -1, -1, -1, -1, 436, 437, - -1, -1, 11, -1, -1, -1, -1, -1, 436, 437, + 130, 131, 143, 133, -1, 411, -1, 413, 414, -1, + 317, 40, 41, 320, 43, -1, 146, 337, 47, 149, + -1, -1, 152, 337, 154, -1, 156, 56, 434, 435, + 59, -1, -1, -1, -1, -1, -1, 402, 370, 404, + 372, 406, 183, -1, 370, -1, 372, 188, -1, -1, + 370, -1, 372, -1, 184, 375, 370, -1, 372, -1, + 367, -1, 203, 204, -1, -1, 207, 197, 97, 98, + 99, -1, 143, -1, -1, -1, 383, -1, 385, 411, + 387, 413, 414, -1, -1, 411, -1, 413, 414, -1, + -1, 411, -1, 413, 414, -1, -1, 411, -1, 413, + 414, -1, 434, 435, -1, 143, -1, -1, 434, 435, + -1, -1, 183, -1, 434, 435, -1, 188, -1, -1, + 434, 435, -1, 264, -1, -1, -1, 257, -1, -1, + -1, 272, 203, 204, -1, -1, 207, -1, -1, 269, + -1, 271, -1, -1, 274, 183, -1, -1, -1, -1, + 188, 40, 41, -1, 43, -1, 286, -1, 47, -1, + 143, 66, 67, -1, -1, 203, 204, 56, -1, 207, + 59, -1, -1, -1, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 143, -1, 92, 93, 94, + 95, 96, 322, 264, -1, 143, -1, -1, -1, -1, + 183, 272, -1, -1, -1, 188, -1, -1, 97, 98, + 99, -1, -1, -1, -1, -1, 346, 347, 348, 349, + 203, 204, -1, -1, 207, 183, 264, -1, -1, 370, + 188, 372, -1, -1, 272, 183, -1, -1, -1, -1, + 188, 371, -1, 373, 374, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + 411, 43, 413, 414, -1, -1, 48, 49, 50, 51, + -1, 264, -1, -1, 56, 415, -1, -1, -1, 272, + -1, -1, -1, 434, 435, -1, -1, -1, -1, 370, + -1, 372, -1, -1, -1, -1, 264, -1, -1, -1, + -1, -1, 40, 41, 272, 43, 264, -1, -1, 47, + -1, 16, -1, -1, 272, -1, 98, 99, 56, -1, + -1, 59, 370, -1, 372, -1, -1, -1, -1, -1, + 411, -1, 413, 414, -1, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, 57, 434, 435, 60, -1, -1, -1, 97, + 98, 99, -1, 411, -1, 413, 414, -1, -1, -1, + -1, 76, 77, 40, 41, -1, 43, 370, -1, 372, + 47, -1, -1, -1, -1, -1, 434, 435, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, -1, + 40, 41, 370, 43, 372, -1, -1, -1, 48, 49, + 50, 51, 370, -1, 372, -1, 56, -1, 411, -1, + 413, 414, -1, -1, 64, 65, -1, -1, -1, -1, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + -1, 434, 435, 411, -1, 413, 414, -1, -1, -1, + -1, -1, -1, 411, -1, 413, 414, -1, 98, 99, + -1, -1, -1, -1, -1, -1, 434, 435, -1, -1, + 11, -1, -1, -1, -1, -1, 434, 435, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, -1, 43, -1, -1, -1, -1, 48, 49, 50, + 51, -1, -1, 54, 55, 56, -1, -1, -1, -1, + -1, -1, 11, 64, 65, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, 48, + 39, 40, 41, -1, 43, -1, -1, 98, 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, -1, -1, - -1, -1, -1, -1, 11, 64, 65, -1, -1, -1, - -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 16, 43, -1, -1, 98, - 99, 48, 49, 50, 51, -1, -1, 54, 55, 56, - -1, -1, -1, -1, -1, -1, -1, 64, 65, 40, - 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, - 51, 52, -1, -1, -1, 56, 66, 67, -1, 60, - -1, 62, 72, 73, 74, 75, -1, -1, -1, -1, - -1, 98, 99, -1, -1, 76, 77, -1, -1, -1, - 16, -1, 92, 93, 94, 95, 96, -1, -1, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 40, 41, 42, 43, 44, 45, - 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, - 56, -1, -1, -1, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, - 76, 77, 47, -1, -1, 16, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, 93, -1, -1, - 96, -1, 98, 99, 100, 101, 102, 103, 104, 40, + -1, -1, -1, -1, -1, 64, 65, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, + -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, -1, 43, 98, + 99, -1, -1, 48, 49, 50, 51, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, + 65, 12, -1, -1, -1, -1, -1, -1, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 16, 43, 98, 99, -1, -1, 48, 49, 50, + 51, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, 64, 65, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, -1, -1, -1, 60, -1, 62, -1, -1, + -1, -1, -1, 40, 41, -1, 43, 98, 99, -1, + 47, 76, 77, 40, 41, 16, 43, -1, -1, 56, + 47, -1, 59, -1, -1, -1, -1, -1, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, -1, -1, -1, 60, - -1, -1, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, -1, -1, 66, - 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, - -1, -1, 93, -1, -1, 96, -1, 98, 99, 100, - 101, 102, 103, 104, 12, 92, 93, 94, 95, 96, - -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + 97, 98, 99, -1, -1, 76, 77, 40, 41, 16, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, 93, 56, -1, 96, 59, 98, 99, 100, + 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, + -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, + -1, -1, -1, 60, -1, -1, -1, -1, 17, 18, + -1, 20, 21, -1, 97, 98, 99, -1, -1, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 40, 41, -1, 43, -1, 93, -1, -1, 96, + -1, 98, 99, 100, 101, 102, 103, 56, -1, -1, + 59, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + 99, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, - 48, 49, 50, 51, -1, -1, 54, -1, 56, -1, - -1, -1, -1, -1, -1, -1, 64, 65, 12, -1, - -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, - 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, - 98, 99, -1, -1, 48, 49, 50, 51, -1, -1, - 54, -1, 56, -1, 17, 18, -1, 20, 21, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, 40, - 41, -1, 43, -1, -1, -1, 47, 40, 41, -1, - 43, -1, -1, -1, -1, 56, -1, -1, 59, -1, - -1, -1, -1, 56, 98, 99, 59, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 97, 98, 99, -1, - -1, -1, -1, -1, 97, 98, 99, 19, -1, -1, - 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - -1, 43, 40, 41, -1, 43, 48, 49, 50, 51, - -1, -1, 54, -1, 56, -1, -1, -1, 56, -1, - -1, 59, 64, 65, -1, -1, 64, 65, -1, -1, + 48, 49, 50, 51, 40, 41, 54, 43, 56, -1, + -1, 47, 40, 41, -1, 43, 64, 65, -1, 47, + 56, -1, -1, 59, -1, -1, -1, -1, 56, 66, + 67, 59, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, -1, -1, 53, -1, -1, 98, 99, 58, 97, - 98, 99, -1, 63, -1, -1, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, - 90, 91, 92, 93, 94, 95, 96, 53, -1, -1, - -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, + 98, 99, 89, 90, 91, 92, 93, 94, 95, 96, + -1, 97, 98, 99, -1, -1, -1, 53, -1, 97, + 98, 99, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, @@ -4332,8 +4290,9 @@ namespace xsk { namespace gsc { namespace s1 { 92, 93, 94, 95, 96, 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, 89, 90, 91, 92, 93, @@ -4360,133 +4319,139 @@ namespace xsk { namespace gsc { namespace s1 { 90, 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 57, -1, -1, -1, -1, -1, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 58, -1, -1, -1, -1, 63, -1, -1, 66, + -1, 53, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 58, -1, -1, -1, -1, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 61, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 62, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 89, 90, 91, 92, 93, 94, 95, - 96, -1, -1, -1, -1, -1, 89, 90, 91, 92, - 93, 94, 95, 96, 66, 67, -1, 69, 70, 71, - 72, 73, 74, 75, 66, 67, -1, -1, 70, 71, - 72, 73, 74, 75, -1, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, 66, 67, -1, -1, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, 90, - 91, 92, 93, 94, 95, 96, -1, -1, -1, 90, - -1, 92, 93, 94, 95, 96 + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 89, 90, 91, + 92, 93, 94, 95, 96, -1, -1, -1, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, + -1, -1, -1, 90, -1, 92, 93, 94, 95, 96, + -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, + 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 99, 115, 116, 117, - 118, 119, 120, 121, 122, 187, 98, 187, 188, 188, - 52, 0, 117, 118, 119, 52, 78, 62, 62, 100, - 190, 169, 187, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 99, 114, 115, 116, + 117, 118, 119, 120, 121, 186, 98, 186, 187, 187, + 52, 0, 116, 117, 118, 52, 78, 62, 62, 100, + 189, 168, 186, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 60, 76, 77, - 93, 96, 101, 102, 103, 104, 154, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 172, 173, 174, + 93, 96, 101, 102, 103, 153, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 53, 53, 58, 56, 187, 188, 56, 187, - 188, 56, 154, 56, 57, 154, 170, 171, 187, 154, - 154, 103, 104, 99, 62, 63, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 89, 90, 91, 92, - 93, 94, 95, 96, 47, 56, 59, 97, 166, 167, - 187, 188, 52, 60, 62, 54, 128, 187, 56, 52, - 60, 56, 52, 60, 56, 53, 58, 154, 58, 57, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 187, 60, 170, 171, 187, 11, 19, 22, 23, 24, - 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 55, 56, 64, 65, 123, 124, 126, - 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 156, 157, 158, 164, - 165, 173, 174, 177, 181, 182, 183, 184, 187, 154, - 170, 187, 154, 170, 187, 154, 154, 57, 154, 61, - 57, 187, 53, 52, 12, 123, 125, 154, 62, 52, - 62, 52, 123, 52, 52, 52, 52, 93, 190, 194, - 61, 62, 62, 62, 154, 62, 52, 52, 56, 164, - 165, 177, 177, 55, 124, 62, 62, 62, 62, 62, - 17, 18, 20, 21, 64, 65, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 57, 53, 52, - 57, 53, 52, 57, 58, 57, 154, 170, 12, 123, - 62, 53, 154, 27, 154, 129, 156, 157, 158, 177, - 187, 154, 61, 61, 62, 170, 170, 154, 52, 52, - 52, 52, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 57, 170, 57, 170, 57, 154, 52, - 53, 62, 53, 52, 53, 62, 30, 58, 53, 53, - 53, 154, 154, 154, 154, 52, 53, 52, 53, 52, - 53, 170, 123, 154, 123, 154, 155, 154, 187, 128, - 62, 62, 53, 53, 58, 53, 58, 53, 58, 170, - 170, 170, 53, 25, 53, 62, 53, 30, 62, 62, - 171, 62, 171, 62, 171, 53, 53, 53, 123, 62, - 129, 123, 154, 53, 53, 53, 53, 53, 62, 62, - 62, 123, 123 + 53, 53, 58, 56, 186, 187, 56, 186, 187, 56, + 153, 56, 57, 153, 169, 170, 186, 153, 153, 102, + 103, 99, 62, 63, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 89, 90, 91, 92, 93, 94, + 95, 96, 47, 56, 59, 97, 165, 166, 186, 187, + 52, 60, 62, 54, 127, 186, 56, 52, 60, 56, + 52, 60, 56, 53, 58, 153, 58, 57, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 186, 60, + 169, 170, 186, 11, 19, 22, 23, 24, 26, 27, + 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 55, 56, 64, 65, 122, 123, 125, 126, 127, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 155, 156, 157, 163, 164, 172, + 173, 176, 180, 181, 182, 183, 186, 153, 169, 186, + 153, 169, 186, 153, 153, 57, 153, 61, 57, 186, + 53, 52, 12, 122, 124, 153, 62, 52, 62, 52, + 122, 52, 52, 52, 52, 93, 189, 192, 61, 62, + 62, 62, 153, 62, 52, 52, 56, 163, 164, 176, + 176, 55, 123, 62, 62, 62, 62, 62, 17, 18, + 20, 21, 64, 65, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 57, 53, 52, 57, 53, + 52, 57, 58, 57, 153, 169, 12, 122, 62, 53, + 153, 27, 153, 128, 155, 156, 157, 176, 186, 153, + 61, 61, 62, 169, 169, 153, 52, 52, 52, 52, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 57, 169, 57, 169, 57, 153, 52, 53, 62, + 53, 52, 53, 62, 30, 58, 53, 53, 53, 153, + 153, 153, 153, 52, 53, 52, 53, 52, 53, 169, + 122, 153, 122, 153, 154, 153, 186, 127, 62, 62, + 53, 53, 58, 53, 58, 53, 58, 169, 169, 169, + 53, 25, 53, 62, 53, 30, 62, 62, 170, 62, + 170, 62, 170, 53, 53, 53, 122, 62, 128, 122, + 153, 53, 53, 53, 53, 53, 62, 62, 62, 122, + 122 }; const unsigned char parser::yyr1_[] = { - 0, 114, 115, 115, 116, 116, 116, 116, 116, 116, - 117, 118, 119, 119, 119, 119, 119, 120, 121, 122, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 124, 124, 125, 125, 126, - 126, 127, 127, 128, 128, 129, 129, 129, 129, 130, - 130, 131, 131, 131, 132, 133, 133, 134, 135, 135, - 136, 136, 137, 138, 138, 139, 140, 141, 142, 143, - 144, 144, 145, 146, 146, 147, 148, 149, 150, 150, - 151, 152, 153, 154, 154, 154, 155, 155, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, - 157, 158, 158, 159, 160, 160, 160, 160, 160, 160, + 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, + 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 129, + 129, 130, 130, 130, 131, 132, 132, 133, 134, 134, + 135, 135, 136, 137, 137, 138, 139, 140, 141, 142, + 143, 143, 144, 145, 145, 146, 147, 148, 149, 149, + 150, 151, 152, 153, 153, 153, 154, 154, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, + 156, 157, 157, 158, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 162, 163, 164, 164, 165, 165, 166, 166, 166, 166, - 166, 166, 167, 167, 167, 167, 168, 169, 169, 169, - 170, 170, 171, 171, 172, 172, 173, 174, 174, 175, - 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, + 162, 163, 163, 164, 164, 165, 165, 165, 165, 165, + 165, 166, 166, 166, 166, 167, 168, 168, 168, 169, + 169, 170, 170, 171, 171, 172, 173, 173, 174, 175, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 188, 189, 190, 191, 192, 193, 193, 194, 194, - 195, 196 + 187, 188, 189, 190, 191, 191, 192, 192, 193, 194 }; const signed char @@ -4507,14 +4472,13 @@ namespace xsk { namespace gsc { namespace s1 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, + 2, 1, 1, 2, 2, 4, 6, 5, 7, 5, + 7, 8, 9, 9, 9, 3, 3, 1, 0, 1, + 0, 3, 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 1, 2, 2, 4, 6, 5, 7, - 5, 7, 8, 9, 9, 9, 3, 3, 1, 0, - 1, 0, 3, 1, 2, 3, 4, 3, 2, 2, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 7, 2, 1, 2, 1, - 1, 1 + 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 7, 2, 1, 2, 1, 1, 1 }; @@ -4524,29 +4488,28 @@ namespace xsk { namespace gsc { namespace s1 { const short parser::yyrline_[] = { - 0, 256, 256, 257, 261, 263, 265, 267, 269, 271, - 276, 280, 285, 286, 287, 288, 289, 293, 298, 303, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 336, 337, 341, 343, 348, - 350, 355, 356, 360, 361, 365, 367, 369, 372, 376, - 378, 383, 385, 387, 392, 397, 399, 404, 409, 411, - 416, 418, 423, 428, 430, 435, 440, 445, 450, 455, - 460, 462, 467, 472, 474, 479, 484, 489, 494, 496, - 501, 506, 511, 516, 517, 518, 522, 523, 527, 529, - 531, 533, 535, 537, 539, 541, 543, 545, 547, 552, - 554, 559, 561, 566, 571, 573, 575, 577, 579, 581, - 583, 585, 587, 589, 591, 593, 595, 597, 599, 601, - 603, 605, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, - 641, 646, 651, 652, 655, 656, 660, 662, 664, 666, - 668, 670, 675, 677, 679, 681, 686, 691, 693, 696, - 700, 703, 707, 709, 714, 716, 721, 726, 728, 733, - 738, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 755, 760, 765, 770, 775, 780, 785, 790, 795, 800, - 805, 807, 812, 817, 822, 827, 832, 834, 839, 841, - 846, 851 + 0, 254, 254, 255, 259, 261, 263, 265, 267, 269, + 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 334, 335, 339, 341, 346, + 348, 353, 354, 358, 359, 363, 365, 367, 370, 374, + 376, 381, 383, 385, 390, 395, 397, 402, 407, 409, + 414, 416, 421, 426, 428, 433, 438, 443, 448, 453, + 458, 460, 465, 470, 472, 477, 482, 487, 492, 494, + 499, 504, 509, 514, 515, 516, 520, 521, 525, 527, + 529, 531, 533, 535, 537, 539, 541, 543, 545, 550, + 552, 557, 559, 564, 569, 571, 573, 575, 577, 579, + 581, 583, 585, 587, 589, 591, 593, 595, 597, 599, + 601, 603, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 638, + 643, 648, 649, 652, 653, 657, 659, 661, 663, 665, + 667, 672, 674, 676, 678, 683, 688, 690, 693, 697, + 700, 704, 706, 711, 713, 718, 723, 725, 730, 735, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 752, + 757, 762, 767, 772, 777, 782, 787, 792, 797, 802, + 804, 809, 814, 819, 824, 826, 831, 833, 838, 843 }; void @@ -4579,9 +4542,9 @@ namespace xsk { namespace gsc { namespace s1 { #line 13 "parser.ypp" } } } // xsk::gsc::s1 -#line 4583 "parser.cpp" +#line 4546 "parser.cpp" -#line 855 "parser.ypp" +#line 847 "parser.ypp" void xsk::gsc::s1::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/s1/xsk/parser.hpp b/src/s1/xsk/parser.hpp index 550dd4ad..7c62cfcd 100644 --- a/src/s1/xsk/parser.hpp +++ b/src/s1/xsk/parser.hpp @@ -456,180 +456,176 @@ namespace xsk { namespace gsc { namespace s1 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy40[sizeof (ast::stmt)]; + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy48[sizeof (ast::stmt_dev::ptr)]; + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy49[sizeof (ast::stmt_dowhile::ptr)]; + char dummy48[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy50[sizeof (ast::stmt_endon::ptr)]; + char dummy49[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy51[sizeof (ast::stmt_expr::ptr)]; + char dummy50[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy52[sizeof (ast::stmt_for::ptr)]; + char dummy51[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy53[sizeof (ast::stmt_foreach::ptr)]; + char dummy52[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy54[sizeof (ast::stmt_if::ptr)]; + char dummy53[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy55[sizeof (ast::stmt_ifelse::ptr)]; + char dummy54[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy56[sizeof (ast::stmt_list::ptr)]; + char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy57[sizeof (ast::stmt_notify::ptr)]; + char dummy56[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy57[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy59[sizeof (ast::stmt_prof_end::ptr)]; + char dummy58[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy60[sizeof (ast::stmt_return::ptr)]; + char dummy59[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy61[sizeof (ast::stmt_switch::ptr)]; + char dummy60[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy62[sizeof (ast::stmt_wait::ptr)]; + char dummy61[sizeof (ast::stmt_wait::ptr)]; // stmt_waitframe - char dummy63[sizeof (ast::stmt_waitframe::ptr)]; + char dummy62[sizeof (ast::stmt_waitframe::ptr)]; // stmt_waittill - char dummy64[sizeof (ast::stmt_waittill::ptr)]; + char dummy63[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy67[sizeof (ast::stmt_while::ptr)]; + char dummy66[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy68[sizeof (std::string)]; + char dummy67[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -780,18 +776,17 @@ namespace xsk { namespace gsc { namespace s1 { IDENTIFIER = 99, // "identifier" STRING = 100, // "string literal" ISTRING = 101, // "localized string" - COLOR = 102, // "color" - FLOAT = 103, // "float" - INTEGER = 104, // "integer" - ADD_ARRAY = 105, // ADD_ARRAY - THEN = 106, // THEN - TERN = 107, // TERN - NEG = 108, // NEG - ANIMREF = 109, // ANIMREF - PREINC = 110, // PREINC - PREDEC = 111, // PREDEC - POSTINC = 112, // POSTINC - POSTDEC = 113 // POSTDEC + FLOAT = 102, // "float" + INTEGER = 103, // "integer" + ADD_ARRAY = 104, // ADD_ARRAY + THEN = 105, // THEN + TERN = 106, // TERN + NEG = 107, // NEG + ANIMREF = 108, // ANIMREF + PREINC = 109, // PREINC + PREDEC = 110, // PREDEC + POSTINC = 111, // POSTINC + POSTDEC = 112 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -808,7 +803,7 @@ namespace xsk { namespace gsc { namespace s1 { { enum symbol_kind_type { - YYNTOKENS = 114, ///< Number of tokens. + YYNTOKENS = 113, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -912,101 +907,99 @@ namespace xsk { namespace gsc { namespace s1 { S_IDENTIFIER = 99, // "identifier" S_STRING = 100, // "string literal" S_ISTRING = 101, // "localized string" - S_COLOR = 102, // "color" - S_FLOAT = 103, // "float" - S_INTEGER = 104, // "integer" - S_ADD_ARRAY = 105, // ADD_ARRAY - S_THEN = 106, // THEN - S_TERN = 107, // TERN - S_NEG = 108, // NEG - S_ANIMREF = 109, // ANIMREF - S_PREINC = 110, // PREINC - S_PREDEC = 111, // PREDEC - S_POSTINC = 112, // POSTINC - S_POSTDEC = 113, // POSTDEC - S_YYACCEPT = 114, // $accept - S_root = 115, // root - S_program = 116, // program - S_inline = 117, // inline - S_include = 118, // include - S_declaration = 119, // declaration - S_decl_usingtree = 120, // decl_usingtree - S_decl_constant = 121, // decl_constant - S_decl_thread = 122, // decl_thread - S_stmt = 123, // stmt - S_stmt_or_dev = 124, // stmt_or_dev - S_stmt_list = 125, // stmt_list - S_stmt_or_dev_list = 126, // stmt_or_dev_list - S_stmt_dev = 127, // stmt_dev - S_stmt_block = 128, // stmt_block - S_stmt_expr = 129, // stmt_expr - S_stmt_call = 130, // stmt_call - S_stmt_assign = 131, // stmt_assign - S_stmt_endon = 132, // stmt_endon - S_stmt_notify = 133, // stmt_notify - S_stmt_wait = 134, // stmt_wait - S_stmt_waittill = 135, // stmt_waittill - S_stmt_waittillmatch = 136, // stmt_waittillmatch - S_stmt_waittillframeend = 137, // stmt_waittillframeend - S_stmt_waitframe = 138, // stmt_waitframe - S_stmt_if = 139, // stmt_if - S_stmt_ifelse = 140, // stmt_ifelse - S_stmt_while = 141, // stmt_while - S_stmt_dowhile = 142, // stmt_dowhile - S_stmt_for = 143, // stmt_for - S_stmt_foreach = 144, // stmt_foreach - S_stmt_switch = 145, // stmt_switch - S_stmt_case = 146, // stmt_case - S_stmt_default = 147, // stmt_default - S_stmt_break = 148, // stmt_break - S_stmt_continue = 149, // stmt_continue - S_stmt_return = 150, // stmt_return - S_stmt_breakpoint = 151, // stmt_breakpoint - S_stmt_prof_begin = 152, // stmt_prof_begin - S_stmt_prof_end = 153, // stmt_prof_end - S_expr = 154, // expr - S_expr_or_empty = 155, // expr_or_empty - S_expr_assign = 156, // expr_assign - S_expr_increment = 157, // expr_increment - S_expr_decrement = 158, // expr_decrement - S_expr_ternary = 159, // expr_ternary - S_expr_binary = 160, // expr_binary - S_expr_primitive = 161, // expr_primitive - S_expr_complement = 162, // expr_complement - S_expr_not = 163, // expr_not - S_expr_call = 164, // expr_call - S_expr_method = 165, // expr_method - S_expr_function = 166, // expr_function - S_expr_pointer = 167, // expr_pointer - S_expr_add_array = 168, // expr_add_array - S_expr_parameters = 169, // expr_parameters - S_expr_arguments = 170, // expr_arguments - S_expr_arguments_no_empty = 171, // expr_arguments_no_empty - S_expr_reference = 172, // expr_reference - S_expr_array = 173, // expr_array - S_expr_field = 174, // expr_field - S_expr_size = 175, // expr_size - S_expr_paren = 176, // expr_paren - S_expr_object = 177, // expr_object - S_expr_thisthread = 178, // expr_thisthread - S_expr_empty_array = 179, // expr_empty_array - S_expr_undefined = 180, // expr_undefined - S_expr_game = 181, // expr_game - S_expr_self = 182, // expr_self - S_expr_anim = 183, // expr_anim - S_expr_level = 184, // expr_level - S_expr_animation = 185, // expr_animation - S_expr_animtree = 186, // expr_animtree - S_expr_identifier = 187, // expr_identifier - S_expr_path = 188, // expr_path - S_expr_istring = 189, // expr_istring - S_expr_string = 190, // expr_string - S_expr_color = 191, // expr_color - S_expr_vector = 192, // expr_vector - S_expr_float = 193, // expr_float - S_expr_integer = 194, // expr_integer - S_expr_false = 195, // expr_false - S_expr_true = 196 // expr_true + S_FLOAT = 102, // "float" + S_INTEGER = 103, // "integer" + S_ADD_ARRAY = 104, // ADD_ARRAY + S_THEN = 105, // THEN + S_TERN = 106, // TERN + S_NEG = 107, // NEG + S_ANIMREF = 108, // ANIMREF + S_PREINC = 109, // PREINC + S_PREDEC = 110, // PREDEC + S_POSTINC = 111, // POSTINC + S_POSTDEC = 112, // POSTDEC + S_YYACCEPT = 113, // $accept + S_root = 114, // root + S_program = 115, // program + S_inline = 116, // inline + S_include = 117, // include + S_declaration = 118, // declaration + S_decl_usingtree = 119, // decl_usingtree + S_decl_constant = 120, // decl_constant + S_decl_thread = 121, // decl_thread + S_stmt = 122, // stmt + S_stmt_or_dev = 123, // stmt_or_dev + S_stmt_list = 124, // stmt_list + S_stmt_or_dev_list = 125, // stmt_or_dev_list + S_stmt_dev = 126, // stmt_dev + S_stmt_block = 127, // stmt_block + S_stmt_expr = 128, // stmt_expr + S_stmt_call = 129, // stmt_call + S_stmt_assign = 130, // stmt_assign + S_stmt_endon = 131, // stmt_endon + S_stmt_notify = 132, // stmt_notify + S_stmt_wait = 133, // stmt_wait + S_stmt_waittill = 134, // stmt_waittill + S_stmt_waittillmatch = 135, // stmt_waittillmatch + S_stmt_waittillframeend = 136, // stmt_waittillframeend + S_stmt_waitframe = 137, // stmt_waitframe + S_stmt_if = 138, // stmt_if + S_stmt_ifelse = 139, // stmt_ifelse + S_stmt_while = 140, // stmt_while + S_stmt_dowhile = 141, // stmt_dowhile + S_stmt_for = 142, // stmt_for + S_stmt_foreach = 143, // stmt_foreach + S_stmt_switch = 144, // stmt_switch + S_stmt_case = 145, // stmt_case + S_stmt_default = 146, // stmt_default + S_stmt_break = 147, // stmt_break + S_stmt_continue = 148, // stmt_continue + S_stmt_return = 149, // stmt_return + S_stmt_breakpoint = 150, // stmt_breakpoint + S_stmt_prof_begin = 151, // stmt_prof_begin + S_stmt_prof_end = 152, // stmt_prof_end + S_expr = 153, // expr + S_expr_or_empty = 154, // expr_or_empty + S_expr_assign = 155, // expr_assign + S_expr_increment = 156, // expr_increment + S_expr_decrement = 157, // expr_decrement + S_expr_ternary = 158, // expr_ternary + S_expr_binary = 159, // expr_binary + S_expr_primitive = 160, // expr_primitive + S_expr_complement = 161, // expr_complement + S_expr_not = 162, // expr_not + S_expr_call = 163, // expr_call + S_expr_method = 164, // expr_method + S_expr_function = 165, // expr_function + S_expr_pointer = 166, // expr_pointer + S_expr_add_array = 167, // expr_add_array + S_expr_parameters = 168, // expr_parameters + S_expr_arguments = 169, // expr_arguments + S_expr_arguments_no_empty = 170, // expr_arguments_no_empty + S_expr_reference = 171, // expr_reference + S_expr_array = 172, // expr_array + S_expr_field = 173, // expr_field + S_expr_size = 174, // expr_size + S_expr_paren = 175, // expr_paren + S_expr_object = 176, // expr_object + S_expr_thisthread = 177, // expr_thisthread + S_expr_empty_array = 178, // expr_empty_array + S_expr_undefined = 179, // expr_undefined + S_expr_game = 180, // expr_game + S_expr_self = 181, // expr_self + S_expr_anim = 182, // expr_anim + S_expr_level = 183, // expr_level + S_expr_animation = 184, // expr_animation + S_expr_animtree = 185, // expr_animtree + S_expr_identifier = 186, // expr_identifier + S_expr_path = 187, // expr_path + S_expr_istring = 188, // expr_istring + S_expr_string = 189, // expr_string + S_expr_vector = 190, // expr_vector + S_expr_float = 191, // expr_float + S_expr_integer = 192, // expr_integer + S_expr_false = 193, // expr_false + S_expr_true = 194 // expr_true }; }; @@ -1105,10 +1098,6 @@ namespace xsk { namespace gsc { namespace s1 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1329,7 +1318,6 @@ namespace xsk { namespace gsc { namespace s1 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1540,20 +1528,6 @@ namespace xsk { namespace gsc { namespace s1 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2394,10 +2368,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2618,7 +2588,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4310,21 +4279,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4834,8 +4788,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2285, ///< Last index in yytable_. - yynnts_ = 83, ///< Number of nonterminal symbols. + yylast_ = 2300, ///< Last index in yytable_. + yynnts_ = 82, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4924,10 +4878,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5148,7 +5098,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5245,10 +5194,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5469,7 +5414,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5538,7 +5482,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::s1 -#line 5542 "parser.hpp" +#line 5486 "parser.hpp" diff --git a/src/s2/xsk/parser.cpp b/src/s2/xsk/parser.cpp index 9a383717..38fd731c 100644 --- a/src/s2/xsk/parser.cpp +++ b/src/s2/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace s2 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -382,6 +378,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.YY_MOVE_OR_COPY< ast::stmt > (YY_MOVE (that.value)); break; @@ -413,6 +410,10 @@ namespace xsk { namespace gsc { namespace s2 { value.YY_MOVE_OR_COPY< ast::stmt_default::ptr > (YY_MOVE (that.value)); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.YY_MOVE_OR_COPY< ast::stmt_dev::ptr > (YY_MOVE (that.value)); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.YY_MOVE_OR_COPY< ast::stmt_dowhile::ptr > (YY_MOVE (that.value)); break; @@ -441,9 +442,9 @@ namespace xsk { namespace gsc { namespace s2 { value.YY_MOVE_OR_COPY< ast::stmt_ifelse::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.YY_MOVE_OR_COPY< ast::stmt_list::ptr > (YY_MOVE (that.value)); break; @@ -496,7 +497,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -579,10 +579,6 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -684,6 +680,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.move< ast::stmt > (YY_MOVE (that.value)); break; @@ -715,6 +712,10 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_default::ptr > (YY_MOVE (that.value)); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.move< ast::stmt_dev::ptr > (YY_MOVE (that.value)); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.move< ast::stmt_dowhile::ptr > (YY_MOVE (that.value)); break; @@ -743,9 +744,9 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_ifelse::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.move< ast::stmt_list::ptr > (YY_MOVE (that.value)); break; @@ -798,7 +799,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -881,10 +881,6 @@ namespace xsk { namespace gsc { namespace s2 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -986,6 +982,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.copy< ast::stmt > (that.value); break; @@ -1017,6 +1014,10 @@ namespace xsk { namespace gsc { namespace s2 { value.copy< ast::stmt_default::ptr > (that.value); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.copy< ast::stmt_dev::ptr > (that.value); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.copy< ast::stmt_dowhile::ptr > (that.value); break; @@ -1045,9 +1046,9 @@ namespace xsk { namespace gsc { namespace s2 { value.copy< ast::stmt_ifelse::ptr > (that.value); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.copy< ast::stmt_list::ptr > (that.value); break; @@ -1100,7 +1101,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1182,10 +1182,6 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1287,6 +1283,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.move< ast::stmt > (that.value); break; @@ -1318,6 +1315,10 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_default::ptr > (that.value); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.move< ast::stmt_dev::ptr > (that.value); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.move< ast::stmt_dowhile::ptr > (that.value); break; @@ -1346,9 +1347,9 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_ifelse::ptr > (that.value); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.move< ast::stmt_list::ptr > (that.value); break; @@ -1401,7 +1402,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1738,10 +1738,6 @@ namespace xsk { namespace gsc { namespace s2 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -1843,6 +1839,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev yylhs.value.emplace< ast::stmt > (); break; @@ -1874,6 +1871,10 @@ namespace xsk { namespace gsc { namespace s2 { yylhs.value.emplace< ast::stmt_default::ptr > (); break; + case symbol_kind::S_stmt_dev: // stmt_dev + yylhs.value.emplace< ast::stmt_dev::ptr > (); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile yylhs.value.emplace< ast::stmt_dowhile::ptr > (); break; @@ -1902,9 +1903,9 @@ namespace xsk { namespace gsc { namespace s2 { yylhs.value.emplace< ast::stmt_ifelse::ptr > (); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block yylhs.value.emplace< ast::stmt_list::ptr > (); break; @@ -1957,7 +1958,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2091,1202 +2091,1208 @@ namespace xsk { namespace gsc { namespace s2 { #line 2092 "parser.cpp" break; - case 20: // stmt: stmt_dev + case 20: // stmt: stmt_block #line 306 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } #line 2098 "parser.cpp" break; - case 21: // stmt: stmt_block + case 21: // stmt: stmt_call #line 307 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } #line 2104 "parser.cpp" break; - case 22: // stmt: stmt_call + case 22: // stmt: stmt_assign #line 308 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } #line 2110 "parser.cpp" break; - case 23: // stmt: stmt_assign + case 23: // stmt: stmt_endon #line 309 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } #line 2116 "parser.cpp" break; - case 24: // stmt: stmt_endon + case 24: // stmt: stmt_notify #line 310 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } #line 2122 "parser.cpp" break; - case 25: // stmt: stmt_notify + case 25: // stmt: stmt_wait #line 311 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } #line 2128 "parser.cpp" break; - case 26: // stmt: stmt_wait + case 26: // stmt: stmt_waittill #line 312 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } #line 2134 "parser.cpp" break; - case 27: // stmt: stmt_waittill + case 27: // stmt: stmt_waittillmatch #line 313 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } #line 2140 "parser.cpp" break; - case 28: // stmt: stmt_waittillmatch + case 28: // stmt: stmt_waittillframeend #line 314 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } #line 2146 "parser.cpp" break; - case 29: // stmt: stmt_waittillframeend + case 29: // stmt: stmt_waitframe #line 315 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } #line 2152 "parser.cpp" break; - case 30: // stmt: stmt_waitframe + case 30: // stmt: stmt_if #line 316 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } #line 2158 "parser.cpp" break; - case 31: // stmt: stmt_if + case 31: // stmt: stmt_ifelse #line 317 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } #line 2164 "parser.cpp" break; - case 32: // stmt: stmt_ifelse + case 32: // stmt: stmt_while #line 318 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } #line 2170 "parser.cpp" break; - case 33: // stmt: stmt_while + case 33: // stmt: stmt_dowhile #line 319 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } #line 2176 "parser.cpp" break; - case 34: // stmt: stmt_dowhile + case 34: // stmt: stmt_for #line 320 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } #line 2182 "parser.cpp" break; - case 35: // stmt: stmt_for + case 35: // stmt: stmt_foreach #line 321 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } #line 2188 "parser.cpp" break; - case 36: // stmt: stmt_foreach + case 36: // stmt: stmt_switch #line 322 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } #line 2194 "parser.cpp" break; - case 37: // stmt: stmt_switch + case 37: // stmt: stmt_case #line 323 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } #line 2200 "parser.cpp" break; - case 38: // stmt: stmt_case + case 38: // stmt: stmt_default #line 324 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } #line 2206 "parser.cpp" break; - case 39: // stmt: stmt_default + case 39: // stmt: stmt_break #line 325 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } #line 2212 "parser.cpp" break; - case 40: // stmt: stmt_break + case 40: // stmt: stmt_continue #line 326 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } #line 2218 "parser.cpp" break; - case 41: // stmt: stmt_continue + case 41: // stmt: stmt_return #line 327 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } #line 2224 "parser.cpp" break; - case 42: // stmt: stmt_return + case 42: // stmt: stmt_breakpoint #line 328 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } #line 2230 "parser.cpp" break; - case 43: // stmt: stmt_breakpoint + case 43: // stmt: stmt_prof_begin #line 329 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } #line 2236 "parser.cpp" break; - case 44: // stmt: stmt_prof_begin + case 44: // stmt: stmt_prof_end #line 330 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } #line 2242 "parser.cpp" break; - case 45: // stmt: stmt_prof_end -#line 331 "parser.ypp" - { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } + case 45: // stmt_or_dev: stmt +#line 334 "parser.ypp" + { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } #line 2248 "parser.cpp" break; - case 46: // stmt_dev: "/#" stmt_list "#/" + case 46: // stmt_or_dev: stmt_dev #line 335 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } + { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } #line 2254 "parser.cpp" break; - case 47: // stmt_dev: "/#" "#/" -#line 336 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } + case 47: // stmt_list: stmt_list stmt +#line 340 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2260 "parser.cpp" break; - case 48: // stmt_block: "{" stmt_list "}" -#line 340 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } + case 48: // stmt_list: stmt +#line 342 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2266 "parser.cpp" break; - case 49: // stmt_block: "{" "}" -#line 341 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } + case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev +#line 347 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2272 "parser.cpp" break; - case 50: // stmt_list: stmt_list stmt -#line 346 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } + case 50: // stmt_or_dev_list: stmt_or_dev +#line 349 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2278 "parser.cpp" break; - case 51: // stmt_list: stmt -#line 348 "parser.ypp" - { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } + case 51: // stmt_dev: "/#" stmt_list "#/" +#line 353 "parser.ypp" + { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } #line 2284 "parser.cpp" break; - case 52: // stmt_expr: expr_assign -#line 353 "parser.ypp" - { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } + case 52: // stmt_dev: "/#" "#/" +#line 354 "parser.ypp" + { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } #line 2290 "parser.cpp" break; - case 53: // stmt_expr: expr_increment -#line 355 "parser.ypp" - { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } + case 53: // stmt_block: "{" stmt_or_dev_list "}" +#line 358 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } #line 2296 "parser.cpp" break; - case 54: // stmt_expr: expr_decrement -#line 357 "parser.ypp" - { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } + case 54: // stmt_block: "{" "}" +#line 359 "parser.ypp" + { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } #line 2302 "parser.cpp" break; - case 55: // stmt_expr: %empty -#line 359 "parser.ypp" - { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } + case 55: // stmt_expr: expr_assign +#line 364 "parser.ypp" + { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } #line 2308 "parser.cpp" break; - case 56: // stmt_call: expr_call ";" -#line 364 "parser.ypp" - { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } + case 56: // stmt_expr: expr_increment +#line 366 "parser.ypp" + { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } #line 2314 "parser.cpp" break; - case 57: // stmt_call: expr_method ";" -#line 366 "parser.ypp" - { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } + case 57: // stmt_expr: expr_decrement +#line 368 "parser.ypp" + { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } #line 2320 "parser.cpp" break; - case 58: // stmt_assign: expr_assign ";" -#line 371 "parser.ypp" - { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 58: // stmt_expr: %empty +#line 370 "parser.ypp" + { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } #line 2326 "parser.cpp" break; - case 59: // stmt_assign: expr_increment ";" -#line 373 "parser.ypp" - { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 59: // stmt_call: expr_call ";" +#line 375 "parser.ypp" + { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } #line 2332 "parser.cpp" break; - case 60: // stmt_assign: expr_decrement ";" -#line 375 "parser.ypp" - { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 60: // stmt_call: expr_method ";" +#line 377 "parser.ypp" + { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } #line 2338 "parser.cpp" break; - case 61: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 380 "parser.ypp" - { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } + case 61: // stmt_assign: expr_assign ";" +#line 382 "parser.ypp" + { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 2344 "parser.cpp" break; - case 62: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 385 "parser.ypp" - { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } + case 62: // stmt_assign: expr_increment ";" +#line 384 "parser.ypp" + { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 2350 "parser.cpp" break; - case 63: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 387 "parser.ypp" - { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } + case 63: // stmt_assign: expr_decrement ";" +#line 386 "parser.ypp" + { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 2356 "parser.cpp" break; - case 64: // stmt_wait: "wait" expr ";" -#line 392 "parser.ypp" - { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" +#line 391 "parser.ypp" + { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } #line 2362 "parser.cpp" break; - case 65: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 397 "parser.ypp" - { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } + case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" +#line 396 "parser.ypp" + { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } #line 2368 "parser.cpp" break; - case 66: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 399 "parser.ypp" - { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } + case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" +#line 398 "parser.ypp" + { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } #line 2374 "parser.cpp" break; - case 67: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 404 "parser.ypp" - { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } + case 67: // stmt_wait: "wait" expr ";" +#line 403 "parser.ypp" + { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 2380 "parser.cpp" break; - case 68: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 406 "parser.ypp" - { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } + case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" +#line 408 "parser.ypp" + { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } #line 2386 "parser.cpp" break; - case 69: // stmt_waittillframeend: "waittillframeend" ";" -#line 411 "parser.ypp" - { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } + case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" +#line 410 "parser.ypp" + { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } #line 2392 "parser.cpp" break; - case 70: // stmt_waitframe: "waitframe" ";" -#line 416 "parser.ypp" - { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } + case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" +#line 415 "parser.ypp" + { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } #line 2398 "parser.cpp" break; - case 71: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 418 "parser.ypp" - { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } + case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" +#line 417 "parser.ypp" + { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } #line 2404 "parser.cpp" break; - case 72: // stmt_if: "if" "(" expr ")" stmt -#line 423 "parser.ypp" - { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 72: // stmt_waittillframeend: "waittillframeend" ";" +#line 422 "parser.ypp" + { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } #line 2410 "parser.cpp" break; - case 73: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 428 "parser.ypp" - { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 73: // stmt_waitframe: "waitframe" ";" +#line 427 "parser.ypp" + { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } #line 2416 "parser.cpp" break; - case 74: // stmt_while: "while" "(" expr ")" stmt -#line 433 "parser.ypp" - { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 74: // stmt_waitframe: "waitframe" "(" ")" ";" +#line 429 "parser.ypp" + { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } #line 2422 "parser.cpp" break; - case 75: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 438 "parser.ypp" - { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } + case 75: // stmt_if: "if" "(" expr ")" stmt +#line 434 "parser.ypp" + { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2428 "parser.cpp" break; - case 76: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 443 "parser.ypp" - { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt +#line 439 "parser.ypp" + { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2434 "parser.cpp" break; - case 77: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 448 "parser.ypp" - { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 77: // stmt_while: "while" "(" expr ")" stmt +#line 444 "parser.ypp" + { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2440 "parser.cpp" break; - case 78: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 450 "parser.ypp" - { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } + case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" +#line 449 "parser.ypp" + { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } #line 2446 "parser.cpp" break; - case 79: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 455 "parser.ypp" - { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } + case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt +#line 454 "parser.ypp" + { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2452 "parser.cpp" break; - case 80: // stmt_case: "case" expr_integer ":" -#line 460 "parser.ypp" - { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } + case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt +#line 459 "parser.ypp" + { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2458 "parser.cpp" break; - case 81: // stmt_case: "case" expr_string ":" -#line 462 "parser.ypp" - { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } + case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt +#line 461 "parser.ypp" + { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } #line 2464 "parser.cpp" break; - case 82: // stmt_default: "default" ":" -#line 467 "parser.ypp" - { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } + case 82: // stmt_switch: "switch" "(" expr ")" stmt_block +#line 466 "parser.ypp" + { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } #line 2470 "parser.cpp" break; - case 83: // stmt_break: "break" ";" -#line 472 "parser.ypp" - { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } + case 83: // stmt_case: "case" expr_integer ":" +#line 471 "parser.ypp" + { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } #line 2476 "parser.cpp" break; - case 84: // stmt_continue: "continue" ";" -#line 477 "parser.ypp" - { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } + case 84: // stmt_case: "case" expr_string ":" +#line 473 "parser.ypp" + { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } #line 2482 "parser.cpp" break; - case 85: // stmt_return: "return" expr ";" -#line 482 "parser.ypp" - { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 85: // stmt_default: "default" ":" +#line 478 "parser.ypp" + { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } #line 2488 "parser.cpp" break; - case 86: // stmt_return: "return" ";" -#line 484 "parser.ypp" - { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } + case 86: // stmt_break: "break" ";" +#line 483 "parser.ypp" + { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } #line 2494 "parser.cpp" break; - case 87: // stmt_breakpoint: "breakpoint" ";" -#line 489 "parser.ypp" - { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } + case 87: // stmt_continue: "continue" ";" +#line 488 "parser.ypp" + { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } #line 2500 "parser.cpp" break; - case 88: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 494 "parser.ypp" - { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } + case 88: // stmt_return: "return" expr ";" +#line 493 "parser.ypp" + { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 2506 "parser.cpp" break; - case 89: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 499 "parser.ypp" - { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } + case 89: // stmt_return: "return" ";" +#line 495 "parser.ypp" + { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } #line 2512 "parser.cpp" break; - case 90: // expr: expr_ternary -#line 503 "parser.ypp" - { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } + case 90: // stmt_breakpoint: "breakpoint" ";" +#line 500 "parser.ypp" + { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } #line 2518 "parser.cpp" break; - case 91: // expr: expr_binary -#line 504 "parser.ypp" - { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } + case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" +#line 505 "parser.ypp" + { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } #line 2524 "parser.cpp" break; - case 92: // expr: expr_primitive -#line 505 "parser.ypp" - { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } + case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" +#line 510 "parser.ypp" + { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } #line 2530 "parser.cpp" break; - case 93: // expr_or_empty: expr -#line 509 "parser.ypp" + case 93: // expr: expr_ternary +#line 514 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } #line 2536 "parser.cpp" break; - case 94: // expr_or_empty: %empty -#line 510 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } + case 94: // expr: expr_binary +#line 515 "parser.ypp" + { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } #line 2542 "parser.cpp" break; - case 95: // expr_assign: expr_object "=" expr -#line 515 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 95: // expr: expr_primitive +#line 516 "parser.ypp" + { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } #line 2548 "parser.cpp" break; - case 96: // expr_assign: expr_object "|=" expr -#line 517 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 96: // expr_or_empty: expr +#line 520 "parser.ypp" + { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } #line 2554 "parser.cpp" break; - case 97: // expr_assign: expr_object "&=" expr -#line 519 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 97: // expr_or_empty: %empty +#line 521 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } #line 2560 "parser.cpp" break; - case 98: // expr_assign: expr_object "^=" expr -#line 521 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 98: // expr_assign: expr_object "=" expr +#line 526 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2566 "parser.cpp" break; - case 99: // expr_assign: expr_object "<<=" expr -#line 523 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } + case 99: // expr_assign: expr_object "|=" expr +#line 528 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2572 "parser.cpp" break; - case 100: // expr_assign: expr_object ">>=" expr -#line 525 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 100: // expr_assign: expr_object "&=" expr +#line 530 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2578 "parser.cpp" break; - case 101: // expr_assign: expr_object "+=" expr -#line 527 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 101: // expr_assign: expr_object "^=" expr +#line 532 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2584 "parser.cpp" break; - case 102: // expr_assign: expr_object "-=" expr -#line 529 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 102: // expr_assign: expr_object "<<=" expr +#line 534 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } #line 2590 "parser.cpp" break; - case 103: // expr_assign: expr_object "*=" expr -#line 531 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 103: // expr_assign: expr_object ">>=" expr +#line 536 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2596 "parser.cpp" break; - case 104: // expr_assign: expr_object "/=" expr -#line 533 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 104: // expr_assign: expr_object "+=" expr +#line 538 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2602 "parser.cpp" break; - case 105: // expr_assign: expr_object "%=" expr -#line 535 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 105: // expr_assign: expr_object "-=" expr +#line 540 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2608 "parser.cpp" break; - case 106: // expr_increment: "++" expr_object -#line 540 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } + case 106: // expr_assign: expr_object "*=" expr +#line 542 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2614 "parser.cpp" break; - case 107: // expr_increment: expr_object "++" -#line 542 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } + case 107: // expr_assign: expr_object "/=" expr +#line 544 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2620 "parser.cpp" break; - case 108: // expr_decrement: "--" expr_object -#line 547 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } + case 108: // expr_assign: expr_object "%=" expr +#line 546 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2626 "parser.cpp" break; - case 109: // expr_decrement: expr_object "--" -#line 549 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } + case 109: // expr_increment: "++" expr_object +#line 551 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } #line 2632 "parser.cpp" break; - case 110: // expr_ternary: expr "?" expr ":" expr -#line 554 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 110: // expr_increment: expr_object "++" +#line 553 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } #line 2638 "parser.cpp" break; - case 111: // expr_binary: expr "||" expr -#line 559 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 111: // expr_decrement: "--" expr_object +#line 558 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } #line 2644 "parser.cpp" break; - case 112: // expr_binary: expr "&&" expr -#line 561 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 112: // expr_decrement: expr_object "--" +#line 560 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } #line 2650 "parser.cpp" break; - case 113: // expr_binary: expr "==" expr -#line 563 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 113: // expr_ternary: expr "?" expr ":" expr +#line 565 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2656 "parser.cpp" break; - case 114: // expr_binary: expr "!=" expr -#line 565 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 114: // expr_binary: expr "||" expr +#line 570 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2662 "parser.cpp" break; - case 115: // expr_binary: expr "<=" expr -#line 567 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 115: // expr_binary: expr "&&" expr +#line 572 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2668 "parser.cpp" break; - case 116: // expr_binary: expr ">=" expr -#line 569 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 116: // expr_binary: expr "==" expr +#line 574 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2674 "parser.cpp" break; - case 117: // expr_binary: expr "<" expr -#line 571 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 117: // expr_binary: expr "!=" expr +#line 576 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2680 "parser.cpp" break; - case 118: // expr_binary: expr ">" expr -#line 573 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 118: // expr_binary: expr "<=" expr +#line 578 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2686 "parser.cpp" break; - case 119: // expr_binary: expr "|" expr -#line 575 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 119: // expr_binary: expr ">=" expr +#line 580 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2692 "parser.cpp" break; - case 120: // expr_binary: expr "&" expr -#line 577 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 120: // expr_binary: expr "<" expr +#line 582 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2698 "parser.cpp" break; - case 121: // expr_binary: expr "^" expr -#line 579 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 121: // expr_binary: expr ">" expr +#line 584 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2704 "parser.cpp" break; - case 122: // expr_binary: expr "<<" expr -#line 581 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 122: // expr_binary: expr "|" expr +#line 586 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2710 "parser.cpp" break; - case 123: // expr_binary: expr ">>" expr -#line 583 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 123: // expr_binary: expr "&" expr +#line 588 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2716 "parser.cpp" break; - case 124: // expr_binary: expr "+" expr -#line 585 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 124: // expr_binary: expr "^" expr +#line 590 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2722 "parser.cpp" break; - case 125: // expr_binary: expr "-" expr -#line 587 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 125: // expr_binary: expr "<<" expr +#line 592 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2728 "parser.cpp" break; - case 126: // expr_binary: expr "*" expr -#line 589 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 126: // expr_binary: expr ">>" expr +#line 594 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2734 "parser.cpp" break; - case 127: // expr_binary: expr "/" expr -#line 591 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 127: // expr_binary: expr "+" expr +#line 596 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2740 "parser.cpp" break; - case 128: // expr_binary: expr "%" expr -#line 593 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } + case 128: // expr_binary: expr "-" expr +#line 598 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2746 "parser.cpp" break; - case 129: // expr_primitive: expr_complement -#line 597 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } + case 129: // expr_binary: expr "*" expr +#line 600 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2752 "parser.cpp" break; - case 130: // expr_primitive: expr_not -#line 598 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } + case 130: // expr_binary: expr "/" expr +#line 602 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2758 "parser.cpp" break; - case 131: // expr_primitive: expr_call -#line 599 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } + case 131: // expr_binary: expr "%" expr +#line 604 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } #line 2764 "parser.cpp" break; - case 132: // expr_primitive: expr_method -#line 600 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } + case 132: // expr_primitive: expr_complement +#line 608 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } #line 2770 "parser.cpp" break; - case 133: // expr_primitive: expr_add_array -#line 601 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } + case 133: // expr_primitive: expr_not +#line 609 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } #line 2776 "parser.cpp" break; - case 134: // expr_primitive: expr_reference -#line 602 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } + case 134: // expr_primitive: expr_call +#line 610 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } #line 2782 "parser.cpp" break; - case 135: // expr_primitive: expr_array -#line 603 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } + case 135: // expr_primitive: expr_method +#line 611 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } #line 2788 "parser.cpp" break; - case 136: // expr_primitive: expr_field -#line 604 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } + case 136: // expr_primitive: expr_add_array +#line 612 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } #line 2794 "parser.cpp" break; - case 137: // expr_primitive: expr_size -#line 605 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } + case 137: // expr_primitive: expr_reference +#line 613 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } #line 2800 "parser.cpp" break; - case 138: // expr_primitive: expr_paren -#line 606 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } + case 138: // expr_primitive: expr_array +#line 614 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } #line 2806 "parser.cpp" break; - case 139: // expr_primitive: expr_thisthread -#line 607 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } + case 139: // expr_primitive: expr_field +#line 615 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } #line 2812 "parser.cpp" break; - case 140: // expr_primitive: expr_empty_array -#line 608 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } + case 140: // expr_primitive: expr_size +#line 616 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } #line 2818 "parser.cpp" break; - case 141: // expr_primitive: expr_undefined -#line 609 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } + case 141: // expr_primitive: expr_paren +#line 617 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } #line 2824 "parser.cpp" break; - case 142: // expr_primitive: expr_game -#line 610 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } + case 142: // expr_primitive: expr_thisthread +#line 618 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } #line 2830 "parser.cpp" break; - case 143: // expr_primitive: expr_self -#line 611 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } + case 143: // expr_primitive: expr_empty_array +#line 619 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } #line 2836 "parser.cpp" break; - case 144: // expr_primitive: expr_anim -#line 612 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } + case 144: // expr_primitive: expr_undefined +#line 620 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } #line 2842 "parser.cpp" break; - case 145: // expr_primitive: expr_level -#line 613 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } + case 145: // expr_primitive: expr_game +#line 621 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } #line 2848 "parser.cpp" break; - case 146: // expr_primitive: expr_animation -#line 614 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } + case 146: // expr_primitive: expr_self +#line 622 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } #line 2854 "parser.cpp" break; - case 147: // expr_primitive: expr_animtree -#line 615 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } + case 147: // expr_primitive: expr_anim +#line 623 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } #line 2860 "parser.cpp" break; - case 148: // expr_primitive: expr_identifier -#line 616 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } + case 148: // expr_primitive: expr_level +#line 624 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } #line 2866 "parser.cpp" break; - case 149: // expr_primitive: expr_istring -#line 617 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } + case 149: // expr_primitive: expr_animation +#line 625 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } #line 2872 "parser.cpp" break; - case 150: // expr_primitive: expr_string -#line 618 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } + case 150: // expr_primitive: expr_animtree +#line 626 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } #line 2878 "parser.cpp" break; - case 151: // expr_primitive: expr_color -#line 619 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } + case 151: // expr_primitive: expr_identifier +#line 627 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } #line 2884 "parser.cpp" break; - case 152: // expr_primitive: expr_vector -#line 620 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } + case 152: // expr_primitive: expr_istring +#line 628 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } #line 2890 "parser.cpp" break; - case 153: // expr_primitive: expr_float -#line 621 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } + case 153: // expr_primitive: expr_string +#line 629 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } #line 2896 "parser.cpp" break; - case 154: // expr_primitive: expr_integer -#line 622 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } + case 154: // expr_primitive: expr_vector +#line 630 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } #line 2902 "parser.cpp" break; - case 155: // expr_primitive: expr_false -#line 623 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } + case 155: // expr_primitive: expr_float +#line 631 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } #line 2908 "parser.cpp" break; - case 156: // expr_primitive: expr_true -#line 624 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } + case 156: // expr_primitive: expr_integer +#line 632 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } #line 2914 "parser.cpp" break; - case 157: // expr_complement: "~" expr -#line 629 "parser.ypp" - { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } + case 157: // expr_primitive: expr_false +#line 633 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } #line 2920 "parser.cpp" break; - case 158: // expr_not: "!" expr + case 158: // expr_primitive: expr_true #line 634 "parser.ypp" - { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } #line 2926 "parser.cpp" break; - case 159: // expr_call: expr_function -#line 638 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } + case 159: // expr_complement: "~" expr +#line 639 "parser.ypp" + { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } #line 2932 "parser.cpp" break; - case 160: // expr_call: expr_pointer -#line 639 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } + case 160: // expr_not: "!" expr +#line 644 "parser.ypp" + { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } #line 2938 "parser.cpp" break; - case 161: // expr_method: expr_object expr_function -#line 642 "parser.ypp" - { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } + case 161: // expr_call: expr_function +#line 648 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } #line 2944 "parser.cpp" break; - case 162: // expr_method: expr_object expr_pointer -#line 643 "parser.ypp" - { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } + case 162: // expr_call: expr_pointer +#line 649 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } #line 2950 "parser.cpp" break; - case 163: // expr_function: expr_identifier "(" expr_arguments ")" -#line 648 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } + case 163: // expr_method: expr_object expr_function +#line 652 "parser.ypp" + { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } #line 2956 "parser.cpp" break; - case 164: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 650 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } + case 164: // expr_method: expr_object expr_pointer +#line 653 "parser.ypp" + { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } #line 2962 "parser.cpp" break; - case 165: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 652 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } + case 165: // expr_function: expr_identifier "(" expr_arguments ")" +#line 658 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } #line 2968 "parser.cpp" break; - case 166: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 654 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } + case 166: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 660 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } #line 2974 "parser.cpp" break; - case 167: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 656 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } + case 167: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 662 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } #line 2980 "parser.cpp" break; - case 168: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 658 "parser.ypp" - { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } + case 168: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } #line 2986 "parser.cpp" break; - case 169: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 663 "parser.ypp" - { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } + case 169: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } #line 2992 "parser.cpp" break; - case 170: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 665 "parser.ypp" - { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } + case 170: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" + { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } #line 2998 "parser.cpp" break; - case 171: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 667 "parser.ypp" - { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } + case 171: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 673 "parser.ypp" + { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } #line 3004 "parser.cpp" break; - case 172: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 669 "parser.ypp" - { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } + case 172: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 675 "parser.ypp" + { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } #line 3010 "parser.cpp" break; - case 173: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 674 "parser.ypp" - { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } + case 173: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 677 "parser.ypp" + { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } #line 3016 "parser.cpp" break; - case 174: // expr_parameters: expr_parameters "," expr_identifier + case 174: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" #line 679 "parser.ypp" - { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } + { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } #line 3022 "parser.cpp" break; - case 175: // expr_parameters: expr_identifier -#line 681 "parser.ypp" - { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } + case 175: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 684 "parser.ypp" + { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } #line 3028 "parser.cpp" break; - case 176: // expr_parameters: %empty -#line 683 "parser.ypp" - { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } + case 176: // expr_parameters: expr_parameters "," expr_identifier +#line 689 "parser.ypp" + { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } #line 3034 "parser.cpp" break; - case 177: // expr_arguments: expr_arguments_no_empty -#line 688 "parser.ypp" - { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } + case 177: // expr_parameters: expr_identifier +#line 691 "parser.ypp" + { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } #line 3040 "parser.cpp" break; - case 178: // expr_arguments: %empty -#line 690 "parser.ypp" - { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } + case 178: // expr_parameters: %empty +#line 693 "parser.ypp" + { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } #line 3046 "parser.cpp" break; - case 179: // expr_arguments_no_empty: expr_arguments "," expr -#line 695 "parser.ypp" - { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } + case 179: // expr_arguments: expr_arguments_no_empty +#line 698 "parser.ypp" + { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } #line 3052 "parser.cpp" break; - case 180: // expr_arguments_no_empty: expr -#line 697 "parser.ypp" - { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } + case 180: // expr_arguments: %empty +#line 700 "parser.ypp" + { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } #line 3058 "parser.cpp" break; - case 181: // expr_reference: "::" expr_identifier -#line 702 "parser.ypp" - { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } + case 181: // expr_arguments_no_empty: expr_arguments "," expr +#line 705 "parser.ypp" + { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } #line 3064 "parser.cpp" break; - case 182: // expr_reference: expr_path "::" expr_identifier -#line 704 "parser.ypp" - { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } + case 182: // expr_arguments_no_empty: expr +#line 707 "parser.ypp" + { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } #line 3070 "parser.cpp" break; - case 183: // expr_array: expr_object "[" expr "]" -#line 709 "parser.ypp" - { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } + case 183: // expr_reference: "::" expr_identifier +#line 712 "parser.ypp" + { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } #line 3076 "parser.cpp" break; - case 184: // expr_field: expr_object "." expr_identifier + case 184: // expr_reference: expr_path "::" expr_identifier #line 714 "parser.ypp" - { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } + { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } #line 3082 "parser.cpp" break; - case 185: // expr_field: expr_object "field" -#line 716 "parser.ypp" - { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } + case 185: // expr_array: expr_object "[" expr "]" +#line 719 "parser.ypp" + { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } #line 3088 "parser.cpp" break; - case 186: // expr_size: expr_object ".size" -#line 721 "parser.ypp" - { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + case 186: // expr_field: expr_object "." expr_identifier +#line 724 "parser.ypp" + { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } #line 3094 "parser.cpp" break; - case 187: // expr_paren: "(" expr ")" + case 187: // expr_field: expr_object "field" #line 726 "parser.ypp" - { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } + { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } #line 3100 "parser.cpp" break; - case 188: // expr_object: expr_call -#line 730 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } + case 188: // expr_size: expr_object ".size" +#line 731 "parser.ypp" + { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 3106 "parser.cpp" break; - case 189: // expr_object: expr_method -#line 731 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } + case 189: // expr_paren: "(" expr ")" +#line 736 "parser.ypp" + { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } #line 3112 "parser.cpp" break; - case 190: // expr_object: expr_array -#line 732 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } + case 190: // expr_object: expr_call +#line 740 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } #line 3118 "parser.cpp" break; - case 191: // expr_object: expr_field -#line 733 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } + case 191: // expr_object: expr_method +#line 741 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } #line 3124 "parser.cpp" break; - case 192: // expr_object: expr_game -#line 734 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } + case 192: // expr_object: expr_array +#line 742 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } #line 3130 "parser.cpp" break; - case 193: // expr_object: expr_self -#line 735 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } + case 193: // expr_object: expr_field +#line 743 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } #line 3136 "parser.cpp" break; - case 194: // expr_object: expr_anim -#line 736 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } + case 194: // expr_object: expr_game +#line 744 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } #line 3142 "parser.cpp" break; - case 195: // expr_object: expr_level -#line 737 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } + case 195: // expr_object: expr_self +#line 745 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } #line 3148 "parser.cpp" break; - case 196: // expr_object: expr_identifier -#line 738 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } + case 196: // expr_object: expr_anim +#line 746 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } #line 3154 "parser.cpp" break; - case 197: // expr_thisthread: "thisthread" -#line 743 "parser.ypp" - { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } + case 197: // expr_object: expr_level +#line 747 "parser.ypp" + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } #line 3160 "parser.cpp" break; - case 198: // expr_empty_array: "[" "]" + case 198: // expr_object: expr_identifier #line 748 "parser.ypp" - { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } #line 3166 "parser.cpp" break; - case 199: // expr_undefined: "undefined" + case 199: // expr_thisthread: "thisthread" #line 753 "parser.ypp" - { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } #line 3172 "parser.cpp" break; - case 200: // expr_game: "game" + case 200: // expr_empty_array: "[" "]" #line 758 "parser.ypp" - { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } #line 3178 "parser.cpp" break; - case 201: // expr_self: "self" + case 201: // expr_undefined: "undefined" #line 763 "parser.ypp" - { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } #line 3184 "parser.cpp" break; - case 202: // expr_anim: "anim" + case 202: // expr_game: "game" #line 768 "parser.ypp" - { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } #line 3190 "parser.cpp" break; - case 203: // expr_level: "level" + case 203: // expr_self: "self" #line 773 "parser.ypp" - { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } #line 3196 "parser.cpp" break; - case 204: // expr_animation: "%" "identifier" + case 204: // expr_anim: "anim" #line 778 "parser.ypp" - { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } #line 3202 "parser.cpp" break; - case 205: // expr_animtree: "#animtree" + case 205: // expr_level: "level" #line 783 "parser.ypp" - { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } #line 3208 "parser.cpp" break; - case 206: // expr_identifier: "identifier" + case 206: // expr_animation: "%" "identifier" #line 788 "parser.ypp" - { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3214 "parser.cpp" break; - case 207: // expr_path: "path" + case 207: // expr_animtree: "#animtree" #line 793 "parser.ypp" - { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } #line 3220 "parser.cpp" break; - case 208: // expr_path: expr_identifier -#line 795 "parser.ypp" - { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } + case 208: // expr_identifier: "identifier" +#line 798 "parser.ypp" + { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3226 "parser.cpp" break; - case 209: // expr_istring: "localized string" -#line 800 "parser.ypp" - { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + case 209: // expr_path: "path" +#line 803 "parser.ypp" + { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3232 "parser.cpp" break; - case 210: // expr_string: "string literal" + case 210: // expr_path: expr_identifier #line 805 "parser.ypp" - { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } #line 3238 "parser.cpp" break; - case 211: // expr_color: "color" + case 211: // expr_istring: "localized string" #line 810 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3244 "parser.cpp" break; - case 212: // expr_vector: "(" expr "," expr "," expr ")" + case 212: // expr_string: "string literal" #line 815 "parser.ypp" - { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } + { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3250 "parser.cpp" break; - case 213: // expr_float: "-" "float" + case 213: // expr_vector: "(" expr "," expr "," expr ")" #line 820 "parser.ypp" - { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } #line 3256 "parser.cpp" break; - case 214: // expr_float: "float" -#line 822 "parser.ypp" - { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + case 214: // expr_float: "-" "float" +#line 825 "parser.ypp" + { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } #line 3262 "parser.cpp" break; - case 215: // expr_integer: "-" "integer" + case 215: // expr_float: "float" #line 827 "parser.ypp" - { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } + { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3268 "parser.cpp" break; - case 216: // expr_integer: "integer" -#line 829 "parser.ypp" - { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } + case 216: // expr_integer: "-" "integer" +#line 832 "parser.ypp" + { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } #line 3274 "parser.cpp" break; - case 217: // expr_false: "false" + case 217: // expr_integer: "integer" #line 834 "parser.ypp" - { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } #line 3280 "parser.cpp" break; - case 218: // expr_true: "true" + case 218: // expr_false: "false" #line 839 "parser.ypp" - { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } + { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } #line 3286 "parser.cpp" break; + case 219: // expr_true: "true" +#line 844 "parser.ypp" + { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } +#line 3292 "parser.cpp" + break; -#line 3290 "parser.cpp" + +#line 3296 "parser.cpp" default: break; @@ -3482,12 +3488,12 @@ namespace xsk { namespace gsc { namespace s2 { ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", "identifier", "string literal", - "localized string", "color", "float", "integer", "ADD_ARRAY", "THEN", - "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", - "$accept", "root", "program", "inline", "include", "declaration", - "decl_usingtree", "decl_constant", "decl_thread", "stmt", "stmt_dev", - "stmt_block", "stmt_list", "stmt_expr", "stmt_call", "stmt_assign", - "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", + "localized string", "float", "integer", "ADD_ARRAY", "THEN", "TERN", + "NEG", "ANIMREF", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "$accept", + "root", "program", "inline", "include", "declaration", "decl_usingtree", + "decl_constant", "decl_thread", "stmt", "stmt_or_dev", "stmt_list", + "stmt_or_dev_list", "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", + "stmt_assign", "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", @@ -3501,8 +3507,8 @@ namespace xsk { namespace gsc { namespace s2 { "expr_object", "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", "expr_animation", "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "expr_string", "expr_vector", "expr_float", "expr_integer", "expr_false", + "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3769,678 +3775,683 @@ namespace xsk { namespace gsc { namespace s2 { const short parser::yypact_ninf_ = -267; - const short parser::yytable_ninf_ = -209; + const short parser::yytable_ninf_ = -211; const short parser::yypact_[] = { - 5, -267, -267, 49, 49, -28, -267, 26, 5, -267, - -267, -267, -267, -267, -267, -39, -267, -267, -34, -32, - -64, -267, -267, -267, -267, -61, 1195, -267, -267, -267, - 8, -26, -267, -267, -25, -13, -267, -3, -267, -267, - -267, -267, -267, -267, -267, 1195, 1065, -61, 1195, 1195, - -14, -55, -267, -267, -267, -267, 1999, -267, -267, -267, - -267, -267, 23, 346, -267, -267, -267, -267, 432, 805, - -267, -267, 935, -267, -267, -267, 1161, 1226, 1274, 1288, - -267, -267, 548, 17, -267, -267, -267, -267, -267, -267, - -267, -267, 3, 27, -61, 41, 31, 57, 42, 71, - 77, 45, 1325, 1065, -267, 2082, 83, 111, -267, -267, - -267, -267, -267, -267, -267, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, -267, 1260, -61, -267, -267, -267, - 117, 110, 1195, -61, -267, 779, -267, -267, 1195, 1195, - -61, 1195, 1195, -61, 1195, -267, 1195, 1061, 1195, -267, - 1964, 134, 134, 2113, 2123, 609, 609, 36, 36, 36, - 36, 2154, 2195, 2164, 65, 65, -267, -267, -267, 1769, - -267, -61, -16, -267, 122, 857, 1195, 118, -29, 124, - 1039, 130, 131, 135, 136, -5, 128, 133, 139, 1130, - 140, 145, 151, -267, 152, 115, 115, -267, -267, -267, - 909, -267, -267, -267, -267, -267, -267, -267, -267, -267, + 4, -267, -267, -69, -69, -28, -267, 26, 4, -267, + -267, -267, -267, -267, -267, -40, -267, -267, -16, -3, + 5, -267, -267, -267, -267, -27, 1039, -267, -267, -267, + 23, -26, -267, -267, -36, -34, -267, 42, -267, -267, + -267, -267, -267, -267, -267, 1039, 625, -27, 1039, 1039, + -24, 14, -267, -267, -267, 2008, -267, -267, -267, -267, + -267, 291, 431, -267, -267, -267, -267, 592, 663, -267, + -267, 1003, -267, -267, -267, 1013, 1077, 1244, 1252, -267, + -267, 67, 44, -267, -267, -267, -267, -267, -267, -267, + 50, 68, -27, 60, 80, 76, 89, 90, 78, 94, + 1294, 625, -267, 2091, 88, 95, -267, -267, -267, -267, + -267, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, -267, 1103, -27, -267, -267, -267, 104, 101, + 1039, -27, -267, 789, -267, -267, 1039, 1039, -27, 1039, + 1039, -27, 1039, -267, 1039, 1738, 1039, -267, 1973, 126, + 126, 1243, 2122, 2204, 2204, 415, 415, 415, 415, 2132, + 2173, 2163, 63, 63, -267, -267, -267, 1778, -267, -27, + -5, -267, 110, 895, 1039, 105, -2, 116, 1232, 117, + 118, 120, 121, -49, 113, 122, 123, 975, 125, 138, + 141, -267, 140, 548, 548, -267, -267, 841, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, 147, 153, 157, 169, 170, - -267, -267, 28, -267, -267, -267, -267, -31, 1809, -2, - 155, 1849, -1, 182, 1889, 1928, 178, 2082, 1195, -267, - 122, -267, 1195, -267, 987, 2034, -267, 184, -267, 1195, - 211, 1195, 534, -61, 1195, 141, 185, 186, -267, -267, - -267, -267, 2069, -267, 1195, 1195, 1195, -267, -267, 177, - 177, -267, -267, -267, -267, -267, -267, -267, 197, 198, - 199, 201, -267, -267, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 200, -267, 1195, 202, -267, - 1195, 204, 1195, 203, 2082, 1, -267, -267, 192, 1491, - 210, 1525, 194, -267, -267, -267, 669, -8, 1559, -267, - -267, -267, 9, 38, 1061, 1195, 1195, 1195, 1195, 2082, - 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, - 213, 47, 215, 66, 216, 1593, 1195, -267, -267, 1039, - 1195, 1039, 1195, 1195, -61, 27, 217, 219, 1627, 1369, - 1413, 1457, 1195, -267, 1195, -267, 1195, -267, 82, 238, - 1661, -267, 2082, 223, 1695, 247, -267, -267, -267, 224, - 225, 1195, 226, 1195, 229, 1195, 91, 104, 114, -267, - 1039, 230, 534, 1039, 1195, -267, -267, 240, -267, 241, - -267, 248, -267, -267, -267, -267, -267, 249, -267, 1729, - 243, 244, 245, 1039, 1039, -267, -267, -267, -267, -267 + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + -267, -267, -267, -267, 137, 143, 144, 146, 149, -267, + -267, 1151, -267, -267, -267, -267, -29, 1818, 15, 148, + 1858, 16, 150, 1898, 1937, 155, 2091, 1039, -267, 110, + -267, 1039, -267, -267, 949, 2043, -267, 161, -267, 1039, + 198, 1039, 690, -27, 1039, 124, 165, 167, -267, -267, + -267, -267, 2078, -267, 1039, 1039, 1039, -267, -267, -4, + -4, -267, -267, -267, -267, -267, -267, -267, 180, 181, + 182, 184, -267, -267, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 174, -267, 1039, 183, -267, + 1039, 185, 1039, 191, 2091, 17, -267, -267, -267, 175, + 1460, 192, 1494, 186, -267, -267, -267, 2, -9, 1528, + -267, -267, -267, 38, 53, 1738, 1039, 1039, 1039, 1039, + 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, + 2091, 193, 62, 194, 71, 197, 1562, 1039, -267, -267, + 1232, 1039, 1232, 1039, 1039, -27, 68, 188, 189, 1596, + 1338, 1382, 1426, 1039, -267, 1039, -267, 1039, -267, 72, + 228, 1630, -267, 2091, 195, 1664, 224, -267, -267, -267, + 199, 200, 1039, 201, 1039, 203, 1039, 75, 82, 86, + -267, 1232, 205, 690, 1232, 1039, -267, -267, 202, -267, + 215, -267, 216, -267, -267, -267, -267, -267, 222, -267, + 1698, 214, 219, 220, 1232, 1232, -267, -267, -267, -267, + -267 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 206, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 207, 208, 0, 0, - 0, 1, 4, 5, 6, 176, 0, 10, 11, 210, - 0, 0, 175, 205, 0, 0, 197, 0, 218, 217, - 199, 200, 201, 202, 203, 0, 178, 0, 0, 0, - 0, 0, 209, 211, 214, 216, 0, 90, 91, 92, - 129, 130, 131, 132, 159, 160, 133, 134, 135, 136, - 137, 138, 0, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 149, 150, 151, 152, 153, 154, - 155, 156, 0, 0, 0, 0, 208, 0, 0, 208, - 0, 0, 0, 178, 198, 180, 0, 177, 181, 158, - 157, 213, 215, 204, 18, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 208, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 209, 210, 0, 0, + 0, 1, 4, 5, 6, 178, 0, 10, 11, 212, + 0, 0, 177, 207, 0, 0, 199, 0, 219, 218, + 201, 202, 203, 204, 205, 0, 180, 0, 0, 0, + 0, 0, 211, 215, 217, 0, 93, 94, 95, 132, + 133, 134, 135, 161, 162, 136, 137, 138, 139, 140, + 141, 0, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 157, 158, + 0, 0, 0, 0, 210, 0, 0, 210, 0, 0, + 0, 180, 200, 182, 0, 179, 183, 160, 159, 214, + 216, 206, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 185, 161, 162, - 208, 0, 178, 0, 17, 0, 19, 174, 0, 178, - 0, 0, 178, 0, 0, 187, 0, 180, 0, 173, - 0, 122, 123, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 124, 125, 126, 127, 128, 0, - 184, 0, 0, 177, 182, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 187, 163, 164, 210, 0, + 180, 0, 17, 0, 19, 176, 0, 180, 0, 0, + 180, 0, 0, 189, 0, 182, 0, 175, 0, 125, + 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 127, 128, 129, 130, 131, 0, 186, 0, + 0, 179, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 0, 0, 0, 51, 20, 21, - 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 0, 0, 0, 188, 189, - 190, 191, 0, 192, 193, 194, 195, 196, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 183, - 0, 163, 178, 47, 0, 0, 69, 0, 70, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 82, 83, - 84, 86, 0, 87, 178, 178, 0, 188, 189, 106, - 108, 48, 50, 58, 59, 60, 56, 57, 0, 0, - 0, 0, 107, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 165, 178, 0, 167, - 178, 0, 0, 0, 110, 0, 46, 64, 0, 0, - 0, 0, 0, 52, 53, 54, 0, 0, 0, 81, - 80, 85, 0, 0, 0, 0, 0, 0, 0, 95, - 101, 102, 103, 104, 105, 96, 97, 98, 100, 99, - 0, 0, 0, 0, 0, 0, 178, 164, 71, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 166, 178, 168, 178, 212, 0, 72, - 0, 74, 93, 0, 0, 0, 79, 88, 89, 0, - 0, 178, 0, 178, 0, 178, 0, 0, 0, 169, - 0, 0, 55, 0, 0, 61, 63, 177, 66, 177, - 68, 177, 170, 171, 172, 73, 75, 0, 77, 0, - 0, 0, 0, 0, 0, 62, 65, 67, 76, 78 + 41, 42, 43, 44, 0, 0, 0, 190, 191, 192, + 193, 0, 194, 195, 196, 197, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 0, 185, 0, + 165, 180, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 180, 180, 0, 190, 191, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 167, 180, 0, 169, + 180, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 180, 166, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 168, 180, 170, 180, 213, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 180, 0, 180, 0, 180, 0, 0, 0, + 171, 0, 0, 58, 0, 0, 64, 66, 179, 69, + 179, 71, 179, 172, 173, 174, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -267, -267, -267, 292, 300, 301, -267, -267, -267, -72, - -267, -91, 144, -81, -267, -267, -267, -267, -267, -267, + -267, -267, -267, 275, 277, 280, -267, -267, -267, -155, + 85, -267, -267, -267, -89, -120, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, -267, -267, -267, 195, -267, - -266, -260, -258, -267, -267, -267, -267, -267, -130, -12, - -67, -65, -267, -267, 340, -45, -267, -6, 246, -267, - -267, 252, -267, -267, -267, 280, 329, 348, 366, -267, - -267, 0, 6, -267, -9, -267, -267, -267, 137, -267, - -267 + -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, + 190, -267, -266, -259, -258, -267, -267, -267, -267, -267, + -86, -12, -66, -60, -267, -267, 13, -45, -267, -6, + 179, -267, -267, 249, -267, -267, -267, 282, 337, 362, + 372, -267, -267, 0, 6, -267, -13, -267, -267, 106, + -267, -267 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 207, - 208, 209, 210, 332, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 105, 393, - 235, 236, 237, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 31, 106, 183, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 205, + 206, 264, 207, 208, 209, 333, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 103, 394, 234, 235, 236, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 31, 104, 181, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89 }; const short parser::yytable_[] = { - 15, 107, 146, 17, 17, 138, 333, 139, 15, 18, - 19, 30, 334, 25, 335, 238, 1, 2, 3, 4, - 5, 142, 373, 267, 20, 32, 21, 93, 27, -208, - 28, 95, 94, 268, 96, 99, 29, 261, 6, 26, - 97, 100, 158, 98, 113, 298, 299, 108, 300, 301, - 374, 316, 319, 101, 367, 238, 158, 158, 107, 158, - 238, 92, 376, -188, -188, 144, -188, 158, 34, 35, - -188, 37, 140, 16, 6, 287, 287, 143, 141, -188, - 238, 145, -188, 149, 135, 16, 6, 136, 275, 111, - 112, 377, 302, 303, 147, 29, 158, 148, 151, 55, - 383, 154, 116, 117, 6, 158, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 150, 270, 385, - -188, -188, -188, 152, 158, 137, 16, 6, 129, 130, - 131, 132, 133, 239, 238, 409, 180, 153, 292, 240, - 158, 158, 287, 184, 422, 247, 333, 16, 6, 158, - 250, 141, 334, 253, 335, 34, 35, 423, 37, 131, - 132, 133, 158, 41, 42, 43, 44, 424, 159, 142, - 181, 204, 158, 239, 262, 138, 269, 139, 239, 240, - 266, 260, 271, 272, 240, 247, 276, 273, 274, 278, - 247, 141, 292, 288, 288, 279, 141, 284, 239, 240, - 240, 280, 283, 285, 240, 247, 247, 317, 286, 293, - 247, 141, 141, 16, 6, 294, 141, 34, 35, 295, - 37, 56, 138, 138, 139, 139, 129, 130, 131, 132, - 133, 296, 297, 135, 320, 323, 136, 328, 330, 238, - 102, 238, 140, 109, 110, 112, 339, 340, 141, 345, - 346, 347, 239, 348, 368, 366, 372, 360, 240, 362, - 288, 364, 370, 410, 247, 382, 240, 384, 386, 138, - 141, 139, 247, 337, 137, 16, 6, 414, 141, 397, - 238, 398, 287, 238, 396, 412, 415, 416, 418, 140, - 140, 420, 426, 430, 431, 141, 141, 389, 157, 391, - 22, 432, 433, 238, 238, 435, 436, 437, 23, 24, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 264, - 179, 427, 277, 0, 0, 0, 140, 0, 425, 0, - 0, 428, 141, 248, 0, 0, 251, 0, 0, 254, - 0, 255, 0, 257, 0, 0, 417, 239, 419, 239, - 421, 438, 439, 240, 0, 240, 0, 0, 0, 247, - 0, 247, 0, 0, 395, 141, 0, 141, 0, 0, - 0, 265, 0, 0, 0, 0, -189, -189, 0, -189, - 0, 241, 0, -189, 282, 0, 0, 242, 239, 0, - 288, 239, -189, 0, 240, -189, 240, 240, 0, 0, - 247, 0, 247, 247, 0, 0, 141, 0, 141, 141, - 0, 239, 239, 0, 0, 243, 0, 240, 240, 0, - 0, 241, 0, 247, 247, 0, 241, 242, 0, 141, - 141, 0, 242, -189, -189, -189, 0, 0, 0, 0, - 0, 241, 241, 324, 0, 0, 241, 289, 290, 0, - 0, 0, 242, 0, 329, 243, 331, 0, 0, 338, - 243, 0, -190, -190, 244, -190, 0, 0, 0, -190, - 0, 344, 182, 0, 0, 243, 243, 0, -190, 249, - 243, -190, 252, 245, 0, 0, 0, 0, 0, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 241, 246, 0, 0, 244, 0, 242, 365, 241, 244, - 0, 0, 0, 0, 336, 0, 0, 0, 0, -190, - -190, -190, 0, 245, 244, 244, 0, 0, 245, 244, - 378, 379, 380, 381, 243, 0, 0, 0, 0, 0, - 0, 246, 243, 245, 245, 0, 246, 0, 245, 0, - 0, 0, 0, 0, 0, 390, 0, 392, 394, 0, - 0, 246, 246, 0, 34, 35, 246, 37, 0, 0, - 0, 0, 41, 42, 43, 44, 0, 0, -196, -196, - 204, -196, 0, 244, 0, -196, 0, 0, 205, 206, - 142, 244, 325, 0, -196, 0, 0, -196, -208, 429, - 0, 0, 245, 0, 0, 241, 0, 241, 0, 0, - 245, 242, 0, 242, 342, 343, 0, 0, 0, 0, - 246, 0, 16, 6, 0, 0, 0, 0, 246, 0, - 0, 0, 0, 0, 0, -196, -196, -196, 0, 243, - 0, 243, 0, 0, 0, 0, 241, 361, 241, 241, - 363, 0, 242, 0, 336, 242, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 117, 0, 0, 241, - 241, 122, 123, 124, 125, 242, 242, 0, 0, 0, - 243, 0, 243, 243, 0, 0, 0, 0, 244, 0, - 244, 129, 130, 131, 132, 133, 388, 0, 0, 34, - 35, 0, 37, 243, 243, 0, 0, 245, 0, 245, - 0, 0, 406, 0, 407, 135, 408, 0, 136, 0, - 0, 0, 0, 302, 303, 246, 0, 246, 0, 244, - 0, 244, 244, 0, 0, 0, 0, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 245, 0, - 245, 245, 244, 244, 0, 0, 137, 16, 6, 0, - 0, 0, 0, 0, 0, 0, 246, 0, 246, 246, - 0, 245, 245, 0, 0, 0, 0, 0, 0, 0, - 185, 0, 0, 0, 0, 0, 0, 0, 186, 246, - 246, 187, 188, 189, 0, 190, 191, 192, 193, 0, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 34, - 35, 0, 37, 0, 0, 0, 0, 41, 42, 43, - 44, 0, 0, 145, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 205, 206, -191, -191, 0, -191, 0, - 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, - 0, -191, 0, 0, -191, 0, 0, 0, 185, 263, - 0, 0, 0, 0, 0, 0, 186, 16, 6, 187, - 188, 189, 0, 190, 191, 192, 193, 0, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 34, 35, 0, - 37, 0, -191, -191, -191, 41, 42, 43, 44, 0, - 0, 145, 0, 204, 0, 0, 0, 0, 0, 0, - 185, 205, 206, 0, 0, 0, 0, 0, 186, 0, - 0, 187, 188, 189, 0, 190, 191, 192, 193, 0, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 34, - 35, 0, 37, 0, 0, 16, 6, 41, 42, 43, - 44, 0, 0, 145, 291, 204, 0, 0, 0, 0, - 0, 0, 0, 205, 206, 34, 35, 0, 37, 0, - 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, - 0, 135, 0, 0, 136, 0, 0, 0, 185, 326, - 0, 0, 0, 0, 0, 0, 186, 16, 6, 187, - 188, 189, 0, 190, 191, 192, 193, 0, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 34, 35, 0, - 37, 0, 137, 16, 6, 41, 42, 43, 44, 0, - 0, 145, 0, 204, 0, 0, 0, 0, 0, 0, - 185, 205, 206, 0, 0, 0, 0, 0, 186, 0, - 0, 187, 188, 189, 0, 190, 191, 192, 193, 0, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 34, - 35, 33, 37, 0, 0, 16, 6, 41, 42, 43, - 44, 0, 0, 145, 0, 204, 0, 0, 0, 0, - 0, 0, 0, 205, 206, 34, 35, 36, 37, 38, - 39, 40, 0, 41, 42, 43, 44, 45, 256, 0, - 0, 103, 104, 0, 115, 47, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 16, 6, 0, - 0, 48, 49, 0, 0, 0, 33, 0, 0, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 50, 0, - 0, 51, 0, 16, 6, 29, 52, 53, 54, 55, - 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, - 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, - 47, 0, 281, 0, 0, 0, 0, 0, 0, 0, - 0, -192, -192, 0, -192, 0, 48, 49, -192, 0, - 0, 33, 0, 0, 0, 0, 0, -192, 0, 0, - -192, 0, 0, 50, 0, 0, 51, 0, 16, 6, - 29, 52, 53, 54, 55, 34, 35, 36, 37, 38, + 15, 105, 144, 17, 17, 136, 334, 30, 15, 18, + 19, 137, 25, 335, 336, 1, 2, 3, 4, 5, + 93, 374, 96, 140, 20, 32, 21, 91, 263, 16, + 6, -210, 92, 270, 94, 97, 34, 35, 26, 37, + 95, 98, 34, 35, 275, 37, 27, 106, 260, 375, + 267, 29, 133, 156, 54, 134, 105, 237, 133, 28, + 268, 134, 16, 6, 16, 6, 302, 303, 316, 319, + 368, 138, 6, 156, 156, 156, 90, 139, 109, 110, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 377, 145, 135, 16, 6, 156, 237, 99, 135, + 16, 6, 237, 6, 141, 29, 378, -198, -198, 327, + -198, 156, 142, 111, -198, 384, 146, 287, 287, 140, + 156, 237, 143, -198, 386, 410, -198, -210, 423, 156, + 156, 238, 147, 156, 178, 424, 148, 239, 151, 425, + 156, 182, 150, 246, 156, 149, 156, 334, 249, 139, + 152, 252, 157, 180, 335, 336, 140, 129, 130, 131, + 248, 179, 261, 251, -198, -198, -198, 266, 269, 271, + 272, 238, 273, 274, 278, 136, 238, 239, 237, 259, + 276, 137, 239, 246, 279, 280, 287, 283, 246, 139, + 284, 288, 288, 285, 139, 238, 286, 239, 239, 293, + 317, 239, 320, 246, 246, 294, 295, 246, 296, 139, + 139, 297, 323, 139, 329, 390, 55, 392, 127, 128, + 129, 130, 131, 136, 136, 331, 340, 110, 341, 137, + 137, 361, 346, 347, 348, 100, 349, 369, 107, 108, + 363, 138, 365, 367, 371, 383, 385, 139, 373, 387, + 398, 399, 238, 411, 415, 431, 426, 413, 239, 429, + 288, 416, 417, 419, 246, 421, 239, 427, 432, 433, + 139, 136, 246, 338, 325, 434, 436, 137, 139, 439, + 440, 437, 438, 22, 237, 23, 237, 397, 24, 138, + 138, 155, 292, 428, 0, 139, 139, 343, 344, 277, + 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 240, 177, 0, 237, 0, 287, 237, 0, + 362, -190, -190, 364, -190, 0, 247, 138, -190, 250, + 0, 0, 253, 139, 254, 0, 256, -190, 237, 237, + -190, 0, 0, 0, 0, 0, 0, 418, 238, 420, + 238, 422, 240, 0, 239, 0, 239, 240, 0, 0, + 246, 0, 246, 0, 265, 396, 139, 0, 139, 0, + 389, 0, 240, 240, 0, 0, 240, 282, -190, -190, + -190, 0, 241, 0, 0, 0, 407, 0, 408, 238, + 409, 288, 238, 0, 0, 239, 0, 239, 239, 0, + 0, 246, 0, 246, 246, 0, 0, 139, 0, 139, + 139, 0, 238, 238, 0, 242, 0, 0, 239, 239, + 0, 0, 241, 0, 246, 246, 0, 241, 0, 0, + 139, 139, 0, 240, 0, 0, 0, 324, 0, 0, + 0, 240, 289, 290, 0, 0, 241, 0, 0, 330, + 0, 332, 0, 0, 339, 242, 0, 0, 0, 0, + 242, -191, -191, 0, -191, 0, 345, 0, -191, 0, + 243, 114, 115, 0, 0, 242, 242, -191, 0, 242, + -191, 0, 0, 0, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 244, 0, 127, 128, 129, + 130, 131, 366, 241, 0, 245, 0, 0, 0, 0, + 243, 337, 0, 0, 0, 243, 0, 0, -191, -191, + -191, 0, 0, 0, 0, 0, 379, 380, 381, 382, + 243, 243, 0, 0, 243, 244, 242, 0, 0, 240, + 244, 240, 0, 0, 242, 245, 0, 0, 0, 0, + 245, 391, 0, 393, 395, 244, 244, 0, 0, 244, + 0, 0, 0, 0, 0, 245, 245, 0, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 240, 37, 240, 240, 0, 0, 41, 42, 43, 44, + 0, 243, 0, 0, 202, 430, 0, 0, 0, 243, + 0, 0, 0, 240, 240, 0, 0, 0, 0, 241, + 0, 241, 0, 0, 0, 0, 244, 0, 0, 0, + 0, 0, -192, -192, 244, -192, 245, 0, 0, -192, + 0, 33, 0, 0, 245, 0, 16, 6, -192, 0, + 0, -192, 242, 0, 242, 0, 0, 0, 0, 0, + 241, 0, 337, 241, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, - 0, 46, 0, 0, 0, 47, 0, 0, -192, -192, - -192, 0, 0, 0, 0, 0, -193, -193, 0, -193, - 0, 48, 49, -193, 0, 0, 33, 0, 0, 0, - 0, 0, -193, 0, 0, -193, 0, 0, 50, 0, - 0, 51, 0, 16, 6, 29, 52, 53, 54, 55, - 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, - 43, 44, 45, 0, -194, -194, 103, -194, 0, 0, - 47, -194, 0, -193, -193, -193, 0, 0, -195, -195, - -194, -195, 0, -194, 0, -195, 48, 49, 0, 0, - 0, 0, 0, 0, -195, 0, 0, -195, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 0, 16, 6, - 29, 52, 53, 54, 55, 0, 0, 0, 0, 0, - 0, -194, -194, -194, 0, 0, 0, 0, 155, 0, - 0, 0, 0, 156, 0, -195, -195, -195, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 400, 0, 0, 0, 0, 401, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 402, 0, 0, 0, - 0, 403, 0, 0, 0, 0, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 101, 102, 241, 241, 47, 0, 0, 0, -192, + -192, -192, 0, 242, 0, 242, 242, 0, 0, 0, + 0, 48, 49, -193, -193, 0, -193, 243, 0, 243, + -193, 0, 0, 0, 0, 0, 242, 242, 50, -193, + 0, 51, -193, 16, 6, 29, 52, 53, 54, 0, + 34, 35, 244, 37, 244, 0, 0, 0, 41, 42, + 43, 44, 245, 0, 245, 0, 202, 0, 243, 0, + 243, 243, 0, 0, 203, 204, 0, 0, 0, 0, + -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 243, 244, 0, 244, 244, 0, 0, 0, + 0, 0, 0, 245, 0, 245, 245, 0, 16, 6, + 0, 0, 0, 0, 0, 0, 244, 244, 0, 0, + 183, 0, 0, 0, 0, 0, 245, 245, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 0, 37, 0, 0, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 201, 202, 0, 0, 0, 0, + 0, 0, 183, 203, 204, 0, 0, 0, 0, 0, + 184, 0, 0, 185, 186, 187, 0, 188, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 34, 35, 0, 37, 0, 0, 16, 6, 41, + 42, 43, 44, 0, 0, 143, 291, 202, 0, 0, + 0, 0, 0, 0, 0, 203, 204, 262, 0, 0, + 0, 0, 0, 0, 184, 0, 0, 185, 186, 187, + 0, 188, 189, 190, 191, 0, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 34, 35, 0, 37, 16, + 6, 0, 0, 41, 42, 43, 44, 0, 0, 143, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 203, + 204, 326, 0, 0, 0, 0, 0, 0, 184, 0, + 0, 185, 186, 187, 0, 188, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 34, + 35, 33, 37, 16, 6, 0, 0, 41, 42, 43, + 44, 0, 0, 143, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 34, 35, 36, 37, 38, + 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, + 0, 46, 0, 0, 0, 47, 0, 281, 0, 0, + 0, 0, 0, 34, 35, 0, 37, 16, 6, 0, + 132, 48, 49, -194, -194, 33, -194, 0, 0, 133, + -194, 0, 134, 0, 0, 0, 0, 0, 50, -194, + 0, 51, -194, 16, 6, 29, 52, 53, 54, 34, + 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, + 44, 45, 0, 0, 0, 46, 0, 0, 0, 47, + 135, 16, 6, 0, 0, 0, 0, 0, 0, 0, + -194, -194, -194, 0, 0, 48, 49, -195, -195, 33, + -195, 0, 0, 0, -195, 0, 0, 0, 0, 0, + 0, 0, 50, -195, 0, 51, -195, 16, 6, 29, + 52, 53, 54, 34, 35, 36, 37, 38, 39, 40, + 0, 41, 42, 43, 44, 45, 0, 0, 0, 101, + 0, 0, 0, 47, 0, 0, 0, 0, 298, 299, + 0, 300, 301, 0, -195, -195, -195, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 0, 37, 0, 50, 0, 0, 51, + 0, 16, 6, 29, 52, 53, 54, 133, 0, 0, + 134, 0, 0, 0, 0, 302, 303, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 16, + 6, 184, 0, 0, 185, 186, 187, 0, 188, 189, + 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, -196, -196, 143, -196, 202, 0, + 0, -196, -197, -197, 0, -197, 203, 204, 0, -197, + -196, 0, 0, -196, 0, 0, 0, 0, -197, 114, + 115, -197, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 404, 0, 0, 0, 0, 405, 0, 0, 0, 0, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 369, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 375, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 115, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 16, 6, 124, 125, 126, 127, 128, 129, 130, 131, + 0, -196, -196, -196, 0, 0, 0, 153, 0, -197, + -197, -197, 154, 0, 0, 0, 0, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 399, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 115, 0, 0, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 126, 127, 128, 129, - 130, 131, 132, 133, 115, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, - 126, 127, 128, 129, 130, 131, 132, 133, 115, 0, - 0, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 434, 0, 126, 127, 128, 129, 130, 131, - 132, 133, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 259, 0, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 315, 0, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 318, 0, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 321, 0, 0, 0, - 0, 0, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 322, 0, 0, 0, - 0, 115, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 127, 128, - 129, 130, 131, 132, 133, 258, 0, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 401, 0, 0, 0, 0, 402, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 403, 0, 0, 0, 0, + 404, 0, 0, 0, 0, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 114, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 130, 131, 132, 133, 327, 115, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 405, + 0, 0, 0, 0, 406, 0, 0, 0, 0, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 370, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 372, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, - 133, 341, 115, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 115, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 0, 0, 0, 0, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 116, - 117, 0, 119, 120, 121, 122, 123, 124, 125, 116, - 117, 0, 0, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, - 116, 117, 0, 0, 120, 121, 122, 123, 124, 125, - 116, 117, 0, 0, 120, 121, 122, 123, 124, 125, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 0, 0, 0, 127, 0, 129, 130, 131, 132, - 133, 116, 117, 0, 0, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, - 132, 133 + 0, 376, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 388, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 113, 0, 0, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 113, + 0, 0, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 412, 0, 124, 125, 126, 127, 128, + 129, 130, 131, 113, 0, 0, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 414, 0, 124, + 125, 126, 127, 128, 129, 130, 131, 113, 0, 0, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 435, 0, 124, 125, 126, 127, 128, 129, 130, + 131, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 255, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 258, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 315, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 318, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 321, 0, 0, 0, 0, + 0, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 322, 0, 0, 0, 0, + 113, 0, 0, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 125, 126, 127, + 128, 129, 130, 131, 257, 0, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 112, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 125, 126, + 127, 128, 129, 130, 131, 328, 113, 0, 0, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 125, 126, 127, 128, 129, 130, 131, + 342, 113, 0, 0, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 113, 0, 0, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 0, 0, 0, 0, 0, + 124, 125, 126, 127, 128, 129, 130, 131, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 114, 115, + 0, 0, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 0, 0, 125, 126, 127, 128, 129, 130, 131, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 114, + 115, 0, 0, 118, 119, 120, 121, 122, 123, 0, + 0, 0, 0, 125, 0, 127, 128, 129, 130, 131, + 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 114, 115, 0, 0, 0, 0, 120, 121, 122, 123, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, + 131 }; const short parser::yycheck_[] = { - 0, 46, 93, 3, 4, 72, 272, 72, 8, 3, - 4, 20, 272, 52, 272, 145, 11, 12, 13, 14, - 15, 52, 30, 52, 52, 25, 0, 53, 62, 60, - 62, 56, 58, 62, 34, 35, 100, 53, 99, 78, - 34, 35, 58, 56, 99, 17, 18, 47, 20, 21, - 58, 53, 53, 56, 53, 185, 58, 58, 103, 58, - 190, 53, 53, 40, 41, 62, 43, 58, 40, 41, - 47, 43, 72, 98, 99, 205, 206, 60, 72, 56, - 210, 54, 59, 52, 56, 98, 99, 59, 93, 103, - 104, 53, 64, 65, 94, 100, 58, 56, 56, 104, - 53, 56, 66, 67, 99, 58, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 60, 190, 53, - 97, 98, 99, 52, 58, 97, 98, 99, 92, 93, - 94, 95, 96, 145, 264, 53, 136, 60, 210, 145, - 58, 58, 272, 143, 53, 145, 412, 98, 99, 58, - 150, 145, 412, 153, 412, 40, 41, 53, 43, 94, - 95, 96, 58, 48, 49, 50, 51, 53, 57, 52, - 60, 56, 58, 185, 52, 242, 52, 242, 190, 185, - 62, 181, 52, 52, 190, 185, 195, 52, 52, 61, - 190, 185, 264, 205, 206, 62, 190, 52, 210, 205, - 206, 62, 62, 52, 210, 205, 206, 52, 56, 62, - 210, 205, 206, 98, 99, 62, 210, 40, 41, 62, - 43, 26, 289, 290, 289, 290, 92, 93, 94, 95, - 96, 62, 62, 56, 52, 57, 59, 53, 27, 369, - 45, 371, 242, 48, 49, 104, 61, 61, 242, 52, - 52, 52, 264, 52, 62, 52, 62, 57, 264, 57, - 272, 57, 52, 25, 264, 52, 272, 52, 52, 336, - 264, 336, 272, 273, 97, 98, 99, 30, 272, 62, - 410, 62, 412, 413, 375, 62, 62, 62, 62, 289, - 290, 62, 62, 53, 53, 289, 290, 369, 103, 371, - 8, 53, 53, 433, 434, 62, 62, 62, 8, 8, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 185, - 135, 412, 195, -1, -1, -1, 336, -1, 410, -1, - -1, 413, 336, 148, -1, -1, 151, -1, -1, 154, - -1, 156, -1, 158, -1, -1, 401, 369, 403, 371, - 405, 433, 434, 369, -1, 371, -1, -1, -1, 369, - -1, 371, -1, -1, 374, 369, -1, 371, -1, -1, - -1, 186, -1, -1, -1, -1, 40, 41, -1, 43, - -1, 145, -1, 47, 199, -1, -1, 145, 410, -1, - 412, 413, 56, -1, 410, 59, 412, 413, -1, -1, - 410, -1, 412, 413, -1, -1, 410, -1, 412, 413, - -1, 433, 434, -1, -1, 145, -1, 433, 434, -1, - -1, 185, -1, 433, 434, -1, 190, 185, -1, 433, - 434, -1, 190, 97, 98, 99, -1, -1, -1, -1, - -1, 205, 206, 258, -1, -1, 210, 205, 206, -1, - -1, -1, 210, -1, 269, 185, 271, -1, -1, 274, - 190, -1, 40, 41, 145, 43, -1, -1, -1, 47, - -1, 286, 142, -1, -1, 205, 206, -1, 56, 149, - 210, 59, 152, 145, -1, -1, -1, -1, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 264, 145, -1, -1, 185, -1, 264, 322, 272, 190, - -1, -1, -1, -1, 272, -1, -1, -1, -1, 97, - 98, 99, -1, 185, 205, 206, -1, -1, 190, 210, - 345, 346, 347, 348, 264, -1, -1, -1, -1, -1, - -1, 185, 272, 205, 206, -1, 190, -1, 210, -1, - -1, -1, -1, -1, -1, 370, -1, 372, 373, -1, - -1, 205, 206, -1, 40, 41, 210, 43, -1, -1, - -1, -1, 48, 49, 50, 51, -1, -1, 40, 41, - 56, 43, -1, 264, -1, 47, -1, -1, 64, 65, - 52, 272, 262, -1, 56, -1, -1, 59, 60, 414, - -1, -1, 264, -1, -1, 369, -1, 371, -1, -1, - 272, 369, -1, 371, 284, 285, -1, -1, -1, -1, - 264, -1, 98, 99, -1, -1, -1, -1, 272, -1, - -1, -1, -1, -1, -1, 97, 98, 99, -1, 369, - -1, 371, -1, -1, -1, -1, 410, 317, 412, 413, - 320, -1, 410, -1, 412, 413, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 66, 67, -1, -1, 433, - 434, 72, 73, 74, 75, 433, 434, -1, -1, -1, - 410, -1, 412, 413, -1, -1, -1, -1, 369, -1, - 371, 92, 93, 94, 95, 96, 366, -1, -1, 40, - 41, -1, 43, 433, 434, -1, -1, 369, -1, 371, - -1, -1, 382, -1, 384, 56, 386, -1, 59, -1, - -1, -1, -1, 64, 65, 369, -1, 371, -1, 410, - -1, 412, 413, -1, -1, -1, -1, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 410, -1, - 412, 413, 433, 434, -1, -1, 97, 98, 99, -1, - -1, -1, -1, -1, -1, -1, 410, -1, 412, 413, - -1, 433, 434, -1, -1, -1, -1, -1, -1, -1, - 11, -1, -1, -1, -1, -1, -1, -1, 19, 433, - 434, 22, 23, 24, -1, 26, 27, 28, 29, -1, + 0, 46, 91, 3, 4, 71, 272, 20, 8, 3, + 4, 71, 52, 272, 272, 11, 12, 13, 14, 15, + 56, 30, 56, 52, 52, 25, 0, 53, 183, 98, + 99, 60, 58, 188, 34, 35, 40, 41, 78, 43, + 34, 35, 40, 41, 93, 43, 62, 47, 53, 58, + 52, 100, 56, 58, 103, 59, 101, 143, 56, 62, + 62, 59, 98, 99, 98, 99, 64, 65, 53, 53, + 53, 71, 99, 58, 58, 58, 53, 71, 102, 103, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 53, 92, 97, 98, 99, 58, 183, 56, 97, + 98, 99, 188, 99, 60, 100, 53, 40, 41, 264, + 43, 58, 62, 99, 47, 53, 56, 203, 204, 52, + 58, 207, 54, 56, 53, 53, 59, 60, 53, 58, + 58, 143, 52, 58, 134, 53, 60, 143, 60, 53, + 58, 141, 52, 143, 58, 56, 58, 413, 148, 143, + 56, 151, 57, 140, 413, 413, 52, 94, 95, 96, + 147, 60, 52, 150, 97, 98, 99, 62, 52, 52, + 52, 183, 52, 52, 61, 241, 188, 183, 264, 179, + 193, 241, 188, 183, 62, 62, 272, 62, 188, 183, + 52, 203, 204, 52, 188, 207, 56, 203, 204, 62, + 52, 207, 52, 203, 204, 62, 62, 207, 62, 203, + 204, 62, 57, 207, 53, 370, 26, 372, 92, 93, + 94, 95, 96, 289, 290, 27, 61, 103, 61, 289, + 290, 57, 52, 52, 52, 45, 52, 62, 48, 49, + 57, 241, 57, 52, 52, 52, 52, 241, 62, 52, + 62, 62, 264, 25, 30, 53, 411, 62, 264, 414, + 272, 62, 62, 62, 264, 62, 272, 62, 53, 53, + 264, 337, 272, 273, 261, 53, 62, 337, 272, 434, + 435, 62, 62, 8, 370, 8, 372, 376, 8, 289, + 290, 101, 207, 413, -1, 289, 290, 284, 285, 193, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 143, 133, -1, 411, -1, 413, 414, -1, + 317, 40, 41, 320, 43, -1, 146, 337, 47, 149, + -1, -1, 152, 337, 154, -1, 156, 56, 434, 435, + 59, -1, -1, -1, -1, -1, -1, 402, 370, 404, + 372, 406, 183, -1, 370, -1, 372, 188, -1, -1, + 370, -1, 372, -1, 184, 375, 370, -1, 372, -1, + 367, -1, 203, 204, -1, -1, 207, 197, 97, 98, + 99, -1, 143, -1, -1, -1, 383, -1, 385, 411, + 387, 413, 414, -1, -1, 411, -1, 413, 414, -1, + -1, 411, -1, 413, 414, -1, -1, 411, -1, 413, + 414, -1, 434, 435, -1, 143, -1, -1, 434, 435, + -1, -1, 183, -1, 434, 435, -1, 188, -1, -1, + 434, 435, -1, 264, -1, -1, -1, 257, -1, -1, + -1, 272, 203, 204, -1, -1, 207, -1, -1, 269, + -1, 271, -1, -1, 274, 183, -1, -1, -1, -1, + 188, 40, 41, -1, 43, -1, 286, -1, 47, -1, + 143, 66, 67, -1, -1, 203, 204, 56, -1, 207, + 59, -1, -1, -1, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 143, -1, 92, 93, 94, + 95, 96, 322, 264, -1, 143, -1, -1, -1, -1, + 183, 272, -1, -1, -1, 188, -1, -1, 97, 98, + 99, -1, -1, -1, -1, -1, 346, 347, 348, 349, + 203, 204, -1, -1, 207, 183, 264, -1, -1, 370, + 188, 372, -1, -1, 272, 183, -1, -1, -1, -1, + 188, 371, -1, 373, 374, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, 203, 204, -1, -1, 207, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + 411, 43, 413, 414, -1, -1, 48, 49, 50, 51, + -1, 264, -1, -1, 56, 415, -1, -1, -1, 272, + -1, -1, -1, 434, 435, -1, -1, -1, -1, 370, + -1, 372, -1, -1, -1, -1, 264, -1, -1, -1, + -1, -1, 40, 41, 272, 43, 264, -1, -1, 47, + -1, 16, -1, -1, 272, -1, 98, 99, 56, -1, + -1, 59, 370, -1, 372, -1, -1, -1, -1, -1, + 411, -1, 413, 414, -1, 40, 41, 42, 43, 44, + 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, + -1, 56, 57, 434, 435, 60, -1, -1, -1, 97, + 98, 99, -1, 411, -1, 413, 414, -1, -1, -1, + -1, 76, 77, 40, 41, -1, 43, 370, -1, 372, + 47, -1, -1, -1, -1, -1, 434, 435, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, -1, + 40, 41, 370, 43, 372, -1, -1, -1, 48, 49, + 50, 51, 370, -1, 372, -1, 56, -1, 411, -1, + 413, 414, -1, -1, 64, 65, -1, -1, -1, -1, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + -1, 434, 435, 411, -1, 413, 414, -1, -1, -1, + -1, -1, -1, 411, -1, 413, 414, -1, 98, 99, + -1, -1, -1, -1, -1, -1, 434, 435, -1, -1, + 11, -1, -1, -1, -1, -1, 434, 435, 19, -1, + -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, 48, 49, 50, 51, -1, -1, 54, 55, 56, -1, -1, -1, -1, - -1, -1, -1, 64, 65, 40, 41, -1, 43, -1, - -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, -1, 11, 12, - -1, -1, -1, -1, -1, -1, 19, 98, 99, 22, - 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, 97, 98, 99, 48, 49, 50, 51, -1, - -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, - 11, 64, 65, -1, -1, -1, -1, -1, 19, -1, + -1, -1, 11, 64, 65, -1, -1, -1, -1, -1, + 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, + 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, -1, 43, -1, -1, 98, 99, 48, + 49, 50, 51, -1, -1, 54, 55, 56, -1, -1, + -1, -1, -1, -1, -1, 64, 65, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, + -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, -1, 43, 98, + 99, -1, -1, 48, 49, 50, 51, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, + 65, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, -1, 43, -1, -1, 98, 99, 48, 49, 50, - 51, -1, -1, 54, 55, 56, -1, -1, -1, -1, - -1, -1, -1, 64, 65, 40, 41, -1, 43, -1, - -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, -1, 11, 12, - -1, -1, -1, -1, -1, -1, 19, 98, 99, 22, - 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, 97, 98, 99, 48, 49, 50, 51, -1, - -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, - 11, 64, 65, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 16, 43, -1, -1, 98, 99, 48, 49, 50, + 41, 16, 43, 98, 99, -1, -1, 48, 49, 50, 51, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, 65, 40, 41, 42, 43, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 57, -1, - -1, 56, 57, -1, 63, 60, -1, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 98, 99, -1, - -1, 76, 77, -1, -1, -1, 16, -1, -1, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 93, -1, - -1, 96, -1, 98, 99, 100, 101, 102, 103, 104, - 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, - 50, 51, 52, -1, -1, -1, 56, -1, -1, -1, - 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, - -1, 40, 41, -1, 43, -1, 76, 77, 47, -1, - -1, 16, -1, -1, -1, -1, -1, 56, -1, -1, - 59, -1, -1, 93, -1, -1, 96, -1, 98, 99, - 100, 101, 102, 103, 104, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, -1, -1, - -1, 56, -1, -1, -1, 60, -1, -1, 97, 98, - 99, -1, -1, -1, -1, -1, 40, 41, -1, 43, - -1, 76, 77, 47, -1, -1, 16, -1, -1, -1, - -1, -1, 56, -1, -1, 59, -1, -1, 93, -1, - -1, 96, -1, 98, 99, 100, 101, 102, 103, 104, - 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, - 50, 51, 52, -1, 40, 41, 56, 43, -1, -1, - 60, 47, -1, 97, 98, 99, -1, -1, 40, 41, - 56, 43, -1, 59, -1, 47, 76, 77, -1, -1, - -1, -1, -1, -1, 56, -1, -1, 59, -1, -1, - -1, -1, -1, 93, -1, -1, 96, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, 97, 98, 99, -1, -1, -1, -1, 53, -1, - -1, -1, -1, 58, -1, 97, 98, 99, 63, -1, - -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 89, 90, 91, 92, 93, 94, - 95, 96, 53, -1, -1, -1, -1, 58, -1, -1, - -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 53, -1, -1, -1, - -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, + -1, 56, -1, -1, -1, 60, -1, 62, -1, -1, + -1, -1, -1, 40, 41, -1, 43, 98, 99, -1, + 47, 76, 77, 40, 41, 16, 43, -1, -1, 56, + 47, -1, 59, -1, -1, -1, -1, -1, 93, 56, + -1, 96, 59, 98, 99, 100, 101, 102, 103, 40, + 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, + 51, 52, -1, -1, -1, 56, -1, -1, -1, 60, + 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, + 97, 98, 99, -1, -1, 76, 77, 40, 41, 16, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, 93, 56, -1, 96, 59, 98, 99, 100, + 101, 102, 103, 40, 41, 42, 43, 44, 45, 46, + -1, 48, 49, 50, 51, 52, -1, -1, -1, 56, + -1, -1, -1, 60, -1, -1, -1, -1, 17, 18, + -1, 20, 21, -1, 97, 98, 99, -1, -1, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 40, 41, -1, 43, -1, 93, -1, -1, 96, + -1, 98, 99, 100, 101, 102, 103, 56, -1, -1, + 59, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + -1, -1, -1, -1, -1, -1, -1, -1, 97, 98, + 99, 19, -1, -1, 22, 23, 24, -1, 26, 27, + 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, + 48, 49, 50, 51, 40, 41, 54, 43, 56, -1, + -1, 47, 40, 41, -1, 43, 64, 65, -1, 47, + 56, -1, -1, 59, -1, -1, -1, -1, 56, 66, + 67, 59, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, - 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 89, 90, 91, 92, - 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 63, -1, - -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 53, -1, 89, 90, 91, 92, 93, 94, - 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 53, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, + 98, 99, 89, 90, 91, 92, 93, 94, 95, 96, + -1, 97, 98, 99, -1, -1, -1, 53, -1, 97, + 98, 99, 58, -1, -1, -1, -1, 63, -1, -1, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 53, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 89, 90, 91, 92, - 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 63, -1, - -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 53, -1, 89, 90, 91, 92, 93, 94, - 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 57, -1, -1, -1, - -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 57, -1, -1, -1, - -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 57, -1, -1, -1, - -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 57, -1, -1, -1, - -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 58, -1, -1, -1, + -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 61, -1, 63, -1, -1, + 92, 93, 94, 95, 96, 53, -1, -1, -1, -1, + 58, -1, -1, -1, -1, 63, -1, -1, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, + -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 53, -1, 89, 90, 91, 92, 93, + 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 53, -1, 89, + 90, 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 62, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 62, 63, -1, -1, + -1, 53, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, + -1, 89, 90, 91, 92, 93, 94, 95, 96, 63, + -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 53, -1, 89, 90, 91, 92, 93, + 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 53, -1, 89, + 90, 91, 92, 93, 94, 95, 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 62, 63, -1, -1, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 63, -1, -1, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 89, 90, - 91, 92, 93, 94, 95, 96, -1, -1, -1, -1, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 66, - 67, -1, 69, 70, 71, 72, 73, 74, 75, 66, + -1, 53, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 57, -1, -1, -1, -1, + -1, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 58, -1, -1, -1, -1, + 63, -1, -1, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 61, -1, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 89, 90, 91, + 92, 93, 94, 95, 96, 62, 63, -1, -1, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 62, 63, -1, -1, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 63, -1, -1, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 89, 90, 91, + 92, 93, 94, 95, 96, -1, -1, -1, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, 66, 67, + -1, -1, 70, 71, 72, 73, 74, 75, -1, -1, + -1, 89, 90, 91, 92, 93, 94, 95, 96, -1, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 66, + 67, -1, -1, 70, 71, 72, 73, 74, 75, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, -1, - -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, - 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, - -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, - 96, -1, -1, -1, 90, -1, 92, 93, 94, 95, - 96, 66, 67, -1, -1, 70, 71, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, - 95, 96 + -1, -1, -1, 90, -1, 92, 93, 94, 95, 96, + -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, + 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 99, 115, 116, 117, - 118, 119, 120, 121, 122, 185, 98, 185, 186, 186, - 52, 0, 117, 118, 119, 52, 78, 62, 62, 100, - 188, 167, 185, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 99, 114, 115, 116, + 117, 118, 119, 120, 121, 186, 98, 186, 187, 187, + 52, 0, 116, 117, 118, 52, 78, 62, 62, 100, + 189, 168, 186, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 60, 76, 77, - 93, 96, 101, 102, 103, 104, 152, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 53, 53, 58, 56, 185, 186, 56, 185, - 186, 56, 152, 56, 57, 152, 168, 169, 185, 152, - 152, 103, 104, 99, 62, 63, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 89, 90, 91, 92, - 93, 94, 95, 96, 47, 56, 59, 97, 164, 165, - 185, 186, 52, 60, 62, 54, 125, 185, 56, 52, - 60, 56, 52, 60, 56, 53, 58, 152, 58, 57, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 185, 60, 168, 169, 185, 11, 19, 22, 23, 24, - 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 55, 56, 64, 65, 123, 124, 125, - 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 154, 155, 156, 162, 163, - 171, 172, 175, 179, 180, 181, 182, 185, 152, 168, - 185, 152, 168, 185, 152, 152, 57, 152, 61, 57, - 185, 53, 52, 12, 126, 152, 62, 52, 62, 52, - 123, 52, 52, 52, 52, 93, 188, 192, 61, 62, - 62, 62, 152, 62, 52, 52, 56, 162, 163, 175, - 175, 55, 123, 62, 62, 62, 62, 62, 17, 18, + 93, 96, 101, 102, 103, 153, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 53, 53, 58, 56, 186, 187, 56, 186, 187, 56, + 153, 56, 57, 153, 169, 170, 186, 153, 153, 102, + 103, 99, 62, 63, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 89, 90, 91, 92, 93, 94, + 95, 96, 47, 56, 59, 97, 165, 166, 186, 187, + 52, 60, 62, 54, 127, 186, 56, 52, 60, 56, + 52, 60, 56, 53, 58, 153, 58, 57, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 186, 60, + 169, 170, 186, 11, 19, 22, 23, 24, 26, 27, + 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 55, 56, 64, 65, 122, 123, 125, 126, 127, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 155, 156, 157, 163, 164, 172, + 173, 176, 180, 181, 182, 183, 186, 153, 169, 186, + 153, 169, 186, 153, 153, 57, 153, 61, 57, 186, + 53, 52, 12, 122, 124, 153, 62, 52, 62, 52, + 122, 52, 52, 52, 52, 93, 189, 192, 61, 62, + 62, 62, 153, 62, 52, 52, 56, 163, 164, 176, + 176, 55, 123, 62, 62, 62, 62, 62, 17, 18, 20, 21, 64, 65, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 57, 53, 52, 57, 53, - 52, 57, 58, 57, 152, 168, 12, 62, 53, 152, - 27, 152, 127, 154, 155, 156, 175, 185, 152, 61, - 61, 62, 168, 168, 152, 52, 52, 52, 52, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 57, 168, 57, 168, 57, 152, 52, 53, 62, 53, - 52, 53, 62, 30, 58, 53, 53, 53, 152, 152, - 152, 152, 52, 53, 52, 53, 52, 53, 168, 123, - 152, 123, 152, 153, 152, 185, 125, 62, 62, 53, - 53, 58, 53, 58, 53, 58, 168, 168, 168, 53, - 25, 53, 62, 53, 30, 62, 62, 169, 62, 169, - 62, 169, 53, 53, 53, 123, 62, 127, 123, 152, - 53, 53, 53, 53, 53, 62, 62, 62, 123, 123 + 52, 57, 58, 57, 153, 169, 12, 122, 62, 53, + 153, 27, 153, 128, 155, 156, 157, 176, 186, 153, + 61, 61, 62, 169, 169, 153, 52, 52, 52, 52, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 57, 169, 57, 169, 57, 153, 52, 53, 62, + 53, 52, 53, 62, 30, 58, 53, 53, 53, 153, + 153, 153, 153, 52, 53, 52, 53, 52, 53, 169, + 122, 153, 122, 153, 154, 153, 186, 127, 62, 62, + 53, 53, 58, 53, 58, 53, 58, 169, 169, 169, + 53, 25, 53, 62, 53, 30, 62, 62, 170, 62, + 170, 62, 170, 53, 53, 53, 122, 62, 128, 122, + 153, 53, 53, 53, 53, 53, 62, 62, 62, 122, + 122 }; const unsigned char parser::yyr1_[] = { - 0, 114, 115, 115, 116, 116, 116, 116, 116, 116, - 117, 118, 119, 119, 119, 119, 119, 120, 121, 122, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 124, 124, 125, 125, - 126, 126, 127, 127, 127, 127, 128, 128, 129, 129, - 129, 130, 131, 131, 132, 133, 133, 134, 134, 135, - 136, 136, 137, 138, 139, 140, 141, 142, 142, 143, - 144, 144, 145, 146, 147, 148, 148, 149, 150, 151, - 152, 152, 152, 153, 153, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 155, 155, 156, 156, - 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, + 0, 113, 114, 114, 115, 115, 115, 115, 115, 115, + 116, 117, 118, 118, 118, 118, 118, 119, 120, 121, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 129, + 129, 130, 130, 130, 131, 132, 132, 133, 134, 134, + 135, 135, 136, 137, 137, 138, 139, 140, 141, 142, + 143, 143, 144, 145, 145, 146, 147, 148, 149, 149, + 150, 151, 152, 153, 153, 153, 154, 154, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, + 156, 157, 157, 158, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 160, 161, 162, - 162, 163, 163, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 166, 167, 167, 167, 168, 168, 169, - 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 186, 187, - 188, 189, 190, 191, 191, 192, 192, 193, 194 + 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, + 162, 163, 163, 164, 164, 165, 165, 165, 165, 165, + 165, 166, 166, 166, 166, 167, 168, 168, 168, 169, + 169, 170, 170, 171, 171, 172, 173, 173, 174, 175, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 187, 188, 189, 190, 191, 191, 192, 192, 193, 194 }; const signed char @@ -4450,24 +4461,24 @@ namespace xsk { namespace gsc { namespace s2 { 3, 3, 1, 1, 1, 1, 1, 5, 4, 5, 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, 3, 2, 3, 2, - 2, 1, 1, 1, 1, 0, 2, 2, 2, 2, - 2, 6, 8, 6, 3, 8, 6, 8, 6, 2, - 2, 4, 5, 7, 5, 7, 9, 7, 9, 5, - 3, 3, 2, 2, 2, 3, 2, 2, 5, 5, - 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 1, 3, 2, 3, 2, 1, 1, 1, 0, 2, + 2, 2, 2, 2, 6, 8, 6, 3, 8, 6, + 8, 6, 2, 2, 4, 5, 7, 5, 7, 9, + 7, 9, 5, 3, 3, 2, 2, 2, 3, 2, + 2, 5, 5, 1, 1, 1, 1, 0, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 5, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 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, + 2, 1, 1, 2, 2, 4, 6, 5, 7, 5, + 7, 8, 9, 9, 9, 3, 3, 1, 0, 1, + 0, 3, 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, - 1, 2, 2, 4, 6, 5, 7, 5, 7, 8, - 9, 9, 9, 3, 3, 1, 0, 1, 0, 3, - 1, 2, 3, 4, 3, 2, 2, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 7, 2, 1, 2, 1, 1, 1 + 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 7, 2, 1, 2, 1, 1, 1 }; @@ -4481,24 +4492,24 @@ namespace xsk { namespace gsc { namespace s2 { 274, 278, 283, 284, 285, 286, 287, 291, 296, 301, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 335, 336, 340, 341, - 345, 347, 352, 354, 356, 359, 363, 365, 370, 372, - 374, 379, 384, 386, 391, 396, 398, 403, 405, 410, - 415, 417, 422, 427, 432, 437, 442, 447, 449, 454, - 459, 461, 466, 471, 476, 481, 483, 488, 493, 498, - 503, 504, 505, 509, 510, 514, 516, 518, 520, 522, - 524, 526, 528, 530, 532, 534, 539, 541, 546, 548, - 553, 558, 560, 562, 564, 566, 568, 570, 572, 574, - 576, 578, 580, 582, 584, 586, 588, 590, 592, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 628, 633, 638, - 639, 642, 643, 647, 649, 651, 653, 655, 657, 662, - 664, 666, 668, 673, 678, 680, 683, 687, 690, 694, - 696, 701, 703, 708, 713, 715, 720, 725, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 742, 747, 752, - 757, 762, 767, 772, 777, 782, 787, 792, 794, 799, - 804, 809, 814, 819, 821, 826, 828, 833, 838 + 326, 327, 328, 329, 330, 334, 335, 339, 341, 346, + 348, 353, 354, 358, 359, 363, 365, 367, 370, 374, + 376, 381, 383, 385, 390, 395, 397, 402, 407, 409, + 414, 416, 421, 426, 428, 433, 438, 443, 448, 453, + 458, 460, 465, 470, 472, 477, 482, 487, 492, 494, + 499, 504, 509, 514, 515, 516, 520, 521, 525, 527, + 529, 531, 533, 535, 537, 539, 541, 543, 545, 550, + 552, 557, 559, 564, 569, 571, 573, 575, 577, 579, + 581, 583, 585, 587, 589, 591, 593, 595, 597, 599, + 601, 603, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 638, + 643, 648, 649, 652, 653, 657, 659, 661, 663, 665, + 667, 672, 674, 676, 678, 683, 688, 690, 693, 697, + 700, 704, 706, 711, 713, 718, 723, 725, 730, 735, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 752, + 757, 762, 767, 772, 777, 782, 787, 792, 797, 802, + 804, 809, 814, 819, 824, 826, 831, 833, 838, 843 }; void @@ -4531,9 +4542,9 @@ namespace xsk { namespace gsc { namespace s2 { #line 13 "parser.ypp" } } } // xsk::gsc::s2 -#line 4535 "parser.cpp" +#line 4546 "parser.cpp" -#line 842 "parser.ypp" +#line 847 "parser.ypp" void xsk::gsc::s2::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/s2/xsk/parser.hpp b/src/s2/xsk/parser.hpp index 16e8f624..8788571b 100644 --- a/src/s2/xsk/parser.hpp +++ b/src/s2/xsk/parser.hpp @@ -456,107 +456,108 @@ namespace xsk { namespace gsc { namespace s2 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_istring - char dummy23[sizeof (ast::expr_istring::ptr)]; + char dummy22[sizeof (ast::expr_istring::ptr)]; // expr_level - char dummy24[sizeof (ast::expr_level::ptr)]; + char dummy23[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy25[sizeof (ast::expr_method::ptr)]; + char dummy24[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy26[sizeof (ast::expr_not::ptr)]; + char dummy25[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy27[sizeof (ast::expr_parameters::ptr)]; + char dummy26[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy28[sizeof (ast::expr_paren::ptr)]; + char dummy27[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy29[sizeof (ast::expr_path::ptr)]; + char dummy28[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy30[sizeof (ast::expr_reference::ptr)]; + char dummy29[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy31[sizeof (ast::expr_self::ptr)]; + char dummy30[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy32[sizeof (ast::expr_size::ptr)]; + char dummy31[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy33[sizeof (ast::expr_string::ptr)]; + char dummy32[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy34[sizeof (ast::expr_thisthread::ptr)]; + char dummy33[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy35[sizeof (ast::expr_true::ptr)]; + char dummy34[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy36[sizeof (ast::expr_undefined::ptr)]; + char dummy35[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy37[sizeof (ast::expr_vector::ptr)]; + char dummy36[sizeof (ast::expr_vector::ptr)]; // include - char dummy38[sizeof (ast::include::ptr)]; + char dummy37[sizeof (ast::include::ptr)]; // program - char dummy39[sizeof (ast::program::ptr)]; + char dummy38[sizeof (ast::program::ptr)]; // stmt - char dummy40[sizeof (ast::stmt)]; + // stmt_or_dev + char dummy39[sizeof (ast::stmt)]; // stmt_assign - char dummy41[sizeof (ast::stmt_assign::ptr)]; + char dummy40[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy42[sizeof (ast::stmt_break::ptr)]; + char dummy41[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy42[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy44[sizeof (ast::stmt_call::ptr)]; + char dummy43[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy45[sizeof (ast::stmt_case::ptr)]; + char dummy44[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy46[sizeof (ast::stmt_continue::ptr)]; + char dummy45[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy47[sizeof (ast::stmt_default::ptr)]; + char dummy46[sizeof (ast::stmt_default::ptr)]; + + // stmt_dev + char dummy47[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile char dummy48[sizeof (ast::stmt_dowhile::ptr)]; @@ -579,9 +580,9 @@ namespace xsk { namespace gsc { namespace s2 { // stmt_ifelse char dummy54[sizeof (ast::stmt_ifelse::ptr)]; - // stmt_dev - // stmt_block // stmt_list + // stmt_or_dev_list + // stmt_block char dummy55[sizeof (ast::stmt_list::ptr)]; // stmt_notify @@ -622,7 +623,6 @@ namespace xsk { namespace gsc { namespace s2 { // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" char dummy67[sizeof (std::string)]; @@ -776,18 +776,17 @@ namespace xsk { namespace gsc { namespace s2 { IDENTIFIER = 99, // "identifier" STRING = 100, // "string literal" ISTRING = 101, // "localized string" - COLOR = 102, // "color" - FLOAT = 103, // "float" - INTEGER = 104, // "integer" - ADD_ARRAY = 105, // ADD_ARRAY - THEN = 106, // THEN - TERN = 107, // TERN - NEG = 108, // NEG - ANIMREF = 109, // ANIMREF - PREINC = 110, // PREINC - PREDEC = 111, // PREDEC - POSTINC = 112, // POSTINC - POSTDEC = 113 // POSTDEC + FLOAT = 102, // "float" + INTEGER = 103, // "integer" + ADD_ARRAY = 104, // ADD_ARRAY + THEN = 105, // THEN + TERN = 106, // TERN + NEG = 107, // NEG + ANIMREF = 108, // ANIMREF + PREINC = 109, // PREINC + PREDEC = 110, // PREDEC + POSTINC = 111, // POSTINC + POSTDEC = 112 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -804,7 +803,7 @@ namespace xsk { namespace gsc { namespace s2 { { enum symbol_kind_type { - YYNTOKENS = 114, ///< Number of tokens. + YYNTOKENS = 113, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -908,94 +907,94 @@ namespace xsk { namespace gsc { namespace s2 { S_IDENTIFIER = 99, // "identifier" S_STRING = 100, // "string literal" S_ISTRING = 101, // "localized string" - S_COLOR = 102, // "color" - S_FLOAT = 103, // "float" - S_INTEGER = 104, // "integer" - S_ADD_ARRAY = 105, // ADD_ARRAY - S_THEN = 106, // THEN - S_TERN = 107, // TERN - S_NEG = 108, // NEG - S_ANIMREF = 109, // ANIMREF - S_PREINC = 110, // PREINC - S_PREDEC = 111, // PREDEC - S_POSTINC = 112, // POSTINC - S_POSTDEC = 113, // POSTDEC - S_YYACCEPT = 114, // $accept - S_root = 115, // root - S_program = 116, // program - S_inline = 117, // inline - S_include = 118, // include - S_declaration = 119, // declaration - S_decl_usingtree = 120, // decl_usingtree - S_decl_constant = 121, // decl_constant - S_decl_thread = 122, // decl_thread - S_stmt = 123, // stmt - S_stmt_dev = 124, // stmt_dev - S_stmt_block = 125, // stmt_block - S_stmt_list = 126, // stmt_list - S_stmt_expr = 127, // stmt_expr - S_stmt_call = 128, // stmt_call - S_stmt_assign = 129, // stmt_assign - S_stmt_endon = 130, // stmt_endon - S_stmt_notify = 131, // stmt_notify - S_stmt_wait = 132, // stmt_wait - S_stmt_waittill = 133, // stmt_waittill - S_stmt_waittillmatch = 134, // stmt_waittillmatch - S_stmt_waittillframeend = 135, // stmt_waittillframeend - S_stmt_waitframe = 136, // stmt_waitframe - S_stmt_if = 137, // stmt_if - S_stmt_ifelse = 138, // stmt_ifelse - S_stmt_while = 139, // stmt_while - S_stmt_dowhile = 140, // stmt_dowhile - S_stmt_for = 141, // stmt_for - S_stmt_foreach = 142, // stmt_foreach - S_stmt_switch = 143, // stmt_switch - S_stmt_case = 144, // stmt_case - S_stmt_default = 145, // stmt_default - S_stmt_break = 146, // stmt_break - S_stmt_continue = 147, // stmt_continue - S_stmt_return = 148, // stmt_return - S_stmt_breakpoint = 149, // stmt_breakpoint - S_stmt_prof_begin = 150, // stmt_prof_begin - S_stmt_prof_end = 151, // stmt_prof_end - S_expr = 152, // expr - S_expr_or_empty = 153, // expr_or_empty - S_expr_assign = 154, // expr_assign - S_expr_increment = 155, // expr_increment - S_expr_decrement = 156, // expr_decrement - S_expr_ternary = 157, // expr_ternary - S_expr_binary = 158, // expr_binary - S_expr_primitive = 159, // expr_primitive - S_expr_complement = 160, // expr_complement - S_expr_not = 161, // expr_not - S_expr_call = 162, // expr_call - S_expr_method = 163, // expr_method - S_expr_function = 164, // expr_function - S_expr_pointer = 165, // expr_pointer - S_expr_add_array = 166, // expr_add_array - S_expr_parameters = 167, // expr_parameters - S_expr_arguments = 168, // expr_arguments - S_expr_arguments_no_empty = 169, // expr_arguments_no_empty - S_expr_reference = 170, // expr_reference - S_expr_array = 171, // expr_array - S_expr_field = 172, // expr_field - S_expr_size = 173, // expr_size - S_expr_paren = 174, // expr_paren - S_expr_object = 175, // expr_object - S_expr_thisthread = 176, // expr_thisthread - S_expr_empty_array = 177, // expr_empty_array - S_expr_undefined = 178, // expr_undefined - S_expr_game = 179, // expr_game - S_expr_self = 180, // expr_self - S_expr_anim = 181, // expr_anim - S_expr_level = 182, // expr_level - S_expr_animation = 183, // expr_animation - S_expr_animtree = 184, // expr_animtree - S_expr_identifier = 185, // expr_identifier - S_expr_path = 186, // expr_path - S_expr_istring = 187, // expr_istring - S_expr_string = 188, // expr_string - S_expr_color = 189, // expr_color + S_FLOAT = 102, // "float" + S_INTEGER = 103, // "integer" + S_ADD_ARRAY = 104, // ADD_ARRAY + S_THEN = 105, // THEN + S_TERN = 106, // TERN + S_NEG = 107, // NEG + S_ANIMREF = 108, // ANIMREF + S_PREINC = 109, // PREINC + S_PREDEC = 110, // PREDEC + S_POSTINC = 111, // POSTINC + S_POSTDEC = 112, // POSTDEC + S_YYACCEPT = 113, // $accept + S_root = 114, // root + S_program = 115, // program + S_inline = 116, // inline + S_include = 117, // include + S_declaration = 118, // declaration + S_decl_usingtree = 119, // decl_usingtree + S_decl_constant = 120, // decl_constant + S_decl_thread = 121, // decl_thread + S_stmt = 122, // stmt + S_stmt_or_dev = 123, // stmt_or_dev + S_stmt_list = 124, // stmt_list + S_stmt_or_dev_list = 125, // stmt_or_dev_list + S_stmt_dev = 126, // stmt_dev + S_stmt_block = 127, // stmt_block + S_stmt_expr = 128, // stmt_expr + S_stmt_call = 129, // stmt_call + S_stmt_assign = 130, // stmt_assign + S_stmt_endon = 131, // stmt_endon + S_stmt_notify = 132, // stmt_notify + S_stmt_wait = 133, // stmt_wait + S_stmt_waittill = 134, // stmt_waittill + S_stmt_waittillmatch = 135, // stmt_waittillmatch + S_stmt_waittillframeend = 136, // stmt_waittillframeend + S_stmt_waitframe = 137, // stmt_waitframe + S_stmt_if = 138, // stmt_if + S_stmt_ifelse = 139, // stmt_ifelse + S_stmt_while = 140, // stmt_while + S_stmt_dowhile = 141, // stmt_dowhile + S_stmt_for = 142, // stmt_for + S_stmt_foreach = 143, // stmt_foreach + S_stmt_switch = 144, // stmt_switch + S_stmt_case = 145, // stmt_case + S_stmt_default = 146, // stmt_default + S_stmt_break = 147, // stmt_break + S_stmt_continue = 148, // stmt_continue + S_stmt_return = 149, // stmt_return + S_stmt_breakpoint = 150, // stmt_breakpoint + S_stmt_prof_begin = 151, // stmt_prof_begin + S_stmt_prof_end = 152, // stmt_prof_end + S_expr = 153, // expr + S_expr_or_empty = 154, // expr_or_empty + S_expr_assign = 155, // expr_assign + S_expr_increment = 156, // expr_increment + S_expr_decrement = 157, // expr_decrement + S_expr_ternary = 158, // expr_ternary + S_expr_binary = 159, // expr_binary + S_expr_primitive = 160, // expr_primitive + S_expr_complement = 161, // expr_complement + S_expr_not = 162, // expr_not + S_expr_call = 163, // expr_call + S_expr_method = 164, // expr_method + S_expr_function = 165, // expr_function + S_expr_pointer = 166, // expr_pointer + S_expr_add_array = 167, // expr_add_array + S_expr_parameters = 168, // expr_parameters + S_expr_arguments = 169, // expr_arguments + S_expr_arguments_no_empty = 170, // expr_arguments_no_empty + S_expr_reference = 171, // expr_reference + S_expr_array = 172, // expr_array + S_expr_field = 173, // expr_field + S_expr_size = 174, // expr_size + S_expr_paren = 175, // expr_paren + S_expr_object = 176, // expr_object + S_expr_thisthread = 177, // expr_thisthread + S_expr_empty_array = 178, // expr_empty_array + S_expr_undefined = 179, // expr_undefined + S_expr_game = 180, // expr_game + S_expr_self = 181, // expr_self + S_expr_anim = 182, // expr_anim + S_expr_level = 183, // expr_level + S_expr_animation = 184, // expr_animation + S_expr_animtree = 185, // expr_animtree + S_expr_identifier = 186, // expr_identifier + S_expr_path = 187, // expr_path + S_expr_istring = 188, // expr_istring + S_expr_string = 189, // expr_string S_expr_vector = 190, // expr_vector S_expr_float = 191, // expr_float S_expr_integer = 192, // expr_integer @@ -1099,10 +1098,6 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1204,6 +1199,7 @@ namespace xsk { namespace gsc { namespace s2 { break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.move< ast::stmt > (std::move (that.value)); break; @@ -1235,6 +1231,10 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_default::ptr > (std::move (that.value)); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.move< ast::stmt_dev::ptr > (std::move (that.value)); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.move< ast::stmt_dowhile::ptr > (std::move (that.value)); break; @@ -1263,9 +1263,9 @@ namespace xsk { namespace gsc { namespace s2 { value.move< ast::stmt_ifelse::ptr > (std::move (that.value)); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.move< ast::stmt_list::ptr > (std::move (that.value)); break; @@ -1318,7 +1318,6 @@ namespace xsk { namespace gsc { namespace s2 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1529,20 +1528,6 @@ namespace xsk { namespace gsc { namespace s2 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2005,6 +1990,20 @@ namespace xsk { namespace gsc { namespace s2 { {} #endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, ast::stmt_dev::ptr&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const ast::stmt_dev::ptr& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif + #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::stmt_dowhile::ptr&& v, location_type&& l) : Base (t) @@ -2369,10 +2368,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2474,6 +2469,7 @@ switch (yykind) break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.template destroy< ast::stmt > (); break; @@ -2505,6 +2501,10 @@ switch (yykind) value.template destroy< ast::stmt_default::ptr > (); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.template destroy< ast::stmt_dev::ptr > (); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.template destroy< ast::stmt_dowhile::ptr > (); break; @@ -2533,9 +2533,9 @@ switch (yykind) value.template destroy< ast::stmt_ifelse::ptr > (); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.template destroy< ast::stmt_list::ptr > (); break; @@ -2588,7 +2588,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4280,21 +4279,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4804,8 +4788,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2291, ///< Last index in yytable_. - yynnts_ = 81, ///< Number of nonterminal symbols. + yylast_ = 2300, ///< Last index in yytable_. + yynnts_ = 82, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -4894,10 +4878,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -4999,6 +4979,7 @@ switch (yykind) break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.copy< ast::stmt > (YY_MOVE (that.value)); break; @@ -5030,6 +5011,10 @@ switch (yykind) value.copy< ast::stmt_default::ptr > (YY_MOVE (that.value)); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.copy< ast::stmt_dev::ptr > (YY_MOVE (that.value)); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.copy< ast::stmt_dowhile::ptr > (YY_MOVE (that.value)); break; @@ -5058,9 +5043,9 @@ switch (yykind) value.copy< ast::stmt_ifelse::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.copy< ast::stmt_list::ptr > (YY_MOVE (that.value)); break; @@ -5113,7 +5098,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5210,10 +5194,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5315,6 +5295,7 @@ switch (yykind) break; case symbol_kind::S_stmt: // stmt + case symbol_kind::S_stmt_or_dev: // stmt_or_dev value.move< ast::stmt > (YY_MOVE (s.value)); break; @@ -5346,6 +5327,10 @@ switch (yykind) value.move< ast::stmt_default::ptr > (YY_MOVE (s.value)); break; + case symbol_kind::S_stmt_dev: // stmt_dev + value.move< ast::stmt_dev::ptr > (YY_MOVE (s.value)); + break; + case symbol_kind::S_stmt_dowhile: // stmt_dowhile value.move< ast::stmt_dowhile::ptr > (YY_MOVE (s.value)); break; @@ -5374,9 +5359,9 @@ switch (yykind) value.move< ast::stmt_ifelse::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_stmt_dev: // stmt_dev - case symbol_kind::S_stmt_block: // stmt_block case symbol_kind::S_stmt_list: // stmt_list + case symbol_kind::S_stmt_or_dev_list: // stmt_or_dev_list + case symbol_kind::S_stmt_block: // stmt_block value.move< ast::stmt_list::ptr > (YY_MOVE (s.value)); break; @@ -5429,7 +5414,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5498,7 +5482,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::s2 -#line 5502 "parser.hpp" +#line 5486 "parser.hpp" diff --git a/src/s4/xsk/parser.cpp b/src/s4/xsk/parser.cpp index 18d6e6ed..88100fd4 100644 --- a/src/s4/xsk/parser.cpp +++ b/src/s4/xsk/parser.cpp @@ -277,10 +277,6 @@ namespace xsk { namespace gsc { namespace s4 { value.YY_MOVE_OR_COPY< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.YY_MOVE_OR_COPY< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.YY_MOVE_OR_COPY< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -509,7 +505,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); @@ -592,10 +587,6 @@ namespace xsk { namespace gsc { namespace s4 { value.move< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -824,7 +815,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (that.value)); @@ -907,10 +897,6 @@ namespace xsk { namespace gsc { namespace s4 { value.copy< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (that.value); break; @@ -1139,7 +1125,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (that.value); @@ -1221,10 +1206,6 @@ namespace xsk { namespace gsc { namespace s4 { value.move< ast::expr_call::ptr > (that.value); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (that.value); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (that.value); break; @@ -1453,7 +1434,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (that.value); @@ -1790,10 +1770,6 @@ namespace xsk { namespace gsc { namespace s4 { yylhs.value.emplace< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - yylhs.value.emplace< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement yylhs.value.emplace< ast::expr_complement::ptr > (); break; @@ -2022,7 +1998,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" yylhs.value.emplace< std::string > (); @@ -2049,1351 +2024,1339 @@ namespace xsk { namespace gsc { namespace s4 { switch (yyn) { case 2: // root: program -#line 260 "parser.ypp" +#line 258 "parser.ypp" { ast = std::move(yystack_[0].value.as < ast::program::ptr > ()); } -#line 2055 "parser.cpp" +#line 2030 "parser.cpp" break; case 3: // root: %empty -#line 261 "parser.ypp" +#line 259 "parser.ypp" { ast = std::make_unique(yylhs.location); } -#line 2061 "parser.cpp" +#line 2036 "parser.cpp" break; case 4: // program: program inline -#line 266 "parser.ypp" +#line 264 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); } -#line 2067 "parser.cpp" +#line 2042 "parser.cpp" break; case 5: // program: program include -#line 268 "parser.ypp" +#line 266 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2073 "parser.cpp" +#line 2048 "parser.cpp" break; case 6: // program: program declaration -#line 270 "parser.ypp" +#line 268 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::move(yystack_[1].value.as < ast::program::ptr > ()); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2079 "parser.cpp" +#line 2054 "parser.cpp" break; case 7: // program: inline -#line 272 "parser.ypp" +#line 270 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); } -#line 2085 "parser.cpp" +#line 2060 "parser.cpp" break; case 8: // program: include -#line 274 "parser.ypp" +#line 272 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->includes.push_back(std::move(yystack_[0].value.as < ast::include::ptr > ())); } -#line 2091 "parser.cpp" +#line 2066 "parser.cpp" break; case 9: // program: declaration -#line 276 "parser.ypp" +#line 274 "parser.ypp" { yylhs.value.as < ast::program::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::program::ptr > ()->declarations.push_back(std::move(yystack_[0].value.as < ast::decl > ())); } -#line 2097 "parser.cpp" +#line 2072 "parser.cpp" break; case 10: // inline: "#inline" expr_path ";" -#line 280 "parser.ypp" +#line 278 "parser.ypp" { lexer.push_header(yystack_[1].value.as < ast::expr_path::ptr > ()->value); } -#line 2103 "parser.cpp" +#line 2078 "parser.cpp" break; case 11: // include: "#include" expr_path ";" -#line 285 "parser.ypp" +#line 283 "parser.ypp" { yylhs.value.as < ast::include::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_path::ptr > ())); } -#line 2109 "parser.cpp" +#line 2084 "parser.cpp" break; case 12: // declaration: "/#" -#line 289 "parser.ypp" +#line 287 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_begin = std::make_unique(yylhs.location); } -#line 2115 "parser.cpp" +#line 2090 "parser.cpp" break; case 13: // declaration: "#/" -#line 290 "parser.ypp" +#line 288 "parser.ypp" { yylhs.value.as < ast::decl > ().as_dev_end = std::make_unique(yylhs.location); } -#line 2121 "parser.cpp" +#line 2096 "parser.cpp" break; case 14: // declaration: decl_usingtree -#line 291 "parser.ypp" +#line 289 "parser.ypp" { yylhs.value.as < ast::decl > ().as_usingtree = std::move(yystack_[0].value.as < ast::decl_usingtree::ptr > ()); } -#line 2127 "parser.cpp" +#line 2102 "parser.cpp" break; case 15: // declaration: decl_constant -#line 292 "parser.ypp" +#line 290 "parser.ypp" { yylhs.value.as < ast::decl > ().as_constant = std::move(yystack_[0].value.as < ast::decl_constant::ptr > ()); } -#line 2133 "parser.cpp" +#line 2108 "parser.cpp" break; case 16: // declaration: decl_thread -#line 293 "parser.ypp" +#line 291 "parser.ypp" { yylhs.value.as < ast::decl > ().as_thread = std::move(yystack_[0].value.as < ast::decl_thread::ptr > ()); } -#line 2139 "parser.cpp" +#line 2114 "parser.cpp" break; case 17: // decl_usingtree: "#using_animtree" "(" expr_string ")" ";" -#line 298 "parser.ypp" +#line 296 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_usingtree::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_string::ptr > ())); } -#line 2145 "parser.cpp" +#line 2120 "parser.cpp" break; case 18: // decl_constant: expr_identifier "=" expr ";" -#line 303 "parser.ypp" +#line 301 "parser.ypp" { yylhs.value.as < ast::decl_constant::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2151 "parser.cpp" +#line 2126 "parser.cpp" break; case 19: // decl_thread: expr_identifier "(" expr_parameters ")" stmt_block -#line 308 "parser.ypp" +#line 306 "parser.ypp" { lexer.ban_header(yylhs.location); yylhs.value.as < ast::decl_thread::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2157 "parser.cpp" +#line 2132 "parser.cpp" break; case 20: // stmt: stmt_block -#line 312 "parser.ypp" +#line 310 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_list = std::move(yystack_[0].value.as < ast::stmt_list::ptr > ()); } -#line 2163 "parser.cpp" +#line 2138 "parser.cpp" break; case 21: // stmt: stmt_call -#line 313 "parser.ypp" +#line 311 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_call = std::move(yystack_[0].value.as < ast::stmt_call::ptr > ()); } -#line 2169 "parser.cpp" +#line 2144 "parser.cpp" break; case 22: // stmt: stmt_assign -#line 314 "parser.ypp" +#line 312 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_assign = std::move(yystack_[0].value.as < ast::stmt_assign::ptr > ()); } -#line 2175 "parser.cpp" +#line 2150 "parser.cpp" break; case 23: // stmt: stmt_endon -#line 315 "parser.ypp" +#line 313 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_endon = std::move(yystack_[0].value.as < ast::stmt_endon::ptr > ()); } -#line 2181 "parser.cpp" +#line 2156 "parser.cpp" break; case 24: // stmt: stmt_notify -#line 316 "parser.ypp" +#line 314 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_notify = std::move(yystack_[0].value.as < ast::stmt_notify::ptr > ()); } -#line 2187 "parser.cpp" +#line 2162 "parser.cpp" break; case 25: // stmt: stmt_wait -#line 317 "parser.ypp" +#line 315 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_wait = std::move(yystack_[0].value.as < ast::stmt_wait::ptr > ()); } -#line 2193 "parser.cpp" +#line 2168 "parser.cpp" break; case 26: // stmt: stmt_waittill -#line 318 "parser.ypp" +#line 316 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittill = std::move(yystack_[0].value.as < ast::stmt_waittill::ptr > ()); } -#line 2199 "parser.cpp" +#line 2174 "parser.cpp" break; case 27: // stmt: stmt_waittillmatch -#line 319 "parser.ypp" +#line 317 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillmatch = std::move(yystack_[0].value.as < ast::stmt_waittillmatch::ptr > ()); } -#line 2205 "parser.cpp" +#line 2180 "parser.cpp" break; case 28: // stmt: stmt_waittillframeend -#line 320 "parser.ypp" +#line 318 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waittillframeend = std::move(yystack_[0].value.as < ast::stmt_waittillframeend::ptr > ()); } -#line 2211 "parser.cpp" +#line 2186 "parser.cpp" break; case 29: // stmt: stmt_waitframe -#line 321 "parser.ypp" +#line 319 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_waitframe = std::move(yystack_[0].value.as < ast::stmt_waitframe::ptr > ()); } -#line 2217 "parser.cpp" +#line 2192 "parser.cpp" break; case 30: // stmt: stmt_if -#line 322 "parser.ypp" +#line 320 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_if = std::move(yystack_[0].value.as < ast::stmt_if::ptr > ()); } -#line 2223 "parser.cpp" +#line 2198 "parser.cpp" break; case 31: // stmt: stmt_ifelse -#line 323 "parser.ypp" +#line 321 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_ifelse = std::move(yystack_[0].value.as < ast::stmt_ifelse::ptr > ()); } -#line 2229 "parser.cpp" +#line 2204 "parser.cpp" break; case 32: // stmt: stmt_while -#line 324 "parser.ypp" +#line 322 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_while = std::move(yystack_[0].value.as < ast::stmt_while::ptr > ()); } -#line 2235 "parser.cpp" +#line 2210 "parser.cpp" break; case 33: // stmt: stmt_dowhile -#line 325 "parser.ypp" +#line 323 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dowhile = std::move(yystack_[0].value.as < ast::stmt_dowhile::ptr > ()); } -#line 2241 "parser.cpp" +#line 2216 "parser.cpp" break; case 34: // stmt: stmt_for -#line 326 "parser.ypp" +#line 324 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_for = std::move(yystack_[0].value.as < ast::stmt_for::ptr > ()); } -#line 2247 "parser.cpp" +#line 2222 "parser.cpp" break; case 35: // stmt: stmt_foreach -#line 327 "parser.ypp" +#line 325 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_foreach = std::move(yystack_[0].value.as < ast::stmt_foreach::ptr > ()); } -#line 2253 "parser.cpp" +#line 2228 "parser.cpp" break; case 36: // stmt: stmt_switch -#line 328 "parser.ypp" +#line 326 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_switch = std::move(yystack_[0].value.as < ast::stmt_switch::ptr > ()); } -#line 2259 "parser.cpp" +#line 2234 "parser.cpp" break; case 37: // stmt: stmt_case -#line 329 "parser.ypp" +#line 327 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_case = std::move(yystack_[0].value.as < ast::stmt_case::ptr > ()); } -#line 2265 "parser.cpp" +#line 2240 "parser.cpp" break; case 38: // stmt: stmt_default -#line 330 "parser.ypp" +#line 328 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_default = std::move(yystack_[0].value.as < ast::stmt_default::ptr > ()); } -#line 2271 "parser.cpp" +#line 2246 "parser.cpp" break; case 39: // stmt: stmt_break -#line 331 "parser.ypp" +#line 329 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_break = std::move(yystack_[0].value.as < ast::stmt_break::ptr > ()); } -#line 2277 "parser.cpp" +#line 2252 "parser.cpp" break; case 40: // stmt: stmt_continue -#line 332 "parser.ypp" +#line 330 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_continue = std::move(yystack_[0].value.as < ast::stmt_continue::ptr > ()); } -#line 2283 "parser.cpp" +#line 2258 "parser.cpp" break; case 41: // stmt: stmt_return -#line 333 "parser.ypp" +#line 331 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_return = std::move(yystack_[0].value.as < ast::stmt_return::ptr > ()); } -#line 2289 "parser.cpp" +#line 2264 "parser.cpp" break; case 42: // stmt: stmt_breakpoint -#line 334 "parser.ypp" +#line 332 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_breakpoint = std::move(yystack_[0].value.as < ast::stmt_breakpoint::ptr > ()); } -#line 2295 "parser.cpp" +#line 2270 "parser.cpp" break; case 43: // stmt: stmt_prof_begin -#line 335 "parser.ypp" +#line 333 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_begin = std::move(yystack_[0].value.as < ast::stmt_prof_begin::ptr > ()); } -#line 2301 "parser.cpp" +#line 2276 "parser.cpp" break; case 44: // stmt: stmt_prof_end -#line 336 "parser.ypp" +#line 334 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_prof_end = std::move(yystack_[0].value.as < ast::stmt_prof_end::ptr > ()); } -#line 2307 "parser.cpp" +#line 2282 "parser.cpp" break; case 45: // stmt_or_dev: stmt -#line 340 "parser.ypp" +#line 338 "parser.ypp" { yylhs.value.as < ast::stmt > () = std::move(yystack_[0].value.as < ast::stmt > ()); } -#line 2313 "parser.cpp" +#line 2288 "parser.cpp" break; case 46: // stmt_or_dev: stmt_dev -#line 341 "parser.ypp" +#line 339 "parser.ypp" { yylhs.value.as < ast::stmt > ().as_dev = std::move(yystack_[0].value.as < ast::stmt_dev::ptr > ()); } -#line 2319 "parser.cpp" +#line 2294 "parser.cpp" break; case 47: // stmt_list: stmt_list stmt -#line 346 "parser.ypp" +#line 344 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2325 "parser.cpp" +#line 2300 "parser.cpp" break; case 48: // stmt_list: stmt -#line 348 "parser.ypp" +#line 346 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2331 "parser.cpp" +#line 2306 "parser.cpp" break; case 49: // stmt_or_dev_list: stmt_or_dev_list stmt_or_dev -#line 353 "parser.ypp" +#line 351 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2337 "parser.cpp" +#line 2312 "parser.cpp" break; case 50: // stmt_or_dev_list: stmt_or_dev -#line 355 "parser.ypp" +#line 353 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::stmt_list::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2343 "parser.cpp" +#line 2318 "parser.cpp" break; case 51: // stmt_dev: "/#" stmt_list "#/" -#line 359 "parser.ypp" +#line 357 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::stmt_list::ptr > ())); } -#line 2349 "parser.cpp" +#line 2324 "parser.cpp" break; case 52: // stmt_dev: "/#" "#/" -#line 360 "parser.ypp" +#line 358 "parser.ypp" { yylhs.value.as < ast::stmt_dev::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2355 "parser.cpp" +#line 2330 "parser.cpp" break; case 53: // stmt_block: "{" stmt_or_dev_list "}" -#line 364 "parser.ypp" +#line 362 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::move(yystack_[1].value.as < ast::stmt_list::ptr > ()); } -#line 2361 "parser.cpp" +#line 2336 "parser.cpp" break; case 54: // stmt_block: "{" "}" -#line 365 "parser.ypp" +#line 363 "parser.ypp" { yylhs.value.as < ast::stmt_list::ptr > () = std::make_unique(yylhs.location); } -#line 2367 "parser.cpp" +#line 2342 "parser.cpp" break; case 55: // stmt_expr: expr_assign -#line 370 "parser.ypp" +#line 368 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2373 "parser.cpp" +#line 2348 "parser.cpp" break; case 56: // stmt_expr: expr_increment -#line 372 "parser.ypp" +#line 370 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2379 "parser.cpp" +#line 2354 "parser.cpp" break; case 57: // stmt_expr: expr_decrement -#line 374 "parser.ypp" +#line 372 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2385 "parser.cpp" +#line 2360 "parser.cpp" break; case 58: // stmt_expr: %empty -#line 376 "parser.ypp" +#line 374 "parser.ypp" { yylhs.value.as < ast::stmt_expr::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2391 "parser.cpp" +#line 2366 "parser.cpp" break; case 59: // stmt_call: expr_call ";" -#line 381 "parser.ypp" +#line 379 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_call::ptr > ()))); } -#line 2397 "parser.cpp" +#line 2372 "parser.cpp" break; case 60: // stmt_call: expr_method ";" -#line 383 "parser.ypp" +#line 381 "parser.ypp" { yylhs.value.as < ast::stmt_call::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_method::ptr > ()))); } -#line 2403 "parser.cpp" +#line 2378 "parser.cpp" break; case 61: // stmt_assign: expr_assign ";" -#line 388 "parser.ypp" +#line 386 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2409 "parser.cpp" +#line 2384 "parser.cpp" break; case 62: // stmt_assign: expr_increment ";" -#line 390 "parser.ypp" +#line 388 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2415 "parser.cpp" +#line 2390 "parser.cpp" break; case 63: // stmt_assign: expr_decrement ";" -#line 392 "parser.ypp" +#line 390 "parser.ypp" { yylhs.value.as < ast::stmt_assign::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2421 "parser.cpp" +#line 2396 "parser.cpp" break; case 64: // stmt_endon: expr_object "endon" "(" expr ")" ";" -#line 397 "parser.ypp" +#line 395 "parser.ypp" { yylhs.value.as < ast::stmt_endon::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ())); } -#line 2427 "parser.cpp" +#line 2402 "parser.cpp" break; case 65: // stmt_notify: expr_object "notify" "(" expr "," expr_arguments_no_empty ")" ";" -#line 402 "parser.ypp" +#line 400 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2433 "parser.cpp" +#line 2408 "parser.cpp" break; case 66: // stmt_notify: expr_object "notify" "(" expr ")" ";" -#line 404 "parser.ypp" +#line 402 "parser.ypp" { yylhs.value.as < ast::stmt_notify::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2439 "parser.cpp" +#line 2414 "parser.cpp" break; case 67: // stmt_wait: "wait" expr ";" -#line 409 "parser.ypp" +#line 407 "parser.ypp" { yylhs.value.as < ast::stmt_wait::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2445 "parser.cpp" +#line 2420 "parser.cpp" break; case 68: // stmt_waittill: expr_object "waittill" "(" expr "," expr_arguments_no_empty ")" ";" -#line 414 "parser.ypp" +#line 412 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2451 "parser.cpp" +#line 2426 "parser.cpp" break; case 69: // stmt_waittill: expr_object "waittill" "(" expr ")" ";" -#line 416 "parser.ypp" +#line 414 "parser.ypp" { yylhs.value.as < ast::stmt_waittill::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2457 "parser.cpp" +#line 2432 "parser.cpp" break; case 70: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr "," expr_arguments_no_empty ")" ";" -#line 421 "parser.ypp" +#line 419 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[7].value.as < ast::expr > ()), std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2463 "parser.cpp" +#line 2438 "parser.cpp" break; case 71: // stmt_waittillmatch: expr_object "waittillmatch" "(" expr ")" ";" -#line 423 "parser.ypp" +#line 421 "parser.ypp" { yylhs.value.as < ast::stmt_waittillmatch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::make_unique(yylhs.location)); } -#line 2469 "parser.cpp" +#line 2444 "parser.cpp" break; case 72: // stmt_waittillframeend: "waittillframeend" ";" -#line 428 "parser.ypp" +#line 426 "parser.ypp" { yylhs.value.as < ast::stmt_waittillframeend::ptr > () = std::make_unique(yylhs.location); } -#line 2475 "parser.cpp" +#line 2450 "parser.cpp" break; case 73: // stmt_waitframe: "waitframe" ";" -#line 433 "parser.ypp" +#line 431 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2481 "parser.cpp" +#line 2456 "parser.cpp" break; case 74: // stmt_waitframe: "waitframe" "(" ")" ";" -#line 435 "parser.ypp" +#line 433 "parser.ypp" { yylhs.value.as < ast::stmt_waitframe::ptr > () = std::make_unique(yylhs.location); } -#line 2487 "parser.cpp" +#line 2462 "parser.cpp" break; case 75: // stmt_if: "if" "(" expr ")" stmt -#line 440 "parser.ypp" +#line 438 "parser.ypp" { yylhs.value.as < ast::stmt_if::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2493 "parser.cpp" +#line 2468 "parser.cpp" break; case 76: // stmt_ifelse: "if" "(" expr ")" stmt "else" stmt -#line 445 "parser.ypp" +#line 443 "parser.ypp" { yylhs.value.as < ast::stmt_ifelse::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::stmt > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2499 "parser.cpp" +#line 2474 "parser.cpp" break; case 77: // stmt_while: "while" "(" expr ")" stmt -#line 450 "parser.ypp" +#line 448 "parser.ypp" { yylhs.value.as < ast::stmt_while::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2505 "parser.cpp" +#line 2480 "parser.cpp" break; case 78: // stmt_dowhile: "do" stmt "while" "(" expr ")" ";" -#line 455 "parser.ypp" +#line 453 "parser.ypp" { yylhs.value.as < ast::stmt_dowhile::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[5].value.as < ast::stmt > ())); } -#line 2511 "parser.cpp" +#line 2486 "parser.cpp" break; case 79: // stmt_for: "for" "(" stmt_expr ";" expr_or_empty ";" stmt_expr ")" stmt -#line 460 "parser.ypp" +#line 458 "parser.ypp" { yylhs.value.as < ast::stmt_for::ptr > () = std::make_unique(yylhs.location, ast::stmt(std::move(yystack_[6].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[4].value.as < ast::expr > ()), ast::stmt(std::move(yystack_[2].value.as < ast::stmt_expr::ptr > ())), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2517 "parser.cpp" +#line 2492 "parser.cpp" break; case 80: // stmt_foreach: "foreach" "(" expr_identifier "in" expr ")" stmt -#line 465 "parser.ypp" +#line 463 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2523 "parser.cpp" +#line 2498 "parser.cpp" break; case 81: // stmt_foreach: "foreach" "(" expr_identifier "," expr_identifier "in" expr ")" stmt -#line 467 "parser.ypp" +#line 465 "parser.ypp" { yylhs.value.as < ast::stmt_foreach::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[6].value.as < ast::expr_identifier::ptr > ())), ast::expr(std::move(yystack_[4].value.as < ast::expr_identifier::ptr > ())), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt > ())); } -#line 2529 "parser.cpp" +#line 2504 "parser.cpp" break; case 82: // stmt_switch: "switch" "(" expr ")" stmt_block -#line 472 "parser.ypp" +#line 470 "parser.ypp" { yylhs.value.as < ast::stmt_switch::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::stmt_list::ptr > ())); } -#line 2535 "parser.cpp" +#line 2510 "parser.cpp" break; case 83: // stmt_case: "case" expr_integer ":" -#line 477 "parser.ypp" +#line 475 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_integer::ptr > ())), std::make_unique(yylhs.location)); } -#line 2541 "parser.cpp" +#line 2516 "parser.cpp" break; case 84: // stmt_case: "case" expr_string ":" -#line 479 "parser.ypp" +#line 477 "parser.ypp" { yylhs.value.as < ast::stmt_case::ptr > () = std::make_unique(yylhs.location, ast::expr(std::move(yystack_[1].value.as < ast::expr_string::ptr > ())), std::make_unique(yylhs.location)); } -#line 2547 "parser.cpp" +#line 2522 "parser.cpp" break; case 85: // stmt_default: "default" ":" -#line 484 "parser.ypp" +#line 482 "parser.ypp" { yylhs.value.as < ast::stmt_default::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2553 "parser.cpp" +#line 2528 "parser.cpp" break; case 86: // stmt_break: "break" ";" -#line 489 "parser.ypp" +#line 487 "parser.ypp" { yylhs.value.as < ast::stmt_break::ptr > () = std::make_unique(yylhs.location); } -#line 2559 "parser.cpp" +#line 2534 "parser.cpp" break; case 87: // stmt_continue: "continue" ";" -#line 494 "parser.ypp" +#line 492 "parser.ypp" { yylhs.value.as < ast::stmt_continue::ptr > () = std::make_unique(yylhs.location); } -#line 2565 "parser.cpp" +#line 2540 "parser.cpp" break; case 88: // stmt_return: "return" expr ";" -#line 499 "parser.ypp" +#line 497 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 2571 "parser.cpp" +#line 2546 "parser.cpp" break; case 89: // stmt_return: "return" ";" -#line 501 "parser.ypp" +#line 499 "parser.ypp" { yylhs.value.as < ast::stmt_return::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location)); } -#line 2577 "parser.cpp" +#line 2552 "parser.cpp" break; case 90: // stmt_breakpoint: "breakpoint" ";" -#line 506 "parser.ypp" +#line 504 "parser.ypp" { yylhs.value.as < ast::stmt_breakpoint::ptr > () = std::make_unique(yylhs.location); } -#line 2583 "parser.cpp" +#line 2558 "parser.cpp" break; case 91: // stmt_prof_begin: "prof_begin" "(" expr_arguments ")" ";" -#line 511 "parser.ypp" +#line 509 "parser.ypp" { yylhs.value.as < ast::stmt_prof_begin::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2589 "parser.cpp" +#line 2564 "parser.cpp" break; case 92: // stmt_prof_end: "prof_end" "(" expr_arguments ")" ";" -#line 516 "parser.ypp" +#line 514 "parser.ypp" { yylhs.value.as < ast::stmt_prof_end::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ())); } -#line 2595 "parser.cpp" +#line 2570 "parser.cpp" break; case 93: // expr: expr_ternary -#line 520 "parser.ypp" +#line 518 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2601 "parser.cpp" +#line 2576 "parser.cpp" break; case 94: // expr: expr_binary -#line 521 "parser.ypp" +#line 519 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2607 "parser.cpp" +#line 2582 "parser.cpp" break; case 95: // expr: expr_primitive -#line 522 "parser.ypp" +#line 520 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2613 "parser.cpp" +#line 2588 "parser.cpp" break; case 96: // expr_or_empty: expr -#line 526 "parser.ypp" +#line 524 "parser.ypp" { yylhs.value.as < ast::expr > () = std::move(yystack_[0].value.as < ast::expr > ()); } -#line 2619 "parser.cpp" +#line 2594 "parser.cpp" break; case 97: // expr_or_empty: %empty -#line 527 "parser.ypp" +#line 525 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location); } -#line 2625 "parser.cpp" +#line 2600 "parser.cpp" break; case 98: // expr_assign: expr_object "=" expr -#line 532 "parser.ypp" +#line 530 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2631 "parser.cpp" +#line 2606 "parser.cpp" break; case 99: // expr_assign: expr_object "|=" expr -#line 534 "parser.ypp" +#line 532 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2637 "parser.cpp" +#line 2612 "parser.cpp" break; case 100: // expr_assign: expr_object "&=" expr -#line 536 "parser.ypp" +#line 534 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2643 "parser.cpp" +#line 2618 "parser.cpp" break; case 101: // expr_assign: expr_object "^=" expr -#line 538 "parser.ypp" +#line 536 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2649 "parser.cpp" +#line 2624 "parser.cpp" break; case 102: // expr_assign: expr_object "<<=" expr -#line 540 "parser.ypp" +#line 538 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()),std::move( yystack_[0].value.as < ast::expr > ())); } -#line 2655 "parser.cpp" +#line 2630 "parser.cpp" break; case 103: // expr_assign: expr_object ">>=" expr -#line 542 "parser.ypp" +#line 540 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2661 "parser.cpp" +#line 2636 "parser.cpp" break; case 104: // expr_assign: expr_object "+=" expr -#line 544 "parser.ypp" +#line 542 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2667 "parser.cpp" +#line 2642 "parser.cpp" break; case 105: // expr_assign: expr_object "-=" expr -#line 546 "parser.ypp" +#line 544 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2673 "parser.cpp" +#line 2648 "parser.cpp" break; case 106: // expr_assign: expr_object "*=" expr -#line 548 "parser.ypp" +#line 546 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2679 "parser.cpp" +#line 2654 "parser.cpp" break; case 107: // expr_assign: expr_object "/=" expr -#line 550 "parser.ypp" +#line 548 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2685 "parser.cpp" +#line 2660 "parser.cpp" break; case 108: // expr_assign: expr_object "%=" expr -#line 552 "parser.ypp" +#line 550 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2691 "parser.cpp" +#line 2666 "parser.cpp" break; case 109: // expr_increment: "++" expr_object -#line 557 "parser.ypp" +#line 555 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2697 "parser.cpp" +#line 2672 "parser.cpp" break; case 110: // expr_increment: expr_object "++" -#line 559 "parser.ypp" +#line 557 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2703 "parser.cpp" +#line 2678 "parser.cpp" break; case 111: // expr_decrement: "--" expr_object -#line 564 "parser.ypp" +#line 562 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ()), true); } -#line 2709 "parser.cpp" +#line 2684 "parser.cpp" break; case 112: // expr_decrement: expr_object "--" -#line 566 "parser.ypp" +#line 564 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), false); } -#line 2715 "parser.cpp" +#line 2690 "parser.cpp" break; case 113: // expr_ternary: expr "?" expr ":" expr -#line 571 "parser.ypp" +#line 569 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[4].value.as < ast::expr > ()), std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2721 "parser.cpp" +#line 2696 "parser.cpp" break; case 114: // expr_binary: expr "||" expr -#line 576 "parser.ypp" +#line 574 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2727 "parser.cpp" +#line 2702 "parser.cpp" break; case 115: // expr_binary: expr "&&" expr -#line 578 "parser.ypp" +#line 576 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2733 "parser.cpp" +#line 2708 "parser.cpp" break; case 116: // expr_binary: expr "==" expr -#line 580 "parser.ypp" +#line 578 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2739 "parser.cpp" +#line 2714 "parser.cpp" break; case 117: // expr_binary: expr "!=" expr -#line 582 "parser.ypp" +#line 580 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2745 "parser.cpp" +#line 2720 "parser.cpp" break; case 118: // expr_binary: expr "<=" expr -#line 584 "parser.ypp" +#line 582 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2751 "parser.cpp" +#line 2726 "parser.cpp" break; case 119: // expr_binary: expr ">=" expr -#line 586 "parser.ypp" +#line 584 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2757 "parser.cpp" +#line 2732 "parser.cpp" break; case 120: // expr_binary: expr "<" expr -#line 588 "parser.ypp" +#line 586 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2763 "parser.cpp" +#line 2738 "parser.cpp" break; case 121: // expr_binary: expr ">" expr -#line 590 "parser.ypp" +#line 588 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2769 "parser.cpp" +#line 2744 "parser.cpp" break; case 122: // expr_binary: expr "|" expr -#line 592 "parser.ypp" +#line 590 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2775 "parser.cpp" +#line 2750 "parser.cpp" break; case 123: // expr_binary: expr "&" expr -#line 594 "parser.ypp" +#line 592 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2781 "parser.cpp" +#line 2756 "parser.cpp" break; case 124: // expr_binary: expr "^" expr -#line 596 "parser.ypp" +#line 594 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2787 "parser.cpp" +#line 2762 "parser.cpp" break; case 125: // expr_binary: expr "<<" expr -#line 598 "parser.ypp" +#line 596 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2793 "parser.cpp" +#line 2768 "parser.cpp" break; case 126: // expr_binary: expr ">>" expr -#line 600 "parser.ypp" +#line 598 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2799 "parser.cpp" +#line 2774 "parser.cpp" break; case 127: // expr_binary: expr "+" expr -#line 602 "parser.ypp" +#line 600 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2805 "parser.cpp" +#line 2780 "parser.cpp" break; case 128: // expr_binary: expr "-" expr -#line 604 "parser.ypp" +#line 602 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2811 "parser.cpp" +#line 2786 "parser.cpp" break; case 129: // expr_binary: expr "*" expr -#line 606 "parser.ypp" +#line 604 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2817 "parser.cpp" +#line 2792 "parser.cpp" break; case 130: // expr_binary: expr "/" expr -#line 608 "parser.ypp" +#line 606 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2823 "parser.cpp" +#line 2798 "parser.cpp" break; case 131: // expr_binary: expr "%" expr -#line 610 "parser.ypp" +#line 608 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr > ())); } -#line 2829 "parser.cpp" +#line 2804 "parser.cpp" break; case 132: // expr_primitive: expr_complement -#line 614 "parser.ypp" +#line 612 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_complement::ptr > ()); } -#line 2835 "parser.cpp" +#line 2810 "parser.cpp" break; case 133: // expr_primitive: expr_not -#line 615 "parser.ypp" +#line 613 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_not::ptr > ()); } -#line 2841 "parser.cpp" +#line 2816 "parser.cpp" break; case 134: // expr_primitive: expr_call -#line 616 "parser.ypp" +#line 614 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 2847 "parser.cpp" +#line 2822 "parser.cpp" break; case 135: // expr_primitive: expr_method -#line 617 "parser.ypp" +#line 615 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 2853 "parser.cpp" +#line 2828 "parser.cpp" break; case 136: // expr_primitive: expr_add_array -#line 618 "parser.ypp" +#line 616 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_add_array::ptr > ()); } -#line 2859 "parser.cpp" +#line 2834 "parser.cpp" break; case 137: // expr_primitive: expr_isdefined -#line 619 "parser.ypp" +#line 617 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_isdefined::ptr > ()); } -#line 2865 "parser.cpp" +#line 2840 "parser.cpp" break; case 138: // expr_primitive: expr_istrue -#line 620 "parser.ypp" +#line 618 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istrue::ptr > ()); } -#line 2871 "parser.cpp" +#line 2846 "parser.cpp" break; case 139: // expr_primitive: expr_reference -#line 621 "parser.ypp" +#line 619 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_reference::ptr > ()); } -#line 2877 "parser.cpp" +#line 2852 "parser.cpp" break; case 140: // expr_primitive: expr_array -#line 622 "parser.ypp" +#line 620 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 2883 "parser.cpp" +#line 2858 "parser.cpp" break; case 141: // expr_primitive: expr_field -#line 623 "parser.ypp" +#line 621 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 2889 "parser.cpp" +#line 2864 "parser.cpp" break; case 142: // expr_primitive: expr_size -#line 624 "parser.ypp" +#line 622 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_size::ptr > ()); } -#line 2895 "parser.cpp" +#line 2870 "parser.cpp" break; case 143: // expr_primitive: expr_paren -#line 625 "parser.ypp" +#line 623 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_paren::ptr > ()); } -#line 2901 "parser.cpp" +#line 2876 "parser.cpp" break; case 144: // expr_primitive: expr_thisthread -#line 626 "parser.ypp" +#line 624 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_thisthread::ptr > ()); } -#line 2907 "parser.cpp" +#line 2882 "parser.cpp" break; case 145: // expr_primitive: expr_empty_array -#line 627 "parser.ypp" +#line 625 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_empty_array::ptr > ()); } -#line 2913 "parser.cpp" +#line 2888 "parser.cpp" break; case 146: // expr_primitive: expr_undefined -#line 628 "parser.ypp" +#line 626 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_undefined::ptr > ()); } -#line 2919 "parser.cpp" +#line 2894 "parser.cpp" break; case 147: // expr_primitive: expr_game -#line 629 "parser.ypp" +#line 627 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 2925 "parser.cpp" +#line 2900 "parser.cpp" break; case 148: // expr_primitive: expr_self -#line 630 "parser.ypp" +#line 628 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 2931 "parser.cpp" +#line 2906 "parser.cpp" break; case 149: // expr_primitive: expr_anim -#line 631 "parser.ypp" +#line 629 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 2937 "parser.cpp" +#line 2912 "parser.cpp" break; case 150: // expr_primitive: expr_level -#line 632 "parser.ypp" +#line 630 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 2943 "parser.cpp" +#line 2918 "parser.cpp" break; case 151: // expr_primitive: expr_animation -#line 633 "parser.ypp" +#line 631 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animation::ptr > ()); } -#line 2949 "parser.cpp" +#line 2924 "parser.cpp" break; case 152: // expr_primitive: expr_animtree -#line 634 "parser.ypp" +#line 632 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_animtree::ptr > ()); } -#line 2955 "parser.cpp" +#line 2930 "parser.cpp" break; case 153: // expr_primitive: expr_identifier -#line 635 "parser.ypp" +#line 633 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 2961 "parser.cpp" +#line 2936 "parser.cpp" break; case 154: // expr_primitive: expr_istring -#line 636 "parser.ypp" +#line 634 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_istring::ptr > ()); } -#line 2967 "parser.cpp" +#line 2942 "parser.cpp" break; case 155: // expr_primitive: expr_string -#line 637 "parser.ypp" +#line 635 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_string::ptr > ()); } -#line 2973 "parser.cpp" +#line 2948 "parser.cpp" break; - case 156: // expr_primitive: expr_color -#line 638 "parser.ypp" - { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_color::ptr > ()); } -#line 2979 "parser.cpp" - break; - - case 157: // expr_primitive: expr_vector -#line 639 "parser.ypp" + case 156: // expr_primitive: expr_vector +#line 636 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_vector::ptr > ()); } -#line 2985 "parser.cpp" +#line 2954 "parser.cpp" break; - case 158: // expr_primitive: expr_float -#line 640 "parser.ypp" + case 157: // expr_primitive: expr_float +#line 637 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_float::ptr > ()); } -#line 2991 "parser.cpp" +#line 2960 "parser.cpp" break; - case 159: // expr_primitive: expr_integer -#line 641 "parser.ypp" + case 158: // expr_primitive: expr_integer +#line 638 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_integer::ptr > ()); } -#line 2997 "parser.cpp" +#line 2966 "parser.cpp" break; - case 160: // expr_primitive: expr_false -#line 642 "parser.ypp" + case 159: // expr_primitive: expr_false +#line 639 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_false::ptr > ()); } -#line 3003 "parser.cpp" +#line 2972 "parser.cpp" break; - case 161: // expr_primitive: expr_true -#line 643 "parser.ypp" + case 160: // expr_primitive: expr_true +#line 640 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_true::ptr > ()); } -#line 3009 "parser.cpp" +#line 2978 "parser.cpp" break; - case 162: // expr_complement: "~" expr -#line 648 "parser.ypp" + case 161: // expr_complement: "~" expr +#line 645 "parser.ypp" { yylhs.value.as < ast::expr_complement::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3015 "parser.cpp" +#line 2984 "parser.cpp" break; - case 163: // expr_not: "!" expr -#line 653 "parser.ypp" + case 162: // expr_not: "!" expr +#line 650 "parser.ypp" { yylhs.value.as < ast::expr_not::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3021 "parser.cpp" +#line 2990 "parser.cpp" break; - case 164: // expr_call: expr_function -#line 657 "parser.ypp" + case 163: // expr_call: expr_function +#line 654 "parser.ypp" { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 3027 "parser.cpp" +#line 2996 "parser.cpp" break; - case 165: // expr_call: expr_pointer + case 164: // expr_call: expr_pointer +#line 655 "parser.ypp" + { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } +#line 3002 "parser.cpp" + break; + + case 165: // expr_method: expr_object expr_function #line 658 "parser.ypp" - { yylhs.value.as < ast::expr_call::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[0].value.as < ast::call > ())); } -#line 3033 "parser.cpp" - break; - - case 166: // expr_method: expr_object expr_function -#line 661 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 3039 "parser.cpp" +#line 3008 "parser.cpp" break; - case 167: // expr_method: expr_object expr_pointer -#line 662 "parser.ypp" + case 166: // expr_method: expr_object expr_pointer +#line 659 "parser.ypp" { yylhs.value.as < ast::expr_method::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::call > ())); } -#line 3045 "parser.cpp" +#line 3014 "parser.cpp" break; - case 168: // expr_function: expr_identifier "(" expr_arguments ")" -#line 667 "parser.ypp" + case 167: // expr_function: expr_identifier "(" expr_arguments ")" +#line 664 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3051 "parser.cpp" +#line 3020 "parser.cpp" break; - case 169: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" -#line 669 "parser.ypp" + case 168: // expr_function: expr_path "::" expr_identifier "(" expr_arguments ")" +#line 666 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3057 "parser.cpp" +#line 3026 "parser.cpp" break; - case 170: // expr_function: "thread" expr_identifier "(" expr_arguments ")" -#line 671 "parser.ypp" + case 169: // expr_function: "thread" expr_identifier "(" expr_arguments ")" +#line 668 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3063 "parser.cpp" +#line 3032 "parser.cpp" break; - case 171: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 673 "parser.ypp" + case 170: // expr_function: "thread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 670 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3069 "parser.cpp" +#line 3038 "parser.cpp" break; - case 172: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" -#line 675 "parser.ypp" + case 171: // expr_function: "childthread" expr_identifier "(" expr_arguments ")" +#line 672 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3075 "parser.cpp" +#line 3044 "parser.cpp" break; - case 173: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" -#line 677 "parser.ypp" + case 172: // expr_function: "childthread" expr_path "::" expr_identifier "(" expr_arguments ")" +#line 674 "parser.ypp" { yylhs.value.as < ast::call > ().as_function = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr_path::ptr > ()), std::move(yystack_[3].value.as < ast::expr_identifier::ptr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3081 "parser.cpp" +#line 3050 "parser.cpp" break; - case 174: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 682 "parser.ypp" + case 173: // expr_pointer: "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 679 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::normal); } -#line 3087 "parser.cpp" +#line 3056 "parser.cpp" break; - case 175: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 684 "parser.ypp" + case 174: // expr_pointer: "thread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 681 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::thread); } -#line 3093 "parser.cpp" +#line 3062 "parser.cpp" break; - case 176: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 686 "parser.ypp" + case 175: // expr_pointer: "childthread" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 683 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::childthread); } -#line 3099 "parser.cpp" +#line 3068 "parser.cpp" break; - case 177: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" -#line 688 "parser.ypp" + case 176: // expr_pointer: "call" "[" "[" expr "]" "]" "(" expr_arguments ")" +#line 685 "parser.ypp" { yylhs.value.as < ast::call > ().as_pointer = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ()), ast::call::mode::builtin); } -#line 3105 "parser.cpp" +#line 3074 "parser.cpp" break; - case 178: // expr_add_array: "[" expr_arguments_no_empty "]" -#line 693 "parser.ypp" + case 177: // expr_add_array: "[" expr_arguments_no_empty "]" +#line 690 "parser.ypp" { yylhs.value.as < ast::expr_add_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr_arguments::ptr > ())); } -#line 3111 "parser.cpp" +#line 3080 "parser.cpp" break; - case 179: // expr_parameters: expr_parameters "," expr_identifier -#line 698 "parser.ypp" + case 178: // expr_parameters: expr_parameters "," expr_identifier +#line 695 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::move(yystack_[2].value.as < ast::expr_parameters::ptr > ()); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3117 "parser.cpp" +#line 3086 "parser.cpp" break; - case 180: // expr_parameters: expr_identifier -#line 700 "parser.ypp" + case 179: // expr_parameters: expr_identifier +#line 697 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_parameters::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3123 "parser.cpp" +#line 3092 "parser.cpp" break; - case 181: // expr_parameters: %empty -#line 702 "parser.ypp" + case 180: // expr_parameters: %empty +#line 699 "parser.ypp" { yylhs.value.as < ast::expr_parameters::ptr > () = std::make_unique(yylhs.location); } -#line 3129 "parser.cpp" +#line 3098 "parser.cpp" break; - case 182: // expr_arguments: expr_arguments_no_empty -#line 707 "parser.ypp" + case 181: // expr_arguments: expr_arguments_no_empty +#line 704 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[0].value.as < ast::expr_arguments::ptr > ()); } -#line 3135 "parser.cpp" +#line 3104 "parser.cpp" break; - case 183: // expr_arguments: %empty -#line 709 "parser.ypp" + case 182: // expr_arguments: %empty +#line 706 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); } -#line 3141 "parser.cpp" +#line 3110 "parser.cpp" break; - case 184: // expr_arguments_no_empty: expr_arguments "," expr -#line 714 "parser.ypp" + case 183: // expr_arguments_no_empty: expr_arguments "," expr +#line 711 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::move(yystack_[2].value.as < ast::expr_arguments::ptr > ()); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3147 "parser.cpp" +#line 3116 "parser.cpp" break; - case 185: // expr_arguments_no_empty: expr -#line 716 "parser.ypp" + case 184: // expr_arguments_no_empty: expr +#line 713 "parser.ypp" { yylhs.value.as < ast::expr_arguments::ptr > () = std::make_unique(yylhs.location); yylhs.value.as < ast::expr_arguments::ptr > ()->list.push_back(std::move(yystack_[0].value.as < ast::expr > ())); } -#line 3153 "parser.cpp" +#line 3122 "parser.cpp" break; - case 186: // expr_isdefined: "isdefined" "(" expr ")" -#line 721 "parser.ypp" + case 185: // expr_isdefined: "isdefined" "(" expr ")" +#line 718 "parser.ypp" { yylhs.value.as < ast::expr_isdefined::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3159 "parser.cpp" +#line 3128 "parser.cpp" break; - case 187: // expr_istrue: "istrue" "(" expr ")" -#line 726 "parser.ypp" + case 186: // expr_istrue: "istrue" "(" expr ")" +#line 723 "parser.ypp" { yylhs.value.as < ast::expr_istrue::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3165 "parser.cpp" +#line 3134 "parser.cpp" break; - case 188: // expr_reference: "::" expr_identifier -#line 731 "parser.ypp" + case 187: // expr_reference: "::" expr_identifier +#line 728 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::make_unique(yylhs.location), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3171 "parser.cpp" +#line 3140 "parser.cpp" break; - case 189: // expr_reference: expr_path "::" expr_identifier -#line 733 "parser.ypp" + case 188: // expr_reference: expr_path "::" expr_identifier +#line 730 "parser.ypp" { yylhs.value.as < ast::expr_reference::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr_path::ptr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3177 "parser.cpp" +#line 3146 "parser.cpp" break; - case 190: // expr_array: expr_object "[" expr "]" -#line 738 "parser.ypp" + case 189: // expr_array: expr_object "[" expr "]" +#line 735 "parser.ypp" { yylhs.value.as < ast::expr_array::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3183 "parser.cpp" +#line 3152 "parser.cpp" break; - case 191: // expr_field: expr_object "." expr_identifier -#line 743 "parser.ypp" + case 190: // expr_field: expr_object "." expr_identifier +#line 740 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[2].value.as < ast::expr > ()), std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ())); } -#line 3189 "parser.cpp" +#line 3158 "parser.cpp" break; - case 192: // expr_field: expr_object "field" -#line 745 "parser.ypp" + case 191: // expr_field: expr_object "field" +#line 742 "parser.ypp" { yylhs.value.as < ast::expr_field::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ()), std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ())); } -#line 3195 "parser.cpp" +#line 3164 "parser.cpp" break; - case 193: // expr_size: expr_object ".size" -#line 750 "parser.ypp" + case 192: // expr_size: expr_object ".size" +#line 747 "parser.ypp" { yylhs.value.as < ast::expr_size::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3201 "parser.cpp" +#line 3170 "parser.cpp" break; - case 194: // expr_paren: "(" expr ")" -#line 755 "parser.ypp" + case 193: // expr_paren: "(" expr ")" +#line 752 "parser.ypp" { yylhs.value.as < ast::expr_paren::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3207 "parser.cpp" +#line 3176 "parser.cpp" break; - case 195: // expr_object: expr_call -#line 759 "parser.ypp" + case 194: // expr_object: expr_call +#line 756 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_call::ptr > ()); } -#line 3213 "parser.cpp" +#line 3182 "parser.cpp" break; - case 196: // expr_object: expr_method -#line 760 "parser.ypp" + case 195: // expr_object: expr_method +#line 757 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_method::ptr > ()); } -#line 3219 "parser.cpp" +#line 3188 "parser.cpp" break; - case 197: // expr_object: expr_array -#line 761 "parser.ypp" + case 196: // expr_object: expr_array +#line 758 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_array::ptr > ()); } -#line 3225 "parser.cpp" +#line 3194 "parser.cpp" break; - case 198: // expr_object: expr_field -#line 762 "parser.ypp" + case 197: // expr_object: expr_field +#line 759 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_field::ptr > ()); } -#line 3231 "parser.cpp" +#line 3200 "parser.cpp" break; - case 199: // expr_object: expr_game -#line 763 "parser.ypp" + case 198: // expr_object: expr_game +#line 760 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_game::ptr > ()); } -#line 3237 "parser.cpp" +#line 3206 "parser.cpp" break; - case 200: // expr_object: expr_self -#line 764 "parser.ypp" + case 199: // expr_object: expr_self +#line 761 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_self::ptr > ()); } -#line 3243 "parser.cpp" +#line 3212 "parser.cpp" break; - case 201: // expr_object: expr_anim -#line 765 "parser.ypp" + case 200: // expr_object: expr_anim +#line 762 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_anim::ptr > ()); } -#line 3249 "parser.cpp" +#line 3218 "parser.cpp" break; - case 202: // expr_object: expr_level -#line 766 "parser.ypp" + case 201: // expr_object: expr_level +#line 763 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_level::ptr > ()); } -#line 3255 "parser.cpp" +#line 3224 "parser.cpp" break; - case 203: // expr_object: expr_identifier -#line 767 "parser.ypp" + case 202: // expr_object: expr_identifier +#line 764 "parser.ypp" { yylhs.value.as < ast::expr > ().as_node = std::move(yystack_[0].value.as < ast::expr_identifier::ptr > ()); } -#line 3261 "parser.cpp" +#line 3230 "parser.cpp" break; - case 204: // expr_thisthread: "thisthread" -#line 772 "parser.ypp" + case 203: // expr_thisthread: "thisthread" +#line 769 "parser.ypp" { yylhs.value.as < ast::expr_thisthread::ptr > () = std::make_unique(yylhs.location); } -#line 3267 "parser.cpp" +#line 3236 "parser.cpp" break; - case 205: // expr_empty_array: "[" "]" -#line 777 "parser.ypp" + case 204: // expr_empty_array: "[" "]" +#line 774 "parser.ypp" { yylhs.value.as < ast::expr_empty_array::ptr > () = std::make_unique(yylhs.location); } -#line 3273 "parser.cpp" +#line 3242 "parser.cpp" break; - case 206: // expr_undefined: "undefined" -#line 782 "parser.ypp" + case 205: // expr_undefined: "undefined" +#line 779 "parser.ypp" { yylhs.value.as < ast::expr_undefined::ptr > () = std::make_unique(yylhs.location); } -#line 3279 "parser.cpp" +#line 3248 "parser.cpp" break; - case 207: // expr_game: "game" -#line 787 "parser.ypp" + case 206: // expr_game: "game" +#line 784 "parser.ypp" { yylhs.value.as < ast::expr_game::ptr > () = std::make_unique(yylhs.location); } -#line 3285 "parser.cpp" +#line 3254 "parser.cpp" break; - case 208: // expr_self: "self" -#line 792 "parser.ypp" + case 207: // expr_self: "self" +#line 789 "parser.ypp" { yylhs.value.as < ast::expr_self::ptr > () = std::make_unique(yylhs.location); } -#line 3291 "parser.cpp" +#line 3260 "parser.cpp" break; - case 209: // expr_anim: "anim" -#line 797 "parser.ypp" + case 208: // expr_anim: "anim" +#line 794 "parser.ypp" { yylhs.value.as < ast::expr_anim::ptr > () = std::make_unique(yylhs.location); } -#line 3297 "parser.cpp" +#line 3266 "parser.cpp" break; - case 210: // expr_level: "level" -#line 802 "parser.ypp" + case 209: // expr_level: "level" +#line 799 "parser.ypp" { yylhs.value.as < ast::expr_level::ptr > () = std::make_unique(yylhs.location); } -#line 3303 "parser.cpp" +#line 3272 "parser.cpp" break; - case 211: // expr_animation: "%" "identifier" -#line 807 "parser.ypp" + case 210: // expr_animation: "%" "identifier" +#line 804 "parser.ypp" { yylhs.value.as < ast::expr_animation::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3309 "parser.cpp" +#line 3278 "parser.cpp" break; - case 212: // expr_animtree: "#animtree" -#line 812 "parser.ypp" + case 211: // expr_animtree: "#animtree" +#line 809 "parser.ypp" { yylhs.value.as < ast::expr_animtree::ptr > () = std::make_unique(yylhs.location); } -#line 3315 "parser.cpp" +#line 3284 "parser.cpp" break; - case 213: // expr_identifier: "identifier" -#line 817 "parser.ypp" + case 212: // expr_identifier: "identifier" +#line 814 "parser.ypp" { yylhs.value.as < ast::expr_identifier::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3321 "parser.cpp" +#line 3290 "parser.cpp" break; - case 214: // expr_path: "path" -#line 822 "parser.ypp" + case 213: // expr_path: "path" +#line 819 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3327 "parser.cpp" +#line 3296 "parser.cpp" break; - case 215: // expr_path: expr_identifier -#line 824 "parser.ypp" + case 214: // expr_path: expr_identifier +#line 821 "parser.ypp" { yylhs.value.as < ast::expr_path::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < ast::expr_identifier::ptr > ()->value); } -#line 3333 "parser.cpp" +#line 3302 "parser.cpp" break; - case 216: // expr_istring: "localized string" -#line 829 "parser.ypp" + case 215: // expr_istring: "localized string" +#line 826 "parser.ypp" { yylhs.value.as < ast::expr_istring::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3339 "parser.cpp" +#line 3308 "parser.cpp" break; - case 217: // expr_string: "string literal" -#line 834 "parser.ypp" + case 216: // expr_string: "string literal" +#line 831 "parser.ypp" { yylhs.value.as < ast::expr_string::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3345 "parser.cpp" +#line 3314 "parser.cpp" break; - case 218: // expr_color: "color" -#line 839 "parser.ypp" - { yylhs.value.as < ast::expr_color::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3351 "parser.cpp" - break; - - case 219: // expr_vector: "(" expr "," expr "," expr ")" -#line 844 "parser.ypp" + case 217: // expr_vector: "(" expr "," expr "," expr ")" +#line 836 "parser.ypp" { yylhs.value.as < ast::expr_vector::ptr > () = std::make_unique(yylhs.location, std::move(yystack_[5].value.as < ast::expr > ()), std::move(yystack_[3].value.as < ast::expr > ()), std::move(yystack_[1].value.as < ast::expr > ())); } -#line 3357 "parser.cpp" +#line 3320 "parser.cpp" break; - case 220: // expr_float: "-" "float" -#line 849 "parser.ypp" + case 218: // expr_float: "-" "float" +#line 841 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3363 "parser.cpp" +#line 3326 "parser.cpp" break; - case 221: // expr_float: "float" -#line 851 "parser.ypp" + case 219: // expr_float: "float" +#line 843 "parser.ypp" { yylhs.value.as < ast::expr_float::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3369 "parser.cpp" +#line 3332 "parser.cpp" break; - case 222: // expr_integer: "-" "integer" -#line 856 "parser.ypp" + case 220: // expr_integer: "-" "integer" +#line 848 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, "-" + yystack_[0].value.as < std::string > ()); } -#line 3375 "parser.cpp" +#line 3338 "parser.cpp" break; - case 223: // expr_integer: "integer" -#line 858 "parser.ypp" + case 221: // expr_integer: "integer" +#line 850 "parser.ypp" { yylhs.value.as < ast::expr_integer::ptr > () = std::make_unique(yylhs.location, yystack_[0].value.as < std::string > ()); } -#line 3381 "parser.cpp" +#line 3344 "parser.cpp" break; - case 224: // expr_false: "false" -#line 863 "parser.ypp" + case 222: // expr_false: "false" +#line 855 "parser.ypp" { yylhs.value.as < ast::expr_false::ptr > () = std::make_unique(yylhs.location); } -#line 3387 "parser.cpp" +#line 3350 "parser.cpp" break; - case 225: // expr_true: "true" -#line 868 "parser.ypp" + case 223: // expr_true: "true" +#line 860 "parser.ypp" { yylhs.value.as < ast::expr_true::ptr > () = std::make_unique(yylhs.location); } -#line 3393 "parser.cpp" +#line 3356 "parser.cpp" break; -#line 3397 "parser.cpp" +#line 3360 "parser.cpp" default: break; @@ -3589,29 +3552,28 @@ namespace xsk { namespace gsc { namespace s4 { ";", "?", "++", "--", "<<", ">>", "||", "&&", "==", "!=", "<=", ">=", "<", ">", "!", "~", "=", "+=", "-=", "*=", "/=", "%=", "|=", "&=", "^=", ">>=", "<<=", "|", "&", "^", "+", "-", "*", "/", "%", "field", "path", - "identifier", "string literal", "localized string", "color", "float", - "integer", "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", "PREINC", - "PREDEC", "POSTINC", "POSTDEC", "$accept", "root", "program", "inline", - "include", "declaration", "decl_usingtree", "decl_constant", - "decl_thread", "stmt", "stmt_or_dev", "stmt_list", "stmt_or_dev_list", - "stmt_dev", "stmt_block", "stmt_expr", "stmt_call", "stmt_assign", - "stmt_endon", "stmt_notify", "stmt_wait", "stmt_waittill", - "stmt_waittillmatch", "stmt_waittillframeend", "stmt_waitframe", - "stmt_if", "stmt_ifelse", "stmt_while", "stmt_dowhile", "stmt_for", - "stmt_foreach", "stmt_switch", "stmt_case", "stmt_default", "stmt_break", - "stmt_continue", "stmt_return", "stmt_breakpoint", "stmt_prof_begin", - "stmt_prof_end", "expr", "expr_or_empty", "expr_assign", - "expr_increment", "expr_decrement", "expr_ternary", "expr_binary", - "expr_primitive", "expr_complement", "expr_not", "expr_call", - "expr_method", "expr_function", "expr_pointer", "expr_add_array", - "expr_parameters", "expr_arguments", "expr_arguments_no_empty", - "expr_isdefined", "expr_istrue", "expr_reference", "expr_array", - "expr_field", "expr_size", "expr_paren", "expr_object", - "expr_thisthread", "expr_empty_array", "expr_undefined", "expr_game", - "expr_self", "expr_anim", "expr_level", "expr_animation", - "expr_animtree", "expr_identifier", "expr_path", "expr_istring", - "expr_string", "expr_color", "expr_vector", "expr_float", "expr_integer", - "expr_false", "expr_true", YY_NULLPTR + "identifier", "string literal", "localized string", "float", "integer", + "ADD_ARRAY", "THEN", "TERN", "NEG", "ANIMREF", "PREINC", "PREDEC", + "POSTINC", "POSTDEC", "$accept", "root", "program", "inline", "include", + "declaration", "decl_usingtree", "decl_constant", "decl_thread", "stmt", + "stmt_or_dev", "stmt_list", "stmt_or_dev_list", "stmt_dev", "stmt_block", + "stmt_expr", "stmt_call", "stmt_assign", "stmt_endon", "stmt_notify", + "stmt_wait", "stmt_waittill", "stmt_waittillmatch", + "stmt_waittillframeend", "stmt_waitframe", "stmt_if", "stmt_ifelse", + "stmt_while", "stmt_dowhile", "stmt_for", "stmt_foreach", "stmt_switch", + "stmt_case", "stmt_default", "stmt_break", "stmt_continue", + "stmt_return", "stmt_breakpoint", "stmt_prof_begin", "stmt_prof_end", + "expr", "expr_or_empty", "expr_assign", "expr_increment", + "expr_decrement", "expr_ternary", "expr_binary", "expr_primitive", + "expr_complement", "expr_not", "expr_call", "expr_method", + "expr_function", "expr_pointer", "expr_add_array", "expr_parameters", + "expr_arguments", "expr_arguments_no_empty", "expr_isdefined", + "expr_istrue", "expr_reference", "expr_array", "expr_field", "expr_size", + "expr_paren", "expr_object", "expr_thisthread", "expr_empty_array", + "expr_undefined", "expr_game", "expr_self", "expr_anim", "expr_level", + "expr_animation", "expr_animtree", "expr_identifier", "expr_path", + "expr_istring", "expr_string", "expr_vector", "expr_float", + "expr_integer", "expr_false", "expr_true", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -3876,709 +3838,709 @@ namespace xsk { namespace gsc { namespace s4 { } - const short parser::yypact_ninf_ = -279; + const short parser::yypact_ninf_ = -276; - const short parser::yytable_ninf_ = -216; + const short parser::yytable_ninf_ = -215; const short parser::yypact_[] = { - 8, -279, -279, 12, 12, -38, -279, 65, 8, -279, - -279, -279, -279, -279, -279, -18, -279, -279, 4, 11, - -72, -279, -279, -279, -279, -29, 974, -279, -279, -279, - 24, -28, -279, -279, -43, -34, -279, 32, -279, -279, - -279, -279, -279, -279, -279, 39, 45, 974, 2, -29, - 974, 974, 48, 9, -279, -279, -279, -279, 2144, -279, - -279, -279, -279, -279, 77, 592, -279, -279, -279, -279, - -279, -279, 704, 934, -279, -279, 997, -279, -279, -279, - 1007, 1293, 1305, 1315, -279, -279, 30, 52, -279, -279, - -279, -279, -279, -279, -279, -279, 69, 90, -29, 92, - 83, 96, 102, 108, 101, 106, 974, 974, 1362, 2, - -279, 2227, 105, 113, -279, -279, -279, -279, -279, -279, - -279, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - -279, 1041, -29, -279, -279, -279, 119, 112, 974, -29, - -279, 825, -279, -279, 974, 974, -29, 974, 974, -29, - 974, 1528, 1562, -279, 974, 1874, 974, -279, 2109, 73, - 73, 2258, 2268, 1303, 1303, 164, 164, 164, 164, 2299, - 1055, 2309, -11, -11, -279, -279, -279, 1914, -279, -29, - 14, -279, 121, 1136, 974, 115, -26, 129, 1238, 130, - 133, 138, 140, -69, 132, 136, 141, 907, 144, 142, - 143, -279, 151, 416, 416, -279, -279, 879, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, 147, 148, 152, 154, 157, -279, - -279, 712, -279, -279, -279, -279, -23, 1954, 23, 161, - 1994, 34, 168, 2034, -279, -279, 2073, 165, 2227, 974, - -279, 121, -279, 974, -279, -279, 1192, 2179, -279, 170, - -279, 974, 175, 974, 611, -29, 974, 120, 171, 172, - -279, -279, -279, -279, 2214, -279, 974, 974, 974, -279, - -279, 1324, 1324, -279, -279, -279, -279, -279, -279, -279, - 173, 174, 182, 183, -279, -279, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 184, -279, 974, - 187, -279, 974, 188, 974, 194, 2227, 41, -279, -279, - -279, 177, 1596, 195, 1630, 191, -279, -279, -279, 1242, - -1, 1664, -279, -279, -279, 56, 66, 1874, 974, 974, - 974, 974, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, - 2227, 2227, 2227, 202, 68, 213, 72, 214, 1698, 974, - -279, -279, 1238, 974, 1238, 974, 974, -29, 90, 206, - 207, 1732, 1406, 1450, 1494, 974, -279, 974, -279, 974, - -279, 79, 247, 1766, -279, 2227, 209, 1800, 244, -279, - -279, -279, 211, 215, 974, 216, 974, 217, 974, 81, - 85, 88, -279, 1238, 219, 611, 1238, 974, -279, -279, - 232, -279, 233, -279, 234, -279, -279, -279, -279, -279, - 236, -279, 1834, 229, 230, 231, 1238, 1238, -279, -279, - -279, -279, -279 + 4, -276, -276, 25, 25, 10, -276, 45, 4, -276, + -276, -276, -276, -276, -276, -28, -276, -276, -26, -11, + -41, -276, -276, -276, -276, -30, 1074, -276, -276, -276, + 13, -18, -276, -276, -38, -34, -276, 24, -276, -276, + -276, -276, -276, -276, -276, 41, 47, 1074, 644, -30, + 1074, 1074, -77, 2, -276, -276, -276, 2141, -276, -276, + -276, -276, -276, 134, 554, -276, -276, -276, -276, -276, + -276, 716, 726, -276, -276, 1034, -276, -276, -276, 1100, + 1285, 1340, 1348, -276, -276, 59, 22, -276, -276, -276, + -276, -276, -276, -276, 48, 53, -30, 69, 68, 66, + 76, 87, 81, 86, 1074, 1074, 1359, 644, -276, 2224, + 85, 91, -276, -276, -276, -276, -276, -276, -276, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, -276, 1140, + -30, -276, -276, -276, 102, 106, 1074, -30, -276, 812, + -276, -276, 1074, 1074, -30, 1074, 1074, -30, 1074, 1525, + 1559, -276, 1074, 1871, 1074, -276, 2106, 110, 110, 2255, + 2265, 2306, 2306, 67, 67, 67, 67, 2296, 724, 467, + 35, 35, -276, -276, -276, 1911, -276, -30, -16, -276, + 115, 922, 1074, 107, -32, 118, 1271, 119, 122, 124, + 128, -72, 120, 121, 125, 1008, 126, 139, 140, -276, + 152, 29, 29, -276, -276, 866, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, 149, 150, 155, 160, 161, -276, -276, 1188, + -276, -276, -276, -276, -33, 1951, -9, 144, 1991, -1, + 162, 2031, -276, -276, 2070, 167, 2224, 1074, -276, 115, + -276, 1074, -276, -276, 978, 2176, -276, 172, -276, 1074, + 201, 1074, 7, -30, 1074, 127, 173, 177, -276, -276, + -276, -276, 2211, -276, 1074, 1074, 1074, -276, -276, 532, + 532, -276, -276, -276, -276, -276, -276, -276, 187, 188, + 189, 191, -276, -276, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 192, -276, 1074, 193, -276, + 1074, 194, 1074, 196, 2224, 28, -276, -276, -276, 182, + 1593, 200, 1627, 199, -276, -276, -276, 1275, -17, 1661, + -276, -276, -276, 30, 31, 1871, 1074, 1074, 1074, 1074, + 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, + 2224, 202, 34, 203, 37, 204, 1695, 1074, -276, -276, + 1271, 1074, 1271, 1074, 1074, -30, 53, 207, 208, 1729, + 1403, 1447, 1491, 1074, -276, 1074, -276, 1074, -276, 38, + 235, 1763, -276, 2224, 209, 1797, 237, -276, -276, -276, + 211, 212, 1074, 213, 1074, 215, 1074, 55, 56, 64, + -276, 1271, 217, 7, 1271, 1074, -276, -276, 210, -276, + 232, -276, 234, -276, -276, -276, -276, -276, 236, -276, + 1831, 226, 228, 230, 1271, 1271, -276, -276, -276, -276, + -276 }; const unsigned char parser::yydefact_[] = { - 3, 12, 13, 0, 0, 0, 213, 0, 2, 7, - 8, 9, 14, 15, 16, 0, 214, 215, 0, 0, - 0, 1, 4, 5, 6, 181, 0, 10, 11, 217, - 0, 0, 180, 212, 0, 0, 204, 0, 225, 224, - 206, 207, 208, 209, 210, 0, 0, 0, 183, 0, - 0, 0, 0, 0, 216, 218, 221, 223, 0, 93, - 94, 95, 132, 133, 134, 135, 164, 165, 136, 137, - 138, 139, 140, 141, 142, 143, 0, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 0, 154, 155, - 156, 157, 158, 159, 160, 161, 0, 0, 0, 0, - 215, 0, 0, 215, 0, 0, 0, 0, 0, 183, - 205, 185, 0, 182, 188, 163, 162, 220, 222, 211, - 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 12, 13, 0, 0, 0, 212, 0, 2, 7, + 8, 9, 14, 15, 16, 0, 213, 214, 0, 0, + 0, 1, 4, 5, 6, 180, 0, 10, 11, 216, + 0, 0, 179, 211, 0, 0, 203, 0, 223, 222, + 205, 206, 207, 208, 209, 0, 0, 0, 182, 0, + 0, 0, 0, 0, 215, 219, 221, 0, 93, 94, + 95, 132, 133, 134, 135, 163, 164, 136, 137, 138, + 139, 140, 141, 142, 143, 0, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, + 157, 158, 159, 160, 0, 0, 0, 0, 214, 0, + 0, 214, 0, 0, 0, 0, 0, 182, 204, 184, + 0, 181, 187, 162, 161, 218, 220, 210, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 0, 0, 192, 166, 167, 215, 0, 183, 0, - 17, 0, 19, 179, 0, 183, 0, 0, 183, 0, - 0, 0, 0, 194, 0, 185, 0, 178, 0, 125, - 126, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 127, 128, 129, 130, 131, 0, 191, 0, - 0, 182, 189, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 0, 45, 50, 0, 46, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 0, 0, 0, 195, 196, 197, - 198, 0, 199, 200, 201, 202, 203, 0, 0, 0, - 0, 0, 0, 0, 186, 187, 0, 0, 184, 0, - 190, 0, 168, 183, 52, 48, 0, 0, 72, 0, - 73, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 85, 86, 87, 89, 0, 90, 183, 183, 0, 195, - 196, 109, 111, 53, 49, 61, 62, 63, 59, 60, - 0, 0, 0, 0, 110, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 170, 183, - 0, 172, 183, 0, 0, 0, 113, 0, 51, 47, - 67, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 84, 83, 88, 0, 0, 0, 0, 0, - 0, 0, 98, 104, 105, 106, 107, 108, 99, 100, - 101, 103, 102, 0, 0, 0, 0, 0, 0, 183, - 169, 74, 0, 0, 0, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 183, 171, 183, 173, 183, - 219, 0, 75, 0, 77, 96, 0, 0, 0, 82, - 91, 92, 0, 0, 183, 0, 183, 0, 183, 0, - 0, 0, 174, 0, 0, 58, 0, 0, 64, 66, - 182, 69, 182, 71, 182, 175, 176, 177, 76, 78, - 0, 80, 0, 0, 0, 0, 0, 0, 65, 68, - 70, 79, 81 + 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, + 0, 191, 165, 166, 214, 0, 182, 0, 17, 0, + 19, 178, 0, 182, 0, 0, 182, 0, 0, 0, + 0, 193, 0, 184, 0, 177, 0, 125, 126, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 127, 128, 129, 130, 131, 0, 190, 0, 0, 181, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 0, 0, 0, 45, 50, 0, 46, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 0, 0, 0, 194, 195, 196, 197, 0, + 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, + 0, 0, 185, 186, 0, 0, 183, 0, 189, 0, + 167, 182, 52, 48, 0, 0, 72, 0, 73, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 85, 86, + 87, 89, 0, 90, 182, 182, 0, 194, 195, 109, + 111, 53, 49, 61, 62, 63, 59, 60, 0, 0, + 0, 0, 110, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 169, 182, 0, 171, + 182, 0, 0, 0, 113, 0, 51, 47, 67, 0, + 0, 0, 0, 0, 55, 56, 57, 0, 0, 0, + 84, 83, 88, 0, 0, 0, 0, 0, 0, 0, + 98, 104, 105, 106, 107, 108, 99, 100, 101, 103, + 102, 0, 0, 0, 0, 0, 0, 182, 168, 74, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 182, 170, 182, 172, 182, 217, 0, + 75, 0, 77, 96, 0, 0, 0, 82, 91, 92, + 0, 0, 182, 0, 182, 0, 182, 0, 0, 0, + 173, 0, 0, 58, 0, 0, 64, 66, 181, 69, + 181, 71, 181, 174, 175, 176, 76, 78, 0, 80, + 0, 0, 0, 0, 0, 0, 65, 68, 70, 79, + 81 }; const short parser::yypgoto_[] = { - -279, -279, -279, 289, 292, 295, -279, -279, -279, -181, - 87, -279, -279, -279, -96, -127, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - 203, -279, -278, -273, -270, -279, -279, -279, -279, -279, - -32, -7, -71, -63, -279, -279, -33, -46, -279, -279, - -279, 256, 262, -279, -279, 290, -279, -279, -279, 317, - 343, 392, 399, -279, -279, 0, 6, -279, -13, -279, - -279, -279, 103, -279, -279 + -276, -276, -276, 260, 287, 288, -276, -276, -276, -160, + 82, -276, -276, -276, -93, -125, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, + 197, -276, -275, -271, -270, -276, -276, -276, -276, -276, + -73, -45, -69, -61, -276, -276, 113, -47, -276, -276, + -276, -12, 205, -276, -276, 256, -276, -276, -276, 286, + 292, 337, 388, -276, -276, 0, 6, -276, -15, -276, + -276, 109, -276, -276 }; const short parser::yydefgoto_[] = { - 0, 7, 8, 9, 10, 11, 12, 13, 14, 215, - 216, 276, 217, 218, 219, 345, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 111, 406, 244, 245, 246, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 31, 112, 191, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95 + 0, 7, 8, 9, 10, 11, 12, 13, 14, 213, + 214, 274, 215, 216, 217, 343, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 109, 404, 242, 243, 244, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 31, 110, 189, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93 }; const short parser::yytable_[] = { - 15, 152, 113, 17, 17, 144, 346, 30, 15, 18, - 19, 347, 275, 145, 348, 99, 20, 282, 33, 1, - 2, 3, 4, 5, 102, 32, 287, 97, 279, 386, - 29, 148, 98, 29, 100, 103, 25, 57, 280, -215, - 101, 104, 34, 35, 36, 37, 38, 39, 40, 114, - 41, 42, 43, 44, 45, 46, 47, 16, 6, 387, - 109, 110, 26, 113, 49, 21, 16, 6, 27, 272, - -203, -203, 6, -203, 166, 28, 146, -203, 328, 96, - 50, 51, 147, 166, 148, 137, 138, 139, -203, 331, - 105, -203, -215, 106, 166, 339, 380, 52, 153, 107, - 53, 166, 16, 6, 29, 54, 55, 56, 57, 6, - 119, 389, 16, 6, 149, 190, 166, -195, -195, 247, - -195, 390, 258, 396, -195, 261, 166, 398, 166, -203, - -203, -203, 166, 150, 422, -195, 435, 155, -195, 166, - 436, 166, 188, 437, 248, 166, 151, 346, 166, 192, - 154, 256, 347, 117, 118, 348, 259, 147, 156, 262, - 157, 247, 158, 159, 160, 166, 247, 135, 136, 137, - 138, 139, 167, 148, 189, 273, -195, -195, -195, 278, - 144, 299, 299, 281, 283, 247, 248, 284, 145, 271, - 288, 248, 285, 256, 286, 290, 296, 297, 256, 147, - 291, 402, 343, 404, 147, 292, 300, 300, 295, 298, - 248, 305, 306, 256, 256, 329, 307, 256, 308, 147, - 147, 309, 332, 147, 335, 341, 118, 358, 359, 58, - 144, 144, 122, 123, 352, 353, 360, 361, 145, 145, - 337, 381, 438, 373, 247, 441, 375, 377, 379, 383, - 108, 146, 299, 115, 116, 385, 395, 147, 135, 136, - 137, 138, 139, 355, 356, 451, 452, 397, 399, 248, - 410, 411, 423, 425, 427, 428, 256, 300, 144, 429, - 431, 433, 147, 439, 256, 350, 145, 443, 444, 445, - 147, 446, 409, 448, 449, 450, 374, 22, 440, 376, - 23, 146, 146, 24, 304, 0, 289, 147, 147, 161, - 162, 0, 165, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 0, 187, 0, 401, 0, 0, 146, - 247, 0, 247, 0, 0, 147, 0, 257, 0, 0, - 260, 0, 419, 263, 420, 0, 421, 266, 430, 268, - 432, 0, 434, 0, 0, 248, 0, 248, 0, 0, - 0, 0, 256, 0, 256, 0, 0, 408, 147, 0, - 147, 247, 0, 299, 247, 0, 0, 277, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 294, 0, 0, 250, 247, 247, 248, 0, 300, 248, - 0, 0, 0, 256, 0, 256, 256, 0, 0, 147, - 0, 147, 147, 0, 0, 0, 0, 0, 0, 248, - 248, 251, 0, 0, 0, 0, 256, 256, 0, 249, - 0, 0, 147, 147, 249, 250, 34, 35, 0, 37, - 250, 0, 0, 0, 41, 42, 43, 44, 252, 249, - 249, 0, 336, 249, 212, 250, 250, 0, 0, 250, - 0, 0, 0, 251, 342, 0, 344, 0, 251, 351, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, - 0, 357, 0, 301, 302, 0, 0, 251, 0, 0, - 252, 0, 0, 0, 0, 252, 16, 6, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 252, 252, 249, 0, 252, 0, 253, 378, 250, 0, - 249, 253, 0, 254, 0, 0, 250, 0, 0, 0, - 255, 0, 0, 0, 0, 0, 253, 253, 0, 0, - 253, 391, 392, 393, 394, 0, 251, 0, 0, 0, - 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 403, 0, 405, 407, - 254, 0, 255, 252, 0, 0, 0, 255, 0, 0, - 0, 252, 0, 0, 0, 254, 254, 0, 0, 254, - 0, 0, 255, 255, 0, 0, 255, 0, 0, 253, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 442, 0, -196, -196, 0, -196, 0, 0, 249, -196, - 249, 0, 0, 0, 250, 0, 250, 0, 0, 0, - -196, 34, 35, -196, 37, 0, 0, 0, 0, 41, - 42, 43, 44, 0, 0, 0, 0, 0, 254, 212, - 0, 0, 251, 0, 251, 255, 254, 213, 214, 249, - 0, 249, 249, 255, 0, 250, 0, 250, 250, 0, - 0, -196, -196, -196, 0, 0, 0, 0, 0, 252, - 0, 252, 249, 249, 0, 0, 0, 0, 250, 250, - 0, 16, 6, 251, 0, 349, 251, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 253, 0, 310, - 311, 0, 312, 313, 0, 0, 251, 251, 0, 0, - 252, 0, 252, 252, -197, -197, 0, -197, 0, 0, - 0, -197, 34, 35, 0, 37, 0, 0, 0, 0, - 0, 0, -197, 252, 252, -197, 253, 0, 253, 253, - 141, 0, 0, 142, 254, 0, 254, 0, 314, 315, - 0, 255, 0, 255, 0, 0, 0, 0, 0, 253, - 253, 0, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, -197, -197, -197, 0, 0, 0, 0, - 0, 143, 16, 6, 0, 254, 0, 254, 254, 0, - 0, 0, 255, 0, 255, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 0, 254, 254, - 0, 0, 0, 0, 194, 255, 255, 195, 196, 197, - 0, 198, 199, 200, 201, 0, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 34, 35, 0, 37, 0, - 0, 0, 0, 41, 42, 43, 44, 0, 0, 0, - 0, 151, 211, 212, 0, 0, 0, 0, 0, 0, - 193, 213, 214, 0, 0, 0, 0, 0, 194, 0, - 0, 195, 196, 197, 0, 198, 199, 200, 201, 0, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 34, - 35, 0, 37, 33, 0, 16, 6, 41, 42, 43, - 44, 0, 0, 0, 0, 151, 303, 212, 0, 0, - 0, 0, 0, 0, 0, 213, 214, 34, 35, 36, - 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, - 46, 47, 0, 0, 0, 48, 0, 0, 0, 49, - 0, 293, 0, 0, -198, -198, 0, -198, 0, 16, - 6, -198, 0, 0, 0, 50, 51, 0, 0, 0, - 33, 0, -198, 0, 0, -198, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 53, 0, 16, 6, 29, - 54, 55, 56, 57, 34, 35, 36, 37, 38, 39, + 15, 111, 150, 17, 17, 30, 142, 344, 15, 18, + 19, 345, 346, 384, 143, 1, 2, 3, 4, 5, + 97, 146, 277, 285, 100, 32, 25, 115, 116, -214, + 29, 273, 278, 56, 98, 101, 280, 95, 27, 270, + 99, 102, 96, 385, 164, 21, 326, 34, 35, 112, + 37, 164, 26, 28, 329, 41, 42, 43, 44, 164, + 111, 29, 16, 6, 20, 210, 16, 6, 94, 34, + 35, 6, 37, 211, 212, 144, 245, 41, 42, 43, + 44, 145, 103, 378, 147, 387, 388, 210, 164, 394, + 164, 164, 396, 420, 164, 104, 151, 164, 164, -202, + -202, 105, -202, 117, 246, 6, -202, 16, 6, 149, + 433, 434, 148, 146, 337, 164, 164, -202, 245, 435, + -202, -214, 153, 245, 164, 16, 6, 152, 154, 16, + 6, 135, 136, 137, 155, 120, 121, 247, 297, 297, + 186, 156, 245, 157, 158, 164, 246, 190, 344, 254, + 165, 246, 345, 346, 257, 145, 146, 260, -202, -202, + -202, 133, 134, 135, 136, 137, 298, 298, 187, 271, + 246, 276, 279, 281, -194, -194, 282, -194, 283, 247, + 142, -194, 284, 288, 247, 289, 286, 269, 143, 290, + 293, 254, -194, 294, 295, -194, 254, 145, 327, 247, + 247, 245, 145, 247, 133, 134, 135, 136, 137, 297, + 296, 254, 254, 303, 304, 254, 330, 145, 145, 305, + 400, 145, 402, 57, 306, 307, 333, 339, 341, 246, + 142, 142, 116, -194, -194, -194, 350, 298, 143, 143, + 351, 356, 357, 358, 106, 359, 379, 113, 114, 144, + 377, 371, 373, 375, 381, 145, 393, 395, 397, 188, + 421, 436, 247, 383, 439, 441, 256, 425, 22, 259, + 247, 408, 409, 423, 254, 426, 427, 429, 142, 431, + 145, 437, 254, 348, 449, 450, 143, 442, 145, 443, + 446, 444, 447, 407, 448, 23, 24, 302, 438, 144, + 144, 159, 160, 0, 163, 145, 145, 245, 0, 245, + 287, 0, 0, 0, 0, 0, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 246, 185, 246, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 144, 245, 255, + 297, 245, 258, 145, 248, 261, 0, 0, 0, 264, + 0, 266, 0, 0, 0, 428, 0, 430, 247, 432, + 247, 245, 245, 0, 0, 0, 246, 0, 298, 246, + 254, 0, 254, 0, 335, 406, 145, 0, 145, 275, + 0, 0, 0, 0, 0, 0, 248, 0, 0, 246, + 246, 248, 292, 0, 0, 249, 0, 353, 354, 247, + 0, 247, 247, 0, 0, 0, 248, 248, 0, 0, + 248, 254, 0, 254, 254, 0, 0, 145, 0, 145, + 145, 0, 247, 247, 0, 250, 0, 0, 0, 0, + 372, 251, 0, 374, 254, 254, 0, 249, 0, 0, + 145, 145, 249, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 334, 0, 0, 299, 300, 0, + 0, 249, 0, 0, 0, 0, 340, 250, 342, 248, + 0, 349, 250, 251, 0, 0, 252, 248, 251, 0, + 399, 0, 0, 355, 0, 0, 0, 250, 250, 0, + 0, 250, 0, 251, 251, 0, 417, 251, 418, 0, + 419, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 0, 0, 0, 0, 0, 0, 252, 376, + 249, 0, 0, 252, 0, 120, 121, 253, 347, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 252, 252, + 0, 0, 252, 389, 390, 391, 392, 0, 0, 131, + 250, 133, 134, 135, 136, 137, 251, 0, 250, 0, + 0, 0, 34, 35, 251, 37, 0, 0, 401, 253, + 403, 405, 0, 0, 253, 248, 0, 248, 0, 0, + 139, 0, 0, 140, -195, -195, 0, -195, 0, 253, + 253, -195, 0, 253, 0, 0, 0, 0, 0, 0, + 0, 252, -195, 0, 0, -195, 0, 0, 0, 252, + 0, 0, 440, 0, 0, 0, 248, 0, 248, 248, + 0, 141, 16, 6, 0, 0, 249, 0, 249, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, + 248, 0, 0, -195, -195, -195, 0, 0, 0, 0, + 33, 0, 253, 0, 0, 0, 250, 0, 250, 0, + 253, 0, 251, 0, 251, 0, 0, 249, 0, 347, + 249, 0, 0, 0, 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 46, 47, 0, - 0, 0, 48, -198, -198, -198, 49, 34, 35, 0, - 37, 0, 0, 0, 140, 0, 0, -199, -199, 0, - -199, 0, 50, 51, -199, 141, 0, 33, 142, 0, - 0, 0, 0, 0, 0, -199, 0, 0, -199, 52, + 249, 249, 107, 108, 0, 0, 49, 250, 0, 250, + 250, 0, 0, 251, 0, 251, 251, 252, 0, 252, + 0, 0, 50, 51, 0, 0, 0, 0, 0, 0, + 250, 250, 0, 0, 0, 0, 251, 251, 0, 52, 0, 0, 53, 0, 16, 6, 29, 54, 55, 56, - 57, 34, 35, 36, 37, 38, 39, 40, 0, 41, - 42, 43, 44, 45, 46, 47, 143, 16, 6, 109, - 0, 0, 0, 49, 0, 0, -199, -199, -199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 51, 0, 0, 122, 123, 0, 0, 126, 127, 128, - 129, 130, 131, 0, 0, 0, 52, 0, 0, 53, - 0, 16, 6, 29, 54, 55, 56, 57, 274, 135, - 136, 137, 138, 139, 0, 194, 0, 0, 195, 196, - 197, 0, 198, 199, 200, 201, 0, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 34, 35, 0, 37, - 0, 0, 0, 0, 41, 42, 43, 44, 0, 0, - 0, 0, 151, 0, 212, 0, 0, 0, 0, 0, - 0, 0, 213, 214, 338, 0, 0, 0, 0, 0, - 0, 194, 0, 0, 195, 196, 197, 0, 198, 199, - 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 34, 35, 0, 37, 16, 6, 0, 0, - 41, 42, 43, 44, 0, 0, 0, 0, 151, 0, - 212, 0, 0, 0, 0, 0, 0, 194, 213, 214, - 195, 196, 197, 0, 198, 199, 200, 201, 0, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 34, 35, - 0, 37, 34, 35, 0, 37, 41, 42, 43, 44, - 0, 0, 16, 6, 151, 0, 212, 0, 0, 0, - 141, 0, 0, 142, 213, 214, 0, 0, 314, 315, + 0, 0, 0, 0, 0, 0, -196, -196, 252, -196, + 252, 252, 0, -196, 0, 0, -197, -197, 253, -197, + 253, 0, 0, -197, -196, 0, 0, -196, 0, 0, + 0, 252, 252, 0, -197, 0, 0, -197, 0, 0, + 0, 0, 120, 121, 0, 0, 124, 125, 126, 127, + 128, 129, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 253, 253, 0, 0, -196, -196, -196, 133, 134, + 135, 136, 137, 191, 0, -197, -197, -197, 0, 0, + 0, 192, 253, 253, 193, 194, 195, 0, 196, 197, + 198, 199, 0, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 34, 35, 0, 37, 0, 0, 0, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 149, 209, + 210, 0, 0, 0, 0, 0, 0, 191, 211, 212, + 0, 0, 0, 0, 0, 192, 0, 0, 193, 194, + 195, 0, 196, 197, 198, 199, 0, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 34, 35, 0, 37, + 0, 0, 16, 6, 41, 42, 43, 44, 0, 0, + 0, 0, 149, 301, 210, 0, 0, 0, 0, 0, + 0, 0, 211, 212, 272, 0, 0, 0, 0, 0, + 0, 192, 0, 0, 193, 194, 195, 0, 196, 197, + 198, 199, 0, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 34, 35, 0, 37, 16, 6, 0, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 149, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 211, 212, + 336, 0, 0, 0, 0, 0, 0, 192, 0, 0, + 193, 194, 195, 0, 196, 197, 198, 199, 0, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 34, 35, + 0, 37, 16, 6, 33, 0, 41, 42, 43, 44, + 0, 0, 0, 0, 149, 0, 210, 0, 0, 0, + 0, 0, 0, 0, 211, 212, 0, 0, 34, 35, + 36, 37, 38, 39, 40, 0, 41, 42, 43, 44, + 45, 46, 47, 0, 0, 0, 48, 0, 0, 0, + 49, 0, 291, 0, 34, 35, 0, 37, 16, 6, + 0, 138, 0, 0, 0, 0, 50, 51, 0, 0, + 33, 0, 139, 0, 0, 140, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 53, 0, 16, 6, + 29, 54, 55, 56, 34, 35, 36, 37, 38, 39, + 40, 0, 41, 42, 43, 44, 45, 46, 47, 0, + 0, 0, 48, 141, 16, 6, 49, 0, 0, 0, + -198, -198, 0, -198, 0, 0, 0, -198, 0, 0, + 0, 0, 50, 51, 0, 0, 33, 0, -198, 0, + 0, -198, 0, 0, 0, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 16, 6, 29, 54, 55, 56, + 34, 35, 36, 37, 38, 39, 40, 0, 41, 42, + 43, 44, 45, 46, 47, 0, 0, 0, 107, -198, + -198, -198, 49, 0, 0, 308, 309, 0, 310, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 0, 37, 0, 0, 0, 52, 0, 0, 53, 0, + 16, 6, 29, 54, 55, 56, 139, 0, 0, 140, + 0, 0, 0, 0, 312, 313, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, + 0, 0, 0, 0, 0, 0, 0, 141, 16, 6, + 192, 0, 0, 193, 194, 195, 0, 196, 197, 198, + 199, 0, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 34, 35, 0, 37, 34, 35, 0, 37, 41, + 42, 43, 44, 0, 0, -199, -199, 149, -199, 210, + 0, 0, -199, 139, 0, 0, 140, 211, 212, 0, + 0, 312, 313, -199, 0, 0, -199, 0, 0, 0, + 0, 0, 0, 0, 0, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, + 0, 16, 6, 0, 141, 16, 6, 0, 0, 0, + -200, -200, 0, -200, -199, -199, -199, -200, -201, -201, + 0, -201, 0, 0, 0, -201, 0, 0, -200, 0, + 0, -200, 0, 0, 0, 0, -201, 0, 0, -201, + 0, 0, 0, 0, 161, 0, 0, 0, 0, 162, + 0, 0, 0, 0, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, -200, + -200, -200, 0, 0, 0, 0, 0, -201, -201, -201, + 130, 131, 132, 133, 134, 135, 136, 137, 411, 0, + 0, 0, 0, 412, 0, 0, 0, 0, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 413, 0, 0, 0, 0, 414, 0, 0, + 0, 0, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 415, 0, 0, 0, + 0, 416, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, -200, -200, 0, -200, 0, 16, 6, - -200, 143, 16, 6, 0, -201, -201, 0, -201, 0, - 0, -200, -201, 0, -200, -202, -202, 0, -202, 0, - 0, 0, -202, -201, 34, 35, -201, 37, 0, 0, - 0, 122, 123, -202, 0, 0, -202, 128, 129, 130, - 131, 0, 141, 0, 0, 142, 0, 0, 0, 0, - 0, 0, -200, -200, -200, 0, 0, 135, 136, 137, - 138, 139, 0, 0, -201, -201, -201, 0, 0, 0, - 0, 0, 0, 0, -202, -202, -202, 163, 0, 0, - 0, 0, 164, 143, 16, 6, 0, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 262, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 119, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 413, 0, 0, 0, 0, 414, 0, 0, 0, - 0, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 415, 0, 0, 0, 0, - 416, 0, 0, 0, 0, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, + 398, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 119, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 410, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 119, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 119, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 424, 0, 130, 131, 132, 133, 134, 135, + 136, 137, 119, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 445, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 417, - 0, 0, 0, 0, 418, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 264, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 121, 0, 0, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 265, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 265, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 382, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 400, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 121, 0, 0, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 412, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 121, 0, 0, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 268, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 424, 0, 132, 133, 134, 135, 136, 137, 138, - 139, 121, 0, 0, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 426, 0, 132, 133, 134, - 135, 136, 137, 138, 139, 121, 0, 0, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, - 0, 132, 133, 134, 135, 136, 137, 138, 139, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 267, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 270, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 327, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 330, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 333, 0, 0, 0, 0, 0, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 334, 0, 0, 0, 0, 121, 0, - 0, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 133, 134, 135, 136, 137, - 138, 139, 269, 0, 121, 0, 0, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 325, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 135, 136, 137, 138, 139, 120, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, - 137, 138, 139, 340, 121, 0, 0, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 328, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 135, 136, 137, 138, 139, 354, 121, - 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 121, 0, 0, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 0, 0, 0, 0, 132, 133, - 134, 135, 136, 137, 138, 139, 122, 123, 0, 125, - 126, 127, 128, 129, 130, 131, 122, 123, 0, 0, - 126, 127, 128, 129, 130, 131, 0, 0, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 0, 132, - 133, 134, 135, 136, 137, 138, 139, 122, 123, 0, - 0, 126, 127, 128, 129, 130, 131, 122, 123, 0, - 0, 126, 127, 128, 129, 130, 131, 0, 0, 0, - 0, 133, 134, 135, 136, 137, 138, 139, 0, 0, - 0, 133, 0, 135, 136, 137, 138, 139 + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 331, 0, 0, 0, 0, 0, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 332, 0, 0, 0, 0, 119, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 267, + 0, 119, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 118, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 338, 119, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 352, 119, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 119, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 0, 0, 0, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 120, 121, 0, 123, 124, 125, 126, + 127, 128, 129, 120, 121, 0, 0, 124, 125, 126, + 127, 128, 129, 0, 0, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 0, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 120, 121, 0, 0, 124, 125, + 126, 127, 128, 129, 120, 121, 0, 0, 0, 0, + 126, 127, 128, 129, 0, 0, 0, 0, 131, 132, + 133, 134, 135, 136, 137, 0, 0, 0, 0, 0, + 133, 134, 135, 136, 137 }; const short parser::yycheck_[] = { - 0, 97, 48, 3, 4, 76, 284, 20, 8, 3, - 4, 284, 193, 76, 284, 58, 54, 198, 16, 11, - 12, 13, 14, 15, 58, 25, 95, 55, 54, 30, - 102, 54, 60, 102, 34, 35, 54, 106, 64, 62, - 34, 35, 40, 41, 42, 43, 44, 45, 46, 49, - 48, 49, 50, 51, 52, 53, 54, 100, 101, 60, - 58, 59, 80, 109, 62, 0, 100, 101, 64, 55, - 40, 41, 101, 43, 60, 64, 76, 47, 55, 55, - 78, 79, 76, 60, 54, 96, 97, 98, 58, 55, - 58, 61, 62, 54, 60, 276, 55, 95, 98, 54, - 98, 60, 100, 101, 102, 103, 104, 105, 106, 101, - 101, 55, 100, 101, 62, 148, 60, 40, 41, 151, - 43, 55, 155, 55, 47, 158, 60, 55, 60, 99, - 100, 101, 60, 64, 55, 58, 55, 54, 61, 60, - 55, 60, 142, 55, 151, 60, 56, 425, 60, 149, - 58, 151, 425, 105, 106, 425, 156, 151, 62, 159, - 58, 193, 54, 62, 58, 60, 198, 94, 95, 96, - 97, 98, 59, 54, 62, 54, 99, 100, 101, 64, - 251, 213, 214, 54, 54, 217, 193, 54, 251, 189, - 203, 198, 54, 193, 54, 63, 54, 54, 198, 193, - 64, 382, 27, 384, 198, 64, 213, 214, 64, 58, - 217, 64, 64, 213, 214, 54, 64, 217, 64, 213, - 214, 64, 54, 217, 59, 55, 106, 54, 54, 26, - 301, 302, 68, 69, 63, 63, 54, 54, 301, 302, - 273, 64, 423, 59, 276, 426, 59, 59, 54, 54, - 47, 251, 284, 50, 51, 64, 54, 251, 94, 95, - 96, 97, 98, 296, 297, 446, 447, 54, 54, 276, - 64, 64, 25, 64, 30, 64, 276, 284, 349, 64, - 64, 64, 276, 64, 284, 285, 349, 55, 55, 55, - 284, 55, 388, 64, 64, 64, 329, 8, 425, 332, - 8, 301, 302, 8, 217, -1, 203, 301, 302, 106, - 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, -1, 141, -1, 379, -1, -1, 349, - 382, -1, 384, -1, -1, 349, -1, 154, -1, -1, - 157, -1, 395, 160, 397, -1, 399, 164, 414, 166, - 416, -1, 418, -1, -1, 382, -1, 384, -1, -1, - -1, -1, 382, -1, 384, -1, -1, 387, 382, -1, - 384, 423, -1, 425, 426, -1, -1, 194, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, - 207, -1, -1, 151, 446, 447, 423, -1, 425, 426, - -1, -1, -1, 423, -1, 425, 426, -1, -1, 423, - -1, 425, 426, -1, -1, -1, -1, -1, -1, 446, - 447, 151, -1, -1, -1, -1, 446, 447, -1, 193, - -1, -1, 446, 447, 198, 193, 40, 41, -1, 43, - 198, -1, -1, -1, 48, 49, 50, 51, 151, 213, - 214, -1, 269, 217, 58, 213, 214, -1, -1, 217, - -1, -1, -1, 193, 281, -1, 283, -1, 198, 286, - -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, - -1, 298, -1, 213, 214, -1, -1, 217, -1, -1, - 193, -1, -1, -1, -1, 198, 100, 101, -1, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 213, 214, 276, -1, 217, -1, 193, 334, 276, -1, - 284, 198, -1, 151, -1, -1, 284, -1, -1, -1, - 151, -1, -1, -1, -1, -1, 213, 214, -1, -1, - 217, 358, 359, 360, 361, -1, 276, -1, -1, -1, - -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 193, 383, -1, 385, 386, - 198, -1, 193, 276, -1, -1, -1, 198, -1, -1, - -1, 284, -1, -1, -1, 213, 214, -1, -1, 217, - -1, -1, 213, 214, -1, -1, 217, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, - 427, -1, 40, 41, -1, 43, -1, -1, 382, 47, - 384, -1, -1, -1, 382, -1, 384, -1, -1, -1, - 58, 40, 41, 61, 43, -1, -1, -1, -1, 48, - 49, 50, 51, -1, -1, -1, -1, -1, 276, 58, - -1, -1, 382, -1, 384, 276, 284, 66, 67, 423, - -1, 425, 426, 284, -1, 423, -1, 425, 426, -1, - -1, 99, 100, 101, -1, -1, -1, -1, -1, 382, - -1, 384, 446, 447, -1, -1, -1, -1, 446, 447, - -1, 100, 101, 423, -1, 425, 426, -1, -1, -1, - -1, -1, -1, -1, -1, 382, -1, 384, -1, 17, - 18, -1, 20, 21, -1, -1, 446, 447, -1, -1, - 423, -1, 425, 426, 40, 41, -1, 43, -1, -1, - -1, 47, 40, 41, -1, 43, -1, -1, -1, -1, - -1, -1, 58, 446, 447, 61, 423, -1, 425, 426, - 58, -1, -1, 61, 382, -1, 384, -1, 66, 67, - -1, 382, -1, 384, -1, -1, -1, -1, -1, 446, - 447, -1, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 99, 100, 101, -1, -1, -1, -1, - -1, 99, 100, 101, -1, 423, -1, 425, 426, -1, - -1, -1, 423, -1, 425, 426, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, -1, 446, 447, - -1, -1, -1, -1, 19, 446, 447, 22, 23, 24, - -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, - -1, -1, -1, 48, 49, 50, 51, -1, -1, -1, - -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, - 11, 66, 67, -1, -1, -1, -1, -1, 19, -1, - -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, -1, 43, 16, -1, 100, 101, 48, 49, 50, - 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, - -1, -1, -1, -1, -1, 66, 67, 40, 41, 42, - 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, -1, -1, -1, 58, -1, -1, -1, 62, - -1, 64, -1, -1, 40, 41, -1, 43, -1, 100, - 101, 47, -1, -1, -1, 78, 79, -1, -1, -1, - 16, -1, 58, -1, -1, 61, -1, -1, -1, -1, - -1, -1, 95, -1, -1, 98, -1, 100, 101, 102, - 103, 104, 105, 106, 40, 41, 42, 43, 44, 45, + 0, 48, 95, 3, 4, 20, 75, 282, 8, 3, + 4, 282, 282, 30, 75, 11, 12, 13, 14, 15, + 58, 54, 54, 95, 58, 25, 54, 104, 105, 62, + 102, 191, 64, 105, 34, 35, 196, 55, 64, 55, + 34, 35, 60, 60, 60, 0, 55, 40, 41, 49, + 43, 60, 80, 64, 55, 48, 49, 50, 51, 60, + 107, 102, 100, 101, 54, 58, 100, 101, 55, 40, + 41, 101, 43, 66, 67, 75, 149, 48, 49, 50, + 51, 75, 58, 55, 62, 55, 55, 58, 60, 55, + 60, 60, 55, 55, 60, 54, 96, 60, 60, 40, + 41, 54, 43, 101, 149, 101, 47, 100, 101, 56, + 55, 55, 64, 54, 274, 60, 60, 58, 191, 55, + 61, 62, 54, 196, 60, 100, 101, 58, 62, 100, + 101, 96, 97, 98, 58, 68, 69, 149, 211, 212, + 140, 54, 215, 62, 58, 60, 191, 147, 423, 149, + 59, 196, 423, 423, 154, 149, 54, 157, 99, 100, + 101, 94, 95, 96, 97, 98, 211, 212, 62, 54, + 215, 64, 54, 54, 40, 41, 54, 43, 54, 191, + 249, 47, 54, 63, 196, 64, 201, 187, 249, 64, + 64, 191, 58, 54, 54, 61, 196, 191, 54, 211, + 212, 274, 196, 215, 94, 95, 96, 97, 98, 282, + 58, 211, 212, 64, 64, 215, 54, 211, 212, 64, + 380, 215, 382, 26, 64, 64, 59, 55, 27, 274, + 299, 300, 105, 99, 100, 101, 63, 282, 299, 300, + 63, 54, 54, 54, 47, 54, 64, 50, 51, 249, + 54, 59, 59, 59, 54, 249, 54, 54, 54, 146, + 25, 421, 274, 64, 424, 55, 153, 30, 8, 156, + 282, 64, 64, 64, 274, 64, 64, 64, 347, 64, + 274, 64, 282, 283, 444, 445, 347, 55, 282, 55, + 64, 55, 64, 386, 64, 8, 8, 215, 423, 299, + 300, 104, 105, -1, 107, 299, 300, 380, -1, 382, + 201, -1, -1, -1, -1, -1, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 380, 139, 382, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 347, 421, 152, + 423, 424, 155, 347, 149, 158, -1, -1, -1, 162, + -1, 164, -1, -1, -1, 412, -1, 414, 380, 416, + 382, 444, 445, -1, -1, -1, 421, -1, 423, 424, + 380, -1, 382, -1, 271, 385, 380, -1, 382, 192, + -1, -1, -1, -1, -1, -1, 191, -1, -1, 444, + 445, 196, 205, -1, -1, 149, -1, 294, 295, 421, + -1, 423, 424, -1, -1, -1, 211, 212, -1, -1, + 215, 421, -1, 423, 424, -1, -1, 421, -1, 423, + 424, -1, 444, 445, -1, 149, -1, -1, -1, -1, + 327, 149, -1, 330, 444, 445, -1, 191, -1, -1, + 444, 445, 196, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 267, -1, -1, 211, 212, -1, + -1, 215, -1, -1, -1, -1, 279, 191, 281, 274, + -1, 284, 196, 191, -1, -1, 149, 282, 196, -1, + 377, -1, -1, 296, -1, -1, -1, 211, 212, -1, + -1, 215, -1, 211, 212, -1, 393, 215, 395, -1, + 397, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, -1, -1, 191, 332, + 274, -1, -1, 196, -1, 68, 69, 149, 282, 72, + 73, 74, 75, 76, 77, -1, -1, -1, 211, 212, + -1, -1, 215, 356, 357, 358, 359, -1, -1, 92, + 274, 94, 95, 96, 97, 98, 274, -1, 282, -1, + -1, -1, 40, 41, 282, 43, -1, -1, 381, 191, + 383, 384, -1, -1, 196, 380, -1, 382, -1, -1, + 58, -1, -1, 61, 40, 41, -1, 43, -1, 211, + 212, 47, -1, 215, -1, -1, -1, -1, -1, -1, + -1, 274, 58, -1, -1, 61, -1, -1, -1, 282, + -1, -1, 425, -1, -1, -1, 421, -1, 423, 424, + -1, 99, 100, 101, -1, -1, 380, -1, 382, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 444, + 445, -1, -1, 99, 100, 101, -1, -1, -1, -1, + 16, -1, 274, -1, -1, -1, 380, -1, 382, -1, + 282, -1, 380, -1, 382, -1, -1, 421, -1, 423, + 424, -1, -1, -1, 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, - -1, -1, 58, 99, 100, 101, 62, 40, 41, -1, - 43, -1, -1, -1, 47, -1, -1, 40, 41, -1, - 43, -1, 78, 79, 47, 58, -1, 16, 61, -1, - -1, -1, -1, -1, -1, 58, -1, -1, 61, 95, + 444, 445, 58, 59, -1, -1, 62, 421, -1, 423, + 424, -1, -1, 421, -1, 423, 424, 380, -1, 382, + -1, -1, 78, 79, -1, -1, -1, -1, -1, -1, + 444, 445, -1, -1, -1, -1, 444, 445, -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, 104, 105, - 106, 40, 41, 42, 43, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 99, 100, 101, 58, - -1, -1, -1, 62, -1, -1, 99, 100, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, - 79, -1, -1, 68, 69, -1, -1, 72, 73, 74, - 75, 76, 77, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, 12, 94, - 95, 96, 97, 98, -1, 19, -1, -1, 22, 23, + -1, -1, -1, -1, -1, -1, 40, 41, 421, 43, + 423, 424, -1, 47, -1, -1, 40, 41, 380, 43, + 382, -1, -1, 47, 58, -1, -1, 61, -1, -1, + -1, 444, 445, -1, 58, -1, -1, 61, -1, -1, + -1, -1, 68, 69, -1, -1, 72, 73, 74, 75, + 76, 77, -1, -1, -1, -1, -1, -1, -1, 421, + -1, 423, 424, -1, -1, 99, 100, 101, 94, 95, + 96, 97, 98, 11, -1, 99, 100, 101, -1, -1, + -1, 19, 444, 445, 22, 23, 24, -1, 26, 27, + 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, + 48, 49, 50, 51, -1, -1, -1, -1, 56, 57, + 58, -1, -1, -1, -1, -1, -1, 11, 66, 67, + -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, 48, 49, 50, 51, -1, -1, - -1, -1, 56, -1, 58, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 48, 49, 50, 51, -1, -1, + -1, -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, -1, 66, 67, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 100, 101, -1, -1, 48, 49, 50, 51, -1, -1, -1, -1, 56, -1, - 58, -1, -1, -1, -1, -1, -1, 19, 66, 67, + 58, -1, -1, -1, -1, -1, -1, -1, 66, 67, + 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - -1, 43, 40, 41, -1, 43, 48, 49, 50, 51, - -1, -1, 100, 101, 56, -1, 58, -1, -1, -1, - 58, -1, -1, 61, 66, 67, -1, -1, 66, 67, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 40, 41, -1, 43, -1, 100, 101, - 47, 99, 100, 101, -1, 40, 41, -1, 43, -1, - -1, 58, 47, -1, 61, 40, 41, -1, 43, -1, - -1, -1, 47, 58, 40, 41, 61, 43, -1, -1, - -1, 68, 69, 58, -1, -1, 61, 74, 75, 76, - 77, -1, 58, -1, -1, 61, -1, -1, -1, -1, - -1, -1, 99, 100, 101, -1, -1, 94, 95, 96, - 97, 98, -1, -1, 99, 100, 101, -1, -1, -1, - -1, -1, -1, -1, 99, 100, 101, 55, -1, -1, - -1, -1, 60, 99, 100, 101, -1, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 55, -1, -1, -1, -1, 60, -1, -1, -1, - -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 55, -1, -1, -1, -1, - 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 55, - -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, 91, 92, 93, 94, 95, 96, 97, - 98, 65, -1, -1, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, 91, 92, 93, - 94, 95, 96, 97, 98, 65, -1, -1, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, 91, 92, 93, 94, 95, 96, 97, 98, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 59, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 60, -1, -1, -1, -1, 65, -1, + -1, 43, 100, 101, 16, -1, 48, 49, 50, 51, + -1, -1, -1, -1, 56, -1, 58, -1, -1, -1, + -1, -1, -1, -1, 66, 67, -1, -1, 40, 41, + 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, -1, -1, -1, 58, -1, -1, -1, + 62, -1, 64, -1, 40, 41, -1, 43, 100, 101, + -1, 47, -1, -1, -1, -1, 78, 79, -1, -1, + 16, -1, 58, -1, -1, 61, -1, -1, -1, -1, + -1, -1, -1, 95, -1, -1, 98, -1, 100, 101, + 102, 103, 104, 105, 40, 41, 42, 43, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, + -1, -1, 58, 99, 100, 101, 62, -1, -1, -1, + 40, 41, -1, 43, -1, -1, -1, 47, -1, -1, + -1, -1, 78, 79, -1, -1, 16, -1, 58, -1, + -1, 61, -1, -1, -1, -1, -1, -1, -1, 95, + -1, -1, 98, -1, 100, 101, 102, 103, 104, 105, + 40, 41, 42, 43, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, -1, -1, -1, 58, 99, + 100, 101, 62, -1, -1, 17, 18, -1, 20, 21, + -1, -1, -1, -1, -1, -1, -1, -1, 78, 79, + -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + -1, 43, -1, -1, -1, 95, -1, -1, 98, -1, + 100, 101, 102, 103, 104, 105, 58, -1, -1, 61, + -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, -1, -1, -1, -1, 99, 100, 101, + 19, -1, -1, 22, 23, 24, -1, 26, 27, 28, + 29, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, -1, 43, 40, 41, -1, 43, 48, + 49, 50, 51, -1, -1, 40, 41, 56, 43, 58, + -1, -1, 47, 58, -1, -1, 61, 66, 67, -1, + -1, 66, 67, 58, -1, -1, 61, -1, -1, -1, + -1, -1, -1, -1, -1, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + -1, 100, 101, -1, 99, 100, 101, -1, -1, -1, + 40, 41, -1, 43, 99, 100, 101, 47, 40, 41, + -1, 43, -1, -1, -1, 47, -1, -1, 58, -1, + -1, 61, -1, -1, -1, -1, 58, -1, -1, 61, + -1, -1, -1, -1, 55, -1, -1, -1, -1, 60, + -1, -1, -1, -1, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 99, + 100, 101, -1, -1, -1, -1, -1, 99, 100, 101, + 91, 92, 93, 94, 95, 96, 97, 98, 55, -1, + -1, -1, -1, 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, 96, - 97, 98, 63, -1, 65, -1, -1, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + 97, 98, 55, -1, -1, -1, -1, 60, -1, -1, + -1, -1, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 55, -1, -1, -1, + -1, 60, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, 94, 95, 96, 97, 98, 64, 65, + 55, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + 91, 92, 93, 94, 95, 96, 97, 98, 65, -1, + -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, -1, 91, 92, 93, 94, 95, 96, + 97, 98, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 65, -1, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + 91, 92, 93, 94, 95, 96, 97, 98, 65, -1, + -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, -1, 91, 92, 93, 94, 95, 96, + 97, 98, 65, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 60, -1, -1, -1, -1, 65, -1, -1, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 91, 92, 93, 94, 95, 96, 97, 98, 63, + -1, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + 94, 95, 96, 97, 98, 64, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, + 64, 65, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + 94, 95, 96, 97, 98, 64, 65, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 65, -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, + 76, 77, 91, 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, -1, -1, 91, 92, 93, 94, 95, - 96, 97, 98, 64, 65, -1, -1, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, 94, 95, 96, 97, 98, 64, 65, - -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 65, -1, -1, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 91, 92, 93, 94, 95, - 96, 97, 98, -1, -1, -1, -1, -1, 91, 92, - 93, 94, 95, 96, 97, 98, 68, 69, -1, 71, - 72, 73, 74, 75, 76, 77, 68, 69, -1, -1, - 72, 73, 74, 75, 76, 77, -1, -1, -1, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, 91, - 92, 93, 94, 95, 96, 97, 98, 68, 69, -1, - -1, 72, 73, 74, 75, 76, 77, 68, 69, -1, - -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, - -1, 92, 93, 94, 95, 96, 97, 98, -1, -1, - -1, 92, -1, 94, 95, 96, 97, 98 + 96, 97, 98, 68, 69, -1, 71, 72, 73, 74, + 75, 76, 77, 68, 69, -1, -1, 72, 73, 74, + 75, 76, 77, -1, -1, -1, 91, 92, 93, 94, + 95, 96, 97, 98, -1, -1, 91, 92, 93, 94, + 95, 96, 97, 98, 68, 69, -1, -1, 72, 73, + 74, 75, 76, 77, 68, 69, -1, -1, -1, -1, + 74, 75, 76, 77, -1, -1, -1, -1, 92, 93, + 94, 95, 96, 97, 98, -1, -1, -1, -1, -1, + 94, 95, 96, 97, 98 }; const unsigned char parser::yystos_[] = { - 0, 11, 12, 13, 14, 15, 101, 117, 118, 119, - 120, 121, 122, 123, 124, 191, 100, 191, 192, 192, - 54, 0, 119, 120, 121, 54, 80, 64, 64, 102, - 194, 171, 191, 16, 40, 41, 42, 43, 44, 45, + 0, 11, 12, 13, 14, 15, 101, 116, 117, 118, + 119, 120, 121, 122, 123, 190, 100, 190, 191, 191, + 54, 0, 118, 119, 120, 54, 80, 64, 64, 102, + 193, 170, 190, 16, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 58, 62, - 78, 79, 95, 98, 103, 104, 105, 106, 156, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 174, + 78, 79, 95, 98, 103, 104, 105, 155, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 55, 55, 60, 58, - 191, 192, 58, 191, 192, 58, 54, 54, 156, 58, - 59, 156, 172, 173, 191, 156, 156, 105, 106, 101, - 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 91, 92, 93, 94, 95, 96, 97, 98, - 47, 58, 61, 99, 168, 169, 191, 192, 54, 62, - 64, 56, 130, 191, 58, 54, 62, 58, 54, 62, - 58, 156, 156, 55, 60, 156, 60, 59, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 191, 62, - 172, 173, 191, 11, 19, 22, 23, 24, 26, 27, - 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 57, 58, 66, 67, 125, 126, 128, 129, 130, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 158, 159, 160, 166, 167, 177, - 178, 181, 185, 186, 187, 188, 191, 156, 172, 191, - 156, 172, 191, 156, 55, 55, 156, 59, 156, 63, - 59, 191, 55, 54, 12, 125, 127, 156, 64, 54, - 64, 54, 125, 54, 54, 54, 54, 95, 194, 198, - 63, 64, 64, 64, 156, 64, 54, 54, 58, 166, - 167, 181, 181, 57, 126, 64, 64, 64, 64, 64, - 17, 18, 20, 21, 66, 67, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 59, 55, 54, - 59, 55, 54, 59, 60, 59, 156, 172, 12, 125, - 64, 55, 156, 27, 156, 131, 158, 159, 160, 181, - 191, 156, 63, 63, 64, 172, 172, 156, 54, 54, - 54, 54, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 59, 172, 59, 172, 59, 156, 54, - 55, 64, 55, 54, 55, 64, 30, 60, 55, 55, - 55, 156, 156, 156, 156, 54, 55, 54, 55, 54, - 55, 172, 125, 156, 125, 156, 157, 156, 191, 130, - 64, 64, 55, 55, 60, 55, 60, 55, 60, 172, - 172, 172, 55, 25, 55, 64, 55, 30, 64, 64, - 173, 64, 173, 64, 173, 55, 55, 55, 125, 64, - 131, 125, 156, 55, 55, 55, 55, 55, 64, 64, - 64, 125, 125 + 195, 196, 197, 198, 55, 55, 60, 58, 190, 191, + 58, 190, 191, 58, 54, 54, 155, 58, 59, 155, + 171, 172, 190, 155, 155, 104, 105, 101, 64, 65, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 91, 92, 93, 94, 95, 96, 97, 98, 47, 58, + 61, 99, 167, 168, 190, 191, 54, 62, 64, 56, + 129, 190, 58, 54, 62, 58, 54, 62, 58, 155, + 155, 55, 60, 155, 60, 59, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 190, 62, 171, 172, + 190, 11, 19, 22, 23, 24, 26, 27, 28, 29, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 57, + 58, 66, 67, 124, 125, 127, 128, 129, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 157, 158, 159, 165, 166, 176, 177, 180, + 184, 185, 186, 187, 190, 155, 171, 190, 155, 171, + 190, 155, 55, 55, 155, 59, 155, 63, 59, 190, + 55, 54, 12, 124, 126, 155, 64, 54, 64, 54, + 124, 54, 54, 54, 54, 95, 193, 196, 63, 64, + 64, 64, 155, 64, 54, 54, 58, 165, 166, 180, + 180, 57, 125, 64, 64, 64, 64, 64, 17, 18, + 20, 21, 66, 67, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 59, 55, 54, 59, 55, + 54, 59, 60, 59, 155, 171, 12, 124, 64, 55, + 155, 27, 155, 130, 157, 158, 159, 180, 190, 155, + 63, 63, 64, 171, 171, 155, 54, 54, 54, 54, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 59, 171, 59, 171, 59, 155, 54, 55, 64, + 55, 54, 55, 64, 30, 60, 55, 55, 55, 155, + 155, 155, 155, 54, 55, 54, 55, 54, 55, 171, + 124, 155, 124, 155, 156, 155, 190, 129, 64, 64, + 55, 55, 60, 55, 60, 55, 60, 171, 171, 171, + 55, 25, 55, 64, 55, 30, 64, 64, 172, 64, + 172, 64, 172, 55, 55, 55, 124, 64, 130, 124, + 155, 55, 55, 55, 55, 55, 64, 64, 64, 124, + 124 }; const unsigned char parser::yyr1_[] = { - 0, 116, 117, 117, 118, 118, 118, 118, 118, 118, - 119, 120, 121, 121, 121, 121, 121, 122, 123, 124, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 126, 126, 127, 127, 128, - 128, 129, 129, 130, 130, 131, 131, 131, 131, 132, - 132, 133, 133, 133, 134, 135, 135, 136, 137, 137, - 138, 138, 139, 140, 140, 141, 142, 143, 144, 145, - 146, 146, 147, 148, 148, 149, 150, 151, 152, 152, - 153, 154, 155, 156, 156, 156, 157, 157, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, - 159, 160, 160, 161, 162, 162, 162, 162, 162, 162, + 0, 115, 116, 116, 117, 117, 117, 117, 117, 117, + 118, 119, 120, 120, 120, 120, 120, 121, 122, 123, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 125, 125, 126, 126, 127, + 127, 128, 128, 129, 129, 130, 130, 130, 130, 131, + 131, 132, 132, 132, 133, 134, 134, 135, 136, 136, + 137, 137, 138, 139, 139, 140, 141, 142, 143, 144, + 145, 145, 146, 147, 147, 148, 149, 150, 151, 151, + 152, 153, 154, 155, 155, 155, 156, 156, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, + 158, 159, 159, 160, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 164, 165, 166, 166, 167, 167, 168, 168, - 168, 168, 168, 168, 169, 169, 169, 169, 170, 171, - 171, 171, 172, 172, 173, 173, 174, 175, 176, 176, - 177, 178, 178, 179, 180, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 192, 193, 194, 195, 196, - 197, 197, 198, 198, 199, 200 + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 163, 164, 165, 165, 166, 166, 167, 167, 167, + 167, 167, 167, 168, 168, 168, 168, 169, 170, 170, + 170, 171, 171, 172, 172, 173, 174, 175, 175, 176, + 177, 177, 178, 179, 180, 180, 180, 180, 180, 180, + 180, 180, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 191, 192, 193, 194, 195, 195, + 196, 196, 197, 198 }; const signed char @@ -4600,13 +4562,13 @@ namespace xsk { namespace gsc { namespace s4 { 3, 3, 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, 2, 1, 1, 2, 2, 4, 6, - 5, 7, 5, 7, 8, 9, 9, 9, 3, 3, - 1, 0, 1, 0, 3, 1, 4, 4, 2, 3, - 4, 3, 2, 2, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 7, - 2, 1, 2, 1, 1, 1 + 1, 2, 2, 1, 1, 2, 2, 4, 6, 5, + 7, 5, 7, 8, 9, 9, 9, 3, 3, 1, + 0, 1, 0, 3, 1, 4, 4, 2, 3, 4, + 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 7, 2, 1, + 2, 1, 1, 1 }; @@ -4616,29 +4578,29 @@ namespace xsk { namespace gsc { namespace s4 { const short parser::yyrline_[] = { - 0, 260, 260, 261, 265, 267, 269, 271, 273, 275, - 280, 284, 289, 290, 291, 292, 293, 297, 302, 307, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 340, 341, 345, 347, 352, - 354, 359, 360, 364, 365, 369, 371, 373, 376, 380, - 382, 387, 389, 391, 396, 401, 403, 408, 413, 415, - 420, 422, 427, 432, 434, 439, 444, 449, 454, 459, - 464, 466, 471, 476, 478, 483, 488, 493, 498, 500, - 505, 510, 515, 520, 521, 522, 526, 527, 531, 533, - 535, 537, 539, 541, 543, 545, 547, 549, 551, 556, - 558, 563, 565, 570, 575, 577, 579, 581, 583, 585, - 587, 589, 591, 593, 595, 597, 599, 601, 603, 605, - 607, 609, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, - 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, - 642, 643, 647, 652, 657, 658, 661, 662, 666, 668, - 670, 672, 674, 676, 681, 683, 685, 687, 692, 697, - 699, 702, 706, 709, 713, 715, 720, 725, 730, 732, - 737, 742, 744, 749, 754, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 771, 776, 781, 786, 791, 796, - 801, 806, 811, 816, 821, 823, 828, 833, 838, 843, - 848, 850, 855, 857, 862, 867 + 0, 258, 258, 259, 263, 265, 267, 269, 271, 273, + 278, 282, 287, 288, 289, 290, 291, 295, 300, 305, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 338, 339, 343, 345, 350, + 352, 357, 358, 362, 363, 367, 369, 371, 374, 378, + 380, 385, 387, 389, 394, 399, 401, 406, 411, 413, + 418, 420, 425, 430, 432, 437, 442, 447, 452, 457, + 462, 464, 469, 474, 476, 481, 486, 491, 496, 498, + 503, 508, 513, 518, 519, 520, 524, 525, 529, 531, + 533, 535, 537, 539, 541, 543, 545, 547, 549, 554, + 556, 561, 563, 568, 573, 575, 577, 579, 581, 583, + 585, 587, 589, 591, 593, 595, 597, 599, 601, 603, + 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 644, 649, 654, 655, 658, 659, 663, 665, 667, + 669, 671, 673, 678, 680, 682, 684, 689, 694, 696, + 699, 703, 706, 710, 712, 717, 722, 727, 729, 734, + 739, 741, 746, 751, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 768, 773, 778, 783, 788, 793, 798, + 803, 808, 813, 818, 820, 825, 830, 835, 840, 842, + 847, 849, 854, 859 }; void @@ -4671,9 +4633,9 @@ namespace xsk { namespace gsc { namespace s4 { #line 13 "parser.ypp" } } } // xsk::gsc::s4 -#line 4675 "parser.cpp" +#line 4637 "parser.cpp" -#line 871 "parser.ypp" +#line 863 "parser.ypp" void xsk::gsc::s4::parser::error(const xsk::gsc::location& loc, const std::string& msg) diff --git a/src/s4/xsk/parser.hpp b/src/s4/xsk/parser.hpp index b42f2b59..f232b2ec 100644 --- a/src/s4/xsk/parser.hpp +++ b/src/s4/xsk/parser.hpp @@ -456,186 +456,182 @@ namespace xsk { namespace gsc { namespace s4 { // expr_call char dummy13[sizeof (ast::expr_call::ptr)]; - // expr_color - char dummy14[sizeof (ast::expr_color::ptr)]; - // expr_complement - char dummy15[sizeof (ast::expr_complement::ptr)]; + char dummy14[sizeof (ast::expr_complement::ptr)]; // expr_empty_array - char dummy16[sizeof (ast::expr_empty_array::ptr)]; + char dummy15[sizeof (ast::expr_empty_array::ptr)]; // expr_false - char dummy17[sizeof (ast::expr_false::ptr)]; + char dummy16[sizeof (ast::expr_false::ptr)]; // expr_field - char dummy18[sizeof (ast::expr_field::ptr)]; + char dummy17[sizeof (ast::expr_field::ptr)]; // expr_float - char dummy19[sizeof (ast::expr_float::ptr)]; + char dummy18[sizeof (ast::expr_float::ptr)]; // expr_game - char dummy20[sizeof (ast::expr_game::ptr)]; + char dummy19[sizeof (ast::expr_game::ptr)]; // expr_identifier - char dummy21[sizeof (ast::expr_identifier::ptr)]; + char dummy20[sizeof (ast::expr_identifier::ptr)]; // expr_integer - char dummy22[sizeof (ast::expr_integer::ptr)]; + char dummy21[sizeof (ast::expr_integer::ptr)]; // expr_isdefined - char dummy23[sizeof (ast::expr_isdefined::ptr)]; + char dummy22[sizeof (ast::expr_isdefined::ptr)]; // expr_istring - char dummy24[sizeof (ast::expr_istring::ptr)]; + char dummy23[sizeof (ast::expr_istring::ptr)]; // expr_istrue - char dummy25[sizeof (ast::expr_istrue::ptr)]; + char dummy24[sizeof (ast::expr_istrue::ptr)]; // expr_level - char dummy26[sizeof (ast::expr_level::ptr)]; + char dummy25[sizeof (ast::expr_level::ptr)]; // expr_method - char dummy27[sizeof (ast::expr_method::ptr)]; + char dummy26[sizeof (ast::expr_method::ptr)]; // expr_not - char dummy28[sizeof (ast::expr_not::ptr)]; + char dummy27[sizeof (ast::expr_not::ptr)]; // expr_parameters - char dummy29[sizeof (ast::expr_parameters::ptr)]; + char dummy28[sizeof (ast::expr_parameters::ptr)]; // expr_paren - char dummy30[sizeof (ast::expr_paren::ptr)]; + char dummy29[sizeof (ast::expr_paren::ptr)]; // expr_path - char dummy31[sizeof (ast::expr_path::ptr)]; + char dummy30[sizeof (ast::expr_path::ptr)]; // expr_reference - char dummy32[sizeof (ast::expr_reference::ptr)]; + char dummy31[sizeof (ast::expr_reference::ptr)]; // expr_self - char dummy33[sizeof (ast::expr_self::ptr)]; + char dummy32[sizeof (ast::expr_self::ptr)]; // expr_size - char dummy34[sizeof (ast::expr_size::ptr)]; + char dummy33[sizeof (ast::expr_size::ptr)]; // expr_string - char dummy35[sizeof (ast::expr_string::ptr)]; + char dummy34[sizeof (ast::expr_string::ptr)]; // expr_thisthread - char dummy36[sizeof (ast::expr_thisthread::ptr)]; + char dummy35[sizeof (ast::expr_thisthread::ptr)]; // expr_true - char dummy37[sizeof (ast::expr_true::ptr)]; + char dummy36[sizeof (ast::expr_true::ptr)]; // expr_undefined - char dummy38[sizeof (ast::expr_undefined::ptr)]; + char dummy37[sizeof (ast::expr_undefined::ptr)]; // expr_vector - char dummy39[sizeof (ast::expr_vector::ptr)]; + char dummy38[sizeof (ast::expr_vector::ptr)]; // include - char dummy40[sizeof (ast::include::ptr)]; + char dummy39[sizeof (ast::include::ptr)]; // program - char dummy41[sizeof (ast::program::ptr)]; + char dummy40[sizeof (ast::program::ptr)]; // stmt // stmt_or_dev - char dummy42[sizeof (ast::stmt)]; + char dummy41[sizeof (ast::stmt)]; // stmt_assign - char dummy43[sizeof (ast::stmt_assign::ptr)]; + char dummy42[sizeof (ast::stmt_assign::ptr)]; // stmt_break - char dummy44[sizeof (ast::stmt_break::ptr)]; + char dummy43[sizeof (ast::stmt_break::ptr)]; // stmt_breakpoint - char dummy45[sizeof (ast::stmt_breakpoint::ptr)]; + char dummy44[sizeof (ast::stmt_breakpoint::ptr)]; // stmt_call - char dummy46[sizeof (ast::stmt_call::ptr)]; + char dummy45[sizeof (ast::stmt_call::ptr)]; // stmt_case - char dummy47[sizeof (ast::stmt_case::ptr)]; + char dummy46[sizeof (ast::stmt_case::ptr)]; // stmt_continue - char dummy48[sizeof (ast::stmt_continue::ptr)]; + char dummy47[sizeof (ast::stmt_continue::ptr)]; // stmt_default - char dummy49[sizeof (ast::stmt_default::ptr)]; + char dummy48[sizeof (ast::stmt_default::ptr)]; // stmt_dev - char dummy50[sizeof (ast::stmt_dev::ptr)]; + char dummy49[sizeof (ast::stmt_dev::ptr)]; // stmt_dowhile - char dummy51[sizeof (ast::stmt_dowhile::ptr)]; + char dummy50[sizeof (ast::stmt_dowhile::ptr)]; // stmt_endon - char dummy52[sizeof (ast::stmt_endon::ptr)]; + char dummy51[sizeof (ast::stmt_endon::ptr)]; // stmt_expr - char dummy53[sizeof (ast::stmt_expr::ptr)]; + char dummy52[sizeof (ast::stmt_expr::ptr)]; // stmt_for - char dummy54[sizeof (ast::stmt_for::ptr)]; + char dummy53[sizeof (ast::stmt_for::ptr)]; // stmt_foreach - char dummy55[sizeof (ast::stmt_foreach::ptr)]; + char dummy54[sizeof (ast::stmt_foreach::ptr)]; // stmt_if - char dummy56[sizeof (ast::stmt_if::ptr)]; + char dummy55[sizeof (ast::stmt_if::ptr)]; // stmt_ifelse - char dummy57[sizeof (ast::stmt_ifelse::ptr)]; + char dummy56[sizeof (ast::stmt_ifelse::ptr)]; // stmt_list // stmt_or_dev_list // stmt_block - char dummy58[sizeof (ast::stmt_list::ptr)]; + char dummy57[sizeof (ast::stmt_list::ptr)]; // stmt_notify - char dummy59[sizeof (ast::stmt_notify::ptr)]; + char dummy58[sizeof (ast::stmt_notify::ptr)]; // stmt_prof_begin - char dummy60[sizeof (ast::stmt_prof_begin::ptr)]; + char dummy59[sizeof (ast::stmt_prof_begin::ptr)]; // stmt_prof_end - char dummy61[sizeof (ast::stmt_prof_end::ptr)]; + char dummy60[sizeof (ast::stmt_prof_end::ptr)]; // stmt_return - char dummy62[sizeof (ast::stmt_return::ptr)]; + char dummy61[sizeof (ast::stmt_return::ptr)]; // stmt_switch - char dummy63[sizeof (ast::stmt_switch::ptr)]; + char dummy62[sizeof (ast::stmt_switch::ptr)]; // stmt_wait - char dummy64[sizeof (ast::stmt_wait::ptr)]; + char dummy63[sizeof (ast::stmt_wait::ptr)]; // stmt_waitframe - char dummy65[sizeof (ast::stmt_waitframe::ptr)]; + char dummy64[sizeof (ast::stmt_waitframe::ptr)]; // stmt_waittill - char dummy66[sizeof (ast::stmt_waittill::ptr)]; + char dummy65[sizeof (ast::stmt_waittill::ptr)]; // stmt_waittillframeend - char dummy67[sizeof (ast::stmt_waittillframeend::ptr)]; + char dummy66[sizeof (ast::stmt_waittillframeend::ptr)]; // stmt_waittillmatch - char dummy68[sizeof (ast::stmt_waittillmatch::ptr)]; + char dummy67[sizeof (ast::stmt_waittillmatch::ptr)]; // stmt_while - char dummy69[sizeof (ast::stmt_while::ptr)]; + char dummy68[sizeof (ast::stmt_while::ptr)]; // "field" // "path" // "identifier" // "string literal" // "localized string" - // "color" // "float" // "integer" - char dummy70[sizeof (std::string)]; + char dummy69[sizeof (std::string)]; }; /// The size of the largest semantic type. @@ -788,18 +784,17 @@ namespace xsk { namespace gsc { namespace s4 { IDENTIFIER = 101, // "identifier" STRING = 102, // "string literal" ISTRING = 103, // "localized string" - COLOR = 104, // "color" - FLOAT = 105, // "float" - INTEGER = 106, // "integer" - ADD_ARRAY = 107, // ADD_ARRAY - THEN = 108, // THEN - TERN = 109, // TERN - NEG = 110, // NEG - ANIMREF = 111, // ANIMREF - PREINC = 112, // PREINC - PREDEC = 113, // PREDEC - POSTINC = 114, // POSTINC - POSTDEC = 115 // POSTDEC + FLOAT = 104, // "float" + INTEGER = 105, // "integer" + ADD_ARRAY = 106, // ADD_ARRAY + THEN = 107, // THEN + TERN = 108, // TERN + NEG = 109, // NEG + ANIMREF = 110, // ANIMREF + PREINC = 111, // PREINC + PREDEC = 112, // PREDEC + POSTINC = 113, // POSTINC + POSTDEC = 114 // POSTDEC }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -816,7 +811,7 @@ namespace xsk { namespace gsc { namespace s4 { { enum symbol_kind_type { - YYNTOKENS = 116, ///< Number of tokens. + YYNTOKENS = 115, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -922,103 +917,101 @@ namespace xsk { namespace gsc { namespace s4 { S_IDENTIFIER = 101, // "identifier" S_STRING = 102, // "string literal" S_ISTRING = 103, // "localized string" - S_COLOR = 104, // "color" - S_FLOAT = 105, // "float" - S_INTEGER = 106, // "integer" - S_ADD_ARRAY = 107, // ADD_ARRAY - S_THEN = 108, // THEN - S_TERN = 109, // TERN - S_NEG = 110, // NEG - S_ANIMREF = 111, // ANIMREF - S_PREINC = 112, // PREINC - S_PREDEC = 113, // PREDEC - S_POSTINC = 114, // POSTINC - S_POSTDEC = 115, // POSTDEC - S_YYACCEPT = 116, // $accept - S_root = 117, // root - S_program = 118, // program - S_inline = 119, // inline - S_include = 120, // include - S_declaration = 121, // declaration - S_decl_usingtree = 122, // decl_usingtree - S_decl_constant = 123, // decl_constant - S_decl_thread = 124, // decl_thread - S_stmt = 125, // stmt - S_stmt_or_dev = 126, // stmt_or_dev - S_stmt_list = 127, // stmt_list - S_stmt_or_dev_list = 128, // stmt_or_dev_list - S_stmt_dev = 129, // stmt_dev - S_stmt_block = 130, // stmt_block - S_stmt_expr = 131, // stmt_expr - S_stmt_call = 132, // stmt_call - S_stmt_assign = 133, // stmt_assign - S_stmt_endon = 134, // stmt_endon - S_stmt_notify = 135, // stmt_notify - S_stmt_wait = 136, // stmt_wait - S_stmt_waittill = 137, // stmt_waittill - S_stmt_waittillmatch = 138, // stmt_waittillmatch - S_stmt_waittillframeend = 139, // stmt_waittillframeend - S_stmt_waitframe = 140, // stmt_waitframe - S_stmt_if = 141, // stmt_if - S_stmt_ifelse = 142, // stmt_ifelse - S_stmt_while = 143, // stmt_while - S_stmt_dowhile = 144, // stmt_dowhile - S_stmt_for = 145, // stmt_for - S_stmt_foreach = 146, // stmt_foreach - S_stmt_switch = 147, // stmt_switch - S_stmt_case = 148, // stmt_case - S_stmt_default = 149, // stmt_default - S_stmt_break = 150, // stmt_break - S_stmt_continue = 151, // stmt_continue - S_stmt_return = 152, // stmt_return - S_stmt_breakpoint = 153, // stmt_breakpoint - S_stmt_prof_begin = 154, // stmt_prof_begin - S_stmt_prof_end = 155, // stmt_prof_end - S_expr = 156, // expr - S_expr_or_empty = 157, // expr_or_empty - S_expr_assign = 158, // expr_assign - S_expr_increment = 159, // expr_increment - S_expr_decrement = 160, // expr_decrement - S_expr_ternary = 161, // expr_ternary - S_expr_binary = 162, // expr_binary - S_expr_primitive = 163, // expr_primitive - S_expr_complement = 164, // expr_complement - S_expr_not = 165, // expr_not - S_expr_call = 166, // expr_call - S_expr_method = 167, // expr_method - S_expr_function = 168, // expr_function - S_expr_pointer = 169, // expr_pointer - S_expr_add_array = 170, // expr_add_array - S_expr_parameters = 171, // expr_parameters - S_expr_arguments = 172, // expr_arguments - S_expr_arguments_no_empty = 173, // expr_arguments_no_empty - S_expr_isdefined = 174, // expr_isdefined - S_expr_istrue = 175, // expr_istrue - S_expr_reference = 176, // expr_reference - S_expr_array = 177, // expr_array - S_expr_field = 178, // expr_field - S_expr_size = 179, // expr_size - S_expr_paren = 180, // expr_paren - S_expr_object = 181, // expr_object - S_expr_thisthread = 182, // expr_thisthread - S_expr_empty_array = 183, // expr_empty_array - S_expr_undefined = 184, // expr_undefined - S_expr_game = 185, // expr_game - S_expr_self = 186, // expr_self - S_expr_anim = 187, // expr_anim - S_expr_level = 188, // expr_level - S_expr_animation = 189, // expr_animation - S_expr_animtree = 190, // expr_animtree - S_expr_identifier = 191, // expr_identifier - S_expr_path = 192, // expr_path - S_expr_istring = 193, // expr_istring - S_expr_string = 194, // expr_string - S_expr_color = 195, // expr_color - S_expr_vector = 196, // expr_vector - S_expr_float = 197, // expr_float - S_expr_integer = 198, // expr_integer - S_expr_false = 199, // expr_false - S_expr_true = 200 // expr_true + S_FLOAT = 104, // "float" + S_INTEGER = 105, // "integer" + S_ADD_ARRAY = 106, // ADD_ARRAY + S_THEN = 107, // THEN + S_TERN = 108, // TERN + S_NEG = 109, // NEG + S_ANIMREF = 110, // ANIMREF + S_PREINC = 111, // PREINC + S_PREDEC = 112, // PREDEC + S_POSTINC = 113, // POSTINC + S_POSTDEC = 114, // POSTDEC + S_YYACCEPT = 115, // $accept + S_root = 116, // root + S_program = 117, // program + S_inline = 118, // inline + S_include = 119, // include + S_declaration = 120, // declaration + S_decl_usingtree = 121, // decl_usingtree + S_decl_constant = 122, // decl_constant + S_decl_thread = 123, // decl_thread + S_stmt = 124, // stmt + S_stmt_or_dev = 125, // stmt_or_dev + S_stmt_list = 126, // stmt_list + S_stmt_or_dev_list = 127, // stmt_or_dev_list + S_stmt_dev = 128, // stmt_dev + S_stmt_block = 129, // stmt_block + S_stmt_expr = 130, // stmt_expr + S_stmt_call = 131, // stmt_call + S_stmt_assign = 132, // stmt_assign + S_stmt_endon = 133, // stmt_endon + S_stmt_notify = 134, // stmt_notify + S_stmt_wait = 135, // stmt_wait + S_stmt_waittill = 136, // stmt_waittill + S_stmt_waittillmatch = 137, // stmt_waittillmatch + S_stmt_waittillframeend = 138, // stmt_waittillframeend + S_stmt_waitframe = 139, // stmt_waitframe + S_stmt_if = 140, // stmt_if + S_stmt_ifelse = 141, // stmt_ifelse + S_stmt_while = 142, // stmt_while + S_stmt_dowhile = 143, // stmt_dowhile + S_stmt_for = 144, // stmt_for + S_stmt_foreach = 145, // stmt_foreach + S_stmt_switch = 146, // stmt_switch + S_stmt_case = 147, // stmt_case + S_stmt_default = 148, // stmt_default + S_stmt_break = 149, // stmt_break + S_stmt_continue = 150, // stmt_continue + S_stmt_return = 151, // stmt_return + S_stmt_breakpoint = 152, // stmt_breakpoint + S_stmt_prof_begin = 153, // stmt_prof_begin + S_stmt_prof_end = 154, // stmt_prof_end + S_expr = 155, // expr + S_expr_or_empty = 156, // expr_or_empty + S_expr_assign = 157, // expr_assign + S_expr_increment = 158, // expr_increment + S_expr_decrement = 159, // expr_decrement + S_expr_ternary = 160, // expr_ternary + S_expr_binary = 161, // expr_binary + S_expr_primitive = 162, // expr_primitive + S_expr_complement = 163, // expr_complement + S_expr_not = 164, // expr_not + S_expr_call = 165, // expr_call + S_expr_method = 166, // expr_method + S_expr_function = 167, // expr_function + S_expr_pointer = 168, // expr_pointer + S_expr_add_array = 169, // expr_add_array + S_expr_parameters = 170, // expr_parameters + S_expr_arguments = 171, // expr_arguments + S_expr_arguments_no_empty = 172, // expr_arguments_no_empty + S_expr_isdefined = 173, // expr_isdefined + S_expr_istrue = 174, // expr_istrue + S_expr_reference = 175, // expr_reference + S_expr_array = 176, // expr_array + S_expr_field = 177, // expr_field + S_expr_size = 178, // expr_size + S_expr_paren = 179, // expr_paren + S_expr_object = 180, // expr_object + S_expr_thisthread = 181, // expr_thisthread + S_expr_empty_array = 182, // expr_empty_array + S_expr_undefined = 183, // expr_undefined + S_expr_game = 184, // expr_game + S_expr_self = 185, // expr_self + S_expr_anim = 186, // expr_anim + S_expr_level = 187, // expr_level + S_expr_animation = 188, // expr_animation + S_expr_animtree = 189, // expr_animtree + S_expr_identifier = 190, // expr_identifier + S_expr_path = 191, // expr_path + S_expr_istring = 192, // expr_istring + S_expr_string = 193, // expr_string + S_expr_vector = 194, // expr_vector + S_expr_float = 195, // expr_float + S_expr_integer = 196, // expr_integer + S_expr_false = 197, // expr_false + S_expr_true = 198 // expr_true }; }; @@ -1117,10 +1110,6 @@ namespace xsk { namespace gsc { namespace s4 { value.move< ast::expr_call::ptr > (std::move (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (std::move (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (std::move (that.value)); break; @@ -1349,7 +1338,6 @@ namespace xsk { namespace gsc { namespace s4 { case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (std::move (that.value)); @@ -1560,20 +1548,6 @@ namespace xsk { namespace gsc { namespace s4 { {} #endif -#if 201103L <= YY_CPLUSPLUS - basic_symbol (typename Base::kind_type t, ast::expr_color::ptr&& v, location_type&& l) - : Base (t) - , value (std::move (v)) - , location (std::move (l)) - {} -#else - basic_symbol (typename Base::kind_type t, const ast::expr_color::ptr& v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} -#endif - #if 201103L <= YY_CPLUSPLUS basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) : Base (t) @@ -2442,10 +2416,6 @@ switch (yykind) value.template destroy< ast::expr_call::ptr > (); break; - case symbol_kind::S_expr_color: // expr_color - value.template destroy< ast::expr_color::ptr > (); - break; - case symbol_kind::S_expr_complement: // expr_complement value.template destroy< ast::expr_complement::ptr > (); break; @@ -2674,7 +2644,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.template destroy< std::string > (); @@ -4396,21 +4365,6 @@ switch (yykind) return symbol_type (token::ISTRING, v, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_COLOR (std::string v, location_type l) - { - return symbol_type (token::COLOR, std::move (v), std::move (l)); - } -#else - static - symbol_type - make_COLOR (const std::string& v, const location_type& l) - { - return symbol_type (token::COLOR, v, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4920,8 +4874,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 2407, ///< Last index in yytable_. - yynnts_ = 85, ///< Number of nonterminal symbols. + yylast_ = 2404, ///< Last index in yytable_. + yynnts_ = 84, ///< Number of nonterminal symbols. yyfinal_ = 21 ///< Termination state number. }; @@ -5010,10 +4964,6 @@ switch (yykind) value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.copy< ast::expr_color::ptr > (YY_MOVE (that.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); break; @@ -5242,7 +5192,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.copy< std::string > (YY_MOVE (that.value)); @@ -5339,10 +5288,6 @@ switch (yykind) value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); break; - case symbol_kind::S_expr_color: // expr_color - value.move< ast::expr_color::ptr > (YY_MOVE (s.value)); - break; - case symbol_kind::S_expr_complement: // expr_complement value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); break; @@ -5571,7 +5516,6 @@ switch (yykind) case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_ISTRING: // "localized string" - case symbol_kind::S_COLOR: // "color" case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_INTEGER: // "integer" value.move< std::string > (YY_MOVE (s.value)); @@ -5640,7 +5584,7 @@ switch (yykind) #line 13 "parser.ypp" } } } // xsk::gsc::s4 -#line 5644 "parser.hpp" +#line 5588 "parser.hpp"