ANTLRLexer.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:42k
源码类别:

编译器/解释器

开发平台:

Others

  1. // $ANTLR 2.7.0a11: "antlr.g" -> "ANTLRLexer.java"$
  2. package antlr;
  3. import java.io.InputStream;
  4. import antlr.TokenStreamException;
  5. import antlr.TokenStreamIOException;
  6. import antlr.TokenStreamRecognitionException;
  7. import antlr.CharStreamException;
  8. import antlr.CharStreamIOException;
  9. import antlr.ANTLRException;
  10. import java.io.Reader;
  11. import java.util.Hashtable;
  12. import antlr.CharScanner;
  13. import antlr.InputBuffer;
  14. import antlr.ByteBuffer;
  15. import antlr.CharBuffer;
  16. import antlr.Token;
  17. import antlr.CommonToken;
  18. import antlr.RecognitionException;
  19. import antlr.NoViableAltForCharException;
  20. import antlr.MismatchedCharException;
  21. import antlr.TokenStream;
  22. import antlr.ANTLRHashString;
  23. import antlr.LexerSharedInputState;
  24. import antlr.collections.impl.BitSet;
  25. public class ANTLRLexer extends antlr.CharScanner implements ANTLRTokenTypes, TokenStream
  26.  {
  27. /**Convert 'c' to an integer char value. */
  28. public static int escapeCharValue(String cs) {
  29. //System.out.println("escapeCharValue("+cs+")");
  30. if ( cs.charAt(1)!='\' ) return 0;
  31. switch ( cs.charAt(2) ) {
  32. case 'b' : return 'b';
  33. case 'r' : return 'r';
  34. case 't' : return 't';
  35. case 'n' : return 'n';
  36. case 'f' : return 'f';
  37. case '"' : return '"';
  38. case ''' :return ''';
  39. case '\' :return '\';
  40. case 'u' :
  41. // Unicode char
  42. if (cs.length() != 8) {
  43. return 0;
  44. }
  45. else {
  46. return
  47. Character.digit(cs.charAt(3), 16) * 16 * 16 * 16 +
  48. Character.digit(cs.charAt(4), 16) * 16 * 16 +
  49. Character.digit(cs.charAt(5), 16) * 16 +
  50. Character.digit(cs.charAt(6), 16);
  51. }
  52. case '0' :
  53. case '1' :
  54. case '2' :
  55. case '3' :
  56. if ( cs.length()>5 && Character.isDigit(cs.charAt(4)) ) {
  57. return (cs.charAt(2)-'0')*8*8 + (cs.charAt(3)-'0')*8 + (cs.charAt(4)-'0');
  58. }
  59. if ( cs.length()>4 && Character.isDigit(cs.charAt(3)) ) {
  60. return (cs.charAt(2)-'0')*8 + (cs.charAt(3)-'0');
  61. }
  62. return cs.charAt(2)-'0';
  63. case '4' :
  64. case '5' :
  65. case '6' :
  66. case '7' :
  67. if ( cs.length()>4 && Character.isDigit(cs.charAt(3)) ) {
  68. return (cs.charAt(2)-'0')*8 + (cs.charAt(3)-'0');
  69. }
  70. return cs.charAt(2)-'0';
  71. default :
  72. return 0;
  73. }
  74. }
  75. public static int tokenTypeForCharLiteral(String lit) {
  76. if ( lit.length()>3 ) {  // does char contain escape?
  77. return escapeCharValue(lit);
  78. }
  79. else {
  80. return lit.charAt(1);
  81. }
  82. }
  83. public ANTLRLexer(InputStream in) {
  84. this(new ByteBuffer(in));
  85. }
  86. public ANTLRLexer(Reader in) {
  87. this(new CharBuffer(in));
  88. }
  89. public ANTLRLexer(InputBuffer ib) {
  90. this(new LexerSharedInputState(ib));
  91. }
  92. public ANTLRLexer(LexerSharedInputState state) {
  93. super(state);
  94. literals = new Hashtable();
  95. literals.put(new ANTLRHashString("Parser", this), new Integer(30));
  96. literals.put(new ANTLRHashString("catch", this), new Integer(39));
  97. literals.put(new ANTLRHashString("Lexer", this), new Integer(12));
  98. literals.put(new ANTLRHashString("exception", this), new Integer(38));
  99. literals.put(new ANTLRHashString("class", this), new Integer(10));
  100. literals.put(new ANTLRHashString("lexclass", this), new Integer(9));
  101. literals.put(new ANTLRHashString("public", this), new Integer(32));
  102. literals.put(new ANTLRHashString("header", this), new Integer(5));
  103. literals.put(new ANTLRHashString("options", this), new Integer(49));
  104. literals.put(new ANTLRHashString("charVocabulary", this), new Integer(18));
  105. literals.put(new ANTLRHashString("tokens", this), new Integer(4));
  106. literals.put(new ANTLRHashString("returns", this), new Integer(36));
  107. literals.put(new ANTLRHashString("TreeParser", this), new Integer(13));
  108. literals.put(new ANTLRHashString("private", this), new Integer(33));
  109. literals.put(new ANTLRHashString("protected", this), new Integer(31));
  110. literals.put(new ANTLRHashString("extends", this), new Integer(11));
  111. caseSensitiveLiterals = true;
  112. setCaseSensitive(true);
  113. }
  114. public Token nextToken() throws TokenStreamException {
  115. Token theRetToken=null;
  116. tryAgain:
  117. for (;;) {
  118. Token _token = null;
  119. int _ttype = Token.INVALID_TYPE;
  120. resetText();
  121. try {   // for char stream error handling
  122. try {   // for lexical error handling
  123. switch ( LA(1)) {
  124. case 't':  case 'n':  case 'r':  case ' ':
  125. {
  126. mWS(true);
  127. theRetToken=_returnToken;
  128. break;
  129. }
  130. case '/':
  131. {
  132. mCOMMENT(true);
  133. theRetToken=_returnToken;
  134. break;
  135. }
  136. case '<':
  137. {
  138. mOPEN_ELEMENT_OPTION(true);
  139. theRetToken=_returnToken;
  140. break;
  141. }
  142. case '>':
  143. {
  144. mCLOSE_ELEMENT_OPTION(true);
  145. theRetToken=_returnToken;
  146. break;
  147. }
  148. case ',':
  149. {
  150. mCOMMA(true);
  151. theRetToken=_returnToken;
  152. break;
  153. }
  154. case '?':
  155. {
  156. mQUESTION(true);
  157. theRetToken=_returnToken;
  158. break;
  159. }
  160. case '#':
  161. {
  162. mTREE_BEGIN(true);
  163. theRetToken=_returnToken;
  164. break;
  165. }
  166. case '(':
  167. {
  168. mLPAREN(true);
  169. theRetToken=_returnToken;
  170. break;
  171. }
  172. case ')':
  173. {
  174. mRPAREN(true);
  175. theRetToken=_returnToken;
  176. break;
  177. }
  178. case ':':
  179. {
  180. mCOLON(true);
  181. theRetToken=_returnToken;
  182. break;
  183. }
  184. case '*':
  185. {
  186. mSTAR(true);
  187. theRetToken=_returnToken;
  188. break;
  189. }
  190. case '+':
  191. {
  192. mPLUS(true);
  193. theRetToken=_returnToken;
  194. break;
  195. }
  196. case ';':
  197. {
  198. mSEMI(true);
  199. theRetToken=_returnToken;
  200. break;
  201. }
  202. case '^':
  203. {
  204. mCARET(true);
  205. theRetToken=_returnToken;
  206. break;
  207. }
  208. case '!':
  209. {
  210. mBANG(true);
  211. theRetToken=_returnToken;
  212. break;
  213. }
  214. case '|':
  215. {
  216. mOR(true);
  217. theRetToken=_returnToken;
  218. break;
  219. }
  220. case '~':
  221. {
  222. mNOT_OP(true);
  223. theRetToken=_returnToken;
  224. break;
  225. }
  226. case '}':
  227. {
  228. mRCURLY(true);
  229. theRetToken=_returnToken;
  230. break;
  231. }
  232. case ''':
  233. {
  234. mCHAR_LITERAL(true);
  235. theRetToken=_returnToken;
  236. break;
  237. }
  238. case '"':
  239. {
  240. mSTRING_LITERAL(true);
  241. theRetToken=_returnToken;
  242. break;
  243. }
  244. case '0':  case '1':  case '2':  case '3':
  245. case '4':  case '5':  case '6':  case '7':
  246. case '8':  case '9':
  247. {
  248. mINT(true);
  249. theRetToken=_returnToken;
  250. break;
  251. }
  252. case '[':
  253. {
  254. mARG_ACTION(true);
  255. theRetToken=_returnToken;
  256. break;
  257. }
  258. case '{':
  259. {
  260. mACTION(true);
  261. theRetToken=_returnToken;
  262. break;
  263. }
  264. case 'A':  case 'B':  case 'C':  case 'D':
  265. case 'E':  case 'F':  case 'G':  case 'H':
  266. case 'I':  case 'J':  case 'K':  case 'L':
  267. case 'M':  case 'N':  case 'O':  case 'P':
  268. case 'Q':  case 'R':  case 'S':  case 'T':
  269. case 'U':  case 'V':  case 'W':  case 'X':
  270. case 'Y':  case 'Z':
  271. {
  272. mTOKEN_REF(true);
  273. theRetToken=_returnToken;
  274. break;
  275. }
  276. case 'a':  case 'b':  case 'c':  case 'd':
  277. case 'e':  case 'f':  case 'g':  case 'h':
  278. case 'i':  case 'j':  case 'k':  case 'l':
  279. case 'm':  case 'n':  case 'o':  case 'p':
  280. case 'q':  case 'r':  case 's':  case 't':
  281. case 'u':  case 'v':  case 'w':  case 'x':
  282. case 'y':  case 'z':
  283. {
  284. mRULE_REF(true);
  285. theRetToken=_returnToken;
  286. break;
  287. }
  288. default:
  289. if ((LA(1)=='=') && (LA(2)=='>')) {
  290. mIMPLIES(true);
  291. theRetToken=_returnToken;
  292. }
  293. else if ((LA(1)=='.') && (LA(2)=='.')) {
  294. mRANGE(true);
  295. theRetToken=_returnToken;
  296. }
  297. else if ((LA(1)=='=') && (true)) {
  298. mASSIGN(true);
  299. theRetToken=_returnToken;
  300. }
  301. else if ((LA(1)=='.') && (true)) {
  302. mWILDCARD(true);
  303. theRetToken=_returnToken;
  304. }
  305. else {
  306. if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
  307. else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}
  308. }
  309. }
  310. if ( _returnToken==null ) continue tryAgain; // found SKIP token
  311. _ttype = _returnToken.getType();
  312. _returnToken.setType(_ttype);
  313. return _returnToken;
  314. }
  315. catch (RecognitionException e) {
  316. reportError(e);
  317. consume();
  318. }
  319. }
  320. catch (CharStreamException cse) {
  321. if ( cse instanceof CharStreamIOException ) {
  322. throw new TokenStreamIOException(((CharStreamIOException)cse).io);
  323. }
  324. else {
  325. throw new TokenStreamException(cse.getMessage());
  326. }
  327. }
  328. }
  329. }
  330. public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  331. int _ttype; Token _token=null; int _begin=text.length();
  332. _ttype = WS;
  333. int _saveIndex;
  334. {
  335. switch ( LA(1)) {
  336. case ' ':
  337. {
  338. match(' ');
  339. break;
  340. }
  341. case 't':
  342. {
  343. match('t');
  344. break;
  345. }
  346. case 'n':
  347. {
  348. match('n');
  349. if ( inputState.guessing==0 ) {
  350. newline();
  351. }
  352. break;
  353. }
  354. default:
  355. if ((LA(1)=='r') && (LA(2)=='n')) {
  356. match('r');
  357. match('n');
  358. if ( inputState.guessing==0 ) {
  359. newline();
  360. }
  361. }
  362. else if ((LA(1)=='r') && (true)) {
  363. match('r');
  364. if ( inputState.guessing==0 ) {
  365. newline();
  366. }
  367. }
  368. else {
  369. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  370. }
  371. }
  372. }
  373. if ( inputState.guessing==0 ) {
  374. _ttype = Token.SKIP;
  375. }
  376. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  377. _token = makeToken(_ttype);
  378. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  379. }
  380. _returnToken = _token;
  381. }
  382. public final void mCOMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  383. int _ttype; Token _token=null; int _begin=text.length();
  384. _ttype = COMMENT;
  385. int _saveIndex;
  386. Token t=null;
  387. {
  388. if ((LA(1)=='/') && (LA(2)=='/')) {
  389. mSL_COMMENT(false);
  390. }
  391. else if ((LA(1)=='/') && (LA(2)=='*')) {
  392. mML_COMMENT(true);
  393. t=_returnToken;
  394. if ( inputState.guessing==0 ) {
  395. _ttype = t.getType();
  396. }
  397. }
  398. else {
  399. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  400. }
  401. }
  402. if ( inputState.guessing==0 ) {
  403. if ( _ttype != DOC_COMMENT ) _ttype = Token.SKIP;
  404. }
  405. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  406. _token = makeToken(_ttype);
  407. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  408. }
  409. _returnToken = _token;
  410. }
  411. protected final void mSL_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  412. int _ttype; Token _token=null; int _begin=text.length();
  413. _ttype = SL_COMMENT;
  414. int _saveIndex;
  415. match("//");
  416. {
  417. _loop149:
  418. do {
  419. if ((_tokenSet_0.member(LA(1)))) {
  420. {
  421. match(_tokenSet_0);
  422. }
  423. }
  424. else {
  425. break _loop149;
  426. }
  427. } while (true);
  428. }
  429. {
  430. if ((LA(1)=='r') && (LA(2)=='n')) {
  431. match('r');
  432. match('n');
  433. }
  434. else if ((LA(1)=='r') && (true)) {
  435. match('r');
  436. }
  437. else if ((LA(1)=='n')) {
  438. match('n');
  439. }
  440. else {
  441. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  442. }
  443. }
  444. if ( inputState.guessing==0 ) {
  445. newline();
  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. protected final void mML_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  454. int _ttype; Token _token=null; int _begin=text.length();
  455. _ttype = ML_COMMENT;
  456. int _saveIndex;
  457. match("/*");
  458. {
  459. if (((LA(1)=='*') && ((LA(2) >= '3' && LA(2) <= '~')))&&( LA(2)!='/' )) {
  460. match('*');
  461. if ( inputState.guessing==0 ) {
  462. _ttype = DOC_COMMENT;
  463. }
  464. }
  465. else if (((LA(1) >= '3' && LA(1) <= '~')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  466. }
  467. else {
  468. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  469. }
  470. }
  471. {
  472. _loop155:
  473. do {
  474. // nongreedy exit test
  475. if ((LA(1)=='*') && (LA(2)=='/')) break _loop155;
  476. if ((LA(1)=='r') && (LA(2)=='n')) {
  477. match('r');
  478. match('n');
  479. if ( inputState.guessing==0 ) {
  480. newline();
  481. }
  482. }
  483. else if ((LA(1)=='r') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  484. match('r');
  485. if ( inputState.guessing==0 ) {
  486. newline();
  487. }
  488. }
  489. else if ((_tokenSet_0.member(LA(1))) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  490. {
  491. match(_tokenSet_0);
  492. }
  493. }
  494. else if ((LA(1)=='n')) {
  495. match('n');
  496. if ( inputState.guessing==0 ) {
  497. newline();
  498. }
  499. }
  500. else {
  501. break _loop155;
  502. }
  503. } while (true);
  504. }
  505. match("*/");
  506. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  507. _token = makeToken(_ttype);
  508. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  509. }
  510. _returnToken = _token;
  511. }
  512. public final void mOPEN_ELEMENT_OPTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  513. int _ttype; Token _token=null; int _begin=text.length();
  514. _ttype = OPEN_ELEMENT_OPTION;
  515. int _saveIndex;
  516. match('<');
  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. public final void mCLOSE_ELEMENT_OPTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  524. int _ttype; Token _token=null; int _begin=text.length();
  525. _ttype = CLOSE_ELEMENT_OPTION;
  526. int _saveIndex;
  527. match('>');
  528. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  529. _token = makeToken(_ttype);
  530. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  531. }
  532. _returnToken = _token;
  533. }
  534. public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  535. int _ttype; Token _token=null; int _begin=text.length();
  536. _ttype = COMMA;
  537. int _saveIndex;
  538. match(',');
  539. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  540. _token = makeToken(_ttype);
  541. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  542. }
  543. _returnToken = _token;
  544. }
  545. public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  546. int _ttype; Token _token=null; int _begin=text.length();
  547. _ttype = QUESTION;
  548. int _saveIndex;
  549. match('?');
  550. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  551. _token = makeToken(_ttype);
  552. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  553. }
  554. _returnToken = _token;
  555. }
  556. public final void mTREE_BEGIN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  557. int _ttype; Token _token=null; int _begin=text.length();
  558. _ttype = TREE_BEGIN;
  559. int _saveIndex;
  560. match("#(");
  561. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  562. _token = makeToken(_ttype);
  563. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  564. }
  565. _returnToken = _token;
  566. }
  567. public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  568. int _ttype; Token _token=null; int _begin=text.length();
  569. _ttype = LPAREN;
  570. int _saveIndex;
  571. match('(');
  572. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  573. _token = makeToken(_ttype);
  574. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  575. }
  576. _returnToken = _token;
  577. }
  578. public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  579. int _ttype; Token _token=null; int _begin=text.length();
  580. _ttype = RPAREN;
  581. int _saveIndex;
  582. match(')');
  583. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  584. _token = makeToken(_ttype);
  585. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  586. }
  587. _returnToken = _token;
  588. }
  589. public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  590. int _ttype; Token _token=null; int _begin=text.length();
  591. _ttype = COLON;
  592. int _saveIndex;
  593. match(':');
  594. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  595. _token = makeToken(_ttype);
  596. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  597. }
  598. _returnToken = _token;
  599. }
  600. public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  601. int _ttype; Token _token=null; int _begin=text.length();
  602. _ttype = STAR;
  603. int _saveIndex;
  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. public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  612. int _ttype; Token _token=null; int _begin=text.length();
  613. _ttype = PLUS;
  614. int _saveIndex;
  615. match('+');
  616. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  617. _token = makeToken(_ttype);
  618. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  619. }
  620. _returnToken = _token;
  621. }
  622. public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  623. int _ttype; Token _token=null; int _begin=text.length();
  624. _ttype = ASSIGN;
  625. int _saveIndex;
  626. match('=');
  627. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  628. _token = makeToken(_ttype);
  629. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  630. }
  631. _returnToken = _token;
  632. }
  633. public final void mIMPLIES(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  634. int _ttype; Token _token=null; int _begin=text.length();
  635. _ttype = IMPLIES;
  636. int _saveIndex;
  637. match("=>");
  638. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  639. _token = makeToken(_ttype);
  640. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  641. }
  642. _returnToken = _token;
  643. }
  644. public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  645. int _ttype; Token _token=null; int _begin=text.length();
  646. _ttype = SEMI;
  647. int _saveIndex;
  648. match(';');
  649. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  650. _token = makeToken(_ttype);
  651. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  652. }
  653. _returnToken = _token;
  654. }
  655. public final void mCARET(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  656. int _ttype; Token _token=null; int _begin=text.length();
  657. _ttype = CARET;
  658. int _saveIndex;
  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. public final void mBANG(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  667. int _ttype; Token _token=null; int _begin=text.length();
  668. _ttype = BANG;
  669. int _saveIndex;
  670. match('!');
  671. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  672. _token = makeToken(_ttype);
  673. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  674. }
  675. _returnToken = _token;
  676. }
  677. public final void mOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  678. int _ttype; Token _token=null; int _begin=text.length();
  679. _ttype = OR;
  680. int _saveIndex;
  681. match('|');
  682. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  683. _token = makeToken(_ttype);
  684. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  685. }
  686. _returnToken = _token;
  687. }
  688. public final void mWILDCARD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  689. int _ttype; Token _token=null; int _begin=text.length();
  690. _ttype = WILDCARD;
  691. int _saveIndex;
  692. match('.');
  693. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  694. _token = makeToken(_ttype);
  695. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  696. }
  697. _returnToken = _token;
  698. }
  699. public final void mRANGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  700. int _ttype; Token _token=null; int _begin=text.length();
  701. _ttype = RANGE;
  702. int _saveIndex;
  703. match("..");
  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. public final void mNOT_OP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  711. int _ttype; Token _token=null; int _begin=text.length();
  712. _ttype = NOT_OP;
  713. int _saveIndex;
  714. match('~');
  715. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  716. _token = makeToken(_ttype);
  717. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  718. }
  719. _returnToken = _token;
  720. }
  721. public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  722. int _ttype; Token _token=null; int _begin=text.length();
  723. _ttype = RCURLY;
  724. int _saveIndex;
  725. match('}');
  726. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  727. _token = makeToken(_ttype);
  728. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  729. }
  730. _returnToken = _token;
  731. }
  732. public final void mCHAR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  733. int _ttype; Token _token=null; int _begin=text.length();
  734. _ttype = CHAR_LITERAL;
  735. int _saveIndex;
  736. match(''');
  737. {
  738. switch ( LA(1)) {
  739. case '\':
  740. {
  741. mESC(false);
  742. break;
  743. }
  744. case '3':  case '4':  case '5':  case '6':
  745. case '7':  case '10':  case 't':  case 'n':
  746. case '13':  case '14':  case 'r':  case '16':
  747. case '17':  case '20':  case '21':  case '22':
  748. case '23':  case '24':  case '25':  case '26':
  749. case '27':  case '30':  case '31':  case '32':
  750. case '33':  case '34':  case '35':  case '36':
  751. case '37':  case ' ':  case '!':  case '"':
  752. case '#':  case '$':  case '%':  case '&':
  753. case '(':  case ')':  case '*':  case '+':
  754. case ',':  case '-':  case '.':  case '/':
  755. case '0':  case '1':  case '2':  case '3':
  756. case '4':  case '5':  case '6':  case '7':
  757. case '8':  case '9':  case ':':  case ';':
  758. case '<':  case '=':  case '>':  case '?':
  759. case '@':  case 'A':  case 'B':  case 'C':
  760. case 'D':  case 'E':  case 'F':  case 'G':
  761. case 'H':  case 'I':  case 'J':  case 'K':
  762. case 'L':  case 'M':  case 'N':  case 'O':
  763. case 'P':  case 'Q':  case 'R':  case 'S':
  764. case 'T':  case 'U':  case 'V':  case 'W':
  765. case 'X':  case 'Y':  case 'Z':  case '[':
  766. case ']':  case '^':  case '_':  case '`':
  767. case 'a':  case 'b':  case 'c':  case 'd':
  768. case 'e':  case 'f':  case 'g':  case 'h':
  769. case 'i':  case 'j':  case 'k':  case 'l':
  770. case 'm':  case 'n':  case 'o':  case 'p':
  771. case 'q':  case 'r':  case 's':  case 't':
  772. case 'u':  case 'v':  case 'w':  case 'x':
  773. case 'y':  case 'z':  case '{':  case '|':
  774. case '}':  case '~':
  775. {
  776. matchNot(''');
  777. break;
  778. }
  779. default:
  780. {
  781. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  782. }
  783. }
  784. }
  785. match(''');
  786. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  787. _token = makeToken(_ttype);
  788. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  789. }
  790. _returnToken = _token;
  791. }
  792. protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  793. int _ttype; Token _token=null; int _begin=text.length();
  794. _ttype = ESC;
  795. int _saveIndex;
  796. match('\');
  797. {
  798. switch ( LA(1)) {
  799. case 'n':
  800. {
  801. match('n');
  802. break;
  803. }
  804. case 'r':
  805. {
  806. match('r');
  807. break;
  808. }
  809. case 't':
  810. {
  811. match('t');
  812. break;
  813. }
  814. case 'b':
  815. {
  816. match('b');
  817. break;
  818. }
  819. case 'f':
  820. {
  821. match('f');
  822. break;
  823. }
  824. case 'w':
  825. {
  826. match('w');
  827. break;
  828. }
  829. case 'a':
  830. {
  831. match('a');
  832. break;
  833. }
  834. case '"':
  835. {
  836. match('"');
  837. break;
  838. }
  839. case ''':
  840. {
  841. match(''');
  842. break;
  843. }
  844. case '\':
  845. {
  846. match('\');
  847. break;
  848. }
  849. case '0':  case '1':  case '2':  case '3':
  850. {
  851. {
  852. matchRange('0','3');
  853. }
  854. {
  855. if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  856. {
  857. matchRange('0','9');
  858. }
  859. {
  860. if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  861. matchRange('0','9');
  862. }
  863. else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
  864. }
  865. else {
  866. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  867. }
  868. }
  869. }
  870. else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
  871. }
  872. else {
  873. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  874. }
  875. }
  876. break;
  877. }
  878. case '4':  case '5':  case '6':  case '7':
  879. {
  880. {
  881. matchRange('4','7');
  882. }
  883. {
  884. if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  885. {
  886. matchRange('0','9');
  887. }
  888. }
  889. else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
  890. }
  891. else {
  892. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  893. }
  894. }
  895. break;
  896. }
  897. case 'u':
  898. {
  899. match('u');
  900. mXDIGIT(false);
  901. mXDIGIT(false);
  902. mXDIGIT(false);
  903. mXDIGIT(false);
  904. break;
  905. }
  906. default:
  907. {
  908. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  909. }
  910. }
  911. }
  912. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  913. _token = makeToken(_ttype);
  914. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  915. }
  916. _returnToken = _token;
  917. }
  918. public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  919. int _ttype; Token _token=null; int _begin=text.length();
  920. _ttype = STRING_LITERAL;
  921. int _saveIndex;
  922. match('"');
  923. {
  924. _loop180:
  925. do {
  926. switch ( LA(1)) {
  927. case '\':
  928. {
  929. mESC(false);
  930. break;
  931. }
  932. case '3':  case '4':  case '5':  case '6':
  933. case '7':  case '10':  case 't':  case 'n':
  934. case '13':  case '14':  case 'r':  case '16':
  935. case '17':  case '20':  case '21':  case '22':
  936. case '23':  case '24':  case '25':  case '26':
  937. case '27':  case '30':  case '31':  case '32':
  938. case '33':  case '34':  case '35':  case '36':
  939. case '37':  case ' ':  case '!':  case '#':
  940. case '$':  case '%':  case '&':  case ''':
  941. case '(':  case ')':  case '*':  case '+':
  942. case ',':  case '-':  case '.':  case '/':
  943. case '0':  case '1':  case '2':  case '3':
  944. case '4':  case '5':  case '6':  case '7':
  945. case '8':  case '9':  case ':':  case ';':
  946. case '<':  case '=':  case '>':  case '?':
  947. case '@':  case 'A':  case 'B':  case 'C':
  948. case 'D':  case 'E':  case 'F':  case 'G':
  949. case 'H':  case 'I':  case 'J':  case 'K':
  950. case 'L':  case 'M':  case 'N':  case 'O':
  951. case 'P':  case 'Q':  case 'R':  case 'S':
  952. case 'T':  case 'U':  case 'V':  case 'W':
  953. case 'X':  case 'Y':  case 'Z':  case '[':
  954. case ']':  case '^':  case '_':  case '`':
  955. case 'a':  case 'b':  case 'c':  case 'd':
  956. case 'e':  case 'f':  case 'g':  case 'h':
  957. case 'i':  case 'j':  case 'k':  case 'l':
  958. case 'm':  case 'n':  case 'o':  case 'p':
  959. case 'q':  case 'r':  case 's':  case 't':
  960. case 'u':  case 'v':  case 'w':  case 'x':
  961. case 'y':  case 'z':  case '{':  case '|':
  962. case '}':  case '~':
  963. {
  964. matchNot('"');
  965. break;
  966. }
  967. default:
  968. {
  969. break _loop180;
  970. }
  971. }
  972. } while (true);
  973. }
  974. match('"');
  975. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  976. _token = makeToken(_ttype);
  977. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  978. }
  979. _returnToken = _token;
  980. }
  981. protected final void mXDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  982. int _ttype; Token _token=null; int _begin=text.length();
  983. _ttype = XDIGIT;
  984. int _saveIndex;
  985. switch ( LA(1)) {
  986. case '0':  case '1':  case '2':  case '3':
  987. case '4':  case '5':  case '6':  case '7':
  988. case '8':  case '9':
  989. {
  990. matchRange('0','9');
  991. break;
  992. }
  993. case 'a':  case 'b':  case 'c':  case 'd':
  994. case 'e':  case 'f':
  995. {
  996. matchRange('a','f');
  997. break;
  998. }
  999. case 'A':  case 'B':  case 'C':  case 'D':
  1000. case 'E':  case 'F':
  1001. {
  1002. matchRange('A','F');
  1003. break;
  1004. }
  1005. default:
  1006. {
  1007. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  1008. }
  1009. }
  1010. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1011. _token = makeToken(_ttype);
  1012. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1013. }
  1014. _returnToken = _token;
  1015. }
  1016. protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1017. int _ttype; Token _token=null; int _begin=text.length();
  1018. _ttype = DIGIT;
  1019. int _saveIndex;
  1020. matchRange('0','9');
  1021. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1022. _token = makeToken(_ttype);
  1023. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1024. }
  1025. _returnToken = _token;
  1026. }
  1027. protected final void mVOCAB(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1028. int _ttype; Token _token=null; int _begin=text.length();
  1029. _ttype = VOCAB;
  1030. int _saveIndex;
  1031. matchRange('3','176');
  1032. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1033. _token = makeToken(_ttype);
  1034. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1035. }
  1036. _returnToken = _token;
  1037. }
  1038. public final void mINT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1039. int _ttype; Token _token=null; int _begin=text.length();
  1040. _ttype = INT;
  1041. int _saveIndex;
  1042. {
  1043. int _cnt195=0;
  1044. _loop195:
  1045. do {
  1046. if (((LA(1) >= '0' && LA(1) <= '9'))) {
  1047. matchRange('0','9');
  1048. }
  1049. else {
  1050. if ( _cnt195>=1 ) { break _loop195; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}
  1051. }
  1052. _cnt195++;
  1053. } while (true);
  1054. }
  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. }
  1061. public final void mARG_ACTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1062. int _ttype; Token _token=null; int _begin=text.length();
  1063. _ttype = ARG_ACTION;
  1064. int _saveIndex;
  1065. mNESTED_ARG_ACTION(false);
  1066. if ( inputState.guessing==0 ) {
  1067. setText(Tool.stripFrontBack(getText(), "[", "]"));
  1068. }
  1069. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1070. _token = makeToken(_ttype);
  1071. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1072. }
  1073. _returnToken = _token;
  1074. }
  1075. protected final void mNESTED_ARG_ACTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1076. int _ttype; Token _token=null; int _begin=text.length();
  1077. _ttype = NESTED_ARG_ACTION;
  1078. int _saveIndex;
  1079. match('[');
  1080. {
  1081. _loop199:
  1082. do {
  1083. switch ( LA(1)) {
  1084. case '[':
  1085. {
  1086. mNESTED_ARG_ACTION(false);
  1087. break;
  1088. }
  1089. case 'n':
  1090. {
  1091. match('n');
  1092. if ( inputState.guessing==0 ) {
  1093. newline();
  1094. }
  1095. break;
  1096. }
  1097. case ''':
  1098. {
  1099. mCHAR_LITERAL(false);
  1100. break;
  1101. }
  1102. case '"':
  1103. {
  1104. mSTRING_LITERAL(false);
  1105. break;
  1106. }
  1107. case '3':  case '4':  case '5':  case '6':
  1108. case '7':  case '10':  case 't':  case '13':
  1109. case '14':  case '16':  case '17':  case '20':
  1110. case '21':  case '22':  case '23':  case '24':
  1111. case '25':  case '26':  case '27':  case '30':
  1112. case '31':  case '32':  case '33':  case '34':
  1113. case '35':  case '36':  case '37':  case ' ':
  1114. case '!':  case '#':  case '$':  case '%':
  1115. case '&':  case '(':  case ')':  case '*':
  1116. case '+':  case ',':  case '-':  case '.':
  1117. case '/':  case '0':  case '1':  case '2':
  1118. case '3':  case '4':  case '5':  case '6':
  1119. case '7':  case '8':  case '9':  case ':':
  1120. case ';':  case '<':  case '=':  case '>':
  1121. case '?':  case '@':  case 'A':  case 'B':
  1122. case 'C':  case 'D':  case 'E':  case 'F':
  1123. case 'G':  case 'H':  case 'I':  case 'J':
  1124. case 'K':  case 'L':  case 'M':  case 'N':
  1125. case 'O':  case 'P':  case 'Q':  case 'R':
  1126. case 'S':  case 'T':  case 'U':  case 'V':
  1127. case 'W':  case 'X':  case 'Y':  case 'Z':
  1128. case '\':  case '^':  case '_':  case '`':
  1129. case 'a':  case 'b':  case 'c':  case 'd':
  1130. case 'e':  case 'f':  case 'g':  case 'h':
  1131. case 'i':  case 'j':  case 'k':  case 'l':
  1132. case 'm':  case 'n':  case 'o':  case 'p':
  1133. case 'q':  case 'r':  case 's':  case 't':
  1134. case 'u':  case 'v':  case 'w':  case 'x':
  1135. case 'y':  case 'z':  case '{':  case '|':
  1136. case '}':  case '~':
  1137. {
  1138. matchNot(']');
  1139. break;
  1140. }
  1141. default:
  1142. if ((LA(1)=='r') && (LA(2)=='n')) {
  1143. match('r');
  1144. match('n');
  1145. if ( inputState.guessing==0 ) {
  1146. newline();
  1147. }
  1148. }
  1149. else if ((LA(1)=='r') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1150. match('r');
  1151. if ( inputState.guessing==0 ) {
  1152. newline();
  1153. }
  1154. }
  1155. else {
  1156. break _loop199;
  1157. }
  1158. }
  1159. } while (true);
  1160. }
  1161. match(']');
  1162. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1163. _token = makeToken(_ttype);
  1164. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1165. }
  1166. _returnToken = _token;
  1167. }
  1168. public final void mACTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1169. int _ttype; Token _token=null; int _begin=text.length();
  1170. _ttype = ACTION;
  1171. int _saveIndex;
  1172. int actionLine=getLine();
  1173. mNESTED_ACTION(false);
  1174. {
  1175. if ((LA(1)=='?')) {
  1176. match('?');
  1177. if ( inputState.guessing==0 ) {
  1178. _ttype = SEMPRED;
  1179. }
  1180. }
  1181. else {
  1182. }
  1183. }
  1184. if ( inputState.guessing==0 ) {
  1185. if ( _ttype==ACTION ) {
  1186. setText(Tool.stripFrontBack(getText(), "{", "}"));
  1187. }
  1188. else {
  1189. setText(Tool.stripFrontBack(getText(), "{", "}?"));
  1190. }
  1191. CommonToken t = new CommonToken(_ttype,new String(text.getBuffer(),_begin,text.length()-_begin));
  1192. t.setLine(actionLine); // set action line to start
  1193. _token = t;
  1194. }
  1195. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1196. _token = makeToken(_ttype);
  1197. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1198. }
  1199. _returnToken = _token;
  1200. }
  1201. protected final void mNESTED_ACTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1202. int _ttype; Token _token=null; int _begin=text.length();
  1203. _ttype = NESTED_ACTION;
  1204. int _saveIndex;
  1205. match('{');
  1206. {
  1207. _loop205:
  1208. do {
  1209. // nongreedy exit test
  1210. if ((LA(1)=='}') && (true)) break _loop205;
  1211. if ((LA(1)=='n'||LA(1)=='r') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1212. {
  1213. if ((LA(1)=='r') && (LA(2)=='n')) {
  1214. match('r');
  1215. match('n');
  1216. if ( inputState.guessing==0 ) {
  1217. newline();
  1218. }
  1219. }
  1220. else if ((LA(1)=='r') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1221. match('r');
  1222. if ( inputState.guessing==0 ) {
  1223. newline();
  1224. }
  1225. }
  1226. else if ((LA(1)=='n')) {
  1227. match('n');
  1228. if ( inputState.guessing==0 ) {
  1229. newline();
  1230. }
  1231. }
  1232. else {
  1233. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  1234. }
  1235. }
  1236. }
  1237. else if ((LA(1)=='{') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1238. mNESTED_ACTION(false);
  1239. }
  1240. else if ((LA(1)==''') && (_tokenSet_1.member(LA(2)))) {
  1241. mCHAR_LITERAL(false);
  1242. }
  1243. else if ((LA(1)=='/') && (LA(2)=='*'||LA(2)=='/')) {
  1244. mCOMMENT(false);
  1245. }
  1246. else if ((LA(1)=='"') && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1247. mSTRING_LITERAL(false);
  1248. }
  1249. else if (((LA(1) >= '3' && LA(1) <= '~')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
  1250. matchNot(EOF_CHAR);
  1251. }
  1252. else {
  1253. break _loop205;
  1254. }
  1255. } while (true);
  1256. }
  1257. match('}');
  1258. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1259. _token = makeToken(_ttype);
  1260. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1261. }
  1262. _returnToken = _token;
  1263. }
  1264. public final void mTOKEN_REF(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1265. int _ttype; Token _token=null; int _begin=text.length();
  1266. _ttype = TOKEN_REF;
  1267. int _saveIndex;
  1268. matchRange('A','Z');
  1269. {
  1270. _loop208:
  1271. do {
  1272. switch ( LA(1)) {
  1273. case 'a':  case 'b':  case 'c':  case 'd':
  1274. case 'e':  case 'f':  case 'g':  case 'h':
  1275. case 'i':  case 'j':  case 'k':  case 'l':
  1276. case 'm':  case 'n':  case 'o':  case 'p':
  1277. case 'q':  case 'r':  case 's':  case 't':
  1278. case 'u':  case 'v':  case 'w':  case 'x':
  1279. case 'y':  case 'z':
  1280. {
  1281. matchRange('a','z');
  1282. break;
  1283. }
  1284. case 'A':  case 'B':  case 'C':  case 'D':
  1285. case 'E':  case 'F':  case 'G':  case 'H':
  1286. case 'I':  case 'J':  case 'K':  case 'L':
  1287. case 'M':  case 'N':  case 'O':  case 'P':
  1288. case 'Q':  case 'R':  case 'S':  case 'T':
  1289. case 'U':  case 'V':  case 'W':  case 'X':
  1290. case 'Y':  case 'Z':
  1291. {
  1292. matchRange('A','Z');
  1293. break;
  1294. }
  1295. case '_':
  1296. {
  1297. match('_');
  1298. break;
  1299. }
  1300. case '0':  case '1':  case '2':  case '3':
  1301. case '4':  case '5':  case '6':  case '7':
  1302. case '8':  case '9':
  1303. {
  1304. matchRange('0','9');
  1305. break;
  1306. }
  1307. default:
  1308. {
  1309. break _loop208;
  1310. }
  1311. }
  1312. } while (true);
  1313. }
  1314. _ttype = testLiteralsTable(_ttype);
  1315. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1316. _token = makeToken(_ttype);
  1317. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1318. }
  1319. _returnToken = _token;
  1320. }
  1321. public final void mRULE_REF(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1322. int _ttype; Token _token=null; int _begin=text.length();
  1323. _ttype = RULE_REF;
  1324. int _saveIndex;
  1325. int t=0;
  1326. t=mINTERNAL_RULE_REF(false);
  1327. if ( inputState.guessing==0 ) {
  1328. _ttype=t;
  1329. }
  1330. {
  1331. if (true&&(t==LITERAL_options)) {
  1332. mWS_LOOP(false);
  1333. {
  1334. if ((LA(1)=='{')) {
  1335. match('{');
  1336. if ( inputState.guessing==0 ) {
  1337. _ttype = OPTIONS;
  1338. }
  1339. }
  1340. else {
  1341. }
  1342. }
  1343. }
  1344. else if (true&&(t==LITERAL_tokens)) {
  1345. mWS_LOOP(false);
  1346. {
  1347. if ((LA(1)=='{')) {
  1348. match('{');
  1349. if ( inputState.guessing==0 ) {
  1350. _ttype = TOKENS;
  1351. }
  1352. }
  1353. else {
  1354. }
  1355. }
  1356. }
  1357. else {
  1358. }
  1359. }
  1360. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1361. _token = makeToken(_ttype);
  1362. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1363. }
  1364. _returnToken = _token;
  1365. }
  1366. protected final int  mINTERNAL_RULE_REF(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1367. int t;
  1368. int _ttype; Token _token=null; int _begin=text.length();
  1369. _ttype = INTERNAL_RULE_REF;
  1370. int _saveIndex;
  1371. t = RULE_REF;
  1372. matchRange('a','z');
  1373. {
  1374. _loop218:
  1375. do {
  1376. switch ( LA(1)) {
  1377. case 'a':  case 'b':  case 'c':  case 'd':
  1378. case 'e':  case 'f':  case 'g':  case 'h':
  1379. case 'i':  case 'j':  case 'k':  case 'l':
  1380. case 'm':  case 'n':  case 'o':  case 'p':
  1381. case 'q':  case 'r':  case 's':  case 't':
  1382. case 'u':  case 'v':  case 'w':  case 'x':
  1383. case 'y':  case 'z':
  1384. {
  1385. matchRange('a','z');
  1386. break;
  1387. }
  1388. case 'A':  case 'B':  case 'C':  case 'D':
  1389. case 'E':  case 'F':  case 'G':  case 'H':
  1390. case 'I':  case 'J':  case 'K':  case 'L':
  1391. case 'M':  case 'N':  case 'O':  case 'P':
  1392. case 'Q':  case 'R':  case 'S':  case 'T':
  1393. case 'U':  case 'V':  case 'W':  case 'X':
  1394. case 'Y':  case 'Z':
  1395. {
  1396. matchRange('A','Z');
  1397. break;
  1398. }
  1399. case '_':
  1400. {
  1401. match('_');
  1402. break;
  1403. }
  1404. case '0':  case '1':  case '2':  case '3':
  1405. case '4':  case '5':  case '6':  case '7':
  1406. case '8':  case '9':
  1407. {
  1408. matchRange('0','9');
  1409. break;
  1410. }
  1411. default:
  1412. {
  1413. break _loop218;
  1414. }
  1415. }
  1416. } while (true);
  1417. }
  1418. if ( inputState.guessing==0 ) {
  1419. t = testLiteralsTable(t);
  1420. }
  1421. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1422. _token = makeToken(_ttype);
  1423. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1424. }
  1425. _returnToken = _token;
  1426. return t;
  1427. }
  1428. protected final void mWS_LOOP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1429. int _ttype; Token _token=null; int _begin=text.length();
  1430. _ttype = WS_LOOP;
  1431. int _saveIndex;
  1432. {
  1433. _loop215:
  1434. do {
  1435. if ((_tokenSet_2.member(LA(1)))) {
  1436. mWS(false);
  1437. }
  1438. else {
  1439. break _loop215;
  1440. }
  1441. } while (true);
  1442. }
  1443. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1444. _token = makeToken(_ttype);
  1445. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1446. }
  1447. _returnToken = _token;
  1448. }
  1449. protected final void mWS_OPT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1450. int _ttype; Token _token=null; int _begin=text.length();
  1451. _ttype = WS_OPT;
  1452. int _saveIndex;
  1453. {
  1454. if ((_tokenSet_2.member(LA(1)))) {
  1455. mWS(false);
  1456. }
  1457. else {
  1458. }
  1459. }
  1460. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1461. _token = makeToken(_ttype);
  1462. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1463. }
  1464. _returnToken = _token;
  1465. }
  1466. protected final void mNOT_USEFUL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
  1467. int _ttype; Token _token=null; int _begin=text.length();
  1468. _ttype = NOT_USEFUL;
  1469. int _saveIndex;
  1470. boolean synPredMatched223 = false;
  1471. if (((LA(1)=='a') && (true))) {
  1472. int _m223 = mark();
  1473. synPredMatched223 = true;
  1474. inputState.guessing++;
  1475. try {
  1476. {
  1477. match('a');
  1478. }
  1479. }
  1480. catch (RecognitionException pe) {
  1481. synPredMatched223 = false;
  1482. }
  1483. rewind(_m223);
  1484. inputState.guessing--;
  1485. }
  1486. if ( synPredMatched223 ) {
  1487. match('a');
  1488. }
  1489. else if ((LA(1)=='a') && (true)) {
  1490. match('a');
  1491. }
  1492. else {
  1493. throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
  1494. }
  1495. if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
  1496. _token = makeToken(_ttype);
  1497. _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
  1498. }
  1499. _returnToken = _token;
  1500. }
  1501. private static final long _tokenSet_0_data_[] = { -9224L, 9223372036854775807L, 0L, 0L };
  1502. public static final BitSet _tokenSet_0 = new BitSet(_tokenSet_0_data_);
  1503. private static final long _tokenSet_1_data_[] = { -549755813896L, 9223372036854775807L, 0L, 0L };
  1504. public static final BitSet _tokenSet_1 = new BitSet(_tokenSet_1_data_);
  1505. private static final long _tokenSet_2_data_[] = { 4294977024L, 0L, 0L };
  1506. public static final BitSet _tokenSet_2 = new BitSet(_tokenSet_2_data_);
  1507. }