ec = ~[\-\]\\]
| escaped
-Range = range:: ec
- | ec ^"-" ec
+Range = ec
+ | ec ^"-" ec
e = (Quoted|Word) ^":" e
- > nonTerminal:: Word
- | literal:: Quoted
+ > NonTerminalReference
+ | Literal
| ^"()"
| ^"{" PreSequence "}" /ws
| ^"[" Range* "]"
| ^"~" e
> "^^":: "^" e
+NonTerminalReference = Word
+Literal = Quoted
Word = [a-zA-Z0-9_]++
Quoted = "\"" ((~[\"\\] | escaped)+) "\""
| "":: "\"\""