Fork me on GitHub

javacc:jjtree

Full name:

org.codehaus.mojo:javacc-maven-plugin:3.0.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 project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • 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.
User property is: javacc.buildNodeFiles.
<excludes> String[] 2.0 A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is 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.
User property is: javacc.isStatic.
Alias is: javacc.staticOption.
<jdkVersion> String 2.4 The Java version for which to generate source code. Default value is 1.4.
User property is: javacc.jdkVersion.
<multi> Boolean 2.0 A flag whether to generate a multi mode parse tree or a single mode parse tree. Default value is false.
User property is: javacc.multi.
<nodeClass> String 2.5 The name of a custom class that extends SimpleNode and will be used as the super class for the generated tree node classes. By default, the tree node classes will directly extend the class SimpleNode.
User property is: javacc.nodeClass.
<nodeDefaultVoid> Boolean 2.0 A flag whether to make each non-decorated production void instead of an indefinite node. Default value is false.
User property is: javacc.nodeDefaultVoid.
<nodeFactory> String 2.0 The name of a custom factory class used to create Node objects. This class must have a method with the signature public static Node jjtCreate(int id). By default, the class SimpleNode will be used as the factory class.
User property is: javacc.nodeFactory.
<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.
User property is: javacc.nodePackage.
<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.
User property is: javacc.nodeScopeHook.
<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.
User property is: javacc.nodeUsesParser.
<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.
User property is: javacc.outputDirectory.
<sourceDirectory> File 2.0 Directory where the input JJTree files (*.jjt) are located.
Default value is: ${basedir}/src/main/jjtree.
User property is: javacc.sourceDirectory.
<staleMillis> int 2.0 The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
Default value is: 0.
User property is: javacc.lastModGranularityMs.
<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.
User property is: javacc.timestampDirectory.
<trackTokens> Boolean 2.5 A flag whether to insert the methods jjtGetFirstToken(), jjtSetFirstToken(), getLastToken() and jjtSetLastToken() into the class SimpleNode. Default value is false.
User property is: javacc.trackTokens.
<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.
User property is: javacc.visitor.
<visitorDataType> String 2.5 The name of a class to use for the data argument of the jjtAccept() and visit() methods. Default value is java.lang.Object.
User property is: javacc.visitorDataType.
<visitorException> String 2.0 The 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.
User property is: javacc.visitorException.
<visitorReturnType> String 2.5 The name of a class to use as the return type of the jjtAccept() and visit() methods. Default value is java.lang.Object.
User property is: javacc.visitorReturnType.

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
  • User Property: javacc.buildNodeFiles

<excludes>

A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is 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
  • User Property: javacc.isStatic
  • Alias: javacc.staticOption

<jdkVersion>

The Java version for which to generate source code. Default value is 1.4.
  • Type: java.lang.String
  • Since: 2.4
  • Required: No
  • User Property: javacc.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
  • User Property: javacc.multi

<nodeClass>

The name of a custom class that extends SimpleNode and will be used as the super class for the generated tree node classes. By default, the tree node classes will directly extend the class SimpleNode.
  • Type: java.lang.String
  • Since: 2.5
  • Required: No
  • User Property: javacc.nodeClass

<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
  • User Property: javacc.nodeDefaultVoid

<nodeFactory>

The name of a custom factory class used to create Node objects. This class must have a method with the signature public static Node jjtCreate(int id). By default, the class SimpleNode will be used as the factory class.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: javacc.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
  • User Property: javacc.nodePackage

<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
  • User Property: javacc.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
  • User Property: javacc.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
  • User Property: javacc.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
  • User Property: javacc.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
  • User Property: javacc.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
  • User Property: javacc.timestampDirectory
  • Default: ${project.build.directory}/generated-sources/jjtree-timestamp

<trackTokens>

A flag whether to insert the methods jjtGetFirstToken(), jjtSetFirstToken(), getLastToken() and jjtSetLastToken() into the class SimpleNode. Default value is false.
  • Type: java.lang.Boolean
  • Since: 2.5
  • Required: No
  • User Property: javacc.trackTokens

<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
  • User Property: javacc.visitor

<visitorDataType>

The name of a class to use for the data argument of the jjtAccept() and visit() methods. Default value is java.lang.Object.
  • Type: java.lang.String
  • Since: 2.5
  • Required: No
  • User Property: javacc.visitorDataType

<visitorException>

The 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
  • User Property: javacc.visitorException

<visitorReturnType>

The name of a class to use as the return type of the jjtAccept() and visit() methods. Default value is java.lang.Object.
  • Type: java.lang.String
  • Since: 2.5
  • Required: No
  • User Property: javacc.visitorReturnType