fix parser build

This commit is contained in:
xensik 2022-02-15 20:01:20 +01:00
parent b30644ff9a
commit c9c5e7c259
27 changed files with 11934 additions and 12751 deletions

View File

@ -140,7 +140,6 @@ xsk::gsc::h1::parser::symbol_type H1lex(xsk::gsc::h1::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -218,7 +217,6 @@ xsk::gsc::h1::parser::symbol_type H1lex(xsk::gsc::h1::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -631,7 +629,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -820,11 +817,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -138,7 +138,6 @@ xsk::gsc::h2::parser::symbol_type H2lex(xsk::gsc::h2::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -216,7 +215,6 @@ xsk::gsc::h2::parser::symbol_type H2lex(xsk::gsc::h2::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -629,7 +627,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -818,11 +815,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -137,7 +137,6 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(xsk::gsc::iw5::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -214,7 +213,6 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(xsk::gsc::iw5::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -619,7 +617,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -808,11 +805,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -137,7 +137,6 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(xsk::gsc::iw6::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -214,7 +213,6 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(xsk::gsc::iw6::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -619,7 +617,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -808,11 +805,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -137,7 +137,6 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(xsk::gsc::iw7::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -214,7 +213,6 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(xsk::gsc::iw7::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -619,7 +617,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -808,11 +805,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -140,7 +140,6 @@ xsk::gsc::iw8::parser::symbol_type IW8lex(xsk::gsc::iw8::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -220,7 +219,6 @@ xsk::gsc::iw8::parser::symbol_type IW8lex(xsk::gsc::iw8::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -635,7 +633,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -834,11 +831,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -138,7 +138,6 @@ xsk::gsc::s1::parser::symbol_type S1lex(xsk::gsc::s1::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -216,7 +215,6 @@ xsk::gsc::s1::parser::symbol_type S1lex(xsk::gsc::s1::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -629,7 +627,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -818,11 +815,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -138,7 +138,6 @@ xsk::gsc::s2::parser::symbol_type S2lex(xsk::gsc::s2::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -216,7 +215,6 @@ xsk::gsc::s2::parser::symbol_type S2lex(xsk::gsc::s2::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -629,7 +627,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -818,11 +815,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

View File

@ -140,7 +140,6 @@ xsk::gsc::s4::parser::symbol_type S4lex(xsk::gsc::s4::lexer& lexer);
%token <std::string> IDENTIFIER "identifier" %token <std::string> IDENTIFIER "identifier"
%token <std::string> STRING "string literal" %token <std::string> STRING "string literal"
%token <std::string> ISTRING "localized string" %token <std::string> ISTRING "localized string"
%token <std::string> COLOR "color"
%token <std::string> FLOAT "float" %token <std::string> FLOAT "float"
%token <std::string> INTEGER "integer" %token <std::string> INTEGER "integer"
@ -220,7 +219,6 @@ xsk::gsc::s4::parser::symbol_type S4lex(xsk::gsc::s4::lexer& lexer);
%type <ast::expr_path::ptr> expr_path %type <ast::expr_path::ptr> expr_path
%type <ast::expr_istring::ptr> expr_istring %type <ast::expr_istring::ptr> expr_istring
%type <ast::expr_string::ptr> expr_string %type <ast::expr_string::ptr> expr_string
%type <ast::expr_color::ptr> expr_color
%type <ast::expr_vector::ptr> expr_vector %type <ast::expr_vector::ptr> expr_vector
%type <ast::expr_float::ptr> expr_float %type <ast::expr_float::ptr> expr_float
%type <ast::expr_integer::ptr> expr_integer %type <ast::expr_integer::ptr> expr_integer
@ -635,7 +633,6 @@ expr_primitive
| expr_identifier { $$.as_node = std::move($1); } | expr_identifier { $$.as_node = std::move($1); }
| expr_istring { $$.as_node = std::move($1); } | expr_istring { $$.as_node = std::move($1); }
| expr_string { $$.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_vector { $$.as_node = std::move($1); }
| expr_float { $$.as_node = std::move($1); } | expr_float { $$.as_node = std::move($1); }
| expr_integer { $$.as_node = std::move($1); } | expr_integer { $$.as_node = std::move($1); }
@ -834,11 +831,6 @@ expr_string
{ $$ = std::make_unique<ast::expr_string>(@$, $1); }; { $$ = std::make_unique<ast::expr_string>(@$, $1); };
; ;
expr_color
: COLOR
{ $$ = std::make_unique<ast::expr_color>(@$, $1); };
;
expr_vector expr_vector
: LPAREN expr COMMA expr COMMA expr RPAREN : LPAREN expr COMMA expr COMMA expr RPAREN
{ $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); }; { $$ = std::make_unique<ast::expr_vector>(@$, std::move($2), std::move($4), std::move($6)); };

File diff suppressed because it is too large Load Diff

View File

@ -458,180 +458,176 @@ namespace xsk { namespace gsc { namespace h1 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waitframe // stmt_waitframe
char dummy63[sizeof (ast::stmt_waitframe::ptr)]; char dummy62[sizeof (ast::stmt_waitframe::ptr)];
// stmt_waittill // stmt_waittill
char dummy64[sizeof (ast::stmt_waittill::ptr)]; char dummy63[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy64[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy65[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy67[sizeof (ast::stmt_while::ptr)]; char dummy66[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy68[sizeof (std::string)]; char dummy67[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -782,18 +778,17 @@ namespace xsk { namespace gsc { namespace h1 {
IDENTIFIER = 99, // "identifier" IDENTIFIER = 99, // "identifier"
STRING = 100, // "string literal" STRING = 100, // "string literal"
ISTRING = 101, // "localized string" ISTRING = 101, // "localized string"
COLOR = 102, // "color" FLOAT = 102, // "float"
FLOAT = 103, // "float" INTEGER = 103, // "integer"
INTEGER = 104, // "integer" ADD_ARRAY = 104, // ADD_ARRAY
ADD_ARRAY = 105, // ADD_ARRAY THEN = 105, // THEN
THEN = 106, // THEN TERN = 106, // TERN
TERN = 107, // TERN NEG = 107, // NEG
NEG = 108, // NEG ANIMREF = 108, // ANIMREF
ANIMREF = 109, // ANIMREF PREINC = 109, // PREINC
PREINC = 110, // PREINC PREDEC = 110, // PREDEC
PREDEC = 111, // PREDEC POSTINC = 111, // POSTINC
POSTINC = 112, // POSTINC POSTDEC = 112 // POSTDEC
POSTDEC = 113 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -810,7 +805,7 @@ namespace xsk { namespace gsc { namespace h1 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 114, ///< Number of tokens. YYNTOKENS = 113, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -914,101 +909,99 @@ namespace xsk { namespace gsc { namespace h1 {
S_IDENTIFIER = 99, // "identifier" S_IDENTIFIER = 99, // "identifier"
S_STRING = 100, // "string literal" S_STRING = 100, // "string literal"
S_ISTRING = 101, // "localized string" S_ISTRING = 101, // "localized string"
S_COLOR = 102, // "color" S_FLOAT = 102, // "float"
S_FLOAT = 103, // "float" S_INTEGER = 103, // "integer"
S_INTEGER = 104, // "integer" S_ADD_ARRAY = 104, // ADD_ARRAY
S_ADD_ARRAY = 105, // ADD_ARRAY S_THEN = 105, // THEN
S_THEN = 106, // THEN S_TERN = 106, // TERN
S_TERN = 107, // TERN S_NEG = 107, // NEG
S_NEG = 108, // NEG S_ANIMREF = 108, // ANIMREF
S_ANIMREF = 109, // ANIMREF S_PREINC = 109, // PREINC
S_PREINC = 110, // PREINC S_PREDEC = 110, // PREDEC
S_PREDEC = 111, // PREDEC S_POSTINC = 111, // POSTINC
S_POSTINC = 112, // POSTINC S_POSTDEC = 112, // POSTDEC
S_POSTDEC = 113, // POSTDEC S_YYACCEPT = 113, // $accept
S_YYACCEPT = 114, // $accept S_root = 114, // root
S_root = 115, // root S_program = 115, // program
S_program = 116, // program S_inline = 116, // inline
S_inline = 117, // inline S_include = 117, // include
S_include = 118, // include S_declaration = 118, // declaration
S_declaration = 119, // declaration S_decl_usingtree = 119, // decl_usingtree
S_decl_usingtree = 120, // decl_usingtree S_decl_constant = 120, // decl_constant
S_decl_constant = 121, // decl_constant S_decl_thread = 121, // decl_thread
S_decl_thread = 122, // decl_thread S_stmt = 122, // stmt
S_stmt = 123, // stmt S_stmt_or_dev = 123, // stmt_or_dev
S_stmt_or_dev = 124, // stmt_or_dev S_stmt_list = 124, // stmt_list
S_stmt_list = 125, // stmt_list S_stmt_or_dev_list = 125, // stmt_or_dev_list
S_stmt_or_dev_list = 126, // stmt_or_dev_list S_stmt_dev = 126, // stmt_dev
S_stmt_dev = 127, // stmt_dev S_stmt_block = 127, // stmt_block
S_stmt_block = 128, // stmt_block S_stmt_expr = 128, // stmt_expr
S_stmt_expr = 129, // stmt_expr S_stmt_call = 129, // stmt_call
S_stmt_call = 130, // stmt_call S_stmt_assign = 130, // stmt_assign
S_stmt_assign = 131, // stmt_assign S_stmt_endon = 131, // stmt_endon
S_stmt_endon = 132, // stmt_endon S_stmt_notify = 132, // stmt_notify
S_stmt_notify = 133, // stmt_notify S_stmt_wait = 133, // stmt_wait
S_stmt_wait = 134, // stmt_wait S_stmt_waittill = 134, // stmt_waittill
S_stmt_waittill = 135, // stmt_waittill S_stmt_waittillmatch = 135, // stmt_waittillmatch
S_stmt_waittillmatch = 136, // stmt_waittillmatch S_stmt_waittillframeend = 136, // stmt_waittillframeend
S_stmt_waittillframeend = 137, // stmt_waittillframeend S_stmt_waitframe = 137, // stmt_waitframe
S_stmt_waitframe = 138, // stmt_waitframe S_stmt_if = 138, // stmt_if
S_stmt_if = 139, // stmt_if S_stmt_ifelse = 139, // stmt_ifelse
S_stmt_ifelse = 140, // stmt_ifelse S_stmt_while = 140, // stmt_while
S_stmt_while = 141, // stmt_while S_stmt_dowhile = 141, // stmt_dowhile
S_stmt_dowhile = 142, // stmt_dowhile S_stmt_for = 142, // stmt_for
S_stmt_for = 143, // stmt_for S_stmt_foreach = 143, // stmt_foreach
S_stmt_foreach = 144, // stmt_foreach S_stmt_switch = 144, // stmt_switch
S_stmt_switch = 145, // stmt_switch S_stmt_case = 145, // stmt_case
S_stmt_case = 146, // stmt_case S_stmt_default = 146, // stmt_default
S_stmt_default = 147, // stmt_default S_stmt_break = 147, // stmt_break
S_stmt_break = 148, // stmt_break S_stmt_continue = 148, // stmt_continue
S_stmt_continue = 149, // stmt_continue S_stmt_return = 149, // stmt_return
S_stmt_return = 150, // stmt_return S_stmt_breakpoint = 150, // stmt_breakpoint
S_stmt_breakpoint = 151, // stmt_breakpoint S_stmt_prof_begin = 151, // stmt_prof_begin
S_stmt_prof_begin = 152, // stmt_prof_begin S_stmt_prof_end = 152, // stmt_prof_end
S_stmt_prof_end = 153, // stmt_prof_end S_expr = 153, // expr
S_expr = 154, // expr S_expr_or_empty = 154, // expr_or_empty
S_expr_or_empty = 155, // expr_or_empty S_expr_assign = 155, // expr_assign
S_expr_assign = 156, // expr_assign S_expr_increment = 156, // expr_increment
S_expr_increment = 157, // expr_increment S_expr_decrement = 157, // expr_decrement
S_expr_decrement = 158, // expr_decrement S_expr_ternary = 158, // expr_ternary
S_expr_ternary = 159, // expr_ternary S_expr_binary = 159, // expr_binary
S_expr_binary = 160, // expr_binary S_expr_primitive = 160, // expr_primitive
S_expr_primitive = 161, // expr_primitive S_expr_complement = 161, // expr_complement
S_expr_complement = 162, // expr_complement S_expr_not = 162, // expr_not
S_expr_not = 163, // expr_not S_expr_call = 163, // expr_call
S_expr_call = 164, // expr_call S_expr_method = 164, // expr_method
S_expr_method = 165, // expr_method S_expr_function = 165, // expr_function
S_expr_function = 166, // expr_function S_expr_pointer = 166, // expr_pointer
S_expr_pointer = 167, // expr_pointer S_expr_add_array = 167, // expr_add_array
S_expr_add_array = 168, // expr_add_array S_expr_parameters = 168, // expr_parameters
S_expr_parameters = 169, // expr_parameters S_expr_arguments = 169, // expr_arguments
S_expr_arguments = 170, // expr_arguments S_expr_arguments_no_empty = 170, // expr_arguments_no_empty
S_expr_arguments_no_empty = 171, // expr_arguments_no_empty S_expr_reference = 171, // expr_reference
S_expr_reference = 172, // expr_reference S_expr_array = 172, // expr_array
S_expr_array = 173, // expr_array S_expr_field = 173, // expr_field
S_expr_field = 174, // expr_field S_expr_size = 174, // expr_size
S_expr_size = 175, // expr_size S_expr_paren = 175, // expr_paren
S_expr_paren = 176, // expr_paren S_expr_object = 176, // expr_object
S_expr_object = 177, // expr_object S_expr_thisthread = 177, // expr_thisthread
S_expr_thisthread = 178, // expr_thisthread S_expr_empty_array = 178, // expr_empty_array
S_expr_empty_array = 179, // expr_empty_array S_expr_undefined = 179, // expr_undefined
S_expr_undefined = 180, // expr_undefined S_expr_game = 180, // expr_game
S_expr_game = 181, // expr_game S_expr_self = 181, // expr_self
S_expr_self = 182, // expr_self S_expr_anim = 182, // expr_anim
S_expr_anim = 183, // expr_anim S_expr_level = 183, // expr_level
S_expr_level = 184, // expr_level S_expr_animation = 184, // expr_animation
S_expr_animation = 185, // expr_animation S_expr_animtree = 185, // expr_animtree
S_expr_animtree = 186, // expr_animtree S_expr_identifier = 186, // expr_identifier
S_expr_identifier = 187, // expr_identifier S_expr_path = 187, // expr_path
S_expr_path = 188, // expr_path S_expr_istring = 188, // expr_istring
S_expr_istring = 189, // expr_istring S_expr_string = 189, // expr_string
S_expr_string = 190, // expr_string S_expr_vector = 190, // expr_vector
S_expr_color = 191, // expr_color S_expr_float = 191, // expr_float
S_expr_vector = 192, // expr_vector S_expr_integer = 192, // expr_integer
S_expr_float = 193, // expr_float S_expr_false = 193, // expr_false
S_expr_integer = 194, // expr_integer S_expr_true = 194 // expr_true
S_expr_false = 195, // expr_false
S_expr_true = 196 // expr_true
}; };
}; };
@ -1107,10 +1100,6 @@ namespace xsk { namespace gsc { namespace h1 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1331,7 +1320,6 @@ namespace xsk { namespace gsc { namespace h1 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1542,20 +1530,6 @@ namespace xsk { namespace gsc { namespace h1 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2396,10 +2370,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2620,7 +2590,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4312,21 +4281,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4836,8 +4790,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2285, ///< Last index in yytable_. yylast_ = 2300, ///< Last index in yytable_.
yynnts_ = 83, ///< Number of nonterminal symbols. yynnts_ = 82, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4926,10 +4880,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5150,7 +5100,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5247,10 +5196,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5471,7 +5416,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5540,7 +5484,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::h1 } } } // xsk::gsc::h1
#line 5544 "parser.hpp" #line 5488 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,180 +456,176 @@ namespace xsk { namespace gsc { namespace h2 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waitframe // stmt_waitframe
char dummy63[sizeof (ast::stmt_waitframe::ptr)]; char dummy62[sizeof (ast::stmt_waitframe::ptr)];
// stmt_waittill // stmt_waittill
char dummy64[sizeof (ast::stmt_waittill::ptr)]; char dummy63[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy64[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy65[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy67[sizeof (ast::stmt_while::ptr)]; char dummy66[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy68[sizeof (std::string)]; char dummy67[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -780,18 +776,17 @@ namespace xsk { namespace gsc { namespace h2 {
IDENTIFIER = 99, // "identifier" IDENTIFIER = 99, // "identifier"
STRING = 100, // "string literal" STRING = 100, // "string literal"
ISTRING = 101, // "localized string" ISTRING = 101, // "localized string"
COLOR = 102, // "color" FLOAT = 102, // "float"
FLOAT = 103, // "float" INTEGER = 103, // "integer"
INTEGER = 104, // "integer" ADD_ARRAY = 104, // ADD_ARRAY
ADD_ARRAY = 105, // ADD_ARRAY THEN = 105, // THEN
THEN = 106, // THEN TERN = 106, // TERN
TERN = 107, // TERN NEG = 107, // NEG
NEG = 108, // NEG ANIMREF = 108, // ANIMREF
ANIMREF = 109, // ANIMREF PREINC = 109, // PREINC
PREINC = 110, // PREINC PREDEC = 110, // PREDEC
PREDEC = 111, // PREDEC POSTINC = 111, // POSTINC
POSTINC = 112, // POSTINC POSTDEC = 112 // POSTDEC
POSTDEC = 113 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -808,7 +803,7 @@ namespace xsk { namespace gsc { namespace h2 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 114, ///< Number of tokens. YYNTOKENS = 113, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -912,101 +907,99 @@ namespace xsk { namespace gsc { namespace h2 {
S_IDENTIFIER = 99, // "identifier" S_IDENTIFIER = 99, // "identifier"
S_STRING = 100, // "string literal" S_STRING = 100, // "string literal"
S_ISTRING = 101, // "localized string" S_ISTRING = 101, // "localized string"
S_COLOR = 102, // "color" S_FLOAT = 102, // "float"
S_FLOAT = 103, // "float" S_INTEGER = 103, // "integer"
S_INTEGER = 104, // "integer" S_ADD_ARRAY = 104, // ADD_ARRAY
S_ADD_ARRAY = 105, // ADD_ARRAY S_THEN = 105, // THEN
S_THEN = 106, // THEN S_TERN = 106, // TERN
S_TERN = 107, // TERN S_NEG = 107, // NEG
S_NEG = 108, // NEG S_ANIMREF = 108, // ANIMREF
S_ANIMREF = 109, // ANIMREF S_PREINC = 109, // PREINC
S_PREINC = 110, // PREINC S_PREDEC = 110, // PREDEC
S_PREDEC = 111, // PREDEC S_POSTINC = 111, // POSTINC
S_POSTINC = 112, // POSTINC S_POSTDEC = 112, // POSTDEC
S_POSTDEC = 113, // POSTDEC S_YYACCEPT = 113, // $accept
S_YYACCEPT = 114, // $accept S_root = 114, // root
S_root = 115, // root S_program = 115, // program
S_program = 116, // program S_inline = 116, // inline
S_inline = 117, // inline S_include = 117, // include
S_include = 118, // include S_declaration = 118, // declaration
S_declaration = 119, // declaration S_decl_usingtree = 119, // decl_usingtree
S_decl_usingtree = 120, // decl_usingtree S_decl_constant = 120, // decl_constant
S_decl_constant = 121, // decl_constant S_decl_thread = 121, // decl_thread
S_decl_thread = 122, // decl_thread S_stmt = 122, // stmt
S_stmt = 123, // stmt S_stmt_or_dev = 123, // stmt_or_dev
S_stmt_or_dev = 124, // stmt_or_dev S_stmt_list = 124, // stmt_list
S_stmt_list = 125, // stmt_list S_stmt_or_dev_list = 125, // stmt_or_dev_list
S_stmt_or_dev_list = 126, // stmt_or_dev_list S_stmt_dev = 126, // stmt_dev
S_stmt_dev = 127, // stmt_dev S_stmt_block = 127, // stmt_block
S_stmt_block = 128, // stmt_block S_stmt_expr = 128, // stmt_expr
S_stmt_expr = 129, // stmt_expr S_stmt_call = 129, // stmt_call
S_stmt_call = 130, // stmt_call S_stmt_assign = 130, // stmt_assign
S_stmt_assign = 131, // stmt_assign S_stmt_endon = 131, // stmt_endon
S_stmt_endon = 132, // stmt_endon S_stmt_notify = 132, // stmt_notify
S_stmt_notify = 133, // stmt_notify S_stmt_wait = 133, // stmt_wait
S_stmt_wait = 134, // stmt_wait S_stmt_waittill = 134, // stmt_waittill
S_stmt_waittill = 135, // stmt_waittill S_stmt_waittillmatch = 135, // stmt_waittillmatch
S_stmt_waittillmatch = 136, // stmt_waittillmatch S_stmt_waittillframeend = 136, // stmt_waittillframeend
S_stmt_waittillframeend = 137, // stmt_waittillframeend S_stmt_waitframe = 137, // stmt_waitframe
S_stmt_waitframe = 138, // stmt_waitframe S_stmt_if = 138, // stmt_if
S_stmt_if = 139, // stmt_if S_stmt_ifelse = 139, // stmt_ifelse
S_stmt_ifelse = 140, // stmt_ifelse S_stmt_while = 140, // stmt_while
S_stmt_while = 141, // stmt_while S_stmt_dowhile = 141, // stmt_dowhile
S_stmt_dowhile = 142, // stmt_dowhile S_stmt_for = 142, // stmt_for
S_stmt_for = 143, // stmt_for S_stmt_foreach = 143, // stmt_foreach
S_stmt_foreach = 144, // stmt_foreach S_stmt_switch = 144, // stmt_switch
S_stmt_switch = 145, // stmt_switch S_stmt_case = 145, // stmt_case
S_stmt_case = 146, // stmt_case S_stmt_default = 146, // stmt_default
S_stmt_default = 147, // stmt_default S_stmt_break = 147, // stmt_break
S_stmt_break = 148, // stmt_break S_stmt_continue = 148, // stmt_continue
S_stmt_continue = 149, // stmt_continue S_stmt_return = 149, // stmt_return
S_stmt_return = 150, // stmt_return S_stmt_breakpoint = 150, // stmt_breakpoint
S_stmt_breakpoint = 151, // stmt_breakpoint S_stmt_prof_begin = 151, // stmt_prof_begin
S_stmt_prof_begin = 152, // stmt_prof_begin S_stmt_prof_end = 152, // stmt_prof_end
S_stmt_prof_end = 153, // stmt_prof_end S_expr = 153, // expr
S_expr = 154, // expr S_expr_or_empty = 154, // expr_or_empty
S_expr_or_empty = 155, // expr_or_empty S_expr_assign = 155, // expr_assign
S_expr_assign = 156, // expr_assign S_expr_increment = 156, // expr_increment
S_expr_increment = 157, // expr_increment S_expr_decrement = 157, // expr_decrement
S_expr_decrement = 158, // expr_decrement S_expr_ternary = 158, // expr_ternary
S_expr_ternary = 159, // expr_ternary S_expr_binary = 159, // expr_binary
S_expr_binary = 160, // expr_binary S_expr_primitive = 160, // expr_primitive
S_expr_primitive = 161, // expr_primitive S_expr_complement = 161, // expr_complement
S_expr_complement = 162, // expr_complement S_expr_not = 162, // expr_not
S_expr_not = 163, // expr_not S_expr_call = 163, // expr_call
S_expr_call = 164, // expr_call S_expr_method = 164, // expr_method
S_expr_method = 165, // expr_method S_expr_function = 165, // expr_function
S_expr_function = 166, // expr_function S_expr_pointer = 166, // expr_pointer
S_expr_pointer = 167, // expr_pointer S_expr_add_array = 167, // expr_add_array
S_expr_add_array = 168, // expr_add_array S_expr_parameters = 168, // expr_parameters
S_expr_parameters = 169, // expr_parameters S_expr_arguments = 169, // expr_arguments
S_expr_arguments = 170, // expr_arguments S_expr_arguments_no_empty = 170, // expr_arguments_no_empty
S_expr_arguments_no_empty = 171, // expr_arguments_no_empty S_expr_reference = 171, // expr_reference
S_expr_reference = 172, // expr_reference S_expr_array = 172, // expr_array
S_expr_array = 173, // expr_array S_expr_field = 173, // expr_field
S_expr_field = 174, // expr_field S_expr_size = 174, // expr_size
S_expr_size = 175, // expr_size S_expr_paren = 175, // expr_paren
S_expr_paren = 176, // expr_paren S_expr_object = 176, // expr_object
S_expr_object = 177, // expr_object S_expr_thisthread = 177, // expr_thisthread
S_expr_thisthread = 178, // expr_thisthread S_expr_empty_array = 178, // expr_empty_array
S_expr_empty_array = 179, // expr_empty_array S_expr_undefined = 179, // expr_undefined
S_expr_undefined = 180, // expr_undefined S_expr_game = 180, // expr_game
S_expr_game = 181, // expr_game S_expr_self = 181, // expr_self
S_expr_self = 182, // expr_self S_expr_anim = 182, // expr_anim
S_expr_anim = 183, // expr_anim S_expr_level = 183, // expr_level
S_expr_level = 184, // expr_level S_expr_animation = 184, // expr_animation
S_expr_animation = 185, // expr_animation S_expr_animtree = 185, // expr_animtree
S_expr_animtree = 186, // expr_animtree S_expr_identifier = 186, // expr_identifier
S_expr_identifier = 187, // expr_identifier S_expr_path = 187, // expr_path
S_expr_path = 188, // expr_path S_expr_istring = 188, // expr_istring
S_expr_istring = 189, // expr_istring S_expr_string = 189, // expr_string
S_expr_string = 190, // expr_string S_expr_vector = 190, // expr_vector
S_expr_color = 191, // expr_color S_expr_float = 191, // expr_float
S_expr_vector = 192, // expr_vector S_expr_integer = 192, // expr_integer
S_expr_float = 193, // expr_float S_expr_false = 193, // expr_false
S_expr_integer = 194, // expr_integer S_expr_true = 194 // expr_true
S_expr_false = 195, // expr_false
S_expr_true = 196 // expr_true
}; };
}; };
@ -1105,10 +1098,6 @@ namespace xsk { namespace gsc { namespace h2 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1329,7 +1318,6 @@ namespace xsk { namespace gsc { namespace h2 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1540,20 +1528,6 @@ namespace xsk { namespace gsc { namespace h2 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2394,10 +2368,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2618,7 +2588,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4310,21 +4279,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4834,8 +4788,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2285, ///< Last index in yytable_. yylast_ = 2300, ///< Last index in yytable_.
yynnts_ = 83, ///< Number of nonterminal symbols. yynnts_ = 82, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4924,10 +4878,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5148,7 +5098,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5245,10 +5194,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5469,7 +5414,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5538,7 +5482,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::h2 } } } // xsk::gsc::h2
#line 5542 "parser.hpp" #line 5486 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw5 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waittill // stmt_waittill
char dummy63[sizeof (ast::stmt_waittill::ptr)]; char dummy62[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy63[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy64[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy66[sizeof (ast::stmt_while::ptr)]; char dummy65[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy67[sizeof (std::string)]; char dummy66[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw5 {
IDENTIFIER = 98, // "identifier" IDENTIFIER = 98, // "identifier"
STRING = 99, // "string literal" STRING = 99, // "string literal"
ISTRING = 100, // "localized string" ISTRING = 100, // "localized string"
COLOR = 101, // "color" FLOAT = 101, // "float"
FLOAT = 102, // "float" INTEGER = 102, // "integer"
INTEGER = 103, // "integer" ADD_ARRAY = 103, // ADD_ARRAY
ADD_ARRAY = 104, // ADD_ARRAY THEN = 104, // THEN
THEN = 105, // THEN TERN = 105, // TERN
TERN = 106, // TERN NEG = 106, // NEG
NEG = 107, // NEG ANIMREF = 107, // ANIMREF
ANIMREF = 108, // ANIMREF PREINC = 108, // PREINC
PREINC = 109, // PREINC PREDEC = 109, // PREDEC
PREDEC = 110, // PREDEC POSTINC = 110, // POSTINC
POSTINC = 111, // POSTINC POSTDEC = 111 // POSTDEC
POSTDEC = 112 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw5 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 113, ///< Number of tokens. YYNTOKENS = 112, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw5 {
S_IDENTIFIER = 98, // "identifier" S_IDENTIFIER = 98, // "identifier"
S_STRING = 99, // "string literal" S_STRING = 99, // "string literal"
S_ISTRING = 100, // "localized string" S_ISTRING = 100, // "localized string"
S_COLOR = 101, // "color" S_FLOAT = 101, // "float"
S_FLOAT = 102, // "float" S_INTEGER = 102, // "integer"
S_INTEGER = 103, // "integer" S_ADD_ARRAY = 103, // ADD_ARRAY
S_ADD_ARRAY = 104, // ADD_ARRAY S_THEN = 104, // THEN
S_THEN = 105, // THEN S_TERN = 105, // TERN
S_TERN = 106, // TERN S_NEG = 106, // NEG
S_NEG = 107, // NEG S_ANIMREF = 107, // ANIMREF
S_ANIMREF = 108, // ANIMREF S_PREINC = 108, // PREINC
S_PREINC = 109, // PREINC S_PREDEC = 109, // PREDEC
S_PREDEC = 110, // PREDEC S_POSTINC = 110, // POSTINC
S_POSTINC = 111, // POSTINC S_POSTDEC = 111, // POSTDEC
S_POSTDEC = 112, // POSTDEC S_YYACCEPT = 112, // $accept
S_YYACCEPT = 113, // $accept S_root = 113, // root
S_root = 114, // root S_program = 114, // program
S_program = 115, // program S_inline = 115, // inline
S_inline = 116, // inline S_include = 116, // include
S_include = 117, // include S_declaration = 117, // declaration
S_declaration = 118, // declaration S_decl_usingtree = 118, // decl_usingtree
S_decl_usingtree = 119, // decl_usingtree S_decl_constant = 119, // decl_constant
S_decl_constant = 120, // decl_constant S_decl_thread = 120, // decl_thread
S_decl_thread = 121, // decl_thread S_stmt = 121, // stmt
S_stmt = 122, // stmt S_stmt_or_dev = 122, // stmt_or_dev
S_stmt_or_dev = 123, // stmt_or_dev S_stmt_list = 123, // stmt_list
S_stmt_list = 124, // stmt_list S_stmt_or_dev_list = 124, // stmt_or_dev_list
S_stmt_or_dev_list = 125, // stmt_or_dev_list S_stmt_dev = 125, // stmt_dev
S_stmt_dev = 126, // stmt_dev S_stmt_block = 126, // stmt_block
S_stmt_block = 127, // stmt_block S_stmt_expr = 127, // stmt_expr
S_stmt_expr = 128, // stmt_expr S_stmt_call = 128, // stmt_call
S_stmt_call = 129, // stmt_call S_stmt_assign = 129, // stmt_assign
S_stmt_assign = 130, // stmt_assign S_stmt_endon = 130, // stmt_endon
S_stmt_endon = 131, // stmt_endon S_stmt_notify = 131, // stmt_notify
S_stmt_notify = 132, // stmt_notify S_stmt_wait = 132, // stmt_wait
S_stmt_wait = 133, // stmt_wait S_stmt_waittill = 133, // stmt_waittill
S_stmt_waittill = 134, // stmt_waittill S_stmt_waittillmatch = 134, // stmt_waittillmatch
S_stmt_waittillmatch = 135, // stmt_waittillmatch S_stmt_waittillframeend = 135, // stmt_waittillframeend
S_stmt_waittillframeend = 136, // stmt_waittillframeend S_stmt_if = 136, // stmt_if
S_stmt_if = 137, // stmt_if S_stmt_ifelse = 137, // stmt_ifelse
S_stmt_ifelse = 138, // stmt_ifelse S_stmt_while = 138, // stmt_while
S_stmt_while = 139, // stmt_while S_stmt_dowhile = 139, // stmt_dowhile
S_stmt_dowhile = 140, // stmt_dowhile S_stmt_for = 140, // stmt_for
S_stmt_for = 141, // stmt_for S_stmt_foreach = 141, // stmt_foreach
S_stmt_foreach = 142, // stmt_foreach S_stmt_switch = 142, // stmt_switch
S_stmt_switch = 143, // stmt_switch S_stmt_case = 143, // stmt_case
S_stmt_case = 144, // stmt_case S_stmt_default = 144, // stmt_default
S_stmt_default = 145, // stmt_default S_stmt_break = 145, // stmt_break
S_stmt_break = 146, // stmt_break S_stmt_continue = 146, // stmt_continue
S_stmt_continue = 147, // stmt_continue S_stmt_return = 147, // stmt_return
S_stmt_return = 148, // stmt_return S_stmt_breakpoint = 148, // stmt_breakpoint
S_stmt_breakpoint = 149, // stmt_breakpoint S_stmt_prof_begin = 149, // stmt_prof_begin
S_stmt_prof_begin = 150, // stmt_prof_begin S_stmt_prof_end = 150, // stmt_prof_end
S_stmt_prof_end = 151, // stmt_prof_end S_expr = 151, // expr
S_expr = 152, // expr S_expr_or_empty = 152, // expr_or_empty
S_expr_or_empty = 153, // expr_or_empty S_expr_assign = 153, // expr_assign
S_expr_assign = 154, // expr_assign S_expr_increment = 154, // expr_increment
S_expr_increment = 155, // expr_increment S_expr_decrement = 155, // expr_decrement
S_expr_decrement = 156, // expr_decrement S_expr_ternary = 156, // expr_ternary
S_expr_ternary = 157, // expr_ternary S_expr_binary = 157, // expr_binary
S_expr_binary = 158, // expr_binary S_expr_primitive = 158, // expr_primitive
S_expr_primitive = 159, // expr_primitive S_expr_complement = 159, // expr_complement
S_expr_complement = 160, // expr_complement S_expr_not = 160, // expr_not
S_expr_not = 161, // expr_not S_expr_call = 161, // expr_call
S_expr_call = 162, // expr_call S_expr_method = 162, // expr_method
S_expr_method = 163, // expr_method S_expr_function = 163, // expr_function
S_expr_function = 164, // expr_function S_expr_pointer = 164, // expr_pointer
S_expr_pointer = 165, // expr_pointer S_expr_add_array = 165, // expr_add_array
S_expr_add_array = 166, // expr_add_array S_expr_parameters = 166, // expr_parameters
S_expr_parameters = 167, // expr_parameters S_expr_arguments = 167, // expr_arguments
S_expr_arguments = 168, // expr_arguments S_expr_arguments_no_empty = 168, // expr_arguments_no_empty
S_expr_arguments_no_empty = 169, // expr_arguments_no_empty S_expr_reference = 169, // expr_reference
S_expr_reference = 170, // expr_reference S_expr_array = 170, // expr_array
S_expr_array = 171, // expr_array S_expr_field = 171, // expr_field
S_expr_field = 172, // expr_field S_expr_size = 172, // expr_size
S_expr_size = 173, // expr_size S_expr_paren = 173, // expr_paren
S_expr_paren = 174, // expr_paren S_expr_object = 174, // expr_object
S_expr_object = 175, // expr_object S_expr_thisthread = 175, // expr_thisthread
S_expr_thisthread = 176, // expr_thisthread S_expr_empty_array = 176, // expr_empty_array
S_expr_empty_array = 177, // expr_empty_array S_expr_undefined = 177, // expr_undefined
S_expr_undefined = 178, // expr_undefined S_expr_game = 178, // expr_game
S_expr_game = 179, // expr_game S_expr_self = 179, // expr_self
S_expr_self = 180, // expr_self S_expr_anim = 180, // expr_anim
S_expr_anim = 181, // expr_anim S_expr_level = 181, // expr_level
S_expr_level = 182, // expr_level S_expr_animation = 182, // expr_animation
S_expr_animation = 183, // expr_animation S_expr_animtree = 183, // expr_animtree
S_expr_animtree = 184, // expr_animtree S_expr_identifier = 184, // expr_identifier
S_expr_identifier = 185, // expr_identifier S_expr_path = 185, // expr_path
S_expr_path = 186, // expr_path S_expr_istring = 186, // expr_istring
S_expr_istring = 187, // expr_istring S_expr_string = 187, // expr_string
S_expr_string = 188, // expr_string S_expr_vector = 188, // expr_vector
S_expr_color = 189, // expr_color S_expr_float = 189, // expr_float
S_expr_vector = 190, // expr_vector S_expr_integer = 190, // expr_integer
S_expr_float = 191, // expr_float S_expr_false = 191, // expr_false
S_expr_integer = 192, // expr_integer S_expr_true = 192 // expr_true
S_expr_false = 193, // expr_false
S_expr_true = 194 // expr_true
}; };
}; };
@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw5 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw5 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw5 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2370,10 +2344,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2590,7 +2560,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4267,21 +4236,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4791,8 +4745,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2262, ///< Last index in yytable_. yylast_ = 2274, ///< Last index in yytable_.
yynnts_ = 82, ///< Number of nonterminal symbols. yynnts_ = 81, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4881,10 +4835,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5101,7 +5051,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5198,10 +5147,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5418,7 +5363,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5487,7 +5431,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::iw5 } } } // xsk::gsc::iw5
#line 5491 "parser.hpp" #line 5435 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw6 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waittill // stmt_waittill
char dummy63[sizeof (ast::stmt_waittill::ptr)]; char dummy62[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy63[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy64[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy66[sizeof (ast::stmt_while::ptr)]; char dummy65[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy67[sizeof (std::string)]; char dummy66[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw6 {
IDENTIFIER = 98, // "identifier" IDENTIFIER = 98, // "identifier"
STRING = 99, // "string literal" STRING = 99, // "string literal"
ISTRING = 100, // "localized string" ISTRING = 100, // "localized string"
COLOR = 101, // "color" FLOAT = 101, // "float"
FLOAT = 102, // "float" INTEGER = 102, // "integer"
INTEGER = 103, // "integer" ADD_ARRAY = 103, // ADD_ARRAY
ADD_ARRAY = 104, // ADD_ARRAY THEN = 104, // THEN
THEN = 105, // THEN TERN = 105, // TERN
TERN = 106, // TERN NEG = 106, // NEG
NEG = 107, // NEG ANIMREF = 107, // ANIMREF
ANIMREF = 108, // ANIMREF PREINC = 108, // PREINC
PREINC = 109, // PREINC PREDEC = 109, // PREDEC
PREDEC = 110, // PREDEC POSTINC = 110, // POSTINC
POSTINC = 111, // POSTINC POSTDEC = 111 // POSTDEC
POSTDEC = 112 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw6 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 113, ///< Number of tokens. YYNTOKENS = 112, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw6 {
S_IDENTIFIER = 98, // "identifier" S_IDENTIFIER = 98, // "identifier"
S_STRING = 99, // "string literal" S_STRING = 99, // "string literal"
S_ISTRING = 100, // "localized string" S_ISTRING = 100, // "localized string"
S_COLOR = 101, // "color" S_FLOAT = 101, // "float"
S_FLOAT = 102, // "float" S_INTEGER = 102, // "integer"
S_INTEGER = 103, // "integer" S_ADD_ARRAY = 103, // ADD_ARRAY
S_ADD_ARRAY = 104, // ADD_ARRAY S_THEN = 104, // THEN
S_THEN = 105, // THEN S_TERN = 105, // TERN
S_TERN = 106, // TERN S_NEG = 106, // NEG
S_NEG = 107, // NEG S_ANIMREF = 107, // ANIMREF
S_ANIMREF = 108, // ANIMREF S_PREINC = 108, // PREINC
S_PREINC = 109, // PREINC S_PREDEC = 109, // PREDEC
S_PREDEC = 110, // PREDEC S_POSTINC = 110, // POSTINC
S_POSTINC = 111, // POSTINC S_POSTDEC = 111, // POSTDEC
S_POSTDEC = 112, // POSTDEC S_YYACCEPT = 112, // $accept
S_YYACCEPT = 113, // $accept S_root = 113, // root
S_root = 114, // root S_program = 114, // program
S_program = 115, // program S_inline = 115, // inline
S_inline = 116, // inline S_include = 116, // include
S_include = 117, // include S_declaration = 117, // declaration
S_declaration = 118, // declaration S_decl_usingtree = 118, // decl_usingtree
S_decl_usingtree = 119, // decl_usingtree S_decl_constant = 119, // decl_constant
S_decl_constant = 120, // decl_constant S_decl_thread = 120, // decl_thread
S_decl_thread = 121, // decl_thread S_stmt = 121, // stmt
S_stmt = 122, // stmt S_stmt_or_dev = 122, // stmt_or_dev
S_stmt_or_dev = 123, // stmt_or_dev S_stmt_list = 123, // stmt_list
S_stmt_list = 124, // stmt_list S_stmt_or_dev_list = 124, // stmt_or_dev_list
S_stmt_or_dev_list = 125, // stmt_or_dev_list S_stmt_dev = 125, // stmt_dev
S_stmt_dev = 126, // stmt_dev S_stmt_block = 126, // stmt_block
S_stmt_block = 127, // stmt_block S_stmt_expr = 127, // stmt_expr
S_stmt_expr = 128, // stmt_expr S_stmt_call = 128, // stmt_call
S_stmt_call = 129, // stmt_call S_stmt_assign = 129, // stmt_assign
S_stmt_assign = 130, // stmt_assign S_stmt_endon = 130, // stmt_endon
S_stmt_endon = 131, // stmt_endon S_stmt_notify = 131, // stmt_notify
S_stmt_notify = 132, // stmt_notify S_stmt_wait = 132, // stmt_wait
S_stmt_wait = 133, // stmt_wait S_stmt_waittill = 133, // stmt_waittill
S_stmt_waittill = 134, // stmt_waittill S_stmt_waittillmatch = 134, // stmt_waittillmatch
S_stmt_waittillmatch = 135, // stmt_waittillmatch S_stmt_waittillframeend = 135, // stmt_waittillframeend
S_stmt_waittillframeend = 136, // stmt_waittillframeend S_stmt_if = 136, // stmt_if
S_stmt_if = 137, // stmt_if S_stmt_ifelse = 137, // stmt_ifelse
S_stmt_ifelse = 138, // stmt_ifelse S_stmt_while = 138, // stmt_while
S_stmt_while = 139, // stmt_while S_stmt_dowhile = 139, // stmt_dowhile
S_stmt_dowhile = 140, // stmt_dowhile S_stmt_for = 140, // stmt_for
S_stmt_for = 141, // stmt_for S_stmt_foreach = 141, // stmt_foreach
S_stmt_foreach = 142, // stmt_foreach S_stmt_switch = 142, // stmt_switch
S_stmt_switch = 143, // stmt_switch S_stmt_case = 143, // stmt_case
S_stmt_case = 144, // stmt_case S_stmt_default = 144, // stmt_default
S_stmt_default = 145, // stmt_default S_stmt_break = 145, // stmt_break
S_stmt_break = 146, // stmt_break S_stmt_continue = 146, // stmt_continue
S_stmt_continue = 147, // stmt_continue S_stmt_return = 147, // stmt_return
S_stmt_return = 148, // stmt_return S_stmt_breakpoint = 148, // stmt_breakpoint
S_stmt_breakpoint = 149, // stmt_breakpoint S_stmt_prof_begin = 149, // stmt_prof_begin
S_stmt_prof_begin = 150, // stmt_prof_begin S_stmt_prof_end = 150, // stmt_prof_end
S_stmt_prof_end = 151, // stmt_prof_end S_expr = 151, // expr
S_expr = 152, // expr S_expr_or_empty = 152, // expr_or_empty
S_expr_or_empty = 153, // expr_or_empty S_expr_assign = 153, // expr_assign
S_expr_assign = 154, // expr_assign S_expr_increment = 154, // expr_increment
S_expr_increment = 155, // expr_increment S_expr_decrement = 155, // expr_decrement
S_expr_decrement = 156, // expr_decrement S_expr_ternary = 156, // expr_ternary
S_expr_ternary = 157, // expr_ternary S_expr_binary = 157, // expr_binary
S_expr_binary = 158, // expr_binary S_expr_primitive = 158, // expr_primitive
S_expr_primitive = 159, // expr_primitive S_expr_complement = 159, // expr_complement
S_expr_complement = 160, // expr_complement S_expr_not = 160, // expr_not
S_expr_not = 161, // expr_not S_expr_call = 161, // expr_call
S_expr_call = 162, // expr_call S_expr_method = 162, // expr_method
S_expr_method = 163, // expr_method S_expr_function = 163, // expr_function
S_expr_function = 164, // expr_function S_expr_pointer = 164, // expr_pointer
S_expr_pointer = 165, // expr_pointer S_expr_add_array = 165, // expr_add_array
S_expr_add_array = 166, // expr_add_array S_expr_parameters = 166, // expr_parameters
S_expr_parameters = 167, // expr_parameters S_expr_arguments = 167, // expr_arguments
S_expr_arguments = 168, // expr_arguments S_expr_arguments_no_empty = 168, // expr_arguments_no_empty
S_expr_arguments_no_empty = 169, // expr_arguments_no_empty S_expr_reference = 169, // expr_reference
S_expr_reference = 170, // expr_reference S_expr_array = 170, // expr_array
S_expr_array = 171, // expr_array S_expr_field = 171, // expr_field
S_expr_field = 172, // expr_field S_expr_size = 172, // expr_size
S_expr_size = 173, // expr_size S_expr_paren = 173, // expr_paren
S_expr_paren = 174, // expr_paren S_expr_object = 174, // expr_object
S_expr_object = 175, // expr_object S_expr_thisthread = 175, // expr_thisthread
S_expr_thisthread = 176, // expr_thisthread S_expr_empty_array = 176, // expr_empty_array
S_expr_empty_array = 177, // expr_empty_array S_expr_undefined = 177, // expr_undefined
S_expr_undefined = 178, // expr_undefined S_expr_game = 178, // expr_game
S_expr_game = 179, // expr_game S_expr_self = 179, // expr_self
S_expr_self = 180, // expr_self S_expr_anim = 180, // expr_anim
S_expr_anim = 181, // expr_anim S_expr_level = 181, // expr_level
S_expr_level = 182, // expr_level S_expr_animation = 182, // expr_animation
S_expr_animation = 183, // expr_animation S_expr_animtree = 183, // expr_animtree
S_expr_animtree = 184, // expr_animtree S_expr_identifier = 184, // expr_identifier
S_expr_identifier = 185, // expr_identifier S_expr_path = 185, // expr_path
S_expr_path = 186, // expr_path S_expr_istring = 186, // expr_istring
S_expr_istring = 187, // expr_istring S_expr_string = 187, // expr_string
S_expr_string = 188, // expr_string S_expr_vector = 188, // expr_vector
S_expr_color = 189, // expr_color S_expr_float = 189, // expr_float
S_expr_vector = 190, // expr_vector S_expr_integer = 190, // expr_integer
S_expr_float = 191, // expr_float S_expr_false = 191, // expr_false
S_expr_integer = 192, // expr_integer S_expr_true = 192 // expr_true
S_expr_false = 193, // expr_false
S_expr_true = 194 // expr_true
}; };
}; };
@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw6 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw6 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw6 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2370,10 +2344,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2590,7 +2560,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4267,21 +4236,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4791,8 +4745,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2262, ///< Last index in yytable_. yylast_ = 2274, ///< Last index in yytable_.
yynnts_ = 82, ///< Number of nonterminal symbols. yynnts_ = 81, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4881,10 +4835,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5101,7 +5051,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5198,10 +5147,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5418,7 +5363,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5487,7 +5431,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::iw6 } } } // xsk::gsc::iw6
#line 5491 "parser.hpp" #line 5435 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,177 +456,173 @@ namespace xsk { namespace gsc { namespace iw7 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waittill // stmt_waittill
char dummy63[sizeof (ast::stmt_waittill::ptr)]; char dummy62[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy64[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy63[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy65[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy64[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy66[sizeof (ast::stmt_while::ptr)]; char dummy65[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy67[sizeof (std::string)]; char dummy66[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -776,18 +772,17 @@ namespace xsk { namespace gsc { namespace iw7 {
IDENTIFIER = 98, // "identifier" IDENTIFIER = 98, // "identifier"
STRING = 99, // "string literal" STRING = 99, // "string literal"
ISTRING = 100, // "localized string" ISTRING = 100, // "localized string"
COLOR = 101, // "color" FLOAT = 101, // "float"
FLOAT = 102, // "float" INTEGER = 102, // "integer"
INTEGER = 103, // "integer" ADD_ARRAY = 103, // ADD_ARRAY
ADD_ARRAY = 104, // ADD_ARRAY THEN = 104, // THEN
THEN = 105, // THEN TERN = 105, // TERN
TERN = 106, // TERN NEG = 106, // NEG
NEG = 107, // NEG ANIMREF = 107, // ANIMREF
ANIMREF = 108, // ANIMREF PREINC = 108, // PREINC
PREINC = 109, // PREINC PREDEC = 109, // PREDEC
PREDEC = 110, // PREDEC POSTINC = 110, // POSTINC
POSTINC = 111, // POSTINC POSTDEC = 111 // POSTDEC
POSTDEC = 112 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -804,7 +799,7 @@ namespace xsk { namespace gsc { namespace iw7 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 113, ///< Number of tokens. YYNTOKENS = 112, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -907,100 +902,98 @@ namespace xsk { namespace gsc { namespace iw7 {
S_IDENTIFIER = 98, // "identifier" S_IDENTIFIER = 98, // "identifier"
S_STRING = 99, // "string literal" S_STRING = 99, // "string literal"
S_ISTRING = 100, // "localized string" S_ISTRING = 100, // "localized string"
S_COLOR = 101, // "color" S_FLOAT = 101, // "float"
S_FLOAT = 102, // "float" S_INTEGER = 102, // "integer"
S_INTEGER = 103, // "integer" S_ADD_ARRAY = 103, // ADD_ARRAY
S_ADD_ARRAY = 104, // ADD_ARRAY S_THEN = 104, // THEN
S_THEN = 105, // THEN S_TERN = 105, // TERN
S_TERN = 106, // TERN S_NEG = 106, // NEG
S_NEG = 107, // NEG S_ANIMREF = 107, // ANIMREF
S_ANIMREF = 108, // ANIMREF S_PREINC = 108, // PREINC
S_PREINC = 109, // PREINC S_PREDEC = 109, // PREDEC
S_PREDEC = 110, // PREDEC S_POSTINC = 110, // POSTINC
S_POSTINC = 111, // POSTINC S_POSTDEC = 111, // POSTDEC
S_POSTDEC = 112, // POSTDEC S_YYACCEPT = 112, // $accept
S_YYACCEPT = 113, // $accept S_root = 113, // root
S_root = 114, // root S_program = 114, // program
S_program = 115, // program S_inline = 115, // inline
S_inline = 116, // inline S_include = 116, // include
S_include = 117, // include S_declaration = 117, // declaration
S_declaration = 118, // declaration S_decl_usingtree = 118, // decl_usingtree
S_decl_usingtree = 119, // decl_usingtree S_decl_constant = 119, // decl_constant
S_decl_constant = 120, // decl_constant S_decl_thread = 120, // decl_thread
S_decl_thread = 121, // decl_thread S_stmt = 121, // stmt
S_stmt = 122, // stmt S_stmt_or_dev = 122, // stmt_or_dev
S_stmt_or_dev = 123, // stmt_or_dev S_stmt_list = 123, // stmt_list
S_stmt_list = 124, // stmt_list S_stmt_or_dev_list = 124, // stmt_or_dev_list
S_stmt_or_dev_list = 125, // stmt_or_dev_list S_stmt_dev = 125, // stmt_dev
S_stmt_dev = 126, // stmt_dev S_stmt_block = 126, // stmt_block
S_stmt_block = 127, // stmt_block S_stmt_expr = 127, // stmt_expr
S_stmt_expr = 128, // stmt_expr S_stmt_call = 128, // stmt_call
S_stmt_call = 129, // stmt_call S_stmt_assign = 129, // stmt_assign
S_stmt_assign = 130, // stmt_assign S_stmt_endon = 130, // stmt_endon
S_stmt_endon = 131, // stmt_endon S_stmt_notify = 131, // stmt_notify
S_stmt_notify = 132, // stmt_notify S_stmt_wait = 132, // stmt_wait
S_stmt_wait = 133, // stmt_wait S_stmt_waittill = 133, // stmt_waittill
S_stmt_waittill = 134, // stmt_waittill S_stmt_waittillmatch = 134, // stmt_waittillmatch
S_stmt_waittillmatch = 135, // stmt_waittillmatch S_stmt_waittillframeend = 135, // stmt_waittillframeend
S_stmt_waittillframeend = 136, // stmt_waittillframeend S_stmt_if = 136, // stmt_if
S_stmt_if = 137, // stmt_if S_stmt_ifelse = 137, // stmt_ifelse
S_stmt_ifelse = 138, // stmt_ifelse S_stmt_while = 138, // stmt_while
S_stmt_while = 139, // stmt_while S_stmt_dowhile = 139, // stmt_dowhile
S_stmt_dowhile = 140, // stmt_dowhile S_stmt_for = 140, // stmt_for
S_stmt_for = 141, // stmt_for S_stmt_foreach = 141, // stmt_foreach
S_stmt_foreach = 142, // stmt_foreach S_stmt_switch = 142, // stmt_switch
S_stmt_switch = 143, // stmt_switch S_stmt_case = 143, // stmt_case
S_stmt_case = 144, // stmt_case S_stmt_default = 144, // stmt_default
S_stmt_default = 145, // stmt_default S_stmt_break = 145, // stmt_break
S_stmt_break = 146, // stmt_break S_stmt_continue = 146, // stmt_continue
S_stmt_continue = 147, // stmt_continue S_stmt_return = 147, // stmt_return
S_stmt_return = 148, // stmt_return S_stmt_breakpoint = 148, // stmt_breakpoint
S_stmt_breakpoint = 149, // stmt_breakpoint S_stmt_prof_begin = 149, // stmt_prof_begin
S_stmt_prof_begin = 150, // stmt_prof_begin S_stmt_prof_end = 150, // stmt_prof_end
S_stmt_prof_end = 151, // stmt_prof_end S_expr = 151, // expr
S_expr = 152, // expr S_expr_or_empty = 152, // expr_or_empty
S_expr_or_empty = 153, // expr_or_empty S_expr_assign = 153, // expr_assign
S_expr_assign = 154, // expr_assign S_expr_increment = 154, // expr_increment
S_expr_increment = 155, // expr_increment S_expr_decrement = 155, // expr_decrement
S_expr_decrement = 156, // expr_decrement S_expr_ternary = 156, // expr_ternary
S_expr_ternary = 157, // expr_ternary S_expr_binary = 157, // expr_binary
S_expr_binary = 158, // expr_binary S_expr_primitive = 158, // expr_primitive
S_expr_primitive = 159, // expr_primitive S_expr_complement = 159, // expr_complement
S_expr_complement = 160, // expr_complement S_expr_not = 160, // expr_not
S_expr_not = 161, // expr_not S_expr_call = 161, // expr_call
S_expr_call = 162, // expr_call S_expr_method = 162, // expr_method
S_expr_method = 163, // expr_method S_expr_function = 163, // expr_function
S_expr_function = 164, // expr_function S_expr_pointer = 164, // expr_pointer
S_expr_pointer = 165, // expr_pointer S_expr_add_array = 165, // expr_add_array
S_expr_add_array = 166, // expr_add_array S_expr_parameters = 166, // expr_parameters
S_expr_parameters = 167, // expr_parameters S_expr_arguments = 167, // expr_arguments
S_expr_arguments = 168, // expr_arguments S_expr_arguments_no_empty = 168, // expr_arguments_no_empty
S_expr_arguments_no_empty = 169, // expr_arguments_no_empty S_expr_reference = 169, // expr_reference
S_expr_reference = 170, // expr_reference S_expr_array = 170, // expr_array
S_expr_array = 171, // expr_array S_expr_field = 171, // expr_field
S_expr_field = 172, // expr_field S_expr_size = 172, // expr_size
S_expr_size = 173, // expr_size S_expr_paren = 173, // expr_paren
S_expr_paren = 174, // expr_paren S_expr_object = 174, // expr_object
S_expr_object = 175, // expr_object S_expr_thisthread = 175, // expr_thisthread
S_expr_thisthread = 176, // expr_thisthread S_expr_empty_array = 176, // expr_empty_array
S_expr_empty_array = 177, // expr_empty_array S_expr_undefined = 177, // expr_undefined
S_expr_undefined = 178, // expr_undefined S_expr_game = 178, // expr_game
S_expr_game = 179, // expr_game S_expr_self = 179, // expr_self
S_expr_self = 180, // expr_self S_expr_anim = 180, // expr_anim
S_expr_anim = 181, // expr_anim S_expr_level = 181, // expr_level
S_expr_level = 182, // expr_level S_expr_animation = 182, // expr_animation
S_expr_animation = 183, // expr_animation S_expr_animtree = 183, // expr_animtree
S_expr_animtree = 184, // expr_animtree S_expr_identifier = 184, // expr_identifier
S_expr_identifier = 185, // expr_identifier S_expr_path = 185, // expr_path
S_expr_path = 186, // expr_path S_expr_istring = 186, // expr_istring
S_expr_istring = 187, // expr_istring S_expr_string = 187, // expr_string
S_expr_string = 188, // expr_string S_expr_vector = 188, // expr_vector
S_expr_color = 189, // expr_color S_expr_float = 189, // expr_float
S_expr_vector = 190, // expr_vector S_expr_integer = 190, // expr_integer
S_expr_float = 191, // expr_float S_expr_false = 191, // expr_false
S_expr_integer = 192, // expr_integer S_expr_true = 192 // expr_true
S_expr_false = 193, // expr_false
S_expr_true = 194 // expr_true
}; };
}; };
@ -1099,10 +1092,6 @@ namespace xsk { namespace gsc { namespace iw7 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1319,7 +1308,6 @@ namespace xsk { namespace gsc { namespace iw7 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1530,20 +1518,6 @@ namespace xsk { namespace gsc { namespace iw7 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2370,10 +2344,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2590,7 +2560,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4267,21 +4236,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4791,8 +4745,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2262, ///< Last index in yytable_. yylast_ = 2274, ///< Last index in yytable_.
yynnts_ = 82, ///< Number of nonterminal symbols. yynnts_ = 81, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4881,10 +4835,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5101,7 +5051,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5198,10 +5147,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5418,7 +5363,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5487,7 +5431,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::iw7 } } } // xsk::gsc::iw7
#line 5491 "parser.hpp" #line 5435 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,186 +456,182 @@ namespace xsk { namespace gsc { namespace iw8 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_isdefined // expr_isdefined
char dummy23[sizeof (ast::expr_isdefined::ptr)]; char dummy22[sizeof (ast::expr_isdefined::ptr)];
// expr_istring // expr_istring
char dummy24[sizeof (ast::expr_istring::ptr)]; char dummy23[sizeof (ast::expr_istring::ptr)];
// expr_istrue // expr_istrue
char dummy25[sizeof (ast::expr_istrue::ptr)]; char dummy24[sizeof (ast::expr_istrue::ptr)];
// expr_level // expr_level
char dummy26[sizeof (ast::expr_level::ptr)]; char dummy25[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy27[sizeof (ast::expr_method::ptr)]; char dummy26[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy28[sizeof (ast::expr_not::ptr)]; char dummy27[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy29[sizeof (ast::expr_parameters::ptr)]; char dummy28[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy30[sizeof (ast::expr_paren::ptr)]; char dummy29[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy31[sizeof (ast::expr_path::ptr)]; char dummy30[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy32[sizeof (ast::expr_reference::ptr)]; char dummy31[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy33[sizeof (ast::expr_self::ptr)]; char dummy32[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy34[sizeof (ast::expr_size::ptr)]; char dummy33[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy35[sizeof (ast::expr_string::ptr)]; char dummy34[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy36[sizeof (ast::expr_thisthread::ptr)]; char dummy35[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy37[sizeof (ast::expr_true::ptr)]; char dummy36[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy38[sizeof (ast::expr_undefined::ptr)]; char dummy37[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy39[sizeof (ast::expr_vector::ptr)]; char dummy38[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy40[sizeof (ast::include::ptr)]; char dummy39[sizeof (ast::include::ptr)];
// program // program
char dummy41[sizeof (ast::program::ptr)]; char dummy40[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy42[sizeof (ast::stmt)]; char dummy41[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy43[sizeof (ast::stmt_assign::ptr)]; char dummy42[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy44[sizeof (ast::stmt_break::ptr)]; char dummy43[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy45[sizeof (ast::stmt_breakpoint::ptr)]; char dummy44[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy46[sizeof (ast::stmt_call::ptr)]; char dummy45[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy47[sizeof (ast::stmt_case::ptr)]; char dummy46[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy48[sizeof (ast::stmt_continue::ptr)]; char dummy47[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy49[sizeof (ast::stmt_default::ptr)]; char dummy48[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy50[sizeof (ast::stmt_dev::ptr)]; char dummy49[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy51[sizeof (ast::stmt_dowhile::ptr)]; char dummy50[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy52[sizeof (ast::stmt_endon::ptr)]; char dummy51[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy53[sizeof (ast::stmt_expr::ptr)]; char dummy52[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy54[sizeof (ast::stmt_for::ptr)]; char dummy53[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy55[sizeof (ast::stmt_foreach::ptr)]; char dummy54[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy56[sizeof (ast::stmt_if::ptr)]; char dummy55[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy57[sizeof (ast::stmt_ifelse::ptr)]; char dummy56[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy58[sizeof (ast::stmt_list::ptr)]; char dummy57[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy59[sizeof (ast::stmt_notify::ptr)]; char dummy58[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy60[sizeof (ast::stmt_prof_begin::ptr)]; char dummy59[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy61[sizeof (ast::stmt_prof_end::ptr)]; char dummy60[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy62[sizeof (ast::stmt_return::ptr)]; char dummy61[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy63[sizeof (ast::stmt_switch::ptr)]; char dummy62[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy64[sizeof (ast::stmt_wait::ptr)]; char dummy63[sizeof (ast::stmt_wait::ptr)];
// stmt_waitframe // stmt_waitframe
char dummy65[sizeof (ast::stmt_waitframe::ptr)]; char dummy64[sizeof (ast::stmt_waitframe::ptr)];
// stmt_waittill // stmt_waittill
char dummy66[sizeof (ast::stmt_waittill::ptr)]; char dummy65[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy67[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy66[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy68[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy67[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy69[sizeof (ast::stmt_while::ptr)]; char dummy68[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy70[sizeof (std::string)]; char dummy69[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -788,18 +784,17 @@ namespace xsk { namespace gsc { namespace iw8 {
IDENTIFIER = 101, // "identifier" IDENTIFIER = 101, // "identifier"
STRING = 102, // "string literal" STRING = 102, // "string literal"
ISTRING = 103, // "localized string" ISTRING = 103, // "localized string"
COLOR = 104, // "color" FLOAT = 104, // "float"
FLOAT = 105, // "float" INTEGER = 105, // "integer"
INTEGER = 106, // "integer" ADD_ARRAY = 106, // ADD_ARRAY
ADD_ARRAY = 107, // ADD_ARRAY THEN = 107, // THEN
THEN = 108, // THEN TERN = 108, // TERN
TERN = 109, // TERN NEG = 109, // NEG
NEG = 110, // NEG ANIMREF = 110, // ANIMREF
ANIMREF = 111, // ANIMREF PREINC = 111, // PREINC
PREINC = 112, // PREINC PREDEC = 112, // PREDEC
PREDEC = 113, // PREDEC POSTINC = 113, // POSTINC
POSTINC = 114, // POSTINC POSTDEC = 114 // POSTDEC
POSTDEC = 115 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -816,7 +811,7 @@ namespace xsk { namespace gsc { namespace iw8 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 116, ///< Number of tokens. YYNTOKENS = 115, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -922,103 +917,101 @@ namespace xsk { namespace gsc { namespace iw8 {
S_IDENTIFIER = 101, // "identifier" S_IDENTIFIER = 101, // "identifier"
S_STRING = 102, // "string literal" S_STRING = 102, // "string literal"
S_ISTRING = 103, // "localized string" S_ISTRING = 103, // "localized string"
S_COLOR = 104, // "color" S_FLOAT = 104, // "float"
S_FLOAT = 105, // "float" S_INTEGER = 105, // "integer"
S_INTEGER = 106, // "integer" S_ADD_ARRAY = 106, // ADD_ARRAY
S_ADD_ARRAY = 107, // ADD_ARRAY S_THEN = 107, // THEN
S_THEN = 108, // THEN S_TERN = 108, // TERN
S_TERN = 109, // TERN S_NEG = 109, // NEG
S_NEG = 110, // NEG S_ANIMREF = 110, // ANIMREF
S_ANIMREF = 111, // ANIMREF S_PREINC = 111, // PREINC
S_PREINC = 112, // PREINC S_PREDEC = 112, // PREDEC
S_PREDEC = 113, // PREDEC S_POSTINC = 113, // POSTINC
S_POSTINC = 114, // POSTINC S_POSTDEC = 114, // POSTDEC
S_POSTDEC = 115, // POSTDEC S_YYACCEPT = 115, // $accept
S_YYACCEPT = 116, // $accept S_root = 116, // root
S_root = 117, // root S_program = 117, // program
S_program = 118, // program S_inline = 118, // inline
S_inline = 119, // inline S_include = 119, // include
S_include = 120, // include S_declaration = 120, // declaration
S_declaration = 121, // declaration S_decl_usingtree = 121, // decl_usingtree
S_decl_usingtree = 122, // decl_usingtree S_decl_constant = 122, // decl_constant
S_decl_constant = 123, // decl_constant S_decl_thread = 123, // decl_thread
S_decl_thread = 124, // decl_thread S_stmt = 124, // stmt
S_stmt = 125, // stmt S_stmt_or_dev = 125, // stmt_or_dev
S_stmt_or_dev = 126, // stmt_or_dev S_stmt_list = 126, // stmt_list
S_stmt_list = 127, // stmt_list S_stmt_or_dev_list = 127, // stmt_or_dev_list
S_stmt_or_dev_list = 128, // stmt_or_dev_list S_stmt_dev = 128, // stmt_dev
S_stmt_dev = 129, // stmt_dev S_stmt_block = 129, // stmt_block
S_stmt_block = 130, // stmt_block S_stmt_expr = 130, // stmt_expr
S_stmt_expr = 131, // stmt_expr S_stmt_call = 131, // stmt_call
S_stmt_call = 132, // stmt_call S_stmt_assign = 132, // stmt_assign
S_stmt_assign = 133, // stmt_assign S_stmt_endon = 133, // stmt_endon
S_stmt_endon = 134, // stmt_endon S_stmt_notify = 134, // stmt_notify
S_stmt_notify = 135, // stmt_notify S_stmt_wait = 135, // stmt_wait
S_stmt_wait = 136, // stmt_wait S_stmt_waittill = 136, // stmt_waittill
S_stmt_waittill = 137, // stmt_waittill S_stmt_waittillmatch = 137, // stmt_waittillmatch
S_stmt_waittillmatch = 138, // stmt_waittillmatch S_stmt_waittillframeend = 138, // stmt_waittillframeend
S_stmt_waittillframeend = 139, // stmt_waittillframeend S_stmt_waitframe = 139, // stmt_waitframe
S_stmt_waitframe = 140, // stmt_waitframe S_stmt_if = 140, // stmt_if
S_stmt_if = 141, // stmt_if S_stmt_ifelse = 141, // stmt_ifelse
S_stmt_ifelse = 142, // stmt_ifelse S_stmt_while = 142, // stmt_while
S_stmt_while = 143, // stmt_while S_stmt_dowhile = 143, // stmt_dowhile
S_stmt_dowhile = 144, // stmt_dowhile S_stmt_for = 144, // stmt_for
S_stmt_for = 145, // stmt_for S_stmt_foreach = 145, // stmt_foreach
S_stmt_foreach = 146, // stmt_foreach S_stmt_switch = 146, // stmt_switch
S_stmt_switch = 147, // stmt_switch S_stmt_case = 147, // stmt_case
S_stmt_case = 148, // stmt_case S_stmt_default = 148, // stmt_default
S_stmt_default = 149, // stmt_default S_stmt_break = 149, // stmt_break
S_stmt_break = 150, // stmt_break S_stmt_continue = 150, // stmt_continue
S_stmt_continue = 151, // stmt_continue S_stmt_return = 151, // stmt_return
S_stmt_return = 152, // stmt_return S_stmt_breakpoint = 152, // stmt_breakpoint
S_stmt_breakpoint = 153, // stmt_breakpoint S_stmt_prof_begin = 153, // stmt_prof_begin
S_stmt_prof_begin = 154, // stmt_prof_begin S_stmt_prof_end = 154, // stmt_prof_end
S_stmt_prof_end = 155, // stmt_prof_end S_expr = 155, // expr
S_expr = 156, // expr S_expr_or_empty = 156, // expr_or_empty
S_expr_or_empty = 157, // expr_or_empty S_expr_assign = 157, // expr_assign
S_expr_assign = 158, // expr_assign S_expr_increment = 158, // expr_increment
S_expr_increment = 159, // expr_increment S_expr_decrement = 159, // expr_decrement
S_expr_decrement = 160, // expr_decrement S_expr_ternary = 160, // expr_ternary
S_expr_ternary = 161, // expr_ternary S_expr_binary = 161, // expr_binary
S_expr_binary = 162, // expr_binary S_expr_primitive = 162, // expr_primitive
S_expr_primitive = 163, // expr_primitive S_expr_complement = 163, // expr_complement
S_expr_complement = 164, // expr_complement S_expr_not = 164, // expr_not
S_expr_not = 165, // expr_not S_expr_call = 165, // expr_call
S_expr_call = 166, // expr_call S_expr_method = 166, // expr_method
S_expr_method = 167, // expr_method S_expr_function = 167, // expr_function
S_expr_function = 168, // expr_function S_expr_pointer = 168, // expr_pointer
S_expr_pointer = 169, // expr_pointer S_expr_add_array = 169, // expr_add_array
S_expr_add_array = 170, // expr_add_array S_expr_parameters = 170, // expr_parameters
S_expr_parameters = 171, // expr_parameters S_expr_arguments = 171, // expr_arguments
S_expr_arguments = 172, // expr_arguments S_expr_arguments_no_empty = 172, // expr_arguments_no_empty
S_expr_arguments_no_empty = 173, // expr_arguments_no_empty S_expr_isdefined = 173, // expr_isdefined
S_expr_isdefined = 174, // expr_isdefined S_expr_istrue = 174, // expr_istrue
S_expr_istrue = 175, // expr_istrue S_expr_reference = 175, // expr_reference
S_expr_reference = 176, // expr_reference S_expr_array = 176, // expr_array
S_expr_array = 177, // expr_array S_expr_field = 177, // expr_field
S_expr_field = 178, // expr_field S_expr_size = 178, // expr_size
S_expr_size = 179, // expr_size S_expr_paren = 179, // expr_paren
S_expr_paren = 180, // expr_paren S_expr_object = 180, // expr_object
S_expr_object = 181, // expr_object S_expr_thisthread = 181, // expr_thisthread
S_expr_thisthread = 182, // expr_thisthread S_expr_empty_array = 182, // expr_empty_array
S_expr_empty_array = 183, // expr_empty_array S_expr_undefined = 183, // expr_undefined
S_expr_undefined = 184, // expr_undefined S_expr_game = 184, // expr_game
S_expr_game = 185, // expr_game S_expr_self = 185, // expr_self
S_expr_self = 186, // expr_self S_expr_anim = 186, // expr_anim
S_expr_anim = 187, // expr_anim S_expr_level = 187, // expr_level
S_expr_level = 188, // expr_level S_expr_animation = 188, // expr_animation
S_expr_animation = 189, // expr_animation S_expr_animtree = 189, // expr_animtree
S_expr_animtree = 190, // expr_animtree S_expr_identifier = 190, // expr_identifier
S_expr_identifier = 191, // expr_identifier S_expr_path = 191, // expr_path
S_expr_path = 192, // expr_path S_expr_istring = 192, // expr_istring
S_expr_istring = 193, // expr_istring S_expr_string = 193, // expr_string
S_expr_string = 194, // expr_string S_expr_vector = 194, // expr_vector
S_expr_color = 195, // expr_color S_expr_float = 195, // expr_float
S_expr_vector = 196, // expr_vector S_expr_integer = 196, // expr_integer
S_expr_float = 197, // expr_float S_expr_false = 197, // expr_false
S_expr_integer = 198, // expr_integer S_expr_true = 198 // expr_true
S_expr_false = 199, // expr_false
S_expr_true = 200 // expr_true
}; };
}; };
@ -1117,10 +1110,6 @@ namespace xsk { namespace gsc { namespace iw8 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1349,7 +1338,6 @@ namespace xsk { namespace gsc { namespace iw8 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1560,20 +1548,6 @@ namespace xsk { namespace gsc { namespace iw8 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2442,10 +2416,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2674,7 +2644,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4396,21 +4365,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4920,8 +4874,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2407, ///< Last index in yytable_. yylast_ = 2404, ///< Last index in yytable_.
yynnts_ = 85, ///< Number of nonterminal symbols. yynnts_ = 84, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -5010,10 +4964,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5242,7 +5192,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5339,10 +5288,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5571,7 +5516,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5640,7 +5584,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::iw8 } } } // xsk::gsc::iw8
#line 5644 "parser.hpp" #line 5588 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,180 +456,176 @@ namespace xsk { namespace gsc { namespace s1 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy40[sizeof (ast::stmt)]; char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy47[sizeof (ast::stmt_default::ptr)]; char dummy46[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy48[sizeof (ast::stmt_dev::ptr)]; char dummy47[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy49[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy50[sizeof (ast::stmt_endon::ptr)]; char dummy49[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy51[sizeof (ast::stmt_expr::ptr)]; char dummy50[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy52[sizeof (ast::stmt_for::ptr)]; char dummy51[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy53[sizeof (ast::stmt_foreach::ptr)]; char dummy52[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy54[sizeof (ast::stmt_if::ptr)]; char dummy53[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy55[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy56[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy57[sizeof (ast::stmt_notify::ptr)]; char dummy56[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy58[sizeof (ast::stmt_prof_begin::ptr)]; char dummy57[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy59[sizeof (ast::stmt_prof_end::ptr)]; char dummy58[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy60[sizeof (ast::stmt_return::ptr)]; char dummy59[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy61[sizeof (ast::stmt_switch::ptr)]; char dummy60[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy62[sizeof (ast::stmt_wait::ptr)]; char dummy61[sizeof (ast::stmt_wait::ptr)];
// stmt_waitframe // stmt_waitframe
char dummy63[sizeof (ast::stmt_waitframe::ptr)]; char dummy62[sizeof (ast::stmt_waitframe::ptr)];
// stmt_waittill // stmt_waittill
char dummy64[sizeof (ast::stmt_waittill::ptr)]; char dummy63[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy65[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy64[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy66[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy65[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy67[sizeof (ast::stmt_while::ptr)]; char dummy66[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy68[sizeof (std::string)]; char dummy67[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -780,18 +776,17 @@ namespace xsk { namespace gsc { namespace s1 {
IDENTIFIER = 99, // "identifier" IDENTIFIER = 99, // "identifier"
STRING = 100, // "string literal" STRING = 100, // "string literal"
ISTRING = 101, // "localized string" ISTRING = 101, // "localized string"
COLOR = 102, // "color" FLOAT = 102, // "float"
FLOAT = 103, // "float" INTEGER = 103, // "integer"
INTEGER = 104, // "integer" ADD_ARRAY = 104, // ADD_ARRAY
ADD_ARRAY = 105, // ADD_ARRAY THEN = 105, // THEN
THEN = 106, // THEN TERN = 106, // TERN
TERN = 107, // TERN NEG = 107, // NEG
NEG = 108, // NEG ANIMREF = 108, // ANIMREF
ANIMREF = 109, // ANIMREF PREINC = 109, // PREINC
PREINC = 110, // PREINC PREDEC = 110, // PREDEC
PREDEC = 111, // PREDEC POSTINC = 111, // POSTINC
POSTINC = 112, // POSTINC POSTDEC = 112 // POSTDEC
POSTDEC = 113 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -808,7 +803,7 @@ namespace xsk { namespace gsc { namespace s1 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 114, ///< Number of tokens. YYNTOKENS = 113, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -912,101 +907,99 @@ namespace xsk { namespace gsc { namespace s1 {
S_IDENTIFIER = 99, // "identifier" S_IDENTIFIER = 99, // "identifier"
S_STRING = 100, // "string literal" S_STRING = 100, // "string literal"
S_ISTRING = 101, // "localized string" S_ISTRING = 101, // "localized string"
S_COLOR = 102, // "color" S_FLOAT = 102, // "float"
S_FLOAT = 103, // "float" S_INTEGER = 103, // "integer"
S_INTEGER = 104, // "integer" S_ADD_ARRAY = 104, // ADD_ARRAY
S_ADD_ARRAY = 105, // ADD_ARRAY S_THEN = 105, // THEN
S_THEN = 106, // THEN S_TERN = 106, // TERN
S_TERN = 107, // TERN S_NEG = 107, // NEG
S_NEG = 108, // NEG S_ANIMREF = 108, // ANIMREF
S_ANIMREF = 109, // ANIMREF S_PREINC = 109, // PREINC
S_PREINC = 110, // PREINC S_PREDEC = 110, // PREDEC
S_PREDEC = 111, // PREDEC S_POSTINC = 111, // POSTINC
S_POSTINC = 112, // POSTINC S_POSTDEC = 112, // POSTDEC
S_POSTDEC = 113, // POSTDEC S_YYACCEPT = 113, // $accept
S_YYACCEPT = 114, // $accept S_root = 114, // root
S_root = 115, // root S_program = 115, // program
S_program = 116, // program S_inline = 116, // inline
S_inline = 117, // inline S_include = 117, // include
S_include = 118, // include S_declaration = 118, // declaration
S_declaration = 119, // declaration S_decl_usingtree = 119, // decl_usingtree
S_decl_usingtree = 120, // decl_usingtree S_decl_constant = 120, // decl_constant
S_decl_constant = 121, // decl_constant S_decl_thread = 121, // decl_thread
S_decl_thread = 122, // decl_thread S_stmt = 122, // stmt
S_stmt = 123, // stmt S_stmt_or_dev = 123, // stmt_or_dev
S_stmt_or_dev = 124, // stmt_or_dev S_stmt_list = 124, // stmt_list
S_stmt_list = 125, // stmt_list S_stmt_or_dev_list = 125, // stmt_or_dev_list
S_stmt_or_dev_list = 126, // stmt_or_dev_list S_stmt_dev = 126, // stmt_dev
S_stmt_dev = 127, // stmt_dev S_stmt_block = 127, // stmt_block
S_stmt_block = 128, // stmt_block S_stmt_expr = 128, // stmt_expr
S_stmt_expr = 129, // stmt_expr S_stmt_call = 129, // stmt_call
S_stmt_call = 130, // stmt_call S_stmt_assign = 130, // stmt_assign
S_stmt_assign = 131, // stmt_assign S_stmt_endon = 131, // stmt_endon
S_stmt_endon = 132, // stmt_endon S_stmt_notify = 132, // stmt_notify
S_stmt_notify = 133, // stmt_notify S_stmt_wait = 133, // stmt_wait
S_stmt_wait = 134, // stmt_wait S_stmt_waittill = 134, // stmt_waittill
S_stmt_waittill = 135, // stmt_waittill S_stmt_waittillmatch = 135, // stmt_waittillmatch
S_stmt_waittillmatch = 136, // stmt_waittillmatch S_stmt_waittillframeend = 136, // stmt_waittillframeend
S_stmt_waittillframeend = 137, // stmt_waittillframeend S_stmt_waitframe = 137, // stmt_waitframe
S_stmt_waitframe = 138, // stmt_waitframe S_stmt_if = 138, // stmt_if
S_stmt_if = 139, // stmt_if S_stmt_ifelse = 139, // stmt_ifelse
S_stmt_ifelse = 140, // stmt_ifelse S_stmt_while = 140, // stmt_while
S_stmt_while = 141, // stmt_while S_stmt_dowhile = 141, // stmt_dowhile
S_stmt_dowhile = 142, // stmt_dowhile S_stmt_for = 142, // stmt_for
S_stmt_for = 143, // stmt_for S_stmt_foreach = 143, // stmt_foreach
S_stmt_foreach = 144, // stmt_foreach S_stmt_switch = 144, // stmt_switch
S_stmt_switch = 145, // stmt_switch S_stmt_case = 145, // stmt_case
S_stmt_case = 146, // stmt_case S_stmt_default = 146, // stmt_default
S_stmt_default = 147, // stmt_default S_stmt_break = 147, // stmt_break
S_stmt_break = 148, // stmt_break S_stmt_continue = 148, // stmt_continue
S_stmt_continue = 149, // stmt_continue S_stmt_return = 149, // stmt_return
S_stmt_return = 150, // stmt_return S_stmt_breakpoint = 150, // stmt_breakpoint
S_stmt_breakpoint = 151, // stmt_breakpoint S_stmt_prof_begin = 151, // stmt_prof_begin
S_stmt_prof_begin = 152, // stmt_prof_begin S_stmt_prof_end = 152, // stmt_prof_end
S_stmt_prof_end = 153, // stmt_prof_end S_expr = 153, // expr
S_expr = 154, // expr S_expr_or_empty = 154, // expr_or_empty
S_expr_or_empty = 155, // expr_or_empty S_expr_assign = 155, // expr_assign
S_expr_assign = 156, // expr_assign S_expr_increment = 156, // expr_increment
S_expr_increment = 157, // expr_increment S_expr_decrement = 157, // expr_decrement
S_expr_decrement = 158, // expr_decrement S_expr_ternary = 158, // expr_ternary
S_expr_ternary = 159, // expr_ternary S_expr_binary = 159, // expr_binary
S_expr_binary = 160, // expr_binary S_expr_primitive = 160, // expr_primitive
S_expr_primitive = 161, // expr_primitive S_expr_complement = 161, // expr_complement
S_expr_complement = 162, // expr_complement S_expr_not = 162, // expr_not
S_expr_not = 163, // expr_not S_expr_call = 163, // expr_call
S_expr_call = 164, // expr_call S_expr_method = 164, // expr_method
S_expr_method = 165, // expr_method S_expr_function = 165, // expr_function
S_expr_function = 166, // expr_function S_expr_pointer = 166, // expr_pointer
S_expr_pointer = 167, // expr_pointer S_expr_add_array = 167, // expr_add_array
S_expr_add_array = 168, // expr_add_array S_expr_parameters = 168, // expr_parameters
S_expr_parameters = 169, // expr_parameters S_expr_arguments = 169, // expr_arguments
S_expr_arguments = 170, // expr_arguments S_expr_arguments_no_empty = 170, // expr_arguments_no_empty
S_expr_arguments_no_empty = 171, // expr_arguments_no_empty S_expr_reference = 171, // expr_reference
S_expr_reference = 172, // expr_reference S_expr_array = 172, // expr_array
S_expr_array = 173, // expr_array S_expr_field = 173, // expr_field
S_expr_field = 174, // expr_field S_expr_size = 174, // expr_size
S_expr_size = 175, // expr_size S_expr_paren = 175, // expr_paren
S_expr_paren = 176, // expr_paren S_expr_object = 176, // expr_object
S_expr_object = 177, // expr_object S_expr_thisthread = 177, // expr_thisthread
S_expr_thisthread = 178, // expr_thisthread S_expr_empty_array = 178, // expr_empty_array
S_expr_empty_array = 179, // expr_empty_array S_expr_undefined = 179, // expr_undefined
S_expr_undefined = 180, // expr_undefined S_expr_game = 180, // expr_game
S_expr_game = 181, // expr_game S_expr_self = 181, // expr_self
S_expr_self = 182, // expr_self S_expr_anim = 182, // expr_anim
S_expr_anim = 183, // expr_anim S_expr_level = 183, // expr_level
S_expr_level = 184, // expr_level S_expr_animation = 184, // expr_animation
S_expr_animation = 185, // expr_animation S_expr_animtree = 185, // expr_animtree
S_expr_animtree = 186, // expr_animtree S_expr_identifier = 186, // expr_identifier
S_expr_identifier = 187, // expr_identifier S_expr_path = 187, // expr_path
S_expr_path = 188, // expr_path S_expr_istring = 188, // expr_istring
S_expr_istring = 189, // expr_istring S_expr_string = 189, // expr_string
S_expr_string = 190, // expr_string S_expr_vector = 190, // expr_vector
S_expr_color = 191, // expr_color S_expr_float = 191, // expr_float
S_expr_vector = 192, // expr_vector S_expr_integer = 192, // expr_integer
S_expr_float = 193, // expr_float S_expr_false = 193, // expr_false
S_expr_integer = 194, // expr_integer S_expr_true = 194 // expr_true
S_expr_false = 195, // expr_false
S_expr_true = 196 // expr_true
}; };
}; };
@ -1105,10 +1098,6 @@ namespace xsk { namespace gsc { namespace s1 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1329,7 +1318,6 @@ namespace xsk { namespace gsc { namespace s1 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1540,20 +1528,6 @@ namespace xsk { namespace gsc { namespace s1 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2394,10 +2368,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2618,7 +2588,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4310,21 +4279,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4834,8 +4788,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2285, ///< Last index in yytable_. yylast_ = 2300, ///< Last index in yytable_.
yynnts_ = 83, ///< Number of nonterminal symbols. yynnts_ = 82, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4924,10 +4878,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5148,7 +5098,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5245,10 +5194,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5469,7 +5414,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5538,7 +5482,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::s1 } } } // xsk::gsc::s1
#line 5542 "parser.hpp" #line 5486 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,107 +456,108 @@ namespace xsk { namespace gsc { namespace s2 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_istring // expr_istring
char dummy23[sizeof (ast::expr_istring::ptr)]; char dummy22[sizeof (ast::expr_istring::ptr)];
// expr_level // expr_level
char dummy24[sizeof (ast::expr_level::ptr)]; char dummy23[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy25[sizeof (ast::expr_method::ptr)]; char dummy24[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy26[sizeof (ast::expr_not::ptr)]; char dummy25[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy27[sizeof (ast::expr_parameters::ptr)]; char dummy26[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy28[sizeof (ast::expr_paren::ptr)]; char dummy27[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy29[sizeof (ast::expr_path::ptr)]; char dummy28[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy30[sizeof (ast::expr_reference::ptr)]; char dummy29[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy31[sizeof (ast::expr_self::ptr)]; char dummy30[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy32[sizeof (ast::expr_size::ptr)]; char dummy31[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy33[sizeof (ast::expr_string::ptr)]; char dummy32[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy34[sizeof (ast::expr_thisthread::ptr)]; char dummy33[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy35[sizeof (ast::expr_true::ptr)]; char dummy34[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy36[sizeof (ast::expr_undefined::ptr)]; char dummy35[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy37[sizeof (ast::expr_vector::ptr)]; char dummy36[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy38[sizeof (ast::include::ptr)]; char dummy37[sizeof (ast::include::ptr)];
// program // program
char dummy39[sizeof (ast::program::ptr)]; char dummy38[sizeof (ast::program::ptr)];
// stmt // stmt
char dummy40[sizeof (ast::stmt)]; // stmt_or_dev
char dummy39[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy41[sizeof (ast::stmt_assign::ptr)]; char dummy40[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy42[sizeof (ast::stmt_break::ptr)]; char dummy41[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy43[sizeof (ast::stmt_breakpoint::ptr)]; char dummy42[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy44[sizeof (ast::stmt_call::ptr)]; char dummy43[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy45[sizeof (ast::stmt_case::ptr)]; char dummy44[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy46[sizeof (ast::stmt_continue::ptr)]; char dummy45[sizeof (ast::stmt_continue::ptr)];
// stmt_default // 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 // stmt_dowhile
char dummy48[sizeof (ast::stmt_dowhile::ptr)]; char dummy48[sizeof (ast::stmt_dowhile::ptr)];
@ -579,9 +580,9 @@ namespace xsk { namespace gsc { namespace s2 {
// stmt_ifelse // stmt_ifelse
char dummy54[sizeof (ast::stmt_ifelse::ptr)]; char dummy54[sizeof (ast::stmt_ifelse::ptr)];
// stmt_dev
// stmt_block
// stmt_list // stmt_list
// stmt_or_dev_list
// stmt_block
char dummy55[sizeof (ast::stmt_list::ptr)]; char dummy55[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
@ -622,7 +623,6 @@ namespace xsk { namespace gsc { namespace s2 {
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy67[sizeof (std::string)]; char dummy67[sizeof (std::string)];
@ -776,18 +776,17 @@ namespace xsk { namespace gsc { namespace s2 {
IDENTIFIER = 99, // "identifier" IDENTIFIER = 99, // "identifier"
STRING = 100, // "string literal" STRING = 100, // "string literal"
ISTRING = 101, // "localized string" ISTRING = 101, // "localized string"
COLOR = 102, // "color" FLOAT = 102, // "float"
FLOAT = 103, // "float" INTEGER = 103, // "integer"
INTEGER = 104, // "integer" ADD_ARRAY = 104, // ADD_ARRAY
ADD_ARRAY = 105, // ADD_ARRAY THEN = 105, // THEN
THEN = 106, // THEN TERN = 106, // TERN
TERN = 107, // TERN NEG = 107, // NEG
NEG = 108, // NEG ANIMREF = 108, // ANIMREF
ANIMREF = 109, // ANIMREF PREINC = 109, // PREINC
PREINC = 110, // PREINC PREDEC = 110, // PREDEC
PREDEC = 111, // PREDEC POSTINC = 111, // POSTINC
POSTINC = 112, // POSTINC POSTDEC = 112 // POSTDEC
POSTDEC = 113 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -804,7 +803,7 @@ namespace xsk { namespace gsc { namespace s2 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 114, ///< Number of tokens. YYNTOKENS = 113, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -908,94 +907,94 @@ namespace xsk { namespace gsc { namespace s2 {
S_IDENTIFIER = 99, // "identifier" S_IDENTIFIER = 99, // "identifier"
S_STRING = 100, // "string literal" S_STRING = 100, // "string literal"
S_ISTRING = 101, // "localized string" S_ISTRING = 101, // "localized string"
S_COLOR = 102, // "color" S_FLOAT = 102, // "float"
S_FLOAT = 103, // "float" S_INTEGER = 103, // "integer"
S_INTEGER = 104, // "integer" S_ADD_ARRAY = 104, // ADD_ARRAY
S_ADD_ARRAY = 105, // ADD_ARRAY S_THEN = 105, // THEN
S_THEN = 106, // THEN S_TERN = 106, // TERN
S_TERN = 107, // TERN S_NEG = 107, // NEG
S_NEG = 108, // NEG S_ANIMREF = 108, // ANIMREF
S_ANIMREF = 109, // ANIMREF S_PREINC = 109, // PREINC
S_PREINC = 110, // PREINC S_PREDEC = 110, // PREDEC
S_PREDEC = 111, // PREDEC S_POSTINC = 111, // POSTINC
S_POSTINC = 112, // POSTINC S_POSTDEC = 112, // POSTDEC
S_POSTDEC = 113, // POSTDEC S_YYACCEPT = 113, // $accept
S_YYACCEPT = 114, // $accept S_root = 114, // root
S_root = 115, // root S_program = 115, // program
S_program = 116, // program S_inline = 116, // inline
S_inline = 117, // inline S_include = 117, // include
S_include = 118, // include S_declaration = 118, // declaration
S_declaration = 119, // declaration S_decl_usingtree = 119, // decl_usingtree
S_decl_usingtree = 120, // decl_usingtree S_decl_constant = 120, // decl_constant
S_decl_constant = 121, // decl_constant S_decl_thread = 121, // decl_thread
S_decl_thread = 122, // decl_thread S_stmt = 122, // stmt
S_stmt = 123, // stmt S_stmt_or_dev = 123, // stmt_or_dev
S_stmt_dev = 124, // stmt_dev S_stmt_list = 124, // stmt_list
S_stmt_block = 125, // stmt_block S_stmt_or_dev_list = 125, // stmt_or_dev_list
S_stmt_list = 126, // stmt_list S_stmt_dev = 126, // stmt_dev
S_stmt_expr = 127, // stmt_expr S_stmt_block = 127, // stmt_block
S_stmt_call = 128, // stmt_call S_stmt_expr = 128, // stmt_expr
S_stmt_assign = 129, // stmt_assign S_stmt_call = 129, // stmt_call
S_stmt_endon = 130, // stmt_endon S_stmt_assign = 130, // stmt_assign
S_stmt_notify = 131, // stmt_notify S_stmt_endon = 131, // stmt_endon
S_stmt_wait = 132, // stmt_wait S_stmt_notify = 132, // stmt_notify
S_stmt_waittill = 133, // stmt_waittill S_stmt_wait = 133, // stmt_wait
S_stmt_waittillmatch = 134, // stmt_waittillmatch S_stmt_waittill = 134, // stmt_waittill
S_stmt_waittillframeend = 135, // stmt_waittillframeend S_stmt_waittillmatch = 135, // stmt_waittillmatch
S_stmt_waitframe = 136, // stmt_waitframe S_stmt_waittillframeend = 136, // stmt_waittillframeend
S_stmt_if = 137, // stmt_if S_stmt_waitframe = 137, // stmt_waitframe
S_stmt_ifelse = 138, // stmt_ifelse S_stmt_if = 138, // stmt_if
S_stmt_while = 139, // stmt_while S_stmt_ifelse = 139, // stmt_ifelse
S_stmt_dowhile = 140, // stmt_dowhile S_stmt_while = 140, // stmt_while
S_stmt_for = 141, // stmt_for S_stmt_dowhile = 141, // stmt_dowhile
S_stmt_foreach = 142, // stmt_foreach S_stmt_for = 142, // stmt_for
S_stmt_switch = 143, // stmt_switch S_stmt_foreach = 143, // stmt_foreach
S_stmt_case = 144, // stmt_case S_stmt_switch = 144, // stmt_switch
S_stmt_default = 145, // stmt_default S_stmt_case = 145, // stmt_case
S_stmt_break = 146, // stmt_break S_stmt_default = 146, // stmt_default
S_stmt_continue = 147, // stmt_continue S_stmt_break = 147, // stmt_break
S_stmt_return = 148, // stmt_return S_stmt_continue = 148, // stmt_continue
S_stmt_breakpoint = 149, // stmt_breakpoint S_stmt_return = 149, // stmt_return
S_stmt_prof_begin = 150, // stmt_prof_begin S_stmt_breakpoint = 150, // stmt_breakpoint
S_stmt_prof_end = 151, // stmt_prof_end S_stmt_prof_begin = 151, // stmt_prof_begin
S_expr = 152, // expr S_stmt_prof_end = 152, // stmt_prof_end
S_expr_or_empty = 153, // expr_or_empty S_expr = 153, // expr
S_expr_assign = 154, // expr_assign S_expr_or_empty = 154, // expr_or_empty
S_expr_increment = 155, // expr_increment S_expr_assign = 155, // expr_assign
S_expr_decrement = 156, // expr_decrement S_expr_increment = 156, // expr_increment
S_expr_ternary = 157, // expr_ternary S_expr_decrement = 157, // expr_decrement
S_expr_binary = 158, // expr_binary S_expr_ternary = 158, // expr_ternary
S_expr_primitive = 159, // expr_primitive S_expr_binary = 159, // expr_binary
S_expr_complement = 160, // expr_complement S_expr_primitive = 160, // expr_primitive
S_expr_not = 161, // expr_not S_expr_complement = 161, // expr_complement
S_expr_call = 162, // expr_call S_expr_not = 162, // expr_not
S_expr_method = 163, // expr_method S_expr_call = 163, // expr_call
S_expr_function = 164, // expr_function S_expr_method = 164, // expr_method
S_expr_pointer = 165, // expr_pointer S_expr_function = 165, // expr_function
S_expr_add_array = 166, // expr_add_array S_expr_pointer = 166, // expr_pointer
S_expr_parameters = 167, // expr_parameters S_expr_add_array = 167, // expr_add_array
S_expr_arguments = 168, // expr_arguments S_expr_parameters = 168, // expr_parameters
S_expr_arguments_no_empty = 169, // expr_arguments_no_empty S_expr_arguments = 169, // expr_arguments
S_expr_reference = 170, // expr_reference S_expr_arguments_no_empty = 170, // expr_arguments_no_empty
S_expr_array = 171, // expr_array S_expr_reference = 171, // expr_reference
S_expr_field = 172, // expr_field S_expr_array = 172, // expr_array
S_expr_size = 173, // expr_size S_expr_field = 173, // expr_field
S_expr_paren = 174, // expr_paren S_expr_size = 174, // expr_size
S_expr_object = 175, // expr_object S_expr_paren = 175, // expr_paren
S_expr_thisthread = 176, // expr_thisthread S_expr_object = 176, // expr_object
S_expr_empty_array = 177, // expr_empty_array S_expr_thisthread = 177, // expr_thisthread
S_expr_undefined = 178, // expr_undefined S_expr_empty_array = 178, // expr_empty_array
S_expr_game = 179, // expr_game S_expr_undefined = 179, // expr_undefined
S_expr_self = 180, // expr_self S_expr_game = 180, // expr_game
S_expr_anim = 181, // expr_anim S_expr_self = 181, // expr_self
S_expr_level = 182, // expr_level S_expr_anim = 182, // expr_anim
S_expr_animation = 183, // expr_animation S_expr_level = 183, // expr_level
S_expr_animtree = 184, // expr_animtree S_expr_animation = 184, // expr_animation
S_expr_identifier = 185, // expr_identifier S_expr_animtree = 185, // expr_animtree
S_expr_path = 186, // expr_path S_expr_identifier = 186, // expr_identifier
S_expr_istring = 187, // expr_istring S_expr_path = 187, // expr_path
S_expr_string = 188, // expr_string S_expr_istring = 188, // expr_istring
S_expr_color = 189, // expr_color S_expr_string = 189, // expr_string
S_expr_vector = 190, // expr_vector S_expr_vector = 190, // expr_vector
S_expr_float = 191, // expr_float S_expr_float = 191, // expr_float
S_expr_integer = 192, // expr_integer 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)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1204,6 +1199,7 @@ namespace xsk { namespace gsc { namespace s2 {
break; break;
case symbol_kind::S_stmt: // stmt case symbol_kind::S_stmt: // stmt
case symbol_kind::S_stmt_or_dev: // stmt_or_dev
value.move< ast::stmt > (std::move (that.value)); value.move< ast::stmt > (std::move (that.value));
break; break;
@ -1235,6 +1231,10 @@ namespace xsk { namespace gsc { namespace s2 {
value.move< ast::stmt_default::ptr > (std::move (that.value)); value.move< ast::stmt_default::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_stmt_dowhile: // stmt_dowhile
value.move< ast::stmt_dowhile::ptr > (std::move (that.value)); value.move< ast::stmt_dowhile::ptr > (std::move (that.value));
break; break;
@ -1263,9 +1263,9 @@ namespace xsk { namespace gsc { namespace s2 {
value.move< ast::stmt_ifelse::ptr > (std::move (that.value)); value.move< ast::stmt_ifelse::ptr > (std::move (that.value));
break; 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_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)); value.move< ast::stmt_list::ptr > (std::move (that.value));
break; break;
@ -1318,7 +1318,6 @@ namespace xsk { namespace gsc { namespace s2 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1529,20 +1528,6 @@ namespace xsk { namespace gsc { namespace s2 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2005,6 +1990,20 @@ namespace xsk { namespace gsc { namespace s2 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::stmt_dowhile::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::stmt_dowhile::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2369,10 +2368,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2474,6 +2469,7 @@ switch (yykind)
break; break;
case symbol_kind::S_stmt: // stmt case symbol_kind::S_stmt: // stmt
case symbol_kind::S_stmt_or_dev: // stmt_or_dev
value.template destroy< ast::stmt > (); value.template destroy< ast::stmt > ();
break; break;
@ -2505,6 +2501,10 @@ switch (yykind)
value.template destroy< ast::stmt_default::ptr > (); value.template destroy< ast::stmt_default::ptr > ();
break; 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 case symbol_kind::S_stmt_dowhile: // stmt_dowhile
value.template destroy< ast::stmt_dowhile::ptr > (); value.template destroy< ast::stmt_dowhile::ptr > ();
break; break;
@ -2533,9 +2533,9 @@ switch (yykind)
value.template destroy< ast::stmt_ifelse::ptr > (); value.template destroy< ast::stmt_ifelse::ptr > ();
break; 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_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 > (); value.template destroy< ast::stmt_list::ptr > ();
break; break;
@ -2588,7 +2588,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4280,21 +4279,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4804,8 +4788,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2291, ///< Last index in yytable_. yylast_ = 2300, ///< Last index in yytable_.
yynnts_ = 81, ///< Number of nonterminal symbols. yynnts_ = 82, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -4894,10 +4878,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -4999,6 +4979,7 @@ switch (yykind)
break; break;
case symbol_kind::S_stmt: // stmt case symbol_kind::S_stmt: // stmt
case symbol_kind::S_stmt_or_dev: // stmt_or_dev
value.copy< ast::stmt > (YY_MOVE (that.value)); value.copy< ast::stmt > (YY_MOVE (that.value));
break; break;
@ -5030,6 +5011,10 @@ switch (yykind)
value.copy< ast::stmt_default::ptr > (YY_MOVE (that.value)); value.copy< ast::stmt_default::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_stmt_dowhile: // stmt_dowhile
value.copy< ast::stmt_dowhile::ptr > (YY_MOVE (that.value)); value.copy< ast::stmt_dowhile::ptr > (YY_MOVE (that.value));
break; break;
@ -5058,9 +5043,9 @@ switch (yykind)
value.copy< ast::stmt_ifelse::ptr > (YY_MOVE (that.value)); value.copy< ast::stmt_ifelse::ptr > (YY_MOVE (that.value));
break; 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_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)); value.copy< ast::stmt_list::ptr > (YY_MOVE (that.value));
break; break;
@ -5113,7 +5098,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5210,10 +5194,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5315,6 +5295,7 @@ switch (yykind)
break; break;
case symbol_kind::S_stmt: // stmt case symbol_kind::S_stmt: // stmt
case symbol_kind::S_stmt_or_dev: // stmt_or_dev
value.move< ast::stmt > (YY_MOVE (s.value)); value.move< ast::stmt > (YY_MOVE (s.value));
break; break;
@ -5346,6 +5327,10 @@ switch (yykind)
value.move< ast::stmt_default::ptr > (YY_MOVE (s.value)); value.move< ast::stmt_default::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_stmt_dowhile: // stmt_dowhile
value.move< ast::stmt_dowhile::ptr > (YY_MOVE (s.value)); value.move< ast::stmt_dowhile::ptr > (YY_MOVE (s.value));
break; break;
@ -5374,9 +5359,9 @@ switch (yykind)
value.move< ast::stmt_ifelse::ptr > (YY_MOVE (s.value)); value.move< ast::stmt_ifelse::ptr > (YY_MOVE (s.value));
break; 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_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)); value.move< ast::stmt_list::ptr > (YY_MOVE (s.value));
break; break;
@ -5429,7 +5414,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5498,7 +5482,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::s2 } } } // xsk::gsc::s2
#line 5502 "parser.hpp" #line 5486 "parser.hpp"

File diff suppressed because it is too large Load Diff

View File

@ -456,186 +456,182 @@ namespace xsk { namespace gsc { namespace s4 {
// expr_call // expr_call
char dummy13[sizeof (ast::expr_call::ptr)]; char dummy13[sizeof (ast::expr_call::ptr)];
// expr_color
char dummy14[sizeof (ast::expr_color::ptr)];
// expr_complement // expr_complement
char dummy15[sizeof (ast::expr_complement::ptr)]; char dummy14[sizeof (ast::expr_complement::ptr)];
// expr_empty_array // expr_empty_array
char dummy16[sizeof (ast::expr_empty_array::ptr)]; char dummy15[sizeof (ast::expr_empty_array::ptr)];
// expr_false // expr_false
char dummy17[sizeof (ast::expr_false::ptr)]; char dummy16[sizeof (ast::expr_false::ptr)];
// expr_field // expr_field
char dummy18[sizeof (ast::expr_field::ptr)]; char dummy17[sizeof (ast::expr_field::ptr)];
// expr_float // expr_float
char dummy19[sizeof (ast::expr_float::ptr)]; char dummy18[sizeof (ast::expr_float::ptr)];
// expr_game // expr_game
char dummy20[sizeof (ast::expr_game::ptr)]; char dummy19[sizeof (ast::expr_game::ptr)];
// expr_identifier // expr_identifier
char dummy21[sizeof (ast::expr_identifier::ptr)]; char dummy20[sizeof (ast::expr_identifier::ptr)];
// expr_integer // expr_integer
char dummy22[sizeof (ast::expr_integer::ptr)]; char dummy21[sizeof (ast::expr_integer::ptr)];
// expr_isdefined // expr_isdefined
char dummy23[sizeof (ast::expr_isdefined::ptr)]; char dummy22[sizeof (ast::expr_isdefined::ptr)];
// expr_istring // expr_istring
char dummy24[sizeof (ast::expr_istring::ptr)]; char dummy23[sizeof (ast::expr_istring::ptr)];
// expr_istrue // expr_istrue
char dummy25[sizeof (ast::expr_istrue::ptr)]; char dummy24[sizeof (ast::expr_istrue::ptr)];
// expr_level // expr_level
char dummy26[sizeof (ast::expr_level::ptr)]; char dummy25[sizeof (ast::expr_level::ptr)];
// expr_method // expr_method
char dummy27[sizeof (ast::expr_method::ptr)]; char dummy26[sizeof (ast::expr_method::ptr)];
// expr_not // expr_not
char dummy28[sizeof (ast::expr_not::ptr)]; char dummy27[sizeof (ast::expr_not::ptr)];
// expr_parameters // expr_parameters
char dummy29[sizeof (ast::expr_parameters::ptr)]; char dummy28[sizeof (ast::expr_parameters::ptr)];
// expr_paren // expr_paren
char dummy30[sizeof (ast::expr_paren::ptr)]; char dummy29[sizeof (ast::expr_paren::ptr)];
// expr_path // expr_path
char dummy31[sizeof (ast::expr_path::ptr)]; char dummy30[sizeof (ast::expr_path::ptr)];
// expr_reference // expr_reference
char dummy32[sizeof (ast::expr_reference::ptr)]; char dummy31[sizeof (ast::expr_reference::ptr)];
// expr_self // expr_self
char dummy33[sizeof (ast::expr_self::ptr)]; char dummy32[sizeof (ast::expr_self::ptr)];
// expr_size // expr_size
char dummy34[sizeof (ast::expr_size::ptr)]; char dummy33[sizeof (ast::expr_size::ptr)];
// expr_string // expr_string
char dummy35[sizeof (ast::expr_string::ptr)]; char dummy34[sizeof (ast::expr_string::ptr)];
// expr_thisthread // expr_thisthread
char dummy36[sizeof (ast::expr_thisthread::ptr)]; char dummy35[sizeof (ast::expr_thisthread::ptr)];
// expr_true // expr_true
char dummy37[sizeof (ast::expr_true::ptr)]; char dummy36[sizeof (ast::expr_true::ptr)];
// expr_undefined // expr_undefined
char dummy38[sizeof (ast::expr_undefined::ptr)]; char dummy37[sizeof (ast::expr_undefined::ptr)];
// expr_vector // expr_vector
char dummy39[sizeof (ast::expr_vector::ptr)]; char dummy38[sizeof (ast::expr_vector::ptr)];
// include // include
char dummy40[sizeof (ast::include::ptr)]; char dummy39[sizeof (ast::include::ptr)];
// program // program
char dummy41[sizeof (ast::program::ptr)]; char dummy40[sizeof (ast::program::ptr)];
// stmt // stmt
// stmt_or_dev // stmt_or_dev
char dummy42[sizeof (ast::stmt)]; char dummy41[sizeof (ast::stmt)];
// stmt_assign // stmt_assign
char dummy43[sizeof (ast::stmt_assign::ptr)]; char dummy42[sizeof (ast::stmt_assign::ptr)];
// stmt_break // stmt_break
char dummy44[sizeof (ast::stmt_break::ptr)]; char dummy43[sizeof (ast::stmt_break::ptr)];
// stmt_breakpoint // stmt_breakpoint
char dummy45[sizeof (ast::stmt_breakpoint::ptr)]; char dummy44[sizeof (ast::stmt_breakpoint::ptr)];
// stmt_call // stmt_call
char dummy46[sizeof (ast::stmt_call::ptr)]; char dummy45[sizeof (ast::stmt_call::ptr)];
// stmt_case // stmt_case
char dummy47[sizeof (ast::stmt_case::ptr)]; char dummy46[sizeof (ast::stmt_case::ptr)];
// stmt_continue // stmt_continue
char dummy48[sizeof (ast::stmt_continue::ptr)]; char dummy47[sizeof (ast::stmt_continue::ptr)];
// stmt_default // stmt_default
char dummy49[sizeof (ast::stmt_default::ptr)]; char dummy48[sizeof (ast::stmt_default::ptr)];
// stmt_dev // stmt_dev
char dummy50[sizeof (ast::stmt_dev::ptr)]; char dummy49[sizeof (ast::stmt_dev::ptr)];
// stmt_dowhile // stmt_dowhile
char dummy51[sizeof (ast::stmt_dowhile::ptr)]; char dummy50[sizeof (ast::stmt_dowhile::ptr)];
// stmt_endon // stmt_endon
char dummy52[sizeof (ast::stmt_endon::ptr)]; char dummy51[sizeof (ast::stmt_endon::ptr)];
// stmt_expr // stmt_expr
char dummy53[sizeof (ast::stmt_expr::ptr)]; char dummy52[sizeof (ast::stmt_expr::ptr)];
// stmt_for // stmt_for
char dummy54[sizeof (ast::stmt_for::ptr)]; char dummy53[sizeof (ast::stmt_for::ptr)];
// stmt_foreach // stmt_foreach
char dummy55[sizeof (ast::stmt_foreach::ptr)]; char dummy54[sizeof (ast::stmt_foreach::ptr)];
// stmt_if // stmt_if
char dummy56[sizeof (ast::stmt_if::ptr)]; char dummy55[sizeof (ast::stmt_if::ptr)];
// stmt_ifelse // stmt_ifelse
char dummy57[sizeof (ast::stmt_ifelse::ptr)]; char dummy56[sizeof (ast::stmt_ifelse::ptr)];
// stmt_list // stmt_list
// stmt_or_dev_list // stmt_or_dev_list
// stmt_block // stmt_block
char dummy58[sizeof (ast::stmt_list::ptr)]; char dummy57[sizeof (ast::stmt_list::ptr)];
// stmt_notify // stmt_notify
char dummy59[sizeof (ast::stmt_notify::ptr)]; char dummy58[sizeof (ast::stmt_notify::ptr)];
// stmt_prof_begin // stmt_prof_begin
char dummy60[sizeof (ast::stmt_prof_begin::ptr)]; char dummy59[sizeof (ast::stmt_prof_begin::ptr)];
// stmt_prof_end // stmt_prof_end
char dummy61[sizeof (ast::stmt_prof_end::ptr)]; char dummy60[sizeof (ast::stmt_prof_end::ptr)];
// stmt_return // stmt_return
char dummy62[sizeof (ast::stmt_return::ptr)]; char dummy61[sizeof (ast::stmt_return::ptr)];
// stmt_switch // stmt_switch
char dummy63[sizeof (ast::stmt_switch::ptr)]; char dummy62[sizeof (ast::stmt_switch::ptr)];
// stmt_wait // stmt_wait
char dummy64[sizeof (ast::stmt_wait::ptr)]; char dummy63[sizeof (ast::stmt_wait::ptr)];
// stmt_waitframe // stmt_waitframe
char dummy65[sizeof (ast::stmt_waitframe::ptr)]; char dummy64[sizeof (ast::stmt_waitframe::ptr)];
// stmt_waittill // stmt_waittill
char dummy66[sizeof (ast::stmt_waittill::ptr)]; char dummy65[sizeof (ast::stmt_waittill::ptr)];
// stmt_waittillframeend // stmt_waittillframeend
char dummy67[sizeof (ast::stmt_waittillframeend::ptr)]; char dummy66[sizeof (ast::stmt_waittillframeend::ptr)];
// stmt_waittillmatch // stmt_waittillmatch
char dummy68[sizeof (ast::stmt_waittillmatch::ptr)]; char dummy67[sizeof (ast::stmt_waittillmatch::ptr)];
// stmt_while // stmt_while
char dummy69[sizeof (ast::stmt_while::ptr)]; char dummy68[sizeof (ast::stmt_while::ptr)];
// "field" // "field"
// "path" // "path"
// "identifier" // "identifier"
// "string literal" // "string literal"
// "localized string" // "localized string"
// "color"
// "float" // "float"
// "integer" // "integer"
char dummy70[sizeof (std::string)]; char dummy69[sizeof (std::string)];
}; };
/// The size of the largest semantic type. /// The size of the largest semantic type.
@ -788,18 +784,17 @@ namespace xsk { namespace gsc { namespace s4 {
IDENTIFIER = 101, // "identifier" IDENTIFIER = 101, // "identifier"
STRING = 102, // "string literal" STRING = 102, // "string literal"
ISTRING = 103, // "localized string" ISTRING = 103, // "localized string"
COLOR = 104, // "color" FLOAT = 104, // "float"
FLOAT = 105, // "float" INTEGER = 105, // "integer"
INTEGER = 106, // "integer" ADD_ARRAY = 106, // ADD_ARRAY
ADD_ARRAY = 107, // ADD_ARRAY THEN = 107, // THEN
THEN = 108, // THEN TERN = 108, // TERN
TERN = 109, // TERN NEG = 109, // NEG
NEG = 110, // NEG ANIMREF = 110, // ANIMREF
ANIMREF = 111, // ANIMREF PREINC = 111, // PREINC
PREINC = 112, // PREINC PREDEC = 112, // PREDEC
PREDEC = 113, // PREDEC POSTINC = 113, // POSTINC
POSTINC = 114, // POSTINC POSTDEC = 114 // POSTDEC
POSTDEC = 115 // POSTDEC
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@ -816,7 +811,7 @@ namespace xsk { namespace gsc { namespace s4 {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 116, ///< Number of tokens. YYNTOKENS = 115, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@ -922,103 +917,101 @@ namespace xsk { namespace gsc { namespace s4 {
S_IDENTIFIER = 101, // "identifier" S_IDENTIFIER = 101, // "identifier"
S_STRING = 102, // "string literal" S_STRING = 102, // "string literal"
S_ISTRING = 103, // "localized string" S_ISTRING = 103, // "localized string"
S_COLOR = 104, // "color" S_FLOAT = 104, // "float"
S_FLOAT = 105, // "float" S_INTEGER = 105, // "integer"
S_INTEGER = 106, // "integer" S_ADD_ARRAY = 106, // ADD_ARRAY
S_ADD_ARRAY = 107, // ADD_ARRAY S_THEN = 107, // THEN
S_THEN = 108, // THEN S_TERN = 108, // TERN
S_TERN = 109, // TERN S_NEG = 109, // NEG
S_NEG = 110, // NEG S_ANIMREF = 110, // ANIMREF
S_ANIMREF = 111, // ANIMREF S_PREINC = 111, // PREINC
S_PREINC = 112, // PREINC S_PREDEC = 112, // PREDEC
S_PREDEC = 113, // PREDEC S_POSTINC = 113, // POSTINC
S_POSTINC = 114, // POSTINC S_POSTDEC = 114, // POSTDEC
S_POSTDEC = 115, // POSTDEC S_YYACCEPT = 115, // $accept
S_YYACCEPT = 116, // $accept S_root = 116, // root
S_root = 117, // root S_program = 117, // program
S_program = 118, // program S_inline = 118, // inline
S_inline = 119, // inline S_include = 119, // include
S_include = 120, // include S_declaration = 120, // declaration
S_declaration = 121, // declaration S_decl_usingtree = 121, // decl_usingtree
S_decl_usingtree = 122, // decl_usingtree S_decl_constant = 122, // decl_constant
S_decl_constant = 123, // decl_constant S_decl_thread = 123, // decl_thread
S_decl_thread = 124, // decl_thread S_stmt = 124, // stmt
S_stmt = 125, // stmt S_stmt_or_dev = 125, // stmt_or_dev
S_stmt_or_dev = 126, // stmt_or_dev S_stmt_list = 126, // stmt_list
S_stmt_list = 127, // stmt_list S_stmt_or_dev_list = 127, // stmt_or_dev_list
S_stmt_or_dev_list = 128, // stmt_or_dev_list S_stmt_dev = 128, // stmt_dev
S_stmt_dev = 129, // stmt_dev S_stmt_block = 129, // stmt_block
S_stmt_block = 130, // stmt_block S_stmt_expr = 130, // stmt_expr
S_stmt_expr = 131, // stmt_expr S_stmt_call = 131, // stmt_call
S_stmt_call = 132, // stmt_call S_stmt_assign = 132, // stmt_assign
S_stmt_assign = 133, // stmt_assign S_stmt_endon = 133, // stmt_endon
S_stmt_endon = 134, // stmt_endon S_stmt_notify = 134, // stmt_notify
S_stmt_notify = 135, // stmt_notify S_stmt_wait = 135, // stmt_wait
S_stmt_wait = 136, // stmt_wait S_stmt_waittill = 136, // stmt_waittill
S_stmt_waittill = 137, // stmt_waittill S_stmt_waittillmatch = 137, // stmt_waittillmatch
S_stmt_waittillmatch = 138, // stmt_waittillmatch S_stmt_waittillframeend = 138, // stmt_waittillframeend
S_stmt_waittillframeend = 139, // stmt_waittillframeend S_stmt_waitframe = 139, // stmt_waitframe
S_stmt_waitframe = 140, // stmt_waitframe S_stmt_if = 140, // stmt_if
S_stmt_if = 141, // stmt_if S_stmt_ifelse = 141, // stmt_ifelse
S_stmt_ifelse = 142, // stmt_ifelse S_stmt_while = 142, // stmt_while
S_stmt_while = 143, // stmt_while S_stmt_dowhile = 143, // stmt_dowhile
S_stmt_dowhile = 144, // stmt_dowhile S_stmt_for = 144, // stmt_for
S_stmt_for = 145, // stmt_for S_stmt_foreach = 145, // stmt_foreach
S_stmt_foreach = 146, // stmt_foreach S_stmt_switch = 146, // stmt_switch
S_stmt_switch = 147, // stmt_switch S_stmt_case = 147, // stmt_case
S_stmt_case = 148, // stmt_case S_stmt_default = 148, // stmt_default
S_stmt_default = 149, // stmt_default S_stmt_break = 149, // stmt_break
S_stmt_break = 150, // stmt_break S_stmt_continue = 150, // stmt_continue
S_stmt_continue = 151, // stmt_continue S_stmt_return = 151, // stmt_return
S_stmt_return = 152, // stmt_return S_stmt_breakpoint = 152, // stmt_breakpoint
S_stmt_breakpoint = 153, // stmt_breakpoint S_stmt_prof_begin = 153, // stmt_prof_begin
S_stmt_prof_begin = 154, // stmt_prof_begin S_stmt_prof_end = 154, // stmt_prof_end
S_stmt_prof_end = 155, // stmt_prof_end S_expr = 155, // expr
S_expr = 156, // expr S_expr_or_empty = 156, // expr_or_empty
S_expr_or_empty = 157, // expr_or_empty S_expr_assign = 157, // expr_assign
S_expr_assign = 158, // expr_assign S_expr_increment = 158, // expr_increment
S_expr_increment = 159, // expr_increment S_expr_decrement = 159, // expr_decrement
S_expr_decrement = 160, // expr_decrement S_expr_ternary = 160, // expr_ternary
S_expr_ternary = 161, // expr_ternary S_expr_binary = 161, // expr_binary
S_expr_binary = 162, // expr_binary S_expr_primitive = 162, // expr_primitive
S_expr_primitive = 163, // expr_primitive S_expr_complement = 163, // expr_complement
S_expr_complement = 164, // expr_complement S_expr_not = 164, // expr_not
S_expr_not = 165, // expr_not S_expr_call = 165, // expr_call
S_expr_call = 166, // expr_call S_expr_method = 166, // expr_method
S_expr_method = 167, // expr_method S_expr_function = 167, // expr_function
S_expr_function = 168, // expr_function S_expr_pointer = 168, // expr_pointer
S_expr_pointer = 169, // expr_pointer S_expr_add_array = 169, // expr_add_array
S_expr_add_array = 170, // expr_add_array S_expr_parameters = 170, // expr_parameters
S_expr_parameters = 171, // expr_parameters S_expr_arguments = 171, // expr_arguments
S_expr_arguments = 172, // expr_arguments S_expr_arguments_no_empty = 172, // expr_arguments_no_empty
S_expr_arguments_no_empty = 173, // expr_arguments_no_empty S_expr_isdefined = 173, // expr_isdefined
S_expr_isdefined = 174, // expr_isdefined S_expr_istrue = 174, // expr_istrue
S_expr_istrue = 175, // expr_istrue S_expr_reference = 175, // expr_reference
S_expr_reference = 176, // expr_reference S_expr_array = 176, // expr_array
S_expr_array = 177, // expr_array S_expr_field = 177, // expr_field
S_expr_field = 178, // expr_field S_expr_size = 178, // expr_size
S_expr_size = 179, // expr_size S_expr_paren = 179, // expr_paren
S_expr_paren = 180, // expr_paren S_expr_object = 180, // expr_object
S_expr_object = 181, // expr_object S_expr_thisthread = 181, // expr_thisthread
S_expr_thisthread = 182, // expr_thisthread S_expr_empty_array = 182, // expr_empty_array
S_expr_empty_array = 183, // expr_empty_array S_expr_undefined = 183, // expr_undefined
S_expr_undefined = 184, // expr_undefined S_expr_game = 184, // expr_game
S_expr_game = 185, // expr_game S_expr_self = 185, // expr_self
S_expr_self = 186, // expr_self S_expr_anim = 186, // expr_anim
S_expr_anim = 187, // expr_anim S_expr_level = 187, // expr_level
S_expr_level = 188, // expr_level S_expr_animation = 188, // expr_animation
S_expr_animation = 189, // expr_animation S_expr_animtree = 189, // expr_animtree
S_expr_animtree = 190, // expr_animtree S_expr_identifier = 190, // expr_identifier
S_expr_identifier = 191, // expr_identifier S_expr_path = 191, // expr_path
S_expr_path = 192, // expr_path S_expr_istring = 192, // expr_istring
S_expr_istring = 193, // expr_istring S_expr_string = 193, // expr_string
S_expr_string = 194, // expr_string S_expr_vector = 194, // expr_vector
S_expr_color = 195, // expr_color S_expr_float = 195, // expr_float
S_expr_vector = 196, // expr_vector S_expr_integer = 196, // expr_integer
S_expr_float = 197, // expr_float S_expr_false = 197, // expr_false
S_expr_integer = 198, // expr_integer S_expr_true = 198 // expr_true
S_expr_false = 199, // expr_false
S_expr_true = 200 // expr_true
}; };
}; };
@ -1117,10 +1110,6 @@ namespace xsk { namespace gsc { namespace s4 {
value.move< ast::expr_call::ptr > (std::move (that.value)); value.move< ast::expr_call::ptr > (std::move (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (std::move (that.value)); value.move< ast::expr_complement::ptr > (std::move (that.value));
break; break;
@ -1349,7 +1338,6 @@ namespace xsk { namespace gsc { namespace s4 {
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (std::move (that.value)); value.move< std::string > (std::move (that.value));
@ -1560,20 +1548,6 @@ namespace xsk { namespace gsc { namespace s4 {
{} {}
#endif #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 #if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l) basic_symbol (typename Base::kind_type t, ast::expr_complement::ptr&& v, location_type&& l)
: Base (t) : Base (t)
@ -2442,10 +2416,6 @@ switch (yykind)
value.template destroy< ast::expr_call::ptr > (); value.template destroy< ast::expr_call::ptr > ();
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.template destroy< ast::expr_complement::ptr > (); value.template destroy< ast::expr_complement::ptr > ();
break; break;
@ -2674,7 +2644,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.template destroy< std::string > (); value.template destroy< std::string > ();
@ -4396,21 +4365,6 @@ switch (yykind)
return symbol_type (token::ISTRING, v, l); return symbol_type (token::ISTRING, v, l);
} }
#endif #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 #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@ -4920,8 +4874,8 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 2407, ///< Last index in yytable_. yylast_ = 2404, ///< Last index in yytable_.
yynnts_ = 85, ///< Number of nonterminal symbols. yynnts_ = 84, ///< Number of nonterminal symbols.
yyfinal_ = 21 ///< Termination state number. yyfinal_ = 21 ///< Termination state number.
}; };
@ -5010,10 +4964,6 @@ switch (yykind)
value.copy< ast::expr_call::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_call::ptr > (YY_MOVE (that.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value)); value.copy< ast::expr_complement::ptr > (YY_MOVE (that.value));
break; break;
@ -5242,7 +5192,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.copy< std::string > (YY_MOVE (that.value)); value.copy< std::string > (YY_MOVE (that.value));
@ -5339,10 +5288,6 @@ switch (yykind)
value.move< ast::expr_call::ptr > (YY_MOVE (s.value)); value.move< ast::expr_call::ptr > (YY_MOVE (s.value));
break; 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 case symbol_kind::S_expr_complement: // expr_complement
value.move< ast::expr_complement::ptr > (YY_MOVE (s.value)); value.move< ast::expr_complement::ptr > (YY_MOVE (s.value));
break; break;
@ -5571,7 +5516,6 @@ switch (yykind)
case symbol_kind::S_IDENTIFIER: // "identifier" case symbol_kind::S_IDENTIFIER: // "identifier"
case symbol_kind::S_STRING: // "string literal" case symbol_kind::S_STRING: // "string literal"
case symbol_kind::S_ISTRING: // "localized string" case symbol_kind::S_ISTRING: // "localized string"
case symbol_kind::S_COLOR: // "color"
case symbol_kind::S_FLOAT: // "float" case symbol_kind::S_FLOAT: // "float"
case symbol_kind::S_INTEGER: // "integer" case symbol_kind::S_INTEGER: // "integer"
value.move< std::string > (YY_MOVE (s.value)); value.move< std::string > (YY_MOVE (s.value));
@ -5640,7 +5584,7 @@ switch (yykind)
#line 13 "parser.ypp" #line 13 "parser.ypp"
} } } // xsk::gsc::s4 } } } // xsk::gsc::s4
#line 5644 "parser.hpp" #line 5588 "parser.hpp"