}
}
void setTerminal(String type, boolean hasRegExp, String input, int line) throws ParseException {
if (name.equals(CSyntax.INPUT)) {
throw new ParseException("cannot declare terminal with name `" + name
+ "` (reserved non-terminal) at line " + line);
}
if (name.equals(CSyntax.ERROR) && hasRegExp) {
throw new ParseException("cannot have regexp for symbol with name `" + name
+ "` (reserved non-terminal) at line " + line);
}
if (name.endsWith(CSyntax.OPTSUFFIX)) {
throw new ParseException("cannot declare terminal with name `" + name + "` (" + CSyntax.OPTSUFFIX
+ " suffix is reserved for non-terms) at line " + line);
}
setDefined(type, true, input, line);
}