debug stmts
This commit is contained in:
parent
e99263d697
commit
3d94bb6fb9
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return h1::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return h1::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return h1::parser::make_PROFEND(loc); }
|
||||||
"#include" { return h1::parser::make_INCLUDE(loc); }
|
"#include" { return h1::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return h1::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return h1::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return h1::parser::make_ANIMTREE(loc); }
|
"#animtree" { return h1::parser::make_ANIMTREE(loc); }
|
||||||
@ -84,7 +87,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return h1::parser::make_TRUE(loc); }
|
"true" { return h1::parser::make_TRUE(loc); }
|
||||||
"false" { return h1::parser::make_FALSE(loc); }
|
"false" { return h1::parser::make_FALSE(loc); }
|
||||||
"undefined" { return h1::parser::make_UNDEFINED(loc); }
|
"undefined" { return h1::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return h1::parser::make_SIZE(loc); }
|
".size" { return h1::parser::make_SIZE(loc); }
|
||||||
"game" { return h1::parser::make_GAME(loc); }
|
"game" { return h1::parser::make_GAME(loc); }
|
||||||
"self" { return h1::parser::make_SELF(loc); }
|
"self" { return h1::parser::make_SELF(loc); }
|
||||||
"anim" { return h1::parser::make_ANIM(loc); }
|
"anim" { return h1::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::h1::parser::symbol_type H1lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::h1::parser::symbol_type H1lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -74,7 +77,7 @@ xsk::gsc::h1::parser::symbol_type H1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -160,6 +163,9 @@ xsk::gsc::h1::parser::symbol_type H1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -211,8 +217,8 @@ xsk::gsc::h1::parser::symbol_type H1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -302,6 +308,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -434,6 +443,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -600,7 +624,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return h2::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return h2::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return h2::parser::make_PROFEND(loc); }
|
||||||
"#include" { return h2::parser::make_INCLUDE(loc); }
|
"#include" { return h2::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return h2::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return h2::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return h2::parser::make_ANIMTREE(loc); }
|
"#animtree" { return h2::parser::make_ANIMTREE(loc); }
|
||||||
@ -84,7 +87,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return h2::parser::make_TRUE(loc); }
|
"true" { return h2::parser::make_TRUE(loc); }
|
||||||
"false" { return h2::parser::make_FALSE(loc); }
|
"false" { return h2::parser::make_FALSE(loc); }
|
||||||
"undefined" { return h2::parser::make_UNDEFINED(loc); }
|
"undefined" { return h2::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return h2::parser::make_SIZE(loc); }
|
".size" { return h2::parser::make_SIZE(loc); }
|
||||||
"game" { return h2::parser::make_GAME(loc); }
|
"game" { return h2::parser::make_GAME(loc); }
|
||||||
"self" { return h2::parser::make_SELF(loc); }
|
"self" { return h2::parser::make_SELF(loc); }
|
||||||
"anim" { return h2::parser::make_ANIM(loc); }
|
"anim" { return h2::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::h2::parser::symbol_type H2lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::h2::parser::symbol_type H2lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -74,7 +77,7 @@ xsk::gsc::h2::parser::symbol_type H2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -160,6 +163,9 @@ xsk::gsc::h2::parser::symbol_type H2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -211,8 +217,8 @@ xsk::gsc::h2::parser::symbol_type H2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -302,6 +308,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -434,6 +443,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -600,7 +624,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return iw5::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return iw5::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return iw5::parser::make_PROFEND(loc); }
|
||||||
"#include" { return iw5::parser::make_INCLUDE(loc); }
|
"#include" { return iw5::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return iw5::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return iw5::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return iw5::parser::make_ANIMTREE(loc); }
|
"#animtree" { return iw5::parser::make_ANIMTREE(loc); }
|
||||||
@ -83,7 +86,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return iw5::parser::make_TRUE(loc); }
|
"true" { return iw5::parser::make_TRUE(loc); }
|
||||||
"false" { return iw5::parser::make_FALSE(loc); }
|
"false" { return iw5::parser::make_FALSE(loc); }
|
||||||
"undefined" { return iw5::parser::make_UNDEFINED(loc); }
|
"undefined" { return iw5::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return iw5::parser::make_SIZE(loc); }
|
".size" { return iw5::parser::make_SIZE(loc); }
|
||||||
"game" { return iw5::parser::make_GAME(loc); }
|
"game" { return iw5::parser::make_GAME(loc); }
|
||||||
"self" { return iw5::parser::make_SELF(loc); }
|
"self" { return iw5::parser::make_SELF(loc); }
|
||||||
"anim" { return iw5::parser::make_ANIM(loc); }
|
"anim" { return iw5::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::iw5::parser::symbol_type IW5lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::iw5::parser::symbol_type IW5lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -73,7 +76,7 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -158,6 +161,9 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -209,8 +215,8 @@ xsk::gsc::iw5::parser::symbol_type IW5lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -299,6 +305,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -424,6 +433,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -590,7 +614,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return iw6::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return iw6::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return iw6::parser::make_PROFEND(loc); }
|
||||||
"#include" { return iw6::parser::make_INCLUDE(loc); }
|
"#include" { return iw6::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return iw6::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return iw6::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return iw6::parser::make_ANIMTREE(loc); }
|
"#animtree" { return iw6::parser::make_ANIMTREE(loc); }
|
||||||
@ -83,7 +86,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return iw6::parser::make_TRUE(loc); }
|
"true" { return iw6::parser::make_TRUE(loc); }
|
||||||
"false" { return iw6::parser::make_FALSE(loc); }
|
"false" { return iw6::parser::make_FALSE(loc); }
|
||||||
"undefined" { return iw6::parser::make_UNDEFINED(loc); }
|
"undefined" { return iw6::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return iw6::parser::make_SIZE(loc); }
|
".size" { return iw6::parser::make_SIZE(loc); }
|
||||||
"game" { return iw6::parser::make_GAME(loc); }
|
"game" { return iw6::parser::make_GAME(loc); }
|
||||||
"self" { return iw6::parser::make_SELF(loc); }
|
"self" { return iw6::parser::make_SELF(loc); }
|
||||||
"anim" { return iw6::parser::make_ANIM(loc); }
|
"anim" { return iw6::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::iw6::parser::symbol_type IW6lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::iw6::parser::symbol_type IW6lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -73,7 +76,7 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -158,6 +161,9 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -209,8 +215,8 @@ xsk::gsc::iw6::parser::symbol_type IW6lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -299,6 +305,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -424,6 +433,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -590,7 +614,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return iw7::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return iw7::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return iw7::parser::make_PROFEND(loc); }
|
||||||
"#include" { return iw7::parser::make_INCLUDE(loc); }
|
"#include" { return iw7::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return iw7::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return iw7::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return iw7::parser::make_ANIMTREE(loc); }
|
"#animtree" { return iw7::parser::make_ANIMTREE(loc); }
|
||||||
@ -83,7 +86,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return iw7::parser::make_TRUE(loc); }
|
"true" { return iw7::parser::make_TRUE(loc); }
|
||||||
"false" { return iw7::parser::make_FALSE(loc); }
|
"false" { return iw7::parser::make_FALSE(loc); }
|
||||||
"undefined" { return iw7::parser::make_UNDEFINED(loc); }
|
"undefined" { return iw7::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return iw7::parser::make_SIZE(loc); }
|
".size" { return iw7::parser::make_SIZE(loc); }
|
||||||
"game" { return iw7::parser::make_GAME(loc); }
|
"game" { return iw7::parser::make_GAME(loc); }
|
||||||
"self" { return iw7::parser::make_SELF(loc); }
|
"self" { return iw7::parser::make_SELF(loc); }
|
||||||
"anim" { return iw7::parser::make_ANIM(loc); }
|
"anim" { return iw7::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::iw7::parser::symbol_type IW7lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::iw7::parser::symbol_type IW7lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -73,7 +76,7 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -158,6 +161,9 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -209,8 +215,8 @@ xsk::gsc::iw7::parser::symbol_type IW7lex(yyscan_t yyscanner, xsk::gsc::location
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -299,6 +305,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -424,6 +433,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -590,7 +614,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return s1::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return s1::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return s1::parser::make_PROFEND(loc); }
|
||||||
"#include" { return s1::parser::make_INCLUDE(loc); }
|
"#include" { return s1::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return s1::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return s1::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return s1::parser::make_ANIMTREE(loc); }
|
"#animtree" { return s1::parser::make_ANIMTREE(loc); }
|
||||||
@ -84,7 +87,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return s1::parser::make_TRUE(loc); }
|
"true" { return s1::parser::make_TRUE(loc); }
|
||||||
"false" { return s1::parser::make_FALSE(loc); }
|
"false" { return s1::parser::make_FALSE(loc); }
|
||||||
"undefined" { return s1::parser::make_UNDEFINED(loc); }
|
"undefined" { return s1::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return s1::parser::make_SIZE(loc); }
|
".size" { return s1::parser::make_SIZE(loc); }
|
||||||
"game" { return s1::parser::make_GAME(loc); }
|
"game" { return s1::parser::make_GAME(loc); }
|
||||||
"self" { return s1::parser::make_SELF(loc); }
|
"self" { return s1::parser::make_SELF(loc); }
|
||||||
"anim" { return s1::parser::make_ANIM(loc); }
|
"anim" { return s1::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::s1::parser::symbol_type S1lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::s1::parser::symbol_type S1lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -74,7 +77,7 @@ xsk::gsc::s1::parser::symbol_type S1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -160,6 +163,9 @@ xsk::gsc::s1::parser::symbol_type S1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -211,8 +217,8 @@ xsk::gsc::s1::parser::symbol_type S1lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -302,6 +308,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -434,6 +443,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -600,7 +624,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ RGX_DEFAULT (.|\n)
|
|||||||
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
<DEVELOPER_BLOCK_STATE>\n { loc.lines(yyleng); loc.step(); }
|
||||||
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
<DEVELOPER_BLOCK_STATE>"#/" { BEGIN(INITIAL); }
|
||||||
|
|
||||||
|
"breakpoint" { return s2::parser::make_BREAKPOINT(loc); }
|
||||||
|
"prof_begin" { return s2::parser::make_PROFBEGIN(loc); }
|
||||||
|
"prof_end" { return s2::parser::make_PROFEND(loc); }
|
||||||
"#include" { return s2::parser::make_INCLUDE(loc); }
|
"#include" { return s2::parser::make_INCLUDE(loc); }
|
||||||
"#using_animtree" { return s2::parser::make_USINGTREE(loc); }
|
"#using_animtree" { return s2::parser::make_USINGTREE(loc); }
|
||||||
"#animtree" { return s2::parser::make_ANIMTREE(loc); }
|
"#animtree" { return s2::parser::make_ANIMTREE(loc); }
|
||||||
@ -84,7 +87,7 @@ RGX_DEFAULT (.|\n)
|
|||||||
"true" { return s2::parser::make_TRUE(loc); }
|
"true" { return s2::parser::make_TRUE(loc); }
|
||||||
"false" { return s2::parser::make_FALSE(loc); }
|
"false" { return s2::parser::make_FALSE(loc); }
|
||||||
"undefined" { return s2::parser::make_UNDEFINED(loc); }
|
"undefined" { return s2::parser::make_UNDEFINED(loc); }
|
||||||
"size" { return s2::parser::make_SIZE(loc); }
|
".size" { return s2::parser::make_SIZE(loc); }
|
||||||
"game" { return s2::parser::make_GAME(loc); }
|
"game" { return s2::parser::make_GAME(loc); }
|
||||||
"self" { return s2::parser::make_SELF(loc); }
|
"self" { return s2::parser::make_SELF(loc); }
|
||||||
"anim" { return s2::parser::make_ANIM(loc); }
|
"anim" { return s2::parser::make_ANIM(loc); }
|
||||||
|
@ -45,6 +45,9 @@ using namespace xsk::gsc;
|
|||||||
xsk::gsc::s2::parser::symbol_type S2lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
xsk::gsc::s2::parser::symbol_type S2lex(yyscan_t yyscanner, xsk::gsc::location& loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%token BREAKPOINT "breakpoint"
|
||||||
|
%token PROFBEGIN "prof_begin"
|
||||||
|
%token PROFEND "prof_end"
|
||||||
%token INCLUDE "#include"
|
%token INCLUDE "#include"
|
||||||
%token USINGTREE "#using_animtree"
|
%token USINGTREE "#using_animtree"
|
||||||
%token ANIMTREE "#animtree"
|
%token ANIMTREE "#animtree"
|
||||||
@ -74,7 +77,7 @@ xsk::gsc::s2::parser::symbol_type S2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%token TRUE "true"
|
%token TRUE "true"
|
||||||
%token FALSE "false"
|
%token FALSE "false"
|
||||||
%token UNDEFINED "undefined"
|
%token UNDEFINED "undefined"
|
||||||
%token SIZE "size"
|
%token SIZE ".size"
|
||||||
%token GAME "game"
|
%token GAME "game"
|
||||||
%token SELF "self"
|
%token SELF "self"
|
||||||
%token ANIM "anim"
|
%token ANIM "anim"
|
||||||
@ -160,6 +163,9 @@ xsk::gsc::s2::parser::symbol_type S2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%type <stmt_break_ptr> stmt_break
|
%type <stmt_break_ptr> stmt_break
|
||||||
%type <stmt_continue_ptr> stmt_continue
|
%type <stmt_continue_ptr> stmt_continue
|
||||||
%type <stmt_return_ptr> stmt_return
|
%type <stmt_return_ptr> stmt_return
|
||||||
|
%type <stmt_breakpoint_ptr> stmt_breakpoint
|
||||||
|
%type <stmt_prof_begin_ptr> stmt_prof_begin
|
||||||
|
%type <stmt_prof_end_ptr> stmt_prof_end
|
||||||
%type <stmt_ptr> for_stmt
|
%type <stmt_ptr> for_stmt
|
||||||
%type <expr_ptr> for_expr
|
%type <expr_ptr> for_expr
|
||||||
%type <expr_assign_ptr> expr_assign
|
%type <expr_assign_ptr> expr_assign
|
||||||
@ -211,8 +217,8 @@ xsk::gsc::s2::parser::symbol_type S2lex(yyscan_t yyscanner, xsk::gsc::location&
|
|||||||
%left OR
|
%left OR
|
||||||
%left AND
|
%left AND
|
||||||
%left BITWISE_OR
|
%left BITWISE_OR
|
||||||
%left BITWISE_AND
|
|
||||||
%left BITWISE_EXOR
|
%left BITWISE_EXOR
|
||||||
|
%left BITWISE_AND
|
||||||
%left EQUALITY INEQUALITY
|
%left EQUALITY INEQUALITY
|
||||||
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
%left LESS GREATER LESS_EQUAL GREATER_EQUAL
|
||||||
%left LSHIFT RSHIFT
|
%left LSHIFT RSHIFT
|
||||||
@ -302,6 +308,9 @@ stmt
|
|||||||
| stmt_break { $$.as_break = std::move($1); }
|
| stmt_break { $$.as_break = std::move($1); }
|
||||||
| stmt_continue { $$.as_continue = std::move($1); }
|
| stmt_continue { $$.as_continue = std::move($1); }
|
||||||
| stmt_return { $$.as_return = std::move($1); }
|
| stmt_return { $$.as_return = std::move($1); }
|
||||||
|
| stmt_breakpoint { $$.as_breakpoint = std::move($1); }
|
||||||
|
| stmt_prof_begin { $$.as_prof_begin = std::move($1); }
|
||||||
|
| stmt_prof_end { $$.as_prof_end = std::move($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
stmt_block
|
stmt_block
|
||||||
@ -434,6 +443,21 @@ stmt_return
|
|||||||
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
{ $$ = std::make_unique<node_stmt_return>(@$, std::make_unique<node>(@$)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
stmt_breakpoint
|
||||||
|
: BREAKPOINT SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_breakpoint>(@$); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_begin
|
||||||
|
: PROFBEGIN LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_begin>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
|
stmt_prof_end
|
||||||
|
: PROFEND LPAREN expr_arguments RPAREN SEMICOLON
|
||||||
|
{ $$ = std::make_unique<node_stmt_prof_end>(@$, std::move($3)); }
|
||||||
|
;
|
||||||
|
|
||||||
for_stmt
|
for_stmt
|
||||||
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
: expr_assign { $$.as_list = std::make_unique<node_stmt_list>(@$); $$.as_list->stmts.push_back(stmt_ptr(std::make_unique<node_stmt_assign>(@$, std::move($1)))); }
|
||||||
| { $$.as_node = std::make_unique<node>(@$); }
|
| { $$.as_node = std::make_unique<node>(@$); }
|
||||||
@ -600,7 +624,7 @@ expr_field
|
|||||||
;
|
;
|
||||||
|
|
||||||
expr_size
|
expr_size
|
||||||
: object DOT SIZE
|
: object SIZE
|
||||||
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
{ $$ = std::make_unique<node_expr_size>(@$, std::move($1)); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 146 "lexer.lpp"
|
#line 149 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,88 +510,97 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waitframe
|
// stmt_waitframe
|
||||||
char dummy43[sizeof (stmt_waitframe_ptr)];
|
char dummy46[sizeof (stmt_waitframe_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy44[sizeof (stmt_waittill_ptr)];
|
char dummy47[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy45[sizeof (stmt_waittillframeend_ptr)];
|
char dummy48[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy46[sizeof (stmt_waittillmatch_ptr)];
|
char dummy49[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy47[sizeof (stmt_while_ptr)];
|
char dummy50[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy48[sizeof (string_ptr)];
|
char dummy51[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy49[sizeof (thisthread_ptr)];
|
char dummy52[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy50[sizeof (thread_ptr)];
|
char dummy53[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy51[sizeof (true_ptr)];
|
char dummy54[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy52[sizeof (undefined_ptr)];
|
char dummy55[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy53[sizeof (usingtree_ptr)];
|
char dummy56[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy54[sizeof (vector_ptr)];
|
char dummy57[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -643,98 +652,101 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
H1EOF = 0, // "end of file"
|
H1EOF = 0, // "end of file"
|
||||||
H1error = 1, // error
|
H1error = 1, // error
|
||||||
H1UNDEF = 2, // "invalid token"
|
H1UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
WAITFRAME = 12, // "waitframe"
|
WAITTILL = 12, // "waittill"
|
||||||
IF = 13, // "if"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
ELSE = 14, // "else"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
WHILE = 15, // "while"
|
WAITFRAME = 15, // "waitframe"
|
||||||
FOR = 16, // "for"
|
IF = 16, // "if"
|
||||||
FOREACH = 17, // "foreach"
|
ELSE = 17, // "else"
|
||||||
IN = 18, // "in"
|
WHILE = 18, // "while"
|
||||||
SWITCH = 19, // "switch"
|
FOR = 19, // "for"
|
||||||
CASE = 20, // "case"
|
FOREACH = 20, // "foreach"
|
||||||
DEFAULT = 21, // "default"
|
IN = 21, // "in"
|
||||||
BREAK = 22, // "break"
|
SWITCH = 22, // "switch"
|
||||||
CONTINUE = 23, // "continue"
|
CASE = 23, // "case"
|
||||||
RETURN = 24, // "return"
|
DEFAULT = 24, // "default"
|
||||||
THREAD = 25, // "thread"
|
BREAK = 25, // "break"
|
||||||
CHILDTHREAD = 26, // "childthread"
|
CONTINUE = 26, // "continue"
|
||||||
THISTHREAD = 27, // "thisthread"
|
RETURN = 27, // "return"
|
||||||
CALL = 28, // "call"
|
THREAD = 28, // "thread"
|
||||||
TRUE = 29, // "true"
|
CHILDTHREAD = 29, // "childthread"
|
||||||
FALSE = 30, // "false"
|
THISTHREAD = 30, // "thisthread"
|
||||||
UNDEFINED = 31, // "undefined"
|
CALL = 31, // "call"
|
||||||
SIZE = 32, // "size"
|
TRUE = 32, // "true"
|
||||||
GAME = 33, // "game"
|
FALSE = 33, // "false"
|
||||||
SELF = 34, // "self"
|
UNDEFINED = 34, // "undefined"
|
||||||
ANIM = 35, // "anim"
|
SIZE = 35, // ".size"
|
||||||
LEVEL = 36, // "level"
|
GAME = 36, // "game"
|
||||||
LPAREN = 37, // "("
|
SELF = 37, // "self"
|
||||||
RPAREN = 38, // ")"
|
ANIM = 38, // "anim"
|
||||||
LBRACE = 39, // "{"
|
LEVEL = 39, // "level"
|
||||||
RBRACE = 40, // "}"
|
LPAREN = 40, // "("
|
||||||
LBRACKET = 41, // "["
|
RPAREN = 41, // ")"
|
||||||
RBRACKET = 42, // "]"
|
LBRACE = 42, // "{"
|
||||||
COMMA = 43, // ","
|
RBRACE = 43, // "}"
|
||||||
DOT = 44, // "."
|
LBRACKET = 44, // "["
|
||||||
DOUBLECOLON = 45, // "::"
|
RBRACKET = 45, // "]"
|
||||||
COLON = 46, // ":"
|
COMMA = 46, // ","
|
||||||
SEMICOLON = 47, // ";"
|
DOT = 47, // "."
|
||||||
INCREMENT = 48, // "++"
|
DOUBLECOLON = 48, // "::"
|
||||||
DECREMENT = 49, // "--"
|
COLON = 49, // ":"
|
||||||
LSHIFT = 50, // "<<"
|
SEMICOLON = 50, // ";"
|
||||||
RSHIFT = 51, // ">>"
|
INCREMENT = 51, // "++"
|
||||||
OR = 52, // "||"
|
DECREMENT = 52, // "--"
|
||||||
AND = 53, // "&&"
|
LSHIFT = 53, // "<<"
|
||||||
EQUALITY = 54, // "=="
|
RSHIFT = 54, // ">>"
|
||||||
INEQUALITY = 55, // "!="
|
OR = 55, // "||"
|
||||||
LESS_EQUAL = 56, // "<="
|
AND = 56, // "&&"
|
||||||
GREATER_EQUAL = 57, // ">="
|
EQUALITY = 57, // "=="
|
||||||
LESS = 58, // "<"
|
INEQUALITY = 58, // "!="
|
||||||
GREATER = 59, // ">"
|
LESS_EQUAL = 59, // "<="
|
||||||
NOT = 60, // "!"
|
GREATER_EQUAL = 60, // ">="
|
||||||
COMPLEMENT = 61, // "~"
|
LESS = 61, // "<"
|
||||||
ASSIGN = 62, // "="
|
GREATER = 62, // ">"
|
||||||
ASSIGN_ADD = 63, // "+="
|
NOT = 63, // "!"
|
||||||
ASSIGN_SUB = 64, // "-="
|
COMPLEMENT = 64, // "~"
|
||||||
ASSIGN_MULT = 65, // "*="
|
ASSIGN = 65, // "="
|
||||||
ASSIGN_DIV = 66, // "/="
|
ASSIGN_ADD = 66, // "+="
|
||||||
ASSIGN_MOD = 67, // "%="
|
ASSIGN_SUB = 67, // "-="
|
||||||
ASSIGN_BITWISE_OR = 68, // "|="
|
ASSIGN_MULT = 68, // "*="
|
||||||
ASSIGN_BITWISE_AND = 69, // "&="
|
ASSIGN_DIV = 69, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 70, // "^="
|
ASSIGN_MOD = 70, // "%="
|
||||||
ASSIGN_RSHIFT = 71, // ">>="
|
ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
ASSIGN_LSHIFT = 72, // "<<="
|
ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
BITWISE_OR = 73, // "|"
|
ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
BITWISE_AND = 74, // "&"
|
ASSIGN_RSHIFT = 74, // ">>="
|
||||||
BITWISE_EXOR = 75, // "^"
|
ASSIGN_LSHIFT = 75, // "<<="
|
||||||
ADD = 76, // "+"
|
BITWISE_OR = 76, // "|"
|
||||||
SUB = 77, // "-"
|
BITWISE_AND = 77, // "&"
|
||||||
MULT = 78, // "*"
|
BITWISE_EXOR = 78, // "^"
|
||||||
DIV = 79, // "/"
|
ADD = 79, // "+"
|
||||||
MOD = 80, // "%"
|
SUB = 80, // "-"
|
||||||
FILE = 81, // "file path"
|
MULT = 81, // "*"
|
||||||
NAME = 82, // "identifier"
|
DIV = 82, // "/"
|
||||||
STRING = 83, // "string literal"
|
MOD = 83, // "%"
|
||||||
ISTRING = 84, // "localized string"
|
FILE = 84, // "file path"
|
||||||
FLOAT = 85, // "float"
|
NAME = 85, // "identifier"
|
||||||
INTEGER = 86, // "int"
|
STRING = 86, // "string literal"
|
||||||
ADD_ARRAY = 87, // ADD_ARRAY
|
ISTRING = 87, // "localized string"
|
||||||
THEN = 88, // THEN
|
FLOAT = 88, // "float"
|
||||||
NEG = 89, // NEG
|
INTEGER = 89, // "int"
|
||||||
ANIMREF = 90, // ANIMREF
|
ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
PREINC = 91, // PREINC
|
THEN = 91, // THEN
|
||||||
PREDEC = 92, // PREDEC
|
NEG = 92, // NEG
|
||||||
POSTINC = 93, // POSTINC
|
ANIMREF = 93, // ANIMREF
|
||||||
POSTDEC = 94 // POSTDEC
|
PREINC = 94, // PREINC
|
||||||
|
PREDEC = 95, // PREDEC
|
||||||
|
POSTINC = 96, // POSTINC
|
||||||
|
POSTDEC = 97 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -751,176 +763,182 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 95, ///< Number of tokens.
|
YYNTOKENS = 98, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_WAITFRAME = 12, // "waitframe"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_IF = 13, // "if"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_ELSE = 14, // "else"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_WHILE = 15, // "while"
|
S_WAITFRAME = 15, // "waitframe"
|
||||||
S_FOR = 16, // "for"
|
S_IF = 16, // "if"
|
||||||
S_FOREACH = 17, // "foreach"
|
S_ELSE = 17, // "else"
|
||||||
S_IN = 18, // "in"
|
S_WHILE = 18, // "while"
|
||||||
S_SWITCH = 19, // "switch"
|
S_FOR = 19, // "for"
|
||||||
S_CASE = 20, // "case"
|
S_FOREACH = 20, // "foreach"
|
||||||
S_DEFAULT = 21, // "default"
|
S_IN = 21, // "in"
|
||||||
S_BREAK = 22, // "break"
|
S_SWITCH = 22, // "switch"
|
||||||
S_CONTINUE = 23, // "continue"
|
S_CASE = 23, // "case"
|
||||||
S_RETURN = 24, // "return"
|
S_DEFAULT = 24, // "default"
|
||||||
S_THREAD = 25, // "thread"
|
S_BREAK = 25, // "break"
|
||||||
S_CHILDTHREAD = 26, // "childthread"
|
S_CONTINUE = 26, // "continue"
|
||||||
S_THISTHREAD = 27, // "thisthread"
|
S_RETURN = 27, // "return"
|
||||||
S_CALL = 28, // "call"
|
S_THREAD = 28, // "thread"
|
||||||
S_TRUE = 29, // "true"
|
S_CHILDTHREAD = 29, // "childthread"
|
||||||
S_FALSE = 30, // "false"
|
S_THISTHREAD = 30, // "thisthread"
|
||||||
S_UNDEFINED = 31, // "undefined"
|
S_CALL = 31, // "call"
|
||||||
S_SIZE = 32, // "size"
|
S_TRUE = 32, // "true"
|
||||||
S_GAME = 33, // "game"
|
S_FALSE = 33, // "false"
|
||||||
S_SELF = 34, // "self"
|
S_UNDEFINED = 34, // "undefined"
|
||||||
S_ANIM = 35, // "anim"
|
S_SIZE = 35, // ".size"
|
||||||
S_LEVEL = 36, // "level"
|
S_GAME = 36, // "game"
|
||||||
S_LPAREN = 37, // "("
|
S_SELF = 37, // "self"
|
||||||
S_RPAREN = 38, // ")"
|
S_ANIM = 38, // "anim"
|
||||||
S_LBRACE = 39, // "{"
|
S_LEVEL = 39, // "level"
|
||||||
S_RBRACE = 40, // "}"
|
S_LPAREN = 40, // "("
|
||||||
S_LBRACKET = 41, // "["
|
S_RPAREN = 41, // ")"
|
||||||
S_RBRACKET = 42, // "]"
|
S_LBRACE = 42, // "{"
|
||||||
S_COMMA = 43, // ","
|
S_RBRACE = 43, // "}"
|
||||||
S_DOT = 44, // "."
|
S_LBRACKET = 44, // "["
|
||||||
S_DOUBLECOLON = 45, // "::"
|
S_RBRACKET = 45, // "]"
|
||||||
S_COLON = 46, // ":"
|
S_COMMA = 46, // ","
|
||||||
S_SEMICOLON = 47, // ";"
|
S_DOT = 47, // "."
|
||||||
S_INCREMENT = 48, // "++"
|
S_DOUBLECOLON = 48, // "::"
|
||||||
S_DECREMENT = 49, // "--"
|
S_COLON = 49, // ":"
|
||||||
S_LSHIFT = 50, // "<<"
|
S_SEMICOLON = 50, // ";"
|
||||||
S_RSHIFT = 51, // ">>"
|
S_INCREMENT = 51, // "++"
|
||||||
S_OR = 52, // "||"
|
S_DECREMENT = 52, // "--"
|
||||||
S_AND = 53, // "&&"
|
S_LSHIFT = 53, // "<<"
|
||||||
S_EQUALITY = 54, // "=="
|
S_RSHIFT = 54, // ">>"
|
||||||
S_INEQUALITY = 55, // "!="
|
S_OR = 55, // "||"
|
||||||
S_LESS_EQUAL = 56, // "<="
|
S_AND = 56, // "&&"
|
||||||
S_GREATER_EQUAL = 57, // ">="
|
S_EQUALITY = 57, // "=="
|
||||||
S_LESS = 58, // "<"
|
S_INEQUALITY = 58, // "!="
|
||||||
S_GREATER = 59, // ">"
|
S_LESS_EQUAL = 59, // "<="
|
||||||
S_NOT = 60, // "!"
|
S_GREATER_EQUAL = 60, // ">="
|
||||||
S_COMPLEMENT = 61, // "~"
|
S_LESS = 61, // "<"
|
||||||
S_ASSIGN = 62, // "="
|
S_GREATER = 62, // ">"
|
||||||
S_ASSIGN_ADD = 63, // "+="
|
S_NOT = 63, // "!"
|
||||||
S_ASSIGN_SUB = 64, // "-="
|
S_COMPLEMENT = 64, // "~"
|
||||||
S_ASSIGN_MULT = 65, // "*="
|
S_ASSIGN = 65, // "="
|
||||||
S_ASSIGN_DIV = 66, // "/="
|
S_ASSIGN_ADD = 66, // "+="
|
||||||
S_ASSIGN_MOD = 67, // "%="
|
S_ASSIGN_SUB = 67, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 68, // "|="
|
S_ASSIGN_MULT = 68, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 69, // "&="
|
S_ASSIGN_DIV = 69, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 70, // "^="
|
S_ASSIGN_MOD = 70, // "%="
|
||||||
S_ASSIGN_RSHIFT = 71, // ">>="
|
S_ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
S_ASSIGN_LSHIFT = 72, // "<<="
|
S_ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
S_BITWISE_OR = 73, // "|"
|
S_ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
S_BITWISE_AND = 74, // "&"
|
S_ASSIGN_RSHIFT = 74, // ">>="
|
||||||
S_BITWISE_EXOR = 75, // "^"
|
S_ASSIGN_LSHIFT = 75, // "<<="
|
||||||
S_ADD = 76, // "+"
|
S_BITWISE_OR = 76, // "|"
|
||||||
S_SUB = 77, // "-"
|
S_BITWISE_AND = 77, // "&"
|
||||||
S_MULT = 78, // "*"
|
S_BITWISE_EXOR = 78, // "^"
|
||||||
S_DIV = 79, // "/"
|
S_ADD = 79, // "+"
|
||||||
S_MOD = 80, // "%"
|
S_SUB = 80, // "-"
|
||||||
S_FILE = 81, // "file path"
|
S_MULT = 81, // "*"
|
||||||
S_NAME = 82, // "identifier"
|
S_DIV = 82, // "/"
|
||||||
S_STRING = 83, // "string literal"
|
S_MOD = 83, // "%"
|
||||||
S_ISTRING = 84, // "localized string"
|
S_FILE = 84, // "file path"
|
||||||
S_FLOAT = 85, // "float"
|
S_NAME = 85, // "identifier"
|
||||||
S_INTEGER = 86, // "int"
|
S_STRING = 86, // "string literal"
|
||||||
S_ADD_ARRAY = 87, // ADD_ARRAY
|
S_ISTRING = 87, // "localized string"
|
||||||
S_THEN = 88, // THEN
|
S_FLOAT = 88, // "float"
|
||||||
S_NEG = 89, // NEG
|
S_INTEGER = 89, // "int"
|
||||||
S_ANIMREF = 90, // ANIMREF
|
S_ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
S_PREINC = 91, // PREINC
|
S_THEN = 91, // THEN
|
||||||
S_PREDEC = 92, // PREDEC
|
S_NEG = 92, // NEG
|
||||||
S_POSTINC = 93, // POSTINC
|
S_ANIMREF = 93, // ANIMREF
|
||||||
S_POSTDEC = 94, // POSTDEC
|
S_PREINC = 94, // PREINC
|
||||||
S_YYACCEPT = 95, // $accept
|
S_PREDEC = 95, // PREDEC
|
||||||
S_root = 96, // root
|
S_POSTINC = 96, // POSTINC
|
||||||
S_program = 97, // program
|
S_POSTDEC = 97, // POSTDEC
|
||||||
S_include = 98, // include
|
S_YYACCEPT = 98, // $accept
|
||||||
S_define = 99, // define
|
S_root = 99, // root
|
||||||
S_usingtree = 100, // usingtree
|
S_program = 100, // program
|
||||||
S_constant = 101, // constant
|
S_include = 101, // include
|
||||||
S_thread = 102, // thread
|
S_define = 102, // define
|
||||||
S_parameters = 103, // parameters
|
S_usingtree = 103, // usingtree
|
||||||
S_stmt = 104, // stmt
|
S_constant = 104, // constant
|
||||||
S_stmt_block = 105, // stmt_block
|
S_thread = 105, // thread
|
||||||
S_stmt_list = 106, // stmt_list
|
S_parameters = 106, // parameters
|
||||||
S_stmt_call = 107, // stmt_call
|
S_stmt = 107, // stmt
|
||||||
S_stmt_assign = 108, // stmt_assign
|
S_stmt_block = 108, // stmt_block
|
||||||
S_stmt_endon = 109, // stmt_endon
|
S_stmt_list = 109, // stmt_list
|
||||||
S_stmt_notify = 110, // stmt_notify
|
S_stmt_call = 110, // stmt_call
|
||||||
S_stmt_wait = 111, // stmt_wait
|
S_stmt_assign = 111, // stmt_assign
|
||||||
S_stmt_waittill = 112, // stmt_waittill
|
S_stmt_endon = 112, // stmt_endon
|
||||||
S_stmt_waittillmatch = 113, // stmt_waittillmatch
|
S_stmt_notify = 113, // stmt_notify
|
||||||
S_stmt_waittillframeend = 114, // stmt_waittillframeend
|
S_stmt_wait = 114, // stmt_wait
|
||||||
S_stmt_waitframe = 115, // stmt_waitframe
|
S_stmt_waittill = 115, // stmt_waittill
|
||||||
S_stmt_if = 116, // stmt_if
|
S_stmt_waittillmatch = 116, // stmt_waittillmatch
|
||||||
S_stmt_ifelse = 117, // stmt_ifelse
|
S_stmt_waittillframeend = 117, // stmt_waittillframeend
|
||||||
S_stmt_while = 118, // stmt_while
|
S_stmt_waitframe = 118, // stmt_waitframe
|
||||||
S_stmt_for = 119, // stmt_for
|
S_stmt_if = 119, // stmt_if
|
||||||
S_stmt_foreach = 120, // stmt_foreach
|
S_stmt_ifelse = 120, // stmt_ifelse
|
||||||
S_stmt_switch = 121, // stmt_switch
|
S_stmt_while = 121, // stmt_while
|
||||||
S_stmt_case = 122, // stmt_case
|
S_stmt_for = 122, // stmt_for
|
||||||
S_stmt_default = 123, // stmt_default
|
S_stmt_foreach = 123, // stmt_foreach
|
||||||
S_stmt_break = 124, // stmt_break
|
S_stmt_switch = 124, // stmt_switch
|
||||||
S_stmt_continue = 125, // stmt_continue
|
S_stmt_case = 125, // stmt_case
|
||||||
S_stmt_return = 126, // stmt_return
|
S_stmt_default = 126, // stmt_default
|
||||||
S_for_stmt = 127, // for_stmt
|
S_stmt_break = 127, // stmt_break
|
||||||
S_for_expr = 128, // for_expr
|
S_stmt_continue = 128, // stmt_continue
|
||||||
S_expr = 129, // expr
|
S_stmt_return = 129, // stmt_return
|
||||||
S_expr_assign = 130, // expr_assign
|
S_stmt_breakpoint = 130, // stmt_breakpoint
|
||||||
S_expr_compare = 131, // expr_compare
|
S_stmt_prof_begin = 131, // stmt_prof_begin
|
||||||
S_expr_binary = 132, // expr_binary
|
S_stmt_prof_end = 132, // stmt_prof_end
|
||||||
S_expr_primitive = 133, // expr_primitive
|
S_for_stmt = 133, // for_stmt
|
||||||
S_expr_call = 134, // expr_call
|
S_for_expr = 134, // for_expr
|
||||||
S_expr_call_thread = 135, // expr_call_thread
|
S_expr = 135, // expr
|
||||||
S_expr_call_childthread = 136, // expr_call_childthread
|
S_expr_assign = 136, // expr_assign
|
||||||
S_expr_call_function = 137, // expr_call_function
|
S_expr_compare = 137, // expr_compare
|
||||||
S_expr_call_pointer = 138, // expr_call_pointer
|
S_expr_binary = 138, // expr_binary
|
||||||
S_expr_arguments = 139, // expr_arguments
|
S_expr_primitive = 139, // expr_primitive
|
||||||
S_expr_arguments_filled = 140, // expr_arguments_filled
|
S_expr_call = 140, // expr_call
|
||||||
S_expr_arguments_empty = 141, // expr_arguments_empty
|
S_expr_call_thread = 141, // expr_call_thread
|
||||||
S_expr_function = 142, // expr_function
|
S_expr_call_childthread = 142, // expr_call_childthread
|
||||||
S_expr_add_array = 143, // expr_add_array
|
S_expr_call_function = 143, // expr_call_function
|
||||||
S_expr_array = 144, // expr_array
|
S_expr_call_pointer = 144, // expr_call_pointer
|
||||||
S_expr_field = 145, // expr_field
|
S_expr_arguments = 145, // expr_arguments
|
||||||
S_expr_size = 146, // expr_size
|
S_expr_arguments_filled = 146, // expr_arguments_filled
|
||||||
S_object = 147, // object
|
S_expr_arguments_empty = 147, // expr_arguments_empty
|
||||||
S_thisthread = 148, // thisthread
|
S_expr_function = 148, // expr_function
|
||||||
S_empty_array = 149, // empty_array
|
S_expr_add_array = 149, // expr_add_array
|
||||||
S_undefined = 150, // undefined
|
S_expr_array = 150, // expr_array
|
||||||
S_game = 151, // game
|
S_expr_field = 151, // expr_field
|
||||||
S_self = 152, // self
|
S_expr_size = 152, // expr_size
|
||||||
S_anim = 153, // anim
|
S_object = 153, // object
|
||||||
S_level = 154, // level
|
S_thisthread = 154, // thisthread
|
||||||
S_animation = 155, // animation
|
S_empty_array = 155, // empty_array
|
||||||
S_animtree = 156, // animtree
|
S_undefined = 156, // undefined
|
||||||
S_name = 157, // name
|
S_game = 157, // game
|
||||||
S_file = 158, // file
|
S_self = 158, // self
|
||||||
S_istring = 159, // istring
|
S_anim = 159, // anim
|
||||||
S_string = 160, // string
|
S_level = 160, // level
|
||||||
S_vector = 161, // vector
|
S_animation = 161, // animation
|
||||||
S_neg_float = 162, // neg_float
|
S_animtree = 162, // animtree
|
||||||
S_neg_integer = 163, // neg_integer
|
S_name = 163, // name
|
||||||
S_float = 164, // float
|
S_file = 164, // file
|
||||||
S_integer = 165, // integer
|
S_istring = 165, // istring
|
||||||
S_false = 166, // false
|
S_string = 166, // string
|
||||||
S_true = 167 // true
|
S_vector = 167, // vector
|
||||||
|
S_neg_float = 168, // neg_float
|
||||||
|
S_neg_integer = 169, // neg_integer
|
||||||
|
S_float = 170, // float
|
||||||
|
S_integer = 171, // integer
|
||||||
|
S_false = 172, // false
|
||||||
|
S_true = 173 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1086,6 +1104,10 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1131,6 +1153,14 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1597,6 +1627,20 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1751,6 +1795,34 @@ namespace xsk { namespace gsc { namespace h1 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2126,6 +2198,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2171,6 +2247,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2437,6 +2521,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::H1UNDEF, l);
|
return symbol_type (token::H1UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4161,8 +4290,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1581, ///< Last index in yytable_.
|
yylast_ = 1646, ///< Last index in yytable_.
|
||||||
yynnts_ = 73, ///< Number of nonterminal symbols.
|
yynnts_ = 76, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4319,6 +4448,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4364,6 +4497,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4587,6 +4728,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4632,6 +4777,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4760,7 +4913,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::h1
|
} } } // xsk::gsc::h1
|
||||||
#line 4764 "parser.hpp"
|
#line 4917 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 146 "lexer.lpp"
|
#line 149 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,88 +510,97 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waitframe
|
// stmt_waitframe
|
||||||
char dummy43[sizeof (stmt_waitframe_ptr)];
|
char dummy46[sizeof (stmt_waitframe_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy44[sizeof (stmt_waittill_ptr)];
|
char dummy47[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy45[sizeof (stmt_waittillframeend_ptr)];
|
char dummy48[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy46[sizeof (stmt_waittillmatch_ptr)];
|
char dummy49[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy47[sizeof (stmt_while_ptr)];
|
char dummy50[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy48[sizeof (string_ptr)];
|
char dummy51[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy49[sizeof (thisthread_ptr)];
|
char dummy52[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy50[sizeof (thread_ptr)];
|
char dummy53[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy51[sizeof (true_ptr)];
|
char dummy54[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy52[sizeof (undefined_ptr)];
|
char dummy55[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy53[sizeof (usingtree_ptr)];
|
char dummy56[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy54[sizeof (vector_ptr)];
|
char dummy57[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -643,98 +652,101 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
H2EOF = 0, // "end of file"
|
H2EOF = 0, // "end of file"
|
||||||
H2error = 1, // error
|
H2error = 1, // error
|
||||||
H2UNDEF = 2, // "invalid token"
|
H2UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
WAITFRAME = 12, // "waitframe"
|
WAITTILL = 12, // "waittill"
|
||||||
IF = 13, // "if"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
ELSE = 14, // "else"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
WHILE = 15, // "while"
|
WAITFRAME = 15, // "waitframe"
|
||||||
FOR = 16, // "for"
|
IF = 16, // "if"
|
||||||
FOREACH = 17, // "foreach"
|
ELSE = 17, // "else"
|
||||||
IN = 18, // "in"
|
WHILE = 18, // "while"
|
||||||
SWITCH = 19, // "switch"
|
FOR = 19, // "for"
|
||||||
CASE = 20, // "case"
|
FOREACH = 20, // "foreach"
|
||||||
DEFAULT = 21, // "default"
|
IN = 21, // "in"
|
||||||
BREAK = 22, // "break"
|
SWITCH = 22, // "switch"
|
||||||
CONTINUE = 23, // "continue"
|
CASE = 23, // "case"
|
||||||
RETURN = 24, // "return"
|
DEFAULT = 24, // "default"
|
||||||
THREAD = 25, // "thread"
|
BREAK = 25, // "break"
|
||||||
CHILDTHREAD = 26, // "childthread"
|
CONTINUE = 26, // "continue"
|
||||||
THISTHREAD = 27, // "thisthread"
|
RETURN = 27, // "return"
|
||||||
CALL = 28, // "call"
|
THREAD = 28, // "thread"
|
||||||
TRUE = 29, // "true"
|
CHILDTHREAD = 29, // "childthread"
|
||||||
FALSE = 30, // "false"
|
THISTHREAD = 30, // "thisthread"
|
||||||
UNDEFINED = 31, // "undefined"
|
CALL = 31, // "call"
|
||||||
SIZE = 32, // "size"
|
TRUE = 32, // "true"
|
||||||
GAME = 33, // "game"
|
FALSE = 33, // "false"
|
||||||
SELF = 34, // "self"
|
UNDEFINED = 34, // "undefined"
|
||||||
ANIM = 35, // "anim"
|
SIZE = 35, // ".size"
|
||||||
LEVEL = 36, // "level"
|
GAME = 36, // "game"
|
||||||
LPAREN = 37, // "("
|
SELF = 37, // "self"
|
||||||
RPAREN = 38, // ")"
|
ANIM = 38, // "anim"
|
||||||
LBRACE = 39, // "{"
|
LEVEL = 39, // "level"
|
||||||
RBRACE = 40, // "}"
|
LPAREN = 40, // "("
|
||||||
LBRACKET = 41, // "["
|
RPAREN = 41, // ")"
|
||||||
RBRACKET = 42, // "]"
|
LBRACE = 42, // "{"
|
||||||
COMMA = 43, // ","
|
RBRACE = 43, // "}"
|
||||||
DOT = 44, // "."
|
LBRACKET = 44, // "["
|
||||||
DOUBLECOLON = 45, // "::"
|
RBRACKET = 45, // "]"
|
||||||
COLON = 46, // ":"
|
COMMA = 46, // ","
|
||||||
SEMICOLON = 47, // ";"
|
DOT = 47, // "."
|
||||||
INCREMENT = 48, // "++"
|
DOUBLECOLON = 48, // "::"
|
||||||
DECREMENT = 49, // "--"
|
COLON = 49, // ":"
|
||||||
LSHIFT = 50, // "<<"
|
SEMICOLON = 50, // ";"
|
||||||
RSHIFT = 51, // ">>"
|
INCREMENT = 51, // "++"
|
||||||
OR = 52, // "||"
|
DECREMENT = 52, // "--"
|
||||||
AND = 53, // "&&"
|
LSHIFT = 53, // "<<"
|
||||||
EQUALITY = 54, // "=="
|
RSHIFT = 54, // ">>"
|
||||||
INEQUALITY = 55, // "!="
|
OR = 55, // "||"
|
||||||
LESS_EQUAL = 56, // "<="
|
AND = 56, // "&&"
|
||||||
GREATER_EQUAL = 57, // ">="
|
EQUALITY = 57, // "=="
|
||||||
LESS = 58, // "<"
|
INEQUALITY = 58, // "!="
|
||||||
GREATER = 59, // ">"
|
LESS_EQUAL = 59, // "<="
|
||||||
NOT = 60, // "!"
|
GREATER_EQUAL = 60, // ">="
|
||||||
COMPLEMENT = 61, // "~"
|
LESS = 61, // "<"
|
||||||
ASSIGN = 62, // "="
|
GREATER = 62, // ">"
|
||||||
ASSIGN_ADD = 63, // "+="
|
NOT = 63, // "!"
|
||||||
ASSIGN_SUB = 64, // "-="
|
COMPLEMENT = 64, // "~"
|
||||||
ASSIGN_MULT = 65, // "*="
|
ASSIGN = 65, // "="
|
||||||
ASSIGN_DIV = 66, // "/="
|
ASSIGN_ADD = 66, // "+="
|
||||||
ASSIGN_MOD = 67, // "%="
|
ASSIGN_SUB = 67, // "-="
|
||||||
ASSIGN_BITWISE_OR = 68, // "|="
|
ASSIGN_MULT = 68, // "*="
|
||||||
ASSIGN_BITWISE_AND = 69, // "&="
|
ASSIGN_DIV = 69, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 70, // "^="
|
ASSIGN_MOD = 70, // "%="
|
||||||
ASSIGN_RSHIFT = 71, // ">>="
|
ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
ASSIGN_LSHIFT = 72, // "<<="
|
ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
BITWISE_OR = 73, // "|"
|
ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
BITWISE_AND = 74, // "&"
|
ASSIGN_RSHIFT = 74, // ">>="
|
||||||
BITWISE_EXOR = 75, // "^"
|
ASSIGN_LSHIFT = 75, // "<<="
|
||||||
ADD = 76, // "+"
|
BITWISE_OR = 76, // "|"
|
||||||
SUB = 77, // "-"
|
BITWISE_AND = 77, // "&"
|
||||||
MULT = 78, // "*"
|
BITWISE_EXOR = 78, // "^"
|
||||||
DIV = 79, // "/"
|
ADD = 79, // "+"
|
||||||
MOD = 80, // "%"
|
SUB = 80, // "-"
|
||||||
FILE = 81, // "file path"
|
MULT = 81, // "*"
|
||||||
NAME = 82, // "identifier"
|
DIV = 82, // "/"
|
||||||
STRING = 83, // "string literal"
|
MOD = 83, // "%"
|
||||||
ISTRING = 84, // "localized string"
|
FILE = 84, // "file path"
|
||||||
FLOAT = 85, // "float"
|
NAME = 85, // "identifier"
|
||||||
INTEGER = 86, // "int"
|
STRING = 86, // "string literal"
|
||||||
ADD_ARRAY = 87, // ADD_ARRAY
|
ISTRING = 87, // "localized string"
|
||||||
THEN = 88, // THEN
|
FLOAT = 88, // "float"
|
||||||
NEG = 89, // NEG
|
INTEGER = 89, // "int"
|
||||||
ANIMREF = 90, // ANIMREF
|
ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
PREINC = 91, // PREINC
|
THEN = 91, // THEN
|
||||||
PREDEC = 92, // PREDEC
|
NEG = 92, // NEG
|
||||||
POSTINC = 93, // POSTINC
|
ANIMREF = 93, // ANIMREF
|
||||||
POSTDEC = 94 // POSTDEC
|
PREINC = 94, // PREINC
|
||||||
|
PREDEC = 95, // PREDEC
|
||||||
|
POSTINC = 96, // POSTINC
|
||||||
|
POSTDEC = 97 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -751,176 +763,182 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 95, ///< Number of tokens.
|
YYNTOKENS = 98, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_WAITFRAME = 12, // "waitframe"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_IF = 13, // "if"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_ELSE = 14, // "else"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_WHILE = 15, // "while"
|
S_WAITFRAME = 15, // "waitframe"
|
||||||
S_FOR = 16, // "for"
|
S_IF = 16, // "if"
|
||||||
S_FOREACH = 17, // "foreach"
|
S_ELSE = 17, // "else"
|
||||||
S_IN = 18, // "in"
|
S_WHILE = 18, // "while"
|
||||||
S_SWITCH = 19, // "switch"
|
S_FOR = 19, // "for"
|
||||||
S_CASE = 20, // "case"
|
S_FOREACH = 20, // "foreach"
|
||||||
S_DEFAULT = 21, // "default"
|
S_IN = 21, // "in"
|
||||||
S_BREAK = 22, // "break"
|
S_SWITCH = 22, // "switch"
|
||||||
S_CONTINUE = 23, // "continue"
|
S_CASE = 23, // "case"
|
||||||
S_RETURN = 24, // "return"
|
S_DEFAULT = 24, // "default"
|
||||||
S_THREAD = 25, // "thread"
|
S_BREAK = 25, // "break"
|
||||||
S_CHILDTHREAD = 26, // "childthread"
|
S_CONTINUE = 26, // "continue"
|
||||||
S_THISTHREAD = 27, // "thisthread"
|
S_RETURN = 27, // "return"
|
||||||
S_CALL = 28, // "call"
|
S_THREAD = 28, // "thread"
|
||||||
S_TRUE = 29, // "true"
|
S_CHILDTHREAD = 29, // "childthread"
|
||||||
S_FALSE = 30, // "false"
|
S_THISTHREAD = 30, // "thisthread"
|
||||||
S_UNDEFINED = 31, // "undefined"
|
S_CALL = 31, // "call"
|
||||||
S_SIZE = 32, // "size"
|
S_TRUE = 32, // "true"
|
||||||
S_GAME = 33, // "game"
|
S_FALSE = 33, // "false"
|
||||||
S_SELF = 34, // "self"
|
S_UNDEFINED = 34, // "undefined"
|
||||||
S_ANIM = 35, // "anim"
|
S_SIZE = 35, // ".size"
|
||||||
S_LEVEL = 36, // "level"
|
S_GAME = 36, // "game"
|
||||||
S_LPAREN = 37, // "("
|
S_SELF = 37, // "self"
|
||||||
S_RPAREN = 38, // ")"
|
S_ANIM = 38, // "anim"
|
||||||
S_LBRACE = 39, // "{"
|
S_LEVEL = 39, // "level"
|
||||||
S_RBRACE = 40, // "}"
|
S_LPAREN = 40, // "("
|
||||||
S_LBRACKET = 41, // "["
|
S_RPAREN = 41, // ")"
|
||||||
S_RBRACKET = 42, // "]"
|
S_LBRACE = 42, // "{"
|
||||||
S_COMMA = 43, // ","
|
S_RBRACE = 43, // "}"
|
||||||
S_DOT = 44, // "."
|
S_LBRACKET = 44, // "["
|
||||||
S_DOUBLECOLON = 45, // "::"
|
S_RBRACKET = 45, // "]"
|
||||||
S_COLON = 46, // ":"
|
S_COMMA = 46, // ","
|
||||||
S_SEMICOLON = 47, // ";"
|
S_DOT = 47, // "."
|
||||||
S_INCREMENT = 48, // "++"
|
S_DOUBLECOLON = 48, // "::"
|
||||||
S_DECREMENT = 49, // "--"
|
S_COLON = 49, // ":"
|
||||||
S_LSHIFT = 50, // "<<"
|
S_SEMICOLON = 50, // ";"
|
||||||
S_RSHIFT = 51, // ">>"
|
S_INCREMENT = 51, // "++"
|
||||||
S_OR = 52, // "||"
|
S_DECREMENT = 52, // "--"
|
||||||
S_AND = 53, // "&&"
|
S_LSHIFT = 53, // "<<"
|
||||||
S_EQUALITY = 54, // "=="
|
S_RSHIFT = 54, // ">>"
|
||||||
S_INEQUALITY = 55, // "!="
|
S_OR = 55, // "||"
|
||||||
S_LESS_EQUAL = 56, // "<="
|
S_AND = 56, // "&&"
|
||||||
S_GREATER_EQUAL = 57, // ">="
|
S_EQUALITY = 57, // "=="
|
||||||
S_LESS = 58, // "<"
|
S_INEQUALITY = 58, // "!="
|
||||||
S_GREATER = 59, // ">"
|
S_LESS_EQUAL = 59, // "<="
|
||||||
S_NOT = 60, // "!"
|
S_GREATER_EQUAL = 60, // ">="
|
||||||
S_COMPLEMENT = 61, // "~"
|
S_LESS = 61, // "<"
|
||||||
S_ASSIGN = 62, // "="
|
S_GREATER = 62, // ">"
|
||||||
S_ASSIGN_ADD = 63, // "+="
|
S_NOT = 63, // "!"
|
||||||
S_ASSIGN_SUB = 64, // "-="
|
S_COMPLEMENT = 64, // "~"
|
||||||
S_ASSIGN_MULT = 65, // "*="
|
S_ASSIGN = 65, // "="
|
||||||
S_ASSIGN_DIV = 66, // "/="
|
S_ASSIGN_ADD = 66, // "+="
|
||||||
S_ASSIGN_MOD = 67, // "%="
|
S_ASSIGN_SUB = 67, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 68, // "|="
|
S_ASSIGN_MULT = 68, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 69, // "&="
|
S_ASSIGN_DIV = 69, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 70, // "^="
|
S_ASSIGN_MOD = 70, // "%="
|
||||||
S_ASSIGN_RSHIFT = 71, // ">>="
|
S_ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
S_ASSIGN_LSHIFT = 72, // "<<="
|
S_ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
S_BITWISE_OR = 73, // "|"
|
S_ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
S_BITWISE_AND = 74, // "&"
|
S_ASSIGN_RSHIFT = 74, // ">>="
|
||||||
S_BITWISE_EXOR = 75, // "^"
|
S_ASSIGN_LSHIFT = 75, // "<<="
|
||||||
S_ADD = 76, // "+"
|
S_BITWISE_OR = 76, // "|"
|
||||||
S_SUB = 77, // "-"
|
S_BITWISE_AND = 77, // "&"
|
||||||
S_MULT = 78, // "*"
|
S_BITWISE_EXOR = 78, // "^"
|
||||||
S_DIV = 79, // "/"
|
S_ADD = 79, // "+"
|
||||||
S_MOD = 80, // "%"
|
S_SUB = 80, // "-"
|
||||||
S_FILE = 81, // "file path"
|
S_MULT = 81, // "*"
|
||||||
S_NAME = 82, // "identifier"
|
S_DIV = 82, // "/"
|
||||||
S_STRING = 83, // "string literal"
|
S_MOD = 83, // "%"
|
||||||
S_ISTRING = 84, // "localized string"
|
S_FILE = 84, // "file path"
|
||||||
S_FLOAT = 85, // "float"
|
S_NAME = 85, // "identifier"
|
||||||
S_INTEGER = 86, // "int"
|
S_STRING = 86, // "string literal"
|
||||||
S_ADD_ARRAY = 87, // ADD_ARRAY
|
S_ISTRING = 87, // "localized string"
|
||||||
S_THEN = 88, // THEN
|
S_FLOAT = 88, // "float"
|
||||||
S_NEG = 89, // NEG
|
S_INTEGER = 89, // "int"
|
||||||
S_ANIMREF = 90, // ANIMREF
|
S_ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
S_PREINC = 91, // PREINC
|
S_THEN = 91, // THEN
|
||||||
S_PREDEC = 92, // PREDEC
|
S_NEG = 92, // NEG
|
||||||
S_POSTINC = 93, // POSTINC
|
S_ANIMREF = 93, // ANIMREF
|
||||||
S_POSTDEC = 94, // POSTDEC
|
S_PREINC = 94, // PREINC
|
||||||
S_YYACCEPT = 95, // $accept
|
S_PREDEC = 95, // PREDEC
|
||||||
S_root = 96, // root
|
S_POSTINC = 96, // POSTINC
|
||||||
S_program = 97, // program
|
S_POSTDEC = 97, // POSTDEC
|
||||||
S_include = 98, // include
|
S_YYACCEPT = 98, // $accept
|
||||||
S_define = 99, // define
|
S_root = 99, // root
|
||||||
S_usingtree = 100, // usingtree
|
S_program = 100, // program
|
||||||
S_constant = 101, // constant
|
S_include = 101, // include
|
||||||
S_thread = 102, // thread
|
S_define = 102, // define
|
||||||
S_parameters = 103, // parameters
|
S_usingtree = 103, // usingtree
|
||||||
S_stmt = 104, // stmt
|
S_constant = 104, // constant
|
||||||
S_stmt_block = 105, // stmt_block
|
S_thread = 105, // thread
|
||||||
S_stmt_list = 106, // stmt_list
|
S_parameters = 106, // parameters
|
||||||
S_stmt_call = 107, // stmt_call
|
S_stmt = 107, // stmt
|
||||||
S_stmt_assign = 108, // stmt_assign
|
S_stmt_block = 108, // stmt_block
|
||||||
S_stmt_endon = 109, // stmt_endon
|
S_stmt_list = 109, // stmt_list
|
||||||
S_stmt_notify = 110, // stmt_notify
|
S_stmt_call = 110, // stmt_call
|
||||||
S_stmt_wait = 111, // stmt_wait
|
S_stmt_assign = 111, // stmt_assign
|
||||||
S_stmt_waittill = 112, // stmt_waittill
|
S_stmt_endon = 112, // stmt_endon
|
||||||
S_stmt_waittillmatch = 113, // stmt_waittillmatch
|
S_stmt_notify = 113, // stmt_notify
|
||||||
S_stmt_waittillframeend = 114, // stmt_waittillframeend
|
S_stmt_wait = 114, // stmt_wait
|
||||||
S_stmt_waitframe = 115, // stmt_waitframe
|
S_stmt_waittill = 115, // stmt_waittill
|
||||||
S_stmt_if = 116, // stmt_if
|
S_stmt_waittillmatch = 116, // stmt_waittillmatch
|
||||||
S_stmt_ifelse = 117, // stmt_ifelse
|
S_stmt_waittillframeend = 117, // stmt_waittillframeend
|
||||||
S_stmt_while = 118, // stmt_while
|
S_stmt_waitframe = 118, // stmt_waitframe
|
||||||
S_stmt_for = 119, // stmt_for
|
S_stmt_if = 119, // stmt_if
|
||||||
S_stmt_foreach = 120, // stmt_foreach
|
S_stmt_ifelse = 120, // stmt_ifelse
|
||||||
S_stmt_switch = 121, // stmt_switch
|
S_stmt_while = 121, // stmt_while
|
||||||
S_stmt_case = 122, // stmt_case
|
S_stmt_for = 122, // stmt_for
|
||||||
S_stmt_default = 123, // stmt_default
|
S_stmt_foreach = 123, // stmt_foreach
|
||||||
S_stmt_break = 124, // stmt_break
|
S_stmt_switch = 124, // stmt_switch
|
||||||
S_stmt_continue = 125, // stmt_continue
|
S_stmt_case = 125, // stmt_case
|
||||||
S_stmt_return = 126, // stmt_return
|
S_stmt_default = 126, // stmt_default
|
||||||
S_for_stmt = 127, // for_stmt
|
S_stmt_break = 127, // stmt_break
|
||||||
S_for_expr = 128, // for_expr
|
S_stmt_continue = 128, // stmt_continue
|
||||||
S_expr = 129, // expr
|
S_stmt_return = 129, // stmt_return
|
||||||
S_expr_assign = 130, // expr_assign
|
S_stmt_breakpoint = 130, // stmt_breakpoint
|
||||||
S_expr_compare = 131, // expr_compare
|
S_stmt_prof_begin = 131, // stmt_prof_begin
|
||||||
S_expr_binary = 132, // expr_binary
|
S_stmt_prof_end = 132, // stmt_prof_end
|
||||||
S_expr_primitive = 133, // expr_primitive
|
S_for_stmt = 133, // for_stmt
|
||||||
S_expr_call = 134, // expr_call
|
S_for_expr = 134, // for_expr
|
||||||
S_expr_call_thread = 135, // expr_call_thread
|
S_expr = 135, // expr
|
||||||
S_expr_call_childthread = 136, // expr_call_childthread
|
S_expr_assign = 136, // expr_assign
|
||||||
S_expr_call_function = 137, // expr_call_function
|
S_expr_compare = 137, // expr_compare
|
||||||
S_expr_call_pointer = 138, // expr_call_pointer
|
S_expr_binary = 138, // expr_binary
|
||||||
S_expr_arguments = 139, // expr_arguments
|
S_expr_primitive = 139, // expr_primitive
|
||||||
S_expr_arguments_filled = 140, // expr_arguments_filled
|
S_expr_call = 140, // expr_call
|
||||||
S_expr_arguments_empty = 141, // expr_arguments_empty
|
S_expr_call_thread = 141, // expr_call_thread
|
||||||
S_expr_function = 142, // expr_function
|
S_expr_call_childthread = 142, // expr_call_childthread
|
||||||
S_expr_add_array = 143, // expr_add_array
|
S_expr_call_function = 143, // expr_call_function
|
||||||
S_expr_array = 144, // expr_array
|
S_expr_call_pointer = 144, // expr_call_pointer
|
||||||
S_expr_field = 145, // expr_field
|
S_expr_arguments = 145, // expr_arguments
|
||||||
S_expr_size = 146, // expr_size
|
S_expr_arguments_filled = 146, // expr_arguments_filled
|
||||||
S_object = 147, // object
|
S_expr_arguments_empty = 147, // expr_arguments_empty
|
||||||
S_thisthread = 148, // thisthread
|
S_expr_function = 148, // expr_function
|
||||||
S_empty_array = 149, // empty_array
|
S_expr_add_array = 149, // expr_add_array
|
||||||
S_undefined = 150, // undefined
|
S_expr_array = 150, // expr_array
|
||||||
S_game = 151, // game
|
S_expr_field = 151, // expr_field
|
||||||
S_self = 152, // self
|
S_expr_size = 152, // expr_size
|
||||||
S_anim = 153, // anim
|
S_object = 153, // object
|
||||||
S_level = 154, // level
|
S_thisthread = 154, // thisthread
|
||||||
S_animation = 155, // animation
|
S_empty_array = 155, // empty_array
|
||||||
S_animtree = 156, // animtree
|
S_undefined = 156, // undefined
|
||||||
S_name = 157, // name
|
S_game = 157, // game
|
||||||
S_file = 158, // file
|
S_self = 158, // self
|
||||||
S_istring = 159, // istring
|
S_anim = 159, // anim
|
||||||
S_string = 160, // string
|
S_level = 160, // level
|
||||||
S_vector = 161, // vector
|
S_animation = 161, // animation
|
||||||
S_neg_float = 162, // neg_float
|
S_animtree = 162, // animtree
|
||||||
S_neg_integer = 163, // neg_integer
|
S_name = 163, // name
|
||||||
S_float = 164, // float
|
S_file = 164, // file
|
||||||
S_integer = 165, // integer
|
S_istring = 165, // istring
|
||||||
S_false = 166, // false
|
S_string = 166, // string
|
||||||
S_true = 167 // true
|
S_vector = 167, // vector
|
||||||
|
S_neg_float = 168, // neg_float
|
||||||
|
S_neg_integer = 169, // neg_integer
|
||||||
|
S_float = 170, // float
|
||||||
|
S_integer = 171, // integer
|
||||||
|
S_false = 172, // false
|
||||||
|
S_true = 173 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1086,6 +1104,10 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1131,6 +1153,14 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1597,6 +1627,20 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1751,6 +1795,34 @@ namespace xsk { namespace gsc { namespace h2 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2126,6 +2198,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2171,6 +2247,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2437,6 +2521,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::H2UNDEF, l);
|
return symbol_type (token::H2UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4161,8 +4290,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1581, ///< Last index in yytable_.
|
yylast_ = 1646, ///< Last index in yytable_.
|
||||||
yynnts_ = 73, ///< Number of nonterminal symbols.
|
yynnts_ = 76, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4319,6 +4448,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4364,6 +4497,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4587,6 +4728,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4632,6 +4777,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4760,7 +4913,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::h2
|
} } } // xsk::gsc::h2
|
||||||
#line 4764 "parser.hpp"
|
#line 4917 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 145 "lexer.lpp"
|
#line 148 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,85 +510,94 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy43[sizeof (stmt_waittill_ptr)];
|
char dummy46[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy44[sizeof (stmt_waittillframeend_ptr)];
|
char dummy47[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy45[sizeof (stmt_waittillmatch_ptr)];
|
char dummy48[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy46[sizeof (stmt_while_ptr)];
|
char dummy49[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy47[sizeof (string_ptr)];
|
char dummy50[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy48[sizeof (thisthread_ptr)];
|
char dummy51[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy49[sizeof (thread_ptr)];
|
char dummy52[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy50[sizeof (true_ptr)];
|
char dummy53[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy51[sizeof (undefined_ptr)];
|
char dummy54[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy52[sizeof (usingtree_ptr)];
|
char dummy55[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy53[sizeof (vector_ptr)];
|
char dummy56[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -640,97 +649,100 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
IW5EOF = 0, // "end of file"
|
IW5EOF = 0, // "end of file"
|
||||||
IW5error = 1, // error
|
IW5error = 1, // error
|
||||||
IW5UNDEF = 2, // "invalid token"
|
IW5UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
IF = 12, // "if"
|
WAITTILL = 12, // "waittill"
|
||||||
ELSE = 13, // "else"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
WHILE = 14, // "while"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
FOR = 15, // "for"
|
IF = 15, // "if"
|
||||||
FOREACH = 16, // "foreach"
|
ELSE = 16, // "else"
|
||||||
IN = 17, // "in"
|
WHILE = 17, // "while"
|
||||||
SWITCH = 18, // "switch"
|
FOR = 18, // "for"
|
||||||
CASE = 19, // "case"
|
FOREACH = 19, // "foreach"
|
||||||
DEFAULT = 20, // "default"
|
IN = 20, // "in"
|
||||||
BREAK = 21, // "break"
|
SWITCH = 21, // "switch"
|
||||||
CONTINUE = 22, // "continue"
|
CASE = 22, // "case"
|
||||||
RETURN = 23, // "return"
|
DEFAULT = 23, // "default"
|
||||||
THREAD = 24, // "thread"
|
BREAK = 24, // "break"
|
||||||
CHILDTHREAD = 25, // "childthread"
|
CONTINUE = 25, // "continue"
|
||||||
THISTHREAD = 26, // "thisthread"
|
RETURN = 26, // "return"
|
||||||
CALL = 27, // "call"
|
THREAD = 27, // "thread"
|
||||||
TRUE = 28, // "true"
|
CHILDTHREAD = 28, // "childthread"
|
||||||
FALSE = 29, // "false"
|
THISTHREAD = 29, // "thisthread"
|
||||||
UNDEFINED = 30, // "undefined"
|
CALL = 30, // "call"
|
||||||
SIZE = 31, // "size"
|
TRUE = 31, // "true"
|
||||||
GAME = 32, // "game"
|
FALSE = 32, // "false"
|
||||||
SELF = 33, // "self"
|
UNDEFINED = 33, // "undefined"
|
||||||
ANIM = 34, // "anim"
|
SIZE = 34, // ".size"
|
||||||
LEVEL = 35, // "level"
|
GAME = 35, // "game"
|
||||||
LPAREN = 36, // "("
|
SELF = 36, // "self"
|
||||||
RPAREN = 37, // ")"
|
ANIM = 37, // "anim"
|
||||||
LBRACE = 38, // "{"
|
LEVEL = 38, // "level"
|
||||||
RBRACE = 39, // "}"
|
LPAREN = 39, // "("
|
||||||
LBRACKET = 40, // "["
|
RPAREN = 40, // ")"
|
||||||
RBRACKET = 41, // "]"
|
LBRACE = 41, // "{"
|
||||||
COMMA = 42, // ","
|
RBRACE = 42, // "}"
|
||||||
DOT = 43, // "."
|
LBRACKET = 43, // "["
|
||||||
DOUBLECOLON = 44, // "::"
|
RBRACKET = 44, // "]"
|
||||||
COLON = 45, // ":"
|
COMMA = 45, // ","
|
||||||
SEMICOLON = 46, // ";"
|
DOT = 46, // "."
|
||||||
INCREMENT = 47, // "++"
|
DOUBLECOLON = 47, // "::"
|
||||||
DECREMENT = 48, // "--"
|
COLON = 48, // ":"
|
||||||
LSHIFT = 49, // "<<"
|
SEMICOLON = 49, // ";"
|
||||||
RSHIFT = 50, // ">>"
|
INCREMENT = 50, // "++"
|
||||||
OR = 51, // "||"
|
DECREMENT = 51, // "--"
|
||||||
AND = 52, // "&&"
|
LSHIFT = 52, // "<<"
|
||||||
EQUALITY = 53, // "=="
|
RSHIFT = 53, // ">>"
|
||||||
INEQUALITY = 54, // "!="
|
OR = 54, // "||"
|
||||||
LESS_EQUAL = 55, // "<="
|
AND = 55, // "&&"
|
||||||
GREATER_EQUAL = 56, // ">="
|
EQUALITY = 56, // "=="
|
||||||
LESS = 57, // "<"
|
INEQUALITY = 57, // "!="
|
||||||
GREATER = 58, // ">"
|
LESS_EQUAL = 58, // "<="
|
||||||
NOT = 59, // "!"
|
GREATER_EQUAL = 59, // ">="
|
||||||
COMPLEMENT = 60, // "~"
|
LESS = 60, // "<"
|
||||||
ASSIGN = 61, // "="
|
GREATER = 61, // ">"
|
||||||
ASSIGN_ADD = 62, // "+="
|
NOT = 62, // "!"
|
||||||
ASSIGN_SUB = 63, // "-="
|
COMPLEMENT = 63, // "~"
|
||||||
ASSIGN_MULT = 64, // "*="
|
ASSIGN = 64, // "="
|
||||||
ASSIGN_DIV = 65, // "/="
|
ASSIGN_ADD = 65, // "+="
|
||||||
ASSIGN_MOD = 66, // "%="
|
ASSIGN_SUB = 66, // "-="
|
||||||
ASSIGN_BITWISE_OR = 67, // "|="
|
ASSIGN_MULT = 67, // "*="
|
||||||
ASSIGN_BITWISE_AND = 68, // "&="
|
ASSIGN_DIV = 68, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 69, // "^="
|
ASSIGN_MOD = 69, // "%="
|
||||||
ASSIGN_RSHIFT = 70, // ">>="
|
ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
ASSIGN_LSHIFT = 71, // "<<="
|
ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
BITWISE_OR = 72, // "|"
|
ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
BITWISE_AND = 73, // "&"
|
ASSIGN_RSHIFT = 73, // ">>="
|
||||||
BITWISE_EXOR = 74, // "^"
|
ASSIGN_LSHIFT = 74, // "<<="
|
||||||
ADD = 75, // "+"
|
BITWISE_OR = 75, // "|"
|
||||||
SUB = 76, // "-"
|
BITWISE_AND = 76, // "&"
|
||||||
MULT = 77, // "*"
|
BITWISE_EXOR = 77, // "^"
|
||||||
DIV = 78, // "/"
|
ADD = 78, // "+"
|
||||||
MOD = 79, // "%"
|
SUB = 79, // "-"
|
||||||
FILE = 80, // "file path"
|
MULT = 80, // "*"
|
||||||
NAME = 81, // "identifier"
|
DIV = 81, // "/"
|
||||||
STRING = 82, // "string literal"
|
MOD = 82, // "%"
|
||||||
ISTRING = 83, // "localized string"
|
FILE = 83, // "file path"
|
||||||
FLOAT = 84, // "float"
|
NAME = 84, // "identifier"
|
||||||
INTEGER = 85, // "int"
|
STRING = 85, // "string literal"
|
||||||
ADD_ARRAY = 86, // ADD_ARRAY
|
ISTRING = 86, // "localized string"
|
||||||
THEN = 87, // THEN
|
FLOAT = 87, // "float"
|
||||||
NEG = 88, // NEG
|
INTEGER = 88, // "int"
|
||||||
ANIMREF = 89, // ANIMREF
|
ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
PREINC = 90, // PREINC
|
THEN = 90, // THEN
|
||||||
PREDEC = 91, // PREDEC
|
NEG = 91, // NEG
|
||||||
POSTINC = 92, // POSTINC
|
ANIMREF = 92, // ANIMREF
|
||||||
POSTDEC = 93 // POSTDEC
|
PREINC = 93, // PREINC
|
||||||
|
PREDEC = 94, // PREDEC
|
||||||
|
POSTINC = 95, // POSTINC
|
||||||
|
POSTDEC = 96 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -747,174 +759,180 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 94, ///< Number of tokens.
|
YYNTOKENS = 97, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_IF = 12, // "if"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_ELSE = 13, // "else"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_WHILE = 14, // "while"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_FOR = 15, // "for"
|
S_IF = 15, // "if"
|
||||||
S_FOREACH = 16, // "foreach"
|
S_ELSE = 16, // "else"
|
||||||
S_IN = 17, // "in"
|
S_WHILE = 17, // "while"
|
||||||
S_SWITCH = 18, // "switch"
|
S_FOR = 18, // "for"
|
||||||
S_CASE = 19, // "case"
|
S_FOREACH = 19, // "foreach"
|
||||||
S_DEFAULT = 20, // "default"
|
S_IN = 20, // "in"
|
||||||
S_BREAK = 21, // "break"
|
S_SWITCH = 21, // "switch"
|
||||||
S_CONTINUE = 22, // "continue"
|
S_CASE = 22, // "case"
|
||||||
S_RETURN = 23, // "return"
|
S_DEFAULT = 23, // "default"
|
||||||
S_THREAD = 24, // "thread"
|
S_BREAK = 24, // "break"
|
||||||
S_CHILDTHREAD = 25, // "childthread"
|
S_CONTINUE = 25, // "continue"
|
||||||
S_THISTHREAD = 26, // "thisthread"
|
S_RETURN = 26, // "return"
|
||||||
S_CALL = 27, // "call"
|
S_THREAD = 27, // "thread"
|
||||||
S_TRUE = 28, // "true"
|
S_CHILDTHREAD = 28, // "childthread"
|
||||||
S_FALSE = 29, // "false"
|
S_THISTHREAD = 29, // "thisthread"
|
||||||
S_UNDEFINED = 30, // "undefined"
|
S_CALL = 30, // "call"
|
||||||
S_SIZE = 31, // "size"
|
S_TRUE = 31, // "true"
|
||||||
S_GAME = 32, // "game"
|
S_FALSE = 32, // "false"
|
||||||
S_SELF = 33, // "self"
|
S_UNDEFINED = 33, // "undefined"
|
||||||
S_ANIM = 34, // "anim"
|
S_SIZE = 34, // ".size"
|
||||||
S_LEVEL = 35, // "level"
|
S_GAME = 35, // "game"
|
||||||
S_LPAREN = 36, // "("
|
S_SELF = 36, // "self"
|
||||||
S_RPAREN = 37, // ")"
|
S_ANIM = 37, // "anim"
|
||||||
S_LBRACE = 38, // "{"
|
S_LEVEL = 38, // "level"
|
||||||
S_RBRACE = 39, // "}"
|
S_LPAREN = 39, // "("
|
||||||
S_LBRACKET = 40, // "["
|
S_RPAREN = 40, // ")"
|
||||||
S_RBRACKET = 41, // "]"
|
S_LBRACE = 41, // "{"
|
||||||
S_COMMA = 42, // ","
|
S_RBRACE = 42, // "}"
|
||||||
S_DOT = 43, // "."
|
S_LBRACKET = 43, // "["
|
||||||
S_DOUBLECOLON = 44, // "::"
|
S_RBRACKET = 44, // "]"
|
||||||
S_COLON = 45, // ":"
|
S_COMMA = 45, // ","
|
||||||
S_SEMICOLON = 46, // ";"
|
S_DOT = 46, // "."
|
||||||
S_INCREMENT = 47, // "++"
|
S_DOUBLECOLON = 47, // "::"
|
||||||
S_DECREMENT = 48, // "--"
|
S_COLON = 48, // ":"
|
||||||
S_LSHIFT = 49, // "<<"
|
S_SEMICOLON = 49, // ";"
|
||||||
S_RSHIFT = 50, // ">>"
|
S_INCREMENT = 50, // "++"
|
||||||
S_OR = 51, // "||"
|
S_DECREMENT = 51, // "--"
|
||||||
S_AND = 52, // "&&"
|
S_LSHIFT = 52, // "<<"
|
||||||
S_EQUALITY = 53, // "=="
|
S_RSHIFT = 53, // ">>"
|
||||||
S_INEQUALITY = 54, // "!="
|
S_OR = 54, // "||"
|
||||||
S_LESS_EQUAL = 55, // "<="
|
S_AND = 55, // "&&"
|
||||||
S_GREATER_EQUAL = 56, // ">="
|
S_EQUALITY = 56, // "=="
|
||||||
S_LESS = 57, // "<"
|
S_INEQUALITY = 57, // "!="
|
||||||
S_GREATER = 58, // ">"
|
S_LESS_EQUAL = 58, // "<="
|
||||||
S_NOT = 59, // "!"
|
S_GREATER_EQUAL = 59, // ">="
|
||||||
S_COMPLEMENT = 60, // "~"
|
S_LESS = 60, // "<"
|
||||||
S_ASSIGN = 61, // "="
|
S_GREATER = 61, // ">"
|
||||||
S_ASSIGN_ADD = 62, // "+="
|
S_NOT = 62, // "!"
|
||||||
S_ASSIGN_SUB = 63, // "-="
|
S_COMPLEMENT = 63, // "~"
|
||||||
S_ASSIGN_MULT = 64, // "*="
|
S_ASSIGN = 64, // "="
|
||||||
S_ASSIGN_DIV = 65, // "/="
|
S_ASSIGN_ADD = 65, // "+="
|
||||||
S_ASSIGN_MOD = 66, // "%="
|
S_ASSIGN_SUB = 66, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 67, // "|="
|
S_ASSIGN_MULT = 67, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 68, // "&="
|
S_ASSIGN_DIV = 68, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 69, // "^="
|
S_ASSIGN_MOD = 69, // "%="
|
||||||
S_ASSIGN_RSHIFT = 70, // ">>="
|
S_ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
S_ASSIGN_LSHIFT = 71, // "<<="
|
S_ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
S_BITWISE_OR = 72, // "|"
|
S_ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
S_BITWISE_AND = 73, // "&"
|
S_ASSIGN_RSHIFT = 73, // ">>="
|
||||||
S_BITWISE_EXOR = 74, // "^"
|
S_ASSIGN_LSHIFT = 74, // "<<="
|
||||||
S_ADD = 75, // "+"
|
S_BITWISE_OR = 75, // "|"
|
||||||
S_SUB = 76, // "-"
|
S_BITWISE_AND = 76, // "&"
|
||||||
S_MULT = 77, // "*"
|
S_BITWISE_EXOR = 77, // "^"
|
||||||
S_DIV = 78, // "/"
|
S_ADD = 78, // "+"
|
||||||
S_MOD = 79, // "%"
|
S_SUB = 79, // "-"
|
||||||
S_FILE = 80, // "file path"
|
S_MULT = 80, // "*"
|
||||||
S_NAME = 81, // "identifier"
|
S_DIV = 81, // "/"
|
||||||
S_STRING = 82, // "string literal"
|
S_MOD = 82, // "%"
|
||||||
S_ISTRING = 83, // "localized string"
|
S_FILE = 83, // "file path"
|
||||||
S_FLOAT = 84, // "float"
|
S_NAME = 84, // "identifier"
|
||||||
S_INTEGER = 85, // "int"
|
S_STRING = 85, // "string literal"
|
||||||
S_ADD_ARRAY = 86, // ADD_ARRAY
|
S_ISTRING = 86, // "localized string"
|
||||||
S_THEN = 87, // THEN
|
S_FLOAT = 87, // "float"
|
||||||
S_NEG = 88, // NEG
|
S_INTEGER = 88, // "int"
|
||||||
S_ANIMREF = 89, // ANIMREF
|
S_ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
S_PREINC = 90, // PREINC
|
S_THEN = 90, // THEN
|
||||||
S_PREDEC = 91, // PREDEC
|
S_NEG = 91, // NEG
|
||||||
S_POSTINC = 92, // POSTINC
|
S_ANIMREF = 92, // ANIMREF
|
||||||
S_POSTDEC = 93, // POSTDEC
|
S_PREINC = 93, // PREINC
|
||||||
S_YYACCEPT = 94, // $accept
|
S_PREDEC = 94, // PREDEC
|
||||||
S_root = 95, // root
|
S_POSTINC = 95, // POSTINC
|
||||||
S_program = 96, // program
|
S_POSTDEC = 96, // POSTDEC
|
||||||
S_include = 97, // include
|
S_YYACCEPT = 97, // $accept
|
||||||
S_define = 98, // define
|
S_root = 98, // root
|
||||||
S_usingtree = 99, // usingtree
|
S_program = 99, // program
|
||||||
S_constant = 100, // constant
|
S_include = 100, // include
|
||||||
S_thread = 101, // thread
|
S_define = 101, // define
|
||||||
S_parameters = 102, // parameters
|
S_usingtree = 102, // usingtree
|
||||||
S_stmt = 103, // stmt
|
S_constant = 103, // constant
|
||||||
S_stmt_block = 104, // stmt_block
|
S_thread = 104, // thread
|
||||||
S_stmt_list = 105, // stmt_list
|
S_parameters = 105, // parameters
|
||||||
S_stmt_call = 106, // stmt_call
|
S_stmt = 106, // stmt
|
||||||
S_stmt_assign = 107, // stmt_assign
|
S_stmt_block = 107, // stmt_block
|
||||||
S_stmt_endon = 108, // stmt_endon
|
S_stmt_list = 108, // stmt_list
|
||||||
S_stmt_notify = 109, // stmt_notify
|
S_stmt_call = 109, // stmt_call
|
||||||
S_stmt_wait = 110, // stmt_wait
|
S_stmt_assign = 110, // stmt_assign
|
||||||
S_stmt_waittill = 111, // stmt_waittill
|
S_stmt_endon = 111, // stmt_endon
|
||||||
S_stmt_waittillmatch = 112, // stmt_waittillmatch
|
S_stmt_notify = 112, // stmt_notify
|
||||||
S_stmt_waittillframeend = 113, // stmt_waittillframeend
|
S_stmt_wait = 113, // stmt_wait
|
||||||
S_stmt_if = 114, // stmt_if
|
S_stmt_waittill = 114, // stmt_waittill
|
||||||
S_stmt_ifelse = 115, // stmt_ifelse
|
S_stmt_waittillmatch = 115, // stmt_waittillmatch
|
||||||
S_stmt_while = 116, // stmt_while
|
S_stmt_waittillframeend = 116, // stmt_waittillframeend
|
||||||
S_stmt_for = 117, // stmt_for
|
S_stmt_if = 117, // stmt_if
|
||||||
S_stmt_foreach = 118, // stmt_foreach
|
S_stmt_ifelse = 118, // stmt_ifelse
|
||||||
S_stmt_switch = 119, // stmt_switch
|
S_stmt_while = 119, // stmt_while
|
||||||
S_stmt_case = 120, // stmt_case
|
S_stmt_for = 120, // stmt_for
|
||||||
S_stmt_default = 121, // stmt_default
|
S_stmt_foreach = 121, // stmt_foreach
|
||||||
S_stmt_break = 122, // stmt_break
|
S_stmt_switch = 122, // stmt_switch
|
||||||
S_stmt_continue = 123, // stmt_continue
|
S_stmt_case = 123, // stmt_case
|
||||||
S_stmt_return = 124, // stmt_return
|
S_stmt_default = 124, // stmt_default
|
||||||
S_for_stmt = 125, // for_stmt
|
S_stmt_break = 125, // stmt_break
|
||||||
S_for_expr = 126, // for_expr
|
S_stmt_continue = 126, // stmt_continue
|
||||||
S_expr = 127, // expr
|
S_stmt_return = 127, // stmt_return
|
||||||
S_expr_assign = 128, // expr_assign
|
S_stmt_breakpoint = 128, // stmt_breakpoint
|
||||||
S_expr_compare = 129, // expr_compare
|
S_stmt_prof_begin = 129, // stmt_prof_begin
|
||||||
S_expr_binary = 130, // expr_binary
|
S_stmt_prof_end = 130, // stmt_prof_end
|
||||||
S_expr_primitive = 131, // expr_primitive
|
S_for_stmt = 131, // for_stmt
|
||||||
S_expr_call = 132, // expr_call
|
S_for_expr = 132, // for_expr
|
||||||
S_expr_call_thread = 133, // expr_call_thread
|
S_expr = 133, // expr
|
||||||
S_expr_call_childthread = 134, // expr_call_childthread
|
S_expr_assign = 134, // expr_assign
|
||||||
S_expr_call_function = 135, // expr_call_function
|
S_expr_compare = 135, // expr_compare
|
||||||
S_expr_call_pointer = 136, // expr_call_pointer
|
S_expr_binary = 136, // expr_binary
|
||||||
S_expr_arguments = 137, // expr_arguments
|
S_expr_primitive = 137, // expr_primitive
|
||||||
S_expr_arguments_filled = 138, // expr_arguments_filled
|
S_expr_call = 138, // expr_call
|
||||||
S_expr_arguments_empty = 139, // expr_arguments_empty
|
S_expr_call_thread = 139, // expr_call_thread
|
||||||
S_expr_function = 140, // expr_function
|
S_expr_call_childthread = 140, // expr_call_childthread
|
||||||
S_expr_add_array = 141, // expr_add_array
|
S_expr_call_function = 141, // expr_call_function
|
||||||
S_expr_array = 142, // expr_array
|
S_expr_call_pointer = 142, // expr_call_pointer
|
||||||
S_expr_field = 143, // expr_field
|
S_expr_arguments = 143, // expr_arguments
|
||||||
S_expr_size = 144, // expr_size
|
S_expr_arguments_filled = 144, // expr_arguments_filled
|
||||||
S_object = 145, // object
|
S_expr_arguments_empty = 145, // expr_arguments_empty
|
||||||
S_thisthread = 146, // thisthread
|
S_expr_function = 146, // expr_function
|
||||||
S_empty_array = 147, // empty_array
|
S_expr_add_array = 147, // expr_add_array
|
||||||
S_undefined = 148, // undefined
|
S_expr_array = 148, // expr_array
|
||||||
S_game = 149, // game
|
S_expr_field = 149, // expr_field
|
||||||
S_self = 150, // self
|
S_expr_size = 150, // expr_size
|
||||||
S_anim = 151, // anim
|
S_object = 151, // object
|
||||||
S_level = 152, // level
|
S_thisthread = 152, // thisthread
|
||||||
S_animation = 153, // animation
|
S_empty_array = 153, // empty_array
|
||||||
S_animtree = 154, // animtree
|
S_undefined = 154, // undefined
|
||||||
S_name = 155, // name
|
S_game = 155, // game
|
||||||
S_file = 156, // file
|
S_self = 156, // self
|
||||||
S_istring = 157, // istring
|
S_anim = 157, // anim
|
||||||
S_string = 158, // string
|
S_level = 158, // level
|
||||||
S_vector = 159, // vector
|
S_animation = 159, // animation
|
||||||
S_neg_float = 160, // neg_float
|
S_animtree = 160, // animtree
|
||||||
S_neg_integer = 161, // neg_integer
|
S_name = 161, // name
|
||||||
S_float = 162, // float
|
S_file = 162, // file
|
||||||
S_integer = 163, // integer
|
S_istring = 163, // istring
|
||||||
S_false = 164, // false
|
S_string = 164, // string
|
||||||
S_true = 165 // true
|
S_vector = 165, // vector
|
||||||
|
S_neg_float = 166, // neg_float
|
||||||
|
S_neg_integer = 167, // neg_integer
|
||||||
|
S_float = 168, // float
|
||||||
|
S_integer = 169, // integer
|
||||||
|
S_false = 170, // false
|
||||||
|
S_true = 171 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1080,6 +1098,10 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1125,6 +1147,14 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1587,6 +1617,20 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1741,6 +1785,34 @@ namespace xsk { namespace gsc { namespace iw5 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2102,6 +2174,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2147,6 +2223,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2409,6 +2493,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::IW5UNDEF, l);
|
return symbol_type (token::IW5UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4118,8 +4247,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1590, ///< Last index in yytable_.
|
yylast_ = 1556, ///< Last index in yytable_.
|
||||||
yynnts_ = 72, ///< Number of nonterminal symbols.
|
yynnts_ = 75, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4276,6 +4405,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4321,6 +4454,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4540,6 +4681,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4585,6 +4730,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4709,7 +4862,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::iw5
|
} } } // xsk::gsc::iw5
|
||||||
#line 4713 "parser.hpp"
|
#line 4866 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 145 "lexer.lpp"
|
#line 148 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,85 +510,94 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy43[sizeof (stmt_waittill_ptr)];
|
char dummy46[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy44[sizeof (stmt_waittillframeend_ptr)];
|
char dummy47[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy45[sizeof (stmt_waittillmatch_ptr)];
|
char dummy48[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy46[sizeof (stmt_while_ptr)];
|
char dummy49[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy47[sizeof (string_ptr)];
|
char dummy50[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy48[sizeof (thisthread_ptr)];
|
char dummy51[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy49[sizeof (thread_ptr)];
|
char dummy52[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy50[sizeof (true_ptr)];
|
char dummy53[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy51[sizeof (undefined_ptr)];
|
char dummy54[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy52[sizeof (usingtree_ptr)];
|
char dummy55[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy53[sizeof (vector_ptr)];
|
char dummy56[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -640,97 +649,100 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
IW6EOF = 0, // "end of file"
|
IW6EOF = 0, // "end of file"
|
||||||
IW6error = 1, // error
|
IW6error = 1, // error
|
||||||
IW6UNDEF = 2, // "invalid token"
|
IW6UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
IF = 12, // "if"
|
WAITTILL = 12, // "waittill"
|
||||||
ELSE = 13, // "else"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
WHILE = 14, // "while"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
FOR = 15, // "for"
|
IF = 15, // "if"
|
||||||
FOREACH = 16, // "foreach"
|
ELSE = 16, // "else"
|
||||||
IN = 17, // "in"
|
WHILE = 17, // "while"
|
||||||
SWITCH = 18, // "switch"
|
FOR = 18, // "for"
|
||||||
CASE = 19, // "case"
|
FOREACH = 19, // "foreach"
|
||||||
DEFAULT = 20, // "default"
|
IN = 20, // "in"
|
||||||
BREAK = 21, // "break"
|
SWITCH = 21, // "switch"
|
||||||
CONTINUE = 22, // "continue"
|
CASE = 22, // "case"
|
||||||
RETURN = 23, // "return"
|
DEFAULT = 23, // "default"
|
||||||
THREAD = 24, // "thread"
|
BREAK = 24, // "break"
|
||||||
CHILDTHREAD = 25, // "childthread"
|
CONTINUE = 25, // "continue"
|
||||||
THISTHREAD = 26, // "thisthread"
|
RETURN = 26, // "return"
|
||||||
CALL = 27, // "call"
|
THREAD = 27, // "thread"
|
||||||
TRUE = 28, // "true"
|
CHILDTHREAD = 28, // "childthread"
|
||||||
FALSE = 29, // "false"
|
THISTHREAD = 29, // "thisthread"
|
||||||
UNDEFINED = 30, // "undefined"
|
CALL = 30, // "call"
|
||||||
SIZE = 31, // "size"
|
TRUE = 31, // "true"
|
||||||
GAME = 32, // "game"
|
FALSE = 32, // "false"
|
||||||
SELF = 33, // "self"
|
UNDEFINED = 33, // "undefined"
|
||||||
ANIM = 34, // "anim"
|
SIZE = 34, // ".size"
|
||||||
LEVEL = 35, // "level"
|
GAME = 35, // "game"
|
||||||
LPAREN = 36, // "("
|
SELF = 36, // "self"
|
||||||
RPAREN = 37, // ")"
|
ANIM = 37, // "anim"
|
||||||
LBRACE = 38, // "{"
|
LEVEL = 38, // "level"
|
||||||
RBRACE = 39, // "}"
|
LPAREN = 39, // "("
|
||||||
LBRACKET = 40, // "["
|
RPAREN = 40, // ")"
|
||||||
RBRACKET = 41, // "]"
|
LBRACE = 41, // "{"
|
||||||
COMMA = 42, // ","
|
RBRACE = 42, // "}"
|
||||||
DOT = 43, // "."
|
LBRACKET = 43, // "["
|
||||||
DOUBLECOLON = 44, // "::"
|
RBRACKET = 44, // "]"
|
||||||
COLON = 45, // ":"
|
COMMA = 45, // ","
|
||||||
SEMICOLON = 46, // ";"
|
DOT = 46, // "."
|
||||||
INCREMENT = 47, // "++"
|
DOUBLECOLON = 47, // "::"
|
||||||
DECREMENT = 48, // "--"
|
COLON = 48, // ":"
|
||||||
LSHIFT = 49, // "<<"
|
SEMICOLON = 49, // ";"
|
||||||
RSHIFT = 50, // ">>"
|
INCREMENT = 50, // "++"
|
||||||
OR = 51, // "||"
|
DECREMENT = 51, // "--"
|
||||||
AND = 52, // "&&"
|
LSHIFT = 52, // "<<"
|
||||||
EQUALITY = 53, // "=="
|
RSHIFT = 53, // ">>"
|
||||||
INEQUALITY = 54, // "!="
|
OR = 54, // "||"
|
||||||
LESS_EQUAL = 55, // "<="
|
AND = 55, // "&&"
|
||||||
GREATER_EQUAL = 56, // ">="
|
EQUALITY = 56, // "=="
|
||||||
LESS = 57, // "<"
|
INEQUALITY = 57, // "!="
|
||||||
GREATER = 58, // ">"
|
LESS_EQUAL = 58, // "<="
|
||||||
NOT = 59, // "!"
|
GREATER_EQUAL = 59, // ">="
|
||||||
COMPLEMENT = 60, // "~"
|
LESS = 60, // "<"
|
||||||
ASSIGN = 61, // "="
|
GREATER = 61, // ">"
|
||||||
ASSIGN_ADD = 62, // "+="
|
NOT = 62, // "!"
|
||||||
ASSIGN_SUB = 63, // "-="
|
COMPLEMENT = 63, // "~"
|
||||||
ASSIGN_MULT = 64, // "*="
|
ASSIGN = 64, // "="
|
||||||
ASSIGN_DIV = 65, // "/="
|
ASSIGN_ADD = 65, // "+="
|
||||||
ASSIGN_MOD = 66, // "%="
|
ASSIGN_SUB = 66, // "-="
|
||||||
ASSIGN_BITWISE_OR = 67, // "|="
|
ASSIGN_MULT = 67, // "*="
|
||||||
ASSIGN_BITWISE_AND = 68, // "&="
|
ASSIGN_DIV = 68, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 69, // "^="
|
ASSIGN_MOD = 69, // "%="
|
||||||
ASSIGN_RSHIFT = 70, // ">>="
|
ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
ASSIGN_LSHIFT = 71, // "<<="
|
ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
BITWISE_OR = 72, // "|"
|
ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
BITWISE_AND = 73, // "&"
|
ASSIGN_RSHIFT = 73, // ">>="
|
||||||
BITWISE_EXOR = 74, // "^"
|
ASSIGN_LSHIFT = 74, // "<<="
|
||||||
ADD = 75, // "+"
|
BITWISE_OR = 75, // "|"
|
||||||
SUB = 76, // "-"
|
BITWISE_AND = 76, // "&"
|
||||||
MULT = 77, // "*"
|
BITWISE_EXOR = 77, // "^"
|
||||||
DIV = 78, // "/"
|
ADD = 78, // "+"
|
||||||
MOD = 79, // "%"
|
SUB = 79, // "-"
|
||||||
FILE = 80, // "file path"
|
MULT = 80, // "*"
|
||||||
NAME = 81, // "identifier"
|
DIV = 81, // "/"
|
||||||
STRING = 82, // "string literal"
|
MOD = 82, // "%"
|
||||||
ISTRING = 83, // "localized string"
|
FILE = 83, // "file path"
|
||||||
FLOAT = 84, // "float"
|
NAME = 84, // "identifier"
|
||||||
INTEGER = 85, // "int"
|
STRING = 85, // "string literal"
|
||||||
ADD_ARRAY = 86, // ADD_ARRAY
|
ISTRING = 86, // "localized string"
|
||||||
THEN = 87, // THEN
|
FLOAT = 87, // "float"
|
||||||
NEG = 88, // NEG
|
INTEGER = 88, // "int"
|
||||||
ANIMREF = 89, // ANIMREF
|
ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
PREINC = 90, // PREINC
|
THEN = 90, // THEN
|
||||||
PREDEC = 91, // PREDEC
|
NEG = 91, // NEG
|
||||||
POSTINC = 92, // POSTINC
|
ANIMREF = 92, // ANIMREF
|
||||||
POSTDEC = 93 // POSTDEC
|
PREINC = 93, // PREINC
|
||||||
|
PREDEC = 94, // PREDEC
|
||||||
|
POSTINC = 95, // POSTINC
|
||||||
|
POSTDEC = 96 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -747,174 +759,180 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 94, ///< Number of tokens.
|
YYNTOKENS = 97, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_IF = 12, // "if"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_ELSE = 13, // "else"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_WHILE = 14, // "while"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_FOR = 15, // "for"
|
S_IF = 15, // "if"
|
||||||
S_FOREACH = 16, // "foreach"
|
S_ELSE = 16, // "else"
|
||||||
S_IN = 17, // "in"
|
S_WHILE = 17, // "while"
|
||||||
S_SWITCH = 18, // "switch"
|
S_FOR = 18, // "for"
|
||||||
S_CASE = 19, // "case"
|
S_FOREACH = 19, // "foreach"
|
||||||
S_DEFAULT = 20, // "default"
|
S_IN = 20, // "in"
|
||||||
S_BREAK = 21, // "break"
|
S_SWITCH = 21, // "switch"
|
||||||
S_CONTINUE = 22, // "continue"
|
S_CASE = 22, // "case"
|
||||||
S_RETURN = 23, // "return"
|
S_DEFAULT = 23, // "default"
|
||||||
S_THREAD = 24, // "thread"
|
S_BREAK = 24, // "break"
|
||||||
S_CHILDTHREAD = 25, // "childthread"
|
S_CONTINUE = 25, // "continue"
|
||||||
S_THISTHREAD = 26, // "thisthread"
|
S_RETURN = 26, // "return"
|
||||||
S_CALL = 27, // "call"
|
S_THREAD = 27, // "thread"
|
||||||
S_TRUE = 28, // "true"
|
S_CHILDTHREAD = 28, // "childthread"
|
||||||
S_FALSE = 29, // "false"
|
S_THISTHREAD = 29, // "thisthread"
|
||||||
S_UNDEFINED = 30, // "undefined"
|
S_CALL = 30, // "call"
|
||||||
S_SIZE = 31, // "size"
|
S_TRUE = 31, // "true"
|
||||||
S_GAME = 32, // "game"
|
S_FALSE = 32, // "false"
|
||||||
S_SELF = 33, // "self"
|
S_UNDEFINED = 33, // "undefined"
|
||||||
S_ANIM = 34, // "anim"
|
S_SIZE = 34, // ".size"
|
||||||
S_LEVEL = 35, // "level"
|
S_GAME = 35, // "game"
|
||||||
S_LPAREN = 36, // "("
|
S_SELF = 36, // "self"
|
||||||
S_RPAREN = 37, // ")"
|
S_ANIM = 37, // "anim"
|
||||||
S_LBRACE = 38, // "{"
|
S_LEVEL = 38, // "level"
|
||||||
S_RBRACE = 39, // "}"
|
S_LPAREN = 39, // "("
|
||||||
S_LBRACKET = 40, // "["
|
S_RPAREN = 40, // ")"
|
||||||
S_RBRACKET = 41, // "]"
|
S_LBRACE = 41, // "{"
|
||||||
S_COMMA = 42, // ","
|
S_RBRACE = 42, // "}"
|
||||||
S_DOT = 43, // "."
|
S_LBRACKET = 43, // "["
|
||||||
S_DOUBLECOLON = 44, // "::"
|
S_RBRACKET = 44, // "]"
|
||||||
S_COLON = 45, // ":"
|
S_COMMA = 45, // ","
|
||||||
S_SEMICOLON = 46, // ";"
|
S_DOT = 46, // "."
|
||||||
S_INCREMENT = 47, // "++"
|
S_DOUBLECOLON = 47, // "::"
|
||||||
S_DECREMENT = 48, // "--"
|
S_COLON = 48, // ":"
|
||||||
S_LSHIFT = 49, // "<<"
|
S_SEMICOLON = 49, // ";"
|
||||||
S_RSHIFT = 50, // ">>"
|
S_INCREMENT = 50, // "++"
|
||||||
S_OR = 51, // "||"
|
S_DECREMENT = 51, // "--"
|
||||||
S_AND = 52, // "&&"
|
S_LSHIFT = 52, // "<<"
|
||||||
S_EQUALITY = 53, // "=="
|
S_RSHIFT = 53, // ">>"
|
||||||
S_INEQUALITY = 54, // "!="
|
S_OR = 54, // "||"
|
||||||
S_LESS_EQUAL = 55, // "<="
|
S_AND = 55, // "&&"
|
||||||
S_GREATER_EQUAL = 56, // ">="
|
S_EQUALITY = 56, // "=="
|
||||||
S_LESS = 57, // "<"
|
S_INEQUALITY = 57, // "!="
|
||||||
S_GREATER = 58, // ">"
|
S_LESS_EQUAL = 58, // "<="
|
||||||
S_NOT = 59, // "!"
|
S_GREATER_EQUAL = 59, // ">="
|
||||||
S_COMPLEMENT = 60, // "~"
|
S_LESS = 60, // "<"
|
||||||
S_ASSIGN = 61, // "="
|
S_GREATER = 61, // ">"
|
||||||
S_ASSIGN_ADD = 62, // "+="
|
S_NOT = 62, // "!"
|
||||||
S_ASSIGN_SUB = 63, // "-="
|
S_COMPLEMENT = 63, // "~"
|
||||||
S_ASSIGN_MULT = 64, // "*="
|
S_ASSIGN = 64, // "="
|
||||||
S_ASSIGN_DIV = 65, // "/="
|
S_ASSIGN_ADD = 65, // "+="
|
||||||
S_ASSIGN_MOD = 66, // "%="
|
S_ASSIGN_SUB = 66, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 67, // "|="
|
S_ASSIGN_MULT = 67, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 68, // "&="
|
S_ASSIGN_DIV = 68, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 69, // "^="
|
S_ASSIGN_MOD = 69, // "%="
|
||||||
S_ASSIGN_RSHIFT = 70, // ">>="
|
S_ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
S_ASSIGN_LSHIFT = 71, // "<<="
|
S_ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
S_BITWISE_OR = 72, // "|"
|
S_ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
S_BITWISE_AND = 73, // "&"
|
S_ASSIGN_RSHIFT = 73, // ">>="
|
||||||
S_BITWISE_EXOR = 74, // "^"
|
S_ASSIGN_LSHIFT = 74, // "<<="
|
||||||
S_ADD = 75, // "+"
|
S_BITWISE_OR = 75, // "|"
|
||||||
S_SUB = 76, // "-"
|
S_BITWISE_AND = 76, // "&"
|
||||||
S_MULT = 77, // "*"
|
S_BITWISE_EXOR = 77, // "^"
|
||||||
S_DIV = 78, // "/"
|
S_ADD = 78, // "+"
|
||||||
S_MOD = 79, // "%"
|
S_SUB = 79, // "-"
|
||||||
S_FILE = 80, // "file path"
|
S_MULT = 80, // "*"
|
||||||
S_NAME = 81, // "identifier"
|
S_DIV = 81, // "/"
|
||||||
S_STRING = 82, // "string literal"
|
S_MOD = 82, // "%"
|
||||||
S_ISTRING = 83, // "localized string"
|
S_FILE = 83, // "file path"
|
||||||
S_FLOAT = 84, // "float"
|
S_NAME = 84, // "identifier"
|
||||||
S_INTEGER = 85, // "int"
|
S_STRING = 85, // "string literal"
|
||||||
S_ADD_ARRAY = 86, // ADD_ARRAY
|
S_ISTRING = 86, // "localized string"
|
||||||
S_THEN = 87, // THEN
|
S_FLOAT = 87, // "float"
|
||||||
S_NEG = 88, // NEG
|
S_INTEGER = 88, // "int"
|
||||||
S_ANIMREF = 89, // ANIMREF
|
S_ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
S_PREINC = 90, // PREINC
|
S_THEN = 90, // THEN
|
||||||
S_PREDEC = 91, // PREDEC
|
S_NEG = 91, // NEG
|
||||||
S_POSTINC = 92, // POSTINC
|
S_ANIMREF = 92, // ANIMREF
|
||||||
S_POSTDEC = 93, // POSTDEC
|
S_PREINC = 93, // PREINC
|
||||||
S_YYACCEPT = 94, // $accept
|
S_PREDEC = 94, // PREDEC
|
||||||
S_root = 95, // root
|
S_POSTINC = 95, // POSTINC
|
||||||
S_program = 96, // program
|
S_POSTDEC = 96, // POSTDEC
|
||||||
S_include = 97, // include
|
S_YYACCEPT = 97, // $accept
|
||||||
S_define = 98, // define
|
S_root = 98, // root
|
||||||
S_usingtree = 99, // usingtree
|
S_program = 99, // program
|
||||||
S_constant = 100, // constant
|
S_include = 100, // include
|
||||||
S_thread = 101, // thread
|
S_define = 101, // define
|
||||||
S_parameters = 102, // parameters
|
S_usingtree = 102, // usingtree
|
||||||
S_stmt = 103, // stmt
|
S_constant = 103, // constant
|
||||||
S_stmt_block = 104, // stmt_block
|
S_thread = 104, // thread
|
||||||
S_stmt_list = 105, // stmt_list
|
S_parameters = 105, // parameters
|
||||||
S_stmt_call = 106, // stmt_call
|
S_stmt = 106, // stmt
|
||||||
S_stmt_assign = 107, // stmt_assign
|
S_stmt_block = 107, // stmt_block
|
||||||
S_stmt_endon = 108, // stmt_endon
|
S_stmt_list = 108, // stmt_list
|
||||||
S_stmt_notify = 109, // stmt_notify
|
S_stmt_call = 109, // stmt_call
|
||||||
S_stmt_wait = 110, // stmt_wait
|
S_stmt_assign = 110, // stmt_assign
|
||||||
S_stmt_waittill = 111, // stmt_waittill
|
S_stmt_endon = 111, // stmt_endon
|
||||||
S_stmt_waittillmatch = 112, // stmt_waittillmatch
|
S_stmt_notify = 112, // stmt_notify
|
||||||
S_stmt_waittillframeend = 113, // stmt_waittillframeend
|
S_stmt_wait = 113, // stmt_wait
|
||||||
S_stmt_if = 114, // stmt_if
|
S_stmt_waittill = 114, // stmt_waittill
|
||||||
S_stmt_ifelse = 115, // stmt_ifelse
|
S_stmt_waittillmatch = 115, // stmt_waittillmatch
|
||||||
S_stmt_while = 116, // stmt_while
|
S_stmt_waittillframeend = 116, // stmt_waittillframeend
|
||||||
S_stmt_for = 117, // stmt_for
|
S_stmt_if = 117, // stmt_if
|
||||||
S_stmt_foreach = 118, // stmt_foreach
|
S_stmt_ifelse = 118, // stmt_ifelse
|
||||||
S_stmt_switch = 119, // stmt_switch
|
S_stmt_while = 119, // stmt_while
|
||||||
S_stmt_case = 120, // stmt_case
|
S_stmt_for = 120, // stmt_for
|
||||||
S_stmt_default = 121, // stmt_default
|
S_stmt_foreach = 121, // stmt_foreach
|
||||||
S_stmt_break = 122, // stmt_break
|
S_stmt_switch = 122, // stmt_switch
|
||||||
S_stmt_continue = 123, // stmt_continue
|
S_stmt_case = 123, // stmt_case
|
||||||
S_stmt_return = 124, // stmt_return
|
S_stmt_default = 124, // stmt_default
|
||||||
S_for_stmt = 125, // for_stmt
|
S_stmt_break = 125, // stmt_break
|
||||||
S_for_expr = 126, // for_expr
|
S_stmt_continue = 126, // stmt_continue
|
||||||
S_expr = 127, // expr
|
S_stmt_return = 127, // stmt_return
|
||||||
S_expr_assign = 128, // expr_assign
|
S_stmt_breakpoint = 128, // stmt_breakpoint
|
||||||
S_expr_compare = 129, // expr_compare
|
S_stmt_prof_begin = 129, // stmt_prof_begin
|
||||||
S_expr_binary = 130, // expr_binary
|
S_stmt_prof_end = 130, // stmt_prof_end
|
||||||
S_expr_primitive = 131, // expr_primitive
|
S_for_stmt = 131, // for_stmt
|
||||||
S_expr_call = 132, // expr_call
|
S_for_expr = 132, // for_expr
|
||||||
S_expr_call_thread = 133, // expr_call_thread
|
S_expr = 133, // expr
|
||||||
S_expr_call_childthread = 134, // expr_call_childthread
|
S_expr_assign = 134, // expr_assign
|
||||||
S_expr_call_function = 135, // expr_call_function
|
S_expr_compare = 135, // expr_compare
|
||||||
S_expr_call_pointer = 136, // expr_call_pointer
|
S_expr_binary = 136, // expr_binary
|
||||||
S_expr_arguments = 137, // expr_arguments
|
S_expr_primitive = 137, // expr_primitive
|
||||||
S_expr_arguments_filled = 138, // expr_arguments_filled
|
S_expr_call = 138, // expr_call
|
||||||
S_expr_arguments_empty = 139, // expr_arguments_empty
|
S_expr_call_thread = 139, // expr_call_thread
|
||||||
S_expr_function = 140, // expr_function
|
S_expr_call_childthread = 140, // expr_call_childthread
|
||||||
S_expr_add_array = 141, // expr_add_array
|
S_expr_call_function = 141, // expr_call_function
|
||||||
S_expr_array = 142, // expr_array
|
S_expr_call_pointer = 142, // expr_call_pointer
|
||||||
S_expr_field = 143, // expr_field
|
S_expr_arguments = 143, // expr_arguments
|
||||||
S_expr_size = 144, // expr_size
|
S_expr_arguments_filled = 144, // expr_arguments_filled
|
||||||
S_object = 145, // object
|
S_expr_arguments_empty = 145, // expr_arguments_empty
|
||||||
S_thisthread = 146, // thisthread
|
S_expr_function = 146, // expr_function
|
||||||
S_empty_array = 147, // empty_array
|
S_expr_add_array = 147, // expr_add_array
|
||||||
S_undefined = 148, // undefined
|
S_expr_array = 148, // expr_array
|
||||||
S_game = 149, // game
|
S_expr_field = 149, // expr_field
|
||||||
S_self = 150, // self
|
S_expr_size = 150, // expr_size
|
||||||
S_anim = 151, // anim
|
S_object = 151, // object
|
||||||
S_level = 152, // level
|
S_thisthread = 152, // thisthread
|
||||||
S_animation = 153, // animation
|
S_empty_array = 153, // empty_array
|
||||||
S_animtree = 154, // animtree
|
S_undefined = 154, // undefined
|
||||||
S_name = 155, // name
|
S_game = 155, // game
|
||||||
S_file = 156, // file
|
S_self = 156, // self
|
||||||
S_istring = 157, // istring
|
S_anim = 157, // anim
|
||||||
S_string = 158, // string
|
S_level = 158, // level
|
||||||
S_vector = 159, // vector
|
S_animation = 159, // animation
|
||||||
S_neg_float = 160, // neg_float
|
S_animtree = 160, // animtree
|
||||||
S_neg_integer = 161, // neg_integer
|
S_name = 161, // name
|
||||||
S_float = 162, // float
|
S_file = 162, // file
|
||||||
S_integer = 163, // integer
|
S_istring = 163, // istring
|
||||||
S_false = 164, // false
|
S_string = 164, // string
|
||||||
S_true = 165 // true
|
S_vector = 165, // vector
|
||||||
|
S_neg_float = 166, // neg_float
|
||||||
|
S_neg_integer = 167, // neg_integer
|
||||||
|
S_float = 168, // float
|
||||||
|
S_integer = 169, // integer
|
||||||
|
S_false = 170, // false
|
||||||
|
S_true = 171 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1080,6 +1098,10 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1125,6 +1147,14 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1587,6 +1617,20 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1741,6 +1785,34 @@ namespace xsk { namespace gsc { namespace iw6 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2102,6 +2174,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2147,6 +2223,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2409,6 +2493,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::IW6UNDEF, l);
|
return symbol_type (token::IW6UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4118,8 +4247,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1580, ///< Last index in yytable_.
|
yylast_ = 1591, ///< Last index in yytable_.
|
||||||
yynnts_ = 72, ///< Number of nonterminal symbols.
|
yynnts_ = 75, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4276,6 +4405,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4321,6 +4454,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4540,6 +4681,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4585,6 +4730,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4709,7 +4862,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::iw6
|
} } } // xsk::gsc::iw6
|
||||||
#line 4713 "parser.hpp"
|
#line 4866 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 145 "lexer.lpp"
|
#line 148 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,85 +510,94 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy43[sizeof (stmt_waittill_ptr)];
|
char dummy46[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy44[sizeof (stmt_waittillframeend_ptr)];
|
char dummy47[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy45[sizeof (stmt_waittillmatch_ptr)];
|
char dummy48[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy46[sizeof (stmt_while_ptr)];
|
char dummy49[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy47[sizeof (string_ptr)];
|
char dummy50[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy48[sizeof (thisthread_ptr)];
|
char dummy51[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy49[sizeof (thread_ptr)];
|
char dummy52[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy50[sizeof (true_ptr)];
|
char dummy53[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy51[sizeof (undefined_ptr)];
|
char dummy54[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy52[sizeof (usingtree_ptr)];
|
char dummy55[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy53[sizeof (vector_ptr)];
|
char dummy56[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -640,97 +649,100 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
IW7EOF = 0, // "end of file"
|
IW7EOF = 0, // "end of file"
|
||||||
IW7error = 1, // error
|
IW7error = 1, // error
|
||||||
IW7UNDEF = 2, // "invalid token"
|
IW7UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
IF = 12, // "if"
|
WAITTILL = 12, // "waittill"
|
||||||
ELSE = 13, // "else"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
WHILE = 14, // "while"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
FOR = 15, // "for"
|
IF = 15, // "if"
|
||||||
FOREACH = 16, // "foreach"
|
ELSE = 16, // "else"
|
||||||
IN = 17, // "in"
|
WHILE = 17, // "while"
|
||||||
SWITCH = 18, // "switch"
|
FOR = 18, // "for"
|
||||||
CASE = 19, // "case"
|
FOREACH = 19, // "foreach"
|
||||||
DEFAULT = 20, // "default"
|
IN = 20, // "in"
|
||||||
BREAK = 21, // "break"
|
SWITCH = 21, // "switch"
|
||||||
CONTINUE = 22, // "continue"
|
CASE = 22, // "case"
|
||||||
RETURN = 23, // "return"
|
DEFAULT = 23, // "default"
|
||||||
THREAD = 24, // "thread"
|
BREAK = 24, // "break"
|
||||||
CHILDTHREAD = 25, // "childthread"
|
CONTINUE = 25, // "continue"
|
||||||
THISTHREAD = 26, // "thisthread"
|
RETURN = 26, // "return"
|
||||||
CALL = 27, // "call"
|
THREAD = 27, // "thread"
|
||||||
TRUE = 28, // "true"
|
CHILDTHREAD = 28, // "childthread"
|
||||||
FALSE = 29, // "false"
|
THISTHREAD = 29, // "thisthread"
|
||||||
UNDEFINED = 30, // "undefined"
|
CALL = 30, // "call"
|
||||||
SIZE = 31, // "size"
|
TRUE = 31, // "true"
|
||||||
GAME = 32, // "game"
|
FALSE = 32, // "false"
|
||||||
SELF = 33, // "self"
|
UNDEFINED = 33, // "undefined"
|
||||||
ANIM = 34, // "anim"
|
SIZE = 34, // ".size"
|
||||||
LEVEL = 35, // "level"
|
GAME = 35, // "game"
|
||||||
LPAREN = 36, // "("
|
SELF = 36, // "self"
|
||||||
RPAREN = 37, // ")"
|
ANIM = 37, // "anim"
|
||||||
LBRACE = 38, // "{"
|
LEVEL = 38, // "level"
|
||||||
RBRACE = 39, // "}"
|
LPAREN = 39, // "("
|
||||||
LBRACKET = 40, // "["
|
RPAREN = 40, // ")"
|
||||||
RBRACKET = 41, // "]"
|
LBRACE = 41, // "{"
|
||||||
COMMA = 42, // ","
|
RBRACE = 42, // "}"
|
||||||
DOT = 43, // "."
|
LBRACKET = 43, // "["
|
||||||
DOUBLECOLON = 44, // "::"
|
RBRACKET = 44, // "]"
|
||||||
COLON = 45, // ":"
|
COMMA = 45, // ","
|
||||||
SEMICOLON = 46, // ";"
|
DOT = 46, // "."
|
||||||
INCREMENT = 47, // "++"
|
DOUBLECOLON = 47, // "::"
|
||||||
DECREMENT = 48, // "--"
|
COLON = 48, // ":"
|
||||||
LSHIFT = 49, // "<<"
|
SEMICOLON = 49, // ";"
|
||||||
RSHIFT = 50, // ">>"
|
INCREMENT = 50, // "++"
|
||||||
OR = 51, // "||"
|
DECREMENT = 51, // "--"
|
||||||
AND = 52, // "&&"
|
LSHIFT = 52, // "<<"
|
||||||
EQUALITY = 53, // "=="
|
RSHIFT = 53, // ">>"
|
||||||
INEQUALITY = 54, // "!="
|
OR = 54, // "||"
|
||||||
LESS_EQUAL = 55, // "<="
|
AND = 55, // "&&"
|
||||||
GREATER_EQUAL = 56, // ">="
|
EQUALITY = 56, // "=="
|
||||||
LESS = 57, // "<"
|
INEQUALITY = 57, // "!="
|
||||||
GREATER = 58, // ">"
|
LESS_EQUAL = 58, // "<="
|
||||||
NOT = 59, // "!"
|
GREATER_EQUAL = 59, // ">="
|
||||||
COMPLEMENT = 60, // "~"
|
LESS = 60, // "<"
|
||||||
ASSIGN = 61, // "="
|
GREATER = 61, // ">"
|
||||||
ASSIGN_ADD = 62, // "+="
|
NOT = 62, // "!"
|
||||||
ASSIGN_SUB = 63, // "-="
|
COMPLEMENT = 63, // "~"
|
||||||
ASSIGN_MULT = 64, // "*="
|
ASSIGN = 64, // "="
|
||||||
ASSIGN_DIV = 65, // "/="
|
ASSIGN_ADD = 65, // "+="
|
||||||
ASSIGN_MOD = 66, // "%="
|
ASSIGN_SUB = 66, // "-="
|
||||||
ASSIGN_BITWISE_OR = 67, // "|="
|
ASSIGN_MULT = 67, // "*="
|
||||||
ASSIGN_BITWISE_AND = 68, // "&="
|
ASSIGN_DIV = 68, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 69, // "^="
|
ASSIGN_MOD = 69, // "%="
|
||||||
ASSIGN_RSHIFT = 70, // ">>="
|
ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
ASSIGN_LSHIFT = 71, // "<<="
|
ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
BITWISE_OR = 72, // "|"
|
ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
BITWISE_AND = 73, // "&"
|
ASSIGN_RSHIFT = 73, // ">>="
|
||||||
BITWISE_EXOR = 74, // "^"
|
ASSIGN_LSHIFT = 74, // "<<="
|
||||||
ADD = 75, // "+"
|
BITWISE_OR = 75, // "|"
|
||||||
SUB = 76, // "-"
|
BITWISE_AND = 76, // "&"
|
||||||
MULT = 77, // "*"
|
BITWISE_EXOR = 77, // "^"
|
||||||
DIV = 78, // "/"
|
ADD = 78, // "+"
|
||||||
MOD = 79, // "%"
|
SUB = 79, // "-"
|
||||||
FILE = 80, // "file path"
|
MULT = 80, // "*"
|
||||||
NAME = 81, // "identifier"
|
DIV = 81, // "/"
|
||||||
STRING = 82, // "string literal"
|
MOD = 82, // "%"
|
||||||
ISTRING = 83, // "localized string"
|
FILE = 83, // "file path"
|
||||||
FLOAT = 84, // "float"
|
NAME = 84, // "identifier"
|
||||||
INTEGER = 85, // "int"
|
STRING = 85, // "string literal"
|
||||||
ADD_ARRAY = 86, // ADD_ARRAY
|
ISTRING = 86, // "localized string"
|
||||||
THEN = 87, // THEN
|
FLOAT = 87, // "float"
|
||||||
NEG = 88, // NEG
|
INTEGER = 88, // "int"
|
||||||
ANIMREF = 89, // ANIMREF
|
ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
PREINC = 90, // PREINC
|
THEN = 90, // THEN
|
||||||
PREDEC = 91, // PREDEC
|
NEG = 91, // NEG
|
||||||
POSTINC = 92, // POSTINC
|
ANIMREF = 92, // ANIMREF
|
||||||
POSTDEC = 93 // POSTDEC
|
PREINC = 93, // PREINC
|
||||||
|
PREDEC = 94, // PREDEC
|
||||||
|
POSTINC = 95, // POSTINC
|
||||||
|
POSTDEC = 96 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -747,174 +759,180 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 94, ///< Number of tokens.
|
YYNTOKENS = 97, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_IF = 12, // "if"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_ELSE = 13, // "else"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_WHILE = 14, // "while"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_FOR = 15, // "for"
|
S_IF = 15, // "if"
|
||||||
S_FOREACH = 16, // "foreach"
|
S_ELSE = 16, // "else"
|
||||||
S_IN = 17, // "in"
|
S_WHILE = 17, // "while"
|
||||||
S_SWITCH = 18, // "switch"
|
S_FOR = 18, // "for"
|
||||||
S_CASE = 19, // "case"
|
S_FOREACH = 19, // "foreach"
|
||||||
S_DEFAULT = 20, // "default"
|
S_IN = 20, // "in"
|
||||||
S_BREAK = 21, // "break"
|
S_SWITCH = 21, // "switch"
|
||||||
S_CONTINUE = 22, // "continue"
|
S_CASE = 22, // "case"
|
||||||
S_RETURN = 23, // "return"
|
S_DEFAULT = 23, // "default"
|
||||||
S_THREAD = 24, // "thread"
|
S_BREAK = 24, // "break"
|
||||||
S_CHILDTHREAD = 25, // "childthread"
|
S_CONTINUE = 25, // "continue"
|
||||||
S_THISTHREAD = 26, // "thisthread"
|
S_RETURN = 26, // "return"
|
||||||
S_CALL = 27, // "call"
|
S_THREAD = 27, // "thread"
|
||||||
S_TRUE = 28, // "true"
|
S_CHILDTHREAD = 28, // "childthread"
|
||||||
S_FALSE = 29, // "false"
|
S_THISTHREAD = 29, // "thisthread"
|
||||||
S_UNDEFINED = 30, // "undefined"
|
S_CALL = 30, // "call"
|
||||||
S_SIZE = 31, // "size"
|
S_TRUE = 31, // "true"
|
||||||
S_GAME = 32, // "game"
|
S_FALSE = 32, // "false"
|
||||||
S_SELF = 33, // "self"
|
S_UNDEFINED = 33, // "undefined"
|
||||||
S_ANIM = 34, // "anim"
|
S_SIZE = 34, // ".size"
|
||||||
S_LEVEL = 35, // "level"
|
S_GAME = 35, // "game"
|
||||||
S_LPAREN = 36, // "("
|
S_SELF = 36, // "self"
|
||||||
S_RPAREN = 37, // ")"
|
S_ANIM = 37, // "anim"
|
||||||
S_LBRACE = 38, // "{"
|
S_LEVEL = 38, // "level"
|
||||||
S_RBRACE = 39, // "}"
|
S_LPAREN = 39, // "("
|
||||||
S_LBRACKET = 40, // "["
|
S_RPAREN = 40, // ")"
|
||||||
S_RBRACKET = 41, // "]"
|
S_LBRACE = 41, // "{"
|
||||||
S_COMMA = 42, // ","
|
S_RBRACE = 42, // "}"
|
||||||
S_DOT = 43, // "."
|
S_LBRACKET = 43, // "["
|
||||||
S_DOUBLECOLON = 44, // "::"
|
S_RBRACKET = 44, // "]"
|
||||||
S_COLON = 45, // ":"
|
S_COMMA = 45, // ","
|
||||||
S_SEMICOLON = 46, // ";"
|
S_DOT = 46, // "."
|
||||||
S_INCREMENT = 47, // "++"
|
S_DOUBLECOLON = 47, // "::"
|
||||||
S_DECREMENT = 48, // "--"
|
S_COLON = 48, // ":"
|
||||||
S_LSHIFT = 49, // "<<"
|
S_SEMICOLON = 49, // ";"
|
||||||
S_RSHIFT = 50, // ">>"
|
S_INCREMENT = 50, // "++"
|
||||||
S_OR = 51, // "||"
|
S_DECREMENT = 51, // "--"
|
||||||
S_AND = 52, // "&&"
|
S_LSHIFT = 52, // "<<"
|
||||||
S_EQUALITY = 53, // "=="
|
S_RSHIFT = 53, // ">>"
|
||||||
S_INEQUALITY = 54, // "!="
|
S_OR = 54, // "||"
|
||||||
S_LESS_EQUAL = 55, // "<="
|
S_AND = 55, // "&&"
|
||||||
S_GREATER_EQUAL = 56, // ">="
|
S_EQUALITY = 56, // "=="
|
||||||
S_LESS = 57, // "<"
|
S_INEQUALITY = 57, // "!="
|
||||||
S_GREATER = 58, // ">"
|
S_LESS_EQUAL = 58, // "<="
|
||||||
S_NOT = 59, // "!"
|
S_GREATER_EQUAL = 59, // ">="
|
||||||
S_COMPLEMENT = 60, // "~"
|
S_LESS = 60, // "<"
|
||||||
S_ASSIGN = 61, // "="
|
S_GREATER = 61, // ">"
|
||||||
S_ASSIGN_ADD = 62, // "+="
|
S_NOT = 62, // "!"
|
||||||
S_ASSIGN_SUB = 63, // "-="
|
S_COMPLEMENT = 63, // "~"
|
||||||
S_ASSIGN_MULT = 64, // "*="
|
S_ASSIGN = 64, // "="
|
||||||
S_ASSIGN_DIV = 65, // "/="
|
S_ASSIGN_ADD = 65, // "+="
|
||||||
S_ASSIGN_MOD = 66, // "%="
|
S_ASSIGN_SUB = 66, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 67, // "|="
|
S_ASSIGN_MULT = 67, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 68, // "&="
|
S_ASSIGN_DIV = 68, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 69, // "^="
|
S_ASSIGN_MOD = 69, // "%="
|
||||||
S_ASSIGN_RSHIFT = 70, // ">>="
|
S_ASSIGN_BITWISE_OR = 70, // "|="
|
||||||
S_ASSIGN_LSHIFT = 71, // "<<="
|
S_ASSIGN_BITWISE_AND = 71, // "&="
|
||||||
S_BITWISE_OR = 72, // "|"
|
S_ASSIGN_BITWISE_EXOR = 72, // "^="
|
||||||
S_BITWISE_AND = 73, // "&"
|
S_ASSIGN_RSHIFT = 73, // ">>="
|
||||||
S_BITWISE_EXOR = 74, // "^"
|
S_ASSIGN_LSHIFT = 74, // "<<="
|
||||||
S_ADD = 75, // "+"
|
S_BITWISE_OR = 75, // "|"
|
||||||
S_SUB = 76, // "-"
|
S_BITWISE_AND = 76, // "&"
|
||||||
S_MULT = 77, // "*"
|
S_BITWISE_EXOR = 77, // "^"
|
||||||
S_DIV = 78, // "/"
|
S_ADD = 78, // "+"
|
||||||
S_MOD = 79, // "%"
|
S_SUB = 79, // "-"
|
||||||
S_FILE = 80, // "file path"
|
S_MULT = 80, // "*"
|
||||||
S_NAME = 81, // "identifier"
|
S_DIV = 81, // "/"
|
||||||
S_STRING = 82, // "string literal"
|
S_MOD = 82, // "%"
|
||||||
S_ISTRING = 83, // "localized string"
|
S_FILE = 83, // "file path"
|
||||||
S_FLOAT = 84, // "float"
|
S_NAME = 84, // "identifier"
|
||||||
S_INTEGER = 85, // "int"
|
S_STRING = 85, // "string literal"
|
||||||
S_ADD_ARRAY = 86, // ADD_ARRAY
|
S_ISTRING = 86, // "localized string"
|
||||||
S_THEN = 87, // THEN
|
S_FLOAT = 87, // "float"
|
||||||
S_NEG = 88, // NEG
|
S_INTEGER = 88, // "int"
|
||||||
S_ANIMREF = 89, // ANIMREF
|
S_ADD_ARRAY = 89, // ADD_ARRAY
|
||||||
S_PREINC = 90, // PREINC
|
S_THEN = 90, // THEN
|
||||||
S_PREDEC = 91, // PREDEC
|
S_NEG = 91, // NEG
|
||||||
S_POSTINC = 92, // POSTINC
|
S_ANIMREF = 92, // ANIMREF
|
||||||
S_POSTDEC = 93, // POSTDEC
|
S_PREINC = 93, // PREINC
|
||||||
S_YYACCEPT = 94, // $accept
|
S_PREDEC = 94, // PREDEC
|
||||||
S_root = 95, // root
|
S_POSTINC = 95, // POSTINC
|
||||||
S_program = 96, // program
|
S_POSTDEC = 96, // POSTDEC
|
||||||
S_include = 97, // include
|
S_YYACCEPT = 97, // $accept
|
||||||
S_define = 98, // define
|
S_root = 98, // root
|
||||||
S_usingtree = 99, // usingtree
|
S_program = 99, // program
|
||||||
S_constant = 100, // constant
|
S_include = 100, // include
|
||||||
S_thread = 101, // thread
|
S_define = 101, // define
|
||||||
S_parameters = 102, // parameters
|
S_usingtree = 102, // usingtree
|
||||||
S_stmt = 103, // stmt
|
S_constant = 103, // constant
|
||||||
S_stmt_block = 104, // stmt_block
|
S_thread = 104, // thread
|
||||||
S_stmt_list = 105, // stmt_list
|
S_parameters = 105, // parameters
|
||||||
S_stmt_call = 106, // stmt_call
|
S_stmt = 106, // stmt
|
||||||
S_stmt_assign = 107, // stmt_assign
|
S_stmt_block = 107, // stmt_block
|
||||||
S_stmt_endon = 108, // stmt_endon
|
S_stmt_list = 108, // stmt_list
|
||||||
S_stmt_notify = 109, // stmt_notify
|
S_stmt_call = 109, // stmt_call
|
||||||
S_stmt_wait = 110, // stmt_wait
|
S_stmt_assign = 110, // stmt_assign
|
||||||
S_stmt_waittill = 111, // stmt_waittill
|
S_stmt_endon = 111, // stmt_endon
|
||||||
S_stmt_waittillmatch = 112, // stmt_waittillmatch
|
S_stmt_notify = 112, // stmt_notify
|
||||||
S_stmt_waittillframeend = 113, // stmt_waittillframeend
|
S_stmt_wait = 113, // stmt_wait
|
||||||
S_stmt_if = 114, // stmt_if
|
S_stmt_waittill = 114, // stmt_waittill
|
||||||
S_stmt_ifelse = 115, // stmt_ifelse
|
S_stmt_waittillmatch = 115, // stmt_waittillmatch
|
||||||
S_stmt_while = 116, // stmt_while
|
S_stmt_waittillframeend = 116, // stmt_waittillframeend
|
||||||
S_stmt_for = 117, // stmt_for
|
S_stmt_if = 117, // stmt_if
|
||||||
S_stmt_foreach = 118, // stmt_foreach
|
S_stmt_ifelse = 118, // stmt_ifelse
|
||||||
S_stmt_switch = 119, // stmt_switch
|
S_stmt_while = 119, // stmt_while
|
||||||
S_stmt_case = 120, // stmt_case
|
S_stmt_for = 120, // stmt_for
|
||||||
S_stmt_default = 121, // stmt_default
|
S_stmt_foreach = 121, // stmt_foreach
|
||||||
S_stmt_break = 122, // stmt_break
|
S_stmt_switch = 122, // stmt_switch
|
||||||
S_stmt_continue = 123, // stmt_continue
|
S_stmt_case = 123, // stmt_case
|
||||||
S_stmt_return = 124, // stmt_return
|
S_stmt_default = 124, // stmt_default
|
||||||
S_for_stmt = 125, // for_stmt
|
S_stmt_break = 125, // stmt_break
|
||||||
S_for_expr = 126, // for_expr
|
S_stmt_continue = 126, // stmt_continue
|
||||||
S_expr = 127, // expr
|
S_stmt_return = 127, // stmt_return
|
||||||
S_expr_assign = 128, // expr_assign
|
S_stmt_breakpoint = 128, // stmt_breakpoint
|
||||||
S_expr_compare = 129, // expr_compare
|
S_stmt_prof_begin = 129, // stmt_prof_begin
|
||||||
S_expr_binary = 130, // expr_binary
|
S_stmt_prof_end = 130, // stmt_prof_end
|
||||||
S_expr_primitive = 131, // expr_primitive
|
S_for_stmt = 131, // for_stmt
|
||||||
S_expr_call = 132, // expr_call
|
S_for_expr = 132, // for_expr
|
||||||
S_expr_call_thread = 133, // expr_call_thread
|
S_expr = 133, // expr
|
||||||
S_expr_call_childthread = 134, // expr_call_childthread
|
S_expr_assign = 134, // expr_assign
|
||||||
S_expr_call_function = 135, // expr_call_function
|
S_expr_compare = 135, // expr_compare
|
||||||
S_expr_call_pointer = 136, // expr_call_pointer
|
S_expr_binary = 136, // expr_binary
|
||||||
S_expr_arguments = 137, // expr_arguments
|
S_expr_primitive = 137, // expr_primitive
|
||||||
S_expr_arguments_filled = 138, // expr_arguments_filled
|
S_expr_call = 138, // expr_call
|
||||||
S_expr_arguments_empty = 139, // expr_arguments_empty
|
S_expr_call_thread = 139, // expr_call_thread
|
||||||
S_expr_function = 140, // expr_function
|
S_expr_call_childthread = 140, // expr_call_childthread
|
||||||
S_expr_add_array = 141, // expr_add_array
|
S_expr_call_function = 141, // expr_call_function
|
||||||
S_expr_array = 142, // expr_array
|
S_expr_call_pointer = 142, // expr_call_pointer
|
||||||
S_expr_field = 143, // expr_field
|
S_expr_arguments = 143, // expr_arguments
|
||||||
S_expr_size = 144, // expr_size
|
S_expr_arguments_filled = 144, // expr_arguments_filled
|
||||||
S_object = 145, // object
|
S_expr_arguments_empty = 145, // expr_arguments_empty
|
||||||
S_thisthread = 146, // thisthread
|
S_expr_function = 146, // expr_function
|
||||||
S_empty_array = 147, // empty_array
|
S_expr_add_array = 147, // expr_add_array
|
||||||
S_undefined = 148, // undefined
|
S_expr_array = 148, // expr_array
|
||||||
S_game = 149, // game
|
S_expr_field = 149, // expr_field
|
||||||
S_self = 150, // self
|
S_expr_size = 150, // expr_size
|
||||||
S_anim = 151, // anim
|
S_object = 151, // object
|
||||||
S_level = 152, // level
|
S_thisthread = 152, // thisthread
|
||||||
S_animation = 153, // animation
|
S_empty_array = 153, // empty_array
|
||||||
S_animtree = 154, // animtree
|
S_undefined = 154, // undefined
|
||||||
S_name = 155, // name
|
S_game = 155, // game
|
||||||
S_file = 156, // file
|
S_self = 156, // self
|
||||||
S_istring = 157, // istring
|
S_anim = 157, // anim
|
||||||
S_string = 158, // string
|
S_level = 158, // level
|
||||||
S_vector = 159, // vector
|
S_animation = 159, // animation
|
||||||
S_neg_float = 160, // neg_float
|
S_animtree = 160, // animtree
|
||||||
S_neg_integer = 161, // neg_integer
|
S_name = 161, // name
|
||||||
S_float = 162, // float
|
S_file = 162, // file
|
||||||
S_integer = 163, // integer
|
S_istring = 163, // istring
|
||||||
S_false = 164, // false
|
S_string = 164, // string
|
||||||
S_true = 165 // true
|
S_vector = 165, // vector
|
||||||
|
S_neg_float = 166, // neg_float
|
||||||
|
S_neg_integer = 167, // neg_integer
|
||||||
|
S_float = 168, // float
|
||||||
|
S_integer = 169, // integer
|
||||||
|
S_false = 170, // false
|
||||||
|
S_true = 171 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1080,6 +1098,10 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1125,6 +1147,14 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1587,6 +1617,20 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1741,6 +1785,34 @@ namespace xsk { namespace gsc { namespace iw7 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2102,6 +2174,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2147,6 +2223,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2409,6 +2493,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::IW7UNDEF, l);
|
return symbol_type (token::IW7UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4118,8 +4247,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1580, ///< Last index in yytable_.
|
yylast_ = 1591, ///< Last index in yytable_.
|
||||||
yynnts_ = 72, ///< Number of nonterminal symbols.
|
yynnts_ = 75, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4276,6 +4405,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4321,6 +4454,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4540,6 +4681,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4585,6 +4730,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4709,7 +4862,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::iw7
|
} } } // xsk::gsc::iw7
|
||||||
#line 4713 "parser.hpp"
|
#line 4866 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 146 "lexer.lpp"
|
#line 149 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,88 +510,97 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waitframe
|
// stmt_waitframe
|
||||||
char dummy43[sizeof (stmt_waitframe_ptr)];
|
char dummy46[sizeof (stmt_waitframe_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy44[sizeof (stmt_waittill_ptr)];
|
char dummy47[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy45[sizeof (stmt_waittillframeend_ptr)];
|
char dummy48[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy46[sizeof (stmt_waittillmatch_ptr)];
|
char dummy49[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy47[sizeof (stmt_while_ptr)];
|
char dummy50[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy48[sizeof (string_ptr)];
|
char dummy51[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy49[sizeof (thisthread_ptr)];
|
char dummy52[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy50[sizeof (thread_ptr)];
|
char dummy53[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy51[sizeof (true_ptr)];
|
char dummy54[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy52[sizeof (undefined_ptr)];
|
char dummy55[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy53[sizeof (usingtree_ptr)];
|
char dummy56[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy54[sizeof (vector_ptr)];
|
char dummy57[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -643,98 +652,101 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
S1EOF = 0, // "end of file"
|
S1EOF = 0, // "end of file"
|
||||||
S1error = 1, // error
|
S1error = 1, // error
|
||||||
S1UNDEF = 2, // "invalid token"
|
S1UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
WAITFRAME = 12, // "waitframe"
|
WAITTILL = 12, // "waittill"
|
||||||
IF = 13, // "if"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
ELSE = 14, // "else"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
WHILE = 15, // "while"
|
WAITFRAME = 15, // "waitframe"
|
||||||
FOR = 16, // "for"
|
IF = 16, // "if"
|
||||||
FOREACH = 17, // "foreach"
|
ELSE = 17, // "else"
|
||||||
IN = 18, // "in"
|
WHILE = 18, // "while"
|
||||||
SWITCH = 19, // "switch"
|
FOR = 19, // "for"
|
||||||
CASE = 20, // "case"
|
FOREACH = 20, // "foreach"
|
||||||
DEFAULT = 21, // "default"
|
IN = 21, // "in"
|
||||||
BREAK = 22, // "break"
|
SWITCH = 22, // "switch"
|
||||||
CONTINUE = 23, // "continue"
|
CASE = 23, // "case"
|
||||||
RETURN = 24, // "return"
|
DEFAULT = 24, // "default"
|
||||||
THREAD = 25, // "thread"
|
BREAK = 25, // "break"
|
||||||
CHILDTHREAD = 26, // "childthread"
|
CONTINUE = 26, // "continue"
|
||||||
THISTHREAD = 27, // "thisthread"
|
RETURN = 27, // "return"
|
||||||
CALL = 28, // "call"
|
THREAD = 28, // "thread"
|
||||||
TRUE = 29, // "true"
|
CHILDTHREAD = 29, // "childthread"
|
||||||
FALSE = 30, // "false"
|
THISTHREAD = 30, // "thisthread"
|
||||||
UNDEFINED = 31, // "undefined"
|
CALL = 31, // "call"
|
||||||
SIZE = 32, // "size"
|
TRUE = 32, // "true"
|
||||||
GAME = 33, // "game"
|
FALSE = 33, // "false"
|
||||||
SELF = 34, // "self"
|
UNDEFINED = 34, // "undefined"
|
||||||
ANIM = 35, // "anim"
|
SIZE = 35, // ".size"
|
||||||
LEVEL = 36, // "level"
|
GAME = 36, // "game"
|
||||||
LPAREN = 37, // "("
|
SELF = 37, // "self"
|
||||||
RPAREN = 38, // ")"
|
ANIM = 38, // "anim"
|
||||||
LBRACE = 39, // "{"
|
LEVEL = 39, // "level"
|
||||||
RBRACE = 40, // "}"
|
LPAREN = 40, // "("
|
||||||
LBRACKET = 41, // "["
|
RPAREN = 41, // ")"
|
||||||
RBRACKET = 42, // "]"
|
LBRACE = 42, // "{"
|
||||||
COMMA = 43, // ","
|
RBRACE = 43, // "}"
|
||||||
DOT = 44, // "."
|
LBRACKET = 44, // "["
|
||||||
DOUBLECOLON = 45, // "::"
|
RBRACKET = 45, // "]"
|
||||||
COLON = 46, // ":"
|
COMMA = 46, // ","
|
||||||
SEMICOLON = 47, // ";"
|
DOT = 47, // "."
|
||||||
INCREMENT = 48, // "++"
|
DOUBLECOLON = 48, // "::"
|
||||||
DECREMENT = 49, // "--"
|
COLON = 49, // ":"
|
||||||
LSHIFT = 50, // "<<"
|
SEMICOLON = 50, // ";"
|
||||||
RSHIFT = 51, // ">>"
|
INCREMENT = 51, // "++"
|
||||||
OR = 52, // "||"
|
DECREMENT = 52, // "--"
|
||||||
AND = 53, // "&&"
|
LSHIFT = 53, // "<<"
|
||||||
EQUALITY = 54, // "=="
|
RSHIFT = 54, // ">>"
|
||||||
INEQUALITY = 55, // "!="
|
OR = 55, // "||"
|
||||||
LESS_EQUAL = 56, // "<="
|
AND = 56, // "&&"
|
||||||
GREATER_EQUAL = 57, // ">="
|
EQUALITY = 57, // "=="
|
||||||
LESS = 58, // "<"
|
INEQUALITY = 58, // "!="
|
||||||
GREATER = 59, // ">"
|
LESS_EQUAL = 59, // "<="
|
||||||
NOT = 60, // "!"
|
GREATER_EQUAL = 60, // ">="
|
||||||
COMPLEMENT = 61, // "~"
|
LESS = 61, // "<"
|
||||||
ASSIGN = 62, // "="
|
GREATER = 62, // ">"
|
||||||
ASSIGN_ADD = 63, // "+="
|
NOT = 63, // "!"
|
||||||
ASSIGN_SUB = 64, // "-="
|
COMPLEMENT = 64, // "~"
|
||||||
ASSIGN_MULT = 65, // "*="
|
ASSIGN = 65, // "="
|
||||||
ASSIGN_DIV = 66, // "/="
|
ASSIGN_ADD = 66, // "+="
|
||||||
ASSIGN_MOD = 67, // "%="
|
ASSIGN_SUB = 67, // "-="
|
||||||
ASSIGN_BITWISE_OR = 68, // "|="
|
ASSIGN_MULT = 68, // "*="
|
||||||
ASSIGN_BITWISE_AND = 69, // "&="
|
ASSIGN_DIV = 69, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 70, // "^="
|
ASSIGN_MOD = 70, // "%="
|
||||||
ASSIGN_RSHIFT = 71, // ">>="
|
ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
ASSIGN_LSHIFT = 72, // "<<="
|
ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
BITWISE_OR = 73, // "|"
|
ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
BITWISE_AND = 74, // "&"
|
ASSIGN_RSHIFT = 74, // ">>="
|
||||||
BITWISE_EXOR = 75, // "^"
|
ASSIGN_LSHIFT = 75, // "<<="
|
||||||
ADD = 76, // "+"
|
BITWISE_OR = 76, // "|"
|
||||||
SUB = 77, // "-"
|
BITWISE_AND = 77, // "&"
|
||||||
MULT = 78, // "*"
|
BITWISE_EXOR = 78, // "^"
|
||||||
DIV = 79, // "/"
|
ADD = 79, // "+"
|
||||||
MOD = 80, // "%"
|
SUB = 80, // "-"
|
||||||
FILE = 81, // "file path"
|
MULT = 81, // "*"
|
||||||
NAME = 82, // "identifier"
|
DIV = 82, // "/"
|
||||||
STRING = 83, // "string literal"
|
MOD = 83, // "%"
|
||||||
ISTRING = 84, // "localized string"
|
FILE = 84, // "file path"
|
||||||
FLOAT = 85, // "float"
|
NAME = 85, // "identifier"
|
||||||
INTEGER = 86, // "int"
|
STRING = 86, // "string literal"
|
||||||
ADD_ARRAY = 87, // ADD_ARRAY
|
ISTRING = 87, // "localized string"
|
||||||
THEN = 88, // THEN
|
FLOAT = 88, // "float"
|
||||||
NEG = 89, // NEG
|
INTEGER = 89, // "int"
|
||||||
ANIMREF = 90, // ANIMREF
|
ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
PREINC = 91, // PREINC
|
THEN = 91, // THEN
|
||||||
PREDEC = 92, // PREDEC
|
NEG = 92, // NEG
|
||||||
POSTINC = 93, // POSTINC
|
ANIMREF = 93, // ANIMREF
|
||||||
POSTDEC = 94 // POSTDEC
|
PREINC = 94, // PREINC
|
||||||
|
PREDEC = 95, // PREDEC
|
||||||
|
POSTINC = 96, // POSTINC
|
||||||
|
POSTDEC = 97 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -751,176 +763,182 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 95, ///< Number of tokens.
|
YYNTOKENS = 98, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_WAITFRAME = 12, // "waitframe"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_IF = 13, // "if"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_ELSE = 14, // "else"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_WHILE = 15, // "while"
|
S_WAITFRAME = 15, // "waitframe"
|
||||||
S_FOR = 16, // "for"
|
S_IF = 16, // "if"
|
||||||
S_FOREACH = 17, // "foreach"
|
S_ELSE = 17, // "else"
|
||||||
S_IN = 18, // "in"
|
S_WHILE = 18, // "while"
|
||||||
S_SWITCH = 19, // "switch"
|
S_FOR = 19, // "for"
|
||||||
S_CASE = 20, // "case"
|
S_FOREACH = 20, // "foreach"
|
||||||
S_DEFAULT = 21, // "default"
|
S_IN = 21, // "in"
|
||||||
S_BREAK = 22, // "break"
|
S_SWITCH = 22, // "switch"
|
||||||
S_CONTINUE = 23, // "continue"
|
S_CASE = 23, // "case"
|
||||||
S_RETURN = 24, // "return"
|
S_DEFAULT = 24, // "default"
|
||||||
S_THREAD = 25, // "thread"
|
S_BREAK = 25, // "break"
|
||||||
S_CHILDTHREAD = 26, // "childthread"
|
S_CONTINUE = 26, // "continue"
|
||||||
S_THISTHREAD = 27, // "thisthread"
|
S_RETURN = 27, // "return"
|
||||||
S_CALL = 28, // "call"
|
S_THREAD = 28, // "thread"
|
||||||
S_TRUE = 29, // "true"
|
S_CHILDTHREAD = 29, // "childthread"
|
||||||
S_FALSE = 30, // "false"
|
S_THISTHREAD = 30, // "thisthread"
|
||||||
S_UNDEFINED = 31, // "undefined"
|
S_CALL = 31, // "call"
|
||||||
S_SIZE = 32, // "size"
|
S_TRUE = 32, // "true"
|
||||||
S_GAME = 33, // "game"
|
S_FALSE = 33, // "false"
|
||||||
S_SELF = 34, // "self"
|
S_UNDEFINED = 34, // "undefined"
|
||||||
S_ANIM = 35, // "anim"
|
S_SIZE = 35, // ".size"
|
||||||
S_LEVEL = 36, // "level"
|
S_GAME = 36, // "game"
|
||||||
S_LPAREN = 37, // "("
|
S_SELF = 37, // "self"
|
||||||
S_RPAREN = 38, // ")"
|
S_ANIM = 38, // "anim"
|
||||||
S_LBRACE = 39, // "{"
|
S_LEVEL = 39, // "level"
|
||||||
S_RBRACE = 40, // "}"
|
S_LPAREN = 40, // "("
|
||||||
S_LBRACKET = 41, // "["
|
S_RPAREN = 41, // ")"
|
||||||
S_RBRACKET = 42, // "]"
|
S_LBRACE = 42, // "{"
|
||||||
S_COMMA = 43, // ","
|
S_RBRACE = 43, // "}"
|
||||||
S_DOT = 44, // "."
|
S_LBRACKET = 44, // "["
|
||||||
S_DOUBLECOLON = 45, // "::"
|
S_RBRACKET = 45, // "]"
|
||||||
S_COLON = 46, // ":"
|
S_COMMA = 46, // ","
|
||||||
S_SEMICOLON = 47, // ";"
|
S_DOT = 47, // "."
|
||||||
S_INCREMENT = 48, // "++"
|
S_DOUBLECOLON = 48, // "::"
|
||||||
S_DECREMENT = 49, // "--"
|
S_COLON = 49, // ":"
|
||||||
S_LSHIFT = 50, // "<<"
|
S_SEMICOLON = 50, // ";"
|
||||||
S_RSHIFT = 51, // ">>"
|
S_INCREMENT = 51, // "++"
|
||||||
S_OR = 52, // "||"
|
S_DECREMENT = 52, // "--"
|
||||||
S_AND = 53, // "&&"
|
S_LSHIFT = 53, // "<<"
|
||||||
S_EQUALITY = 54, // "=="
|
S_RSHIFT = 54, // ">>"
|
||||||
S_INEQUALITY = 55, // "!="
|
S_OR = 55, // "||"
|
||||||
S_LESS_EQUAL = 56, // "<="
|
S_AND = 56, // "&&"
|
||||||
S_GREATER_EQUAL = 57, // ">="
|
S_EQUALITY = 57, // "=="
|
||||||
S_LESS = 58, // "<"
|
S_INEQUALITY = 58, // "!="
|
||||||
S_GREATER = 59, // ">"
|
S_LESS_EQUAL = 59, // "<="
|
||||||
S_NOT = 60, // "!"
|
S_GREATER_EQUAL = 60, // ">="
|
||||||
S_COMPLEMENT = 61, // "~"
|
S_LESS = 61, // "<"
|
||||||
S_ASSIGN = 62, // "="
|
S_GREATER = 62, // ">"
|
||||||
S_ASSIGN_ADD = 63, // "+="
|
S_NOT = 63, // "!"
|
||||||
S_ASSIGN_SUB = 64, // "-="
|
S_COMPLEMENT = 64, // "~"
|
||||||
S_ASSIGN_MULT = 65, // "*="
|
S_ASSIGN = 65, // "="
|
||||||
S_ASSIGN_DIV = 66, // "/="
|
S_ASSIGN_ADD = 66, // "+="
|
||||||
S_ASSIGN_MOD = 67, // "%="
|
S_ASSIGN_SUB = 67, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 68, // "|="
|
S_ASSIGN_MULT = 68, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 69, // "&="
|
S_ASSIGN_DIV = 69, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 70, // "^="
|
S_ASSIGN_MOD = 70, // "%="
|
||||||
S_ASSIGN_RSHIFT = 71, // ">>="
|
S_ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
S_ASSIGN_LSHIFT = 72, // "<<="
|
S_ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
S_BITWISE_OR = 73, // "|"
|
S_ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
S_BITWISE_AND = 74, // "&"
|
S_ASSIGN_RSHIFT = 74, // ">>="
|
||||||
S_BITWISE_EXOR = 75, // "^"
|
S_ASSIGN_LSHIFT = 75, // "<<="
|
||||||
S_ADD = 76, // "+"
|
S_BITWISE_OR = 76, // "|"
|
||||||
S_SUB = 77, // "-"
|
S_BITWISE_AND = 77, // "&"
|
||||||
S_MULT = 78, // "*"
|
S_BITWISE_EXOR = 78, // "^"
|
||||||
S_DIV = 79, // "/"
|
S_ADD = 79, // "+"
|
||||||
S_MOD = 80, // "%"
|
S_SUB = 80, // "-"
|
||||||
S_FILE = 81, // "file path"
|
S_MULT = 81, // "*"
|
||||||
S_NAME = 82, // "identifier"
|
S_DIV = 82, // "/"
|
||||||
S_STRING = 83, // "string literal"
|
S_MOD = 83, // "%"
|
||||||
S_ISTRING = 84, // "localized string"
|
S_FILE = 84, // "file path"
|
||||||
S_FLOAT = 85, // "float"
|
S_NAME = 85, // "identifier"
|
||||||
S_INTEGER = 86, // "int"
|
S_STRING = 86, // "string literal"
|
||||||
S_ADD_ARRAY = 87, // ADD_ARRAY
|
S_ISTRING = 87, // "localized string"
|
||||||
S_THEN = 88, // THEN
|
S_FLOAT = 88, // "float"
|
||||||
S_NEG = 89, // NEG
|
S_INTEGER = 89, // "int"
|
||||||
S_ANIMREF = 90, // ANIMREF
|
S_ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
S_PREINC = 91, // PREINC
|
S_THEN = 91, // THEN
|
||||||
S_PREDEC = 92, // PREDEC
|
S_NEG = 92, // NEG
|
||||||
S_POSTINC = 93, // POSTINC
|
S_ANIMREF = 93, // ANIMREF
|
||||||
S_POSTDEC = 94, // POSTDEC
|
S_PREINC = 94, // PREINC
|
||||||
S_YYACCEPT = 95, // $accept
|
S_PREDEC = 95, // PREDEC
|
||||||
S_root = 96, // root
|
S_POSTINC = 96, // POSTINC
|
||||||
S_program = 97, // program
|
S_POSTDEC = 97, // POSTDEC
|
||||||
S_include = 98, // include
|
S_YYACCEPT = 98, // $accept
|
||||||
S_define = 99, // define
|
S_root = 99, // root
|
||||||
S_usingtree = 100, // usingtree
|
S_program = 100, // program
|
||||||
S_constant = 101, // constant
|
S_include = 101, // include
|
||||||
S_thread = 102, // thread
|
S_define = 102, // define
|
||||||
S_parameters = 103, // parameters
|
S_usingtree = 103, // usingtree
|
||||||
S_stmt = 104, // stmt
|
S_constant = 104, // constant
|
||||||
S_stmt_block = 105, // stmt_block
|
S_thread = 105, // thread
|
||||||
S_stmt_list = 106, // stmt_list
|
S_parameters = 106, // parameters
|
||||||
S_stmt_call = 107, // stmt_call
|
S_stmt = 107, // stmt
|
||||||
S_stmt_assign = 108, // stmt_assign
|
S_stmt_block = 108, // stmt_block
|
||||||
S_stmt_endon = 109, // stmt_endon
|
S_stmt_list = 109, // stmt_list
|
||||||
S_stmt_notify = 110, // stmt_notify
|
S_stmt_call = 110, // stmt_call
|
||||||
S_stmt_wait = 111, // stmt_wait
|
S_stmt_assign = 111, // stmt_assign
|
||||||
S_stmt_waittill = 112, // stmt_waittill
|
S_stmt_endon = 112, // stmt_endon
|
||||||
S_stmt_waittillmatch = 113, // stmt_waittillmatch
|
S_stmt_notify = 113, // stmt_notify
|
||||||
S_stmt_waittillframeend = 114, // stmt_waittillframeend
|
S_stmt_wait = 114, // stmt_wait
|
||||||
S_stmt_waitframe = 115, // stmt_waitframe
|
S_stmt_waittill = 115, // stmt_waittill
|
||||||
S_stmt_if = 116, // stmt_if
|
S_stmt_waittillmatch = 116, // stmt_waittillmatch
|
||||||
S_stmt_ifelse = 117, // stmt_ifelse
|
S_stmt_waittillframeend = 117, // stmt_waittillframeend
|
||||||
S_stmt_while = 118, // stmt_while
|
S_stmt_waitframe = 118, // stmt_waitframe
|
||||||
S_stmt_for = 119, // stmt_for
|
S_stmt_if = 119, // stmt_if
|
||||||
S_stmt_foreach = 120, // stmt_foreach
|
S_stmt_ifelse = 120, // stmt_ifelse
|
||||||
S_stmt_switch = 121, // stmt_switch
|
S_stmt_while = 121, // stmt_while
|
||||||
S_stmt_case = 122, // stmt_case
|
S_stmt_for = 122, // stmt_for
|
||||||
S_stmt_default = 123, // stmt_default
|
S_stmt_foreach = 123, // stmt_foreach
|
||||||
S_stmt_break = 124, // stmt_break
|
S_stmt_switch = 124, // stmt_switch
|
||||||
S_stmt_continue = 125, // stmt_continue
|
S_stmt_case = 125, // stmt_case
|
||||||
S_stmt_return = 126, // stmt_return
|
S_stmt_default = 126, // stmt_default
|
||||||
S_for_stmt = 127, // for_stmt
|
S_stmt_break = 127, // stmt_break
|
||||||
S_for_expr = 128, // for_expr
|
S_stmt_continue = 128, // stmt_continue
|
||||||
S_expr = 129, // expr
|
S_stmt_return = 129, // stmt_return
|
||||||
S_expr_assign = 130, // expr_assign
|
S_stmt_breakpoint = 130, // stmt_breakpoint
|
||||||
S_expr_compare = 131, // expr_compare
|
S_stmt_prof_begin = 131, // stmt_prof_begin
|
||||||
S_expr_binary = 132, // expr_binary
|
S_stmt_prof_end = 132, // stmt_prof_end
|
||||||
S_expr_primitive = 133, // expr_primitive
|
S_for_stmt = 133, // for_stmt
|
||||||
S_expr_call = 134, // expr_call
|
S_for_expr = 134, // for_expr
|
||||||
S_expr_call_thread = 135, // expr_call_thread
|
S_expr = 135, // expr
|
||||||
S_expr_call_childthread = 136, // expr_call_childthread
|
S_expr_assign = 136, // expr_assign
|
||||||
S_expr_call_function = 137, // expr_call_function
|
S_expr_compare = 137, // expr_compare
|
||||||
S_expr_call_pointer = 138, // expr_call_pointer
|
S_expr_binary = 138, // expr_binary
|
||||||
S_expr_arguments = 139, // expr_arguments
|
S_expr_primitive = 139, // expr_primitive
|
||||||
S_expr_arguments_filled = 140, // expr_arguments_filled
|
S_expr_call = 140, // expr_call
|
||||||
S_expr_arguments_empty = 141, // expr_arguments_empty
|
S_expr_call_thread = 141, // expr_call_thread
|
||||||
S_expr_function = 142, // expr_function
|
S_expr_call_childthread = 142, // expr_call_childthread
|
||||||
S_expr_add_array = 143, // expr_add_array
|
S_expr_call_function = 143, // expr_call_function
|
||||||
S_expr_array = 144, // expr_array
|
S_expr_call_pointer = 144, // expr_call_pointer
|
||||||
S_expr_field = 145, // expr_field
|
S_expr_arguments = 145, // expr_arguments
|
||||||
S_expr_size = 146, // expr_size
|
S_expr_arguments_filled = 146, // expr_arguments_filled
|
||||||
S_object = 147, // object
|
S_expr_arguments_empty = 147, // expr_arguments_empty
|
||||||
S_thisthread = 148, // thisthread
|
S_expr_function = 148, // expr_function
|
||||||
S_empty_array = 149, // empty_array
|
S_expr_add_array = 149, // expr_add_array
|
||||||
S_undefined = 150, // undefined
|
S_expr_array = 150, // expr_array
|
||||||
S_game = 151, // game
|
S_expr_field = 151, // expr_field
|
||||||
S_self = 152, // self
|
S_expr_size = 152, // expr_size
|
||||||
S_anim = 153, // anim
|
S_object = 153, // object
|
||||||
S_level = 154, // level
|
S_thisthread = 154, // thisthread
|
||||||
S_animation = 155, // animation
|
S_empty_array = 155, // empty_array
|
||||||
S_animtree = 156, // animtree
|
S_undefined = 156, // undefined
|
||||||
S_name = 157, // name
|
S_game = 157, // game
|
||||||
S_file = 158, // file
|
S_self = 158, // self
|
||||||
S_istring = 159, // istring
|
S_anim = 159, // anim
|
||||||
S_string = 160, // string
|
S_level = 160, // level
|
||||||
S_vector = 161, // vector
|
S_animation = 161, // animation
|
||||||
S_neg_float = 162, // neg_float
|
S_animtree = 162, // animtree
|
||||||
S_neg_integer = 163, // neg_integer
|
S_name = 163, // name
|
||||||
S_float = 164, // float
|
S_file = 164, // file
|
||||||
S_integer = 165, // integer
|
S_istring = 165, // istring
|
||||||
S_false = 166, // false
|
S_string = 166, // string
|
||||||
S_true = 167 // true
|
S_vector = 167, // vector
|
||||||
|
S_neg_float = 168, // neg_float
|
||||||
|
S_neg_integer = 169, // neg_integer
|
||||||
|
S_float = 170, // float
|
||||||
|
S_integer = 171, // integer
|
||||||
|
S_false = 172, // false
|
||||||
|
S_true = 173 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1086,6 +1104,10 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1131,6 +1153,14 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1597,6 +1627,20 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1751,6 +1795,34 @@ namespace xsk { namespace gsc { namespace s1 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2126,6 +2198,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2171,6 +2247,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2437,6 +2521,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::S1UNDEF, l);
|
return symbol_type (token::S1UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4161,8 +4290,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1581, ///< Last index in yytable_.
|
yylast_ = 1646, ///< Last index in yytable_.
|
||||||
yynnts_ = 73, ///< Number of nonterminal symbols.
|
yynnts_ = 76, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4319,6 +4448,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4364,6 +4497,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4587,6 +4728,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4632,6 +4777,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4760,7 +4913,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::s1
|
} } } // xsk::gsc::s1
|
||||||
#line 4764 "parser.hpp"
|
#line 4917 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -700,7 +700,7 @@ extern int yylex (yyscan_t yyscanner);
|
|||||||
#undef yyTABLES_NAME
|
#undef yyTABLES_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line 146 "lexer.lpp"
|
#line 149 "lexer.lpp"
|
||||||
|
|
||||||
|
|
||||||
#line 706 "lexer.hpp"
|
#line 706 "lexer.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -510,88 +510,97 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
// stmt_break
|
// stmt_break
|
||||||
char dummy27[sizeof (stmt_break_ptr)];
|
char dummy27[sizeof (stmt_break_ptr)];
|
||||||
|
|
||||||
|
// stmt_breakpoint
|
||||||
|
char dummy28[sizeof (stmt_breakpoint_ptr)];
|
||||||
|
|
||||||
// stmt_call
|
// stmt_call
|
||||||
char dummy28[sizeof (stmt_call_ptr)];
|
char dummy29[sizeof (stmt_call_ptr)];
|
||||||
|
|
||||||
// stmt_case
|
// stmt_case
|
||||||
char dummy29[sizeof (stmt_case_ptr)];
|
char dummy30[sizeof (stmt_case_ptr)];
|
||||||
|
|
||||||
// stmt_continue
|
// stmt_continue
|
||||||
char dummy30[sizeof (stmt_continue_ptr)];
|
char dummy31[sizeof (stmt_continue_ptr)];
|
||||||
|
|
||||||
// stmt_default
|
// stmt_default
|
||||||
char dummy31[sizeof (stmt_default_ptr)];
|
char dummy32[sizeof (stmt_default_ptr)];
|
||||||
|
|
||||||
// stmt_endon
|
// stmt_endon
|
||||||
char dummy32[sizeof (stmt_endon_ptr)];
|
char dummy33[sizeof (stmt_endon_ptr)];
|
||||||
|
|
||||||
// stmt_for
|
// stmt_for
|
||||||
char dummy33[sizeof (stmt_for_ptr)];
|
char dummy34[sizeof (stmt_for_ptr)];
|
||||||
|
|
||||||
// stmt_foreach
|
// stmt_foreach
|
||||||
char dummy34[sizeof (stmt_foreach_ptr)];
|
char dummy35[sizeof (stmt_foreach_ptr)];
|
||||||
|
|
||||||
// stmt_if
|
// stmt_if
|
||||||
char dummy35[sizeof (stmt_if_ptr)];
|
char dummy36[sizeof (stmt_if_ptr)];
|
||||||
|
|
||||||
// stmt_ifelse
|
// stmt_ifelse
|
||||||
char dummy36[sizeof (stmt_ifelse_ptr)];
|
char dummy37[sizeof (stmt_ifelse_ptr)];
|
||||||
|
|
||||||
// stmt_block
|
// stmt_block
|
||||||
// stmt_list
|
// stmt_list
|
||||||
char dummy37[sizeof (stmt_list_ptr)];
|
char dummy38[sizeof (stmt_list_ptr)];
|
||||||
|
|
||||||
// stmt_notify
|
// stmt_notify
|
||||||
char dummy38[sizeof (stmt_notify_ptr)];
|
char dummy39[sizeof (stmt_notify_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_begin
|
||||||
|
char dummy40[sizeof (stmt_prof_begin_ptr)];
|
||||||
|
|
||||||
|
// stmt_prof_end
|
||||||
|
char dummy41[sizeof (stmt_prof_end_ptr)];
|
||||||
|
|
||||||
// stmt
|
// stmt
|
||||||
// for_stmt
|
// for_stmt
|
||||||
char dummy39[sizeof (stmt_ptr)];
|
char dummy42[sizeof (stmt_ptr)];
|
||||||
|
|
||||||
// stmt_return
|
// stmt_return
|
||||||
char dummy40[sizeof (stmt_return_ptr)];
|
char dummy43[sizeof (stmt_return_ptr)];
|
||||||
|
|
||||||
// stmt_switch
|
// stmt_switch
|
||||||
char dummy41[sizeof (stmt_switch_ptr)];
|
char dummy44[sizeof (stmt_switch_ptr)];
|
||||||
|
|
||||||
// stmt_wait
|
// stmt_wait
|
||||||
char dummy42[sizeof (stmt_wait_ptr)];
|
char dummy45[sizeof (stmt_wait_ptr)];
|
||||||
|
|
||||||
// stmt_waitframe
|
// stmt_waitframe
|
||||||
char dummy43[sizeof (stmt_waitframe_ptr)];
|
char dummy46[sizeof (stmt_waitframe_ptr)];
|
||||||
|
|
||||||
// stmt_waittill
|
// stmt_waittill
|
||||||
char dummy44[sizeof (stmt_waittill_ptr)];
|
char dummy47[sizeof (stmt_waittill_ptr)];
|
||||||
|
|
||||||
// stmt_waittillframeend
|
// stmt_waittillframeend
|
||||||
char dummy45[sizeof (stmt_waittillframeend_ptr)];
|
char dummy48[sizeof (stmt_waittillframeend_ptr)];
|
||||||
|
|
||||||
// stmt_waittillmatch
|
// stmt_waittillmatch
|
||||||
char dummy46[sizeof (stmt_waittillmatch_ptr)];
|
char dummy49[sizeof (stmt_waittillmatch_ptr)];
|
||||||
|
|
||||||
// stmt_while
|
// stmt_while
|
||||||
char dummy47[sizeof (stmt_while_ptr)];
|
char dummy50[sizeof (stmt_while_ptr)];
|
||||||
|
|
||||||
// string
|
// string
|
||||||
char dummy48[sizeof (string_ptr)];
|
char dummy51[sizeof (string_ptr)];
|
||||||
|
|
||||||
// thisthread
|
// thisthread
|
||||||
char dummy49[sizeof (thisthread_ptr)];
|
char dummy52[sizeof (thisthread_ptr)];
|
||||||
|
|
||||||
// thread
|
// thread
|
||||||
char dummy50[sizeof (thread_ptr)];
|
char dummy53[sizeof (thread_ptr)];
|
||||||
|
|
||||||
// true
|
// true
|
||||||
char dummy51[sizeof (true_ptr)];
|
char dummy54[sizeof (true_ptr)];
|
||||||
|
|
||||||
// undefined
|
// undefined
|
||||||
char dummy52[sizeof (undefined_ptr)];
|
char dummy55[sizeof (undefined_ptr)];
|
||||||
|
|
||||||
// usingtree
|
// usingtree
|
||||||
char dummy53[sizeof (usingtree_ptr)];
|
char dummy56[sizeof (usingtree_ptr)];
|
||||||
|
|
||||||
// vector
|
// vector
|
||||||
char dummy54[sizeof (vector_ptr)];
|
char dummy57[sizeof (vector_ptr)];
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The size of the largest semantic type.
|
/// The size of the largest semantic type.
|
||||||
@ -643,98 +652,101 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
S2EOF = 0, // "end of file"
|
S2EOF = 0, // "end of file"
|
||||||
S2error = 1, // error
|
S2error = 1, // error
|
||||||
S2UNDEF = 2, // "invalid token"
|
S2UNDEF = 2, // "invalid token"
|
||||||
INCLUDE = 3, // "#include"
|
BREAKPOINT = 3, // "breakpoint"
|
||||||
USINGTREE = 4, // "#using_animtree"
|
PROFBEGIN = 4, // "prof_begin"
|
||||||
ANIMTREE = 5, // "#animtree"
|
PROFEND = 5, // "prof_end"
|
||||||
ENDON = 6, // "endon"
|
INCLUDE = 6, // "#include"
|
||||||
NOTIFY = 7, // "notify"
|
USINGTREE = 7, // "#using_animtree"
|
||||||
WAIT = 8, // "wait"
|
ANIMTREE = 8, // "#animtree"
|
||||||
WAITTILL = 9, // "waittill"
|
ENDON = 9, // "endon"
|
||||||
WAITTILLMATCH = 10, // "waittillmatch"
|
NOTIFY = 10, // "notify"
|
||||||
WAITTILLFRAMEEND = 11, // "waittillframeend"
|
WAIT = 11, // "wait"
|
||||||
WAITFRAME = 12, // "waitframe"
|
WAITTILL = 12, // "waittill"
|
||||||
IF = 13, // "if"
|
WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
ELSE = 14, // "else"
|
WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
WHILE = 15, // "while"
|
WAITFRAME = 15, // "waitframe"
|
||||||
FOR = 16, // "for"
|
IF = 16, // "if"
|
||||||
FOREACH = 17, // "foreach"
|
ELSE = 17, // "else"
|
||||||
IN = 18, // "in"
|
WHILE = 18, // "while"
|
||||||
SWITCH = 19, // "switch"
|
FOR = 19, // "for"
|
||||||
CASE = 20, // "case"
|
FOREACH = 20, // "foreach"
|
||||||
DEFAULT = 21, // "default"
|
IN = 21, // "in"
|
||||||
BREAK = 22, // "break"
|
SWITCH = 22, // "switch"
|
||||||
CONTINUE = 23, // "continue"
|
CASE = 23, // "case"
|
||||||
RETURN = 24, // "return"
|
DEFAULT = 24, // "default"
|
||||||
THREAD = 25, // "thread"
|
BREAK = 25, // "break"
|
||||||
CHILDTHREAD = 26, // "childthread"
|
CONTINUE = 26, // "continue"
|
||||||
THISTHREAD = 27, // "thisthread"
|
RETURN = 27, // "return"
|
||||||
CALL = 28, // "call"
|
THREAD = 28, // "thread"
|
||||||
TRUE = 29, // "true"
|
CHILDTHREAD = 29, // "childthread"
|
||||||
FALSE = 30, // "false"
|
THISTHREAD = 30, // "thisthread"
|
||||||
UNDEFINED = 31, // "undefined"
|
CALL = 31, // "call"
|
||||||
SIZE = 32, // "size"
|
TRUE = 32, // "true"
|
||||||
GAME = 33, // "game"
|
FALSE = 33, // "false"
|
||||||
SELF = 34, // "self"
|
UNDEFINED = 34, // "undefined"
|
||||||
ANIM = 35, // "anim"
|
SIZE = 35, // ".size"
|
||||||
LEVEL = 36, // "level"
|
GAME = 36, // "game"
|
||||||
LPAREN = 37, // "("
|
SELF = 37, // "self"
|
||||||
RPAREN = 38, // ")"
|
ANIM = 38, // "anim"
|
||||||
LBRACE = 39, // "{"
|
LEVEL = 39, // "level"
|
||||||
RBRACE = 40, // "}"
|
LPAREN = 40, // "("
|
||||||
LBRACKET = 41, // "["
|
RPAREN = 41, // ")"
|
||||||
RBRACKET = 42, // "]"
|
LBRACE = 42, // "{"
|
||||||
COMMA = 43, // ","
|
RBRACE = 43, // "}"
|
||||||
DOT = 44, // "."
|
LBRACKET = 44, // "["
|
||||||
DOUBLECOLON = 45, // "::"
|
RBRACKET = 45, // "]"
|
||||||
COLON = 46, // ":"
|
COMMA = 46, // ","
|
||||||
SEMICOLON = 47, // ";"
|
DOT = 47, // "."
|
||||||
INCREMENT = 48, // "++"
|
DOUBLECOLON = 48, // "::"
|
||||||
DECREMENT = 49, // "--"
|
COLON = 49, // ":"
|
||||||
LSHIFT = 50, // "<<"
|
SEMICOLON = 50, // ";"
|
||||||
RSHIFT = 51, // ">>"
|
INCREMENT = 51, // "++"
|
||||||
OR = 52, // "||"
|
DECREMENT = 52, // "--"
|
||||||
AND = 53, // "&&"
|
LSHIFT = 53, // "<<"
|
||||||
EQUALITY = 54, // "=="
|
RSHIFT = 54, // ">>"
|
||||||
INEQUALITY = 55, // "!="
|
OR = 55, // "||"
|
||||||
LESS_EQUAL = 56, // "<="
|
AND = 56, // "&&"
|
||||||
GREATER_EQUAL = 57, // ">="
|
EQUALITY = 57, // "=="
|
||||||
LESS = 58, // "<"
|
INEQUALITY = 58, // "!="
|
||||||
GREATER = 59, // ">"
|
LESS_EQUAL = 59, // "<="
|
||||||
NOT = 60, // "!"
|
GREATER_EQUAL = 60, // ">="
|
||||||
COMPLEMENT = 61, // "~"
|
LESS = 61, // "<"
|
||||||
ASSIGN = 62, // "="
|
GREATER = 62, // ">"
|
||||||
ASSIGN_ADD = 63, // "+="
|
NOT = 63, // "!"
|
||||||
ASSIGN_SUB = 64, // "-="
|
COMPLEMENT = 64, // "~"
|
||||||
ASSIGN_MULT = 65, // "*="
|
ASSIGN = 65, // "="
|
||||||
ASSIGN_DIV = 66, // "/="
|
ASSIGN_ADD = 66, // "+="
|
||||||
ASSIGN_MOD = 67, // "%="
|
ASSIGN_SUB = 67, // "-="
|
||||||
ASSIGN_BITWISE_OR = 68, // "|="
|
ASSIGN_MULT = 68, // "*="
|
||||||
ASSIGN_BITWISE_AND = 69, // "&="
|
ASSIGN_DIV = 69, // "/="
|
||||||
ASSIGN_BITWISE_EXOR = 70, // "^="
|
ASSIGN_MOD = 70, // "%="
|
||||||
ASSIGN_RSHIFT = 71, // ">>="
|
ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
ASSIGN_LSHIFT = 72, // "<<="
|
ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
BITWISE_OR = 73, // "|"
|
ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
BITWISE_AND = 74, // "&"
|
ASSIGN_RSHIFT = 74, // ">>="
|
||||||
BITWISE_EXOR = 75, // "^"
|
ASSIGN_LSHIFT = 75, // "<<="
|
||||||
ADD = 76, // "+"
|
BITWISE_OR = 76, // "|"
|
||||||
SUB = 77, // "-"
|
BITWISE_AND = 77, // "&"
|
||||||
MULT = 78, // "*"
|
BITWISE_EXOR = 78, // "^"
|
||||||
DIV = 79, // "/"
|
ADD = 79, // "+"
|
||||||
MOD = 80, // "%"
|
SUB = 80, // "-"
|
||||||
FILE = 81, // "file path"
|
MULT = 81, // "*"
|
||||||
NAME = 82, // "identifier"
|
DIV = 82, // "/"
|
||||||
STRING = 83, // "string literal"
|
MOD = 83, // "%"
|
||||||
ISTRING = 84, // "localized string"
|
FILE = 84, // "file path"
|
||||||
FLOAT = 85, // "float"
|
NAME = 85, // "identifier"
|
||||||
INTEGER = 86, // "int"
|
STRING = 86, // "string literal"
|
||||||
ADD_ARRAY = 87, // ADD_ARRAY
|
ISTRING = 87, // "localized string"
|
||||||
THEN = 88, // THEN
|
FLOAT = 88, // "float"
|
||||||
NEG = 89, // NEG
|
INTEGER = 89, // "int"
|
||||||
ANIMREF = 90, // ANIMREF
|
ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
PREINC = 91, // PREINC
|
THEN = 91, // THEN
|
||||||
PREDEC = 92, // PREDEC
|
NEG = 92, // NEG
|
||||||
POSTINC = 93, // POSTINC
|
ANIMREF = 93, // ANIMREF
|
||||||
POSTDEC = 94 // POSTDEC
|
PREINC = 94, // PREINC
|
||||||
|
PREDEC = 95, // PREDEC
|
||||||
|
POSTINC = 96, // POSTINC
|
||||||
|
POSTDEC = 97 // POSTDEC
|
||||||
};
|
};
|
||||||
/// Backward compatibility alias (Bison 3.6).
|
/// Backward compatibility alias (Bison 3.6).
|
||||||
typedef token_kind_type yytokentype;
|
typedef token_kind_type yytokentype;
|
||||||
@ -751,176 +763,182 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
{
|
{
|
||||||
enum symbol_kind_type
|
enum symbol_kind_type
|
||||||
{
|
{
|
||||||
YYNTOKENS = 95, ///< Number of tokens.
|
YYNTOKENS = 98, ///< 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
|
||||||
S_YYUNDEF = 2, // "invalid token"
|
S_YYUNDEF = 2, // "invalid token"
|
||||||
S_INCLUDE = 3, // "#include"
|
S_BREAKPOINT = 3, // "breakpoint"
|
||||||
S_USINGTREE = 4, // "#using_animtree"
|
S_PROFBEGIN = 4, // "prof_begin"
|
||||||
S_ANIMTREE = 5, // "#animtree"
|
S_PROFEND = 5, // "prof_end"
|
||||||
S_ENDON = 6, // "endon"
|
S_INCLUDE = 6, // "#include"
|
||||||
S_NOTIFY = 7, // "notify"
|
S_USINGTREE = 7, // "#using_animtree"
|
||||||
S_WAIT = 8, // "wait"
|
S_ANIMTREE = 8, // "#animtree"
|
||||||
S_WAITTILL = 9, // "waittill"
|
S_ENDON = 9, // "endon"
|
||||||
S_WAITTILLMATCH = 10, // "waittillmatch"
|
S_NOTIFY = 10, // "notify"
|
||||||
S_WAITTILLFRAMEEND = 11, // "waittillframeend"
|
S_WAIT = 11, // "wait"
|
||||||
S_WAITFRAME = 12, // "waitframe"
|
S_WAITTILL = 12, // "waittill"
|
||||||
S_IF = 13, // "if"
|
S_WAITTILLMATCH = 13, // "waittillmatch"
|
||||||
S_ELSE = 14, // "else"
|
S_WAITTILLFRAMEEND = 14, // "waittillframeend"
|
||||||
S_WHILE = 15, // "while"
|
S_WAITFRAME = 15, // "waitframe"
|
||||||
S_FOR = 16, // "for"
|
S_IF = 16, // "if"
|
||||||
S_FOREACH = 17, // "foreach"
|
S_ELSE = 17, // "else"
|
||||||
S_IN = 18, // "in"
|
S_WHILE = 18, // "while"
|
||||||
S_SWITCH = 19, // "switch"
|
S_FOR = 19, // "for"
|
||||||
S_CASE = 20, // "case"
|
S_FOREACH = 20, // "foreach"
|
||||||
S_DEFAULT = 21, // "default"
|
S_IN = 21, // "in"
|
||||||
S_BREAK = 22, // "break"
|
S_SWITCH = 22, // "switch"
|
||||||
S_CONTINUE = 23, // "continue"
|
S_CASE = 23, // "case"
|
||||||
S_RETURN = 24, // "return"
|
S_DEFAULT = 24, // "default"
|
||||||
S_THREAD = 25, // "thread"
|
S_BREAK = 25, // "break"
|
||||||
S_CHILDTHREAD = 26, // "childthread"
|
S_CONTINUE = 26, // "continue"
|
||||||
S_THISTHREAD = 27, // "thisthread"
|
S_RETURN = 27, // "return"
|
||||||
S_CALL = 28, // "call"
|
S_THREAD = 28, // "thread"
|
||||||
S_TRUE = 29, // "true"
|
S_CHILDTHREAD = 29, // "childthread"
|
||||||
S_FALSE = 30, // "false"
|
S_THISTHREAD = 30, // "thisthread"
|
||||||
S_UNDEFINED = 31, // "undefined"
|
S_CALL = 31, // "call"
|
||||||
S_SIZE = 32, // "size"
|
S_TRUE = 32, // "true"
|
||||||
S_GAME = 33, // "game"
|
S_FALSE = 33, // "false"
|
||||||
S_SELF = 34, // "self"
|
S_UNDEFINED = 34, // "undefined"
|
||||||
S_ANIM = 35, // "anim"
|
S_SIZE = 35, // ".size"
|
||||||
S_LEVEL = 36, // "level"
|
S_GAME = 36, // "game"
|
||||||
S_LPAREN = 37, // "("
|
S_SELF = 37, // "self"
|
||||||
S_RPAREN = 38, // ")"
|
S_ANIM = 38, // "anim"
|
||||||
S_LBRACE = 39, // "{"
|
S_LEVEL = 39, // "level"
|
||||||
S_RBRACE = 40, // "}"
|
S_LPAREN = 40, // "("
|
||||||
S_LBRACKET = 41, // "["
|
S_RPAREN = 41, // ")"
|
||||||
S_RBRACKET = 42, // "]"
|
S_LBRACE = 42, // "{"
|
||||||
S_COMMA = 43, // ","
|
S_RBRACE = 43, // "}"
|
||||||
S_DOT = 44, // "."
|
S_LBRACKET = 44, // "["
|
||||||
S_DOUBLECOLON = 45, // "::"
|
S_RBRACKET = 45, // "]"
|
||||||
S_COLON = 46, // ":"
|
S_COMMA = 46, // ","
|
||||||
S_SEMICOLON = 47, // ";"
|
S_DOT = 47, // "."
|
||||||
S_INCREMENT = 48, // "++"
|
S_DOUBLECOLON = 48, // "::"
|
||||||
S_DECREMENT = 49, // "--"
|
S_COLON = 49, // ":"
|
||||||
S_LSHIFT = 50, // "<<"
|
S_SEMICOLON = 50, // ";"
|
||||||
S_RSHIFT = 51, // ">>"
|
S_INCREMENT = 51, // "++"
|
||||||
S_OR = 52, // "||"
|
S_DECREMENT = 52, // "--"
|
||||||
S_AND = 53, // "&&"
|
S_LSHIFT = 53, // "<<"
|
||||||
S_EQUALITY = 54, // "=="
|
S_RSHIFT = 54, // ">>"
|
||||||
S_INEQUALITY = 55, // "!="
|
S_OR = 55, // "||"
|
||||||
S_LESS_EQUAL = 56, // "<="
|
S_AND = 56, // "&&"
|
||||||
S_GREATER_EQUAL = 57, // ">="
|
S_EQUALITY = 57, // "=="
|
||||||
S_LESS = 58, // "<"
|
S_INEQUALITY = 58, // "!="
|
||||||
S_GREATER = 59, // ">"
|
S_LESS_EQUAL = 59, // "<="
|
||||||
S_NOT = 60, // "!"
|
S_GREATER_EQUAL = 60, // ">="
|
||||||
S_COMPLEMENT = 61, // "~"
|
S_LESS = 61, // "<"
|
||||||
S_ASSIGN = 62, // "="
|
S_GREATER = 62, // ">"
|
||||||
S_ASSIGN_ADD = 63, // "+="
|
S_NOT = 63, // "!"
|
||||||
S_ASSIGN_SUB = 64, // "-="
|
S_COMPLEMENT = 64, // "~"
|
||||||
S_ASSIGN_MULT = 65, // "*="
|
S_ASSIGN = 65, // "="
|
||||||
S_ASSIGN_DIV = 66, // "/="
|
S_ASSIGN_ADD = 66, // "+="
|
||||||
S_ASSIGN_MOD = 67, // "%="
|
S_ASSIGN_SUB = 67, // "-="
|
||||||
S_ASSIGN_BITWISE_OR = 68, // "|="
|
S_ASSIGN_MULT = 68, // "*="
|
||||||
S_ASSIGN_BITWISE_AND = 69, // "&="
|
S_ASSIGN_DIV = 69, // "/="
|
||||||
S_ASSIGN_BITWISE_EXOR = 70, // "^="
|
S_ASSIGN_MOD = 70, // "%="
|
||||||
S_ASSIGN_RSHIFT = 71, // ">>="
|
S_ASSIGN_BITWISE_OR = 71, // "|="
|
||||||
S_ASSIGN_LSHIFT = 72, // "<<="
|
S_ASSIGN_BITWISE_AND = 72, // "&="
|
||||||
S_BITWISE_OR = 73, // "|"
|
S_ASSIGN_BITWISE_EXOR = 73, // "^="
|
||||||
S_BITWISE_AND = 74, // "&"
|
S_ASSIGN_RSHIFT = 74, // ">>="
|
||||||
S_BITWISE_EXOR = 75, // "^"
|
S_ASSIGN_LSHIFT = 75, // "<<="
|
||||||
S_ADD = 76, // "+"
|
S_BITWISE_OR = 76, // "|"
|
||||||
S_SUB = 77, // "-"
|
S_BITWISE_AND = 77, // "&"
|
||||||
S_MULT = 78, // "*"
|
S_BITWISE_EXOR = 78, // "^"
|
||||||
S_DIV = 79, // "/"
|
S_ADD = 79, // "+"
|
||||||
S_MOD = 80, // "%"
|
S_SUB = 80, // "-"
|
||||||
S_FILE = 81, // "file path"
|
S_MULT = 81, // "*"
|
||||||
S_NAME = 82, // "identifier"
|
S_DIV = 82, // "/"
|
||||||
S_STRING = 83, // "string literal"
|
S_MOD = 83, // "%"
|
||||||
S_ISTRING = 84, // "localized string"
|
S_FILE = 84, // "file path"
|
||||||
S_FLOAT = 85, // "float"
|
S_NAME = 85, // "identifier"
|
||||||
S_INTEGER = 86, // "int"
|
S_STRING = 86, // "string literal"
|
||||||
S_ADD_ARRAY = 87, // ADD_ARRAY
|
S_ISTRING = 87, // "localized string"
|
||||||
S_THEN = 88, // THEN
|
S_FLOAT = 88, // "float"
|
||||||
S_NEG = 89, // NEG
|
S_INTEGER = 89, // "int"
|
||||||
S_ANIMREF = 90, // ANIMREF
|
S_ADD_ARRAY = 90, // ADD_ARRAY
|
||||||
S_PREINC = 91, // PREINC
|
S_THEN = 91, // THEN
|
||||||
S_PREDEC = 92, // PREDEC
|
S_NEG = 92, // NEG
|
||||||
S_POSTINC = 93, // POSTINC
|
S_ANIMREF = 93, // ANIMREF
|
||||||
S_POSTDEC = 94, // POSTDEC
|
S_PREINC = 94, // PREINC
|
||||||
S_YYACCEPT = 95, // $accept
|
S_PREDEC = 95, // PREDEC
|
||||||
S_root = 96, // root
|
S_POSTINC = 96, // POSTINC
|
||||||
S_program = 97, // program
|
S_POSTDEC = 97, // POSTDEC
|
||||||
S_include = 98, // include
|
S_YYACCEPT = 98, // $accept
|
||||||
S_define = 99, // define
|
S_root = 99, // root
|
||||||
S_usingtree = 100, // usingtree
|
S_program = 100, // program
|
||||||
S_constant = 101, // constant
|
S_include = 101, // include
|
||||||
S_thread = 102, // thread
|
S_define = 102, // define
|
||||||
S_parameters = 103, // parameters
|
S_usingtree = 103, // usingtree
|
||||||
S_stmt = 104, // stmt
|
S_constant = 104, // constant
|
||||||
S_stmt_block = 105, // stmt_block
|
S_thread = 105, // thread
|
||||||
S_stmt_list = 106, // stmt_list
|
S_parameters = 106, // parameters
|
||||||
S_stmt_call = 107, // stmt_call
|
S_stmt = 107, // stmt
|
||||||
S_stmt_assign = 108, // stmt_assign
|
S_stmt_block = 108, // stmt_block
|
||||||
S_stmt_endon = 109, // stmt_endon
|
S_stmt_list = 109, // stmt_list
|
||||||
S_stmt_notify = 110, // stmt_notify
|
S_stmt_call = 110, // stmt_call
|
||||||
S_stmt_wait = 111, // stmt_wait
|
S_stmt_assign = 111, // stmt_assign
|
||||||
S_stmt_waittill = 112, // stmt_waittill
|
S_stmt_endon = 112, // stmt_endon
|
||||||
S_stmt_waittillmatch = 113, // stmt_waittillmatch
|
S_stmt_notify = 113, // stmt_notify
|
||||||
S_stmt_waittillframeend = 114, // stmt_waittillframeend
|
S_stmt_wait = 114, // stmt_wait
|
||||||
S_stmt_waitframe = 115, // stmt_waitframe
|
S_stmt_waittill = 115, // stmt_waittill
|
||||||
S_stmt_if = 116, // stmt_if
|
S_stmt_waittillmatch = 116, // stmt_waittillmatch
|
||||||
S_stmt_ifelse = 117, // stmt_ifelse
|
S_stmt_waittillframeend = 117, // stmt_waittillframeend
|
||||||
S_stmt_while = 118, // stmt_while
|
S_stmt_waitframe = 118, // stmt_waitframe
|
||||||
S_stmt_for = 119, // stmt_for
|
S_stmt_if = 119, // stmt_if
|
||||||
S_stmt_foreach = 120, // stmt_foreach
|
S_stmt_ifelse = 120, // stmt_ifelse
|
||||||
S_stmt_switch = 121, // stmt_switch
|
S_stmt_while = 121, // stmt_while
|
||||||
S_stmt_case = 122, // stmt_case
|
S_stmt_for = 122, // stmt_for
|
||||||
S_stmt_default = 123, // stmt_default
|
S_stmt_foreach = 123, // stmt_foreach
|
||||||
S_stmt_break = 124, // stmt_break
|
S_stmt_switch = 124, // stmt_switch
|
||||||
S_stmt_continue = 125, // stmt_continue
|
S_stmt_case = 125, // stmt_case
|
||||||
S_stmt_return = 126, // stmt_return
|
S_stmt_default = 126, // stmt_default
|
||||||
S_for_stmt = 127, // for_stmt
|
S_stmt_break = 127, // stmt_break
|
||||||
S_for_expr = 128, // for_expr
|
S_stmt_continue = 128, // stmt_continue
|
||||||
S_expr = 129, // expr
|
S_stmt_return = 129, // stmt_return
|
||||||
S_expr_assign = 130, // expr_assign
|
S_stmt_breakpoint = 130, // stmt_breakpoint
|
||||||
S_expr_compare = 131, // expr_compare
|
S_stmt_prof_begin = 131, // stmt_prof_begin
|
||||||
S_expr_binary = 132, // expr_binary
|
S_stmt_prof_end = 132, // stmt_prof_end
|
||||||
S_expr_primitive = 133, // expr_primitive
|
S_for_stmt = 133, // for_stmt
|
||||||
S_expr_call = 134, // expr_call
|
S_for_expr = 134, // for_expr
|
||||||
S_expr_call_thread = 135, // expr_call_thread
|
S_expr = 135, // expr
|
||||||
S_expr_call_childthread = 136, // expr_call_childthread
|
S_expr_assign = 136, // expr_assign
|
||||||
S_expr_call_function = 137, // expr_call_function
|
S_expr_compare = 137, // expr_compare
|
||||||
S_expr_call_pointer = 138, // expr_call_pointer
|
S_expr_binary = 138, // expr_binary
|
||||||
S_expr_arguments = 139, // expr_arguments
|
S_expr_primitive = 139, // expr_primitive
|
||||||
S_expr_arguments_filled = 140, // expr_arguments_filled
|
S_expr_call = 140, // expr_call
|
||||||
S_expr_arguments_empty = 141, // expr_arguments_empty
|
S_expr_call_thread = 141, // expr_call_thread
|
||||||
S_expr_function = 142, // expr_function
|
S_expr_call_childthread = 142, // expr_call_childthread
|
||||||
S_expr_add_array = 143, // expr_add_array
|
S_expr_call_function = 143, // expr_call_function
|
||||||
S_expr_array = 144, // expr_array
|
S_expr_call_pointer = 144, // expr_call_pointer
|
||||||
S_expr_field = 145, // expr_field
|
S_expr_arguments = 145, // expr_arguments
|
||||||
S_expr_size = 146, // expr_size
|
S_expr_arguments_filled = 146, // expr_arguments_filled
|
||||||
S_object = 147, // object
|
S_expr_arguments_empty = 147, // expr_arguments_empty
|
||||||
S_thisthread = 148, // thisthread
|
S_expr_function = 148, // expr_function
|
||||||
S_empty_array = 149, // empty_array
|
S_expr_add_array = 149, // expr_add_array
|
||||||
S_undefined = 150, // undefined
|
S_expr_array = 150, // expr_array
|
||||||
S_game = 151, // game
|
S_expr_field = 151, // expr_field
|
||||||
S_self = 152, // self
|
S_expr_size = 152, // expr_size
|
||||||
S_anim = 153, // anim
|
S_object = 153, // object
|
||||||
S_level = 154, // level
|
S_thisthread = 154, // thisthread
|
||||||
S_animation = 155, // animation
|
S_empty_array = 155, // empty_array
|
||||||
S_animtree = 156, // animtree
|
S_undefined = 156, // undefined
|
||||||
S_name = 157, // name
|
S_game = 157, // game
|
||||||
S_file = 158, // file
|
S_self = 158, // self
|
||||||
S_istring = 159, // istring
|
S_anim = 159, // anim
|
||||||
S_string = 160, // string
|
S_level = 160, // level
|
||||||
S_vector = 161, // vector
|
S_animation = 161, // animation
|
||||||
S_neg_float = 162, // neg_float
|
S_animtree = 162, // animtree
|
||||||
S_neg_integer = 163, // neg_integer
|
S_name = 163, // name
|
||||||
S_float = 164, // float
|
S_file = 164, // file
|
||||||
S_integer = 165, // integer
|
S_istring = 165, // istring
|
||||||
S_false = 166, // false
|
S_string = 166, // string
|
||||||
S_true = 167 // true
|
S_vector = 167, // vector
|
||||||
|
S_neg_float = 168, // neg_float
|
||||||
|
S_neg_integer = 169, // neg_integer
|
||||||
|
S_float = 170, // float
|
||||||
|
S_integer = 171, // integer
|
||||||
|
S_false = 172, // false
|
||||||
|
S_true = 173 // true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1086,6 +1104,10 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
value.move< stmt_break_ptr > (std::move (that.value));
|
value.move< stmt_break_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (std::move (that.value));
|
value.move< stmt_call_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
@ -1131,6 +1153,14 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
value.move< stmt_notify_ptr > (std::move (that.value));
|
value.move< stmt_notify_ptr > (std::move (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (std::move (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (std::move (that.value));
|
value.move< stmt_ptr > (std::move (that.value));
|
||||||
@ -1597,6 +1627,20 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_breakpoint_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_breakpoint_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, stmt_call_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_call_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -1751,6 +1795,34 @@ namespace xsk { namespace gsc { namespace s2 {
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_begin_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_begin_ptr& v, const location_type& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (v)
|
||||||
|
, location (l)
|
||||||
|
{}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
basic_symbol (typename Base::kind_type t, stmt_prof_end_ptr&& v, location_type&& l)
|
||||||
|
: Base (t)
|
||||||
|
, value (std::move (v))
|
||||||
|
, location (std::move (l))
|
||||||
|
{}
|
||||||
|
#else
|
||||||
|
basic_symbol (typename Base::kind_type t, const stmt_prof_end_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, stmt_ptr&& v, location_type&& l)
|
basic_symbol (typename Base::kind_type t, stmt_ptr&& v, location_type&& l)
|
||||||
: Base (t)
|
: Base (t)
|
||||||
@ -2126,6 +2198,10 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_break_ptr > ();
|
value.template destroy< stmt_break_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.template destroy< stmt_breakpoint_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.template destroy< stmt_call_ptr > ();
|
value.template destroy< stmt_call_ptr > ();
|
||||||
break;
|
break;
|
||||||
@ -2171,6 +2247,14 @@ switch (yykind)
|
|||||||
value.template destroy< stmt_notify_ptr > ();
|
value.template destroy< stmt_notify_ptr > ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.template destroy< stmt_prof_begin_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.template destroy< stmt_prof_end_ptr > ();
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.template destroy< stmt_ptr > ();
|
value.template destroy< stmt_ptr > ();
|
||||||
@ -2437,6 +2521,51 @@ switch (yykind)
|
|||||||
return symbol_type (token::S2UNDEF, l);
|
return symbol_type (token::S2UNDEF, l);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_BREAKPOINT (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::BREAKPOINT, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFBEGIN (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFBEGIN, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (location_type l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, std::move (l));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static
|
||||||
|
symbol_type
|
||||||
|
make_PROFEND (const location_type& l)
|
||||||
|
{
|
||||||
|
return symbol_type (token::PROFEND, l);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#if 201103L <= YY_CPLUSPLUS
|
#if 201103L <= YY_CPLUSPLUS
|
||||||
static
|
static
|
||||||
symbol_type
|
symbol_type
|
||||||
@ -4161,8 +4290,8 @@ switch (yykind)
|
|||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
yylast_ = 1581, ///< Last index in yytable_.
|
yylast_ = 1646, ///< Last index in yytable_.
|
||||||
yynnts_ = 73, ///< Number of nonterminal symbols.
|
yynnts_ = 76, ///< Number of nonterminal symbols.
|
||||||
yyfinal_ = 15 ///< Termination state number.
|
yyfinal_ = 15 ///< Termination state number.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4319,6 +4448,10 @@ switch (yykind)
|
|||||||
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_break_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.copy< stmt_breakpoint_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_call_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
@ -4364,6 +4497,14 @@ switch (yykind)
|
|||||||
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_notify_ptr > (YY_MOVE (that.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.copy< stmt_prof_begin_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.copy< stmt_prof_end_ptr > (YY_MOVE (that.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
value.copy< stmt_ptr > (YY_MOVE (that.value));
|
||||||
@ -4587,6 +4728,10 @@ switch (yykind)
|
|||||||
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
value.move< stmt_break_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_breakpoint: // stmt_breakpoint
|
||||||
|
value.move< stmt_breakpoint_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt_call: // stmt_call
|
case symbol_kind::S_stmt_call: // stmt_call
|
||||||
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
value.move< stmt_call_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
@ -4632,6 +4777,14 @@ switch (yykind)
|
|||||||
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
value.move< stmt_notify_ptr > (YY_MOVE (s.value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_begin: // stmt_prof_begin
|
||||||
|
value.move< stmt_prof_begin_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case symbol_kind::S_stmt_prof_end: // stmt_prof_end
|
||||||
|
value.move< stmt_prof_end_ptr > (YY_MOVE (s.value));
|
||||||
|
break;
|
||||||
|
|
||||||
case symbol_kind::S_stmt: // stmt
|
case symbol_kind::S_stmt: // stmt
|
||||||
case symbol_kind::S_for_stmt: // for_stmt
|
case symbol_kind::S_for_stmt: // for_stmt
|
||||||
value.move< stmt_ptr > (YY_MOVE (s.value));
|
value.move< stmt_ptr > (YY_MOVE (s.value));
|
||||||
@ -4760,7 +4913,7 @@ switch (yykind)
|
|||||||
|
|
||||||
#line 13 "parser.ypp"
|
#line 13 "parser.ypp"
|
||||||
} } } // xsk::gsc::s2
|
} } } // xsk::gsc::s2
|
||||||
#line 4764 "parser.hpp"
|
#line 4917 "parser.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,6 +93,9 @@ enum class node_t
|
|||||||
stmt_break,
|
stmt_break,
|
||||||
stmt_continue,
|
stmt_continue,
|
||||||
stmt_return,
|
stmt_return,
|
||||||
|
stmt_breakpoint,
|
||||||
|
stmt_prof_begin,
|
||||||
|
stmt_prof_end,
|
||||||
parameters,
|
parameters,
|
||||||
thread,
|
thread,
|
||||||
constant,
|
constant,
|
||||||
@ -201,6 +204,9 @@ struct node_stmt_default;
|
|||||||
struct node_stmt_break;
|
struct node_stmt_break;
|
||||||
struct node_stmt_continue;
|
struct node_stmt_continue;
|
||||||
struct node_stmt_return;
|
struct node_stmt_return;
|
||||||
|
struct node_stmt_breakpoint;
|
||||||
|
struct node_stmt_prof_begin;
|
||||||
|
struct node_stmt_prof_end;
|
||||||
struct node_parameters;
|
struct node_parameters;
|
||||||
struct node_thread;
|
struct node_thread;
|
||||||
struct node_constant;
|
struct node_constant;
|
||||||
@ -305,6 +311,9 @@ using stmt_default_ptr = std::unique_ptr<node_stmt_default>;
|
|||||||
using stmt_break_ptr = std::unique_ptr<node_stmt_break>;
|
using stmt_break_ptr = std::unique_ptr<node_stmt_break>;
|
||||||
using stmt_continue_ptr = std::unique_ptr<node_stmt_continue>;
|
using stmt_continue_ptr = std::unique_ptr<node_stmt_continue>;
|
||||||
using stmt_return_ptr = std::unique_ptr<node_stmt_return>;
|
using stmt_return_ptr = std::unique_ptr<node_stmt_return>;
|
||||||
|
using stmt_breakpoint_ptr = std::unique_ptr<node_stmt_breakpoint>;
|
||||||
|
using stmt_prof_begin_ptr = std::unique_ptr<node_stmt_prof_begin>;
|
||||||
|
using stmt_prof_end_ptr = std::unique_ptr<node_stmt_prof_end>;
|
||||||
using parameters_ptr = std::unique_ptr<node_parameters>;
|
using parameters_ptr = std::unique_ptr<node_parameters>;
|
||||||
using thread_ptr = std::unique_ptr<node_thread>;
|
using thread_ptr = std::unique_ptr<node_thread>;
|
||||||
using constant_ptr = std::unique_ptr<node_constant>;
|
using constant_ptr = std::unique_ptr<node_constant>;
|
||||||
@ -447,6 +456,9 @@ union stmt_ptr
|
|||||||
stmt_break_ptr as_break;
|
stmt_break_ptr as_break;
|
||||||
stmt_continue_ptr as_continue;
|
stmt_continue_ptr as_continue;
|
||||||
stmt_return_ptr as_return;
|
stmt_return_ptr as_return;
|
||||||
|
stmt_breakpoint_ptr as_breakpoint;
|
||||||
|
stmt_prof_begin_ptr as_prof_begin;
|
||||||
|
stmt_prof_end_ptr as_prof_end;
|
||||||
asm_loc_ptr as_loc;
|
asm_loc_ptr as_loc;
|
||||||
asm_jump_cond_ptr as_cond;
|
asm_jump_cond_ptr as_cond;
|
||||||
asm_jump_ptr as_jump;
|
asm_jump_ptr as_jump;
|
||||||
@ -2208,6 +2220,52 @@ struct node_stmt_return : public node
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct node_stmt_breakpoint : public node
|
||||||
|
{
|
||||||
|
node_stmt_breakpoint()
|
||||||
|
: node(node_t::stmt_breakpoint) {}
|
||||||
|
|
||||||
|
node_stmt_breakpoint(const location& loc)
|
||||||
|
: node(node_t::stmt_breakpoint, loc) {}
|
||||||
|
|
||||||
|
auto print() -> std::string override
|
||||||
|
{
|
||||||
|
return "breakpoint;";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct node_stmt_prof_begin : public node
|
||||||
|
{
|
||||||
|
expr_arguments_ptr args;
|
||||||
|
|
||||||
|
node_stmt_prof_begin(expr_arguments_ptr args)
|
||||||
|
: node(node_t::stmt_prof_begin), args(std::move(args)) {}
|
||||||
|
|
||||||
|
node_stmt_prof_begin(const location& loc, expr_arguments_ptr args)
|
||||||
|
: node(node_t::stmt_prof_begin, loc), args(std::move(args)) {}
|
||||||
|
|
||||||
|
auto print() -> std::string override
|
||||||
|
{
|
||||||
|
return "prof_begin(" + args->print() + ");";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct node_stmt_prof_end : public node
|
||||||
|
{
|
||||||
|
expr_arguments_ptr args;
|
||||||
|
|
||||||
|
node_stmt_prof_end(expr_arguments_ptr args)
|
||||||
|
: node(node_t::stmt_prof_end), args(std::move(args)) {}
|
||||||
|
|
||||||
|
node_stmt_prof_end(const location& loc, expr_arguments_ptr args)
|
||||||
|
: node(node_t::stmt_prof_end, loc), args(std::move(args)) {}
|
||||||
|
|
||||||
|
auto print() -> std::string override
|
||||||
|
{
|
||||||
|
return "prof_end(" + args->print() + ");";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
struct node_parameters : public node
|
struct node_parameters : public node
|
||||||
{
|
{
|
||||||
std::vector<name_ptr> list;
|
std::vector<name_ptr> list;
|
||||||
|
Loading…
Reference in New Issue
Block a user