org.apache.tools.ant.taskdefs.optional

## Class ANTLR

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.ANTLR

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ANTLR
      extends Task

  Invokes the ANTLR Translator generator on a grammar file.

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ANTLR()` Constructor for ANTLR task.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addClasspathEntry(java.lang.String resource)` Search for the given resource and add the directory or archive that contains it to the classpath.
    `Path` | `createClasspath()` Adds a classpath to be set because a directory might be given for Antlr debug.
    `Commandline.Argument` | `createJvmarg()` Adds a new JVM argument.
    `void` | `execute()` Execute the task.
    `void` | `init()` Adds the jars or directories containing Antlr this should make the forked JVM work without having to specify it directly.
    `protected boolean` | `is272()` Whether the antlr version is 2.7.2 (or higher).
    `void` | `setDebug(boolean enable)` Sets a flag to enable ParseView debugging
    `void` | `setDiagnostic(boolean enable)` Sets a flag to emit diagnostic text
    `void` | `setDir(java.io.File d)` The working directory of the process
    `void` | `setFork(boolean s)`
    `void` | `setGlib(java.io.File superGrammar)` Sets an optional super grammar file
    `void` | `setGlib(java.lang.String superGrammar)` Deprecated. since ant 1.6
    `void` | `setHtml(boolean enable)` If true, emit html
    `void` | `setOutputdirectory(java.io.File outputDirectory)` The directory to write the generated files to.
    `void` | `setTarget(java.io.File target)` The grammar file to process.
    `void` | `setTrace(boolean enable)` If true, enables all tracing.
    `void` | `setTraceLexer(boolean enable)` If true, enables lexer tracing.
    `void` | `setTraceParser(boolean enable)` If true, enables parser tracing.
    `void` | `setTraceTreeWalker(boolean enable)` Sets a flag to allow the user to enable tree walker tracing

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ANTLR

          public ANTLR()

      Constructor for ANTLR task.

  - ### Method Detail

    - #### setTarget

          public void setTarget(java.io.File target)

      The grammar file to process.
      Parameters:
        `target` - the gramer file

    - #### setOutputdirectory

          public void setOutputdirectory(java.io.File outputDirectory)

      The directory to write the generated files to.
      Parameters:
        `outputDirectory` - the output directory

    - #### setGlib

          public void setGlib(java.lang.String superGrammar)

      Deprecated. since ant 1.6
      Sets an optional super grammar file. Use setGlib(File superGrammar) instead.
      Parameters:
        `superGrammar` - the super grammar filename

    - #### setGlib

          public void setGlib(java.io.File superGrammar)

      Sets an optional super grammar file
      Parameters:
        `superGrammar` - the super grammar file
      Since:
        ant 1.6

    - #### setDebug

          public void setDebug(boolean enable)

      Sets a flag to enable ParseView debugging
      Parameters:
        `enable` - a `boolean` value

    - #### setHtml

          public void setHtml(boolean enable)

      If true, emit html
      Parameters:
        `enable` - a `boolean` value

    - #### setDiagnostic

          public void setDiagnostic(boolean enable)

      Sets a flag to emit diagnostic text
      Parameters:
        `enable` - a `boolean` value

    - #### setTrace

          public void setTrace(boolean enable)

      If true, enables all tracing.
      Parameters:
        `enable` - a `boolean` value

    - #### setTraceParser

          public void setTraceParser(boolean enable)

      If true, enables parser tracing.
      Parameters:
        `enable` - a `boolean` value

    - #### setTraceLexer

          public void setTraceLexer(boolean enable)

      If true, enables lexer tracing.
      Parameters:
        `enable` - a `boolean` value

    - #### setTraceTreeWalker

          public void setTraceTreeWalker(boolean enable)

      Sets a flag to allow the user to enable tree walker tracing
      Parameters:
        `enable` - a `boolean` value

    - #### setFork

          public void setFork(boolean s)

      Parameters:
        `s` - a `boolean` value

    - #### setDir

          public void setDir(java.io.File d)

      The working directory of the process
      Parameters:
        `d` - the working directory

    - #### createClasspath

          public Path createClasspath()

      Adds a classpath to be set because a directory might be given for Antlr debug.
      Returns:
        a path to be configured

    - #### createJvmarg

          public Commandline.Argument createJvmarg()

      Adds a new JVM argument.
      Returns:
        create a new JVM argument so that any argument can be passed to the JVM.
      See Also:
        `setFork(boolean)`

    - #### init

          public void init()
                    throws BuildException

      Adds the jars or directories containing Antlr this should make the forked JVM work without having to specify it directly.
      Overrides:
        `init` in class `Task`
      Throws:
        `BuildException` - on error

    - #### addClasspathEntry

          protected void addClasspathEntry(java.lang.String resource)

      Search for the given resource and add the directory or archive that contains it to the classpath.

      Doesn't work for archives in JDK 1.1 as the URL returned by getResource doesn't contain the name of the archive.

      Parameters:
        `resource` - the resource name to search for

    - #### execute

          public void execute()
                       throws BuildException

      Execute the task.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error

    - #### is272

          protected boolean is272()

      Whether the antlr version is 2.7.2 (or higher).
      Returns:
        true if the version of Antlr present is 2.7.2 or later.
      Since:
        Ant 1.6