update copyrights
[fedora-idea.git] / platform / lang-api / src / com / intellij / lexer / _JavaDocLexer.java
blobadab34502764ddf474c78a90c60214d36a7fe1c9
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /* The following code was generated by JFlex 1.4.1 on 15.09.08 21:08 */
19 /* It's an automatically generated code. Do not modify it. */
20 package com.intellij.lexer;
22 import com.intellij.psi.tree.IElementType;
23 import com.intellij.psi.*;
26 /**
27 * This class is a scanner generated by
28 * <a href="http://www.jflex.de/">JFlex</a> 1.4.1
29 * on 15.09.08 21:08 from the specification file
30 * <tt>C:/JetBrains/IDEA/tools/lexer/_JavaDocLexer.flex</tt>
32 class _JavaDocLexer implements FlexLexer {
33 /** initial size of the lookahead buffer */
34 private static final int ZZ_BUFFERSIZE = 16384;
36 /** lexical states */
37 public static final int INLINE_TAG_NAME = 8;
38 public static final int PARAM_TAG_SPACE = 4;
39 public static final int COMMENT_DATA = 2;
40 public static final int DOC_TAG_VALUE = 5;
41 public static final int COMMENT_DATA_START = 1;
42 public static final int TAG_DOC_SPACE = 3;
43 public static final int YYINITIAL = 0;
44 public static final int DOC_TAG_VALUE_IN_PAREN = 6;
45 public static final int DOC_TAG_VALUE_IN_LTGT = 7;
47 /**
48 * Translates characters to character classes
50 private static final String ZZ_CMAP_PACKED =
51 "\11\0\1\2\1\1\1\0\1\2\1\1\22\0\1\2\2\0\1\13"+
52 "\1\4\3\0\1\11\1\12\1\7\1\0\1\14\1\5\1\3\1\6"+
53 "\12\3\1\5\1\0\1\22\1\0\1\23\1\0\1\15\32\4\1\10"+
54 "\1\0\1\10\1\0\1\4\1\0\1\17\13\4\1\21\2\4\1\16"+
55 "\1\4\1\20\10\4\1\24\1\0\1\25\44\0\4\4\4\0\1\4"+
56 "\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u013f\4"+
57 "\31\0\162\4\4\0\14\4\16\0\5\4\11\0\1\4\213\0\1\4"+
58 "\13\0\1\4\1\0\3\4\1\0\1\4\1\0\24\4\1\0\54\4"+
59 "\1\0\46\4\1\0\5\4\4\0\202\4\10\0\105\4\1\0\46\4"+
60 "\2\0\2\4\6\0\20\4\41\0\46\4\2\0\1\4\7\0\47\4"+
61 "\110\0\33\4\5\0\3\4\56\0\32\4\5\0\13\4\43\0\2\4"+
62 "\1\0\143\4\1\0\1\4\17\0\2\4\7\0\2\4\12\0\3\4"+
63 "\2\0\1\4\20\0\1\4\1\0\36\4\35\0\3\4\60\0\46\4"+
64 "\13\0\1\4\u0152\0\66\4\3\0\1\4\22\0\1\4\7\0\12\4"+
65 "\43\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\1\4"+
66 "\3\0\4\4\3\0\1\4\36\0\2\4\1\0\3\4\16\0\4\4"+
67 "\21\0\6\4\4\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"+
68 "\1\0\2\4\1\0\2\4\37\0\4\4\1\0\1\4\23\0\3\4"+
69 "\20\0\11\4\1\0\3\4\1\0\26\4\1\0\7\4\1\0\2\4"+
70 "\1\0\5\4\3\0\1\4\22\0\1\4\17\0\2\4\17\0\1\4"+
71 "\23\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"+
72 "\1\0\5\4\3\0\1\4\36\0\2\4\1\0\3\4\17\0\1\4"+
73 "\21\0\1\4\1\0\6\4\3\0\3\4\1\0\4\4\3\0\2\4"+
74 "\1\0\1\4\1\0\2\4\3\0\2\4\3\0\3\4\3\0\10\4"+
75 "\1\0\3\4\77\0\1\4\13\0\10\4\1\0\3\4\1\0\27\4"+
76 "\1\0\12\4\1\0\5\4\46\0\2\4\43\0\10\4\1\0\3\4"+
77 "\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\40\0\1\4"+
78 "\1\0\2\4\43\0\10\4\1\0\3\4\1\0\27\4\1\0\20\4"+
79 "\46\0\2\4\43\0\22\4\3\0\30\4\1\0\11\4\1\0\1\4"+
80 "\2\0\7\4\72\0\60\4\1\0\2\4\13\0\10\4\72\0\2\4"+
81 "\1\0\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4"+
82 "\1\0\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4"+
83 "\1\0\4\4\1\0\2\4\11\0\1\4\2\0\5\4\1\0\1\4"+
84 "\25\0\2\4\42\0\1\4\77\0\10\4\1\0\42\4\35\0\4\4"+
85 "\164\0\42\4\1\0\5\4\1\0\2\4\45\0\6\4\112\0\46\4"+
86 "\12\0\51\4\7\0\132\4\5\0\104\4\5\0\122\4\6\0\7\4"+
87 "\1\0\77\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0\1\4"+
88 "\1\0\4\4\2\0\47\4\1\0\1\4\1\0\4\4\2\0\37\4"+
89 "\1\0\1\4\1\0\4\4\2\0\7\4\1\0\1\4\1\0\4\4"+
90 "\2\0\7\4\1\0\7\4\1\0\27\4\1\0\37\4\1\0\1\4"+
91 "\1\0\4\4\2\0\7\4\1\0\47\4\1\0\23\4\105\0\125\4"+
92 "\14\0\u026c\4\2\0\10\4\12\0\32\4\5\0\113\4\3\0\3\4"+
93 "\17\0\15\4\1\0\4\4\16\0\22\4\16\0\22\4\16\0\15\4"+
94 "\1\0\3\4\17\0\64\4\43\0\1\4\3\0\2\4\103\0\130\4"+
95 "\10\0\51\4\127\0\35\4\63\0\36\4\2\0\5\4\u038b\0\154\4"+
96 "\224\0\234\4\4\0\132\4\6\0\26\4\2\0\6\4\2\0\46\4"+
97 "\2\0\6\4\2\0\10\4\1\0\1\4\1\0\1\4\1\0\1\4"+
98 "\1\0\37\4\2\0\65\4\1\0\7\4\1\0\1\4\3\0\3\4"+
99 "\1\0\7\4\3\0\4\4\2\0\6\4\4\0\15\4\5\0\3\4"+
100 "\1\0\7\4\102\0\2\4\23\0\1\4\34\0\1\4\15\0\1\4"+
101 "\40\0\22\4\120\0\1\4\4\0\1\4\2\0\12\4\1\0\1\4"+
102 "\3\0\5\4\6\0\1\4\1\0\1\4\1\0\1\4\1\0\4\4"+
103 "\1\0\3\4\1\0\7\4\3\0\3\4\5\0\5\4\26\0\44\4"+
104 "\u0e81\0\3\4\31\0\11\4\7\0\5\4\2\0\5\4\4\0\126\4"+
105 "\6\0\3\4\1\0\137\4\5\0\50\4\4\0\136\4\21\0\30\4"+
106 "\70\0\20\4\u0200\0\u19b6\4\112\0\u51a6\4\132\0\u048d\4\u0773\0\u2ba4\4"+
107 "\u215c\0\u012e\4\2\0\73\4\225\0\7\4\14\0\5\4\5\0\1\4"+
108 "\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4"+
109 "\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4"+
110 "\50\0\15\4\66\0\2\4\30\0\3\4\31\0\1\4\6\0\5\4"+
111 "\1\0\207\4\7\0\1\4\34\0\32\4\4\0\1\4\1\0\32\4"+
112 "\12\0\132\4\3\0\6\4\2\0\6\4\2\0\6\4\2\0\3\4"+
113 "\3\0\2\4\3\0\2\4\31\0";
115 /**
116 * Translates characters to character classes
118 private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
120 /**
121 * Translates DFA states to action switch labels.
123 private static final int [] ZZ_ACTION = zzUnpackAction();
125 private static final String ZZ_ACTION_PACKED_0 =
126 "\11\0\3\1\1\2\1\3\2\2\1\4\1\5\1\6"+
127 "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
128 "\1\17\1\12\1\20\1\1\1\0\1\21\1\0\2\22"+
129 "\1\23\3\22\1\24";
131 private static int [] zzUnpackAction() {
132 int [] result = new int[41];
133 int offset = 0;
134 offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
135 return result;
138 private static int zzUnpackAction(String packed, int offset, int [] result) {
139 int i = 0; /* index in packed string */
140 int j = offset; /* index in unpacked array */
141 int l = packed.length();
142 while (i < l) {
143 int count = packed.charAt(i++);
144 int value = packed.charAt(i++);
145 do result[j++] = value; while (--count > 0);
147 return j;
151 /**
152 * Translates a state to a row index in the transition table
154 private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
156 private static final String ZZ_ROWMAP_PACKED_0 =
157 "\0\0\0\26\0\54\0\102\0\130\0\156\0\204\0\232"+
158 "\0\260\0\306\0\334\0\362\0\306\0\u0108\0\362\0\u011e"+
159 "\0\306\0\306\0\u0134\0\u014a\0\u0160\0\u0176\0\u018c\0\306"+
160 "\0\306\0\306\0\306\0\306\0\u01a2\0\306\0\u011e\0\u01b8"+
161 "\0\306\0\362\0\u01ce\0\u01e4\0\u01fa\0\u0210\0\u0226\0\u023c"+
162 "\0\u01ce";
164 private static int [] zzUnpackRowMap() {
165 int [] result = new int[41];
166 int offset = 0;
167 offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
168 return result;
171 private static int zzUnpackRowMap(String packed, int offset, int [] result) {
172 int i = 0; /* index in packed string */
173 int j = offset; /* index in unpacked array */
174 int l = packed.length();
175 while (i < l) {
176 int high = packed.charAt(i++) << 16;
177 result[j++] = high | packed.charAt(i++);
179 return j;
182 /**
183 * The transition table of the DFA
185 private static final int [] ZZ_TRANS = zzUnpackTrans();
187 private static final String ZZ_TRANS_PACKED_0 =
188 "\6\12\1\13\1\14\16\12\1\15\2\16\4\15\1\17"+
189 "\5\15\1\20\6\15\1\21\1\22\1\15\1\16\1\23"+
190 "\4\15\1\17\14\15\1\21\1\22\1\12\2\24\4\12"+
191 "\1\14\15\12\1\22\1\12\2\25\4\12\1\14\16\12"+
192 "\1\15\2\26\2\27\2\15\1\17\1\27\1\30\1\15"+
193 "\1\31\1\32\1\15\4\27\1\33\2\15\1\22\1\12"+
194 "\2\16\2\27\2\12\1\14\1\27\1\12\1\34\1\12"+
195 "\1\32\1\12\4\27\10\12\1\35\2\12\1\14\6\12"+
196 "\4\35\1\12\1\36\11\12\1\14\5\12\1\37\10\12"+
197 "\35\0\1\40\24\0\1\41\1\42\17\0\2\16\27\0"+
198 "\1\43\11\0\1\44\3\43\6\0\1\23\24\0\2\24"+
199 "\24\0\2\25\24\0\2\26\26\0\2\27\3\0\1\27"+
200 "\5\0\4\27\7\0\3\35\10\0\4\35\13\0\1\45"+
201 "\21\0\3\43\10\0\4\43\7\0\3\43\10\0\1\43"+
202 "\1\46\2\43\12\0\1\41\22\0\3\43\10\0\2\43"+
203 "\1\47\1\43\7\0\3\43\10\0\1\43\1\50\2\43"+
204 "\7\0\3\43\10\0\3\43\1\51\4\0";
206 private static int [] zzUnpackTrans() {
207 int [] result = new int[594];
208 int offset = 0;
209 offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
210 return result;
213 private static int zzUnpackTrans(String packed, int offset, int [] result) {
214 int i = 0; /* index in packed string */
215 int j = offset; /* index in unpacked array */
216 int l = packed.length();
217 while (i < l) {
218 int count = packed.charAt(i++);
219 int value = packed.charAt(i++);
220 value--;
221 do result[j++] = value; while (--count > 0);
223 return j;
227 /* error codes */
228 private static final int ZZ_UNKNOWN_ERROR = 0;
229 private static final int ZZ_NO_MATCH = 1;
230 private static final int ZZ_PUSHBACK_2BIG = 2;
231 private static final char[] EMPTY_BUFFER = new char[0];
232 private static final int YYEOF = -1;
233 private static java.io.Reader zzReader = null; // Fake
235 /* error messages for the codes above */
236 private static final String ZZ_ERROR_MSG[] = {
237 "Unkown internal scanner error",
238 "Error: could not match input",
239 "Error: pushback value was too large"
243 * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
245 private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
247 private static final String ZZ_ATTRIBUTE_PACKED_0 =
248 "\11\0\1\11\2\1\1\11\3\1\2\11\5\1\5\11"+
249 "\1\1\1\11\1\1\1\0\1\11\1\0\7\1";
251 private static int [] zzUnpackAttribute() {
252 int [] result = new int[41];
253 int offset = 0;
254 offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
255 return result;
258 private static int zzUnpackAttribute(String packed, int offset, int [] result) {
259 int i = 0; /* index in packed string */
260 int j = offset; /* index in unpacked array */
261 int l = packed.length();
262 while (i < l) {
263 int count = packed.charAt(i++);
264 int value = packed.charAt(i++);
265 do result[j++] = value; while (--count > 0);
267 return j;
270 /** the current state of the DFA */
271 private int zzState;
273 /** the current lexical state */
274 private int zzLexicalState = YYINITIAL;
276 /** this buffer contains the current text to be matched and is
277 the source of the yytext() string */
278 private CharSequence zzBuffer = "";
280 /** this buffer may contains the current text array to be matched when it is cheap to acquire it */
281 private char[] zzBufferArray;
283 /** the textposition at the last accepting state */
284 private int zzMarkedPos;
286 /** the textposition at the last state to be included in yytext */
287 private int zzPushbackPos;
289 /** the current text position in the buffer */
290 private int zzCurrentPos;
292 /** startRead marks the beginning of the yytext() string in the buffer */
293 private int zzStartRead;
295 /** endRead marks the last character in the buffer, that has been read
296 from input */
297 private int zzEndRead;
300 * zzAtBOL == true <=> the scanner is currently at the beginning of a line
302 private boolean zzAtBOL = true;
304 /** zzAtEOF == true <=> the scanner is at the EOF */
305 private boolean zzAtEOF;
307 /** denotes if the user-EOF-code has already been executed */
308 private boolean zzEOFDone;
310 /* user code: */
311 private boolean myJdk15Enabled;
312 private DocCommentTokenTypes myTokenTypes;
314 public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
315 this((java.io.Reader)null);
316 myJdk15Enabled = isJdk15Enabled;
317 myTokenTypes = tokenTypes;
320 public boolean checkAhead(char c) {
321 if (zzMarkedPos >= zzBuffer.length()) return false;
322 return zzBuffer.charAt(zzMarkedPos) == c;
325 public void goTo(int offset) {
326 zzCurrentPos = zzMarkedPos = zzStartRead = offset;
327 zzPushbackPos = 0;
328 zzAtEOF = offset < zzEndRead;
332 _JavaDocLexer(java.io.Reader in) {
333 this.zzReader = in;
337 * Creates a new scanner.
338 * There is also java.io.Reader version of this constructor.
340 * @param in the java.io.Inputstream to read input from.
342 _JavaDocLexer(java.io.InputStream in) {
343 this(new java.io.InputStreamReader(in));
346 /**
347 * Unpacks the compressed character translation table.
349 * @param packed the packed character translation table
350 * @return the unpacked character translation table
352 private static char [] zzUnpackCMap(String packed) {
353 char [] map = new char[0x10000];
354 int i = 0; /* index in packed string */
355 int j = 0; /* index in unpacked array */
356 while (i < 1250) {
357 int count = packed.charAt(i++);
358 char value = packed.charAt(i++);
359 do map[j++] = value; while (--count > 0);
361 return map;
364 public final int getTokenStart(){
365 return zzStartRead;
368 public final int getTokenEnd(){
369 return getTokenStart() + yylength();
372 public void reset(CharSequence buffer, int start, int end,int initialState){
373 zzBuffer = buffer;
374 zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer);
375 zzCurrentPos = zzMarkedPos = zzStartRead = start;
376 zzPushbackPos = 0;
377 zzAtEOF = false;
378 zzAtBOL = true;
379 zzEndRead = end;
380 yybegin(initialState);
383 // For Demetra compatibility
384 public void reset(CharSequence buffer, int initialState){
385 zzBuffer = buffer;
386 zzBufferArray = null;
387 zzCurrentPos = zzMarkedPos = zzStartRead = 0;
388 zzPushbackPos = 0;
389 zzAtEOF = false;
390 zzAtBOL = true;
391 zzEndRead = buffer.length();
392 yybegin(initialState);
396 * Refills the input buffer.
398 * @return <code>false</code>, iff there was new input.
400 * @exception java.io.IOException if any I/O-Error occurs
402 private boolean zzRefill() throws java.io.IOException {
403 return true;
408 * Returns the current lexical state.
410 public final int yystate() {
411 return zzLexicalState;
416 * Enters a new lexical state
418 * @param newState the new lexical state
420 public final void yybegin(int newState) {
421 zzLexicalState = newState;
426 * Returns the text matched by the current regular expression.
428 public final CharSequence yytext() {
429 return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
434 * Returns the character at position <tt>pos</tt> from the
435 * matched text.
437 * It is equivalent to yytext().charAt(pos), but faster
439 * @param pos the position of the character to fetch.
440 * A value from 0 to yylength()-1.
442 * @return the character at position pos
444 public final char yycharat(int pos) {
445 return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos);
450 * Returns the length of the matched text region.
452 public final int yylength() {
453 return zzMarkedPos-zzStartRead;
458 * Reports an error that occured while scanning.
460 * In a wellformed scanner (no or only correct usage of
461 * yypushback(int) and a match-all fallback rule) this method
462 * will only be called with things that "Can't Possibly Happen".
463 * If this method is called, something is seriously wrong
464 * (e.g. a JFlex bug producing a faulty scanner etc.).
466 * Usual syntax/scanner level error handling should be done
467 * in error fallback rules.
469 * @param errorCode the code of the errormessage to display
471 private void zzScanError(int errorCode) {
472 String message;
473 try {
474 message = ZZ_ERROR_MSG[errorCode];
476 catch (ArrayIndexOutOfBoundsException e) {
477 message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
480 throw new Error(message);
485 * Pushes the specified amount of characters back into the input stream.
487 * They will be read again by then next call of the scanning method
489 * @param number the number of characters to be read again.
490 * This number must not be greater than yylength()!
492 public void yypushback(int number) {
493 if ( number > yylength() )
494 zzScanError(ZZ_PUSHBACK_2BIG);
496 zzMarkedPos -= number;
501 * Contains user EOF-code, which will be executed exactly once,
502 * when the end of file is reached
504 private void zzDoEOF() {
505 if (!zzEOFDone) {
506 zzEOFDone = true;
513 * Resumes scanning until the next regular expression is matched,
514 * the end of input is encountered or an I/O-Error occurs.
516 * @return the next token
517 * @exception java.io.IOException if any I/O-Error occurs
519 public IElementType advance() throws java.io.IOException {
520 int zzInput;
521 int zzAction;
523 // cached fields:
524 int zzCurrentPosL;
525 int zzMarkedPosL;
526 int zzEndReadL = zzEndRead;
527 CharSequence zzBufferL = zzBuffer;
528 char[] zzBufferArrayL = zzBufferArray;
529 char [] zzCMapL = ZZ_CMAP;
531 int [] zzTransL = ZZ_TRANS;
532 int [] zzRowMapL = ZZ_ROWMAP;
533 int [] zzAttrL = ZZ_ATTRIBUTE;
535 while (true) {
536 zzMarkedPosL = zzMarkedPos;
538 zzAction = -1;
540 zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
542 zzState = zzLexicalState;
545 zzForAction: {
546 while (true) {
548 if (zzCurrentPosL < zzEndReadL)
549 zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++]:zzBufferL.charAt(zzCurrentPosL++);
550 else if (zzAtEOF) {
551 zzInput = YYEOF;
552 break zzForAction;
554 else {
555 // store back cached positions
556 zzCurrentPos = zzCurrentPosL;
557 zzMarkedPos = zzMarkedPosL;
558 boolean eof = zzRefill();
559 // get translated positions and possibly new buffer
560 zzCurrentPosL = zzCurrentPos;
561 zzMarkedPosL = zzMarkedPos;
562 zzBufferL = zzBuffer;
563 zzEndReadL = zzEndRead;
564 if (eof) {
565 zzInput = YYEOF;
566 break zzForAction;
568 else {
569 zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++]:zzBufferL.charAt(zzCurrentPosL++);
572 int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
573 if (zzNext == -1) break zzForAction;
574 zzState = zzNext;
576 int zzAttributes = zzAttrL[zzState];
577 if ( (zzAttributes & 1) == 1 ) {
578 zzAction = zzState;
579 zzMarkedPosL = zzCurrentPosL;
580 if ( (zzAttributes & 8) == 8 ) break zzForAction;
586 // store back cached position
587 zzMarkedPos = zzMarkedPosL;
589 switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
590 case 12:
591 { return myTokenTypes.tagValueSharp();
593 case 21: break;
594 case 16:
595 { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT();
597 case 22: break;
598 case 3:
599 { return myTokenTypes.space();
601 case 23: break;
602 case 6:
603 { return myTokenTypes.commentData();
605 case 24: break;
606 case 7:
607 { if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
608 else if (checkAhead('\u007b') ) yybegin(COMMENT_DATA); //lbrace - there's some error in JLex when typing lbrace directly
609 else yybegin(DOC_TAG_VALUE);
611 return myTokenTypes.space();
613 case 25: break;
614 case 4:
615 { if (checkAhead('@')){
616 yybegin(INLINE_TAG_NAME);
617 return myTokenTypes.inlineTagStart();
619 else{
620 yybegin(COMMENT_DATA);
621 return myTokenTypes.inlineTagStart();
624 case 26: break;
625 case 5:
626 { yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd();
628 case 27: break;
629 case 19:
630 { yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart();
632 case 28: break;
633 case 8:
634 { yybegin(DOC_TAG_VALUE); return myTokenTypes.space();
636 case 29: break;
637 case 14:
638 { if (myJdk15Enabled) {yybegin(DOC_TAG_VALUE_IN_LTGT); return myTokenTypes.tagValueLT();} else { yybegin(COMMENT_DATA); return myTokenTypes.commentData(); }
640 case 30: break;
641 case 10:
642 { return myTokenTypes.tagValueToken();
644 case 31: break;
645 case 18:
646 { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName();
648 case 32: break;
649 case 9:
650 { yybegin(COMMENT_DATA); return myTokenTypes.space();
652 case 33: break;
653 case 20:
654 { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName();
656 case 34: break;
657 case 1:
658 { return myTokenTypes.badCharacter();
660 case 35: break;
661 case 15:
662 { yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen();
664 case 36: break;
665 case 11:
666 { yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen();
668 case 37: break;
669 case 13:
670 { return myTokenTypes.tagValueComma();
672 case 38: break;
673 case 2:
674 { yybegin(COMMENT_DATA); return myTokenTypes.commentData();
676 case 39: break;
677 case 17:
678 { return myTokenTypes.commentEnd();
680 case 40: break;
681 default:
682 if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
683 zzAtEOF = true;
684 zzDoEOF();
685 return null;
687 else {
688 zzScanError(ZZ_NO_MATCH);