| Sequence ^"&~" Elements /ws
Elements ::= e*/ws
-psy ::= Elements => "ps"
- | psy !wp ^"/" !ws e
- | psy ^"->" e /ws
- | psy "=>" ("[]"|"()"|word|Quoted) /ws => goo
-Sequence ::= Quoted => "qprod"
- > psy => "psx"
+PreSequence ::= Elements => "ps"
+ | PreSequence !wp ^"/" !ws e
+ | PreSequence ^"->" e /ws
+ | (Quoted|word) ^"::" PreSequence /ws
+ | PreSequence ^"=>" ("[]"|"()"|word|Quoted) /ws
+Sequence ::= PreSequence => "psx"
ec ::= ~[\-\]\\]
| escaped
Range ::= ec => "range"
| ec ^"-" ec
-e ::= word => "nonTerminal"
+e ::=
+ (Quoted|word) ^":" e
+ > word => "nonTerminal"
| Quoted => "literal"
| ^"()"
| ^"{" Sequence "}" /ws
| ^"[" Range* "]"
-
| e ^"++" /ws -> ~[/]
| e ^"+" /ws -> ~[+]
| e ^"++/" e /ws