|
- <html>
-
- <head>
- <meta http-equiv="Content-Language" content="en-us">
- <title>ANTLR Task</title>
- </head>
-
- <body>
-
- <h2><a name="antlr">ANTLR</a></h2>
- <h3>Description</h3>
- <p>
- Invokes the <a HREF="http://www.antlr.org/" target="_top">ANTLR</a> Translator generator
- on a grammar file.
- </p>
- <p>
- To use the ANTLR task, set the <i>target</i> attribute to the name of the
- grammar file to process. Optionally, you can also set the
- <i>outputdirectory</i> to write the generated file to a specific directory.
- Otherwise ANTLR writes the generated files to the directory containing
- the grammar file.
- </p>
- <p>
- This task only invokes ANTLR if the grammar file (or the
- supergrammar specified by the glib attribute) is newer than the
- generated files.
- </p>
- <p>Antlr 2.7.1 Note:
- <i>
- To successfully run ANTLR, your best option is probably to build the whole
- jar with the provided script <b>mkalljar</b> and drop the resulting jar (about 300KB)
- into ${ant.home}/lib. Dropping the default jar (70KB) is probably not enough
- for most needs and your only option will be to add ANTLR home directory
- to your classpath as described in ANTLR <tt>install.html</tt> document.
- </i>
- </p>
- <p>Antlr 2.7.2 Note:
- <i>
- Instead of the above, you will need antlrall.jar that can be created
- by the <b>antlr-all.jar</b> target of the Makefile provided with the
- download.
- </i>
- </p>
-
- <h3>Parameters</h3>
- <table border="1" cellpadding="2" cellspacing="0">
- <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 grammar file to process.</td>
- <td valign="top" align="center">Yes</td>
- </tr>
- <tr>
- <td valign="top">outputdirectory</td>
- <td valign="top">
- The directory to write the generated files to. If not set, the files
- are written to the directory containing the grammar file.
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">glib</td>
- <td valign="top">
- An optional super grammar file that the target grammar overrides. This
- feature is only needed for advanced vocabularies.
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">debug</td>
- <td valign="top">
- When set to "yes", this flag adds code to the generated parser that will
- launch the ParseView debugger upon invocation. The default is "no".
- <br>
- Note: ParseView is a separate component that needs to be installed or your
- grammar will have compilation errors.
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">html</td>
- <td valign="top">
- Emit an html version of the grammar with hyperlinked actions.
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">diagnostic</td>
- <td valign="top">
- Generates a text file with debugging infomation based on the target grammar.
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">trace</td>
- <td valign="top">
- Forces <b>all</b> rules to call traceIn/traceOut if set to "yes".
- The default is "no".
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">traceParser</td>
- <td valign="top">
- Only forces parser rules to call traceIn/traceOut if set to "yes".
- The default is "no".
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">traceLexer</td>
- <td valign="top">
- Only forces lexer rules to call traceIn/traceOut if set to "yes".
- The default is "no".
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <tr>
- <td valign="top">traceTreeWalker</td>
- <td valign="top">
- Only forces tree walker rules to call traceIn/traceOut if set to
- "yes". The default is "no".
- </td>
- <td valign="top" align="center">No</td>
- </tr>
- <!--tr>
- <td valign="top">fork</td>
- <td valign="top">Run ANTLR in a separate VM.</td>
- <td align="center" valign="top">No, default is "off"</td>
- </tr-->
- <tr>
- <td valign="top">dir</td>
- <td valign="top">The directory to invoke the VM in. <!--(ignored if
- fork is disabled)--></td>
- <td align="center" valign="top">No</td>
- </tr>
- </table>
-
- <h3><a name="nested">Nested Elements</a></h3>
-
- <p><code>ANTLR</code> supports a nested <code><classpath></code>
- element, that represents a <a href="../using.html#path">PATH like
- structure</a>. It is given as a convenience if you have to specify
- the original ANTLR directory. In most cases, dropping the appropriate
- ANTLR jar in the normal Ant lib repository will be enough.</p>
-
- <h4>jvmarg</h4>
-
- <p><!--If fork is enabled, -->Additional parameters may be passed to the new
- VM via nested <code><jvmarg></code> attributes, for example:</p>
-
- <pre>
- <antlr target="...">
- <jvmarg value="-Djava.compiler=NONE"/>
- ...
- </antlr>
- </pre>
-
- <p>would run ANTLR in a VM without JIT.</p>
-
- <p><code><jvmarg></code> allows all attributes described in <a
- href="../using.html#arg">Command line arguments</a>.</p>
-
- <h3>Example</h3>
- <blockquote><pre>
- <antlr
- target="etc/java.g"
- outputdirectory="build/src"
- />
- </pre></blockquote>
- <p>
- This invokes ANTLR on grammar file etc/java.g, writing the generated
- files to build/src.
- </p>
- <hr>
-
- <p align="center">Copyright © 2000-2003 Apache Software Foundation. All rights
- Reserved.</p>
-
- </body>
- </html>
|