2006-09-11 04:19:00 +00:00
|
|
|
<!--
|
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
|
|
this work for additional information regarding copyright ownership.
|
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
(the "License"); you may not use this file except in compliance with
|
|
|
|
the License. You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
2001-02-13 12:32:01 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Language" content="en-us">
|
2005-04-29 18:58:16 +00:00
|
|
|
<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
|
2005-03-07 18:11:14 +00:00
|
|
|
<title>JJTree Task</title>
|
2001-02-13 12:32:01 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
2018-01-22 23:52:21 +01:00
|
|
|
<h2 id="jjtree">JJTree</h2>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-01-22 23:52:21 +01:00
|
|
|
<h3>Description</h3>
|
2018-03-08 07:43:53 +01:00
|
|
|
<p>Invokes the <a href="https://javacc.org/" target="_top">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>
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>To use the <code>jjtree</code> task, set the <var>target</var> attribute to the name of the
|
|
|
|
JJTree grammar file to process. You also need to specify the directory containing the JavaCC
|
|
|
|
installation using the <var>javacchome</var> attribute, so that Ant can find the JavaCC
|
|
|
|
classes. Optionally, you can also set the <var>outputdirectory</var> to write the generated JavaCC
|
|
|
|
grammar and node files to a specific directory. Otherwise <code>jjtree</code> writes the generated
|
|
|
|
JavaCC grammar and node files to the directory containing the JJTree grammar file. As an extra
|
|
|
|
option, you can also set the <var>outputfile</var> to write the generated JavaCC grammar file to a
|
|
|
|
specific (directory and) file. Otherwise <code>jjtree</code> writes the generated JavaCC grammar
|
|
|
|
file as the JJTree grammar file with a suffix <samp>.jj</samp>.</p>
|
|
|
|
<p>This task only invokes JJTree if the grammar file is newer than the generated JavaCC file.</p>
|
2001-09-08 01:05:18 +00:00
|
|
|
|
|
|
|
<h3>Parameters</h3>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<table class="attr">
|
2001-02-13 12:32:01 +00:00
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<th>Attribute</th>
|
|
|
|
<th>Description</th>
|
|
|
|
<th>Required</th>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>target</td>
|
|
|
|
<td>The JJTree grammar file to process.</td>
|
|
|
|
<td>Yes</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>javacchome</td>
|
|
|
|
<td>The directory containing the JavaCC distribution.</td>
|
|
|
|
<td>Yes</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>outputdirectory</td>
|
|
|
|
<td>The directory to write the generated JavaCC grammar and node files to. If not set, the files
|
|
|
|
are written to the directory containing the grammar file.</td>
|
|
|
|
<td>No</td>
|
2003-07-23 14:12:12 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>outputfile</td>
|
|
|
|
<td>The file to write the generated JavaCC grammar file to. If not set, the file is written with
|
|
|
|
the same name as the JJTree grammar file but with a the suffix <code>.jj</code>. This is a
|
|
|
|
filename relative to <var>outputdirectory</var> if specified, the project's basedir.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>buildnodefiles</td>
|
|
|
|
<td>Sets the BUILD_NODE_FILES grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>multi</td>
|
|
|
|
<td>Sets the MULTI grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodedefaultvoid</td>
|
|
|
|
<td>Sets the NODE_DEFAULT_VOID grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodefactory</td>
|
|
|
|
<td>Sets the NODE_FACTORY grammar option. This is boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodescopehook</td>
|
|
|
|
<td>Sets the NODE_SCOPE_HOOK grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodeusesparser</td>
|
|
|
|
<td>Sets the NODE_USES_PARSER grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>static</td>
|
|
|
|
<td>Sets the STATIC grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>visitor</td>
|
|
|
|
<td>Sets the VISITOR grammar option. This is a boolean option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodepackage</td>
|
|
|
|
<td>Sets the NODE_PACKAGE grammar option. This is a string option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>visitorexception</td>
|
|
|
|
<td>Sets the VISITOR_EXCEPTION grammar option. This is a string option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>nodeprefix</td>
|
|
|
|
<td>Sets the NODE_PREFIX grammar option. This is a string option.</td>
|
|
|
|
<td>No</td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2011-01-05 11:18:26 +00:00
|
|
|
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td>maxmemory</td>
|
|
|
|
<td>Max amount of memory to allocate to the forked JVM. <em>since Ant 1.8.3</em></td>
|
|
|
|
<td>No</td>
|
2011-01-05 11:18:26 +00:00
|
|
|
</tr>
|
2001-02-13 12:32:01 +00:00
|
|
|
</table>
|
|
|
|
|
2018-01-22 23:52:21 +01:00
|
|
|
<h3>Example</h3>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<pre>
|
|
|
|
<jjtree target="src/Parser.jjt"
|
|
|
|
outputdirectory="build/src"
|
|
|
|
javacchome="c:/program files/JavaCC"
|
|
|
|
nodeusesparser="true"/></pre>
|
2003-08-14 14:52:42 +00:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>This invokes JJTree on grammar file <samp>src/Parser.jjt</samp>, writing the generated grammar
|
|
|
|
file, <samp>Parser.jj</samp>, file to <samp>build/src</samp>. The grammar option NODE_USES_PARSER is
|
|
|
|
set to <q>true</q> when invoking JJTree.</p>
|
|
|
|
|
2018-03-05 21:01:42 +01:00
|
|
|
<h3>Comparison of output locations between command line JJTree and different Ant <code>taskdef</code>
|
2018-02-28 07:58:59 +01:00
|
|
|
versions</h3>
|
2003-08-14 14:52:42 +00:00
|
|
|
|
2018-01-22 23:52:21 +01:00
|
|
|
<table>
|
2018-02-28 07:58:59 +01:00
|
|
|
<thead class="no-bold">
|
2003-08-14 14:52:42 +00:00
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<th><strong>Command line JJTree options</strong> and <em>generated files</em> (working directory: <samp>/tmp</samp>)</th>
|
|
|
|
<th><strong>Ant 1.5.3</strong> versus command line</th>
|
|
|
|
<th><strong>Ant 1.6</strong> versus command line</th>
|
2003-08-14 14:52:42 +00:00
|
|
|
</tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
</thead>
|
|
|
|
<tbody>
|
2003-08-14 14:52:42 +00:00
|
|
|
<tr>
|
|
|
|
<td><pre><b>jjtree grammar.jjt</b>
|
|
|
|
/tmp/grammar.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><pre><b>jjtree relative/grammar.jjt</b>
|
|
|
|
/tmp/grammar.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td><pre>
|
|
|
|
/tmp/relative/grammar.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/grammar.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td><pre>
|
|
|
|
/tmp/absolute/grammar.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:relative grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/grammar.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:relative relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/grammar.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:relative /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/grammar.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:/tmp/absolute/ grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/grammar.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:/tmp/absolute/ relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/grammar.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_DIRECTORY:/tmp/absolute/ /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/grammar.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Same</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:relative grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:relative relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:relative /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:relative grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:relative relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:relative /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
2018-03-03 21:26:50 +01:00
|
|
|
<tr id="footnote-1-back">
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:<i>D:</i>/tmp/subdir/output.jj grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
2018-03-03 21:26:50 +01:00
|
|
|
<td>Not Supported<a href="#footnote-1"><sup>*</sup></a></td>
|
2003-08-14 14:52:42 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:<i>D:</i>/tmp/subdir/output.jj relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
2018-03-03 21:26:50 +01:00
|
|
|
<td>Not Supported<a href="#footnote-1"><sup>*</sup></a></td>
|
2003-08-14 14:52:42 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:<i>D:</i>/tmp/subdir/output.jj /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/subdir/output.jj
|
|
|
|
/tmp/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
2018-03-03 21:26:50 +01:00
|
|
|
<td>Not Supported<a href="#footnote-1"><sup>*</sup></a></td>
|
2003-08-14 14:52:42 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:relative grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/tmp/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:relative relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/tmp/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:relative /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/relative/tmp/subdir/output.jj
|
|
|
|
/tmp/relative/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/tmp/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ relative/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/tmp/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
<td><pre><b>jjtree -OUTPUT_FILE:/tmp/subdir/output.jj -OUTPUT_DIRECTORY:/tmp/absolute/ /tmp/absolute/grammar.jjt</b>
|
2003-08-14 14:52:42 +00:00
|
|
|
/tmp/absolute/tmp/subdir/output.jj
|
|
|
|
/tmp/absolute/<generated>.java</pre>
|
|
|
|
</td>
|
|
|
|
<td>Not Supported</td>
|
|
|
|
<td>Same</td>
|
|
|
|
</tr>
|
2018-02-28 07:58:59 +01:00
|
|
|
</tbody>
|
2003-08-14 14:52:42 +00:00
|
|
|
</table>
|
|
|
|
|
2018-03-03 21:26:50 +01:00
|
|
|
<p id="footnote-1"><a href="#footnote-1-back"><strong>Note</strong></a>: When running JJTree with
|
2018-03-10 20:17:33 +01:00
|
|
|
the Ant <code>taskdef jjtree</code> the option <kbd>-OUTPUT_DIRECTORY</kbd> must always be set,
|
2018-03-03 21:26:50 +01:00
|
|
|
because the project's <var>basedir</var> and the Ant working directory might differ. So even if you
|
|
|
|
don't specify the <var>outputdirectory</var> for <code>taskdef jjtree</code>, JJTree will be called
|
2018-03-10 20:17:33 +01:00
|
|
|
with the <kbd>-OUTPUT_DIRECTORY</kbd> set to the project's <var>basedir</var>. But when
|
|
|
|
the <kbd>-OUTPUT_DIRECTORY</kbd> is set, the <kbd>-OUTPUT_FILE</kbd> setting is handled as if
|
|
|
|
relative to this <kbd>-OUTPUT_DIRECTORY</kbd>. Thus when the <kbd>-OUTPUT_FILE</kbd> is absolute
|
2018-02-28 07:58:59 +01:00
|
|
|
or contains a drive letter we have a problem. Therefore absolute <var>outputfile</var>s (when
|
|
|
|
the <var>outputdirectory</var> isn't specified) are made relative to the default directory. And for
|
|
|
|
this reason <var>outputfile</var>s that contain a drive letter can't be supported.</p>
|
|
|
|
|
2018-03-10 20:17:33 +01:00
|
|
|
<p>By the way: specifying a drive letter in the <kbd>-OUTPUT_FILE</kbd> when
|
|
|
|
the <kbd>-OUTPUT_DIRECTORY</kbd> is set, also results in strange behavior when running JJTree from
|
2018-02-28 07:58:59 +01:00
|
|
|
the command line.</p>
|
2003-08-14 14:52:42 +00:00
|
|
|
|
2001-02-13 12:32:01 +00:00
|
|
|
</body>
|
|
|
|
</html>
|