diff options
author | Li Jin <dragon-fly@qq.com> | 2019-09-17 00:41:21 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2019-09-17 00:41:21 +0800 |
commit | 74c4f6eab47f76b093e17f515204525e00a3b352 (patch) | |
tree | d737b1437f103842f30c96a2787468d474405efb /MoonParser/moon_ast.h | |
parent | b65798d7960d797f2b7074c4cc47b8c70a9f5270 (diff) | |
download | yuescript-74c4f6eab47f76b093e17f515204525e00a3b352.tar.gz yuescript-74c4f6eab47f76b093e17f515204525e00a3b352.tar.bz2 yuescript-74c4f6eab47f76b093e17f515204525e00a3b352.zip |
completing spec/class.moon
Diffstat (limited to 'MoonParser/moon_ast.h')
-rw-r--r-- | MoonParser/moon_ast.h | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/MoonParser/moon_ast.h b/MoonParser/moon_ast.h index 9eab2f9..9733bf9 100644 --- a/MoonParser/moon_ast.h +++ b/MoonParser/moon_ast.h | |||
@@ -48,25 +48,25 @@ public: \ | |||
48 | AST_LEAF(Num, "Num"_id) | 48 | AST_LEAF(Num, "Num"_id) |
49 | AST_END(Num) | 49 | AST_END(Num) |
50 | 50 | ||
51 | AST_LEAF(_Name, "_Name"_id) | 51 | AST_LEAF(Name, "Name"_id) |
52 | AST_END(_Name) | ||
53 | |||
54 | AST_NODE(Name, "Name"_id) | ||
55 | ast_ptr<_Name_t> name; | ||
56 | AST_END(Name) | 52 | AST_END(Name) |
57 | 53 | ||
54 | AST_NODE(Variable, "Variable"_id) | ||
55 | ast_ptr<Name_t> name; | ||
56 | AST_END(Variable) | ||
57 | |||
58 | AST_LEAF(self, "self"_id) | 58 | AST_LEAF(self, "self"_id) |
59 | AST_END(self) | 59 | AST_END(self) |
60 | 60 | ||
61 | AST_NODE(self_name, "self_name"_id) | 61 | AST_NODE(self_name, "self_name"_id) |
62 | ast_ptr<_Name_t> name; | 62 | ast_ptr<Name_t> name; |
63 | AST_END(self_name) | 63 | AST_END(self_name) |
64 | 64 | ||
65 | AST_LEAF(self_class, "self_class"_id) | 65 | AST_LEAF(self_class, "self_class"_id) |
66 | AST_END(self_class) | 66 | AST_END(self_class) |
67 | 67 | ||
68 | AST_NODE(self_class_name, "self_class_name"_id) | 68 | AST_NODE(self_class_name, "self_class_name"_id) |
69 | ast_ptr<_Name_t> name; | 69 | ast_ptr<Name_t> name; |
70 | AST_END(self_class_name) | 70 | AST_END(self_class_name) |
71 | 71 | ||
72 | AST_NODE(SelfName, "SelfName"_id) | 72 | AST_NODE(SelfName, "SelfName"_id) |
@@ -74,7 +74,7 @@ AST_NODE(SelfName, "SelfName"_id) | |||
74 | AST_END(SelfName) | 74 | AST_END(SelfName) |
75 | 75 | ||
76 | AST_NODE(KeyName, "KeyName"_id) | 76 | AST_NODE(KeyName, "KeyName"_id) |
77 | ast_ptr<ast_node> name; // SelfName_t | _Name_t | 77 | ast_ptr<ast_node> name; // SelfName_t | Name_t |
78 | AST_END(KeyName) | 78 | AST_END(KeyName) |
79 | 79 | ||
80 | AST_LEAF(VarArg, "VarArg"_id) | 80 | AST_LEAF(VarArg, "VarArg"_id) |
@@ -88,7 +88,7 @@ AST_END(Seperator) | |||
88 | 88 | ||
89 | AST_NODE(NameList, "NameList"_id) | 89 | AST_NODE(NameList, "NameList"_id) |
90 | ast_ptr<Seperator_t> sep; | 90 | ast_ptr<Seperator_t> sep; |
91 | ast_list<Name_t> names; | 91 | ast_list<Variable_t> names; |
92 | AST_END(NameList) | 92 | AST_END(NameList) |
93 | 93 | ||
94 | AST_NODE(Local, "Local"_id) | 94 | AST_NODE(Local, "Local"_id) |
@@ -96,13 +96,13 @@ AST_NODE(Local, "Local"_id) | |||
96 | AST_END(Local) | 96 | AST_END(Local) |
97 | 97 | ||
98 | AST_NODE(colon_import_name, "colon_import_name"_id) | 98 | AST_NODE(colon_import_name, "colon_import_name"_id) |
99 | ast_ptr<Name_t> name; | 99 | ast_ptr<Variable_t> name; |
100 | AST_END(colon_import_name) | 100 | AST_END(colon_import_name) |
101 | 101 | ||
102 | class Exp_t; | 102 | class Exp_t; |
103 | 103 | ||
104 | AST_NODE(ImportName, "ImportName"_id) | 104 | AST_NODE(ImportName, "ImportName"_id) |
105 | ast_ptr<ast_node> name; // colon_import_name_t | Name_t | 105 | ast_ptr<ast_node> name; // colon_import_name_t | Variable_t |
106 | AST_END(ImportName) | 106 | AST_END(ImportName) |
107 | 107 | ||
108 | AST_NODE(Import, "Import"_id) | 108 | AST_NODE(Import, "Import"_id) |
@@ -182,7 +182,7 @@ AST_NODE(for_step_value, "for_step_value"_id) | |||
182 | AST_END(for_step_value) | 182 | AST_END(for_step_value) |
183 | 183 | ||
184 | AST_NODE(For, "For"_id) | 184 | AST_NODE(For, "For"_id) |
185 | ast_ptr<Name_t> varName; | 185 | ast_ptr<Variable_t> varName; |
186 | ast_ptr<Exp_t> startValue; | 186 | ast_ptr<Exp_t> startValue; |
187 | ast_ptr<Exp_t> stopValue; | 187 | ast_ptr<Exp_t> stopValue; |
188 | ast_ptr<for_step_value_t, true> stepValue; | 188 | ast_ptr<for_step_value_t, true> stepValue; |
@@ -228,7 +228,7 @@ AST_NODE(CompForEach, "CompForEach"_id) | |||
228 | AST_END(CompForEach) | 228 | AST_END(CompForEach) |
229 | 229 | ||
230 | AST_NODE(CompFor, "CompFor"_id) | 230 | AST_NODE(CompFor, "CompFor"_id) |
231 | ast_ptr<Name_t> varName; | 231 | ast_ptr<Variable_t> varName; |
232 | ast_ptr<Exp_t> startValue; | 232 | ast_ptr<Exp_t> startValue; |
233 | ast_ptr<Exp_t> stopValue; | 233 | ast_ptr<Exp_t> stopValue; |
234 | ast_ptr<for_step_value_t, true> stepValue; | 234 | ast_ptr<for_step_value_t, true> stepValue; |
@@ -264,7 +264,7 @@ AST_END(BinaryOperator) | |||
264 | class Chain_t; | 264 | class Chain_t; |
265 | 265 | ||
266 | AST_NODE(Assignable, "Assignable"_id) | 266 | AST_NODE(Assignable, "Assignable"_id) |
267 | ast_ptr<ast_node> item; // Chain_t | Name_t | SelfName_t | 267 | ast_ptr<ast_node> item; // Chain_t | Variable_t | SelfName_t |
268 | AST_END(Assignable) | 268 | AST_END(Assignable) |
269 | 269 | ||
270 | class Value_t; | 270 | class Value_t; |
@@ -280,7 +280,7 @@ AST_NODE(Exp, "Exp"_id) | |||
280 | AST_END(Exp) | 280 | AST_END(Exp) |
281 | 281 | ||
282 | AST_NODE(Callable, "Callable"_id) | 282 | AST_NODE(Callable, "Callable"_id) |
283 | ast_ptr<ast_node> item; // Name_t | SelfName_t | VarArg_t | Parens_t | 283 | ast_ptr<ast_node> item; // Variable_t | SelfName_t | VarArg_t | Parens_t |
284 | AST_END(Callable) | 284 | AST_END(Callable) |
285 | 285 | ||
286 | class InvokeArgs_t; | 286 | class InvokeArgs_t; |
@@ -359,11 +359,12 @@ AST_NODE(chain_item, "chain_item"_id) | |||
359 | AST_END(chain_item) | 359 | AST_END(chain_item) |
360 | 360 | ||
361 | AST_NODE(DotChainItem, "DotChainItem"_id) | 361 | AST_NODE(DotChainItem, "DotChainItem"_id) |
362 | ast_ptr<_Name_t> name; | 362 | ast_ptr<Name_t> name; |
363 | AST_END(DotChainItem) | 363 | AST_END(DotChainItem) |
364 | 364 | ||
365 | AST_NODE(ColonChainItem, "ColonChainItem"_id) | 365 | AST_NODE(ColonChainItem, "ColonChainItem"_id) |
366 | ast_ptr<_Name_t> name; | 366 | ast_ptr<Name_t> name; |
367 | bool switchToDot = false; | ||
367 | AST_END(ColonChainItem) | 368 | AST_END(ColonChainItem) |
368 | 369 | ||
369 | AST_NODE(chain_dot_chain, "chain_dot_chain"_id) | 370 | AST_NODE(chain_dot_chain, "chain_dot_chain"_id) |
@@ -430,7 +431,7 @@ AST_NODE(class_member_list, "class_member_list"_id) | |||
430 | AST_END(class_member_list) | 431 | AST_END(class_member_list) |
431 | 432 | ||
432 | AST_NODE(ClassLine, "ClassLine"_id) | 433 | AST_NODE(ClassLine, "ClassLine"_id) |
433 | ast_ptr<ast_node> content; // class_member_list_t | Statement_t | Exp_t | 434 | ast_ptr<ast_node> content; // class_member_list_t | Statement_t |
434 | AST_END(ClassLine) | 435 | AST_END(ClassLine) |
435 | 436 | ||
436 | AST_NODE(ClassBlock, "ClassBlock"_id) | 437 | AST_NODE(ClassBlock, "ClassBlock"_id) |
@@ -457,7 +458,7 @@ AST_NODE(Export, "Export"_id) | |||
457 | AST_END(Export) | 458 | AST_END(Export) |
458 | 459 | ||
459 | AST_NODE(variable_pair, "variable_pair"_id) | 460 | AST_NODE(variable_pair, "variable_pair"_id) |
460 | ast_ptr<Name_t> name; | 461 | ast_ptr<Variable_t> name; |
461 | AST_END(variable_pair) | 462 | AST_END(variable_pair) |
462 | 463 | ||
463 | AST_NODE(normal_pair, "normal_pair"_id) | 464 | AST_NODE(normal_pair, "normal_pair"_id) |
@@ -470,7 +471,7 @@ AST_NODE(KeyValue, "KeyValue"_id) | |||
470 | AST_END(KeyValue) | 471 | AST_END(KeyValue) |
471 | 472 | ||
472 | AST_NODE(FnArgDef, "FnArgDef"_id) | 473 | AST_NODE(FnArgDef, "FnArgDef"_id) |
473 | ast_ptr<ast_node> name; // Name_t | SelfName_t | 474 | ast_ptr<ast_node> name; // Variable_t | SelfName_t |
474 | ast_ptr<Exp_t, true> defaultValue; | 475 | ast_ptr<Exp_t, true> defaultValue; |
475 | AST_END(FnArgDef) | 476 | AST_END(FnArgDef) |
476 | 477 | ||
@@ -499,7 +500,7 @@ AST_NODE(FunLit, "FunLit"_id) | |||
499 | AST_END(FunLit) | 500 | AST_END(FunLit) |
500 | 501 | ||
501 | AST_NODE(NameOrDestructure, "NameOrDestructure"_id) | 502 | AST_NODE(NameOrDestructure, "NameOrDestructure"_id) |
502 | ast_ptr<ast_node> item; // Name_t | TableLit_t | 503 | ast_ptr<ast_node> item; // Variable_t | TableLit_t |
503 | AST_END(NameOrDestructure) | 504 | AST_END(NameOrDestructure) |
504 | 505 | ||
505 | AST_NODE(AssignableNameList, "AssignableNameList"_id) | 506 | AST_NODE(AssignableNameList, "AssignableNameList"_id) |