ParserGrammarpublic class ParserGrammar extends Grammar Parser-specific grammar subclass |
Constructors Summary |
---|
ParserGrammar(String className_, Tool tool_, String superClass)
super(className_, tool_, superClass);
|
Methods Summary |
---|
public void | generate()Top-level call to generate the code for this grammar
generator.gen(this);
| protected java.lang.String | getSuperClass()
// if debugging, choose the debugging version of the parser
if (debuggingOutput)
return "debug.LLkDebuggingParser";
return "LLkParser";
| public void | processArguments(java.lang.String[] args)Process command line arguments.
-trace have all rules call traceIn/traceOut
-traceParser have parser rules call traceIn/traceOut
-debug generate debugging output for parser debugger
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-trace")) {
traceRules = true;
antlrTool.setArgOK(i);
}
else if (args[i].equals("-traceParser")) {
traceRules = true;
antlrTool.setArgOK(i);
}
else if (args[i].equals("-debug")) {
debuggingOutput = true;
antlrTool.setArgOK(i);
}
}
| public boolean | setOption(java.lang.String key, persistence.antlr.Token value)Set parser options -- performs action on the following options:
String s = value.getText();
if (key.equals("buildAST")) {
if (s.equals("true")) {
buildAST = true;
}
else if (s.equals("false")) {
buildAST = false;
}
else {
antlrTool.error("buildAST option must be true or false", getFilename(), value.getLine(), value.getColumn());
}
return true;
}
if (key.equals("interactive")) {
if (s.equals("true")) {
interactive = true;
}
else if (s.equals("false")) {
interactive = false;
}
else {
antlrTool.error("interactive option must be true or false", getFilename(), value.getLine(), value.getColumn());
}
return true;
}
if (key.equals("ASTLabelType")) {
super.setOption(key, value);
return true;
}
if (super.setOption(key, value)) {
return true;
}
antlrTool.error("Invalid option: " + key, getFilename(), value.getLine(), value.getColumn());
return false;
|
|