| PreSequence !wp ^"/" !ws e
| PreSequence ^"->" e /ws
| (Quoted|word) ^"::" PreSequence /ws
- | PreSequence ^"=>" ("[]"|"()"|word|Quoted) /ws
Sequence = psx:: PreSequence
ec = ~[\-\]\\]
| e ^"*/" e /ws
| ^"!" e /ws
| e ^"?" /ws
- | ^"^" Quoted /ws
-
- | "(" word ^")" /ws
+ | ^"^" Quoted
+ | "(" word ^")" /ws
> ^"(" RHS ")" /ws
| ^"~" e
+ > "^^":: "^" e
word = [a-zA-Z0-9_]++
Quoted = "\"" ((~[\"\\] | escaped)+) "\""