// use 'a'-'z' or 'a-z' instead of [a-z]?
// EOF token?
// #include (with renaming?)
-// ANTLR uses ! and ^ suffixes
RHS = (Sequence +/ (ws! "|" ws!)) +/ (ws! ">" ws!)
Elements = e*/ws
-PreSequence = ps:: Elements
- | (Quoted|Word) ^"::" PreSequence /ws
- > PreSequence ^"/" e /ws
- | PreSequence ^"->" e /ws
+PreSequence = PS
+ | (Quoted|Word) ^"::" PreSequence /ws
+ > PreSequence ^"/" e /ws
+ | PreSequence ^"->" e /ws
+PS = Elements
Sequence = psx:: PreSequence
- | Sequence ^"&" Elements /ws
- | Sequence ^"&~" Elements /ws
+ | Sequence ^"&" PS /ws
+ | Sequence ^"&~" PS /ws
ec = ~[\-\]\\]
| escaped
| e ^"!"
| e ^"?" /ws
| ^"^" Quoted
- | Quoted ^"^"
> ^"(" RHS ")" /ws
| ^"~" e