import java.util.*; /** * Represents a non-terminal in the grammar. */ public class NonTerminal extends GrammarElement { private String s; public NonTerminal(String s){ this.s = s; } public void expand(Grammar g) { Definition d = g.getMap().get(this); d.expand(g); } public String toString() { return s; } public String getString(){ return s; } public boolean equals(Object o){ if (o instanceof NonTerminal){ NonTerminal other = (NonTerminal)o; return s.equals(other.getString()); } else { return false; } } public int hashCode() { return s.hashCode(); } }