|
|
|
@ -6,7 +6,7 @@ grammar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rule
|
|
|
|
|
= name:identifier displayName:(literal / "") equals expression:expression {
|
|
|
|
|
= name:identifier displayName:(literal / "") equals expression:expression semicolon? {
|
|
|
|
|
return {
|
|
|
|
|
type: "rule",
|
|
|
|
|
name: name,
|
|
|
|
@ -136,17 +136,18 @@ nonBraceCharacters
|
|
|
|
|
nonBraceCharacter
|
|
|
|
|
= [^{}]
|
|
|
|
|
|
|
|
|
|
equals = "=" __ { return "="; }
|
|
|
|
|
colon = ":" __ { return ":"; }
|
|
|
|
|
slash = "/" __ { return "/"; }
|
|
|
|
|
and = "&" __ { return "&"; }
|
|
|
|
|
not = "!" __ { return "!"; }
|
|
|
|
|
question = "?" __ { return "?"; }
|
|
|
|
|
star = "*" __ { return "*"; }
|
|
|
|
|
plus = "+" __ { return "+"; }
|
|
|
|
|
lparen = "(" __ { return "("; }
|
|
|
|
|
rparen = ")" __ { return ")"; }
|
|
|
|
|
dot = "." __ { return "."; }
|
|
|
|
|
equals = "=" __ { return "="; }
|
|
|
|
|
colon = ":" __ { return ":"; }
|
|
|
|
|
semicolon = ";" __ { return ";"; }
|
|
|
|
|
slash = "/" __ { return "/"; }
|
|
|
|
|
and = "&" __ { return "&"; }
|
|
|
|
|
not = "!" __ { return "!"; }
|
|
|
|
|
question = "?" __ { return "?"; }
|
|
|
|
|
star = "*" __ { return "*"; }
|
|
|
|
|
plus = "+" __ { return "+"; }
|
|
|
|
|
lparen = "(" __ { return "("; }
|
|
|
|
|
rparen = ")" __ { return ")"; }
|
|
|
|
|
dot = "." __ { return "."; }
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Modelled after ECMA-262, 5th ed., 7.6, but much simplified:
|
|
|
|
|