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