aboutsummaryrefslogtreecommitdiff
path: root/MoonParser/moon_ast.h
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2019-10-06 17:30:11 +0800
committerLi Jin <dragon-fly@qq.com>2019-10-06 17:30:11 +0800
commit055fcb596781a8488afeb0030e9ef4295e3d7017 (patch)
tree0512d6d9660e563be37af5b6ac1bb888a9023e6a /MoonParser/moon_ast.h
parent2de63a85a87c9a64032602fdd3736f69e73efbc5 (diff)
downloadyuescript-055fcb596781a8488afeb0030e9ef4295e3d7017.tar.gz
yuescript-055fcb596781a8488afeb0030e9ef4295e3d7017.tar.bz2
yuescript-055fcb596781a8488afeb0030e9ef4295e3d7017.zip
updating
Diffstat (limited to 'MoonParser/moon_ast.h')
-rw-r--r--MoonParser/moon_ast.h42
1 files changed, 26 insertions, 16 deletions
diff --git a/MoonParser/moon_ast.h b/MoonParser/moon_ast.h
index 1e5d733..d4ade53 100644
--- a/MoonParser/moon_ast.h
+++ b/MoonParser/moon_ast.h
@@ -245,10 +245,8 @@ AST_END(Update)
245AST_LEAF(BinaryOperator, "BinaryOperator"_id) 245AST_LEAF(BinaryOperator, "BinaryOperator"_id)
246AST_END(BinaryOperator) 246AST_END(BinaryOperator)
247 247
248class Chain_t;
249
250AST_NODE(Assignable, "Assignable"_id) 248AST_NODE(Assignable, "Assignable"_id)
251 ast_ptr<ast_node> item; // Chain_t | Variable_t | SelfName_t 249 ast_ptr<ast_node> item; // AssignableChain_t | Variable_t | SelfName_t
252AST_END(Assignable) 250AST_END(Assignable)
253 251
254class Value_t; 252class Value_t;
@@ -267,13 +265,6 @@ AST_NODE(Callable, "Callable"_id)
267 ast_ptr<ast_node> item; // Variable_t | SelfName_t | VarArg_t | Parens_t 265 ast_ptr<ast_node> item; // Variable_t | SelfName_t | VarArg_t | Parens_t
268AST_END(Callable) 266AST_END(Callable)
269 267
270class InvokeArgs_t;
271
272AST_NODE(ChainValue, "ChainValue"_id)
273 ast_ptr<ast_node> caller; // Chain_t | Callable_t
274 ast_ptr<InvokeArgs_t, true> arguments;
275AST_END(ChainValue)
276
277AST_NODE(variable_pair, "variable_pair"_id) 268AST_NODE(variable_pair, "variable_pair"_id)
278 ast_ptr<Variable_t> name; 269 ast_ptr<Variable_t> name;
279AST_END(variable_pair) 270AST_END(variable_pair)
@@ -299,7 +290,19 @@ AST_NODE(SimpleValue, "SimpleValue"_id)
299 */ 290 */
300AST_END(SimpleValue) 291AST_END(SimpleValue)
301 292
302AST_LEAF(LuaString, "LuaString"_id) 293AST_LEAF(LuaStringOpen, "LuaStringOpen"_id)
294AST_END(LuaStringOpen)
295
296AST_LEAF(LuaStringContent, "LuaStringContent"_id)
297AST_END(LuaStringContent)
298
299AST_LEAF(LuaStringClose, "LuaStringClose"_id)
300AST_END(LuaStringClose)
301
302AST_NODE(LuaString, "LuaString"_id)
303 ast_ptr<LuaStringOpen_t> open;
304 ast_ptr<LuaStringContent_t> content;
305 ast_ptr<LuaStringClose_t> close;
303AST_END(LuaString) 306AST_END(LuaString)
304 307
305AST_LEAF(SingleString, "SingleString"_id) 308AST_LEAF(SingleString, "SingleString"_id)
@@ -345,10 +348,17 @@ AST_NODE(Invoke, "Invoke"_id)
345 ast_sel_list<Exp_t, SingleString_t, DoubleString_t, LuaString_t> args; 348 ast_sel_list<Exp_t, SingleString_t, DoubleString_t, LuaString_t> args;
346AST_END(Invoke) 349AST_END(Invoke)
347 350
348AST_NODE(Chain, "Chain"_id) 351class InvokeArgs_t;
352
353AST_NODE(ChainValue, "ChainValue"_id)
354 ast_ptr<Seperator_t> sep;
355 ast_sel_list<Callable_t, Invoke_t, DotChainItem_t, ColonChainItem_t, Slice_t, Exp_t, String_t, InvokeArgs_t> items;
356AST_END(ChainValue)
357
358AST_NODE(AssignableChain, "AssignableChain"_id)
349 ast_ptr<Seperator_t> sep; 359 ast_ptr<Seperator_t> sep;
350 ast_sel_list<Callable_t, Invoke_t, DotChainItem_t, ColonChainItem_t, Slice_t, Exp_t> items; 360 ast_sel_list<Callable_t, Invoke_t, DotChainItem_t, ColonChainItem_t, Exp_t, String_t> items;
351AST_END(Chain) 361AST_END(AssignableChain)
352 362
353AST_NODE(Value, "Value"_id) 363AST_NODE(Value, "Value"_id)
354 ast_ptr<ast_node> item; // SimpleValue_t | simple_table_t | ChainValue_t | String_t 364 ast_ptr<ast_node> item; // SimpleValue_t | simple_table_t | ChainValue_t | String_t
@@ -486,6 +496,6 @@ AST_NODE(Block, "Block"_id)
486 ast_list<Statement_t> statements; 496 ast_list<Statement_t> statements;
487AST_END(Block) 497AST_END(Block)
488 498
489AST_NODE(BlockEnd, "BlockEnd"_id) 499AST_NODE(File, "File"_id)
490 ast_ptr<Block_t> block; 500 ast_ptr<Block_t> block;
491AST_END(BlockEnd) 501AST_END(File)