1 s = ws grammar:Grammar ws
2 Grammar = NonTerminal +/ ws
3 NonTerminal = Word ^"=" RHS /ws
5 RHS = (Sequence +/ (!ws "|" !ws)) +/ (!ws ">" !ws)
9 PreSequence = ps:: Elements
10 | (Quoted|Word) ^"::" PreSequence /ws
11 > PreSequence ^"/" e /ws
12 | PreSequence ^"->" e /ws
14 Sequence = psx:: PreSequence
15 | Sequence ^"&" Elements /ws
16 | Sequence ^"&~" Elements /ws
24 e = (Quoted|Word) ^":" e
28 | ^"{" Sequence "}" /ws
47 Quoted = "\"" ((~[\"\\] | escaped)+) "\""
49 escaped = "\n":: "\\n"
55 | "()":: w** "//" ~[\n]* "\n" ws