ec ::= [~\-\]\\\~]
| escaped
-range ::= ec => "range0"
- | ec ^"-" ec => "range1"
+range ::= ec => "range"
+ | ec ^"-" ec
e ::= word => "nonTerminalY"
| [(][)] => "epsilon"
| ^"{" alternatives "}" /ws
- | "[" (range*) "]" => "range"
- | "[~" (range*) "]" => "rangex"
+ | ^"[" (range*) "]"
+ | ^"[~" (range*) "]"
| e ^"+/" e /ws
| e ^"*/" e /ws
| e ^"?" /ws
| e ^"-" e /ws
| ^"!" e /ws
- | "^" quoted /ws => "care"
+ | "^" quoted /ws => "care"
| ^"`" e /ws
| e ^"#" /ws
| quoted => "literal"