Don't allow '=' in BareStrings

This commit is contained in:
Henri DF 2016-02-14 20:37:32 -08:00
parent aeba0760db
commit c21e8207f8
2 changed files with 2 additions and 1 deletions

View File

@ -55,6 +55,7 @@ good "a.g in (1, 'a', b.c)"
good "a.b = a.a" good "a.b = a.a"
bad "a.g in ()" bad "a.g in ()"
bad "a.b = b = 1"
bad "(a.b = 1" bad "(a.b = 1"
# Macros # Macros

View File

@ -216,7 +216,7 @@ local G = {
Number = C(V"Hex" + V"Float" + V"Int") / Number = C(V"Hex" + V"Float" + V"Int") /
function (n) return tonumber(n) end; function (n) return tonumber(n) end;
String = (P'"' * C(((P'\\' * P(1)) + (P(1) - P'"'))^0) * P'"' + P"'" * C(((P"\\" * P(1)) + (P(1) - P"'"))^0) * P"'") / function (s) return fix_str(s) end; String = (P'"' * C(((P'\\' * P(1)) + (P(1) - P'"'))^0) * P'"' + P"'" * C(((P"\\" * P(1)) + (P(1) - P"'"))^0) * P"'") / function (s) return fix_str(s) end;
BareString = C(((P(1) - S' (),'))^1); BareString = C(((P(1) - S' (),='))^1);
OrOp = kw("or") / "or"; OrOp = kw("or") / "or";
AndOp = kw("and") / "and"; AndOp = kw("and") / "and";