aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/moon_parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/MoonP/moon_parser.h')
-rw-r--r--src/MoonP/moon_parser.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/MoonP/moon_parser.h b/src/MoonP/moon_parser.h
index 12f735b..eefcba5 100644
--- a/src/MoonP/moon_parser.h
+++ b/src/MoonP/moon_parser.h
@@ -26,6 +26,8 @@ struct ParseInfo {
26 ast_ptr<false, ast_node> node; 26 ast_ptr<false, ast_node> node;
27 std::string error; 27 std::string error;
28 std::unique_ptr<input> codes; 28 std::unique_ptr<input> codes;
29 bool exportDefault = false;
30 std::string moduleName;
29 std::string errorMessage(std::string_view msg, const input_range* loc) const; 31 std::string errorMessage(std::string_view msg, const input_range* loc) const;
30}; 32};
31 33
@@ -72,10 +74,13 @@ protected:
72 struct State { 74 struct State {
73 State() { 75 State() {
74 indents.push(0); 76 indents.push(0);
75 stringOpen = -1;
76 } 77 }
78 bool exportDefault = false;
79 int exportCount = 0;
80 int moduleFix = 0;
81 size_t stringOpen = 0;
82 std::string moduleName = "_module_0";
77 std::string buffer; 83 std::string buffer;
78 size_t stringOpen;
79 std::stack<int> indents; 84 std::stack<int> indents;
80 std::stack<bool> doStack; 85 std::stack<bool> doStack;
81 }; 86 };
@@ -124,8 +129,8 @@ private:
124 rule ImportNameList; 129 rule ImportNameList;
125 rule import_literal_chain; 130 rule import_literal_chain;
126 rule WithExp; 131 rule WithExp;
127 rule PopDo;
128 rule DisableDo; 132 rule DisableDo;
133 rule PopDo;
129 rule SwitchElse; 134 rule SwitchElse;
130 rule SwitchBlock; 135 rule SwitchBlock;
131 rule IfElseIf; 136 rule IfElseIf;
@@ -181,9 +186,9 @@ private:
181 AST_RULE(SelfName) 186 AST_RULE(SelfName)
182 AST_RULE(KeyName) 187 AST_RULE(KeyName)
183 AST_RULE(VarArg) 188 AST_RULE(VarArg)
184 AST_RULE(local_flag)
185 AST_RULE(Seperator) 189 AST_RULE(Seperator)
186 AST_RULE(NameList) 190 AST_RULE(NameList)
191 AST_RULE(local_flag)
187 AST_RULE(Local) 192 AST_RULE(Local)
188 AST_RULE(colon_import_name) 193 AST_RULE(colon_import_name)
189 AST_RULE(import_literal_inner) 194 AST_RULE(import_literal_inner)
@@ -249,8 +254,10 @@ private:
249 AST_RULE(class_member_list) 254 AST_RULE(class_member_list)
250 AST_RULE(ClassBlock) 255 AST_RULE(ClassBlock)
251 AST_RULE(ClassDecl) 256 AST_RULE(ClassDecl)
252 AST_RULE(export_values) 257 AST_RULE(global_values)
253 AST_RULE(export_op) 258 AST_RULE(global_op)
259 AST_RULE(Global)
260 AST_RULE(export_default)
254 AST_RULE(Export) 261 AST_RULE(Export)
255 AST_RULE(variable_pair) 262 AST_RULE(variable_pair)
256 AST_RULE(normal_pair) 263 AST_RULE(normal_pair)