1 s ::= w* Grammar w* => "gram"
2 Grammar ::= R+ => "grammar"
3 R ::= word ^"::=" Class+/gt
4 | word ^"!::=" Class+/gt
6 ec ::= [~\]\\\-\~] | escaped
8 Class ::= Rewrite +/ bar => "alternatives"
14 Rewritex ::= E+ => "rewrite"
17 | E+ "=>" "()" => "wrap"
19 range ::= ec => "range0" | ec ^"-" ec => "range0"
22 E ::= word => "nonTerminalY"
25 | "[" [\~]? range* "]" => "range"
34 | "^" quoted => "care"
50 word ::= an++ => "sify"
51 quoted ::= "\"" ([~\"\\] | escaped)* "\"" => "sify"
52 escaped ::= "\\n" => "\n"