-s ::= Grammar ws => "gram"
+s ::= !ws Grammar ws => "gram"
Grammar ::= NonTerminal +/ ws => "grammar"
NonTerminal ::= word ^"::=" RHS /ws
| Sequence ^"&~" Elements /ws
Elements ::= e*/ws
-ps ::= Elements => "ps"
- | (e+/ws !ws)? ^"^" Quoted (!ws e+/ws)?
-psy ::= ps
- | ps !wp ^"/" !ws e
-psx ::= psy => "psy"
- | psy ^"->" e /ws
+psy ::= Elements => "ps"
+ | psy !wp ^"/" !ws e
+ | psy ^"->" e /ws
+ | psy "=>" ("[]"|"()"|word|Quoted) /ws => goo
Sequence ::= Quoted => "qprod"
- > psx => "psx"
- | psx "=>" ^"[]" /ws
- | psx ^"=>" ("()"|word|Quoted) /ws
+ > psy => "psx"
ec ::= ~[\-\]\\]
| escaped
| e ^"*/" e /ws
| ^"!" e /ws
| e ^"?" /ws
+ | ^"^" Quoted /ws
| "(" word ^")" /ws
> ^"(" RHS ")" /ws