001// $ANTLR 2.7.7 (20060906): "java.g" -> "GeneratedJavaLexer.java"$
002
003package com.puppycrawl.tools.checkstyle.grammar;
004
005import com.puppycrawl.tools.checkstyle.DetailAstImpl;
006import java.text.MessageFormat;
007import antlr.CommonHiddenStreamToken;
008import antlr.TokenStreamSelector;
009
010import java.io.InputStream;
011import antlr.TokenStreamException;
012import antlr.TokenStreamIOException;
013import antlr.TokenStreamRecognitionException;
014import antlr.CharStreamException;
015import antlr.CharStreamIOException;
016import antlr.ANTLRException;
017import java.io.Reader;
018import java.util.Hashtable;
019import antlr.CharScanner;
020import antlr.InputBuffer;
021import antlr.ByteBuffer;
022import antlr.CharBuffer;
023import antlr.Token;
024import antlr.CommonToken;
025import antlr.RecognitionException;
026import antlr.NoViableAltForCharException;
027import antlr.MismatchedCharException;
028import antlr.TokenStream;
029import antlr.ANTLRHashString;
030import antlr.LexerSharedInputState;
031import antlr.collections.impl.BitSet;
032import antlr.SemanticException;
033
034public class GeneratedJavaLexer extends antlr.CharScanner implements GeneratedJavaTokenTypes, TokenStream
035 {
036
037
038    // explicitly set tab width to 1 (default in ANTLR 2.7.1)
039    // in ANTLR 2.7.2a2 the default has changed from 1 to 8
040    public void tab()
041    {
042        setColumn( getColumn() + 1 );
043    }
044
045    public TokenStreamSelector selector;
046
047    private CommentListener mCommentListener = null;
048
049    public void setCommentListener(CommentListener aCommentListener)
050    {
051        mCommentListener = aCommentListener;
052    }
053
054    private boolean mTreatAssertAsKeyword = true;
055
056    public void setTreatAssertAsKeyword(boolean aTreatAsKeyword)
057    {
058        mTreatAssertAsKeyword = aTreatAsKeyword;
059    }
060
061    private boolean mTreatEnumAsKeyword = true;
062
063    public void setTreatEnumAsKeyword(boolean aTreatAsKeyword)
064    {
065        mTreatEnumAsKeyword = aTreatAsKeyword;
066    }
067
068public GeneratedJavaLexer(InputStream in) {
069        this(new ByteBuffer(in));
070}
071public GeneratedJavaLexer(Reader in) {
072        this(new CharBuffer(in));
073}
074public GeneratedJavaLexer(InputBuffer ib) {
075        this(new LexerSharedInputState(ib));
076}
077public GeneratedJavaLexer(LexerSharedInputState state) {
078        super(state);
079        caseSensitiveLiterals = true;
080        setCaseSensitive(true);
081        literals = new Hashtable();
082        literals.put(new ANTLRHashString("byte", this), new Integer(51));
083        literals.put(new ANTLRHashString("public", this), new Integer(62));
084        literals.put(new ANTLRHashString("case", this), new Integer(93));
085        literals.put(new ANTLRHashString("short", this), new Integer(53));
086        literals.put(new ANTLRHashString("break", this), new Integer(86));
087        literals.put(new ANTLRHashString("while", this), new Integer(84));
088        literals.put(new ANTLRHashString("new", this), new Integer(136));
089        literals.put(new ANTLRHashString("sealed", this), new Integer(210));
090        literals.put(new ANTLRHashString("instanceof", this), new Integer(121));
091        literals.put(new ANTLRHashString("implements", this), new Integer(75));
092        literals.put(new ANTLRHashString("synchronized", this), new Integer(67));
093        literals.put(new ANTLRHashString("float", this), new Integer(55));
094        literals.put(new ANTLRHashString("package", this), new Integer(44));
095        literals.put(new ANTLRHashString("return", this), new Integer(88));
096        literals.put(new ANTLRHashString("throw", this), new Integer(90));
097        literals.put(new ANTLRHashString("non-sealed", this), new Integer(209));
098        literals.put(new ANTLRHashString("null", this), new Integer(135));
099        literals.put(new ANTLRHashString("protected", this), new Integer(63));
100        literals.put(new ANTLRHashString("class", this), new Integer(69));
101        literals.put(new ANTLRHashString("throws", this), new Integer(81));
102        literals.put(new ANTLRHashString("do", this), new Integer(85));
103        literals.put(new ANTLRHashString("strictfp", this), new Integer(41));
104        literals.put(new ANTLRHashString("super", this), new Integer(79));
105        literals.put(new ANTLRHashString("transient", this), new Integer(65));
106        literals.put(new ANTLRHashString("permits", this), new Integer(211));
107        literals.put(new ANTLRHashString("native", this), new Integer(66));
108        literals.put(new ANTLRHashString("interface", this), new Integer(71));
109        literals.put(new ANTLRHashString("final", this), new Integer(39));
110        literals.put(new ANTLRHashString("yield", this), new Integer(207));
111        literals.put(new ANTLRHashString("if", this), new Integer(83));
112        literals.put(new ANTLRHashString("record", this), new Integer(200));
113        literals.put(new ANTLRHashString("double", this), new Integer(57));
114        literals.put(new ANTLRHashString("volatile", this), new Integer(68));
115        literals.put(new ANTLRHashString("catch", this), new Integer(96));
116        literals.put(new ANTLRHashString("try", this), new Integer(95));
117        literals.put(new ANTLRHashString("int", this), new Integer(54));
118        literals.put(new ANTLRHashString("for", this), new Integer(91));
119        literals.put(new ANTLRHashString("extends", this), new Integer(70));
120        literals.put(new ANTLRHashString("boolean", this), new Integer(50));
121        literals.put(new ANTLRHashString("char", this), new Integer(52));
122        literals.put(new ANTLRHashString("private", this), new Integer(61));
123        literals.put(new ANTLRHashString("default", this), new Integer(94));
124        literals.put(new ANTLRHashString("non", this), new Integer(213));
125        literals.put(new ANTLRHashString("false", this), new Integer(134));
126        literals.put(new ANTLRHashString("this", this), new Integer(78));
127        literals.put(new ANTLRHashString("static", this), new Integer(64));
128        literals.put(new ANTLRHashString("abstract", this), new Integer(40));
129        literals.put(new ANTLRHashString("continue", this), new Integer(87));
130        literals.put(new ANTLRHashString("finally", this), new Integer(97));
131        literals.put(new ANTLRHashString("else", this), new Integer(92));
132        literals.put(new ANTLRHashString("import", this), new Integer(46));
133        literals.put(new ANTLRHashString("void", this), new Integer(49));
134        literals.put(new ANTLRHashString("switch", this), new Integer(89));
135        literals.put(new ANTLRHashString("true", this), new Integer(133));
136        literals.put(new ANTLRHashString("long", this), new Integer(56));
137}
138
139public Token nextToken() throws TokenStreamException {
140        Token theRetToken=null;
141tryAgain:
142        for (;;) {
143                Token _token = null;
144                int _ttype = Token.INVALID_TYPE;
145                resetText();
146                try {   // for char stream error handling
147                        try {   // for lexical error handling
148                                switch ( LA(1)) {
149                                case '?':
150                                {
151                                        mQUESTION(true);
152                                        theRetToken=_returnToken;
153                                        break;
154                                }
155                                case '(':
156                                {
157                                        mLPAREN(true);
158                                        theRetToken=_returnToken;
159                                        break;
160                                }
161                                case ')':
162                                {
163                                        mRPAREN(true);
164                                        theRetToken=_returnToken;
165                                        break;
166                                }
167                                case '[':
168                                {
169                                        mLBRACK(true);
170                                        theRetToken=_returnToken;
171                                        break;
172                                }
173                                case ']':
174                                {
175                                        mRBRACK(true);
176                                        theRetToken=_returnToken;
177                                        break;
178                                }
179                                case '{':
180                                {
181                                        mLCURLY(true);
182                                        theRetToken=_returnToken;
183                                        break;
184                                }
185                                case '}':
186                                {
187                                        mRCURLY(true);
188                                        theRetToken=_returnToken;
189                                        break;
190                                }
191                                case ',':
192                                {
193                                        mCOMMA(true);
194                                        theRetToken=_returnToken;
195                                        break;
196                                }
197                                case '~':
198                                {
199                                        mBNOT(true);
200                                        theRetToken=_returnToken;
201                                        break;
202                                }
203                                case ';':
204                                {
205                                        mSEMI(true);
206                                        theRetToken=_returnToken;
207                                        break;
208                                }
209                                case '@':
210                                {
211                                        mAT(true);
212                                        theRetToken=_returnToken;
213                                        break;
214                                }
215                                case '\t':  case '\n':  case '\u000c':  case '\r':
216                                case ' ':
217                                {
218                                        mWS(true);
219                                        theRetToken=_returnToken;
220                                        break;
221                                }
222                                case '\'':
223                                {
224                                        mCHAR_LITERAL(true);
225                                        theRetToken=_returnToken;
226                                        break;
227                                }
228                                case '.':  case '0':  case '1':  case '2':
229                                case '3':  case '4':  case '5':  case '6':
230                                case '7':  case '8':  case '9':
231                                {
232                                        mNUM_INT(true);
233                                        theRetToken=_returnToken;
234                                        break;
235                                }
236                                default:
237                                        if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (LA(4)=='=')) {
238                                                mBSR_ASSIGN(true);
239                                                theRetToken=_returnToken;
240                                        }
241                                        else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='=')) {
242                                                mSR_ASSIGN(true);
243                                                theRetToken=_returnToken;
244                                        }
245                                        else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (true)) {
246                                                mBSR(true);
247                                                theRetToken=_returnToken;
248                                        }
249                                        else if ((LA(1)=='<') && (LA(2)=='<') && (LA(3)=='=')) {
250                                                mSL_ASSIGN(true);
251                                                theRetToken=_returnToken;
252                                        }
253                                        else if ((LA(1)=='"') && (LA(2)=='"') && (LA(3)=='"') && (true)) {
254                                                mTEXT_BLOCK_LITERAL_BEGIN(true);
255                                                theRetToken=_returnToken;
256                                        }
257                                        else if ((LA(1)==':') && (LA(2)==':')) {
258                                                mDOUBLE_COLON(true);
259                                                theRetToken=_returnToken;
260                                        }
261                                        else if ((LA(1)=='=') && (LA(2)=='=')) {
262                                                mEQUAL(true);
263                                                theRetToken=_returnToken;
264                                        }
265                                        else if ((LA(1)=='!') && (LA(2)=='=')) {
266                                                mNOT_EQUAL(true);
267                                                theRetToken=_returnToken;
268                                        }
269                                        else if ((LA(1)=='/') && (LA(2)=='=')) {
270                                                mDIV_ASSIGN(true);
271                                                theRetToken=_returnToken;
272                                        }
273                                        else if ((LA(1)=='+') && (LA(2)=='=')) {
274                                                mPLUS_ASSIGN(true);
275                                                theRetToken=_returnToken;
276                                        }
277                                        else if ((LA(1)=='+') && (LA(2)=='+')) {
278                                                mINC(true);
279                                                theRetToken=_returnToken;
280                                        }
281                                        else if ((LA(1)=='-') && (LA(2)=='=')) {
282                                                mMINUS_ASSIGN(true);
283                                                theRetToken=_returnToken;
284                                        }
285                                        else if ((LA(1)=='-') && (LA(2)=='-')) {
286                                                mDEC(true);
287                                                theRetToken=_returnToken;
288                                        }
289                                        else if ((LA(1)=='*') && (LA(2)=='=')) {
290                                                mSTAR_ASSIGN(true);
291                                                theRetToken=_returnToken;
292                                        }
293                                        else if ((LA(1)=='%') && (LA(2)=='=')) {
294                                                mMOD_ASSIGN(true);
295                                                theRetToken=_returnToken;
296                                        }
297                                        else if ((LA(1)=='>') && (LA(2)=='>') && (true)) {
298                                                mSR(true);
299                                                theRetToken=_returnToken;
300                                        }
301                                        else if ((LA(1)=='>') && (LA(2)=='=')) {
302                                                mGE(true);
303                                                theRetToken=_returnToken;
304                                        }
305                                        else if ((LA(1)=='<') && (LA(2)=='<') && (true)) {
306                                                mSL(true);
307                                                theRetToken=_returnToken;
308                                        }
309                                        else if ((LA(1)=='<') && (LA(2)=='=')) {
310                                                mLE(true);
311                                                theRetToken=_returnToken;
312                                        }
313                                        else if ((LA(1)=='-') && (LA(2)=='>')) {
314                                                mLAMBDA(true);
315                                                theRetToken=_returnToken;
316                                        }
317                                        else if ((LA(1)=='^') && (LA(2)=='=')) {
318                                                mBXOR_ASSIGN(true);
319                                                theRetToken=_returnToken;
320                                        }
321                                        else if ((LA(1)=='|') && (LA(2)=='=')) {
322                                                mBOR_ASSIGN(true);
323                                                theRetToken=_returnToken;
324                                        }
325                                        else if ((LA(1)=='|') && (LA(2)=='|')) {
326                                                mLOR(true);
327                                                theRetToken=_returnToken;
328                                        }
329                                        else if ((LA(1)=='&') && (LA(2)=='=')) {
330                                                mBAND_ASSIGN(true);
331                                                theRetToken=_returnToken;
332                                        }
333                                        else if ((LA(1)=='&') && (LA(2)=='&')) {
334                                                mLAND(true);
335                                                theRetToken=_returnToken;
336                                        }
337                                        else if ((LA(1)=='/') && (LA(2)=='/')) {
338                                                mSINGLE_LINE_COMMENT(true);
339                                                theRetToken=_returnToken;
340                                        }
341                                        else if ((LA(1)=='/') && (LA(2)=='*')) {
342                                                mBLOCK_COMMENT_BEGIN(true);
343                                                theRetToken=_returnToken;
344                                        }
345                                        else if ((LA(1)=='"') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true)) {
346                                                mSTRING_LITERAL(true);
347                                                theRetToken=_returnToken;
348                                        }
349                                        else if ((LA(1)==':') && (true)) {
350                                                mCOLON(true);
351                                                theRetToken=_returnToken;
352                                        }
353                                        else if ((LA(1)=='=') && (true)) {
354                                                mASSIGN(true);
355                                                theRetToken=_returnToken;
356                                        }
357                                        else if ((LA(1)=='!') && (true)) {
358                                                mLNOT(true);
359                                                theRetToken=_returnToken;
360                                        }
361                                        else if ((LA(1)=='/') && (true)) {
362                                                mDIV(true);
363                                                theRetToken=_returnToken;
364                                        }
365                                        else if ((LA(1)=='+') && (true)) {
366                                                mPLUS(true);
367                                                theRetToken=_returnToken;
368                                        }
369                                        else if ((LA(1)=='-') && (true)) {
370                                                mMINUS(true);
371                                                theRetToken=_returnToken;
372                                        }
373                                        else if ((LA(1)=='*') && (true)) {
374                                                mSTAR(true);
375                                                theRetToken=_returnToken;
376                                        }
377                                        else if ((LA(1)=='%') && (true)) {
378                                                mMOD(true);
379                                                theRetToken=_returnToken;
380                                        }
381                                        else if ((LA(1)=='>') && (true)) {
382                                                mGT(true);
383                                                theRetToken=_returnToken;
384                                        }
385                                        else if ((LA(1)=='<') && (true)) {
386                                                mLT(true);
387                                                theRetToken=_returnToken;
388                                        }
389                                        else if ((LA(1)=='^') && (true)) {
390                                                mBXOR(true);
391                                                theRetToken=_returnToken;
392                                        }
393                                        else if ((LA(1)=='|') && (true)) {
394                                                mBOR(true);
395                                                theRetToken=_returnToken;
396                                        }
397                                        else if ((LA(1)=='&') && (true)) {
398                                                mBAND(true);
399                                                theRetToken=_returnToken;
400                                        }
401                                        else if ((_tokenSet_0.member(LA(1)))) {
402                                                mIDENT(true);
403                                                theRetToken=_returnToken;
404                                        }
405                                else {
406                                        if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
407                                else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
408                                }
409                                }
410                                if ( _returnToken==null ) continue tryAgain; // found SKIP token
411                                _ttype = _returnToken.getType();
412                                _returnToken.setType(_ttype);
413                                return _returnToken;
414                        }
415                        catch (RecognitionException e) {
416                                throw new TokenStreamRecognitionException(e);
417                        }
418                }
419                catch (CharStreamException cse) {
420                        if ( cse instanceof CharStreamIOException ) {
421                                throw new TokenStreamIOException(((CharStreamIOException)cse).io);
422                        }
423                        else {
424                                throw new TokenStreamException(cse.getMessage());
425                        }
426                }
427        }
428}
429
430        public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
431                int _ttype; Token _token=null; int _begin=text.length();
432                _ttype = QUESTION;
433                int _saveIndex;
434                
435                match('?');
436                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
437                        _token = makeToken(_ttype);
438                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
439                }
440                _returnToken = _token;
441        }
442        
443        public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
444                int _ttype; Token _token=null; int _begin=text.length();
445                _ttype = LPAREN;
446                int _saveIndex;
447                
448                match('(');
449                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
450                        _token = makeToken(_ttype);
451                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
452                }
453                _returnToken = _token;
454        }
455        
456        public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
457                int _ttype; Token _token=null; int _begin=text.length();
458                _ttype = RPAREN;
459                int _saveIndex;
460                
461                match(')');
462                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
463                        _token = makeToken(_ttype);
464                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
465                }
466                _returnToken = _token;
467        }
468        
469        public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
470                int _ttype; Token _token=null; int _begin=text.length();
471                _ttype = LBRACK;
472                int _saveIndex;
473                
474                match('[');
475                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
476                        _token = makeToken(_ttype);
477                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
478                }
479                _returnToken = _token;
480        }
481        
482        public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
483                int _ttype; Token _token=null; int _begin=text.length();
484                _ttype = RBRACK;
485                int _saveIndex;
486                
487                match(']');
488                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
489                        _token = makeToken(_ttype);
490                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
491                }
492                _returnToken = _token;
493        }
494        
495        public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
496                int _ttype; Token _token=null; int _begin=text.length();
497                _ttype = LCURLY;
498                int _saveIndex;
499                
500                match('{');
501                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
502                        _token = makeToken(_ttype);
503                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
504                }
505                _returnToken = _token;
506        }
507        
508        public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
509                int _ttype; Token _token=null; int _begin=text.length();
510                _ttype = RCURLY;
511                int _saveIndex;
512                
513                match('}');
514                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
515                        _token = makeToken(_ttype);
516                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
517                }
518                _returnToken = _token;
519        }
520        
521        public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
522                int _ttype; Token _token=null; int _begin=text.length();
523                _ttype = COLON;
524                int _saveIndex;
525                
526                match(':');
527                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
528                        _token = makeToken(_ttype);
529                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
530                }
531                _returnToken = _token;
532        }
533        
534        public final void mDOUBLE_COLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
535                int _ttype; Token _token=null; int _begin=text.length();
536                _ttype = DOUBLE_COLON;
537                int _saveIndex;
538                
539                match("::");
540                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
541                        _token = makeToken(_ttype);
542                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
543                }
544                _returnToken = _token;
545        }
546        
547        public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
548                int _ttype; Token _token=null; int _begin=text.length();
549                _ttype = COMMA;
550                int _saveIndex;
551                
552                match(',');
553                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
554                        _token = makeToken(_ttype);
555                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
556                }
557                _returnToken = _token;
558        }
559        
560        public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
561                int _ttype; Token _token=null; int _begin=text.length();
562                _ttype = ASSIGN;
563                int _saveIndex;
564                
565                match('=');
566                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
567                        _token = makeToken(_ttype);
568                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
569                }
570                _returnToken = _token;
571        }
572        
573        public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
574                int _ttype; Token _token=null; int _begin=text.length();
575                _ttype = EQUAL;
576                int _saveIndex;
577                
578                match("==");
579                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
580                        _token = makeToken(_ttype);
581                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
582                }
583                _returnToken = _token;
584        }
585        
586        public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
587                int _ttype; Token _token=null; int _begin=text.length();
588                _ttype = LNOT;
589                int _saveIndex;
590                
591                match('!');
592                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
593                        _token = makeToken(_ttype);
594                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
595                }
596                _returnToken = _token;
597        }
598        
599        public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
600                int _ttype; Token _token=null; int _begin=text.length();
601                _ttype = BNOT;
602                int _saveIndex;
603                
604                match('~');
605                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
606                        _token = makeToken(_ttype);
607                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
608                }
609                _returnToken = _token;
610        }
611        
612        public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
613                int _ttype; Token _token=null; int _begin=text.length();
614                _ttype = NOT_EQUAL;
615                int _saveIndex;
616                
617                match("!=");
618                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
619                        _token = makeToken(_ttype);
620                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
621                }
622                _returnToken = _token;
623        }
624        
625        public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
626                int _ttype; Token _token=null; int _begin=text.length();
627                _ttype = DIV;
628                int _saveIndex;
629                
630                match('/');
631                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
632                        _token = makeToken(_ttype);
633                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
634                }
635                _returnToken = _token;
636        }
637        
638        public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
639                int _ttype; Token _token=null; int _begin=text.length();
640                _ttype = DIV_ASSIGN;
641                int _saveIndex;
642                
643                match("/=");
644                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
645                        _token = makeToken(_ttype);
646                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
647                }
648                _returnToken = _token;
649        }
650        
651        public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
652                int _ttype; Token _token=null; int _begin=text.length();
653                _ttype = PLUS;
654                int _saveIndex;
655                
656                match('+');
657                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
658                        _token = makeToken(_ttype);
659                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
660                }
661                _returnToken = _token;
662        }
663        
664        public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
665                int _ttype; Token _token=null; int _begin=text.length();
666                _ttype = PLUS_ASSIGN;
667                int _saveIndex;
668                
669                match("+=");
670                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
671                        _token = makeToken(_ttype);
672                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
673                }
674                _returnToken = _token;
675        }
676        
677        public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
678                int _ttype; Token _token=null; int _begin=text.length();
679                _ttype = INC;
680                int _saveIndex;
681                
682                match("++");
683                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
684                        _token = makeToken(_ttype);
685                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
686                }
687                _returnToken = _token;
688        }
689        
690        public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
691                int _ttype; Token _token=null; int _begin=text.length();
692                _ttype = MINUS;
693                int _saveIndex;
694                
695                match('-');
696                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
697                        _token = makeToken(_ttype);
698                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
699                }
700                _returnToken = _token;
701        }
702        
703        public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
704                int _ttype; Token _token=null; int _begin=text.length();
705                _ttype = MINUS_ASSIGN;
706                int _saveIndex;
707                
708                match("-=");
709                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
710                        _token = makeToken(_ttype);
711                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
712                }
713                _returnToken = _token;
714        }
715        
716        public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
717                int _ttype; Token _token=null; int _begin=text.length();
718                _ttype = DEC;
719                int _saveIndex;
720                
721                match("--");
722                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
723                        _token = makeToken(_ttype);
724                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
725                }
726                _returnToken = _token;
727        }
728        
729        public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
730                int _ttype; Token _token=null; int _begin=text.length();
731                _ttype = STAR;
732                int _saveIndex;
733                
734                match('*');
735                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
736                        _token = makeToken(_ttype);
737                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
738                }
739                _returnToken = _token;
740        }
741        
742        public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
743                int _ttype; Token _token=null; int _begin=text.length();
744                _ttype = STAR_ASSIGN;
745                int _saveIndex;
746                
747                match("*=");
748                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
749                        _token = makeToken(_ttype);
750                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
751                }
752                _returnToken = _token;
753        }
754        
755        public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
756                int _ttype; Token _token=null; int _begin=text.length();
757                _ttype = MOD;
758                int _saveIndex;
759                
760                match('%');
761                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
762                        _token = makeToken(_ttype);
763                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
764                }
765                _returnToken = _token;
766        }
767        
768        public final void mMOD_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
769                int _ttype; Token _token=null; int _begin=text.length();
770                _ttype = MOD_ASSIGN;
771                int _saveIndex;
772                
773                match("%=");
774                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
775                        _token = makeToken(_ttype);
776                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
777                }
778                _returnToken = _token;
779        }
780        
781        public final void mSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
782                int _ttype; Token _token=null; int _begin=text.length();
783                _ttype = SR;
784                int _saveIndex;
785                
786                match(">>");
787                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
788                        _token = makeToken(_ttype);
789                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
790                }
791                _returnToken = _token;
792        }
793        
794        public final void mSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
795                int _ttype; Token _token=null; int _begin=text.length();
796                _ttype = SR_ASSIGN;
797                int _saveIndex;
798                
799                match(">>=");
800                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
801                        _token = makeToken(_ttype);
802                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
803                }
804                _returnToken = _token;
805        }
806        
807        public final void mBSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
808                int _ttype; Token _token=null; int _begin=text.length();
809                _ttype = BSR;
810                int _saveIndex;
811                
812                match(">>>");
813                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
814                        _token = makeToken(_ttype);
815                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
816                }
817                _returnToken = _token;
818        }
819        
820        public final void mBSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
821                int _ttype; Token _token=null; int _begin=text.length();
822                _ttype = BSR_ASSIGN;
823                int _saveIndex;
824                
825                match(">>>=");
826                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
827                        _token = makeToken(_ttype);
828                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
829                }
830                _returnToken = _token;
831        }
832        
833        public final void mGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
834                int _ttype; Token _token=null; int _begin=text.length();
835                _ttype = GE;
836                int _saveIndex;
837                
838                match(">=");
839                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
840                        _token = makeToken(_ttype);
841                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
842                }
843                _returnToken = _token;
844        }
845        
846        public final void mGT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
847                int _ttype; Token _token=null; int _begin=text.length();
848                _ttype = GT;
849                int _saveIndex;
850                
851                match(">");
852                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
853                        _token = makeToken(_ttype);
854                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
855                }
856                _returnToken = _token;
857        }
858        
859        public final void mSL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
860                int _ttype; Token _token=null; int _begin=text.length();
861                _ttype = SL;
862                int _saveIndex;
863                
864                match("<<");
865                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
866                        _token = makeToken(_ttype);
867                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
868                }
869                _returnToken = _token;
870        }
871        
872        public final void mSL_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
873                int _ttype; Token _token=null; int _begin=text.length();
874                _ttype = SL_ASSIGN;
875                int _saveIndex;
876                
877                match("<<=");
878                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
879                        _token = makeToken(_ttype);
880                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
881                }
882                _returnToken = _token;
883        }
884        
885        public final void mLE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
886                int _ttype; Token _token=null; int _begin=text.length();
887                _ttype = LE;
888                int _saveIndex;
889                
890                match("<=");
891                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
892                        _token = makeToken(_ttype);
893                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
894                }
895                _returnToken = _token;
896        }
897        
898        public final void mLT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
899                int _ttype; Token _token=null; int _begin=text.length();
900                _ttype = LT;
901                int _saveIndex;
902                
903                match('<');
904                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
905                        _token = makeToken(_ttype);
906                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
907                }
908                _returnToken = _token;
909        }
910        
911        public final void mLAMBDA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
912                int _ttype; Token _token=null; int _begin=text.length();
913                _ttype = LAMBDA;
914                int _saveIndex;
915                
916                match("->");
917                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
918                        _token = makeToken(_ttype);
919                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
920                }
921                _returnToken = _token;
922        }
923        
924        public final void mBXOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
925                int _ttype; Token _token=null; int _begin=text.length();
926                _ttype = BXOR;
927                int _saveIndex;
928                
929                match('^');
930                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
931                        _token = makeToken(_ttype);
932                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
933                }
934                _returnToken = _token;
935        }
936        
937        public final void mBXOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
938                int _ttype; Token _token=null; int _begin=text.length();
939                _ttype = BXOR_ASSIGN;
940                int _saveIndex;
941                
942                match("^=");
943                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
944                        _token = makeToken(_ttype);
945                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
946                }
947                _returnToken = _token;
948        }
949        
950        public final void mBOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
951                int _ttype; Token _token=null; int _begin=text.length();
952                _ttype = BOR;
953                int _saveIndex;
954                
955                match('|');
956                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
957                        _token = makeToken(_ttype);
958                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
959                }
960                _returnToken = _token;
961        }
962        
963        public final void mBOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
964                int _ttype; Token _token=null; int _begin=text.length();
965                _ttype = BOR_ASSIGN;
966                int _saveIndex;
967                
968                match("|=");
969                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
970                        _token = makeToken(_ttype);
971                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
972                }
973                _returnToken = _token;
974        }
975        
976        public final void mLOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
977                int _ttype; Token _token=null; int _begin=text.length();
978                _ttype = LOR;
979                int _saveIndex;
980                
981                match("||");
982                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
983                        _token = makeToken(_ttype);
984                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
985                }
986                _returnToken = _token;
987        }
988        
989        public final void mBAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
990                int _ttype; Token _token=null; int _begin=text.length();
991                _ttype = BAND;
992                int _saveIndex;
993                
994                match('&');
995                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
996                        _token = makeToken(_ttype);
997                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
998                }
999                _returnToken = _token;
1000        }
1001        
1002        public final void mBAND_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1003                int _ttype; Token _token=null; int _begin=text.length();
1004                _ttype = BAND_ASSIGN;
1005                int _saveIndex;
1006                
1007                match("&=");
1008                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1009                        _token = makeToken(_ttype);
1010                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1011                }
1012                _returnToken = _token;
1013        }
1014        
1015        public final void mLAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1016                int _ttype; Token _token=null; int _begin=text.length();
1017                _ttype = LAND;
1018                int _saveIndex;
1019                
1020                match("&&");
1021                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1022                        _token = makeToken(_ttype);
1023                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1024                }
1025                _returnToken = _token;
1026        }
1027        
1028        public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1029                int _ttype; Token _token=null; int _begin=text.length();
1030                _ttype = SEMI;
1031                int _saveIndex;
1032                
1033                match(';');
1034                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1035                        _token = makeToken(_ttype);
1036                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1037                }
1038                _returnToken = _token;
1039        }
1040        
1041        public final void mAT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1042                int _ttype; Token _token=null; int _begin=text.length();
1043                _ttype = AT;
1044                int _saveIndex;
1045                
1046                match('@');
1047                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1048                        _token = makeToken(_ttype);
1049                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1050                }
1051                _returnToken = _token;
1052        }
1053        
1054        public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1055                int _ttype; Token _token=null; int _begin=text.length();
1056                _ttype = WS;
1057                int _saveIndex;
1058                
1059                {
1060                int _cnt521=0;
1061                _loop521:
1062                do {
1063                        switch ( LA(1)) {
1064                        case ' ':
1065                        {
1066                                match(' ');
1067                                break;
1068                        }
1069                        case '\t':
1070                        {
1071                                match('\t');
1072                                break;
1073                        }
1074                        case '\u000c':
1075                        {
1076                                match('\f');
1077                                break;
1078                        }
1079                        case '\n':  case '\r':
1080                        {
1081                                {
1082                                if ((LA(1)=='\r') && (LA(2)=='\n') && (true) && (true)) {
1083                                        match("\r\n");
1084                                }
1085                                else if ((LA(1)=='\r') && (true) && (true) && (true)) {
1086                                        match('\r');
1087                                }
1088                                else if ((LA(1)=='\n')) {
1089                                        match('\n');
1090                                }
1091                                else {
1092                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1093                                }
1094                                
1095                                }
1096                                if ( inputState.guessing==0 ) {
1097                                        newline();
1098                                }
1099                                break;
1100                        }
1101                        default:
1102                        {
1103                                if ( _cnt521>=1 ) { break _loop521; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
1104                        }
1105                        }
1106                        _cnt521++;
1107                } while (true);
1108                }
1109                if ( inputState.guessing==0 ) {
1110                        _ttype = Token.SKIP;
1111                }
1112                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1113                        _token = makeToken(_ttype);
1114                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1115                }
1116                _returnToken = _token;
1117        }
1118        
1119        public final void mSINGLE_LINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1120                int _ttype; Token _token=null; int _begin=text.length();
1121                _ttype = SINGLE_LINE_COMMENT;
1122                int _saveIndex;
1123                Token content=null;
1124                
1125                match("//");
1126                if ( inputState.guessing==0 ) {
1127                        mCommentListener.reportSingleLineComment("//", getLine(),
1128                        getColumn() - 3);
1129                }
1130                mSINGLE_LINE_COMMENT_CONTENT(true);
1131                content=_returnToken;
1132                if ( inputState.guessing==0 ) {
1133                        text.setLength(_begin); text.append(content.getText());
1134                }
1135                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1136                        _token = makeToken(_ttype);
1137                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1138                }
1139                _returnToken = _token;
1140        }
1141        
1142        protected final void mSINGLE_LINE_COMMENT_CONTENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1143                int _ttype; Token _token=null; int _begin=text.length();
1144                _ttype = SINGLE_LINE_COMMENT_CONTENT;
1145                int _saveIndex;
1146                
1147                {
1148                _loop526:
1149                do {
1150                        if ((_tokenSet_1.member(LA(1)))) {
1151                                {
1152                                match(_tokenSet_1);
1153                                }
1154                        }
1155                        else {
1156                                break _loop526;
1157                        }
1158                        
1159                } while (true);
1160                }
1161                {
1162                switch ( LA(1)) {
1163                case '\n':
1164                {
1165                        match('\n');
1166                        break;
1167                }
1168                case '\r':
1169                {
1170                        match('\r');
1171                        {
1172                        if ((LA(1)=='\n')) {
1173                                match('\n');
1174                        }
1175                        else {
1176                        }
1177                        
1178                        }
1179                        break;
1180                }
1181                default:
1182                        {
1183                        }
1184                }
1185                }
1186                if ( inputState.guessing==0 ) {
1187                        newline();
1188                }
1189                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1190                        _token = makeToken(_ttype);
1191                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1192                }
1193                _returnToken = _token;
1194        }
1195        
1196        public final void mBLOCK_COMMENT_BEGIN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1197                int _ttype; Token _token=null; int _begin=text.length();
1198                _ttype = BLOCK_COMMENT_BEGIN;
1199                int _saveIndex;
1200                Token content=null;
1201                
1202                int startLine = -1;
1203                int startCol = -1;
1204                
1205                
1206                match("/*");
1207                if ( inputState.guessing==0 ) {
1208                        startLine = getLine(); startCol = getColumn() - 3;
1209                }
1210                mBLOCK_COMMENT_CONTENT(true);
1211                content=_returnToken;
1212                match("*/");
1213                if ( inputState.guessing==0 ) {
1214                        
1215                        mCommentListener.reportBlockComment("/*", startLine, startCol,
1216                        getLine(), getColumn() - 2);
1217                        text.setLength(_begin); text.append(content.getText());
1218                        
1219                }
1220                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1221                        _token = makeToken(_ttype);
1222                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1223                }
1224                _returnToken = _token;
1225        }
1226        
1227        protected final void mBLOCK_COMMENT_CONTENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1228                int _ttype; Token _token=null; int _begin=text.length();
1229                _ttype = BLOCK_COMMENT_CONTENT;
1230                int _saveIndex;
1231                
1232                {
1233                _loop533:
1234                do {
1235                        if ((LA(1)=='\r') && (LA(2)=='\n') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe'))) {
1236                                match('\r');
1237                                match('\n');
1238                                if ( inputState.guessing==0 ) {
1239                                        newline();
1240                                }
1241                        }
1242                        else if (((LA(1)=='*') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')))&&( LA(2)!='/' )) {
1243                                match('*');
1244                        }
1245                        else if ((LA(1)=='\r') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true)) {
1246                                match('\r');
1247                                if ( inputState.guessing==0 ) {
1248                                        newline();
1249                                }
1250                        }
1251                        else if ((LA(1)=='\n')) {
1252                                match('\n');
1253                                if ( inputState.guessing==0 ) {
1254                                        newline();
1255                                }
1256                        }
1257                        else if ((_tokenSet_2.member(LA(1)))) {
1258                                {
1259                                match(_tokenSet_2);
1260                                }
1261                        }
1262                        else {
1263                                break _loop533;
1264                        }
1265                        
1266                } while (true);
1267                }
1268                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1269                        _token = makeToken(_ttype);
1270                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1271                }
1272                _returnToken = _token;
1273        }
1274        
1275        public final void mTEXT_BLOCK_LITERAL_BEGIN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1276                int _ttype; Token _token=null; int _begin=text.length();
1277                _ttype = TEXT_BLOCK_LITERAL_BEGIN;
1278                int _saveIndex;
1279                
1280                match("\"\"\"");
1281                if ( inputState.guessing==0 ) {
1282                        selector.push("textBlockLexer");
1283                }
1284                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1285                        _token = makeToken(_ttype);
1286                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1287                }
1288                _returnToken = _token;
1289        }
1290        
1291        public final void mCHAR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1292                int _ttype; Token _token=null; int _begin=text.length();
1293                _ttype = CHAR_LITERAL;
1294                int _saveIndex;
1295                
1296                match('\'');
1297                {
1298                if ((LA(1)=='\\')) {
1299                        mESC(false);
1300                }
1301                else if ((_tokenSet_3.member(LA(1)))) {
1302                        matchNot('\'');
1303                }
1304                else {
1305                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1306                }
1307                
1308                }
1309                match('\'');
1310                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1311                        _token = makeToken(_ttype);
1312                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1313                }
1314                _returnToken = _token;
1315        }
1316        
1317        protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1318                int _ttype; Token _token=null; int _begin=text.length();
1319                _ttype = ESC;
1320                int _saveIndex;
1321                
1322                match('\\');
1323                {
1324                switch ( LA(1)) {
1325                case 'u':
1326                {
1327                        {
1328                        int _cnt543=0;
1329                        _loop543:
1330                        do {
1331                                if ((LA(1)=='u')) {
1332                                        match('u');
1333                                }
1334                                else {
1335                                        if ( _cnt543>=1 ) { break _loop543; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
1336                                }
1337                                
1338                                _cnt543++;
1339                        } while (true);
1340                        }
1341                        {
1342                        if ((LA(1)=='0') && (LA(2)=='0') && (LA(3)=='5') && (LA(4)=='C'||LA(4)=='c')) {
1343                                match('0');
1344                                match('0');
1345                                match('5');
1346                                {
1347                                switch ( LA(1)) {
1348                                case 'c':
1349                                {
1350                                        match('c');
1351                                        break;
1352                                }
1353                                case 'C':
1354                                {
1355                                        match('C');
1356                                        break;
1357                                }
1358                                default:
1359                                {
1360                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1361                                }
1362                                }
1363                                }
1364                                {
1365                                if ((LA(1)=='\\') && (LA(2)=='u') && (_tokenSet_4.member(LA(3))) && (_tokenSet_4.member(LA(4)))) {
1366                                        match('\\');
1367                                        {
1368                                        int _cnt548=0;
1369                                        _loop548:
1370                                        do {
1371                                                if ((LA(1)=='u')) {
1372                                                        match('u');
1373                                                }
1374                                                else {
1375                                                        if ( _cnt548>=1 ) { break _loop548; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
1376                                                }
1377                                                
1378                                                _cnt548++;
1379                                        } while (true);
1380                                        }
1381                                        mHEX_DIGIT(false);
1382                                        mHEX_DIGIT(false);
1383                                        mHEX_DIGIT(false);
1384                                        mHEX_DIGIT(false);
1385                                }
1386                                else if ((LA(1)=='"'||LA(1)=='\''||LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='\\'||LA(1)=='b'||LA(1)=='f'||LA(1)=='n'||LA(1)=='r'||LA(1)=='s'||LA(1)=='t') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true)) {
1387                                        mSTD_ESC(false);
1388                                }
1389                                else {
1390                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1391                                }
1392                                
1393                                }
1394                        }
1395                        else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3))) && (_tokenSet_5.member(LA(4)))) {
1396                                mHEX_DIGIT(false);
1397                                mHEX_DIGIT(false);
1398                                mHEX_DIGIT(false);
1399                                mHEX_DIGIT(false);
1400                        }
1401                        else {
1402                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1403                        }
1404                        
1405                        }
1406                        break;
1407                }
1408                case '"':  case '\'':  case '0':  case '1':
1409                case '2':  case '3':  case '4':  case '5':
1410                case '6':  case '7':  case '\\':  case 'b':
1411                case 'f':  case 'n':  case 'r':  case 's':
1412                case 't':
1413                {
1414                        mSTD_ESC(false);
1415                        break;
1416                }
1417                default:
1418                {
1419                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1420                }
1421                }
1422                }
1423                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1424                        _token = makeToken(_ttype);
1425                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1426                }
1427                _returnToken = _token;
1428        }
1429        
1430        public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1431                int _ttype; Token _token=null; int _begin=text.length();
1432                _ttype = STRING_LITERAL;
1433                int _saveIndex;
1434                
1435                match('"');
1436                {
1437                _loop539:
1438                do {
1439                        if ((LA(1)=='\\')) {
1440                                mESC(false);
1441                        }
1442                        else if ((_tokenSet_6.member(LA(1)))) {
1443                                matchNot('"');
1444                        }
1445                        else {
1446                                break _loop539;
1447                        }
1448                        
1449                } while (true);
1450                }
1451                match('"');
1452                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1453                        _token = makeToken(_ttype);
1454                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1455                }
1456                _returnToken = _token;
1457        }
1458        
1459        protected final void mHEX_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1460                int _ttype; Token _token=null; int _begin=text.length();
1461                _ttype = HEX_DIGIT;
1462                int _saveIndex;
1463                
1464                {
1465                switch ( LA(1)) {
1466                case '0':  case '1':  case '2':  case '3':
1467                case '4':  case '5':  case '6':  case '7':
1468                case '8':  case '9':
1469                {
1470                        matchRange('0','9');
1471                        break;
1472                }
1473                case 'A':  case 'B':  case 'C':  case 'D':
1474                case 'E':  case 'F':
1475                {
1476                        matchRange('A','F');
1477                        break;
1478                }
1479                case 'a':  case 'b':  case 'c':  case 'd':
1480                case 'e':  case 'f':
1481                {
1482                        matchRange('a','f');
1483                        break;
1484                }
1485                default:
1486                {
1487                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1488                }
1489                }
1490                }
1491                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1492                        _token = makeToken(_ttype);
1493                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1494                }
1495                _returnToken = _token;
1496        }
1497        
1498        protected final void mSTD_ESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1499                int _ttype; Token _token=null; int _begin=text.length();
1500                _ttype = STD_ESC;
1501                int _saveIndex;
1502                
1503                switch ( LA(1)) {
1504                case 'n':
1505                {
1506                        match('n');
1507                        break;
1508                }
1509                case 'r':
1510                {
1511                        match('r');
1512                        break;
1513                }
1514                case 't':
1515                {
1516                        match('t');
1517                        break;
1518                }
1519                case 'b':
1520                {
1521                        match('b');
1522                        break;
1523                }
1524                case 'f':
1525                {
1526                        match('f');
1527                        break;
1528                }
1529                case 's':
1530                {
1531                        match('s');
1532                        break;
1533                }
1534                case '"':
1535                {
1536                        match('"');
1537                        break;
1538                }
1539                case '\'':
1540                {
1541                        match('\'');
1542                        break;
1543                }
1544                case '\\':
1545                {
1546                        match('\\');
1547                        break;
1548                }
1549                case '0':  case '1':  case '2':  case '3':
1550                {
1551                        {
1552                        matchRange('0','3');
1553                        }
1554                        {
1555                        if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true)) {
1556                                {
1557                                matchRange('0','7');
1558                                }
1559                                {
1560                                if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true)) {
1561                                        matchRange('0','7');
1562                                }
1563                                else if (((LA(1) >= '\u0000' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) {
1564                                }
1565                                else {
1566                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1567                                }
1568                                
1569                                }
1570                        }
1571                        else if (((LA(1) >= '\u0000' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) {
1572                        }
1573                        else {
1574                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1575                        }
1576                        
1577                        }
1578                        break;
1579                }
1580                case '4':  case '5':  case '6':  case '7':
1581                {
1582                        {
1583                        matchRange('4','7');
1584                        }
1585                        {
1586                        if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true)) {
1587                                {
1588                                matchRange('0','9');
1589                                }
1590                        }
1591                        else if (((LA(1) >= '\u0000' && LA(1) <= '\ufffe')) && (true) && (true) && (true)) {
1592                        }
1593                        else {
1594                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1595                        }
1596                        
1597                        }
1598                        break;
1599                }
1600                default:
1601                {
1602                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1603                }
1604                }
1605                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1606                        _token = makeToken(_ttype);
1607                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1608                }
1609                _returnToken = _token;
1610        }
1611        
1612        protected final void mBINARY_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1613                int _ttype; Token _token=null; int _begin=text.length();
1614                _ttype = BINARY_DIGIT;
1615                int _saveIndex;
1616                
1617                {
1618                switch ( LA(1)) {
1619                case '0':
1620                {
1621                        match('0');
1622                        break;
1623                }
1624                case '1':
1625                {
1626                        match('1');
1627                        break;
1628                }
1629                default:
1630                {
1631                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1632                }
1633                }
1634                }
1635                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1636                        _token = makeToken(_ttype);
1637                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1638                }
1639                _returnToken = _token;
1640        }
1641        
1642        protected final void mID_START(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1643                int _ttype; Token _token=null; int _begin=text.length();
1644                _ttype = ID_START;
1645                int _saveIndex;
1646                
1647                try {      // for error handling
1648                        switch ( LA(1)) {
1649                        case '_':
1650                        {
1651                                match('_');
1652                                break;
1653                        }
1654                        case '$':
1655                        {
1656                                match('$');
1657                                break;
1658                        }
1659                        default:
1660                                if ((_tokenSet_7.member(LA(1)))) {
1661                                        {
1662                                        if (!(Character.isJavaIdentifierStart(LA(1))))
1663                                          throw new SemanticException("Character.isJavaIdentifierStart(LA(1))");
1664                                        {
1665                                        match(_tokenSet_7);
1666                                        }
1667                                        }
1668                                }
1669                        else {
1670                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1671                        }
1672                        }
1673                }
1674                catch (SemanticException ex) {
1675                        if (inputState.guessing==0) {
1676                                
1677                                throw new SemanticException(
1678                                MessageFormat.format(
1679                                "Unexpected character {0} in identifier",
1680                                new Object[] {"0x" + Integer.toHexString(LA(1))}),
1681                                getFilename(), getLine(), getColumn());
1682                                
1683                        } else {
1684                                throw ex;
1685                        }
1686                }
1687                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1688                        _token = makeToken(_ttype);
1689                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1690                }
1691                _returnToken = _token;
1692        }
1693        
1694        protected final void mID_PART(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1695                int _ttype; Token _token=null; int _begin=text.length();
1696                _ttype = ID_PART;
1697                int _saveIndex;
1698                
1699                try {      // for error handling
1700                        switch ( LA(1)) {
1701                        case '_':
1702                        {
1703                                match('_');
1704                                break;
1705                        }
1706                        case '$':
1707                        {
1708                                match('$');
1709                                break;
1710                        }
1711                        default:
1712                                if ((_tokenSet_8.member(LA(1)))) {
1713                                        {
1714                                        if (!(Character.isJavaIdentifierPart(LA(1))))
1715                                          throw new SemanticException("Character.isJavaIdentifierPart(LA(1))");
1716                                        {
1717                                        match(_tokenSet_8);
1718                                        }
1719                                        }
1720                                }
1721                        else {
1722                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1723                        }
1724                        }
1725                }
1726                catch (SemanticException ex) {
1727                        if (inputState.guessing==0) {
1728                                
1729                                throw new SemanticException(
1730                                MessageFormat.format(
1731                                "Unexpected character {0} in identifier",
1732                                new Object[] {"0x" + Integer.toHexString(LA(1))}),
1733                                getFilename(), getLine(), getColumn());
1734                                
1735                        } else {
1736                                throw ex;
1737                        }
1738                }
1739                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1740                        _token = makeToken(_ttype);
1741                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1742                }
1743                _returnToken = _token;
1744        }
1745        
1746        public final void mIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1747                int _ttype; Token _token=null; int _begin=text.length();
1748                _ttype = IDENT;
1749                int _saveIndex;
1750                
1751                mID_START(false);
1752                {
1753                _loop569:
1754                do {
1755                        if ((_tokenSet_9.member(LA(1)))) {
1756                                mID_PART(false);
1757                        }
1758                        else {
1759                                break _loop569;
1760                        }
1761                        
1762                } while (true);
1763                }
1764                if ( inputState.guessing==0 ) {
1765                        
1766                        if (mTreatAssertAsKeyword && "assert".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) {
1767                        _ttype = ASSERT;
1768                        }
1769                        if (mTreatEnumAsKeyword && "enum".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) {
1770                        _ttype = ENUM;
1771                        }
1772                        
1773                }
1774                _ttype = testLiteralsTable(_ttype);
1775                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1776                        _token = makeToken(_ttype);
1777                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1778                }
1779                _returnToken = _token;
1780        }
1781        
1782        public final void mNUM_INT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1783                int _ttype; Token _token=null; int _begin=text.length();
1784                _ttype = NUM_INT;
1785                int _saveIndex;
1786                
1787                boolean synPredMatched580 = false;
1788                if (((LA(1)=='0') && (LA(2)=='X'||LA(2)=='x') && (_tokenSet_10.member(LA(3))) && (_tokenSet_11.member(LA(4))))) {
1789                        int _m580 = mark();
1790                        synPredMatched580 = true;
1791                        inputState.guessing++;
1792                        try {
1793                                {
1794                                mHEX_DOUBLE_LITERAL(false);
1795                                }
1796                        }
1797                        catch (RecognitionException pe) {
1798                                synPredMatched580 = false;
1799                        }
1800                        rewind(_m580);
1801inputState.guessing--;
1802                }
1803                if ( synPredMatched580 ) {
1804                        mHEX_DOUBLE_LITERAL(false);
1805                        if ( inputState.guessing==0 ) {
1806                                _ttype = NUM_DOUBLE;
1807                        }
1808                }
1809                else {
1810                        boolean synPredMatched582 = false;
1811                        if (((LA(1)=='0') && (LA(2)=='X'||LA(2)=='x') && (_tokenSet_10.member(LA(3))) && (_tokenSet_11.member(LA(4))))) {
1812                                int _m582 = mark();
1813                                synPredMatched582 = true;
1814                                inputState.guessing++;
1815                                try {
1816                                        {
1817                                        mHEX_FLOAT_LITERAL(false);
1818                                        }
1819                                }
1820                                catch (RecognitionException pe) {
1821                                        synPredMatched582 = false;
1822                                }
1823                                rewind(_m582);
1824inputState.guessing--;
1825                        }
1826                        if ( synPredMatched582 ) {
1827                                mHEX_FLOAT_LITERAL(false);
1828                                if ( inputState.guessing==0 ) {
1829                                        _ttype = NUM_FLOAT;
1830                                }
1831                        }
1832                        else {
1833                                boolean synPredMatched572 = false;
1834                                if (((LA(1)=='.') && (LA(2)=='.') && (LA(3)=='.') && (true))) {
1835                                        int _m572 = mark();
1836                                        synPredMatched572 = true;
1837                                        inputState.guessing++;
1838                                        try {
1839                                                {
1840                                                mELLIPSIS(false);
1841                                                }
1842                                        }
1843                                        catch (RecognitionException pe) {
1844                                                synPredMatched572 = false;
1845                                        }
1846                                        rewind(_m572);
1847inputState.guessing--;
1848                                }
1849                                if ( synPredMatched572 ) {
1850                                        mELLIPSIS(false);
1851                                        if ( inputState.guessing==0 ) {
1852                                                _ttype = ELLIPSIS;
1853                                        }
1854                                }
1855                                else {
1856                                        boolean synPredMatched576 = false;
1857                                        if (((LA(1)=='.'||LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9') && (LA(2)=='.'||LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='D'||LA(2)=='E'||LA(2)=='_'||LA(2)=='d'||LA(2)=='e') && (true) && (true))) {
1858                                                int _m576 = mark();
1859                                                synPredMatched576 = true;
1860                                                inputState.guessing++;
1861                                                try {
1862                                                        {
1863                                                        mDOUBLE_LITERAL(false);
1864                                                        }
1865                                                }
1866                                                catch (RecognitionException pe) {
1867                                                        synPredMatched576 = false;
1868                                                }
1869                                                rewind(_m576);
1870inputState.guessing--;
1871                                        }
1872                                        if ( synPredMatched576 ) {
1873                                                mDOUBLE_LITERAL(false);
1874                                                if ( inputState.guessing==0 ) {
1875                                                        _ttype = NUM_DOUBLE;
1876                                                }
1877                                        }
1878                                        else {
1879                                                boolean synPredMatched578 = false;
1880                                                if (((LA(1)=='.'||LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9') && (LA(2)=='.'||LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='E'||LA(2)=='F'||LA(2)=='_'||LA(2)=='e'||LA(2)=='f') && (true) && (true))) {
1881                                                        int _m578 = mark();
1882                                                        synPredMatched578 = true;
1883                                                        inputState.guessing++;
1884                                                        try {
1885                                                                {
1886                                                                mFLOAT_LITERAL(false);
1887                                                                }
1888                                                        }
1889                                                        catch (RecognitionException pe) {
1890                                                                synPredMatched578 = false;
1891                                                        }
1892                                                        rewind(_m578);
1893inputState.guessing--;
1894                                                }
1895                                                if ( synPredMatched578 ) {
1896                                                        mFLOAT_LITERAL(false);
1897                                                        if ( inputState.guessing==0 ) {
1898                                                                _ttype = NUM_FLOAT;
1899                                                        }
1900                                                }
1901                                                else {
1902                                                        boolean synPredMatched584 = false;
1903                                                        if ((((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='B'||LA(2)=='L'||LA(2)=='X'||LA(2)=='_'||LA(2)=='b'||LA(2)=='l'||LA(2)=='x') && (true) && (true))) {
1904                                                                int _m584 = mark();
1905                                                                synPredMatched584 = true;
1906                                                                inputState.guessing++;
1907                                                                try {
1908                                                                        {
1909                                                                        mLONG_LITERAL(false);
1910                                                                        }
1911                                                                }
1912                                                                catch (RecognitionException pe) {
1913                                                                        synPredMatched584 = false;
1914                                                                }
1915                                                                rewind(_m584);
1916inputState.guessing--;
1917                                                        }
1918                                                        if ( synPredMatched584 ) {
1919                                                                mLONG_LITERAL(false);
1920                                                                if ( inputState.guessing==0 ) {
1921                                                                        _ttype = NUM_LONG;
1922                                                                }
1923                                                        }
1924                                                        else {
1925                                                                boolean synPredMatched574 = false;
1926                                                                if (((LA(1)=='.') && (true))) {
1927                                                                        int _m574 = mark();
1928                                                                        synPredMatched574 = true;
1929                                                                        inputState.guessing++;
1930                                                                        try {
1931                                                                                {
1932                                                                                mDOT(false);
1933                                                                                }
1934                                                                        }
1935                                                                        catch (RecognitionException pe) {
1936                                                                                synPredMatched574 = false;
1937                                                                        }
1938                                                                        rewind(_m574);
1939inputState.guessing--;
1940                                                                }
1941                                                                if ( synPredMatched574 ) {
1942                                                                        mDOT(false);
1943                                                                        if ( inputState.guessing==0 ) {
1944                                                                                _ttype = DOT;
1945                                                                        }
1946                                                                }
1947                                                                else {
1948                                                                        boolean synPredMatched586 = false;
1949                                                                        if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) {
1950                                                                                int _m586 = mark();
1951                                                                                synPredMatched586 = true;
1952                                                                                inputState.guessing++;
1953                                                                                try {
1954                                                                                        {
1955                                                                                        mINT_LITERAL(false);
1956                                                                                        }
1957                                                                                }
1958                                                                                catch (RecognitionException pe) {
1959                                                                                        synPredMatched586 = false;
1960                                                                                }
1961                                                                                rewind(_m586);
1962inputState.guessing--;
1963                                                                        }
1964                                                                        if ( synPredMatched586 ) {
1965                                                                                mINT_LITERAL(false);
1966                                                                                if ( inputState.guessing==0 ) {
1967                                                                                        _ttype = NUM_INT;
1968                                                                                }
1969                                                                        }
1970                                                                        else {
1971                                                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
1972                                                                        }
1973                                                                        }}}}}}}
1974                                                                        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1975                                                                                _token = makeToken(_ttype);
1976                                                                                _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1977                                                                        }
1978                                                                        _returnToken = _token;
1979                                                                }
1980                                                                
1981        protected final void mELLIPSIS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1982                int _ttype; Token _token=null; int _begin=text.length();
1983                _ttype = ELLIPSIS;
1984                int _saveIndex;
1985                
1986                match("...");
1987                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
1988                        _token = makeToken(_ttype);
1989                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
1990                }
1991                _returnToken = _token;
1992        }
1993        
1994        protected final void mDOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
1995                int _ttype; Token _token=null; int _begin=text.length();
1996                _ttype = DOT;
1997                int _saveIndex;
1998                
1999                match('.');
2000                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
2001                        _token = makeToken(_ttype);
2002                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
2003                }
2004                _returnToken = _token;
2005        }
2006        
2007        protected final void mDOUBLE_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
2008                int _ttype; Token _token=null; int _begin=text.length();
2009                _ttype = DOUBLE_LITERAL;
2010                int _saveIndex;
2011                
2012                {
2013                boolean synPredMatched688 = false;
2014                if (((LA(1)=='.'||LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9') && (LA(2)=='.'||LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_') && (LA(3)=='.'||LA(3)=='0'||LA(3)=='1'||LA(3)=='2'||LA(3)=='3'||LA(3)=='4'||LA(3)=='5'||LA(3)=='6'||LA(3)=='7'||LA(3)=='8'||LA(3)=='9'||LA(3)=='D'||LA(3)=='E'||LA(3)=='_'||LA(3)=='d'||LA(3)=='e') && (true))) {
2015                        int _m688 = mark();
2016                        synPredMatched688 = true;
2017                        inputState.guessing++;
2018                        try {
2019                                {
2020                                {
2021                                switch ( LA(1)) {
2022                                case '0':  case '1':  case '2':  case '3':
2023                                case '4':  case '5':  case '6':  case '7':
2024                                case '8':  case '9':
2025                                {
2026                                        {
2027                                        matchRange('0','9');
2028                                        }
2029                                        {
2030                                        switch ( LA(1)) {
2031                                        case '0':  case '1':  case '2':  case '3':
2032                                        case '4':  case '5':  case '6':  case '7':
2033                                        case '8':  case '9':  case '_':
2034                                        {
2035                                                {
2036                                                _loop686:
2037                                                do {
2038                                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2039                                                                matchRange('0','9');
2040                                                        }
2041                                                        else if ((LA(1)=='_')) {
2042                                                                match('_');
2043                                                        }
2044                                                        else {
2045                                                                break _loop686;
2046                                                        }
2047                                                        
2048                                                } while (true);
2049                                                }
2050                                                {
2051                                                matchRange('0','9');
2052                                                }
2053                                                break;
2054                                        }
2055                                        case '.':
2056                                        {
2057                                                break;
2058                                        }
2059                                        default:
2060                                        {
2061                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2062                                        }
2063                                        }
2064                                        }
2065                                        break;
2066                                }
2067                                case '.':
2068                                {
2069                                        break;
2070                                }
2071                                default:
2072                                {
2073                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2074                                }
2075                                }
2076                                }
2077                                match('.');
2078                                }
2079                        }
2080                        catch (RecognitionException pe) {
2081                                synPredMatched688 = false;
2082                        }
2083                        rewind(_m688);
2084inputState.guessing--;
2085                }
2086                if ( synPredMatched688 ) {
2087                        {
2088                        switch ( LA(1)) {
2089                        case '0':  case '1':  case '2':  case '3':
2090                        case '4':  case '5':  case '6':  case '7':
2091                        case '8':  case '9':
2092                        {
2093                                {
2094                                {
2095                                matchRange('0','9');
2096                                }
2097                                {
2098                                switch ( LA(1)) {
2099                                case '0':  case '1':  case '2':  case '3':
2100                                case '4':  case '5':  case '6':  case '7':
2101                                case '8':  case '9':  case '_':
2102                                {
2103                                        {
2104                                        _loop694:
2105                                        do {
2106                                                if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2107                                                        matchRange('0','9');
2108                                                }
2109                                                else if ((LA(1)=='_')) {
2110                                                        match('_');
2111                                                }
2112                                                else {
2113                                                        break _loop694;
2114                                                }
2115                                                
2116                                        } while (true);
2117                                        }
2118                                        {
2119                                        matchRange('0','9');
2120                                        }
2121                                        break;
2122                                }
2123                                case '.':
2124                                {
2125                                        break;
2126                                }
2127                                default:
2128                                {
2129                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2130                                }
2131                                }
2132                                }
2133                                }
2134                                match('.');
2135                                {
2136                                switch ( LA(1)) {
2137                                case '0':  case '1':  case '2':  case '3':
2138                                case '4':  case '5':  case '6':  case '7':
2139                                case '8':  case '9':
2140                                {
2141                                        {
2142                                        matchRange('0','9');
2143                                        }
2144                                        {
2145                                        switch ( LA(1)) {
2146                                        case '0':  case '1':  case '2':  case '3':
2147                                        case '4':  case '5':  case '6':  case '7':
2148                                        case '8':  case '9':  case '_':
2149                                        {
2150                                                {
2151                                                _loop700:
2152                                                do {
2153                                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2154                                                                matchRange('0','9');
2155                                                        }
2156                                                        else if ((LA(1)=='_')) {
2157                                                                match('_');
2158                                                        }
2159                                                        else {
2160                                                                break _loop700;
2161                                                        }
2162                                                        
2163                                                } while (true);
2164                                                }
2165                                                {
2166                                                matchRange('0','9');
2167                                                }
2168                                                break;
2169                                        }
2170                                        case 'D':  case 'E':  case 'd':  case 'e':
2171                                        {
2172                                                break;
2173                                        }
2174                                        default:
2175                                        {
2176                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2177                                        }
2178                                        }
2179                                        }
2180                                        break;
2181                                }
2182                                case 'D':  case 'E':  case 'd':  case 'e':
2183                                {
2184                                        break;
2185                                }
2186                                default:
2187                                {
2188                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2189                                }
2190                                }
2191                                }
2192                                break;
2193                        }
2194                        case '.':
2195                        {
2196                                match('.');
2197                                {
2198                                {
2199                                matchRange('0','9');
2200                                }
2201                                {
2202                                switch ( LA(1)) {
2203                                case '0':  case '1':  case '2':  case '3':
2204                                case '4':  case '5':  case '6':  case '7':
2205                                case '8':  case '9':  case '_':
2206                                {
2207                                        {
2208                                        _loop706:
2209                                        do {
2210                                                if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2211                                                        matchRange('0','9');
2212                                                }
2213                                                else if ((LA(1)=='_')) {
2214                                                        match('_');
2215                                                }
2216                                                else {
2217                                                        break _loop706;
2218                                                }
2219                                                
2220                                        } while (true);
2221                                        }
2222                                        {
2223                                        matchRange('0','9');
2224                                        }
2225                                        break;
2226                                }
2227                                case 'D':  case 'E':  case 'd':  case 'e':
2228                                {
2229                                        break;
2230                                }
2231                                default:
2232                                {
2233                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2234                                }
2235                                }
2236                                }
2237                                }
2238                                break;
2239                        }
2240                        default:
2241                        {
2242                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2243                        }
2244                        }
2245                        }
2246                }
2247                else if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='D'||LA(2)=='E'||LA(2)=='_'||LA(2)=='d'||LA(2)=='e') && (true) && (true)) {
2248                        {
2249                        {
2250                        matchRange('0','9');
2251                        }
2252                        {
2253                        switch ( LA(1)) {
2254                        case '0':  case '1':  case '2':  case '3':
2255                        case '4':  case '5':  case '6':  case '7':
2256                        case '8':  case '9':  case '_':
2257                        {
2258                                {
2259                                _loop712:
2260                                do {
2261                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2262                                                matchRange('0','9');
2263                                        }
2264                                        else if ((LA(1)=='_')) {
2265                                                match('_');
2266                                        }
2267                                        else {
2268                                                break _loop712;
2269                                        }
2270                                        
2271                                } while (true);
2272                                }
2273                                {
2274                                matchRange('0','9');
2275                                }
2276                                break;
2277                        }
2278                        case 'D':  case 'E':  case 'd':  case 'e':
2279                        {
2280                                break;
2281                        }
2282                        default:
2283                        {
2284                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2285                        }
2286                        }
2287                        }
2288                        }
2289                }
2290                else {
2291                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2292                }
2293                
2294                }
2295                {
2296                switch ( LA(1)) {
2297                case 'E':  case 'e':
2298                {
2299                        mEXPONENT(false);
2300                        break;
2301                }
2302                case 'D':  case 'd':
2303                {
2304                        break;
2305                }
2306                default:
2307                {
2308                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2309                }
2310                }
2311                }
2312                {
2313                switch ( LA(1)) {
2314                case 'd':
2315                {
2316                        match('d');
2317                        break;
2318                }
2319                case 'D':
2320                {
2321                        match('D');
2322                        break;
2323                }
2324                default:
2325                {
2326                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2327                }
2328                }
2329                }
2330                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
2331                        _token = makeToken(_ttype);
2332                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
2333                }
2334                _returnToken = _token;
2335        }
2336        
2337        protected final void mFLOAT_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
2338                int _ttype; Token _token=null; int _begin=text.length();
2339                _ttype = FLOAT_LITERAL;
2340                int _saveIndex;
2341                
2342                {
2343                boolean synPredMatched647 = false;
2344                if (((LA(1)=='.'||LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9') && (LA(2)=='.'||LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_') && (true) && (true))) {
2345                        int _m647 = mark();
2346                        synPredMatched647 = true;
2347                        inputState.guessing++;
2348                        try {
2349                                {
2350                                {
2351                                switch ( LA(1)) {
2352                                case '0':  case '1':  case '2':  case '3':
2353                                case '4':  case '5':  case '6':  case '7':
2354                                case '8':  case '9':
2355                                {
2356                                        {
2357                                        matchRange('0','9');
2358                                        }
2359                                        {
2360                                        switch ( LA(1)) {
2361                                        case '0':  case '1':  case '2':  case '3':
2362                                        case '4':  case '5':  case '6':  case '7':
2363                                        case '8':  case '9':  case '_':
2364                                        {
2365                                                {
2366                                                _loop645:
2367                                                do {
2368                                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2369                                                                matchRange('0','9');
2370                                                        }
2371                                                        else if ((LA(1)=='_')) {
2372                                                                match('_');
2373                                                        }
2374                                                        else {
2375                                                                break _loop645;
2376                                                        }
2377                                                        
2378                                                } while (true);
2379                                                }
2380                                                {
2381                                                matchRange('0','9');
2382                                                }
2383                                                break;
2384                                        }
2385                                        case '.':
2386                                        {
2387                                                break;
2388                                        }
2389                                        default:
2390                                        {
2391                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2392                                        }
2393                                        }
2394                                        }
2395                                        break;
2396                                }
2397                                case '.':
2398                                {
2399                                        break;
2400                                }
2401                                default:
2402                                {
2403                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2404                                }
2405                                }
2406                                }
2407                                match('.');
2408                                }
2409                        }
2410                        catch (RecognitionException pe) {
2411                                synPredMatched647 = false;
2412                        }
2413                        rewind(_m647);
2414inputState.guessing--;
2415                }
2416                if ( synPredMatched647 ) {
2417                        {
2418                        switch ( LA(1)) {
2419                        case '0':  case '1':  case '2':  case '3':
2420                        case '4':  case '5':  case '6':  case '7':
2421                        case '8':  case '9':
2422                        {
2423                                {
2424                                {
2425                                matchRange('0','9');
2426                                }
2427                                {
2428                                switch ( LA(1)) {
2429                                case '0':  case '1':  case '2':  case '3':
2430                                case '4':  case '5':  case '6':  case '7':
2431                                case '8':  case '9':  case '_':
2432                                {
2433                                        {
2434                                        _loop653:
2435                                        do {
2436                                                if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2437                                                        matchRange('0','9');
2438                                                }
2439                                                else if ((LA(1)=='_')) {
2440                                                        match('_');
2441                                                }
2442                                                else {
2443                                                        break _loop653;
2444                                                }
2445                                                
2446                                        } while (true);
2447                                        }
2448                                        {
2449                                        matchRange('0','9');
2450                                        }
2451                                        break;
2452                                }
2453                                case '.':
2454                                {
2455                                        break;
2456                                }
2457                                default:
2458                                {
2459                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2460                                }
2461                                }
2462                                }
2463                                }
2464                                match('.');
2465                                {
2466                                if (((LA(1) >= '0' && LA(1) <= '9'))) {
2467                                        {
2468                                        matchRange('0','9');
2469                                        }
2470                                        {
2471                                        if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9'||LA(1)=='_')) {
2472                                                {
2473                                                _loop659:
2474                                                do {
2475                                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2476                                                                matchRange('0','9');
2477                                                        }
2478                                                        else if ((LA(1)=='_')) {
2479                                                                match('_');
2480                                                        }
2481                                                        else {
2482                                                                break _loop659;
2483                                                        }
2484                                                        
2485                                                } while (true);
2486                                                }
2487                                                {
2488                                                matchRange('0','9');
2489                                                }
2490                                        }
2491                                        else {
2492                                        }
2493                                        
2494                                        }
2495                                }
2496                                else {
2497                                }
2498                                
2499                                }
2500                                break;
2501                        }
2502                        case '.':
2503                        {
2504                                match('.');
2505                                {
2506                                {
2507                                matchRange('0','9');
2508                                }
2509                                {
2510                                if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9'||LA(1)=='_')) {
2511                                        {
2512                                        _loop665:
2513                                        do {
2514                                                if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2515                                                        matchRange('0','9');
2516                                                }
2517                                                else if ((LA(1)=='_')) {
2518                                                        match('_');
2519                                                }
2520                                                else {
2521                                                        break _loop665;
2522                                                }
2523                                                
2524                                        } while (true);
2525                                        }
2526                                        {
2527                                        matchRange('0','9');
2528                                        }
2529                                }
2530                                else {
2531                                }
2532                                
2533                                }
2534                                }
2535                                break;
2536                        }
2537                        default:
2538                        {
2539                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2540                        }
2541                        }
2542                        }
2543                        {
2544                        if ((LA(1)=='E'||LA(1)=='e')) {
2545                                mEXPONENT(false);
2546                        }
2547                        else {
2548                        }
2549                        
2550                        }
2551                        {
2552                        switch ( LA(1)) {
2553                        case 'f':
2554                        {
2555                                match('f');
2556                                break;
2557                        }
2558                        case 'F':
2559                        {
2560                                match('F');
2561                                break;
2562                        }
2563                        default:
2564                                {
2565                                }
2566                        }
2567                        }
2568                }
2569                else if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='E'||LA(2)=='F'||LA(2)=='_'||LA(2)=='e'||LA(2)=='f') && (true) && (true)) {
2570                        {
2571                        {
2572                        matchRange('0','9');
2573                        }
2574                        {
2575                        switch ( LA(1)) {
2576                        case '0':  case '1':  case '2':  case '3':
2577                        case '4':  case '5':  case '6':  case '7':
2578                        case '8':  case '9':  case '_':
2579                        {
2580                                {
2581                                _loop673:
2582                                do {
2583                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
2584                                                matchRange('0','9');
2585                                        }
2586                                        else if ((LA(1)=='_')) {
2587                                                match('_');
2588                                        }
2589                                        else {
2590                                                break _loop673;
2591                                        }
2592                                        
2593                                } while (true);
2594                                }
2595                                {
2596                                matchRange('0','9');
2597                                }
2598                                break;
2599                        }
2600                        case 'E':  case 'F':  case 'e':  case 'f':
2601                        {
2602                                break;
2603                        }
2604                        default:
2605                        {
2606                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2607                        }
2608                        }
2609                        }
2610                        }
2611                        {
2612                        switch ( LA(1)) {
2613                        case 'E':  case 'e':
2614                        {
2615                                {
2616                                mEXPONENT(false);
2617                                {
2618                                switch ( LA(1)) {
2619                                case 'f':
2620                                {
2621                                        match('f');
2622                                        break;
2623                                }
2624                                case 'F':
2625                                {
2626                                        match('F');
2627                                        break;
2628                                }
2629                                default:
2630                                        {
2631                                        }
2632                                }
2633                                }
2634                                }
2635                                break;
2636                        }
2637                        case 'F':  case 'f':
2638                        {
2639                                {
2640                                switch ( LA(1)) {
2641                                case 'f':
2642                                {
2643                                        match('f');
2644                                        break;
2645                                }
2646                                case 'F':
2647                                {
2648                                        match('F');
2649                                        break;
2650                                }
2651                                default:
2652                                {
2653                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2654                                }
2655                                }
2656                                }
2657                                break;
2658                        }
2659                        default:
2660                        {
2661                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2662                        }
2663                        }
2664                        }
2665                }
2666                else {
2667                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2668                }
2669                
2670                }
2671                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
2672                        _token = makeToken(_ttype);
2673                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
2674                }
2675                _returnToken = _token;
2676        }
2677        
2678        protected final void mHEX_DOUBLE_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
2679                int _ttype; Token _token=null; int _begin=text.length();
2680                _ttype = HEX_DOUBLE_LITERAL;
2681                int _saveIndex;
2682                
2683                match('0');
2684                {
2685                switch ( LA(1)) {
2686                case 'x':
2687                {
2688                        match('x');
2689                        break;
2690                }
2691                case 'X':
2692                {
2693                        match('X');
2694                        break;
2695                }
2696                default:
2697                {
2698                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2699                }
2700                }
2701                }
2702                {
2703                boolean synPredMatched763 = false;
2704                if (((_tokenSet_10.member(LA(1))) && (_tokenSet_12.member(LA(2))) && (_tokenSet_11.member(LA(3))) && (_tokenSet_13.member(LA(4))))) {
2705                        int _m763 = mark();
2706                        synPredMatched763 = true;
2707                        inputState.guessing++;
2708                        try {
2709                                {
2710                                {
2711                                switch ( LA(1)) {
2712                                case '0':  case '1':  case '2':  case '3':
2713                                case '4':  case '5':  case '6':  case '7':
2714                                case '8':  case '9':  case 'A':  case 'B':
2715                                case 'C':  case 'D':  case 'E':  case 'F':
2716                                case 'a':  case 'b':  case 'c':  case 'd':
2717                                case 'e':  case 'f':
2718                                {
2719                                        {
2720                                        mHEX_DIGIT(false);
2721                                        }
2722                                        {
2723                                        switch ( LA(1)) {
2724                                        case '0':  case '1':  case '2':  case '3':
2725                                        case '4':  case '5':  case '6':  case '7':
2726                                        case '8':  case '9':  case 'A':  case 'B':
2727                                        case 'C':  case 'D':  case 'E':  case 'F':
2728                                        case '_':  case 'a':  case 'b':  case 'c':
2729                                        case 'd':  case 'e':  case 'f':
2730                                        {
2731                                                {
2732                                                _loop761:
2733                                                do {
2734                                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
2735                                                                mHEX_DIGIT(false);
2736                                                        }
2737                                                        else if ((LA(1)=='_')) {
2738                                                                match('_');
2739                                                        }
2740                                                        else {
2741                                                                break _loop761;
2742                                                        }
2743                                                        
2744                                                } while (true);
2745                                                }
2746                                                {
2747                                                mHEX_DIGIT(false);
2748                                                }
2749                                                break;
2750                                        }
2751                                        case '.':
2752                                        {
2753                                                break;
2754                                        }
2755                                        default:
2756                                        {
2757                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2758                                        }
2759                                        }
2760                                        }
2761                                        break;
2762                                }
2763                                case '.':
2764                                {
2765                                        break;
2766                                }
2767                                default:
2768                                {
2769                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2770                                }
2771                                }
2772                                }
2773                                match('.');
2774                                }
2775                        }
2776                        catch (RecognitionException pe) {
2777                                synPredMatched763 = false;
2778                        }
2779                        rewind(_m763);
2780inputState.guessing--;
2781                }
2782                if ( synPredMatched763 ) {
2783                        {
2784                        switch ( LA(1)) {
2785                        case '0':  case '1':  case '2':  case '3':
2786                        case '4':  case '5':  case '6':  case '7':
2787                        case '8':  case '9':  case 'A':  case 'B':
2788                        case 'C':  case 'D':  case 'E':  case 'F':
2789                        case 'a':  case 'b':  case 'c':  case 'd':
2790                        case 'e':  case 'f':
2791                        {
2792                                {
2793                                {
2794                                mHEX_DIGIT(false);
2795                                }
2796                                {
2797                                switch ( LA(1)) {
2798                                case '0':  case '1':  case '2':  case '3':
2799                                case '4':  case '5':  case '6':  case '7':
2800                                case '8':  case '9':  case 'A':  case 'B':
2801                                case 'C':  case 'D':  case 'E':  case 'F':
2802                                case '_':  case 'a':  case 'b':  case 'c':
2803                                case 'd':  case 'e':  case 'f':
2804                                {
2805                                        {
2806                                        _loop769:
2807                                        do {
2808                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
2809                                                        mHEX_DIGIT(false);
2810                                                }
2811                                                else if ((LA(1)=='_')) {
2812                                                        match('_');
2813                                                }
2814                                                else {
2815                                                        break _loop769;
2816                                                }
2817                                                
2818                                        } while (true);
2819                                        }
2820                                        {
2821                                        mHEX_DIGIT(false);
2822                                        }
2823                                        break;
2824                                }
2825                                case '.':
2826                                {
2827                                        break;
2828                                }
2829                                default:
2830                                {
2831                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2832                                }
2833                                }
2834                                }
2835                                }
2836                                match('.');
2837                                {
2838                                switch ( LA(1)) {
2839                                case '0':  case '1':  case '2':  case '3':
2840                                case '4':  case '5':  case '6':  case '7':
2841                                case '8':  case '9':  case 'A':  case 'B':
2842                                case 'C':  case 'D':  case 'E':  case 'F':
2843                                case 'a':  case 'b':  case 'c':  case 'd':
2844                                case 'e':  case 'f':
2845                                {
2846                                        {
2847                                        mHEX_DIGIT(false);
2848                                        }
2849                                        {
2850                                        switch ( LA(1)) {
2851                                        case '0':  case '1':  case '2':  case '3':
2852                                        case '4':  case '5':  case '6':  case '7':
2853                                        case '8':  case '9':  case 'A':  case 'B':
2854                                        case 'C':  case 'D':  case 'E':  case 'F':
2855                                        case '_':  case 'a':  case 'b':  case 'c':
2856                                        case 'd':  case 'e':  case 'f':
2857                                        {
2858                                                {
2859                                                _loop775:
2860                                                do {
2861                                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
2862                                                                mHEX_DIGIT(false);
2863                                                        }
2864                                                        else if ((LA(1)=='_')) {
2865                                                                match('_');
2866                                                        }
2867                                                        else {
2868                                                                break _loop775;
2869                                                        }
2870                                                        
2871                                                } while (true);
2872                                                }
2873                                                {
2874                                                mHEX_DIGIT(false);
2875                                                }
2876                                                break;
2877                                        }
2878                                        case 'P':  case 'p':
2879                                        {
2880                                                break;
2881                                        }
2882                                        default:
2883                                        {
2884                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2885                                        }
2886                                        }
2887                                        }
2888                                        break;
2889                                }
2890                                case 'P':  case 'p':
2891                                {
2892                                        break;
2893                                }
2894                                default:
2895                                {
2896                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2897                                }
2898                                }
2899                                }
2900                                break;
2901                        }
2902                        case '.':
2903                        {
2904                                match('.');
2905                                {
2906                                {
2907                                mHEX_DIGIT(false);
2908                                }
2909                                {
2910                                switch ( LA(1)) {
2911                                case '0':  case '1':  case '2':  case '3':
2912                                case '4':  case '5':  case '6':  case '7':
2913                                case '8':  case '9':  case 'A':  case 'B':
2914                                case 'C':  case 'D':  case 'E':  case 'F':
2915                                case '_':  case 'a':  case 'b':  case 'c':
2916                                case 'd':  case 'e':  case 'f':
2917                                {
2918                                        {
2919                                        _loop781:
2920                                        do {
2921                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
2922                                                        mHEX_DIGIT(false);
2923                                                }
2924                                                else if ((LA(1)=='_')) {
2925                                                        match('_');
2926                                                }
2927                                                else {
2928                                                        break _loop781;
2929                                                }
2930                                                
2931                                        } while (true);
2932                                        }
2933                                        {
2934                                        mHEX_DIGIT(false);
2935                                        }
2936                                        break;
2937                                }
2938                                case 'P':  case 'p':
2939                                {
2940                                        break;
2941                                }
2942                                default:
2943                                {
2944                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2945                                }
2946                                }
2947                                }
2948                                }
2949                                break;
2950                        }
2951                        default:
2952                        {
2953                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2954                        }
2955                        }
2956                        }
2957                }
2958                else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_15.member(LA(2))) && (_tokenSet_16.member(LA(3))) && (_tokenSet_16.member(LA(4)))) {
2959                        {
2960                        {
2961                        mHEX_DIGIT(false);
2962                        }
2963                        {
2964                        switch ( LA(1)) {
2965                        case '0':  case '1':  case '2':  case '3':
2966                        case '4':  case '5':  case '6':  case '7':
2967                        case '8':  case '9':  case 'A':  case 'B':
2968                        case 'C':  case 'D':  case 'E':  case 'F':
2969                        case '_':  case 'a':  case 'b':  case 'c':
2970                        case 'd':  case 'e':  case 'f':
2971                        {
2972                                {
2973                                _loop787:
2974                                do {
2975                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
2976                                                mHEX_DIGIT(false);
2977                                        }
2978                                        else if ((LA(1)=='_')) {
2979                                                match('_');
2980                                        }
2981                                        else {
2982                                                break _loop787;
2983                                        }
2984                                        
2985                                } while (true);
2986                                }
2987                                {
2988                                mHEX_DIGIT(false);
2989                                }
2990                                break;
2991                        }
2992                        case 'P':  case 'p':
2993                        {
2994                                break;
2995                        }
2996                        default:
2997                        {
2998                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
2999                        }
3000                        }
3001                        }
3002                        }
3003                }
3004                else {
3005                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3006                }
3007                
3008                }
3009                mBINARY_EXPONENT(false);
3010                {
3011                switch ( LA(1)) {
3012                case 'd':
3013                {
3014                        match('d');
3015                        break;
3016                }
3017                case 'D':
3018                {
3019                        match('D');
3020                        break;
3021                }
3022                default:
3023                {
3024                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3025                }
3026                }
3027                }
3028                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3029                        _token = makeToken(_ttype);
3030                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3031                }
3032                _returnToken = _token;
3033        }
3034        
3035        protected final void mHEX_FLOAT_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3036                int _ttype; Token _token=null; int _begin=text.length();
3037                _ttype = HEX_FLOAT_LITERAL;
3038                int _saveIndex;
3039                
3040                match('0');
3041                {
3042                switch ( LA(1)) {
3043                case 'x':
3044                {
3045                        match('x');
3046                        break;
3047                }
3048                case 'X':
3049                {
3050                        match('X');
3051                        break;
3052                }
3053                default:
3054                {
3055                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3056                }
3057                }
3058                }
3059                {
3060                boolean synPredMatched726 = false;
3061                if (((_tokenSet_10.member(LA(1))) && (_tokenSet_12.member(LA(2))) && (_tokenSet_11.member(LA(3))) && (_tokenSet_13.member(LA(4))))) {
3062                        int _m726 = mark();
3063                        synPredMatched726 = true;
3064                        inputState.guessing++;
3065                        try {
3066                                {
3067                                {
3068                                switch ( LA(1)) {
3069                                case '0':  case '1':  case '2':  case '3':
3070                                case '4':  case '5':  case '6':  case '7':
3071                                case '8':  case '9':  case 'A':  case 'B':
3072                                case 'C':  case 'D':  case 'E':  case 'F':
3073                                case 'a':  case 'b':  case 'c':  case 'd':
3074                                case 'e':  case 'f':
3075                                {
3076                                        {
3077                                        mHEX_DIGIT(false);
3078                                        }
3079                                        {
3080                                        switch ( LA(1)) {
3081                                        case '0':  case '1':  case '2':  case '3':
3082                                        case '4':  case '5':  case '6':  case '7':
3083                                        case '8':  case '9':  case 'A':  case 'B':
3084                                        case 'C':  case 'D':  case 'E':  case 'F':
3085                                        case '_':  case 'a':  case 'b':  case 'c':
3086                                        case 'd':  case 'e':  case 'f':
3087                                        {
3088                                                {
3089                                                _loop724:
3090                                                do {
3091                                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3092                                                                mHEX_DIGIT(false);
3093                                                        }
3094                                                        else if ((LA(1)=='_')) {
3095                                                                match('_');
3096                                                        }
3097                                                        else {
3098                                                                break _loop724;
3099                                                        }
3100                                                        
3101                                                } while (true);
3102                                                }
3103                                                {
3104                                                mHEX_DIGIT(false);
3105                                                }
3106                                                break;
3107                                        }
3108                                        case '.':
3109                                        {
3110                                                break;
3111                                        }
3112                                        default:
3113                                        {
3114                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3115                                        }
3116                                        }
3117                                        }
3118                                        break;
3119                                }
3120                                case '.':
3121                                {
3122                                        break;
3123                                }
3124                                default:
3125                                {
3126                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3127                                }
3128                                }
3129                                }
3130                                match('.');
3131                                }
3132                        }
3133                        catch (RecognitionException pe) {
3134                                synPredMatched726 = false;
3135                        }
3136                        rewind(_m726);
3137inputState.guessing--;
3138                }
3139                if ( synPredMatched726 ) {
3140                        {
3141                        switch ( LA(1)) {
3142                        case '0':  case '1':  case '2':  case '3':
3143                        case '4':  case '5':  case '6':  case '7':
3144                        case '8':  case '9':  case 'A':  case 'B':
3145                        case 'C':  case 'D':  case 'E':  case 'F':
3146                        case 'a':  case 'b':  case 'c':  case 'd':
3147                        case 'e':  case 'f':
3148                        {
3149                                {
3150                                {
3151                                mHEX_DIGIT(false);
3152                                }
3153                                {
3154                                switch ( LA(1)) {
3155                                case '0':  case '1':  case '2':  case '3':
3156                                case '4':  case '5':  case '6':  case '7':
3157                                case '8':  case '9':  case 'A':  case 'B':
3158                                case 'C':  case 'D':  case 'E':  case 'F':
3159                                case '_':  case 'a':  case 'b':  case 'c':
3160                                case 'd':  case 'e':  case 'f':
3161                                {
3162                                        {
3163                                        _loop732:
3164                                        do {
3165                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3166                                                        mHEX_DIGIT(false);
3167                                                }
3168                                                else if ((LA(1)=='_')) {
3169                                                        match('_');
3170                                                }
3171                                                else {
3172                                                        break _loop732;
3173                                                }
3174                                                
3175                                        } while (true);
3176                                        }
3177                                        {
3178                                        mHEX_DIGIT(false);
3179                                        }
3180                                        break;
3181                                }
3182                                case '.':
3183                                {
3184                                        break;
3185                                }
3186                                default:
3187                                {
3188                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3189                                }
3190                                }
3191                                }
3192                                }
3193                                match('.');
3194                                {
3195                                switch ( LA(1)) {
3196                                case '0':  case '1':  case '2':  case '3':
3197                                case '4':  case '5':  case '6':  case '7':
3198                                case '8':  case '9':  case 'A':  case 'B':
3199                                case 'C':  case 'D':  case 'E':  case 'F':
3200                                case 'a':  case 'b':  case 'c':  case 'd':
3201                                case 'e':  case 'f':
3202                                {
3203                                        {
3204                                        mHEX_DIGIT(false);
3205                                        }
3206                                        {
3207                                        switch ( LA(1)) {
3208                                        case '0':  case '1':  case '2':  case '3':
3209                                        case '4':  case '5':  case '6':  case '7':
3210                                        case '8':  case '9':  case 'A':  case 'B':
3211                                        case 'C':  case 'D':  case 'E':  case 'F':
3212                                        case '_':  case 'a':  case 'b':  case 'c':
3213                                        case 'd':  case 'e':  case 'f':
3214                                        {
3215                                                {
3216                                                _loop738:
3217                                                do {
3218                                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3219                                                                mHEX_DIGIT(false);
3220                                                        }
3221                                                        else if ((LA(1)=='_')) {
3222                                                                match('_');
3223                                                        }
3224                                                        else {
3225                                                                break _loop738;
3226                                                        }
3227                                                        
3228                                                } while (true);
3229                                                }
3230                                                {
3231                                                mHEX_DIGIT(false);
3232                                                }
3233                                                break;
3234                                        }
3235                                        case 'P':  case 'p':
3236                                        {
3237                                                break;
3238                                        }
3239                                        default:
3240                                        {
3241                                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3242                                        }
3243                                        }
3244                                        }
3245                                        break;
3246                                }
3247                                case 'P':  case 'p':
3248                                {
3249                                        break;
3250                                }
3251                                default:
3252                                {
3253                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3254                                }
3255                                }
3256                                }
3257                                break;
3258                        }
3259                        case '.':
3260                        {
3261                                match('.');
3262                                {
3263                                {
3264                                mHEX_DIGIT(false);
3265                                }
3266                                {
3267                                switch ( LA(1)) {
3268                                case '0':  case '1':  case '2':  case '3':
3269                                case '4':  case '5':  case '6':  case '7':
3270                                case '8':  case '9':  case 'A':  case 'B':
3271                                case 'C':  case 'D':  case 'E':  case 'F':
3272                                case '_':  case 'a':  case 'b':  case 'c':
3273                                case 'd':  case 'e':  case 'f':
3274                                {
3275                                        {
3276                                        _loop744:
3277                                        do {
3278                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3279                                                        mHEX_DIGIT(false);
3280                                                }
3281                                                else if ((LA(1)=='_')) {
3282                                                        match('_');
3283                                                }
3284                                                else {
3285                                                        break _loop744;
3286                                                }
3287                                                
3288                                        } while (true);
3289                                        }
3290                                        {
3291                                        mHEX_DIGIT(false);
3292                                        }
3293                                        break;
3294                                }
3295                                case 'P':  case 'p':
3296                                {
3297                                        break;
3298                                }
3299                                default:
3300                                {
3301                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3302                                }
3303                                }
3304                                }
3305                                }
3306                                break;
3307                        }
3308                        default:
3309                        {
3310                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3311                        }
3312                        }
3313                        }
3314                }
3315                else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_15.member(LA(2))) && (_tokenSet_16.member(LA(3))) && (true)) {
3316                        {
3317                        {
3318                        mHEX_DIGIT(false);
3319                        }
3320                        {
3321                        switch ( LA(1)) {
3322                        case '0':  case '1':  case '2':  case '3':
3323                        case '4':  case '5':  case '6':  case '7':
3324                        case '8':  case '9':  case 'A':  case 'B':
3325                        case 'C':  case 'D':  case 'E':  case 'F':
3326                        case '_':  case 'a':  case 'b':  case 'c':
3327                        case 'd':  case 'e':  case 'f':
3328                        {
3329                                {
3330                                _loop750:
3331                                do {
3332                                        if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3333                                                mHEX_DIGIT(false);
3334                                        }
3335                                        else if ((LA(1)=='_')) {
3336                                                match('_');
3337                                        }
3338                                        else {
3339                                                break _loop750;
3340                                        }
3341                                        
3342                                } while (true);
3343                                }
3344                                {
3345                                mHEX_DIGIT(false);
3346                                }
3347                                break;
3348                        }
3349                        case 'P':  case 'p':
3350                        {
3351                                break;
3352                        }
3353                        default:
3354                        {
3355                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3356                        }
3357                        }
3358                        }
3359                        }
3360                }
3361                else {
3362                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3363                }
3364                
3365                }
3366                mBINARY_EXPONENT(false);
3367                {
3368                switch ( LA(1)) {
3369                case 'f':
3370                {
3371                        match('f');
3372                        break;
3373                }
3374                case 'F':
3375                {
3376                        match('F');
3377                        break;
3378                }
3379                default:
3380                        {
3381                        }
3382                }
3383                }
3384                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3385                        _token = makeToken(_ttype);
3386                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3387                }
3388                _returnToken = _token;
3389        }
3390        
3391        protected final void mLONG_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3392                int _ttype; Token _token=null; int _begin=text.length();
3393                _ttype = LONG_LITERAL;
3394                int _saveIndex;
3395                
3396                {
3397                switch ( LA(1)) {
3398                case '0':
3399                {
3400                        match('0');
3401                        {
3402                        switch ( LA(1)) {
3403                        case 'X':  case 'x':
3404                        {
3405                                {
3406                                switch ( LA(1)) {
3407                                case 'x':
3408                                {
3409                                        match('x');
3410                                        break;
3411                                }
3412                                case 'X':
3413                                {
3414                                        match('X');
3415                                        break;
3416                                }
3417                                default:
3418                                {
3419                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3420                                }
3421                                }
3422                                }
3423                                {
3424                                mHEX_DIGIT(false);
3425                                }
3426                                {
3427                                switch ( LA(1)) {
3428                                case '0':  case '1':  case '2':  case '3':
3429                                case '4':  case '5':  case '6':  case '7':
3430                                case '8':  case '9':  case 'A':  case 'B':
3431                                case 'C':  case 'D':  case 'E':  case 'F':
3432                                case '_':  case 'a':  case 'b':  case 'c':
3433                                case 'd':  case 'e':  case 'f':
3434                                {
3435                                        {
3436                                        _loop619:
3437                                        do {
3438                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3439                                                        mHEX_DIGIT(false);
3440                                                }
3441                                                else if ((LA(1)=='_')) {
3442                                                        match('_');
3443                                                }
3444                                                else {
3445                                                        break _loop619;
3446                                                }
3447                                                
3448                                        } while (true);
3449                                        }
3450                                        {
3451                                        mHEX_DIGIT(false);
3452                                        }
3453                                        break;
3454                                }
3455                                case 'L':  case 'l':
3456                                {
3457                                        break;
3458                                }
3459                                default:
3460                                {
3461                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3462                                }
3463                                }
3464                                }
3465                                break;
3466                        }
3467                        case 'B':  case 'b':
3468                        {
3469                                {
3470                                switch ( LA(1)) {
3471                                case 'b':
3472                                {
3473                                        match('b');
3474                                        break;
3475                                }
3476                                case 'B':
3477                                {
3478                                        match('B');
3479                                        break;
3480                                }
3481                                default:
3482                                {
3483                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3484                                }
3485                                }
3486                                }
3487                                {
3488                                mBINARY_DIGIT(false);
3489                                }
3490                                {
3491                                switch ( LA(1)) {
3492                                case '0':  case '1':  case '_':
3493                                {
3494                                        {
3495                                        _loop625:
3496                                        do {
3497                                                if ((LA(1)=='0'||LA(1)=='1') && (LA(2)=='0'||LA(2)=='1'||LA(2)=='_')) {
3498                                                        mBINARY_DIGIT(false);
3499                                                }
3500                                                else if ((LA(1)=='_')) {
3501                                                        match('_');
3502                                                }
3503                                                else {
3504                                                        break _loop625;
3505                                                }
3506                                                
3507                                        } while (true);
3508                                        }
3509                                        {
3510                                        mBINARY_DIGIT(false);
3511                                        }
3512                                        break;
3513                                }
3514                                case 'L':  case 'l':
3515                                {
3516                                        break;
3517                                }
3518                                default:
3519                                {
3520                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3521                                }
3522                                }
3523                                }
3524                                break;
3525                        }
3526                        case '0':  case '1':  case '2':  case '3':
3527                        case '4':  case '5':  case '6':  case '7':
3528                        case 'L':  case '_':  case 'l':
3529                        {
3530                                {
3531                                switch ( LA(1)) {
3532                                case '0':  case '1':  case '2':  case '3':
3533                                case '4':  case '5':  case '6':  case '7':
3534                                case '_':
3535                                {
3536                                        {
3537                                        _loop630:
3538                                        do {
3539                                                if (((LA(1) >= '0' && LA(1) <= '7')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='_')) {
3540                                                        {
3541                                                        matchRange('0','7');
3542                                                        }
3543                                                }
3544                                                else if ((LA(1)=='_')) {
3545                                                        match('_');
3546                                                }
3547                                                else {
3548                                                        break _loop630;
3549                                                }
3550                                                
3551                                        } while (true);
3552                                        }
3553                                        {
3554                                        matchRange('0','7');
3555                                        }
3556                                        break;
3557                                }
3558                                case 'L':  case 'l':
3559                                {
3560                                        break;
3561                                }
3562                                default:
3563                                {
3564                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3565                                }
3566                                }
3567                                }
3568                                break;
3569                        }
3570                        default:
3571                        {
3572                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3573                        }
3574                        }
3575                        }
3576                        break;
3577                }
3578                case '1':  case '2':  case '3':  case '4':
3579                case '5':  case '6':  case '7':  case '8':
3580                case '9':
3581                {
3582                        {
3583                        matchRange('1','9');
3584                        }
3585                        {
3586                        switch ( LA(1)) {
3587                        case '0':  case '1':  case '2':  case '3':
3588                        case '4':  case '5':  case '6':  case '7':
3589                        case '8':  case '9':  case '_':
3590                        {
3591                                {
3592                                _loop635:
3593                                do {
3594                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
3595                                                matchRange('0','9');
3596                                        }
3597                                        else if ((LA(1)=='_')) {
3598                                                match('_');
3599                                        }
3600                                        else {
3601                                                break _loop635;
3602                                        }
3603                                        
3604                                } while (true);
3605                                }
3606                                {
3607                                matchRange('0','9');
3608                                }
3609                                break;
3610                        }
3611                        case 'L':  case 'l':
3612                        {
3613                                break;
3614                        }
3615                        default:
3616                        {
3617                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3618                        }
3619                        }
3620                        }
3621                        break;
3622                }
3623                default:
3624                {
3625                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3626                }
3627                }
3628                }
3629                {
3630                switch ( LA(1)) {
3631                case 'l':
3632                {
3633                        match('l');
3634                        break;
3635                }
3636                case 'L':
3637                {
3638                        match('L');
3639                        break;
3640                }
3641                default:
3642                {
3643                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3644                }
3645                }
3646                }
3647                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3648                        _token = makeToken(_ttype);
3649                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3650                }
3651                _returnToken = _token;
3652        }
3653        
3654        protected final void mINT_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3655                int _ttype; Token _token=null; int _begin=text.length();
3656                _ttype = INT_LITERAL;
3657                int _saveIndex;
3658                
3659                {
3660                switch ( LA(1)) {
3661                case '0':
3662                {
3663                        match('0');
3664                        {
3665                        switch ( LA(1)) {
3666                        case 'X':  case 'x':
3667                        {
3668                                {
3669                                switch ( LA(1)) {
3670                                case 'x':
3671                                {
3672                                        match('x');
3673                                        break;
3674                                }
3675                                case 'X':
3676                                {
3677                                        match('X');
3678                                        break;
3679                                }
3680                                default:
3681                                {
3682                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3683                                }
3684                                }
3685                                }
3686                                {
3687                                mHEX_DIGIT(false);
3688                                }
3689                                {
3690                                if ((_tokenSet_14.member(LA(1)))) {
3691                                        {
3692                                        _loop594:
3693                                        do {
3694                                                if ((_tokenSet_5.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
3695                                                        mHEX_DIGIT(false);
3696                                                }
3697                                                else if ((LA(1)=='_')) {
3698                                                        match('_');
3699                                                }
3700                                                else {
3701                                                        break _loop594;
3702                                                }
3703                                                
3704                                        } while (true);
3705                                        }
3706                                        {
3707                                        mHEX_DIGIT(false);
3708                                        }
3709                                }
3710                                else {
3711                                }
3712                                
3713                                }
3714                                break;
3715                        }
3716                        case 'B':  case 'b':
3717                        {
3718                                {
3719                                switch ( LA(1)) {
3720                                case 'b':
3721                                {
3722                                        match('b');
3723                                        break;
3724                                }
3725                                case 'B':
3726                                {
3727                                        match('B');
3728                                        break;
3729                                }
3730                                default:
3731                                {
3732                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3733                                }
3734                                }
3735                                }
3736                                {
3737                                mBINARY_DIGIT(false);
3738                                }
3739                                {
3740                                if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='_')) {
3741                                        {
3742                                        _loop600:
3743                                        do {
3744                                                if ((LA(1)=='0'||LA(1)=='1') && (LA(2)=='0'||LA(2)=='1'||LA(2)=='_')) {
3745                                                        mBINARY_DIGIT(false);
3746                                                }
3747                                                else if ((LA(1)=='_')) {
3748                                                        match('_');
3749                                                }
3750                                                else {
3751                                                        break _loop600;
3752                                                }
3753                                                
3754                                        } while (true);
3755                                        }
3756                                        {
3757                                        mBINARY_DIGIT(false);
3758                                        }
3759                                }
3760                                else {
3761                                }
3762                                
3763                                }
3764                                break;
3765                        }
3766                        default:
3767                                {
3768                                        {
3769                                        if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='_')) {
3770                                                {
3771                                                _loop605:
3772                                                do {
3773                                                        if (((LA(1) >= '0' && LA(1) <= '7')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='_')) {
3774                                                                {
3775                                                                matchRange('0','7');
3776                                                                }
3777                                                        }
3778                                                        else if ((LA(1)=='_')) {
3779                                                                match('_');
3780                                                        }
3781                                                        else {
3782                                                                break _loop605;
3783                                                        }
3784                                                        
3785                                                } while (true);
3786                                                }
3787                                                {
3788                                                matchRange('0','7');
3789                                                }
3790                                        }
3791                                        else {
3792                                        }
3793                                        
3794                                        }
3795                                }
3796                        }
3797                        }
3798                        break;
3799                }
3800                case '1':  case '2':  case '3':  case '4':
3801                case '5':  case '6':  case '7':  case '8':
3802                case '9':
3803                {
3804                        {
3805                        matchRange('1','9');
3806                        }
3807                        {
3808                        if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9'||LA(1)=='_')) {
3809                                {
3810                                _loop610:
3811                                do {
3812                                        if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
3813                                                matchRange('0','9');
3814                                        }
3815                                        else if ((LA(1)=='_')) {
3816                                                match('_');
3817                                        }
3818                                        else {
3819                                                break _loop610;
3820                                        }
3821                                        
3822                                } while (true);
3823                                }
3824                                {
3825                                matchRange('0','9');
3826                                }
3827                        }
3828                        else {
3829                        }
3830                        
3831                        }
3832                        break;
3833                }
3834                default:
3835                {
3836                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3837                }
3838                }
3839                }
3840                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3841                        _token = makeToken(_ttype);
3842                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3843                }
3844                _returnToken = _token;
3845        }
3846        
3847        protected final void mEXPONENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3848                int _ttype; Token _token=null; int _begin=text.length();
3849                _ttype = EXPONENT;
3850                int _saveIndex;
3851                
3852                {
3853                switch ( LA(1)) {
3854                case 'e':
3855                {
3856                        match('e');
3857                        break;
3858                }
3859                case 'E':
3860                {
3861                        match('E');
3862                        break;
3863                }
3864                default:
3865                {
3866                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3867                }
3868                }
3869                }
3870                mSIGNED_INTEGER(false);
3871                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3872                        _token = makeToken(_ttype);
3873                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3874                }
3875                _returnToken = _token;
3876        }
3877        
3878        protected final void mBINARY_EXPONENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3879                int _ttype; Token _token=null; int _begin=text.length();
3880                _ttype = BINARY_EXPONENT;
3881                int _saveIndex;
3882                
3883                {
3884                switch ( LA(1)) {
3885                case 'p':
3886                {
3887                        match('p');
3888                        break;
3889                }
3890                case 'P':
3891                {
3892                        match('P');
3893                        break;
3894                }
3895                default:
3896                {
3897                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3898                }
3899                }
3900                }
3901                mSIGNED_INTEGER(false);
3902                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3903                        _token = makeToken(_ttype);
3904                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3905                }
3906                _returnToken = _token;
3907        }
3908        
3909        protected final void mSIGNED_INTEGER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
3910                int _ttype; Token _token=null; int _begin=text.length();
3911                _ttype = SIGNED_INTEGER;
3912                int _saveIndex;
3913                
3914                {
3915                switch ( LA(1)) {
3916                case '+':
3917                {
3918                        match('+');
3919                        break;
3920                }
3921                case '-':
3922                {
3923                        match('-');
3924                        break;
3925                }
3926                case '0':  case '1':  case '2':  case '3':
3927                case '4':  case '5':  case '6':  case '7':
3928                case '8':  case '9':
3929                {
3930                        break;
3931                }
3932                default:
3933                {
3934                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
3935                }
3936                }
3937                }
3938                {
3939                {
3940                matchRange('0','9');
3941                }
3942                {
3943                if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='8'||LA(1)=='9'||LA(1)=='_')) {
3944                        {
3945                        _loop800:
3946                        do {
3947                                if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) {
3948                                        matchRange('0','9');
3949                                }
3950                                else if ((LA(1)=='_')) {
3951                                        match('_');
3952                                }
3953                                else {
3954                                        break _loop800;
3955                                }
3956                                
3957                        } while (true);
3958                        }
3959                        {
3960                        matchRange('0','9');
3961                        }
3962                }
3963                else {
3964                }
3965                
3966                }
3967                }
3968                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
3969                        _token = makeToken(_ttype);
3970                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
3971                }
3972                _returnToken = _token;
3973        }
3974        
3975        
3976        private static final long[] mk_tokenSet_0() {
3977                long[] data = new long[2048];
3978                data[0]=107374168575L;
3979                data[1]=-8646911286564618242L;
3980                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
3981                data[1023]=9223372036854775807L;
3982                return data;
3983        }
3984        public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
3985        private static final long[] mk_tokenSet_1() {
3986                long[] data = new long[2048];
3987                data[0]=-9217L;
3988                for (int i = 1; i<=1022; i++) { data[i]=-1L; }
3989                data[1023]=9223372036854775807L;
3990                return data;
3991        }
3992        public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
3993        private static final long[] mk_tokenSet_2() {
3994                long[] data = new long[2048];
3995                data[0]=-4398046520321L;
3996                for (int i = 1; i<=1022; i++) { data[i]=-1L; }
3997                data[1023]=9223372036854775807L;
3998                return data;
3999        }
4000        public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
4001        private static final long[] mk_tokenSet_3() {
4002                long[] data = new long[2048];
4003                data[0]=-549755813889L;
4004                data[1]=-268435457L;
4005                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4006                data[1023]=9223372036854775807L;
4007                return data;
4008        }
4009        public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
4010        private static final long[] mk_tokenSet_4() {
4011                long[] data = new long[1025];
4012                data[0]=287948901175001088L;
4013                data[1]=9007740420620414L;
4014                return data;
4015        }
4016        public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
4017        private static final long[] mk_tokenSet_5() {
4018                long[] data = new long[1025];
4019                data[0]=287948901175001088L;
4020                data[1]=541165879422L;
4021                return data;
4022        }
4023        public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
4024        private static final long[] mk_tokenSet_6() {
4025                long[] data = new long[2048];
4026                data[0]=-17179869185L;
4027                data[1]=-268435457L;
4028                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4029                data[1023]=9223372036854775807L;
4030                return data;
4031        }
4032        public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
4033        private static final long[] mk_tokenSet_7() {
4034                long[] data = new long[2048];
4035                data[0]=38654691839L;
4036                data[1]=-8646911288712101890L;
4037                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4038                data[1023]=9223372036854775807L;
4039                return data;
4040        }
4041        public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
4042        private static final long[] mk_tokenSet_8() {
4043                long[] data = new long[2048];
4044                data[0]=287948939829692927L;
4045                data[1]=-8646911288712101890L;
4046                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4047                data[1023]=9223372036854775807L;
4048                return data;
4049        }
4050        public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
4051        private static final long[] mk_tokenSet_9() {
4052                long[] data = new long[2048];
4053                data[0]=287949008549169663L;
4054                data[1]=-8646911286564618242L;
4055                for (int i = 2; i<=1022; i++) { data[i]=-1L; }
4056                data[1023]=9223372036854775807L;
4057                return data;
4058        }
4059        public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9());
4060        private static final long[] mk_tokenSet_10() {
4061                long[] data = new long[1025];
4062                data[0]=288019269919178752L;
4063                data[1]=541165879422L;
4064                return data;
4065        }
4066        public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10());
4067        private static final long[] mk_tokenSet_11() {
4068                long[] data = new long[1025];
4069                data[0]=288019269919178752L;
4070                data[1]=282018290139262L;
4071                return data;
4072        }
4073        public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11());
4074        private static final long[] mk_tokenSet_12() {
4075                long[] data = new long[1025];
4076                data[0]=288019269919178752L;
4077                data[1]=543313363070L;
4078                return data;
4079        }
4080        public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12());
4081        private static final long[] mk_tokenSet_13() {
4082                long[] data = new long[1025];
4083                data[0]=288063250384289792L;
4084                data[1]=282018290139262L;
4085                return data;
4086        }
4087        public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13());
4088        private static final long[] mk_tokenSet_14() {
4089                long[] data = new long[1025];
4090                data[0]=287948901175001088L;
4091                data[1]=543313363070L;
4092                return data;
4093        }
4094        public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14());
4095        private static final long[] mk_tokenSet_15() {
4096                long[] data = new long[1025];
4097                data[0]=287948901175001088L;
4098                data[1]=282018290139262L;
4099                return data;
4100        }
4101        public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15());
4102        private static final long[] mk_tokenSet_16() {
4103                long[] data = new long[1025];
4104                data[0]=287992881640112128L;
4105                data[1]=282018290139262L;
4106                return data;
4107        }
4108        public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16());
4109        
4110        }