package grammar; import java.util.List; import java.util.Map; public abstract class Grammar { private String[] vars; private int alphaSize; private Map<String, List<List<String>>> rules; private String start; protected Grammar(String[] vars, int alphaSize, String start) { this.setVars(vars); this.setAlphaSize(alphaSize); this.setStart(start); } public String[] getVars() { return vars; } public void setVars(String[] vars) { this.vars = vars; } public int getAlphaSize() { return alphaSize; } public void setAlphaSize(int alphaSize) { this.alphaSize = alphaSize; } public Map<String, List<List<String>>> getRules() { return rules; } public void setRules(Map<String, List<List<String>>> rules) { this.rules = rules; } public String getStart() { return start; } public void setStart(String start) { this.start = start; } }