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