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