-s = gram:: !ws Grammar ws
-Grammar = grammar:: NonTerminal +/ ws
-NonTerminal = word !wp ^"=" !wp RHS
-
-RHS = (Conjuncts +/ (!ws "|" !ws)) +/ (!ws ">" !ws)
-
-Conjuncts = Sequence
- | Sequence ^"&" Elements /ws
- | Sequence ^"&~" Elements /ws
-Elements = e*/ws
-
-PreSequence = ps:: Elements
- | PreSequence !wp ^"/" !ws e
- | PreSequence ^"->" e /ws
- | (Quoted|word) ^"::" PreSequence /ws
- | PreSequence ^"=>" ("[]"|"()"|word|Quoted) /ws
-Sequence = psx:: PreSequence