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