001// $ANTLR 2.7.7 (20060906): "EntityParser.g" -> "EntityLexer.java"$ 002 003package org.apache.commons.flatfile.dsl; 004 005import java.io.IOException; 006import java.util.Map; 007 008import org.apache.commons.flatfile.*; 009 010import java.io.InputStream; 011import antlr.TokenStreamException; 012import antlr.TokenStreamIOException; 013import antlr.TokenStreamRecognitionException; 014import antlr.CharStreamException; 015import antlr.CharStreamIOException; 016import antlr.ANTLRException; 017import java.io.Reader; 018import java.util.Hashtable; 019import antlr.CharScanner; 020import antlr.InputBuffer; 021import antlr.ByteBuffer; 022import antlr.CharBuffer; 023import antlr.Token; 024import antlr.CommonToken; 025import antlr.RecognitionException; 026import antlr.NoViableAltForCharException; 027import antlr.MismatchedCharException; 028import antlr.TokenStream; 029import antlr.ANTLRHashString; 030import antlr.LexerSharedInputState; 031import antlr.collections.impl.BitSet; 032import antlr.SemanticException; 033 034public class EntityLexer extends antlr.CharScanner implements EntityTokenTypes, TokenStream 035 { 036public EntityLexer(InputStream in) { 037 this(new ByteBuffer(in)); 038} 039public EntityLexer(Reader in) { 040 this(new CharBuffer(in)); 041} 042public EntityLexer(InputBuffer ib) { 043 this(new LexerSharedInputState(ib)); 044} 045public EntityLexer(LexerSharedInputState state) { 046 super(state); 047 caseSensitiveLiterals = true; 048 setCaseSensitive(true); 049 literals = new Hashtable(); 050} 051 052public Token nextToken() throws TokenStreamException { 053 Token theRetToken=null; 054tryAgain: 055 for (;;) { 056 Token _token = null; 057 int _ttype = Token.INVALID_TYPE; 058 resetText(); 059 try { // for char stream error handling 060 try { // for lexical error handling 061 switch ( LA(1)) { 062 case ';': 063 { 064 mSEMI(true); 065 theRetToken=_returnToken; 066 break; 067 } 068 case ',': 069 { 070 mCOMMA(true); 071 theRetToken=_returnToken; 072 break; 073 } 074 case '(': 075 { 076 mLPAREN(true); 077 theRetToken=_returnToken; 078 break; 079 } 080 case ')': 081 { 082 mRPAREN(true); 083 theRetToken=_returnToken; 084 break; 085 } 086 case '{': 087 { 088 mLCURLY(true); 089 theRetToken=_returnToken; 090 break; 091 } 092 case '}': 093 { 094 mRCURLY(true); 095 theRetToken=_returnToken; 096 break; 097 } 098 case '[': 099 { 100 mLBRACK(true); 101 theRetToken=_returnToken; 102 break; 103 } 104 case ']': 105 { 106 mRBRACK(true); 107 theRetToken=_returnToken; 108 break; 109 } 110 case '*': 111 { 112 mSTAR(true); 113 theRetToken=_returnToken; 114 break; 115 } 116 case '?': 117 { 118 mANON(true); 119 theRetToken=_returnToken; 120 break; 121 } 122 case ':': 123 { 124 mCOLON(true); 125 theRetToken=_returnToken; 126 break; 127 } 128 case '!': 129 { 130 mBANG(true); 131 theRetToken=_returnToken; 132 break; 133 } 134 case '=': 135 { 136 mASSIGN(true); 137 theRetToken=_returnToken; 138 break; 139 } 140 case '.': 141 { 142 mRANGE(true); 143 theRetToken=_returnToken; 144 break; 145 } 146 case '\t': case '\n': case '\u000c': case '\r': 147 case ' ': 148 { 149 mWS(true); 150 theRetToken=_returnToken; 151 break; 152 } 153 case 'A': case 'B': case 'C': case 'D': 154 case 'E': case 'F': case 'G': case 'H': 155 case 'I': case 'J': case 'K': case 'L': 156 case 'M': case 'N': case 'O': case 'P': 157 case 'Q': case 'R': case 'S': case 'T': 158 case 'U': case 'V': case 'W': case 'X': 159 case 'Y': case 'Z': case 'a': case 'b': 160 case 'c': case 'd': case 'e': case 'f': 161 case 'g': case 'h': case 'i': case 'j': 162 case 'k': case 'l': case 'm': case 'n': 163 case 'o': case 'p': case 'q': case 'r': 164 case 's': case 't': case 'u': case 'v': 165 case 'w': case 'x': case 'y': case 'z': 166 { 167 mIDENT(true); 168 theRetToken=_returnToken; 169 break; 170 } 171 case '$': 172 { 173 mTYPEREF(true); 174 theRetToken=_returnToken; 175 break; 176 } 177 case '@': 178 { 179 mOPTION_BLOCK(true); 180 theRetToken=_returnToken; 181 break; 182 } 183 case '0': case '1': case '2': case '3': 184 case '4': case '5': case '6': case '7': 185 case '8': case '9': 186 { 187 mNUMBER(true); 188 theRetToken=_returnToken; 189 break; 190 } 191 case '\'': 192 { 193 mCHAR_LITERAL(true); 194 theRetToken=_returnToken; 195 break; 196 } 197 case '"': 198 { 199 mSTRING_LITERAL(true); 200 theRetToken=_returnToken; 201 break; 202 } 203 default: 204 if ((LA(1)=='/') && (LA(2)=='/')) { 205 mSL_COMMENT(true); 206 theRetToken=_returnToken; 207 } 208 else if ((LA(1)=='/') && (LA(2)=='*')) { 209 mML_COMMENT(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 public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 239 int _ttype; Token _token=null; int _begin=text.length(); 240 _ttype = SEMI; 241 int _saveIndex; 242 243 match(';'); 244 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 245 _token = makeToken(_ttype); 246 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 247 } 248 _returnToken = _token; 249 } 250 251 public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 252 int _ttype; Token _token=null; int _begin=text.length(); 253 _ttype = COMMA; 254 int _saveIndex; 255 256 match(','); 257 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 258 _token = makeToken(_ttype); 259 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 260 } 261 _returnToken = _token; 262 } 263 264 public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 265 int _ttype; Token _token=null; int _begin=text.length(); 266 _ttype = LPAREN; 267 int _saveIndex; 268 269 match('('); 270 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 271 _token = makeToken(_ttype); 272 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 273 } 274 _returnToken = _token; 275 } 276 277 public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 278 int _ttype; Token _token=null; int _begin=text.length(); 279 _ttype = RPAREN; 280 int _saveIndex; 281 282 match(')'); 283 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 284 _token = makeToken(_ttype); 285 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 286 } 287 _returnToken = _token; 288 } 289 290 public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 291 int _ttype; Token _token=null; int _begin=text.length(); 292 _ttype = LCURLY; 293 int _saveIndex; 294 295 match('{'); 296 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 297 _token = makeToken(_ttype); 298 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 299 } 300 _returnToken = _token; 301 } 302 303 public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 304 int _ttype; Token _token=null; int _begin=text.length(); 305 _ttype = RCURLY; 306 int _saveIndex; 307 308 match('}'); 309 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 310 _token = makeToken(_ttype); 311 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 312 } 313 _returnToken = _token; 314 } 315 316 public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 317 int _ttype; Token _token=null; int _begin=text.length(); 318 _ttype = LBRACK; 319 int _saveIndex; 320 321 match('['); 322 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 323 _token = makeToken(_ttype); 324 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 325 } 326 _returnToken = _token; 327 } 328 329 public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 330 int _ttype; Token _token=null; int _begin=text.length(); 331 _ttype = RBRACK; 332 int _saveIndex; 333 334 match(']'); 335 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 336 _token = makeToken(_ttype); 337 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 338 } 339 _returnToken = _token; 340 } 341 342 public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 343 int _ttype; Token _token=null; int _begin=text.length(); 344 _ttype = STAR; 345 int _saveIndex; 346 347 match('*'); 348 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 349 _token = makeToken(_ttype); 350 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 351 } 352 _returnToken = _token; 353 } 354 355 public final void mANON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 356 int _ttype; Token _token=null; int _begin=text.length(); 357 _ttype = ANON; 358 int _saveIndex; 359 360 match('?'); 361 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 362 _token = makeToken(_ttype); 363 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 364 } 365 _returnToken = _token; 366 } 367 368 public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 369 int _ttype; Token _token=null; int _begin=text.length(); 370 _ttype = COLON; 371 int _saveIndex; 372 373 match(':'); 374 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 375 _token = makeToken(_ttype); 376 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 377 } 378 _returnToken = _token; 379 } 380 381 public final void mBANG(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 382 int _ttype; Token _token=null; int _begin=text.length(); 383 _ttype = BANG; 384 int _saveIndex; 385 386 match('!'); 387 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 388 _token = makeToken(_ttype); 389 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 390 } 391 _returnToken = _token; 392 } 393 394 public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 395 int _ttype; Token _token=null; int _begin=text.length(); 396 _ttype = ASSIGN; 397 int _saveIndex; 398 399 match('='); 400 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 401 _token = makeToken(_ttype); 402 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 403 } 404 _returnToken = _token; 405 } 406 407 public final void mRANGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 408 int _ttype; Token _token=null; int _begin=text.length(); 409 _ttype = RANGE; 410 int _saveIndex; 411 412 match(".."); 413 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 414 _token = makeToken(_ttype); 415 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 416 } 417 _returnToken = _token; 418 } 419 420 public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 421 int _ttype; Token _token=null; int _begin=text.length(); 422 _ttype = WS; 423 int _saveIndex; 424 425 { 426 switch ( LA(1)) { 427 case ' ': 428 { 429 match(' '); 430 break; 431 } 432 case '\t': 433 { 434 match('\t'); 435 break; 436 } 437 case '\u000c': 438 { 439 match('\f'); 440 break; 441 } 442 case '\n': case '\r': 443 { 444 mNL(false); 445 break; 446 } 447 default: 448 { 449 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 450 } 451 } 452 } 453 _ttype = Token.SKIP; 454 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 455 _token = makeToken(_ttype); 456 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 457 } 458 _returnToken = _token; 459 } 460 461 protected final void mNL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 462 int _ttype; Token _token=null; int _begin=text.length(); 463 _ttype = NL; 464 int _saveIndex; 465 466 { 467 if (((LA(1)=='\r') && (LA(2)=='\n'))&&(LA(2) == '\n')) { 468 match('\r'); 469 match('\n'); 470 } 471 else if ((LA(1)=='\r') && (true)) { 472 match('\r'); 473 } 474 else if ((LA(1)=='\n')) { 475 match('\n'); 476 } 477 else { 478 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 479 } 480 481 } 482 newline(); 483 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 484 _token = makeToken(_ttype); 485 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 486 } 487 _returnToken = _token; 488 } 489 490 public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 491 int _ttype; Token _token=null; int _begin=text.length(); 492 _ttype = SL_COMMENT; 493 int _saveIndex; 494 495 match("//"); 496 { 497 _loop76: 498 do { 499 if ((_tokenSet_0.member(LA(1)))) { 500 { 501 match(_tokenSet_0); 502 } 503 } 504 else { 505 break _loop76; 506 } 507 508 } while (true); 509 } 510 { 511 if ((LA(1)=='\n'||LA(1)=='\r')) { 512 mNL(false); 513 } 514 else { 515 } 516 517 } 518 _ttype = Token.SKIP; 519 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 520 _token = makeToken(_ttype); 521 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 522 } 523 _returnToken = _token; 524 } 525 526 public final void mML_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 527 int _ttype; Token _token=null; int _begin=text.length(); 528 _ttype = ML_COMMENT; 529 int _saveIndex; 530 531 match("/*"); 532 { 533 _loop81: 534 do { 535 if (((LA(1)=='*') && ((LA(2) >= '\u0003' && LA(2) <= '\uffff')))&&( LA(2)!='/' )) { 536 match('*'); 537 } 538 else if ((LA(1)=='\n'||LA(1)=='\r')) { 539 mNL(false); 540 } 541 else if ((_tokenSet_1.member(LA(1)))) { 542 { 543 match(_tokenSet_1); 544 } 545 } 546 else { 547 break _loop81; 548 } 549 550 } while (true); 551 } 552 match("*/"); 553 _ttype = Token.SKIP; 554 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 555 _token = makeToken(_ttype); 556 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 557 } 558 _returnToken = _token; 559 } 560 561 public final void mIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 562 int _ttype; Token _token=null; int _begin=text.length(); 563 _ttype = IDENT; 564 int _saveIndex; 565 566 mPTIDENT(false); 567 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 568 _token = makeToken(_ttype); 569 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 570 } 571 _returnToken = _token; 572 } 573 574 protected final void mPTIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 575 int _ttype; Token _token=null; int _begin=text.length(); 576 _ttype = PTIDENT; 577 int _saveIndex; 578 579 { 580 switch ( LA(1)) { 581 case 'a': case 'b': case 'c': case 'd': 582 case 'e': case 'f': case 'g': case 'h': 583 case 'i': case 'j': case 'k': case 'l': 584 case 'm': case 'n': case 'o': case 'p': 585 case 'q': case 'r': case 's': case 't': 586 case 'u': case 'v': case 'w': case 'x': 587 case 'y': case 'z': 588 { 589 matchRange('a','z'); 590 break; 591 } 592 case 'A': case 'B': case 'C': case 'D': 593 case 'E': case 'F': case 'G': case 'H': 594 case 'I': case 'J': case 'K': case 'L': 595 case 'M': case 'N': case 'O': case 'P': 596 case 'Q': case 'R': case 'S': case 'T': 597 case 'U': case 'V': case 'W': case 'X': 598 case 'Y': case 'Z': 599 { 600 matchRange('A','Z'); 601 break; 602 } 603 default: 604 { 605 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 606 } 607 } 608 } 609 { 610 _loop88: 611 do { 612 switch ( LA(1)) { 613 case 'a': case 'b': case 'c': case 'd': 614 case 'e': case 'f': case 'g': case 'h': 615 case 'i': case 'j': case 'k': case 'l': 616 case 'm': case 'n': case 'o': case 'p': 617 case 'q': case 'r': case 's': case 't': 618 case 'u': case 'v': case 'w': case 'x': 619 case 'y': case 'z': 620 { 621 matchRange('a','z'); 622 break; 623 } 624 case 'A': case 'B': case 'C': case 'D': 625 case 'E': case 'F': case 'G': case 'H': 626 case 'I': case 'J': case 'K': case 'L': 627 case 'M': case 'N': case 'O': case 'P': 628 case 'Q': case 'R': case 'S': case 'T': 629 case 'U': case 'V': case 'W': case 'X': 630 case 'Y': case 'Z': 631 { 632 matchRange('A','Z'); 633 break; 634 } 635 case '_': 636 { 637 match('_'); 638 break; 639 } 640 case '0': case '1': case '2': case '3': 641 case '4': case '5': case '6': case '7': 642 case '8': case '9': 643 { 644 matchRange('0','9'); 645 break; 646 } 647 case '$': 648 { 649 match('$'); 650 break; 651 } 652 case '/': 653 { 654 match('/'); 655 break; 656 } 657 case '*': 658 { 659 match('*'); 660 break; 661 } 662 default: 663 { 664 break _loop88; 665 } 666 } 667 } while (true); 668 } 669 _ttype = testLiteralsTable(new String(text.getBuffer(),_begin,text.length()-_begin),_ttype); 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 mTYPEREF(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 678 int _ttype; Token _token=null; int _begin=text.length(); 679 _ttype = TYPEREF; 680 int _saveIndex; 681 Token i=null; 682 683 match('$'); 684 mPTIDENT(true); 685 i=_returnToken; 686 text.setLength(_begin); text.append(i.getText()); 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 mOPTION_BLOCK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 695 int _ttype; Token _token=null; int _begin=text.length(); 696 _ttype = OPTION_BLOCK; 697 int _saveIndex; 698 Token i=null; 699 700 match('@'); 701 mPTIDENT(true); 702 i=_returnToken; 703 text.setLength(_begin); text.append(i.getText()); 704 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 705 _token = makeToken(_ttype); 706 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 707 } 708 _returnToken = _token; 709 } 710 711 public final void mNUMBER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 712 int _ttype; Token _token=null; int _begin=text.length(); 713 _ttype = NUMBER; 714 int _saveIndex; 715 716 { 717 int _cnt93=0; 718 _loop93: 719 do { 720 if (((LA(1) >= '0' && LA(1) <= '9'))) { 721 matchRange('0','9'); 722 } 723 else { 724 if ( _cnt93>=1 ) { break _loop93; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 725 } 726 727 _cnt93++; 728 } while (true); 729 } 730 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 731 _token = makeToken(_ttype); 732 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 733 } 734 _returnToken = _token; 735 } 736 737 public final void mCHAR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 738 int _ttype; Token _token=null; int _begin=text.length(); 739 _ttype = CHAR_LITERAL; 740 int _saveIndex; 741 Token c=null; 742 743 match('\''); 744 mCHAR_BODY(true); 745 c=_returnToken; 746 match('\''); 747 text.setLength(_begin); text.append(c.getText()); 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 protected final void mCHAR_BODY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 756 int _ttype; Token _token=null; int _begin=text.length(); 757 _ttype = CHAR_BODY; 758 int _saveIndex; 759 760 if ((LA(1)=='\\')) { 761 mESC(false); 762 } 763 else if ((_tokenSet_2.member(LA(1)))) { 764 { 765 match(_tokenSet_2); 766 } 767 } 768 else { 769 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 770 } 771 772 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 773 _token = makeToken(_ttype); 774 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 775 } 776 _returnToken = _token; 777 } 778 779 protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 780 int _ttype; Token _token=null; int _begin=text.length(); 781 _ttype = ESC; 782 int _saveIndex; 783 char c = 0; 784 785 match('\\'); 786 { 787 switch ( LA(1)) { 788 case 'n': 789 { 790 match('n'); 791 text.setLength(_begin); text.append("\n"); 792 break; 793 } 794 case 'r': 795 { 796 match('r'); 797 text.setLength(_begin); text.append("\r"); 798 break; 799 } 800 case 't': 801 { 802 match('t'); 803 text.setLength(_begin); text.append("\t"); 804 break; 805 } 806 case 'b': 807 { 808 match('b'); 809 text.setLength(_begin); text.append("\b"); 810 break; 811 } 812 case 'f': 813 { 814 match('f'); 815 text.setLength(_begin); text.append("\f"); 816 break; 817 } 818 case '"': 819 { 820 match('"'); 821 text.setLength(_begin); text.append("\""); 822 break; 823 } 824 case '\'': 825 { 826 match('\''); 827 text.setLength(_begin); text.append("\'"); 828 break; 829 } 830 case '\\': 831 { 832 match('\\'); 833 text.setLength(_begin); text.append("\\"); 834 break; 835 } 836 case 'u': 837 { 838 c=mUNICODE(false); 839 text.setLength(_begin); text.append(Character.toString(c)); 840 break; 841 } 842 case '0': case '1': case '2': case '3': 843 case '4': case '5': case '6': case '7': 844 { 845 c=mOCTAL(false); 846 text.setLength(_begin); text.append(Character.toString(c)); 847 break; 848 } 849 default: 850 { 851 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 852 } 853 } 854 } 855 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 856 _token = makeToken(_ttype); 857 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 858 } 859 _returnToken = _token; 860 } 861 862 public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 863 int _ttype; Token _token=null; int _begin=text.length(); 864 _ttype = STRING_LITERAL; 865 int _saveIndex; 866 Token s=null; 867 868 match('"'); 869 mSTRING_BODY(true); 870 s=_returnToken; 871 match('"'); 872 text.setLength(_begin); text.append(s.getText()); 873 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 874 _token = makeToken(_ttype); 875 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 876 } 877 _returnToken = _token; 878 } 879 880 protected final void mSTRING_BODY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 881 int _ttype; Token _token=null; int _begin=text.length(); 882 _ttype = STRING_BODY; 883 int _saveIndex; 884 Token e=null; 885 char o = '\0'; 886 StringBuffer sb = new StringBuffer(); 887 888 { 889 _loop101: 890 do { 891 if ((LA(1)=='\\')) { 892 mESC(true); 893 e=_returnToken; 894 sb.append(e.getText()); 895 } 896 else if ((_tokenSet_3.member(LA(1)))) { 897 { 898 o = LA(1); 899 match(_tokenSet_3); 900 } 901 sb.append(o); 902 } 903 else { 904 break _loop101; 905 } 906 907 } while (true); 908 } 909 text.setLength(_begin); text.append(sb.toString()); 910 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 911 _token = makeToken(_ttype); 912 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 913 } 914 _returnToken = _token; 915 } 916 917 protected final char mUNICODE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 918 char c = 0;; 919 int _ttype; Token _token=null; int _begin=text.length(); 920 _ttype = UNICODE; 921 int _saveIndex; 922 923 { 924 int _cnt106=0; 925 _loop106: 926 do { 927 if ((LA(1)=='u')) { 928 match('u'); 929 } 930 else { 931 if ( _cnt106>=1 ) { break _loop106; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 932 } 933 934 _cnt106++; 935 } while (true); 936 } 937 mHEX_DIGIT(false); 938 c <<= 4; c |= Character.digit(LA(0), 16); 939 mHEX_DIGIT(false); 940 c <<= 4; c |= Character.digit(LA(0), 16); 941 mHEX_DIGIT(false); 942 c <<= 4; c |= Character.digit(LA(0), 16); 943 mHEX_DIGIT(false); 944 c <<= 4; c |= Character.digit(LA(0), 16); 945 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 946 _token = makeToken(_ttype); 947 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 948 } 949 _returnToken = _token; 950 return c; 951 } 952 953 protected final char mOCTAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 954 char c = 0;; 955 int _ttype; Token _token=null; int _begin=text.length(); 956 _ttype = OCTAL; 957 int _saveIndex; 958 959 switch ( LA(1)) { 960 case '0': case '1': case '2': case '3': 961 { 962 matchRange('0','3'); 963 c <<= 3; c |= Character.digit(LA(0), 8); 964 { 965 if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2)))) { 966 matchRange('0','7'); 967 c <<= 3; c |= Character.digit(LA(0), 8); 968 { 969 if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2)))) { 970 matchRange('0','7'); 971 c <<= 3; c |= Character.digit(LA(0), 8); 972 } 973 else if ((_tokenSet_0.member(LA(1))) && (true)) { 974 } 975 else { 976 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 977 } 978 979 } 980 } 981 else if ((_tokenSet_0.member(LA(1))) && (true)) { 982 } 983 else { 984 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 985 } 986 987 } 988 break; 989 } 990 case '4': case '5': case '6': case '7': 991 { 992 matchRange('4','7'); 993 c <<= 3; c |= Character.digit(LA(0), 8); 994 { 995 if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2)))) { 996 matchRange('0','7'); 997 c <<= 3; c |= Character.digit(LA(0), 8); 998 } 999 else if ((_tokenSet_0.member(LA(1))) && (true)) { 1000 } 1001 else { 1002 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 1003 } 1004 1005 } 1006 break; 1007 } 1008 default: 1009 { 1010 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 1011 } 1012 } 1013 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 1014 _token = makeToken(_ttype); 1015 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 1016 } 1017 _returnToken = _token; 1018 return c; 1019 } 1020 1021 protected final int mHEX_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 1022 int i = 0;; 1023 int _ttype; Token _token=null; int _begin=text.length(); 1024 _ttype = HEX_DIGIT; 1025 int _saveIndex; 1026 1027 { 1028 switch ( LA(1)) { 1029 case '0': case '1': case '2': case '3': 1030 case '4': case '5': case '6': case '7': 1031 case '8': case '9': 1032 { 1033 matchRange('0','9'); 1034 break; 1035 } 1036 case 'A': case 'B': case 'C': case 'D': 1037 case 'E': case 'F': 1038 { 1039 matchRange('A','F'); 1040 break; 1041 } 1042 case 'a': case 'b': case 'c': case 'd': 1043 case 'e': case 'f': 1044 { 1045 matchRange('a','f'); 1046 break; 1047 } 1048 default: 1049 { 1050 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 1051 } 1052 } 1053 } 1054 i = Character.digit(LA(0), 16); 1055 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 1056 _token = makeToken(_ttype); 1057 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 1058 } 1059 _returnToken = _token; 1060 return i; 1061 } 1062 1063 1064 private static final long[] mk_tokenSet_0() { 1065 long[] data = new long[2048]; 1066 data[0]=-9224L; 1067 for (int i = 1; i<=1023; i++) { data[i]=-1L; } 1068 return data; 1069 } 1070 public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); 1071 private static final long[] mk_tokenSet_1() { 1072 long[] data = new long[2048]; 1073 data[0]=-4398046520328L; 1074 for (int i = 1; i<=1023; i++) { data[i]=-1L; } 1075 return data; 1076 } 1077 public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); 1078 private static final long[] mk_tokenSet_2() { 1079 long[] data = new long[2048]; 1080 data[0]=-549755823112L; 1081 data[1]=-268435457L; 1082 for (int i = 2; i<=1023; i++) { data[i]=-1L; } 1083 return data; 1084 } 1085 public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); 1086 private static final long[] mk_tokenSet_3() { 1087 long[] data = new long[2048]; 1088 data[0]=-17179878408L; 1089 data[1]=-268435457L; 1090 for (int i = 2; i<=1023; i++) { data[i]=-1L; } 1091 return data; 1092 } 1093 public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); 1094 1095 }