- public static class Grammar {
- public NonTerminal get(String s) {
- for(NonTerminal nt : nonterminals)
- if (nt.name.equals(s)) return nt;
- return null;
- }
- public NonTerminal[] nonterminals;
- public Grammar() { }
- public @bind Grammar(NonTerminal[] nonterminals) { this.nonterminals = nonterminals; }
+
+ /** A grammar (a set of nonterminals) */
+ public static class Grammar extends HashMap<String,NonTerminal> {
+ public @bind Grammar(NonTerminal[] nonterminals) {
+ for(NonTerminal nt : nonterminals) this.put(nt.name, nt); }