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