errorHandler
(package private) ToolErrorHandler errorHandler
Object that handles analysis errors
f
(package private) Reader f
genDiagnostics
(package private) boolean genDiagnostics
Generate diagnostics? (vs code)
genDocBook
(package private) boolean genDocBook
Generate DocBook vs code?
genHTML
(package private) boolean genHTML
Generate HTML vs code?
genHashLines
protected boolean genHashLines
grammarFile
protected String grammarFile
hasError
protected boolean hasError
Was there an error during parsing or analysis?
literalsPrefix
protected static String literalsPrefix
nameSpace
protected NameSpace nameSpace
C++ file level options
namespaceAntlr
protected String namespaceAntlr
namespaceStd
protected String namespaceStd
noConstructors
protected boolean noConstructors
outputDir
protected static String outputDir
Current output directory for generated files
upperCaseMangledLiterals
protected static boolean upperCaseMangledLiterals
version
public static String version
checkForInvalidArguments
protected void checkForInvalidArguments(String[] args,
BitSet cmdLineArgValid)
copyFile
public void copyFile(String source_name,
String dest_name)
throws IOException
This example is from the book _Java in a Nutshell_ by David
Flanagan. Written by David Flanagan. Copyright (c) 1996
O'Reilly & Associates. You may study, use, modify, and
distribute this example for any purpose. This example is
provided WITHOUT WARRANTY either expressed or implied.
doEverything
public int doEverything(String[] args)
Process args and have ANTLR do it's stuff without calling System.exit.
Just return the result code. Makes it easy for ANT build tool.
doEverythingWrapper
public void doEverythingWrapper(String[] args)
Perform processing on the grammar file. Can only be called
from main() @param args The command-line arguments passed to
main(). This wrapper does the System.exit for use with command-line.
error
public void error(String s)
Issue an error
error
public void error(String s,
String file,
int line,
int column)
Issue an error with line number information
s
- The messagefile
- The file that has the error (or null)line
- The grammar file line number on which the error occured (or -1)column
- The grammar file column number on which the error occured (or -1)
factory
public Object factory(String p)
When we are 1.1 compatible...
public static Object factory2 (String p, Object[] initargs) {
Class c;
Object o = null;
try {
int argslen = initargs.length;
Class cl[] = new Class[argslen];
for (int i=0;i<argslen;i++) {
cl[i] = Class.forName(initargs[i].getClass().getName());
}
c = Class.forName (p);
Constructor con = c.getConstructor (cl);
o = con.newInstance (initargs);
} catch (Exception e) {
System.err.println ("Can't make a " + p);
}
return o;
}
fatalError
public void fatalError(String message)
An error occured that should stop the Tool from doing any work.
The default implementation currently exits (via
System.exit(int)
after printing an error message to
stderr. However, the tools should expect that a subclass
will override this to throw an unchecked exception such as
IllegalStateException
or another subclass of
RuntimeException
.
If this method is overriden,
it must never return normally; i.e. it must always
throw an exception or call System.exit.
fileMinusPath
public String fileMinusPath(String f)
getGenHashLines
public boolean getGenHashLines()
getGrammarFile
public String getGrammarFile()
getGrammarReader
public Reader getGrammarReader()
getLanguage
public String getLanguage(MakeGrammar behavior)
Determine the language used for this run of ANTLR
This was made a method so the subclass can override it
getLiteralsPrefix
public String getLiteralsPrefix()
getNamespaceAntlr
public String getNamespaceAntlr()
getNamespaceStd
public String getNamespaceStd()
getOutputDirectory
public String getOutputDirectory()
getUpperCaseMangledLiterals
public boolean getUpperCaseMangledLiterals()
hasError
public boolean hasError()
main
public static void main(String[] args)
openOutputFile
public PrintWriter openOutputFile(String f)
throws IOException
This method is used by all code generators to create new output
files. If the outputDir set by -o is not present it will be created here.
panic
public void panic()
as of 2.7.2 use fatalError(String)
. By default
this method executes fatalError("panic");
.
Issue an unknown fatal error. If this method is overriden,
it must never return normally; i.e. it must always
throw an exception or call System.exit.
panic
public void panic(String s)
as of 2.7.2 use fatalError(String)
. By defaykt
this method executes fatalError("panic: " + s);
.
Issue a fatal error message. If this method is overriden,
it must never return normally; i.e. it must always
throw an exception or call System.exit.
parent
public File parent(File f)
parseSeparatedList
public static Vector parseSeparatedList(String list,
char separator)
Parse a list such as "f1.g;f2.g;..." and return a Vector
of the elements.
pathToFile
public String pathToFile(String f)
given a filename, strip off the directory prefix (if any)
and return it. Return "./" if f has no dir prefix.
processArguments
protected void processArguments(String[] args)
Process the command-line arguments. Can only be called by Tool.
A bitset is collected of all correct arguments via setArgOk.
args
- The command-line arguments passed to main()
reportException
public void reportException(Exception e,
String message)
reportProgress
public void reportProgress(String message)
setArgOK
public void setArgOK(int i)
setNameSpace
public void setNameSpace(String name)
Support C++ & C# namespaces (for now).
C++: Add a nested namespace name to the current namespace.
C# : Specify an enclosing namespace for the generated code.
DAW: David Wagner -- C# support by kunle odutola
setOutputDirectory
public void setOutputDirectory(String o)
toolError
public void toolError(String s)
Issue an error; used for general tool errors not for grammar stuff
warning
public void warning(String s)
Issue a warning
warning
public void warning(String s,
String file,
int line,
int column)
Issue a warning with line number information
s
- The messagefile
- The file that has the warning (or null)line
- The grammar file line number on which the warning occured (or -1)column
- The grammar file line number on which the warning occured (or -1)
warning
public void warning(String[] s,
String file,
int line,
int column)
Issue a warning with line number information
s
- The lines of the messagefile
- The file that has the warningline
- The grammar file line number on which the warning occured