|
- <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta http-equiv="Content-Language" content="en-us">
- <title>JJTree Task</title>
- </head>
- <body>
-
- <h2>
- <a NAME="jjtree"></a>JJTree</h2>
-
- <h3>
- Description</h3>
- Invokes the <a href="http://www.webgain.com/products/java_cc/">JJTree</a> preprocessor
- for the JavaCC compiler compiler. It inserts parse tree building actions
- at various places in the JavaCC source that it generates. The output of
- JJTree is run through JavaCC to create the parser.
- <p>To use the jjtree task, set the <i>target</i> attribute to the name
- of the jjtree grammar file to process. You also need to specify the directory
- containing the JavaCC installation using the <i>javacchome</i> attribute,
- so that ant can find the JavaCC classes. Optionally, you can also set the
- <i>outputdirectory</i>
- to write the generated file to a specific directory. Otherwise jjtree writes
- the generated JavaCC grammar file to the directory containing the JJTree
- grammar file.</p>
- <p>This task only invokes JJTree if the grammar file is newer than the
- generated JavaCC file.</p>
-
- <h3>Parameters</h3>
-
- <table BORDER CELLSPACING=0 CELLPADDING=2 >
- <tr>
- <td VALIGN=TOP><b>Attribute</b></td>
-
- <td VALIGN=TOP><b>Description</b></td>
-
- <td ALIGN=CENTER VALIGN=TOP><b>Required</b></td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>target</td>
-
- <td VALIGN=TOP>The jjtree grammar file to process.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>Yes</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>javacchome</td>
-
- <td VALIGN=TOP>The directory containing the JavaCC distribution.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>Yes</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>outputdirectory</td>
-
- <td VALIGN=TOP>The directory to write the generated file to. If not set,
- the files are written to the directory containing the grammar file. </td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>buildnodefiles</td>
-
- <td VALIGN=TOP>Sets the BUILD_NODE_FILES grammar option. This is a boolean
- option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>multi</td>
-
- <td VALIGN=TOP>Sets the MULTI grammar option. This is a boolean option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodedefaultvoid</td>
-
- <td VALIGN=TOP>Sets the NODE_DEFAULT_VOID grammar option. This is a boolean
- option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodefactory</td>
-
- <td VALIGN=TOP>Sets the NODE_FACTORY grammar option. This is boolean option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodescopehook</td>
-
- <td VALIGN=TOP>Sets the NODE_SCOPE_HOOK grammar option. This is a boolean
- option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodeusesparser</td>
-
- <td VALIGN=TOP>Sets the NODE_USES_PARSER grammar option. This is a boolean
- option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>static</td>
-
- <td VALIGN=TOP>Sets the STATIC grammar option. This is a boolean option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>visitor</td>
-
- <td VALIGN=TOP>Sets the VISITOR grammar option. This is a boolean option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodepackage</td>
-
- <td VALIGN=TOP>Sets the NODE_PACKAGE grammar option. This is a string option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>visitorexception</td>
-
- <td VALIGN=TOP>Sets the VISITOR_EXCEPTION grammar option. This is a string
- option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
-
- <tr>
- <td VALIGN=TOP>nodeprefix</td>
-
- <td VALIGN=TOP>Sets the NODE_PREFIX grammar option. This is a string option.</td>
-
- <td ALIGN=CENTER VALIGN=TOP>No</td>
- </tr>
- </table>
-
- <h3>
- Example</h3>
-
- <blockquote>
- <pre><jjtree
- target="src/Parser.jjt"
- outputdirectory="build/src"
- javacchome="c:/program files/JavaCC"
- nodeusesparser="true"
- /></pre>
- </blockquote>
- This invokes JJTree on grammar file src/Parser.jjt, writing the generated
- grammar file, Parser.jj, file to build/src. The grammar option NODE_USES_PARSER
- is set to true when invoking JJTree.
- <br>
- <hr>
- </body>
- </html>
|