aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/moon_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/MoonP/moon_parser.cpp')
-rw-r--r--src/MoonP/moon_parser.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/MoonP/moon_parser.cpp b/src/MoonP/moon_parser.cpp
index 25e67b3..4dee5b1 100644
--- a/src/MoonP/moon_parser.cpp
+++ b/src/MoonP/moon_parser.cpp
@@ -174,6 +174,14 @@ MoonParser::MoonParser() {
174 local_values = NameList >> -(sym('=') >> (TableBlock | ExpListLow)); 174 local_values = NameList >> -(sym('=') >> (TableBlock | ExpListLow));
175 Local = key("local") >> (Space >> local_flag | local_values); 175 Local = key("local") >> (Space >> local_flag | local_values);
176 176
177 LocalAttrib = and_(key(pl::user(Name, [](const item_t& item) {
178 State* st = reinterpret_cast<State*>(item.user_data);
179 for (auto it = item.begin; it != item.end; ++it) st->buffer += static_cast<char>(*it);
180 auto it = Keywords.find(st->buffer);
181 st->buffer.clear();
182 return it == Keywords.end();
183 })) >> NameList >> sym('=') >> not_('=')) >> Space >> Name >> NameList >> Assign;
184
177 colon_import_name = sym('\\') >> Space >> Variable; 185 colon_import_name = sym('\\') >> Space >> Variable;
178 ImportName = colon_import_name | Space >> Variable; 186 ImportName = colon_import_name | Space >> Variable;
179 ImportNameList = Seperator >> *SpaceBreak >> ImportName >> *((+SpaceBreak | sym(',') >> *SpaceBreak) >> ImportName); 187 ImportNameList = Seperator >> *SpaceBreak >> ImportName >> *((+SpaceBreak | sym(',') >> *SpaceBreak) >> ImportName);
@@ -552,7 +560,8 @@ MoonParser::MoonParser() {
552 Statement = ( 560 Statement = (
553 Import | While | Repeat | For | ForEach | 561 Import | While | Repeat | For | ForEach |
554 Return | Local | Global | Export | Macro | 562 Return | Local | Global | Export | Macro |
555 Space >> BreakLoop | Label | Goto | Backcall | ExpListAssign 563 Space >> BreakLoop | Label | Goto | Backcall |
564 LocalAttrib | ExpListAssign
556 ) >> Space >> 565 ) >> Space >>
557 -statement_appendix >> -statement_sep; 566 -statement_appendix >> -statement_sep;
558 567