From 50353c1456324e7bd3c130fceaf400aed7880a41 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Thu, 12 Sep 2019 16:12:20 +0800 Subject: spec/assign.moon and spec/bubbling.moon compiled --- MoonParser/moon_parser.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'MoonParser/moon_parser.cpp') diff --git a/MoonParser/moon_parser.cpp b/MoonParser/moon_parser.cpp index 7731513..ae8c53d 100644 --- a/MoonParser/moon_parser.cpp +++ b/MoonParser/moon_parser.cpp @@ -1,5 +1,13 @@ #include "moon_parser.h" +std::unordered_set State::keywords = { + "and", "while", "else", "using", "continue", + "local", "not", "then", "return", "from", + "extends", "for", "do", "or", "export", + "class", "in", "unless", "when", "elseif", + "switch", "break", "if", "with", "import", "true", "false", "nil" +}; + rule plain_space = *set(" \t"); rule Break = nl(-expr('\r') >> '\n'); rule Any = Break | any(); @@ -185,7 +193,9 @@ rule For = key("for") >> DisableDo >> extern rule AssignableNameList; -rule for_in = sym('*') >> Exp | ExpList; +extern rule star_exp; + +rule for_in = star_exp | ExpList; rule ForEach = key("for") >> AssignableNameList >> key("in") >> DisableDo >> ensure(for_in, PopDo) >> -- cgit v1.2.3-55-g6feb