JavaCC (Apache Ant API)
Date: 2018-03-24

org.apache.tools.ant.taskdefs.optional.javacc

## Class JavaCC

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

- All Implemented Interfaces:
    java.lang.Cloneable

      public class JavaCC
      extends Task

  JavaCC compiler compiler task.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String[]` | `ARCHIVE_LOCATIONS`
    `protected static int[]` | `ARCHIVE_LOCATIONS_VS_MAJOR_VERSION`
    `protected static java.lang.String` | `COM_JAVACC_CLASS`
    `protected static java.lang.String` | `COM_JJDOC_CLASS`
    `protected static java.lang.String` | `COM_JJTREE_CLASS`
    `protected static java.lang.String` | `COM_PACKAGE`
    `protected static java.lang.String` | `ORG_JAVACC_CLASS`
    `protected static java.lang.String` | `ORG_JJDOC_CLASS`
    `protected static java.lang.String` | `ORG_JJTREE_CLASS`
    `protected static java.lang.String` | `ORG_PACKAGE_3_0`
    `protected static java.lang.String` | `ORG_PACKAGE_3_1`
    `protected static int` | `TASKDEF_TYPE_JAVACC`
    `protected static int` | `TASKDEF_TYPE_JJDOC`
    `protected static int` | `TASKDEF_TYPE_JJTREE`

    - ### 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
    `JavaCC()` Constructor

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute()` Run the task.
    `protected static java.io.File` | `getArchiveFile(java.io.File home)` Helper method to retrieve the path used to store the JavaCC.zip or javacc.jar which is different from versions.
    `protected static java.lang.String` | `getMainClass(java.io.File home, int type)` Helper method to retrieve main class which is different from versions.
    `protected static java.lang.String` | `getMainClass(Path path, int type)` Helper method to retrieve main class which is different from versions.
    `protected static int` | `getMajorVersionNumber(java.io.File home)` Helper method to determine the major version number of JavaCC.
    `void` | `setBuildparser(boolean buildParser)` Sets the BUILD_PARSER grammar option.
    `void` | `setBuildtokenmanager(boolean buildTokenManager)` Sets the BUILD_TOKEN_MANAGER grammar option.
    `void` | `setCachetokens(boolean cacheTokens)` Sets the CACHE_TOKENS grammar option.
    `void` | `setChoiceambiguitycheck(int choiceAmbiguityCheck)` Sets the CHOICE_AMBIGUITY_CHECK grammar option.
    `void` | `setCommontokenaction(boolean commonTokenAction)` Sets the COMMON_TOKEN_ACTION grammar option.
    `void` | `setDebuglookahead(boolean debugLookahead)` Sets the DEBUG_LOOKAHEAD grammar option.
    `void` | `setDebugparser(boolean debugParser)` Sets the DEBUG_PARSER grammar option.
    `void` | `setDebugtokenmanager(boolean debugTokenManager)` Sets the DEBUG_TOKEN_MANAGER grammar option.
    `void` | `setErrorreporting(boolean errorReporting)` Sets the ERROR_REPORTING grammar option.
    `void` | `setForcelacheck(boolean forceLACheck)` Sets the FORCE_LA_CHECK grammar option.
    `void` | `setIgnorecase(boolean ignoreCase)` Sets the IGNORE_CASE grammar option.
    `void` | `setJavacchome(java.io.File javaccHome)` The directory containing the JavaCC distribution.
    `void` | `setJavaunicodeescape(boolean javaUnicodeEscape)` Sets the JAVA_UNICODE_ESCAPE grammar option.
    `void` | `setJDKversion(java.lang.String jdkVersion)` Sets the JDK_VERSION option.
    `void` | `setKeeplinecolumn(boolean keepLineColumn)` Sets the KEEP_LINE_COLUMN grammar option.
    `void` | `setLookahead(int lookahead)` Sets the LOOKAHEAD grammar option.
    `void` | `setMaxmemory(java.lang.String max)` Corresponds -Xmx.
    `void` | `setOptimizetokenmanager(boolean optimizeTokenManager)` Sets the OPTIMIZE_TOKEN_MANAGER grammar option.
    `void` | `setOtherambiguityCheck(int otherAmbiguityCheck)` Sets the OTHER_AMBIGUITY_CHECK grammar option.
    `void` | `setOutputdirectory(java.io.File outputDirectory)` The directory to write the generated files to.
    `void` | `setSanitycheck(boolean sanityCheck)` Sets the SANITY_CHECK grammar option.
    `void` | `setStatic(boolean staticParser)` Sets the STATIC grammar option.
    `void` | `setTarget(java.io.File targetFile)` The grammar file to process.
    `void` | `setUnicodeinput(boolean unicodeInput)` Sets the UNICODE_INPUT grammar option.
    `void` | `setUsercharstream(boolean userCharStream)` Sets the USER_CHAR_STREAM grammar option.
    `void` | `setUsertokenmanager(boolean userTokenManager)` Sets the USER_TOKEN_MANAGER grammar option.

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

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, 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`

- - ### Field Detail

    - #### TASKDEF_TYPE_JAVACC

          protected static final int TASKDEF_TYPE_JAVACC

      See Also:
        Constant Field Values

    - #### TASKDEF_TYPE_JJTREE

          protected static final int TASKDEF_TYPE_JJTREE

      See Also:
        Constant Field Values

    - #### TASKDEF_TYPE_JJDOC

          protected static final int TASKDEF_TYPE_JJDOC

      See Also:
        Constant Field Values

    - #### ARCHIVE_LOCATIONS

          protected static final java.lang.String[] ARCHIVE_LOCATIONS

    - #### ARCHIVE_LOCATIONS_VS_MAJOR_VERSION

          protected static final int[] ARCHIVE_LOCATIONS_VS_MAJOR_VERSION

    - #### COM_PACKAGE

          protected static final java.lang.String COM_PACKAGE

      See Also:
        Constant Field Values

    - #### COM_JAVACC_CLASS

          protected static final java.lang.String COM_JAVACC_CLASS

      See Also:
        Constant Field Values

    - #### COM_JJTREE_CLASS

          protected static final java.lang.String COM_JJTREE_CLASS

      See Also:
        Constant Field Values

    - #### COM_JJDOC_CLASS

          protected static final java.lang.String COM_JJDOC_CLASS

      See Also:
        Constant Field Values

    - #### ORG_PACKAGE_3_0

          protected static final java.lang.String ORG_PACKAGE_3_0

      See Also:
        Constant Field Values

    - #### ORG_PACKAGE_3_1

          protected static final java.lang.String ORG_PACKAGE_3_1

      See Also:
        Constant Field Values

    - #### ORG_JAVACC_CLASS

          protected static final java.lang.String ORG_JAVACC_CLASS

      See Also:
        Constant Field Values

    - #### ORG_JJTREE_CLASS

          protected static final java.lang.String ORG_JJTREE_CLASS

      See Also:
        Constant Field Values

    - #### ORG_JJDOC_CLASS

          protected static final java.lang.String ORG_JJDOC_CLASS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JavaCC

          public JavaCC()

      Constructor

  - ### Method Detail

    - #### setLookahead

          public void setLookahead(int lookahead)

      Sets the LOOKAHEAD grammar option.
      Parameters:
        `lookahead` - an `int` value.

    - #### setChoiceambiguitycheck

          public void setChoiceambiguitycheck(int choiceAmbiguityCheck)

      Sets the CHOICE_AMBIGUITY_CHECK grammar option.
      Parameters:
        `choiceAmbiguityCheck` - an `int` value.

    - #### setOtherambiguityCheck

          public void setOtherambiguityCheck(int otherAmbiguityCheck)

      Sets the OTHER_AMBIGUITY_CHECK grammar option.
      Parameters:
        `otherAmbiguityCheck` - an `int` value.

    - #### setStatic

          public void setStatic(boolean staticParser)

      Sets the STATIC grammar option.
      Parameters:
        `staticParser` - a `boolean` value.

    - #### setDebugparser

          public void setDebugparser(boolean debugParser)

      Sets the DEBUG_PARSER grammar option.
      Parameters:
        `debugParser` - a `boolean` value.

    - #### setDebuglookahead

          public void setDebuglookahead(boolean debugLookahead)

      Sets the DEBUG_LOOKAHEAD grammar option.
      Parameters:
        `debugLookahead` - a `boolean` value.

    - #### setDebugtokenmanager

          public void setDebugtokenmanager(boolean debugTokenManager)

      Sets the DEBUG_TOKEN_MANAGER grammar option.
      Parameters:
        `debugTokenManager` - a `boolean` value.

    - #### setOptimizetokenmanager

          public void setOptimizetokenmanager(boolean optimizeTokenManager)

      Sets the OPTIMIZE_TOKEN_MANAGER grammar option.
      Parameters:
        `optimizeTokenManager` - a `boolean` value.

    - #### setErrorreporting

          public void setErrorreporting(boolean errorReporting)

      Sets the ERROR_REPORTING grammar option.
      Parameters:
        `errorReporting` - a `boolean` value.

    - #### setJavaunicodeescape

          public void setJavaunicodeescape(boolean javaUnicodeEscape)

      Sets the JAVA_UNICODE_ESCAPE grammar option.
      Parameters:
        `javaUnicodeEscape` - a `boolean` value.

    - #### setUnicodeinput

          public void setUnicodeinput(boolean unicodeInput)

      Sets the UNICODE_INPUT grammar option.
      Parameters:
        `unicodeInput` - a `boolean` value.

    - #### setIgnorecase

          public void setIgnorecase(boolean ignoreCase)

      Sets the IGNORE_CASE grammar option.
      Parameters:
        `ignoreCase` - a `boolean` value.

    - #### setCommontokenaction

          public void setCommontokenaction(boolean commonTokenAction)

      Sets the COMMON_TOKEN_ACTION grammar option.
      Parameters:
        `commonTokenAction` - a `boolean` value.

    - #### setUsertokenmanager

          public void setUsertokenmanager(boolean userTokenManager)

      Sets the USER_TOKEN_MANAGER grammar option.
      Parameters:
        `userTokenManager` - a `boolean` value.

    - #### setUsercharstream

          public void setUsercharstream(boolean userCharStream)

      Sets the USER_CHAR_STREAM grammar option.
      Parameters:
        `userCharStream` - a `boolean` value.

    - #### setBuildparser

          public void setBuildparser(boolean buildParser)

      Sets the BUILD_PARSER grammar option.
      Parameters:
        `buildParser` - a `boolean` value.

    - #### setBuildtokenmanager

          public void setBuildtokenmanager(boolean buildTokenManager)

      Sets the BUILD_TOKEN_MANAGER grammar option.
      Parameters:
        `buildTokenManager` - a `boolean` value.

    - #### setSanitycheck

          public void setSanitycheck(boolean sanityCheck)

      Sets the SANITY_CHECK grammar option.
      Parameters:
        `sanityCheck` - a `boolean` value.

    - #### setForcelacheck

          public void setForcelacheck(boolean forceLACheck)

      Sets the FORCE_LA_CHECK grammar option.
      Parameters:
        `forceLACheck` - a `boolean` value.

    - #### setCachetokens

          public void setCachetokens(boolean cacheTokens)

      Sets the CACHE_TOKENS grammar option.
      Parameters:
        `cacheTokens` - a `boolean` value.

    - #### setKeeplinecolumn

          public void setKeeplinecolumn(boolean keepLineColumn)

      Sets the KEEP_LINE_COLUMN grammar option.
      Parameters:
        `keepLineColumn` - a `boolean` value.

    - #### setJDKversion

          public void setJDKversion(java.lang.String jdkVersion)

      Sets the JDK_VERSION option.
      Parameters:
        `jdkVersion` - the version to use.
      Since:
        Ant1.7

    - #### setOutputdirectory

          public void setOutputdirectory(java.io.File outputDirectory)

      The directory to write the generated files to. If not set, the files are written to the directory containing the grammar file.
      Parameters:
        `outputDirectory` - the output directory.

    - #### setTarget

          public void setTarget(java.io.File targetFile)

      The grammar file to process.
      Parameters:
        `targetFile` - the grammar file.

    - #### setJavacchome

          public void setJavacchome(java.io.File javaccHome)

      The directory containing the JavaCC distribution.
      Parameters:
        `javaccHome` - the directory.

    - #### setMaxmemory

          public void setMaxmemory(java.lang.String max)

      Corresponds -Xmx.
      Parameters:
        `max` - max memory parameter.
      Since:
        Ant 1.8.3

    - #### execute

          public void execute()
                       throws BuildException

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

    - #### getArchiveFile

          protected static java.io.File getArchiveFile(java.io.File home)
                                                throws BuildException

      Helper method to retrieve the path used to store the JavaCC.zip or javacc.jar which is different from versions.
      Parameters:
        `home` - the javacc home path directory.
      Returns:
        the file object pointing to the JavaCC archive.
      Throws:
        `BuildException` - thrown if the home directory is invalid or if the archive could not be found despite attempts to do so.

    - #### getMainClass

          protected static java.lang.String getMainClass(java.io.File home,
                                                         int type)
                                                  throws BuildException

      Helper method to retrieve main class which is different from versions.
      Parameters:
        `home` - the javacc home path directory.
        `type` - the taskdef.
      Returns:
        the main class for the taskdef.
      Throws:
        `BuildException` - thrown if the home directory is invalid or if the archive could not be found despite attempts to do so.

    - #### getMainClass

          protected static java.lang.String getMainClass(Path path,
                                                         int type)
                                                  throws BuildException

      Helper method to retrieve main class which is different from versions.
      Parameters:
        `path` - classpath to search in.
        `type` - the taskdef.
      Returns:
        the main class for the taskdef.
      Throws:
        `BuildException` - thrown if the home directory is invalid or if the archive could not be found despite attempts to do so.
      Since:
        Ant 1.7

    - #### getMajorVersionNumber

          protected static int getMajorVersionNumber(java.io.File home)
                                              throws BuildException

      Helper method to determine the major version number of JavaCC.
      Parameters:
        `home` - the javacc home path directory.
      Returns:
        a the major version number
      Throws:
        `BuildException` - thrown if the home directory is invalid or if the archive could not be found despite attempts to do so.