+s = !ws Grammar !ws
+
Grammar = NonTerminal +/ ws
-s = !ws (grammar::Grammar) !ws
-NonTerminal = Word ^"=" RHS /ws
+
+NonTerminal = Word "=" RHS /ws
// use 'a'-'z' or 'a-z' instead of [a-z]?
// EOF token?
// #include (with renaming?)
// ANTLR uses ! and ^ suffixes
-
-blah = "Grammar"
RHS = (Sequence +/ (!ws "|" !ws)) +/ (!ws ">" !ws)
ec = ~[\-\]\\]
| escaped
-Range = range:: ec
- | ec ^"-" ec
+Range = ec
+ | ec ^"-" ec
+
+NonTerminalReference = Word
e = (Quoted|Word) ^":" e
- > nonTerminal:: Word
+ > NonTerminalReference
| literal:: Quoted
| ^"()"
| ^"{" PreSequence "}" /ws