javacc:jjtree

Full name:

org.codehaus.mojo:javacc-maven-plugin:2.4.1:jjtree

This plugin goal has been deprecated:

As of version 2.4, use the jjtree-javacc goal instead.

Description:

Parses a JJTree grammar file (*.jjt) and transforms it to Java source files and a JavaCC grammar file. Please see the JJTree Reference Documentation for more information.

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Since version: 2.0.
  • Binds by default to the lifecycle phase: generate-sources.

Optional Parameters

Name Type Since Description
buildNodeFiles Boolean 2.0 A flag whether to generate sample implementations for SimpleNode and any other nodes used in the grammar. Default value is true.
excludes String[] 2.0 A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set if empty such that no files are excluded.
includes String[] 2.0 A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, the patterns **/*.jjt and **/*.JJT are used to select grammar files.
isStatic Boolean 2.0 A flag whether to generate code for a static parser. Note that this setting must match the corresponding option for the javacc mojo. Default value is true.
jdkVersion String 2.4 The Java version for which to generate source code. Default value is 1.4.
multi Boolean 2.0 A flag whether to generate a multi mode parse tree or a single mode parse tree. Default value is false.
nodeDefaultVoid Boolean 2.0 A flag whether to make each non-decorated production void instead of an indefinite node. Default value is false.
nodeFactory Boolean 2.0 The name of a custom factory class to create Node objects.
nodePackage String 2.0 The package to generate the AST node classes into. This value may use a leading asterisk to reference the package of the corresponding parser. For example, if the parser package is org.apache and this parameter is set to *.demo, the tree node classes will be located in the package org.apache.demo. By default, the package of the corresponding parser is used.
nodePrefix String 2.0 The prefix used to construct node class names from node identifiers in multi mode. Default value is AST.
nodeScopeHook Boolean 2.0 A flag whether user-defined parser methods should be called on entry and exit of every node scope. Default value is false.
nodeUsesParser Boolean 2.0 A flag whether the node construction routines need an additional method parameter to receive the parser object. Default value is false.
outputDirectory File 2.0 Directory where the output Java files for the node classes and the JavaCC grammar file will be located. Default value is: ${project.build.directory}/generated-sources/jjtree.
sourceDirectory File 2.0 Directory where the input JJTree files (*.jjt) are located. Default value is: ${basedir}/src/main/jjtree.
staleMillis int 2.0 The granularity in milliseconds of the last modification date for testing whether a source needs recompilation. Default value is: 0.
timestampDirectory File 2.0 The directory to store the processed input files for later detection of stale sources. Default value is: ${project.build.directory}/generated-sources/jjtree-timestamp.
visitor Boolean 2.0 A flag whether to insert a jjtAccept() method in the node classes and to generate a visitor implementation with an entry for every node type used in the grammar. Default value is false.
visitorException String 2.0 The qualified name of an exception class to include in the signature of the generated jjtAccept() and visit() methods. By default, the throws clause of the generated methods is empty such that only unchecked exceptions can be thrown.

Parameter Details

buildNodeFiles :

A flag whether to generate sample implementations for SimpleNode and any other nodes used in the grammar. Default value is true.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${buildNodeFiles}

excludes :

A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set if empty such that no files are excluded.
  • Type: java.lang.String[]
  • Since: 2.0
  • Required: No

includes :

A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, the patterns **/*.jjt and **/*.JJT are used to select grammar files.
  • Type: java.lang.String[]
  • Since: 2.0
  • Required: No

isStatic :

A flag whether to generate code for a static parser. Note that this setting must match the corresponding option for the javacc mojo. Default value is true.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${isStatic}

jdkVersion :

The Java version for which to generate source code. Default value is 1.4.
  • Type: java.lang.String
  • Since: 2.4
  • Required: No
  • Expression: ${jdkVersion}

multi :

A flag whether to generate a multi mode parse tree or a single mode parse tree. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${multi}

nodeDefaultVoid :

A flag whether to make each non-decorated production void instead of an indefinite node. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${nodeDefaultVoid}

nodeFactory :

The name of a custom factory class to create Node objects.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${nodeFactory}

nodePackage :

The package to generate the AST node classes into. This value may use a leading asterisk to reference the package of the corresponding parser. For example, if the parser package is org.apache and this parameter is set to *.demo, the tree node classes will be located in the package org.apache.demo. By default, the package of the corresponding parser is used.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${nodePackage}

nodePrefix :

The prefix used to construct node class names from node identifiers in multi mode. Default value is AST.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${nodePrefix}

nodeScopeHook :

A flag whether user-defined parser methods should be called on entry and exit of every node scope. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${nodeScopeHook}

nodeUsesParser :

A flag whether the node construction routines need an additional method parameter to receive the parser object. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${nodeUsesParser}

outputDirectory :

Directory where the output Java files for the node classes and the JavaCC grammar file will be located.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • Expression: ${outputDirectory}
  • Default: ${project.build.directory}/generated-sources/jjtree

sourceDirectory :

Directory where the input JJTree files (*.jjt) are located.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • Expression: ${sourceDirectory}
  • Default: ${basedir}/src/main/jjtree

staleMillis :

The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
  • Type: int
  • Since: 2.0
  • Required: No
  • Expression: ${lastModGranularityMs}
  • Default: 0

timestampDirectory :

The directory to store the processed input files for later detection of stale sources.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • Expression: ${timestampDirectory}
  • Default: ${project.build.directory}/generated-sources/jjtree-timestamp

visitor :

A flag whether to insert a jjtAccept() method in the node classes and to generate a visitor implementation with an entry for every node type used in the grammar. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.0
  • Required: No
  • Expression: ${visitor}

visitorException :

The qualified name of an exception class to include in the signature of the generated jjtAccept() and visit() methods. By default, the throws clause of the generated methods is empty such that only unchecked exceptions can be thrown.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${visitorException}