Package antlr
Class Tool
- java.lang.Object
-
- antlr.Tool
-
public class Tool extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ToolErrorHandlererrorHandlerObject that handles analysis errors(package private) java.io.Readerf(package private) booleangenDiagnosticsGenerate diagnostics? (vs code)(package private) booleangenDocBookGenerate DocBook vs code?protected booleangenHashLines(package private) booleangenHTMLGenerate HTML vs code?protected java.lang.StringgrammarFileprotected booleanhasErrorWas there an error during parsing or analysis?protected java.lang.StringliteralsPrefixprotected NameSpacenameSpaceC++ file level optionsprotected java.lang.StringnamespaceAntlrprotected java.lang.StringnamespaceStdprotected booleannoConstructorsprotected java.lang.StringoutputDirCurrent output directory for generated filesprotected booleanupperCaseMangledLiteralsstatic java.lang.Stringversion
-
Constructor Summary
Constructors Constructor Description Tool()Construct a new Tool.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidcheckForInvalidArguments(java.lang.String[] args, BitSet cmdLineArgValid)voidcopyFile(java.lang.String source_name, java.lang.String dest_name)This example is from the book _Java in a Nutshell_ by David Flanagan.intdoEverything(java.lang.String[] args)Process args and have ANTLR do it's stuff without calling System.exit.voiddoEverythingWrapper(java.lang.String[] args)Perform processing on the grammar file.voiderror(java.lang.String s)Issue an errorvoiderror(java.lang.String s, java.lang.String file, int line, int column)Issue an error with line number informationvoidfatalError(java.lang.String message)An error occured that should stop the Tool from doing any work.java.lang.StringfileMinusPath(java.lang.String f)booleangetGenHashLines()java.lang.StringgetGrammarFile()java.io.ReadergetGrammarReader()java.lang.StringgetLanguage(MakeGrammar behavior)Determine the language used for this run of ANTLR This was made a method so the subclass can override itjava.lang.StringgetLiteralsPrefix()NameSpacegetNameSpace()java.lang.StringgetNamespaceAntlr()java.lang.StringgetNamespaceStd()java.lang.StringgetOutputDirectory()booleangetUpperCaseMangledLiterals()booleanhasError()static voidmain(java.lang.String[] args)java.io.PrintWriteropenOutputFile(java.lang.String f)This method is used by all code generators to create new output files.voidpanic()Deprecated.as of 2.7.2 usefatalError(String).voidpanic(java.lang.String s)Deprecated.as of 2.7.2 usefatalError(String).java.io.Fileparent(java.io.File f)static VectorparseSeparatedList(java.lang.String list, char separator)Parse a list such as "f1.g;f2.g;..." and return a Vector of the elements.java.lang.StringpathToFile(java.lang.String f)given a filename, strip off the directory prefix (if any) and return it.protected voidprocessArguments(java.lang.String[] args)Process the command-line arguments.voidreportException(java.lang.Exception e, java.lang.String message)voidreportProgress(java.lang.String message)voidsetArgOK(int i)voidsetFileLineFormatter(FileLineFormatter formatter)voidsetNameSpace(java.lang.String name)Support C++ & C# namespaces (for now).voidsetOutputDirectory(java.lang.String o)voidtoolError(java.lang.String s)Issue an error; used for general tool errors not for grammar stuffvoidwarning(java.lang.String s)Issue a warningvoidwarning(java.lang.String[] s, java.lang.String file, int line, int column)Issue a warning with line number informationvoidwarning(java.lang.String s, java.lang.String file, int line, int column)Issue a warning with line number information
-
-
-
Field Detail
-
version
public static java.lang.String version
-
errorHandler
ToolErrorHandler errorHandler
Object that handles analysis errors
-
hasError
protected boolean hasError
Was there an error during parsing or analysis?
-
genDiagnostics
boolean genDiagnostics
Generate diagnostics? (vs code)
-
genDocBook
boolean genDocBook
Generate DocBook vs code?
-
genHTML
boolean genHTML
Generate HTML vs code?
-
outputDir
protected java.lang.String outputDir
Current output directory for generated files
-
grammarFile
protected java.lang.String grammarFile
-
f
transient java.io.Reader f
-
literalsPrefix
protected java.lang.String literalsPrefix
-
upperCaseMangledLiterals
protected boolean upperCaseMangledLiterals
-
nameSpace
protected NameSpace nameSpace
C++ file level options
-
namespaceAntlr
protected java.lang.String namespaceAntlr
-
namespaceStd
protected java.lang.String namespaceStd
-
genHashLines
protected boolean genHashLines
-
noConstructors
protected boolean noConstructors
-
-
Method Detail
-
getGrammarFile
public java.lang.String getGrammarFile()
-
hasError
public boolean hasError()
-
getNameSpace
public NameSpace getNameSpace()
-
getNamespaceStd
public java.lang.String getNamespaceStd()
-
getNamespaceAntlr
public java.lang.String getNamespaceAntlr()
-
getGenHashLines
public boolean getGenHashLines()
-
getLiteralsPrefix
public java.lang.String getLiteralsPrefix()
-
getUpperCaseMangledLiterals
public boolean getUpperCaseMangledLiterals()
-
setFileLineFormatter
public void setFileLineFormatter(FileLineFormatter formatter)
-
checkForInvalidArguments
protected void checkForInvalidArguments(java.lang.String[] args, BitSet cmdLineArgValid)
-
copyFile
public void copyFile(java.lang.String source_name, java.lang.String dest_name) throws java.io.IOExceptionThis 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.- Throws:
java.io.IOException
-
doEverythingWrapper
public void doEverythingWrapper(java.lang.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.
-
doEverything
public int doEverything(java.lang.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.
-
error
public void error(java.lang.String s)
Issue an error- Parameters:
s- The message
-
error
public void error(java.lang.String s, java.lang.String file, int line, int column)Issue an error with line number information- Parameters:
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)
-
fileMinusPath
public java.lang.String fileMinusPath(java.lang.String f)
-
getLanguage
public java.lang.String getLanguage(MakeGrammar behavior)
Determine the language used for this run of ANTLR This was made a method so the subclass can override it
-
getOutputDirectory
public java.lang.String getOutputDirectory()
-
main
public static void main(java.lang.String[] args)
-
openOutputFile
public java.io.PrintWriter openOutputFile(java.lang.String f) throws java.io.IOExceptionThis 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.- Throws:
java.io.IOException
-
getGrammarReader
public java.io.Reader getGrammarReader()
-
reportException
public void reportException(java.lang.Exception e, java.lang.String message)- Since:
- 2.7.2
-
reportProgress
public void reportProgress(java.lang.String message)
- Since:
- 2.7.2
-
fatalError
public void fatalError(java.lang.String message)
An error occured that should stop the Tool from doing any work. The default implementation currently exits (via {@link java.lang.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 asIllegalStateExceptionor another subclass ofRuntimeException. If this method is overriden, it must never return normally; i.e. it must always throw an exception or call System.exit.- Parameters:
s- The message- Since:
- 2.7.2
-
panic
public void panic()
Deprecated.as of 2.7.2 usefatalError(String). By default this method executesfatalError("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(java.lang.String s)
Deprecated.as of 2.7.2 usefatalError(String). By defaykt this method executesfatalError("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.- Parameters:
s- The message
-
parent
public java.io.File parent(java.io.File f)
-
parseSeparatedList
public static Vector parseSeparatedList(java.lang.String list, char separator)
Parse a list such as "f1.g;f2.g;..." and return a Vector of the elements.
-
pathToFile
public java.lang.String pathToFile(java.lang.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(java.lang.String[] args)
Process the command-line arguments. Can only be called by Tool. A bitset is collected of all correct arguments via setArgOk.
- Parameters:
args- The command-line arguments passed to main()
-
setArgOK
public void setArgOK(int i)
-
setOutputDirectory
public void setOutputDirectory(java.lang.String o)
-
toolError
public void toolError(java.lang.String s)
Issue an error; used for general tool errors not for grammar stuff- Parameters:
s- The message
-
warning
public void warning(java.lang.String s)
Issue a warning- Parameters:
s- the message
-
warning
public void warning(java.lang.String s, java.lang.String file, int line, int column)Issue a warning with line number information- Parameters:
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(java.lang.String[] s, java.lang.String file, int line, int column)Issue a warning with line number information- Parameters:
s- The lines of the messagefile- The file that has the warningline- The grammar file line number on which the warning occured
-
setNameSpace
public void setNameSpace(java.lang.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
-
-