| Sequence ^"&" Elements /ws
| Sequence ^"&~" Elements /ws
Elements ::= e*/ws
-NamedElements ::= (e | word ^":" e) */ ws
-PreSequence ::= NamedElements => "ps"
+PreSequence ::= Elements => "ps"
| PreSequence !wp ^"/" !ws e
| PreSequence ^"->" e /ws
+ | (Quoted|word) ^"::" PreSequence /ws
| PreSequence ^"=>" ("[]"|"()"|word|Quoted) /ws
Sequence ::= PreSequence => "psx"
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