/usr/share/doc/jflex/jflex_anttask.html is in jflex 1.4.3-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | <html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>JFlex Ant Task</title>
</head>
<body>
<h2><a name="JFlex">JFlex Ant Task</a></h2>
<p>
JFlex can be easily integrated with <a HREF="http://ant.apache.org/"
target="_top">Ant</a> build tool.
To use JFlex with Ant, simply copy JFlex.jar to <i>$ANT_HOME/lib/</i> directory.
</p>
<h3>Description</h3>
<p>
The JFlex Ant Task invokes the <a HREF="http://jflex.de/" target="_top">JFlex</a> lexical
analyzer generator on a grammar file.
</p>
<p>
To use the JFlex task, the following line must be placed in the Ant build file:
</p>
<pre><taskdef classname="JFlex.anttask.JFlexTask" name="jflex" /></pre>
<p>
The JFlex task requires the <i>file</i> attribute to be set to the source grammar file (*.flex).
Unless the target directory is specified with the <i>destdir</i> option,
the generated class will be saved to the same directory where grammar file resides.
Like javac, the JFlex task creates subdirectories in <i>destdir</i> according to the
generated class package.
</p>
<p>
This task only invokes JFlex if the grammar file is newer than the generated
files.
</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0" width="80%">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
<td align="center" valign="top"><b>Default</b></td>
</tr>
<tr>
<td valign="top">file="file"</td>
<td valign="top">The grammar file to process.</td>
<td valign="top" align="center">Yes</td>
<td></td>
</tr>
<tr>
<td valign="top">destdir="dir"</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. Note that unlike
JFlex's "-d" command line option, <i>destdir</i> causes the generated file to be written to
{destdir}/<b>{package name}</b>. This behaviour is similar to <i>javac -d dir</i>.
</td>
<td valign="top" align="center">No</td>
<td></td>
</tr>
<tr>
<td valign="top">outdir="dir"</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. This options works
exactly like JFlex's "-d" command line option, it causes the output file to
be written to <i>dir</i> regardless of the package name.
</td>
<td valign="top" align="center">No</td>
<td></td>
</tr>
<tr>
<td valign="top">verbose</td>
<td valign="top">Display generation process messages.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">dump</td>
<td valign="top">Dump character classes, NFA and DFA tables.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">time or<p>timeStatistics</td>
<td valign="top">Display generation time statistics.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">nomin or<p>skipMinimization</td>
<td valign="top">Skip minimization step.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">skel="file" or<p>skeleton="file"</td>
<td valign="top">Use external skeleton file.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">dot or<p>generateDot</td>
<td valign="top">Write graphviz .dot files for the generated automata (alpha).</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">nobak</td>
<td valign="top">Do not make a backup if the generated file exists.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">switch</td>
<td valign="top">Use code generation method <i>switch</t>.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">table</td>
<td valign="top">Use code generation method <i>table</t>.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"off"</td>
</tr>
<tr>
<td valign="top">pack</td>
<td valign="top">Use code generation method <i>pack</t>.</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">"on"</td>
</tr>
</table>
<h3>Example</h3>
<blockquote><pre>
<jflex
file="src/parser/Parser.flex"
destdir="build/generated/"
/>
</pre></blockquote>
<p>
JFlex generates the lexical analyzer for <tt>src/parser/Parser.flex</tt> and saves the result
to <tt>build/generated/parser/</tt>, providing <tt>Parser.flex</tt> declares to be in package <tt>parser</tt>.
</p>
<blockquote><pre>
<jflex
file="src/parser/Parser.flex"
destdir="build/generated/"
/>
<javac
srcdir="build/generated/"
destdir="build/classes/"
/>
</pre></blockquote>
<p>
The same as above plus compile generated classes to <i>build/classes</i>
</p>
<hr>
</body>
</html>
|