aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP
diff options
context:
space:
mode:
Diffstat (limited to 'src/MoonP')
-rw-r--r--src/MoonP/moon_parser.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/MoonP/moon_parser.cpp b/src/MoonP/moon_parser.cpp
index 8d7fdc5..39551d2 100644
--- a/src/MoonP/moon_parser.cpp
+++ b/src/MoonP/moon_parser.cpp
@@ -36,7 +36,6 @@ MoonParser::MoonParser() {
36 plain_space = *set(" \t"); 36 plain_space = *set(" \t");
37 Break = nl(-expr('\r') >> '\n'); 37 Break = nl(-expr('\r') >> '\n');
38 Any = Break | any(); 38 Any = Break | any();
39 White = *(set(" \t") | Break);
40 Stop = Break | eof(); 39 Stop = Break | eof();
41 Indent = plain_space; 40 Indent = plain_space;
42 Comment = "--" >> *(not_(set("\r\n")) >> Any) >> and_(Stop); 41 Comment = "--" >> *(not_(set("\r\n")) >> Any) >> and_(Stop);
@@ -45,8 +44,9 @@ MoonParser::MoonParser() {
45 multi_line_content = *(not_(multi_line_close) >> Any); 44 multi_line_content = *(not_(multi_line_close) >> Any);
46 MultiLineComment = multi_line_open >> multi_line_content >> multi_line_close; 45 MultiLineComment = multi_line_open >> multi_line_content >> multi_line_close;
47 EscapeNewLine = expr('\\') >> *(set(" \t") | MultiLineComment) >> -Comment >> Break; 46 EscapeNewLine = expr('\\') >> *(set(" \t") | MultiLineComment) >> -Comment >> Break;
48 Space = *(set(" \t") | MultiLineComment | EscapeNewLine) >> -Comment; 47 Space = *(set(" \t") | and_(set("-\\")) >> (MultiLineComment | EscapeNewLine)) >> -Comment;
49 SpaceBreak = Space >> Break; 48 SpaceBreak = Space >> Break;
49 White = Space >> *(Break >> Space);
50 EmptyLine = SpaceBreak; 50 EmptyLine = SpaceBreak;
51 AlphaNum = range('a', 'z') | range('A', 'Z') | range('0', '9') | '_'; 51 AlphaNum = range('a', 'z') | range('A', 'Z') | range('0', '9') | '_';
52 Name = (range('a', 'z') | range('A', 'Z') | '_') >> *AlphaNum; 52 Name = (range('a', 'z') | range('A', 'Z') | '_') >> *AlphaNum;
@@ -207,7 +207,7 @@ MoonParser::MoonParser() {
207 207
208 for_in = star_exp | ExpList; 208 for_in = star_exp | ExpList;
209 209
210 ForEach = key("for") >> AssignableNameList >> key("in") >> 210 ForEach = key("for") >> AssignableNameList >> White >> key("in") >>
211 DisableDo >> ensure(for_in, PopDo) >> 211 DisableDo >> ensure(for_in, PopDo) >>
212 -key("do") >> Body; 212 -key("do") >> Body;
213 213
@@ -233,7 +233,7 @@ MoonParser::MoonParser() {
233 233
234 Comprehension = sym('[') >> Exp >> CompInner >> sym(']'); 234 Comprehension = sym('[') >> Exp >> CompInner >> sym(']');
235 comp_value = sym(',') >> Exp; 235 comp_value = sym(',') >> Exp;
236 TblComprehension = sym('{') >> (Exp >> -comp_value) >> CompInner >> sym('}'); 236 TblComprehension = sym('{') >> Exp >> -comp_value >> CompInner >> sym('}');
237 237
238 CompInner = Seperator >> (CompForEach | CompFor) >> *CompClause; 238 CompInner = Seperator >> (CompForEach | CompFor) >> *CompClause;
239 star_exp = sym('*') >> Exp; 239 star_exp = sym('*') >> Exp;