2 Grammar = grammar:: NonTerminal +/ ws
3 NonTerminal = word !wp ^"=" !wp RHS
5 RHS = (Sequence +/ (!ws "|" !ws)) +/ (!ws ">" !ws)
9 PreSequence = ps:: Elements
10 | PreSequence !wp ^"/" !ws e
11 | PreSequence ^"->" e /ws
12 | (Quoted|word) ^"::" PreSequence /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"
56 | "()":: w** "//" ~[\n]* "\n" ws