private BNFState createStateInstance(String ss, boolean terminal) {
BNFState state = null;
if (terminal) {
state = new BNFStateTerminal();
} else if (ss.equals("Number")) {
state = new BNFStateNumber();
} else if (ss.equals("QuotedString")) {
state = new BNFStateQuotedString();
} else if (ss.equals("Empty")) {