-s ::= w* Grammar w* => "gram"
+s ::= ws grammar ws => "gram"
+ws !::= w**
+grammar ::= R+/ws => "grammar"
Grammar ::= R+ => "grammar"
R ::= word ^"::=" Alternatives
| word ^"!::=" Alternatives
Alternatives ::= EquiAlt +/ ">"
EquiAlt ::= Conjuncts +/ "|" => "alternatives"
-Sequence ::= E+ ^"/" E
- > E+
+sequence ::= Es
+ > Es ^"/" E /ws
+Es ::= E+
+//es ::= E+/ws
-Conjuncts ::= Rewrite
- | Rewrite ^"&" Sequence
- | Rewrite ^"&~" Sequence
+Conjuncts ::= rewrite
+ | rewrite ^"&" sequence
+ | rewrite ^"&~" sequence
-Rewrite ::= Sequence => "rewrite"
- | Sequence ^"=>" word
- | Sequence ^"=>" quoted
- | Sequence "=>" "()" => "wrap"
+rewrite ::= sequence /ws => "rewrite"
+ | sequence ^"=>" word /ws
+ | sequence ^"=>" quoted /ws
+ | sequence "=>" "()" /ws => "wrap"
range ::= ec => "range0" | ec ^"-" ec => "range0"
E ::= word => "nonTerminalY"