001// $ANTLR 2.7.5 (20050128): "../src/csheets/core/formula/compiler/NumberSignFormulaCompiler.g" -> "NumberSignFormulaLexer.java"$
002package csheets.core.formula.compiler;
003import java.io.InputStream;
004import antlr.TokenStreamException;
005import antlr.TokenStreamIOException;
006import antlr.TokenStreamRecognitionException;
007import antlr.CharStreamException;
008import antlr.CharStreamIOException;
009import antlr.ANTLRException;
010import java.io.Reader;
011import java.util.Hashtable;
012import antlr.CharScanner;
013import antlr.InputBuffer;
014import antlr.ByteBuffer;
015import antlr.CharBuffer;
016import antlr.Token;
017import antlr.CommonToken;
018import antlr.RecognitionException;
019import antlr.NoViableAltForCharException;
020import antlr.MismatchedCharException;
021import antlr.TokenStream;
022import antlr.ANTLRHashString;
023import antlr.LexerSharedInputState;
024import antlr.collections.impl.BitSet;
025import antlr.SemanticException;
026import csheets.core.formula.lang.Language;
027
028/**
029 * A lexer that splits a string into a list of lexical tokens.
030 * @author Einar Pehrson
031 */
032@SuppressWarnings("all")
033public class NumberSignFormulaLexer extends antlr.CharScanner implements NumberSignFormulaParserTokenTypes, TokenStream
034 {
035public NumberSignFormulaLexer(InputStream in) {
036        this(new ByteBuffer(in));
037}
038public NumberSignFormulaLexer(Reader in) {
039        this(new CharBuffer(in));
040}
041public NumberSignFormulaLexer(InputBuffer ib) {
042        this(new LexerSharedInputState(ib));
043}
044public NumberSignFormulaLexer(LexerSharedInputState state) {
045        super(state);
046        caseSensitiveLiterals = false;
047        setCaseSensitive(false);
048        literals = new Hashtable();
049}
050
051public Token nextToken() throws TokenStreamException {
052        Token theRetToken=null;
053tryAgain:
054        for (;;) {
055                Token _token = null;
056                int _ttype = Token.INVALID_TYPE;
057                resetText();
058                try {   // for char stream error handling
059                        try {   // for lexical error handling
060                                switch ( LA(1)) {
061                                case '$':  case 'a':  case 'b':  case 'c':
062                                case 'd':  case 'e':  case 'f':  case 'g':
063                                case 'h':  case 'i':  case 'j':  case 'k':
064                                case 'l':  case 'm':  case 'n':  case 'o':
065                                case 'p':  case 'q':  case 'r':  case 's':
066                                case 't':  case 'u':  case 'v':  case 'w':
067                                case 'x':  case 'y':  case 'z':
068                                {
069                                        mALPHABETICAL(true);
070                                        theRetToken=_returnToken;
071                                        break;
072                                }
073                                case '(':
074                                {
075                                        mLPAR(true);
076                                        theRetToken=_returnToken;
077                                        break;
078                                }
079                                case '{':
080                                {
081                                        mLBRA(true);
082                                        theRetToken=_returnToken;
083                                        break;
084                                }
085                                case '"':
086                                {
087                                        mSTRING(true);
088                                        theRetToken=_returnToken;
089                                        break;
090                                }
091                                case '0':  case '1':  case '2':  case '3':
092                                case '4':  case '5':  case '6':  case '7':
093                                case '8':  case '9':
094                                {
095                                        mNUMBER(true);
096                                        theRetToken=_returnToken;
097                                        break;
098                                }
099                                case ',':
100                                {
101                                        mCOMMA(true);
102                                        theRetToken=_returnToken;
103                                        break;
104                                }
105                                case '=':
106                                {
107                                        mEQ(true);
108                                        theRetToken=_returnToken;
109                                        break;
110                                }
111                                case '#':
112                                {
113                                        mNUMBERSIGN(true);
114                                        theRetToken=_returnToken;
115                                        break;
116                                }
117                                case '&':
118                                {
119                                        mAMP(true);
120                                        theRetToken=_returnToken;
121                                        break;
122                                }
123                                case '+':
124                                {
125                                        mPLUS(true);
126                                        theRetToken=_returnToken;
127                                        break;
128                                }
129                                case '-':
130                                {
131                                        mMINUS(true);
132                                        theRetToken=_returnToken;
133                                        break;
134                                }
135                                case '*':
136                                {
137                                        mMULTI(true);
138                                        theRetToken=_returnToken;
139                                        break;
140                                }
141                                case '/':
142                                {
143                                        mDIV(true);
144                                        theRetToken=_returnToken;
145                                        break;
146                                }
147                                case '^':
148                                {
149                                        mPOWER(true);
150                                        theRetToken=_returnToken;
151                                        break;
152                                }
153                                case '%':
154                                {
155                                        mPERCENT(true);
156                                        theRetToken=_returnToken;
157                                        break;
158                                }
159                                case ';':
160                                {
161                                        mSEMI(true);
162                                        theRetToken=_returnToken;
163                                        break;
164                                }
165                                case ')':
166                                {
167                                        mRPAR(true);
168                                        theRetToken=_returnToken;
169                                        break;
170                                }
171                                case '}':
172                                {
173                                        mRBRA(true);
174                                        theRetToken=_returnToken;
175                                        break;
176                                }
177                                case '\t':  case '\n':  case '\r':  case ' ':
178                                {
179                                        mWS(true);
180                                        theRetToken=_returnToken;
181                                        break;
182                                }
183                                default:
184                                        if ((LA(1)==':') && (LA(2)=='=')) {
185                                                mASSIGN(true);
186                                                theRetToken=_returnToken;
187                                        }
188                                        else if ((LA(1)=='<') && (LA(2)=='>')) {
189                                                mNEQ(true);
190                                                theRetToken=_returnToken;
191                                        }
192                                        else if ((LA(1)=='<') && (LA(2)=='=')) {
193                                                mLTEQ(true);
194                                                theRetToken=_returnToken;
195                                        }
196                                        else if ((LA(1)=='>') && (LA(2)=='=')) {
197                                                mGTEQ(true);
198                                                theRetToken=_returnToken;
199                                        }
200                                        else if ((LA(1)=='>') && (true)) {
201                                                mGT(true);
202                                                theRetToken=_returnToken;
203                                        }
204                                        else if ((LA(1)=='<') && (true)) {
205                                                mLT(true);
206                                                theRetToken=_returnToken;
207                                        }
208                                        else if ((LA(1)==':') && (true)) {
209                                                mCOLON(true);
210                                                theRetToken=_returnToken;
211                                        }
212                                else {
213                                        if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
214                                else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
215                                }
216                                }
217                                if ( _returnToken==null ) continue tryAgain; // found SKIP token
218                                _ttype = _returnToken.getType();
219                                _ttype = testLiteralsTable(_ttype);
220                                _returnToken.setType(_ttype);
221                                return _returnToken;
222                        }
223                        catch (RecognitionException e) {
224                                throw new TokenStreamRecognitionException(e);
225                        }
226                }
227                catch (CharStreamException cse) {
228                        if ( cse instanceof CharStreamIOException ) {
229                                throw new TokenStreamIOException(((CharStreamIOException)cse).io);
230                        }
231                        else {
232                                throw new TokenStreamException(cse.getMessage());
233                        }
234                }
235        }
236}
237
238        protected final void mLETTER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
239                int _ttype; Token _token=null; int _begin=text.length();
240                _ttype = LETTER;
241                int _saveIndex;
242                
243                {
244                matchRange('a','z');
245                }
246                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
247                        _token = makeToken(_ttype);
248                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
249                }
250                _returnToken = _token;
251        }
252        
253        public final void mALPHABETICAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
254                int _ttype; Token _token=null; int _begin=text.length();
255                _ttype = ALPHABETICAL;
256                int _saveIndex;
257                
258                if ((LA(1)=='d') && (LA(2)=='o') && (LA(3)=='w') && (LA(4)=='h')) {
259                        {
260                        match("dowhile");
261                        }
262                        _saveIndex=text.length();
263                        mLBRA(false);
264                        text.setLength(_saveIndex);
265                        if ( inputState.guessing==0 ) {
266                                
267                                                        try {
268                                                                Language.getInstance().getFunction(getText());
269                                                                _ttype = FUNCTION;
270                                                        } catch (Exception ex) {
271                                                                throw new RecognitionException(ex.toString());
272                                                        }
273                                                
274                        }
275                }
276                else if ((LA(1)=='w') && (LA(2)=='h') && (LA(3)=='i') && (LA(4)=='l')) {
277                        {
278                        match("whiledo");
279                        }
280                        _saveIndex=text.length();
281                        mLBRA(false);
282                        text.setLength(_saveIndex);
283                        if ( inputState.guessing==0 ) {
284                                
285                                                        try {
286                                                                Language.getInstance().getFunction(getText());
287                                                                _ttype = FUNCTION;
288                                                        } catch (Exception ex) {
289                                                                throw new RecognitionException(ex.toString());
290                                                        }
291                                                
292                        }
293                }
294                else {
295                        boolean synPredMatched47 = false;
296                        if ((((LA(1) >= 'a' && LA(1) <= 'z')) && (_tokenSet_0.member(LA(2))) && (true) && (true))) {
297                                int _m47 = mark();
298                                synPredMatched47 = true;
299                                inputState.guessing++;
300                                try {
301                                        {
302                                        {
303                                        int _cnt46=0;
304                                        _loop46:
305                                        do {
306                                                if (((LA(1) >= 'a' && LA(1) <= 'z'))) {
307                                                        mLETTER(false);
308                                                }
309                                                else {
310                                                        if ( _cnt46>=1 ) { break _loop46; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
311                                                }
312                                                
313                                                _cnt46++;
314                                        } while (true);
315                                        }
316                                        mLPAR(false);
317                                        }
318                                }
319                                catch (RecognitionException pe) {
320                                        synPredMatched47 = false;
321                                }
322                                rewind(_m47);
323                                inputState.guessing--;
324                        }
325                        if ( synPredMatched47 ) {
326                                {
327                                int _cnt49=0;
328                                _loop49:
329                                do {
330                                        if (((LA(1) >= 'a' && LA(1) <= 'z'))) {
331                                                mLETTER(false);
332                                        }
333                                        else {
334                                                if ( _cnt49>=1 ) { break _loop49; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
335                                        }
336                                        
337                                        _cnt49++;
338                                } while (true);
339                                }
340                                _saveIndex=text.length();
341                                mLPAR(false);
342                                text.setLength(_saveIndex);
343                                if ( inputState.guessing==0 ) {
344                                        
345                                                                try {
346                                                                        Language.getInstance().getFunction(getText());
347                                                                        _ttype = FUNCTION;
348                                                                } catch (Exception ex) {
349                                                                        throw new RecognitionException(ex.toString());
350                                                                }
351                                                        
352                                }
353                        }
354                        else if ((_tokenSet_1.member(LA(1))) && (_tokenSet_2.member(LA(2))) && (true) && (true)) {
355                                {
356                                switch ( LA(1)) {
357                                case '$':
358                                {
359                                        mABS(false);
360                                        break;
361                                }
362                                case 'a':  case 'b':  case 'c':  case 'd':
363                                case 'e':  case 'f':  case 'g':  case 'h':
364                                case 'i':  case 'j':  case 'k':  case 'l':
365                                case 'm':  case 'n':  case 'o':  case 'p':
366                                case 'q':  case 'r':  case 's':  case 't':
367                                case 'u':  case 'v':  case 'w':  case 'x':
368                                case 'y':  case 'z':
369                                {
370                                        break;
371                                }
372                                default:
373                                {
374                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
375                                }
376                                }
377                                }
378                                mLETTER(false);
379                                {
380                                switch ( LA(1)) {
381                                case 'a':  case 'b':  case 'c':  case 'd':
382                                case 'e':  case 'f':  case 'g':  case 'h':
383                                case 'i':  case 'j':  case 'k':  case 'l':
384                                case 'm':  case 'n':  case 'o':  case 'p':
385                                case 'q':  case 'r':  case 's':  case 't':
386                                case 'u':  case 'v':  case 'w':  case 'x':
387                                case 'y':  case 'z':
388                                {
389                                        mLETTER(false);
390                                        break;
391                                }
392                                case '$':  case '0':  case '1':  case '2':
393                                case '3':  case '4':  case '5':  case '6':
394                                case '7':  case '8':  case '9':
395                                {
396                                        break;
397                                }
398                                default:
399                                {
400                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
401                                }
402                                }
403                                }
404                                {
405                                switch ( LA(1)) {
406                                case '$':
407                                {
408                                        mABS(false);
409                                        break;
410                                }
411                                case '0':  case '1':  case '2':  case '3':
412                                case '4':  case '5':  case '6':  case '7':
413                                case '8':  case '9':
414                                {
415                                        break;
416                                }
417                                default:
418                                {
419                                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
420                                }
421                                }
422                                }
423                                {
424                                int _cnt56=0;
425                                _loop56:
426                                do {
427                                        if (((LA(1) >= '0' && LA(1) <= '9'))) {
428                                                mDIGIT(false);
429                                        }
430                                        else {
431                                                if ( _cnt56>=1 ) { break _loop56; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
432                                        }
433                                        
434                                        _cnt56++;
435                                } while (true);
436                                }
437                                if ( inputState.guessing==0 ) {
438                                        
439                                                                _ttype = CELL_REF;
440                                                        
441                                }
442                        }
443                        else {
444                                throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
445                        }
446                        }
447                        if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
448                                _token = makeToken(_ttype);
449                                _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
450                        }
451                        _returnToken = _token;
452                }
453                
454        public final void mLPAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
455                int _ttype; Token _token=null; int _begin=text.length();
456                _ttype = LPAR;
457                int _saveIndex;
458                
459                match('(');
460                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
461                        _token = makeToken(_ttype);
462                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
463                }
464                _returnToken = _token;
465        }
466        
467        public final void mLBRA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
468                int _ttype; Token _token=null; int _begin=text.length();
469                _ttype = LBRA;
470                int _saveIndex;
471                
472                match('{');
473                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
474                        _token = makeToken(_ttype);
475                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
476                }
477                _returnToken = _token;
478        }
479        
480        protected final void mABS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
481                int _ttype; Token _token=null; int _begin=text.length();
482                _ttype = ABS;
483                int _saveIndex;
484                
485                match('$');
486                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
487                        _token = makeToken(_ttype);
488                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
489                }
490                _returnToken = _token;
491        }
492        
493        protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
494                int _ttype; Token _token=null; int _begin=text.length();
495                _ttype = DIGIT;
496                int _saveIndex;
497                
498                matchRange('0','9');
499                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
500                        _token = makeToken(_ttype);
501                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
502                }
503                _returnToken = _token;
504        }
505        
506        public final void mSTRING(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
507                int _ttype; Token _token=null; int _begin=text.length();
508                _ttype = STRING;
509                int _saveIndex;
510                
511                _saveIndex=text.length();
512                mQUOT(false);
513                text.setLength(_saveIndex);
514                {
515                _loop59:
516                do {
517                        // nongreedy exit test
518                        if ((LA(1)=='"') && (true)) break _loop59;
519                        if (((LA(1) >= '\u0000' && LA(1) <= '\u007f')) && ((LA(2) >= '\u0000' && LA(2) <= '\u007f'))) {
520                                matchNot(EOF_CHAR);
521                        }
522                        else {
523                                break _loop59;
524                        }
525                        
526                } while (true);
527                }
528                _saveIndex=text.length();
529                mQUOT(false);
530                text.setLength(_saveIndex);
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        protected final void mQUOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
539                int _ttype; Token _token=null; int _begin=text.length();
540                _ttype = QUOT;
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 mNUMBER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
552                int _ttype; Token _token=null; int _begin=text.length();
553                _ttype = NUMBER;
554                int _saveIndex;
555                
556                {
557                int _cnt63=0;
558                _loop63:
559                do {
560                        if (((LA(1) >= '0' && LA(1) <= '9'))) {
561                                mDIGIT(false);
562                        }
563                        else {
564                                if ( _cnt63>=1 ) { break _loop63; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
565                        }
566                        
567                        _cnt63++;
568                } while (true);
569                }
570                {
571                if ((LA(1)==',')) {
572                        mCOMMA(false);
573                        {
574                        int _cnt66=0;
575                        _loop66:
576                        do {
577                                if (((LA(1) >= '0' && LA(1) <= '9'))) {
578                                        mDIGIT(false);
579                                }
580                                else {
581                                        if ( _cnt66>=1 ) { break _loop66; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
582                                }
583                                
584                                _cnt66++;
585                        } while (true);
586                        }
587                }
588                else {
589                }
590                
591                }
592                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
593                        _token = makeToken(_ttype);
594                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
595                }
596                _returnToken = _token;
597        }
598        
599        public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
600                int _ttype; Token _token=null; int _begin=text.length();
601                _ttype = COMMA;
602                int _saveIndex;
603                
604                match(',');
605                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
606                        _token = makeToken(_ttype);
607                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
608                }
609                _returnToken = _token;
610        }
611        
612        public final void mEQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
613                int _ttype; Token _token=null; int _begin=text.length();
614                _ttype = EQ;
615                int _saveIndex;
616                
617                match("=");
618                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
619                        _token = makeToken(_ttype);
620                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
621                }
622                _returnToken = _token;
623        }
624        
625        public final void mNUMBERSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
626                int _ttype; Token _token=null; int _begin=text.length();
627                _ttype = NUMBERSIGN;
628                int _saveIndex;
629                
630                match("#");
631                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
632                        _token = makeToken(_ttype);
633                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
634                }
635                _returnToken = _token;
636        }
637        
638        public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
639                int _ttype; Token _token=null; int _begin=text.length();
640                _ttype = ASSIGN;
641                int _saveIndex;
642                
643                match(":=");
644                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
645                        _token = makeToken(_ttype);
646                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
647                }
648                _returnToken = _token;
649        }
650        
651        public final void mNEQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
652                int _ttype; Token _token=null; int _begin=text.length();
653                _ttype = NEQ;
654                int _saveIndex;
655                
656                match("<>");
657                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
658                        _token = makeToken(_ttype);
659                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
660                }
661                _returnToken = _token;
662        }
663        
664        public final void mLTEQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
665                int _ttype; Token _token=null; int _begin=text.length();
666                _ttype = LTEQ;
667                int _saveIndex;
668                
669                match("<=");
670                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
671                        _token = makeToken(_ttype);
672                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
673                }
674                _returnToken = _token;
675        }
676        
677        public final void mGTEQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
678                int _ttype; Token _token=null; int _begin=text.length();
679                _ttype = GTEQ;
680                int _saveIndex;
681                
682                match(">=");
683                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
684                        _token = makeToken(_ttype);
685                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
686                }
687                _returnToken = _token;
688        }
689        
690        public final void mGT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
691                int _ttype; Token _token=null; int _begin=text.length();
692                _ttype = GT;
693                int _saveIndex;
694                
695                match('>');
696                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
697                        _token = makeToken(_ttype);
698                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
699                }
700                _returnToken = _token;
701        }
702        
703        public final void mLT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
704                int _ttype; Token _token=null; int _begin=text.length();
705                _ttype = LT;
706                int _saveIndex;
707                
708                match('<');
709                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
710                        _token = makeToken(_ttype);
711                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
712                }
713                _returnToken = _token;
714        }
715        
716        public final void mAMP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
717                int _ttype; Token _token=null; int _begin=text.length();
718                _ttype = AMP;
719                int _saveIndex;
720                
721                match('&');
722                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
723                        _token = makeToken(_ttype);
724                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
725                }
726                _returnToken = _token;
727        }
728        
729        public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
730                int _ttype; Token _token=null; int _begin=text.length();
731                _ttype = PLUS;
732                int _saveIndex;
733                
734                match('+');
735                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
736                        _token = makeToken(_ttype);
737                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
738                }
739                _returnToken = _token;
740        }
741        
742        public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
743                int _ttype; Token _token=null; int _begin=text.length();
744                _ttype = MINUS;
745                int _saveIndex;
746                
747                match('-');
748                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
749                        _token = makeToken(_ttype);
750                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
751                }
752                _returnToken = _token;
753        }
754        
755        public final void mMULTI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
756                int _ttype; Token _token=null; int _begin=text.length();
757                _ttype = MULTI;
758                int _saveIndex;
759                
760                match('*');
761                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
762                        _token = makeToken(_ttype);
763                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
764                }
765                _returnToken = _token;
766        }
767        
768        public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
769                int _ttype; Token _token=null; int _begin=text.length();
770                _ttype = DIV;
771                int _saveIndex;
772                
773                match('/');
774                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
775                        _token = makeToken(_ttype);
776                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
777                }
778                _returnToken = _token;
779        }
780        
781        public final void mPOWER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
782                int _ttype; Token _token=null; int _begin=text.length();
783                _ttype = POWER;
784                int _saveIndex;
785                
786                match('^');
787                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
788                        _token = makeToken(_ttype);
789                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
790                }
791                _returnToken = _token;
792        }
793        
794        public final void mPERCENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
795                int _ttype; Token _token=null; int _begin=text.length();
796                _ttype = PERCENT;
797                int _saveIndex;
798                
799                match('%');
800                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
801                        _token = makeToken(_ttype);
802                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
803                }
804                _returnToken = _token;
805        }
806        
807        protected final void mEXCL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
808                int _ttype; Token _token=null; int _begin=text.length();
809                _ttype = EXCL;
810                int _saveIndex;
811                
812                match('!');
813                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
814                        _token = makeToken(_ttype);
815                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
816                }
817                _returnToken = _token;
818        }
819        
820        public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
821                int _ttype; Token _token=null; int _begin=text.length();
822                _ttype = COLON;
823                int _saveIndex;
824                
825                match(':');
826                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
827                        _token = makeToken(_ttype);
828                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
829                }
830                _returnToken = _token;
831        }
832        
833        public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
834                int _ttype; Token _token=null; int _begin=text.length();
835                _ttype = SEMI;
836                int _saveIndex;
837                
838                match(';');
839                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
840                        _token = makeToken(_ttype);
841                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
842                }
843                _returnToken = _token;
844        }
845        
846        public final void mRPAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
847                int _ttype; Token _token=null; int _begin=text.length();
848                _ttype = RPAR;
849                int _saveIndex;
850                
851                match(')');
852                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
853                        _token = makeToken(_ttype);
854                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
855                }
856                _returnToken = _token;
857        }
858        
859        public final void mRBRA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
860                int _ttype; Token _token=null; int _begin=text.length();
861                _ttype = RBRA;
862                int _saveIndex;
863                
864                match('}');
865                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
866                        _token = makeToken(_ttype);
867                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
868                }
869                _returnToken = _token;
870        }
871        
872        public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
873                int _ttype; Token _token=null; int _begin=text.length();
874                _ttype = WS;
875                int _saveIndex;
876                
877                {
878                switch ( LA(1)) {
879                case ' ':
880                {
881                        match(' ');
882                        break;
883                }
884                case '\r':
885                {
886                        match('\r');
887                        match('\n');
888                        break;
889                }
890                case '\n':
891                {
892                        match('\n');
893                        break;
894                }
895                case '\t':
896                {
897                        match('\t');
898                        break;
899                }
900                default:
901                {
902                        throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
903                }
904                }
905                }
906                if ( inputState.guessing==0 ) {
907                        _ttype = Token.SKIP;
908                }
909                if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
910                        _token = makeToken(_ttype);
911                        _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
912                }
913                _returnToken = _token;
914        }
915        
916        
917        private static final long[] mk_tokenSet_0() {
918                long[] data = { 1099511627776L, 576460743713488896L, 0L, 0L};
919                return data;
920        }
921        public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
922        private static final long[] mk_tokenSet_1() {
923                long[] data = { 68719476736L, 576460743713488896L, 0L, 0L};
924                return data;
925        }
926        public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
927        private static final long[] mk_tokenSet_2() {
928                long[] data = { 287948969894477824L, 576460743713488896L, 0L, 0L};
929                return data;
930        }
931        public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
932        
933        }