antlr
Class Tool

java.lang.Object
  extended byantlr.Tool

public class Tool
extends java.lang.Object


Field Summary
static java.lang.String version
           
 
Constructor Summary
Tool()
          Construct a new Tool.
 
Method Summary
 void copyFile(java.lang.String source_name, java.lang.String dest_name)
          This example is from the book _Java in a Nutshell_ by David Flanagan.
 int doEverything(java.lang.String[] args)
          Process args and have ANTLR do it's stuff without calling System.exit.
 void doEverythingWrapper(java.lang.String[] args)
          Perform processing on the grammar file.
 void error(java.lang.String s)
          Issue an error
 void error(java.lang.String s, java.lang.String file, int line, int column)
          Issue an error with line number information
 java.lang.Object factory(java.lang.String p)
          When we are 1.1 compatible...
 void fatalError(java.lang.String message)
          An error occured that should stop the Tool from doing any work.
 java.lang.String fileMinusPath(java.lang.String f)
           
 boolean getGenHashLines()
           
 java.lang.String getGrammarFile()
           
 java.io.Reader getGrammarReader()
           
 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
 java.lang.String getLiteralsPrefix()
           
 NameSpace getNameSpace()
           
 java.lang.String getNamespaceAntlr()
           
 java.lang.String getNamespaceStd()
           
 java.lang.String getOutputDirectory()
           
 boolean getUpperCaseMangledLiterals()
           
 boolean hasError()
           
static void main(java.lang.String[] args)
           
 java.io.PrintWriter openOutputFile(java.lang.String f)
          This method is used by all code generators to create new output files.
 void panic()
          Deprecated. as of 2.7.2 use fatalError(String). By default this method executes fatalError("panic");.
 void panic(java.lang.String s)
          Deprecated. as of 2.7.2 use fatalError(String). By defaykt this method executes fatalError("panic: " + s);.
 java.io.File parent(java.io.File f)
           
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.
 java.lang.String pathToFile(java.lang.String f)
          given a filename, strip off the directory prefix (if any) and return it.
 void reportException(java.lang.Exception e, java.lang.String message)
           
 void reportProgress(java.lang.String message)
           
 void setArgOK(int i)
           
 void setFileLineFormatter(FileLineFormatter formatter)
           
 void setNameSpace(java.lang.String name)
          Support C++ & C# namespaces (for now).
 void setOutputDirectory(java.lang.String o)
           
 void toolError(java.lang.String s)
          Issue an error; used for general tool errors not for grammar stuff
 void warning(java.lang.String s)
          Issue a warning
 void warning(java.lang.String[] s, java.lang.String file, int line, int column)
          Issue a warning with line number information
 void warning(java.lang.String s, java.lang.String file, int line, int column)
          Issue a warning with line number information
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

version

public static java.lang.String version
Constructor Detail

Tool

public Tool()
Construct a new Tool.

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)

copyFile

public void copyFile(java.lang.String source_name,
                     java.lang.String dest_name)
              throws java.io.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.

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 message
file - 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 java.lang.Object factory(java.lang.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; }


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.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.

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 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 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.

Since:
2.7.2

panic

public void panic()
Deprecated. 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(java.lang.String s)
Deprecated. 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.

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.


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 message
file - 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 message
file - The file that has the warning
line - 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