001////////////////////////////////////////////////////////////////////////////////
002// checkstyle: Checks Java source code for adherence to a set of rules.
003// Copyright (C) 2001-2016 the original author or authors.
004//
005// This library is free software; you can redistribute it and/or
006// modify it under the terms of the GNU Lesser General Public
007// License as published by the Free Software Foundation; either
008// version 2.1 of the License, or (at your option) any later version.
009//
010// This library is distributed in the hope that it will be useful,
011// but WITHOUT ANY WARRANTY; without even the implied warranty of
012// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013// Lesser General Public License for more details.
014//
015// You should have received a copy of the GNU Lesser General Public
016// License along with this library; if not, write to the Free Software
017// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
018////////////////////////////////////////////////////////////////////////////////
019
020package com.puppycrawl.tools.checkstyle.api;
021
022import org.antlr.v4.runtime.Recognizer;
023
024import com.puppycrawl.tools.checkstyle.grammars.javadoc.JavadocParser;
025
026/**
027 * @author Baratali Izmailov
028 * @see <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html">
029 * javadoc - The Java API Documentation Generator</a>
030 * @noinspection JavaDoc
031 */
032public final class JavadocTokenTypes {
033    /** Rule types offset. */
034    private static final int RULE_TYPES_OFFSET = 10000;
035
036    /**
037     * Root node of any Javadoc comment.
038     * Last child is always {@link #EOF}.
039     *
040     * <p>
041     * <b>Tree for example:</b>
042     * <pre>{@code
043     * JAVADOC[3x0]
044     *   |--NEWLINE[3x0] : [\n]
045     *   |--LEADING_ASTERISK[4x0] : [ *]
046     *   |--WS[4x2] : [ ]
047     *   |--JAVADOC_TAG[4x3] : [@param T The bar.\n ]
048     *       |--PARAM_LITERAL[4x3] : [@param]
049     *       |--WS[4x9] : [ ]
050     *       |--PARAMETER_NAME[4x10] : [T]
051     *       |--WS[4x11] : [ ]
052     *       |--DESCRIPTION[4x12] : [The bar.\n ]
053     *           |--TEXT[4x12] : [The bar.]
054     *           |--NEWLINE[4x20] : [\n]
055     *           |--TEXT[5x0] : [ ]
056     *   |--EOF[5x1] : [<EOF>]
057     * }</pre>
058     */
059    public static final int JAVADOC = JavadocParser.RULE_javadoc + RULE_TYPES_OFFSET;
060
061    //--------------------------------------------------------------------------------------------//
062    //------------------        JAVADOC TAGS          --------------------------------------------//
063    //--------------------------------------------------------------------------------------------//
064
065    /**
066     * Javadoc tag.
067     *
068     * <p>Type of Javadoc tag is resolved by literal node that is first child of this node.
069     *
070     * <p>As literal could be:
071     * <ul>
072     * <li>{@link #RETURN_LITERAL}</li>
073     * <li>{@link #DEPRECATED_LITERAL}</li>
074     * <li>{@link #SINCE_LITERAL}</li>
075     * <li>{@link #SERIAL_DATA_LITERAL}</li>
076     * <li>{@link #SERIAL_FIELD_LITERAL}</li>
077     * <li>{@link #PARAM_LITERAL}</li>
078     * <li>{@link #SEE_LITERAL}</li>
079     * <li>{@link #SERIAL_LITERAL}</li>
080     * <li>{@link #VERSION_LITERAL}</li>
081     * <li>{@link #EXCEPTION_LITERAL}</li>
082     * <li>{@link #THROWS_LITERAL}</li>
083     * <li>{@link #AUTHOR_LITERAL}</li>
084     * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc tag.</li>
085     * </ul>
086     *
087     * <p>
088     * <b>Example</b>
089     * <pre>{@code &#64;param T The bar.}</pre>
090     * <b>Tree</b>
091     * <pre>{@code
092     *   |--JAVADOC_TAG[4x3] : [@param T The bar.]
093     *       |--PARAM_LITERAL[4x3] : [@param]
094     *       |--WS[4x9] : [ ]
095     *       |--PARAMETER_NAME[4x10] : [T]
096     *       |--WS[4x11] : [ ]
097     *       |--DESCRIPTION[4x12] : [The bar.]
098     *           |--TEXT[4x12] : [The bar.]
099     * }</pre>
100     */
101    public static final int JAVADOC_TAG = JavadocParser.RULE_javadocTag + RULE_TYPES_OFFSET;
102
103    /**
104     * Javadoc inline tag.
105     *
106     * <p>Type of Javadoc inline tag is resolved by literal node that is second child of this node.
107     * First child is always {@link #JAVADOC_INLINE_TAG_START} and last node is always
108     * {@link #JAVADOC_INLINE_TAG_END}.
109     *
110     * <p>As literal could be:
111     * <ul>
112     * <li>{@link #CODE_LITERAL}</li>
113     * <li>{@link #DOC_ROOT_LITERAL}</li>
114     * <li>{@link #LINK_LITERAL}</li>
115     * <li>{@link #INHERIT_DOC_LITERAL}</li>
116     * <li>{@link #LINKPLAIN_LITERAL}</li>
117     * <li>{@link #LITERAL_LITERAL}</li>
118     * <li>{@link #VALUE_LITERAL}</li>
119     * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc inline tag.</li>
120     * </ul>
121     *
122     * <p>
123     * <b>Example:</b>
124     * <pre>{@code {&#64;link String}}</pre>
125     * <b>Tree:</b>
126     * <pre>
127     * {@code |--JAVADOC_INLINE_TAG[4x3] : [{&#64;link String}]
128     *        |--JAVADOC_INLINE_TAG_START[4x3] : [{]
129     *        |--LINK_LITERAL[4x4] : [@link]
130     *        |--WS[4x9] : [ ]
131     *        |--REFERENCE[4x10] : [String]
132     *            |--CLASS[4x10] : [String]
133     *        |--JAVADOC_INLINE_TAG_END[4x16] : [}]
134     * }
135     * </pre>
136     */
137    public static final int JAVADOC_INLINE_TAG = JavadocParser.RULE_javadocInlineTag
138            + RULE_TYPES_OFFSET;
139
140    /**
141     * '@return' literal in @return Javadoc tag.
142     *
143     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
144     *
145     * <p>
146     * <b>Example:</b>
147     * <pre>{@code @return true if file exists}</pre>
148     * <b>Tree:</b>
149     * <pre>{@code
150     *   |--JAVADOC_TAG[4x3] : [@return true if file exists]
151     *       |--RETURN_LITERAL[4x3] : [@return]
152     *       |--WS[4x10] : [ ]
153     *       |--DESCRIPTION[4x11] : [true if file exists]
154     *           |--TEXT[4x11] : [true if file exists]
155     * }</pre>
156     *
157     * @see
158     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCDBGG">
159     * Oracle Docs</a>
160     * @see #JAVADOC_TAG
161     */
162    public static final int RETURN_LITERAL = JavadocParser.RETURN_LITERAL;
163
164    /**
165     * '@deprecated' literal in @deprecated Javadoc tag.
166     *
167     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
168     *
169     * <p>
170     * <b>Example:</b>
171     * <pre>{@code @deprecated it is deprecated method}</pre>
172     * <b>Tree:</b>
173     * <pre>{@code
174     *   |--JAVADOC_TAG[3x0] : [@deprecated it is deprecated method]
175     *   |--DEPRECATED_LITERAL[3x0] : [@deprecated]
176     *   |--WS[3x11] : [ ]
177     *   |--DESCRIPTION[3x12] : [it is deprecated method]
178     *       |--TEXT[3x12] : [it is deprecated method]
179     * }</pre>
180     *
181     * @see
182     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#deprecated">
183     * Oracle Docs</a>
184     * @see #JAVADOC_TAG
185     */
186    public static final int DEPRECATED_LITERAL = JavadocParser.DEPRECATED_LITERAL;
187
188    /**
189     * '@since' literal in @since Javadoc tag.
190     *
191     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
192     *
193     * <p>
194     * <b>Example:</b>
195     * <pre>{@code @since 3.4 RELEASE}</pre>
196     * <b>Tree:</b>
197     * <pre>{@code
198     *   |--JAVADOC_TAG[3x0] : [@since 3.4 RELEASE]
199     *       |--SINCE_LITERAL[3x0] : [@since]
200     *       |--WS[3x6] : [ ]
201     *       |--DESCRIPTION[3x7] : [3.4 RELEASE]
202     *           |--TEXT[3x7] : [3.4 RELEASE]
203     * }</pre>
204     *
205     * @see
206     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHGJGD">
207     * Oracle Docs</a>
208     * @see #JAVADOC_TAG
209     */
210    public static final int SINCE_LITERAL = JavadocParser.SINCE_LITERAL;
211
212    /**
213     * '@serialData' literal in @serialData Javadoc tag.
214     *
215     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
216     *
217     * <p>
218     * <b>Example:</b>
219     * <pre>{@code @serialData two values of Integer type}</pre>
220     * <b>Tree:</b>
221     * <pre>{@code
222     *   |--JAVADOC_TAG[3x0] : [@serialData two values of Integer type ]
223     *       |--SERIAL_DATA_LITERAL[3x0] : [@serialData]
224     *       |--WS[3x11] : [ ]
225     *       |--DESCRIPTION[3x12] : [two values of Integer type ]
226     *           |--TEXT[3x12] : [two values of Integer type ]
227     * }
228     * </pre>
229     *
230     * @see
231     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDJBFDB">
232     * Oracle Docs</a>
233     * @see #JAVADOC_TAG
234     */
235    public static final int SERIAL_DATA_LITERAL = JavadocParser.SERIAL_DATA_LITERAL;
236
237    /**
238     * '@serialField' literal in @serialField Javadoc tag.
239     *
240     * <p>Such Javadoc tag can have three arguments:
241     * <ol>
242     * <li>{@link #FIELD_NAME}</li>
243     * <li>{@link #FIELD_TYPE}</li>
244     * <li>{@link #DESCRIPTION}</li>
245     * </ol>
246     *
247     * <p>
248     * <b>Example:</b>
249     * <pre>{@code @serialField counter Integer objects counter}</pre>
250     * <b>Tree:</b>
251     * <pre>{@code
252     *   |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
253     *       |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
254     *       |--WS[3x12] : [ ]
255     *       |--FIELD_NAME[3x13] : [counter]
256     *       |--WS[3x20] : [ ]
257     *       |--FIELD_TYPE[3x21] : [Integer]
258     *       |--WS[3x28] : [ ]
259     *       |--DESCRIPTION[3x29] : [objects counter]
260     *           |--TEXT[3x29] : [objects counter]
261     * }</pre>
262     *
263     * @see
264     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGHIDG">
265     * Oracle Docs</a>
266     * @see #JAVADOC_TAG
267     */
268    public static final int SERIAL_FIELD_LITERAL = JavadocParser.SERIAL_FIELD_LITERAL;
269
270    /**
271     * '@param' literal in @param Javadoc tag.
272     *
273     * <p>Such Javadoc tag can have two arguments:
274     * <ol>
275     * <li>{@link #PARAMETER_NAME}</li>
276     * <li>{@link #DESCRIPTION}</li>
277     * </ol>
278     *
279     * <p>
280     * <b>Example:</b>
281     * <pre>{@code @param T The bar.}</pre>
282     * <b>Tree:</b>
283     * <pre>{@code
284     *   |--JAVADOC_TAG[4x3] : [@param T The bar.]
285     *       |--PARAM_LITERAL[4x3] : [@param]
286     *       |--WS[4x9] : [ ]
287     *       |--PARAMETER_NAME[4x10] : [T]
288     *       |--WS[4x11] : [ ]
289     *       |--DESCRIPTION[4x12] : [The bar.]
290     *           |--TEXT[4x12] : [The bar.]
291     * }</pre>
292     *
293     * @see
294     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHJECF">
295     * Oracle Docs</a>
296     * @see #JAVADOC_TAG
297     */
298    public static final int PARAM_LITERAL = JavadocParser.PARAM_LITERAL;
299
300    /**
301     * '@see' literal in @see Javadoc tag.
302     *
303     * <p>Such Javadoc tag can have one argument - {@link #REFERENCE}
304     *
305     * <p>
306     * <b>Example:</b>
307     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
308     * <b>Tree:</b>
309     * <pre>{@code
310     *   |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
311     *       |--SEE_LITERAL[3x0] : [@see]
312     *       |--WS[3x4] : [ ]
313     *       |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
314     *           |--PACKAGE[3x5] : [org.apache.utils]
315     *           |--DOT[3x21] : [.]
316     *           |--CLASS[3x22] : [Lists]
317     *           |--DOT[3x27] : [.]
318     *           |--CLASS[3x28] : [Comparator]
319     *           |--HASH[3x38] : [#]
320     *           |--MEMBER[3x39] : [compare]
321     *           |--PARAMETERS[3x46] : [(Object)]
322     *               |--LEFT_BRACE[3x46] : [(]
323     *               |--ARGUMENT[3x47] : [Object]
324     *               |--RIGHT_BRACE[3x53] : [)]
325     * }</pre>
326     *
327     * @see
328     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIEDI">
329     * Oracle Docs</a>
330     * @see #JAVADOC_TAG
331     */
332    public static final int SEE_LITERAL = JavadocParser.SEE_LITERAL;
333
334    /**
335     * '@see' literal in @see Javadoc tag.
336     *
337     * <p>Such Javadoc tag can have one argument - {@link #REFERENCE} or {@link #LITERAL_EXCLUDE}
338     * or {@link #LITERAL_INCLUDE}
339     *
340     * <p>
341     * <b>Example:</b>
342     * <pre>{@code @serial include}</pre>
343     * <b>Tree:</b>
344     * <pre>{@code
345     *   |--JAVADOC_TAG[3x0] : [@serial include]
346     *       |--SERIAL_LITERAL[3x0] : [@serial]
347     *       |--WS[3x7] : [ ]
348     *       |--LITERAL_INCLUDE[3x8] : [include]
349     * }</pre>
350     *
351     * <p>
352     * <b>Example:</b>
353     * <pre>{@code @serial serialized company name}</pre>
354     * <b>Tree:</b>
355     * <pre>{@code
356     *   |--JAVADOC_TAG[3x0] : [@serial serialized company name]
357     *       |--SERIAL_LITERAL[3x0] : [@serial]
358     *       |--WS[3x7] : [ ]
359     *       |--DESCRIPTION[3x8] : [serialized company name]
360     *           |--TEXT[3x8] : [serialized company name]
361     * }</pre>
362     *
363     * @see
364     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
365     * Oracle Docs</a>
366     * @see #JAVADOC_TAG
367     */
368    public static final int SERIAL_LITERAL = JavadocParser.SERIAL_LITERAL;
369
370    /**
371     * '@version' literal in @version Javadoc tag.
372     *
373     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
374     *
375     * <p>
376     * <b>Example:</b>
377     * <pre>{@code @version 1.3}</pre>
378     * <b>Tree:</b>
379     * <pre>{@code
380     *   |--JAVADOC_TAG[3x0] : [@version 1.3]
381     *       |--VERSION_LITERAL[3x0] : [@version]
382     *       |--WS[3x8] : [ ]
383     *       |--DESCRIPTION[3x9] : [1.3]
384     *           |--TEXT[3x9] : [1.3]
385     * }</pre>
386     *
387     * @see
388     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHBAE">
389     * Oracle Docs</a>
390     * @see #JAVADOC_TAG
391     */
392    public static final int VERSION_LITERAL = JavadocParser.VERSION_LITERAL;
393
394    /**
395     * '@exception' literal in @exception Javadoc tag.
396     *
397     * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}
398     *
399     * <p>
400     * <b>Example:</b>
401     * <pre>{@code @exception SQLException if query is not correct}</pre>
402     * <b>Tree:</b>
403     * <pre>{@code
404     *   |--JAVADOC_TAG[3x0] : [@exception SQLException if query is not correct]
405     *       |--EXCEPTION_LITERAL[3x0] : [@exception]
406     *       |--WS[3x10] : [ ]
407     *       |--CLASS_NAME[3x11] : [SQLException]
408     *       |--WS[3x23] : [ ]
409     *       |--DESCRIPTION[3x24] : [if query is not correct]
410     *           |--TEXT[3x24] : [if query is not correct]
411     * }</pre>
412     *
413     * @see
414     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCEAHH">
415     * Oracle Docs</a>
416     * @see #JAVADOC_TAG
417     */
418    public static final int EXCEPTION_LITERAL = JavadocParser.EXCEPTION_LITERAL;
419
420    /**
421     * '@throws' literal in @throws Javadoc tag.
422     *
423     * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}
424     *
425     * <p>
426     * <b>Example:</b>
427     * <pre>{@code @throws SQLException if query is not correct}</pre>
428     * <b>Tree:</b>
429     * <pre>{@code
430     *   |--JAVADOC_TAG[3x0] : [@throws SQLException if query is not correct]
431     *       |--THROWS_LITERAL[3x0] : [@throws]
432     *       |--WS[3x7] : [ ]
433     *       |--CLASS_NAME[3x8] : [SQLException]
434     *       |--WS[3x20] : [ ]
435     *       |--DESCRIPTION[3x21] : [if query is not correct]
436     *           |--TEXT[3x21] : [if query is not correct]
437     * }</pre>
438     *
439     * @see
440     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHAHD">
441     * Oracle Docs</a>
442     * @see #JAVADOC_TAG
443     */
444    public static final int THROWS_LITERAL = JavadocParser.THROWS_LITERAL;
445
446    /**
447     * '@author' literal in @author Javadoc tag.
448     *
449     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
450     *
451     * <p>
452     * <b>Example:</b>
453     * <pre>{@code @author Baratali Izmailov}</pre>
454     * <b>Tree:</b>
455     * <pre>{@code
456     *   |--JAVADOC_TAG[3x0] : [@author Baratali Izmailov]
457     *       |--AUTHOR_LITERAL[3x0] : [@author]
458     *       |--WS[3x7] : [ ]
459     *       |--DESCRIPTION[3x8] : [Baratali Izmailov]
460     *           |--TEXT[3x8] : [Baratali Izmailov]
461     * }</pre>
462     *
463     * @see
464     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCBAHA">
465     * Oracle Docs</a>
466     * @see #JAVADOC_TAG
467     */
468    public static final int AUTHOR_LITERAL = JavadocParser.AUTHOR_LITERAL;
469
470    /**
471     * Name of custom Javadoc tag (or Javadoc inline tag).
472     *
473     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}
474     *
475     * <p>
476     * <b>Example:</b>
477     * <pre>{@code @myJavadocTag some magic}</pre>
478     * <b>Tree:</b>
479     * <pre>{@code
480     *   |--JAVADOC_TAG[3x0] : [@myJavadocTag some magic]
481     *       |--CUSTOM_NAME[3x0] : [@myJavadocTag]
482     *       |--WS[3x13] : [ ]
483     *       |--DESCRIPTION[3x14] : [some magic]
484     *           |--TEXT[3x14] : [some magic]
485     * }</pre>
486     */
487    public static final int CUSTOM_NAME = JavadocParser.CUSTOM_NAME;
488
489    /**
490     * First child of {@link #JAVADOC_INLINE_TAG} that represents left curly brace '{'.
491     *
492     * <p>
493     * <b>Example:</b>
494     * <pre>{@code {&#64;code Comparable&lt;E&gt;}}</pre>
495     * <b>Tree:</b>
496     * <pre>
497     * {@code |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
498     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
499     *         |--CODE_LITERAL[3x1] : [@code]
500     *         |--WS[3x6] : [ ]
501     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
502     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
503     * }</pre>
504     */
505    public static final int JAVADOC_INLINE_TAG_START = JavadocParser.JAVADOC_INLINE_TAG_START;
506
507    /**
508     * Last child of {@link #JAVADOC_INLINE_TAG} that represents right curly brace '}'.
509     *
510     * <p>
511     * <b>Example:</b>
512     * <pre>{@code {&#64;code Comparable&lt;E&gt;}}</pre>
513     * <b>Tree:</b>
514     * <pre>
515     * {@code |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
516     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
517     *         |--CODE_LITERAL[3x1] : [@code]
518     *         |--WS[3x6] : [ ]
519     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
520     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
521     * }
522     * </pre>
523     */
524    public static final int JAVADOC_INLINE_TAG_END = JavadocParser.JAVADOC_INLINE_TAG_END;
525
526    /**
527     * '@code' literal in {&#64;code} Javadoc inline tag.
528     *
529     * <p>Such Javadoc inline tag can have such child nodes:
530     * <ul>
531     * <li>{@link #NEWLINE}</li>
532     * <li>{@link #WS}</li>
533     * <li>{@link #TEXT}</li>
534     * </ul>
535     *
536     * <p>
537     * <b>Example:</b>
538     * <pre>{@code {&#64;code Comparable&lt;E&gt;}}</pre>
539     * <b>Tree:</b>
540     * <pre>
541     * {@code |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
542     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
543     *         |--CODE_LITERAL[3x1] : [@code]
544     *         |--WS[3x6] : [ ]
545     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
546     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
547     * }
548     * </pre>
549     *
550     * @see
551     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDFHHBB">
552     * Oracle Docs</a>
553     * @see #JAVADOC_INLINE_TAG
554     */
555    public static final int CODE_LITERAL = JavadocParser.CODE_LITERAL;
556
557    /**
558     * '@docRoot' literal in {&#64;docRoot} Javadoc inline tag.
559     *
560     * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:
561     * <ul>
562     * <li>{@link #NEWLINE}</li>
563     * <li>{@link #WS}</li>
564     * </ul>
565     *
566     * <p>
567     * <b>Example:</b>
568     * <pre>{@code {&#64;docRoot}}</pre>
569     * <b>Tree:</b>
570     * <pre>
571     * {@code  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;docRoot \n}]
572     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
573     *            |--DOC_ROOT_LITERAL[1x1] : [@docRoot]
574     *            |--JAVADOC_INLINE_TAG_END[2x0] : [}]
575     * }
576     * </pre>
577     *
578     * <p>
579     * <b>Example:</b>
580     * <pre>{@code {&#64;docRoot
581     *}}</pre>
582     * <b>Tree:</b>
583     * <pre>
584     * {@code  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;docRoot \n}]
585     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
586     *            |--DOC_ROOT_LITERAL[1x1] : [@docRoot]
587     *            |--WS[1x9] : [ ]
588     *            |--NEWLINE[1x10] : [\n]
589     *            |--JAVADOC_INLINE_TAG_END[2x0] : [}]
590     * }
591     * </pre>
592     *
593     * @see
594     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDBACBF">
595     * Oracle Docs</a>
596     * @see #JAVADOC_INLINE_TAG
597     */
598    public static final int DOC_ROOT_LITERAL = JavadocParser.DOC_ROOT_LITERAL;
599
600    /**
601     * '@link' literal in {&#64;link} Javadoc inline tag.
602     * <p>
603     * Such Javadoc inline tag can have one argument - {@link #REFERENCE}
604     * </p>
605     * <p><b>Example:</b></p>
606     * <pre>{@code {&#64;link org.apache.utils.Lists.Comparator#compare(Object)}}</pre>
607     * <p><b>Tree:</b></p>
608     * <pre>
609     * {@code |--JAVADOC_INLINE_TAG[1x0] :
610     *               [{&#64;link org.apache.utils.Lists.Comparator#compare(Object)}]
611     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
612     *        |--LINK_LITERAL[1x1] : [@link]
613     *        |--WS[1x6] : [ ]
614     *        |--REFERENCE[1x7] : [org.apache.utils.Lists.Comparator#compare(Object)]
615     *            |--PACKAGE[1x7] : [org.apache.utils]
616     *            |--DOT[1x23] : [.]
617     *            |--CLASS[1x24] : [Lists]
618     *            |--DOT[1x29] : [.]
619     *            |--CLASS[1x30] : [Comparator]
620     *            |--HASH[1x40] : [#]
621     *            |--MEMBER[1x41] : [compare]
622     *            |--PARAMETERS[1x48] : [(Object)]
623     *                |--LEFT_BRACE[1x48] : [(]
624     *                |--ARGUMENT[1x49] : [Object]
625     *                |--RIGHT_BRACE[1x55] : [)]
626     *        |--JAVADOC_INLINE_TAG_END[1x56] : [}]
627     * }
628     * </pre>
629     *
630     * @see
631     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIECH">
632     * Oracle Docs</a>
633     * @see #JAVADOC_INLINE_TAG
634     */
635    public static final int LINK_LITERAL = JavadocParser.LINK_LITERAL;
636
637    /**
638     * '@inheritDoc' literal in {&#64;inheritDoc} Javadoc inline tag.
639     *
640     * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:
641     * <ul>
642     * <li>{@link #NEWLINE}</li>
643     * <li>{@link #WS}</li>
644     * </ul>
645     *
646     * <p>
647     * <b>Example:</b>
648     * <pre>{@code {&#64;inheritDoc}}</pre>
649     * <b>Tree:</b>
650     * <pre>
651     * {@code  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;inheritDoc}]
652     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
653     *            |--INHERIT_DOC_LITERAL[1x1] : [@inheritDoc]
654     *            |--JAVADOC_INLINE_TAG_END[1x12] : [}]
655     * }
656     * </pre>
657     *
658     * @see
659     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGJCHC">
660     * Oracle Docs</a>
661     * @see #JAVADOC_INLINE_TAG
662     */
663    public static final int INHERIT_DOC_LITERAL = JavadocParser.INHERIT_DOC_LITERAL;
664
665    /**
666     * '@linkplain' literal in {&#64;linkplain} Javadoc inline tag.
667     *
668     * <p>Such Javadoc inline tag can have one argument - {@link #REFERENCE}
669     *
670     * <p>
671     * <b>Example:</b>
672     * <pre>{@code {&#64;linkplain org.apache.utils.Lists.Comparator#compare(Object) compare}}</pre>
673     * <b>Tree:</b>
674     * <pre>
675     * {@code |--JAVADOC_INLINE_TAG[1x0] :
676     *               [{&#64;linkplain org.apache.utils.Lists.Comparator#compare(Object) compare}]
677     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
678     *        |--LINKPLAIN_LITERAL[1x1] : [@linkplain]
679     *        |--WS[1x11] : [ ]
680     *        |--REFERENCE[1x12] : [org.apache.utils.Lists.Comparator#compare(Object)]
681     *            |--PACKAGE[1x12] : [org.apache.utils]
682     *            |--DOT[1x28] : [.]
683     *            |--CLASS[1x29] : [Lists]
684     *            |--DOT[1x34] : [.]
685     *            |--CLASS[1x35] : [Comparator]
686     *            |--HASH[1x45] : [#]
687     *            |--MEMBER[1x46] : [compare]
688     *            |--PARAMETERS[1x53] : [(Object)]
689     *                |--LEFT_BRACE[1x53] : [(]
690     *                |--ARGUMENT[1x54] : [Object]
691     *                |--RIGHT_BRACE[1x60] : [)]
692     *        |--DESCRIPTION[1x61] : [ compare]
693     *            |--TEXT[1x61] : [ compare]
694     *        |--JAVADOC_INLINE_TAG_END[1x69] : [}]
695     * }
696     * </pre>
697     *
698     * @see
699     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGBICD">
700     * Oracle Docs</a>
701     * @see #JAVADOC_INLINE_TAG
702     */
703    public static final int LINKPLAIN_LITERAL = JavadocParser.LINKPLAIN_LITERAL;
704
705    /**
706     * '@literal' literal in {&#64;literal} Javadoc inline tag.
707     *
708     * <p>Such Javadoc inline tag can have such child nodes:
709     * <ul>
710     * <li>{@link #NEWLINE}</li>
711     * <li>{@link #WS}</li>
712     * <li>{@link #TEXT}</li>
713     * </ul>
714     *
715     * <p>
716     * <b>Example:</b>
717     * <pre>{@code {&#64;literal #compare(Object)}}</pre>
718     * <b>Tree:</b>
719     * <pre>
720     * {@code |--JAVADOC_INLINE_TAG[1x0] : [{&#64;literal #compare(Object)}]
721     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
722     *        |--LITERAL_LITERAL[1x1] : [@literal]
723     *        |--WS[1x9] : [ ]
724     *        |--TEXT[1x10] : [#compare(Object)]
725     *        |--JAVADOC_INLINE_TAG_END[1x27] : [}]
726     * }
727     * </pre>
728     *
729     * @see
730     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCFJDG">
731     * Oracle Docs</a>
732     * @see #JAVADOC_INLINE_TAG
733     */
734    public static final int LITERAL_LITERAL = JavadocParser.LITERAL_LITERAL;
735
736    /**
737     * '@value' literal in {&#64;value} Javadoc inline tag.
738     *
739     * <p>Such Javadoc inline tag has one argument {@link #REFERENCE}
740     * and can have such child nodes:
741     * <ul>
742     * <li>{@link #NEWLINE}</li>
743     * <li>{@link #WS}</li>
744     * </ul>
745     *
746     * <p>
747     * <b>Example:</b>
748     * <pre>{@code {&#64;value Integer#MAX_VALUE}}</pre>
749     * <b>Tree:</b>
750     * <pre>
751     * {@code |--JAVADOC_INLINE_TAG[1x0] : [{&#64;value Integer#MAX_VALUE}]
752     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
753     *        |--VALUE_LITERAL[1x1] : [@value]
754     *        |--WS[1x7] : [ ]
755     *        |--REFERENCE[1x8] : [Integer#MAX_VALUE]
756     *            |--CLASS[1x8] : [Integer]
757     *            |--HASH[1x15] : [#]
758     *            |--MEMBER[1x16] : [MAX_VALUE]
759     *        |--JAVADOC_INLINE_TAG_END[1x25] : [}]
760     * }
761     * </pre>
762     *
763     * @see
764     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDCDHH">
765     * Oracle Docs</a>
766     * @see #JAVADOC_INLINE_TAG
767     */
768    public static final int VALUE_LITERAL = JavadocParser.VALUE_LITERAL;
769
770    /**
771     * Parameter of the Javadoc tags listed below.
772     * <ul>
773     * <li>{@link #SEE_LITERAL @see}</li>
774     * <li>{@link #LINK_LITERAL &#123;&#64;link&#125;}</li>
775     * <li>{@link #LINKPLAIN_LITERAL &#123;&#64;linkplain&#125;}</li>
776     * <li>{@link #VALUE_LITERAL &#123;&#64;value&#125;}</li>
777     * </ul>
778     */
779    public static final int REFERENCE = JavadocParser.RULE_reference + RULE_TYPES_OFFSET;
780
781    /**
782     * Package definition in {@link #REFERENCE}.
783     * Package definition is lowercase part of REFERENCE and before a hash character (#).
784     *
785     * <p>
786     * <b>Example:</b>
787     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
788     * <b>Tree:</b>
789     * <pre>
790     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
791     *        |--SEE_LITERAL[3x0] : [@see]
792     *        |--WS[3x4] : [ ]
793     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
794     *            |--PACKAGE[3x5] : [org.apache.utils]
795     *            |--DOT[3x21] : [.]
796     *            |--CLASS[3x22] : [Lists]
797     *            |--DOT[3x27] : [.]
798     *            |--CLASS[3x28] : [Comparator]
799     *            |--HASH[3x38] : [#]
800     *            |--MEMBER[3x39] : [compare]
801     *            |--PARAMETERS[3x46] : [(Object)]
802     *                |--LEFT_BRACE[3x46] : [(]
803     *                |--ARGUMENT[3x47] : [Object]
804     *                |--RIGHT_BRACE[3x53] : [)]
805     * }
806     * </pre>
807     */
808    public static final int PACKAGE = JavadocParser.PACKAGE;
809
810    /**
811     * Class definition in {@link #REFERENCE}.
812     * Class definition is part of REFERENCE, that is started by capital letter
813     * and before a hash character (#).
814     *
815     * <p>
816     * <b>Example:</b>
817     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
818     * <b>Tree:</b>
819     * <pre>
820     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
821     *        |--SEE_LITERAL[3x0] : [@see]
822     *        |--WS[3x4] : [ ]
823     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
824     *            |--PACKAGE[3x5] : [org.apache.utils]
825     *            |--DOT[3x21] : [.]
826     *            |--CLASS[3x22] : [Lists]
827     *            |--DOT[3x27] : [.]
828     *            |--CLASS[3x28] : [Comparator]
829     *            |--HASH[3x38] : [#]
830     *            |--MEMBER[3x39] : [compare]
831     *            |--PARAMETERS[3x46] : [(Object)]
832     *                |--LEFT_BRACE[3x46] : [(]
833     *                |--ARGUMENT[3x47] : [Object]
834     *                |--RIGHT_BRACE[3x53] : [)]
835     * }
836     * </pre>
837     */
838    public static final int CLASS = JavadocParser.CLASS;
839
840    /**
841     * Dot separator in {@link #REFERENCE}.
842     * Dot separator is used between {@link #PACKAGE} and {@link #CLASS}; between {@link #CLASS}
843     * and {@link #CLASS}
844     *
845     * <p>
846     * <b>Example:</b>
847     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
848     * <b>Tree:</b>
849     * <pre>
850     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
851     *        |--SEE_LITERAL[3x0] : [@see]
852     *        |--WS[3x4] : [ ]
853     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
854     *            |--PACKAGE[3x5] : [org.apache.utils]
855     *            |--DOT[3x21] : [.]
856     *            |--CLASS[3x22] : [Lists]
857     *            |--DOT[3x27] : [.]
858     *            |--CLASS[3x28] : [Comparator]
859     *            |--HASH[3x38] : [#]
860     *            |--MEMBER[3x39] : [compare]
861     *            |--PARAMETERS[3x46] : [(Object)]
862     *                |--LEFT_BRACE[3x46] : [(]
863     *                |--ARGUMENT[3x47] : [Object]
864     *                |--RIGHT_BRACE[3x53] : [)]
865     * }
866     * </pre>
867     */
868    public static final int DOT = JavadocParser.DOT;
869
870    /**
871     * Hash character in {@link #REFERENCE}.
872     * Hash character is used before specifying a class member.
873     *
874     * <p>
875     * <b>Example:</b>
876     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
877     * <b>Tree:</b>
878     * <pre>
879     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
880     *        |--SEE_LITERAL[3x0] : [@see]
881     *        |--WS[3x4] : [ ]
882     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
883     *            |--PACKAGE[3x5] : [org.apache.utils]
884     *            |--DOT[3x21] : [.]
885     *            |--CLASS[3x22] : [Lists]
886     *            |--DOT[3x27] : [.]
887     *            |--CLASS[3x28] : [Comparator]
888     *            |--HASH[3x38] : [#]
889     *            |--MEMBER[3x39] : [compare]
890     *            |--PARAMETERS[3x46] : [(Object)]
891     *                |--LEFT_BRACE[3x46] : [(]
892     *                |--ARGUMENT[3x47] : [Object]
893     *                |--RIGHT_BRACE[3x53] : [)]
894     * }
895     * </pre>
896     */
897    public static final int HASH = JavadocParser.HASH;
898
899    /**
900     * A class member in {@link #REFERENCE}.
901     * Class member is specified after {@link #HASH} symbol.
902     *
903     * <p>
904     * <b>Example:</b>
905     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
906     * <b>Tree:</b>
907     * <pre>
908     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
909     *        |--SEE_LITERAL[3x0] : [@see]
910     *        |--WS[3x4] : [ ]
911     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
912     *            |--PACKAGE[3x5] : [org.apache.utils]
913     *            |--DOT[3x21] : [.]
914     *            |--CLASS[3x22] : [Lists]
915     *            |--DOT[3x27] : [.]
916     *            |--CLASS[3x28] : [Comparator]
917     *            |--HASH[3x38] : [#]
918     *            |--MEMBER[3x39] : [compare]
919     *            |--PARAMETERS[3x46] : [(Object)]
920     *                |--LEFT_BRACE[3x46] : [(]
921     *                |--ARGUMENT[3x47] : [Object]
922     *                |--RIGHT_BRACE[3x53] : [)]
923     * }
924     * </pre>
925     */
926    public static final int MEMBER = JavadocParser.MEMBER;
927
928    /**
929     * Parameters part in {@link #REFERENCE}.
930     * It is used to specify parameters for {@link #MEMBER method}.
931     * Always contains {@link #LEFT_BRACE} as first child and {@link #RIGHT_BRACE} as last child.
932     * Each parameter is represented by {@link #ARGUMENT} node.
933     * Arguments in braces are separated by {@link #COMMA} (and optional {@link #WS}).
934     *
935     * <p>
936     * <b>Example:</b>
937     * <pre>{@code @see #method(Processor, String)}</pre>
938     * <b>Tree:</b>
939     * <pre>
940     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
941     *        |--SEE_LITERAL[1x0] : [@see]
942     *        |--WS[1x4] : [ ]
943     *        |--REFERENCE[1x5] : [#method(Processor, String)]
944     *            |--HASH[1x5] : [#]
945     *            |--MEMBER[1x6] : [method]
946     *            |--PARAMETERS[1x12] : [(Processor, String)]
947     *                |--LEFT_BRACE[1x12] : [(]
948     *                |--ARGUMENT[1x13] : [Processor]
949     *                |--COMMA[1x22] : [,]
950     *                |--WS[1x23] : [ ]
951     *                |--ARGUMENT[1x24] : [String]
952     *                |--RIGHT_BRACE[1x30] : [)]
953     * }
954     * </pre>
955     */
956    public static final int PARAMETERS = JavadocParser.RULE_parameters + RULE_TYPES_OFFSET;
957
958    /**
959     * Left brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
960     *
961     * <p>
962     * <b>Example:</b>
963     * <pre>{@code @see #method(Processor, String)}</pre>
964     * <b>Tree:</b>
965     * <pre>
966     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
967     *        |--SEE_LITERAL[1x0] : [@see]
968     *        |--WS[1x4] : [ ]
969     *        |--REFERENCE[1x5] : [#method(Processor, String)]
970     *            |--HASH[1x5] : [#]
971     *            |--MEMBER[1x6] : [method]
972     *            |--PARAMETERS[1x12] : [(Processor, String)]
973     *                |--LEFT_BRACE[1x12] : [(]
974     *                |--ARGUMENT[1x13] : [Processor]
975     *                |--COMMA[1x22] : [,]
976     *                |--WS[1x23] : [ ]
977     *                |--ARGUMENT[1x24] : [String]
978     *                |--RIGHT_BRACE[1x30] : [)]
979     * }
980     * </pre>
981     */
982    public static final int LEFT_BRACE = JavadocParser.LEFT_BRACE;
983
984    /**
985     * Right brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
986     *
987     * <p>
988     * <b>Example:</b>
989     * <pre>{@code @see #method(Processor, String)}</pre>
990     * <b>Tree:</b>
991     * <pre>
992     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
993     *        |--SEE_LITERAL[1x0] : [@see]
994     *        |--WS[1x4] : [ ]
995     *        |--REFERENCE[1x5] : [#method(Processor, String)]
996     *            |--HASH[1x5] : [#]
997     *            |--MEMBER[1x6] : [method]
998     *            |--PARAMETERS[1x12] : [(Processor, String)]
999     *                |--LEFT_BRACE[1x12] : [(]
1000     *                |--ARGUMENT[1x13] : [Processor]
1001     *                |--COMMA[1x22] : [,]
1002     *                |--WS[1x23] : [ ]
1003     *                |--ARGUMENT[1x24] : [String]
1004     *                |--RIGHT_BRACE[1x30] : [)]
1005     * }
1006     * </pre>
1007     */
1008    public static final int RIGHT_BRACE = JavadocParser.RIGHT_BRACE;
1009
1010    /**
1011     * Argument definition in {@link #PARAMETERS} part of {@link #REFERENCE}.
1012     *
1013     * <p>
1014     * <b>Example:</b>
1015     * <pre>{@code @see #method(Processor, String)}</pre>
1016     * <b>Tree:</b>
1017     * <pre>
1018     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
1019     *        |--SEE_LITERAL[1x0] : [@see]
1020     *        |--WS[1x4] : [ ]
1021     *        |--REFERENCE[1x5] : [#method(Processor, String)]
1022     *            |--HASH[1x5] : [#]
1023     *            |--MEMBER[1x6] : [method]
1024     *            |--PARAMETERS[1x12] : [(Processor, String)]
1025     *                |--LEFT_BRACE[1x12] : [(]
1026     *                |--ARGUMENT[1x13] : [Processor]
1027     *                |--COMMA[1x22] : [,]
1028     *                |--WS[1x23] : [ ]
1029     *                |--ARGUMENT[1x24] : [String]
1030     *                |--RIGHT_BRACE[1x30] : [)]
1031     * }
1032     * </pre>
1033     */
1034    public static final int ARGUMENT = JavadocParser.ARGUMENT;
1035
1036    /**
1037     * Comma separator between parameters in {@link #PARAMETERS} part of {@link #REFERENCE}.
1038     *
1039     * <p>
1040     * <b>Example:</b>
1041     * <pre>{@code @see #method(Processor, String)}</pre>
1042     * <b>Tree:</b>
1043     * <pre>
1044     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
1045     *        |--SEE_LITERAL[1x0] : [@see]
1046     *        |--WS[1x4] : [ ]
1047     *        |--REFERENCE[1x5] : [#method(Processor, String)]
1048     *            |--HASH[1x5] : [#]
1049     *            |--MEMBER[1x6] : [method]
1050     *            |--PARAMETERS[1x12] : [(Processor, String)]
1051     *                |--LEFT_BRACE[1x12] : [(]
1052     *                |--ARGUMENT[1x13] : [Processor]
1053     *                |--COMMA[1x22] : [,]
1054     *                |--WS[1x23] : [ ]
1055     *                |--ARGUMENT[1x24] : [String]
1056     *                |--RIGHT_BRACE[1x30] : [)]
1057     * }
1058     * </pre>
1059     *
1060     * @see #PARAMETERS
1061     * @see #REFERENCE
1062     * @see #ARGUMENT
1063     */
1064    public static final int COMMA = JavadocParser.COMMA;
1065
1066    /**
1067     * Quoted text.
1068     * One of possible @see tag arguments.
1069     *
1070     * <p>
1071     * <b>Example:</b>
1072     * <pre>{@code @see "Spring Framework"}</pre>
1073     * <b>Tree:</b>
1074     * <pre>
1075     * {@code |--JAVADOC_TAG[1x0] : [@see "Spring Framework"]
1076     *        |--SEE_LITERAL[1x0] : [@see]
1077     *        |--WS[1x4] : [ ]
1078     *        |--STRING[1x5] : ["Spring Framework"]
1079     * }
1080     * </pre>
1081     *
1082     * @see #SEE_LITERAL
1083     */
1084    public static final int STRING = JavadocParser.STRING;
1085
1086    /**
1087     * Description node, that contains:
1088     * <ul>
1089     * <li>{@link #TEXT}</li>
1090     * <li>{@link #WS}</li>
1091     * <li>{@link #NEWLINE}</li>
1092     * <li>{@link #HTML_ELEMENT}</li>
1093     * </ul>
1094     *
1095     * <p>It is argument for many Javadoc tags and inline tags.
1096     *
1097     * <p>
1098     * <b>Example:</b>
1099     * <pre>{@code @throws IOException if &lt;b&gt;connection&lt;/b&gt; problems occur}</pre>
1100     * <b>Tree:</b>
1101     * <pre>
1102     * {@code |--JAVADOC_TAG[1x0] :
1103     *               [@throws IOException if &lt;b&gt;connection&lt;/b&gt; problems occur]
1104     *        |--THROWS_LITERAL[1x0] : [@throws]
1105     *        |--WS[1x7] : [ ]
1106     *        |--CLASS_NAME[1x8] : [IOException]
1107     *        |--WS[1x19] : [ ]
1108     *        |--DESCRIPTION[1x20] : [if &lt;b&gt;connection&lt;/b&gt; problems occur]
1109     *            |--TEXT[1x20] : [if ]
1110     *            |--HTML_ELEMENT[1x23] : [&lt;b&gt;connection&lt;/b&gt;]
1111     *                |--HTML_TAG[1x23] : [&lt;b&gt;connection&lt;/b&gt;]
1112     *                    |--HTML_ELEMENT_OPEN[1x23] : [&lt;b&gt;]
1113     *                        |--OPEN[1x23] : [&lt;]
1114     *                        |--HTML_TAG_NAME[1x24] : [b]
1115     *                        |--CLOSE[1x25] : [&gt;]
1116     *                    |--TEXT[1x26] : [connection]
1117     *                    |--HTML_ELEMENT_CLOSE[1x36] : [&lt;/b&gt;]
1118     *                        |--OPEN[1x36] : [&lt;]
1119     *                        |--SLASH[1x37] : [/]
1120     *                        |--HTML_TAG_NAME[1x38] : [b]
1121     *                        |--CLOSE[1x39] : [&gt;]
1122     *            |--TEXT[1x40] : [ problems occur]
1123     * }
1124     * </pre>
1125     */
1126    public static final int DESCRIPTION = JavadocParser.RULE_description + RULE_TYPES_OFFSET;
1127
1128    /**
1129     * Exception class name. First argument in {@link #THROWS_LITERAL @throws} and
1130     * {@link #EXCEPTION_LITERAL @exception} Javadoc tags.
1131     *
1132     * <p>
1133     * <b>Example:</b>
1134     * <pre>{@code @throws IOException connection problems}</pre>
1135     * <b>Tree:</b>
1136     * <pre>
1137     * {@code |--JAVADOC_TAG[1x0] : [@throws IOException connection problems]
1138     *        |--THROWS_LITERAL[1x0] : [@throws]
1139     *        |--WS[1x7] : [ ]
1140     *        |--CLASS_NAME[1x8] : [IOException]
1141     *        |--WS[1x19] : [ ]
1142     *        |--DESCRIPTION[1x20] : [connection problems]
1143     *            |--TEXT[1x20] : [connection problems]
1144     * }
1145     * </pre>
1146     *
1147     * @see #EXCEPTION_LITERAL
1148     * @see #THROWS_LITERAL
1149     */
1150    public static final int CLASS_NAME = JavadocParser.CLASS_NAME;
1151
1152    /**
1153     * First argument in {@link #PARAM_LITERAL @param} Javadoc tag.
1154     *
1155     * <p>
1156     * <b>Example:</b>
1157     * <pre>{@code @param T The bar.}</pre>
1158     * <b>Tree:</b>
1159     * <pre>
1160     * {@code |--JAVADOC_TAG[4x3] : [@param T The bar.]
1161     *        |--PARAM_LITERAL[4x3] : [@param]
1162     *        |--WS[4x9] : [ ]
1163     *        |--PARAMETER_NAME[4x10] : [T]
1164     *        |--WS[4x11] : [ ]
1165     *        |--DESCRIPTION[4x12] : [The bar.]
1166     *            |--TEXT[4x12] : [The bar.]
1167     * }
1168     * </pre>
1169     *
1170     * @see
1171     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHJECF">
1172     * Oracle Docs</a>
1173     * @see #PARAM_LITERAL
1174     */
1175    public static final int PARAMETER_NAME = JavadocParser.PARAMETER_NAME;
1176
1177    /**
1178     * 'exclude' literal.
1179     * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
1180     *
1181     * <p>
1182     * <b>Example:</b>
1183     * <pre>{@code @serial exclude}</pre>
1184     * <b>Tree:</b>
1185     * <pre>
1186     * {@code |--JAVADOC_TAG[1x0] : [@serial exclude]
1187     *        |--SERIAL_LITERAL[1x0] : [@serial]
1188     *        |--WS[1x7] : [ ]
1189     *        |--LITERAL_EXCLUDE[1x8] : [exclude]
1190     * }
1191     * </pre>
1192     *
1193     * @see
1194     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1195     * Oracle Docs</a>
1196     * @see #SERIAL_LITERAL
1197     */
1198    public static final int LITERAL_EXCLUDE = JavadocParser.LITERAL_EXCLUDE;
1199
1200    /**
1201     * 'include' literal.
1202     * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
1203     *
1204     * <p>
1205     * <b>Example:</b>
1206     * <pre>{@code @serial include}</pre>
1207     * <b>Tree:</b>
1208     * <pre>
1209     * {@code |--JAVADOC_TAG[1x0] : [@serial include]
1210     *        |--SERIAL_LITERAL[1x0] : [@serial]
1211     *        |--WS[1x7] : [ ]
1212     *        |--LITERAL_INCLUDE[1x8] : [include]
1213     * }
1214     * </pre>
1215     *
1216     * @see
1217     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1218     * Oracle Docs</a>
1219     * @see #SERIAL_LITERAL
1220     */
1221    public static final int LITERAL_INCLUDE = JavadocParser.LITERAL_INCLUDE;
1222
1223    /**
1224     * Field name. First argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
1225     *
1226     * <p>
1227     * <b>Example:</b>
1228     * <pre>{@code @serialField counter Integer objects counter}</pre>
1229     * <b>Tree:</b>
1230     * <pre>
1231     * {@code |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
1232     *        |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
1233     *        |--WS[3x12] : [ ]
1234     *        |--FIELD_NAME[3x13] : [counter]
1235     *        |--WS[3x20] : [ ]
1236     *        |--FIELD_TYPE[3x21] : [Integer]
1237     *        |--WS[3x28] : [ ]
1238     *        |--DESCRIPTION[3x29] : [objects counter]
1239     *            |--TEXT[3x29] : [objects counter]
1240     * }
1241     * </pre>
1242     *
1243     * @see
1244     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1245     * Oracle Docs</a>
1246     * @see #SERIAL_FIELD_LITERAL
1247     */
1248    public static final int FIELD_NAME = JavadocParser.FIELD_NAME;
1249
1250    /**
1251     * Field type. Second argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
1252     *
1253     * <p>
1254     * <b>Example:</b>
1255     * <pre>{@code @serialField counter Integer objects counter}</pre>
1256     * <b>Tree:</b>
1257     * <pre>
1258     * {@code |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
1259     *        |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
1260     *        |--WS[3x12] : [ ]
1261     *        |--FIELD_NAME[3x13] : [counter]
1262     *        |--WS[3x20] : [ ]
1263     *        |--FIELD_TYPE[3x21] : [Integer]
1264     *        |--WS[3x28] : [ ]
1265     *        |--DESCRIPTION[3x29] : [objects counter]
1266     *            |--TEXT[3x29] : [objects counter]
1267     * }
1268     * </pre>
1269     *
1270     * @see
1271     * <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1272     * Oracle Docs</a>
1273     * @see #SERIAL_FIELD_LITERAL
1274     */
1275    public static final int FIELD_TYPE = JavadocParser.FIELD_TYPE;
1276
1277    //--------------------------------------------------------------------------------------------//
1278    //------------------        HTML TAGS          -----------------------------------------------//
1279    //--------------------------------------------------------------------------------------------//
1280
1281    /**
1282     * Parent node for all html tags.
1283     */
1284    public static final int HTML_ELEMENT = JavadocParser.RULE_htmlElement
1285            + RULE_TYPES_OFFSET;
1286
1287    /**
1288     * Open html tag: &lt;XXX&gt;.
1289     */
1290    public static final int HTML_ELEMENT_OPEN = JavadocParser.RULE_htmlElementOpen
1291            + RULE_TYPES_OFFSET
1292            + RULE_TYPES_OFFSET;
1293
1294    /**
1295     * Close html tag: &lt;XXX&gt;.
1296     */
1297    public static final int HTML_ELEMENT_CLOSE = JavadocParser.RULE_htmlElementClose
1298            + RULE_TYPES_OFFSET;
1299
1300    /**
1301     * Non-special HTML tag.
1302     */
1303    public static final int HTML_TAG = JavadocParser.RULE_htmlTag + RULE_TYPES_OFFSET;
1304
1305    /**
1306     * Identifier inside HTML tag: tag name or attribute name.
1307     */
1308    public static final int HTML_TAG_NAME = JavadocParser.HTML_TAG_NAME;
1309
1310    /**
1311     * Html tag attribute. Parent node for: {@code HTML_TAG_IDENT, EQUALS, ATTR_VALUE}.
1312     */
1313    public static final int ATTRIBUTE = JavadocParser.RULE_attribute
1314            + RULE_TYPES_OFFSET
1315            + RULE_TYPES_OFFSET;
1316
1317    // HTML tag components
1318
1319    /**
1320     * Open html tag component: {@code '<'}.
1321     */
1322    public static final int OPEN = JavadocParser.OPEN;
1323
1324    /**
1325     * Slash html tag component: {@code '/'}.
1326     */
1327    public static final int SLASH = JavadocParser.SLASH;
1328
1329    /**
1330     * Close html tag component: {@code '>'}.
1331     */
1332    public static final int CLOSE = JavadocParser.CLOSE;
1333
1334    /**
1335     * Slash close html tag component: {@code '/>'}.
1336     */
1337    public static final int SLASH_CLOSE = JavadocParser.SLASH_CLOSE;
1338
1339    /**
1340     * Equals html tag component: {@code '='}.
1341     */
1342    public static final int EQUALS = JavadocParser.EQUALS;
1343
1344    /**
1345     * Attribute value html tag component.
1346     */
1347    public static final int ATTR_VALUE = JavadocParser.ATTR_VALUE;
1348
1349    /////////////////////// HTML TAGS WITH OPTIONAL CLOSE TAG /////////////////////////////////////
1350    /** Paragraph html tag: {@code <p></p>}. */
1351    public static final int PARAGRAPH = JavadocParser.RULE_paragraph + RULE_TYPES_OFFSET;
1352    /** Open paragraph tag. */
1353    public static final int P_TAG_OPEN = JavadocParser.RULE_pTagOpen + RULE_TYPES_OFFSET;
1354    /** Close paragraph tag. */
1355    public static final int P_TAG_CLOSE = JavadocParser.RULE_pTagClose + RULE_TYPES_OFFSET;
1356    /** Paragraph tag name. */
1357    public static final int P_HTML_TAG_NAME = JavadocParser.P_HTML_TAG_NAME;
1358
1359    /** List item html tag: {@code <li></li>}. */
1360    public static final int LI = JavadocParser.RULE_li + RULE_TYPES_OFFSET;
1361    /** Open list item tag. */
1362    public static final int LI_TAG_OPEN = JavadocParser.RULE_liTagOpen + RULE_TYPES_OFFSET;
1363    /** Close list item tag. */
1364    public static final int LI_TAG_CLOSE = JavadocParser.RULE_liTagClose + RULE_TYPES_OFFSET;
1365    /** List item tag name. */
1366    public static final int LI_HTML_TAG_NAME = JavadocParser.LI_HTML_TAG_NAME;
1367
1368    /** Table row html tag: {@code <tr></tr>}. */
1369    public static final int TR = JavadocParser.RULE_tr + RULE_TYPES_OFFSET;
1370    /** Open table row tag. */
1371    public static final int TR_TAG_OPEN = JavadocParser.RULE_trTagOpen + RULE_TYPES_OFFSET;
1372    /** Close table row tag. */
1373    public static final int TR_TAG_CLOSE = JavadocParser.RULE_trTagClose + RULE_TYPES_OFFSET;
1374    /** Table row tag name. */
1375    public static final int TR_HTML_TAG_NAME = JavadocParser.TR_HTML_TAG_NAME;
1376
1377    /** Table cell html tag: {@code <td></td>}. */
1378    public static final int TD = JavadocParser.RULE_td + RULE_TYPES_OFFSET;
1379    /** Open table cell tag. */
1380    public static final int TD_TAG_OPEN = JavadocParser.RULE_tdTagOpen + RULE_TYPES_OFFSET;
1381    /** Close table cell tag. */
1382    public static final int TD_TAG_CLOSE = JavadocParser.RULE_tdTagClose + RULE_TYPES_OFFSET;
1383    /** Table cell tag name. */
1384    public static final int TD_HTML_TAG_NAME = JavadocParser.TD_HTML_TAG_NAME;
1385
1386    /** Table header cell html tag: {@code <th></th>}. */
1387    public static final int TH = JavadocParser.RULE_th + RULE_TYPES_OFFSET;
1388    /** Open table header cell tag. */
1389    public static final int TH_TAG_OPEN = JavadocParser.RULE_thTagOpen + RULE_TYPES_OFFSET;
1390    /** Close table header cell tag. */
1391    public static final int TH_TAG_CLOSE = JavadocParser.RULE_thTagClose + RULE_TYPES_OFFSET;
1392    /** Table header cell tag name. */
1393    public static final int TH_HTML_TAG_NAME = JavadocParser.TH_HTML_TAG_NAME;
1394
1395    /** Body html tag. */
1396    public static final int BODY = JavadocParser.RULE_body + RULE_TYPES_OFFSET;
1397    /** Open body tag. */
1398    public static final int BODY_TAG_OPEN = JavadocParser.RULE_bodyTagOpen + RULE_TYPES_OFFSET;
1399    /** Close body tag. */
1400    public static final int BODY_TAG_CLOSE = JavadocParser.RULE_bodyTagClose + RULE_TYPES_OFFSET;
1401    /** Body tag name. */
1402    public static final int BODY_HTML_TAG_NAME = JavadocParser.BODY_HTML_TAG_NAME;
1403
1404    /** Colgroup html tag. */
1405    public static final int COLGROUP = JavadocParser.RULE_colgroup + RULE_TYPES_OFFSET;
1406    /** Open colgroup tag. */
1407    public static final int COLGROUP_TAG_OPEN = JavadocParser.RULE_colgroupTagOpen
1408            + RULE_TYPES_OFFSET;
1409    /** Close colgroup tag. */
1410    public static final int COLGROUP_TAG_CLOSE = JavadocParser.RULE_colgroupTagClose
1411            + RULE_TYPES_OFFSET;
1412    /** Colgroup tag name. */
1413    public static final int COLGROUP_HTML_TAG_NAME = JavadocParser.COLGROUP_HTML_TAG_NAME;
1414
1415    /** Description of a term html tag: {@code <dd></dd>}. */
1416    public static final int DD = JavadocParser.RULE_dd + RULE_TYPES_OFFSET;
1417    /** Open description of a term tag. */
1418    public static final int DD_TAG_OPEN = JavadocParser.RULE_ddTagOpen + RULE_TYPES_OFFSET;
1419    /** Close description of a term tag. */
1420    public static final int DD_TAG_CLOSE = JavadocParser.RULE_ddTagClose + RULE_TYPES_OFFSET;
1421    /** Description of a term tag name. */
1422    public static final int DD_HTML_TAG_NAME = JavadocParser.DD_HTML_TAG_NAME;
1423
1424    /** Description term html tag: {@code <dt></dt>}. */
1425    public static final int DT = JavadocParser.RULE_dt + RULE_TYPES_OFFSET;
1426    /** Open description term tag. */
1427    public static final int DT_TAG_OPEN = JavadocParser.RULE_dtTagOpen + RULE_TYPES_OFFSET;
1428    /** Close description term tag. */
1429    public static final int DT_TAG_CLOSE = JavadocParser.RULE_dtTagClose + RULE_TYPES_OFFSET;
1430    /** Description term tag name. */
1431    public static final int DT_HTML_TAG_NAME = JavadocParser.DT_HTML_TAG_NAME;
1432
1433    /** Head html tag. */
1434    public static final int HEAD = JavadocParser.RULE_head + RULE_TYPES_OFFSET;
1435    /** Open head tag. */
1436    public static final int HEAD_TAG_OPEN = JavadocParser.RULE_headTagOpen + RULE_TYPES_OFFSET;
1437    /** Close head tag. */
1438    public static final int HEAD_TAG_CLOSE = JavadocParser.RULE_headTagClose + RULE_TYPES_OFFSET;
1439    /** Head tag name. */
1440    public static final int HEAD_HTML_TAG_NAME = JavadocParser.HEAD_HTML_TAG_NAME;
1441
1442    /** Html html tag. */
1443    public static final int HTML = JavadocParser.RULE_html + RULE_TYPES_OFFSET;
1444    /** Open html tag. */
1445    public static final int HTML_TAG_OPEN = JavadocParser.RULE_htmlTagOpen + RULE_TYPES_OFFSET;
1446    /** Close html tag. */
1447    public static final int HTML_TAG_CLOSE = JavadocParser.RULE_htmlTagClose + RULE_TYPES_OFFSET;
1448    /** Html tag name. */
1449    public static final int HTML_HTML_TAG_NAME = JavadocParser.HTML_HTML_TAG_NAME;
1450
1451    /** Option html tag. */
1452    public static final int OPTION = JavadocParser.RULE_option + RULE_TYPES_OFFSET;
1453    /** Open option tag. */
1454    public static final int OPTION_TAG_OPEN = JavadocParser.RULE_optionTagOpen + RULE_TYPES_OFFSET;
1455    /** Close option tag. */
1456    public static final int OPTION_TAG_CLOSE = JavadocParser.RULE_optionTagClose
1457            + RULE_TYPES_OFFSET;
1458    /** Option tag name. */
1459    public static final int OPTION_HTML_TAG_NAME = JavadocParser.OPTION_HTML_TAG_NAME;
1460
1461    /** Table body html tag. */
1462    public static final int TBODY = JavadocParser.RULE_tbody + RULE_TYPES_OFFSET;
1463    /** Open table body tag. */
1464    public static final int TBODY_TAG_OPEN = JavadocParser.RULE_tbodyTagOpen + RULE_TYPES_OFFSET;
1465    /** Close table body tag. */
1466    public static final int TBODY_TAG_CLOSE = JavadocParser.RULE_tbodyTagClose + RULE_TYPES_OFFSET;
1467    /** Table body tag name. */
1468    public static final int TBODY_HTML_TAG_NAME = JavadocParser.TBODY_HTML_TAG_NAME;
1469
1470    /** Table foot html tag. */
1471    public static final int TFOOT = JavadocParser.RULE_tfoot + RULE_TYPES_OFFSET;
1472    /** Open table foot tag. */
1473    public static final int TFOOT_TAG_OPEN = JavadocParser.RULE_tfootTagOpen + RULE_TYPES_OFFSET;
1474    /** Close table foot tag. */
1475    public static final int TFOOT_TAG_CLOSE = JavadocParser.RULE_tfootTagClose + RULE_TYPES_OFFSET;
1476    /** Table foot tag name. */
1477    public static final int TFOOT_HTML_TAG_NAME = JavadocParser.TFOOT_HTML_TAG_NAME;
1478
1479    /** Table head html tag. */
1480    public static final int THEAD = JavadocParser.RULE_thead + RULE_TYPES_OFFSET;
1481    /** Open table head tag. */
1482    public static final int THEAD_TAG_OPEN = JavadocParser.RULE_theadTagOpen + RULE_TYPES_OFFSET;
1483    /** Close table head tag. */
1484    public static final int THEAD_TAG_CLOSE = JavadocParser.RULE_theadTagClose + RULE_TYPES_OFFSET;
1485    /** Table head tag name. */
1486    public static final int THEAD_HTML_TAG_NAME = JavadocParser.THEAD_HTML_TAG_NAME;
1487    ///////////////////////////////////////////////////////////////////////////////////////////////
1488
1489    /////////////////////// SINGLETON HTML TAGS  //////////////////////////////////////////////////
1490    /**
1491     * Parent node for all singleton html tags.
1492     */
1493    public static final int SINGLETON_ELEMENT = JavadocParser.RULE_singletonElement
1494            + RULE_TYPES_OFFSET;
1495
1496    /**
1497     * Non-special singleton html tag.
1498     */
1499    public static final int SINGLETON_TAG = JavadocParser.RULE_singletonTag
1500            + RULE_TYPES_OFFSET;
1501
1502    /** Area html tag. */
1503    public static final int AREA_TAG = JavadocParser.RULE_areaTag + RULE_TYPES_OFFSET;
1504    /** Area tag name. */
1505    public static final int AREA_HTML_TAG_NAME = JavadocParser.AREA_HTML_TAG_NAME;
1506
1507    /** Base html tag. */
1508    public static final int BASE_TAG = JavadocParser.RULE_baseTag + RULE_TYPES_OFFSET;
1509    /** Base tag name. */
1510    public static final int BASE_HTML_TAG_NAME = JavadocParser.BASE_HTML_TAG_NAME;
1511
1512    /** Basefont html tag. */
1513    public static final int BASEFONT_TAG = JavadocParser.RULE_basefontTag + RULE_TYPES_OFFSET;
1514    /** Basefont tag name. */
1515    public static final int BASEFONT_HTML_TAG_NAME = JavadocParser.BASEFONT_HTML_TAG_NAME;
1516
1517    /** Br html tag. */
1518    public static final int BR_TAG = JavadocParser.RULE_brTag + RULE_TYPES_OFFSET;
1519    /** Br tag name. */
1520    public static final int BR_HTML_TAG_NAME = JavadocParser.BR_HTML_TAG_NAME;
1521
1522    /** Col html tag. */
1523    public static final int COL_TAG = JavadocParser.RULE_colTag + RULE_TYPES_OFFSET;
1524    /** Col tag name. */
1525    public static final int COL_HTML_TAG_NAME = JavadocParser.COL_HTML_TAG_NAME;
1526
1527    /** Frame html tag. */
1528    public static final int FRAME_TAG = JavadocParser.RULE_frameTag + RULE_TYPES_OFFSET;
1529    /** Frame tag name. */
1530    public static final int FRAME_HTML_TAG_NAME = JavadocParser.FRAME_HTML_TAG_NAME;
1531
1532    /** Hr html tag. */
1533    public static final int HR_TAG = JavadocParser.RULE_hrTag + RULE_TYPES_OFFSET;
1534    /** Hr tag name. */
1535    public static final int HR_HTML_TAG_NAME = JavadocParser.HR_HTML_TAG_NAME;
1536
1537    /** Img html tag. */
1538    public static final int IMG_TAG = JavadocParser.RULE_imgTag + RULE_TYPES_OFFSET;
1539    /** Img tag name. */
1540    public static final int IMG_HTML_TAG_NAME = JavadocParser.IMG_HTML_TAG_NAME;
1541
1542    /** Input html tag. */
1543    public static final int INPUT_TAG = JavadocParser.RULE_inputTag + RULE_TYPES_OFFSET;
1544    /** Input tag name. */
1545    public static final int INPUT_HTML_TAG_NAME = JavadocParser.INPUT_HTML_TAG_NAME;
1546
1547    /** Isindex html tag. */
1548    public static final int ISINDEX_TAG = JavadocParser.RULE_isindexTag + RULE_TYPES_OFFSET;
1549    /** Isindex tag name. */
1550    public static final int ISINDEX_HTML_TAG_NAME = JavadocParser.ISINDEX_HTML_TAG_NAME;
1551
1552    /** Link html tag. */
1553    public static final int LINK_TAG = JavadocParser.RULE_linkTag + RULE_TYPES_OFFSET;
1554    /** Link tag name. */
1555    public static final int LINK_HTML_TAG_NAME = JavadocParser.LINK_HTML_TAG_NAME;
1556
1557    /** Meta html tag. */
1558    public static final int META_TAG = JavadocParser.RULE_metaTag + RULE_TYPES_OFFSET;
1559    /** Meta tag name. */
1560    public static final int META_HTML_TAG_NAME = JavadocParser.META_HTML_TAG_NAME;
1561
1562    /** Param html tag. */
1563    public static final int PARAM_TAG = JavadocParser.RULE_paramTag + RULE_TYPES_OFFSET;
1564    /** Param tag name. */
1565    public static final int PARAM_HTML_TAG_NAME = JavadocParser.PARAM_HTML_TAG_NAME;
1566    ///////////////////////////////////////////////////////////////////////////////////////////////
1567
1568    /** Html comment: {@code <!-- -->}. */
1569    public static final int HTML_COMMENT = JavadocParser.RULE_htmlComment
1570            + RULE_TYPES_OFFSET
1571            + RULE_TYPES_OFFSET;
1572
1573    /**
1574     * HTML comment start symbol '&lt;!--'.
1575     */
1576    public static final int HTML_COMMENT_START = JavadocParser.HTML_COMMENT_START;
1577
1578    /**
1579     * HTML comment end symbol '--&gt;'.
1580     */
1581    public static final int HTML_COMMENT_END = JavadocParser.HTML_COMMENT_END;
1582
1583    /**
1584     * &lt;![CDATA[...]]&gt; block.
1585     */
1586    public static final int CDATA = JavadocParser.CDATA;
1587
1588    //--------------------------------------------------------------------------------------------//
1589    //------------------        OTHER          ---------------------------------------------------//
1590    //--------------------------------------------------------------------------------------------//
1591
1592    /** Leading asterisk. */
1593    public static final int LEADING_ASTERISK = JavadocParser.LEADING_ASTERISK;
1594
1595    /**
1596     * Newline symbol - '\n'.
1597     */
1598    public static final int NEWLINE = JavadocParser.NEWLINE;
1599
1600    /**
1601     * Any other symbol.
1602     */
1603    public static final int CHAR = JavadocParser.CHAR;
1604
1605    /**
1606     * Whitespace or tab ('\t') symbol.
1607     */
1608    public static final int WS = JavadocParser.WS;
1609
1610    /**
1611     * CHAR and WS sequence.
1612     */
1613    public static final int TEXT = JavadocParser.RULE_text + RULE_TYPES_OFFSET;
1614
1615    /**
1616     * End Of File symbol.
1617     */
1618    public static final int EOF = Recognizer.EOF;
1619
1620    /** Empty private constructor of the current class. */
1621    private JavadocTokenTypes() {
1622    }
1623}