I often forget to define some rules.
something like
rule1 := rule2, rule3;
rule2 := "A";
rule3 is undefined in grammar, but I don't see that.
So the program should have a method which will check the grammar for completeness (or duplication of definitions), which I can call after grammar construction but before parsing.