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

编译器/解释器

开发平台:

Others

  1. // $ANTLR 2.7.0a11: "antlr.g" -> "ANTLRParser.java"$
  2. package antlr;
  3. import antlr.TokenBuffer;
  4. import antlr.TokenStreamException;
  5. import antlr.TokenStreamIOException;
  6. import antlr.ANTLRException;
  7. import antlr.LLkParser;
  8. import antlr.Token;
  9. import antlr.TokenStream;
  10. import antlr.RecognitionException;
  11. import antlr.NoViableAltException;
  12. import antlr.MismatchedTokenException;
  13. import antlr.SemanticException;
  14. import antlr.ParserSharedInputState;
  15. import antlr.collections.impl.BitSet;
  16. import antlr.collections.AST;
  17. import antlr.ASTPair;
  18. import antlr.collections.impl.ASTArray;
  19. import java.util.Enumeration;
  20. import java.io.DataInputStream;
  21. import java.io.InputStream;
  22. import java.io.FileInputStream;
  23. import java.io.IOException;
  24. public class ANTLRParser extends antlr.LLkParser
  25.        implements ANTLRTokenTypes
  26.  {
  27. private static final boolean DEBUG_PARSER = false;
  28. ANTLRGrammarParseBehavior behavior;
  29. Tool tool;
  30. protected int blockNesting= -1;
  31. public ANTLRParser(
  32. TokenBuffer tokenBuf, 
  33. ANTLRGrammarParseBehavior behavior_,
  34. Tool tool_
  35. ) {
  36. super(tokenBuf, 1);
  37. tokenNames = _tokenNames;
  38. behavior = behavior_;
  39. tool = tool_;
  40. }
  41. private boolean lastInRule() throws TokenStreamException {
  42. if ( blockNesting==0 && (LA(1)==SEMI || LA(1)==LITERAL_exception || LA(1)==OR) ) {
  43. return true;
  44. }
  45. return false;
  46. }
  47. protected ANTLRParser(TokenBuffer tokenBuf, int k) {
  48.   super(tokenBuf,k);
  49.   tokenNames = _tokenNames;
  50. }
  51. public ANTLRParser(TokenBuffer tokenBuf) {
  52.   this(tokenBuf,2);
  53. }
  54. protected ANTLRParser(TokenStream lexer, int k) {
  55.   super(lexer,k);
  56.   tokenNames = _tokenNames;
  57. }
  58. public ANTLRParser(TokenStream lexer) {
  59.   this(lexer,2);
  60. }
  61. public ANTLRParser(ParserSharedInputState state) {
  62.   super(state,2);
  63.   tokenNames = _tokenNames;
  64. }
  65. public final void grammar() throws RecognitionException, TokenStreamException {
  66. Token  n = null;
  67. Token  h = null;
  68. try {      // for error handling
  69. {
  70. _loop4:
  71. do {
  72. if ((LA(1)==LITERAL_header)) {
  73. match(LITERAL_header);
  74. {
  75. switch ( LA(1)) {
  76. case STRING_LITERAL:
  77. {
  78. n = LT(1);
  79. match(STRING_LITERAL);
  80. break;
  81. }
  82. case ACTION:
  83. {
  84. break;
  85. }
  86. default:
  87. {
  88. throw new NoViableAltException(LT(1), getFilename());
  89. }
  90. }
  91. }
  92. h = LT(1);
  93. match(ACTION);
  94. if ( inputState.guessing==0 ) {
  95. behavior.refHeaderAction(n,h);
  96. }
  97. }
  98. else {
  99. break _loop4;
  100. }
  101. } while (true);
  102. }
  103. {
  104. switch ( LA(1)) {
  105. case OPTIONS:
  106. {
  107. fileOptionsSpec();
  108. break;
  109. }
  110. case EOF:
  111. case ACTION:
  112. case DOC_COMMENT:
  113. case LITERAL_lexclass:
  114. case LITERAL_class:
  115. {
  116. break;
  117. }
  118. default:
  119. {
  120. throw new NoViableAltException(LT(1), getFilename());
  121. }
  122. }
  123. }
  124. {
  125. _loop7:
  126. do {
  127. if (((LA(1) >= ACTION && LA(1) <= LITERAL_class))) {
  128. classDef();
  129. }
  130. else {
  131. break _loop7;
  132. }
  133. } while (true);
  134. }
  135. match(Token.EOF_TYPE);
  136. }
  137. catch (RecognitionException ex) {
  138. if (inputState.guessing==0) {
  139. reportError("rule grammar trapped: "+ex.toString());
  140. consumeUntil(EOF);
  141. } else {
  142. throw ex;
  143. }
  144. }
  145. }
  146. public final void fileOptionsSpec() throws RecognitionException, TokenStreamException {
  147. Token idTok; Token value;
  148. match(OPTIONS);
  149. {
  150. _loop18:
  151. do {
  152. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF)) {
  153. idTok=id();
  154. match(ASSIGN);
  155. value=optionValue();
  156. if ( inputState.guessing==0 ) {
  157. behavior.setFileOption(idTok, value,getInputState().filename);
  158. }
  159. match(SEMI);
  160. }
  161. else {
  162. break _loop18;
  163. }
  164. } while (true);
  165. }
  166. match(RCURLY);
  167. }
  168. public final void classDef() throws RecognitionException, TokenStreamException {
  169. Token  a = null;
  170. Token  d = null;
  171. String doc=null;
  172. try {      // for error handling
  173. {
  174. switch ( LA(1)) {
  175. case ACTION:
  176. {
  177. a = LT(1);
  178. match(ACTION);
  179. if ( inputState.guessing==0 ) {
  180. behavior.refPreambleAction(a);
  181. }
  182. break;
  183. }
  184. case DOC_COMMENT:
  185. case LITERAL_lexclass:
  186. case LITERAL_class:
  187. {
  188. break;
  189. }
  190. default:
  191. {
  192. throw new NoViableAltException(LT(1), getFilename());
  193. }
  194. }
  195. }
  196. {
  197. switch ( LA(1)) {
  198. case DOC_COMMENT:
  199. {
  200. d = LT(1);
  201. match(DOC_COMMENT);
  202. if ( inputState.guessing==0 ) {
  203. doc=d.getText();
  204. }
  205. break;
  206. }
  207. case LITERAL_lexclass:
  208. case LITERAL_class:
  209. {
  210. break;
  211. }
  212. default:
  213. {
  214. throw new NoViableAltException(LT(1), getFilename());
  215. }
  216. }
  217. }
  218. {
  219. boolean synPredMatched13 = false;
  220. if (((LA(1)==LITERAL_lexclass||LA(1)==LITERAL_class) && (LA(2)==TOKEN_REF||LA(2)==RULE_REF))) {
  221. int _m13 = mark();
  222. synPredMatched13 = true;
  223. inputState.guessing++;
  224. try {
  225. {
  226. switch ( LA(1)) {
  227. case LITERAL_lexclass:
  228. {
  229. match(LITERAL_lexclass);
  230. break;
  231. }
  232. case LITERAL_class:
  233. {
  234. match(LITERAL_class);
  235. id();
  236. match(LITERAL_extends);
  237. match(LITERAL_Lexer);
  238. break;
  239. }
  240. default:
  241. {
  242. throw new NoViableAltException(LT(1), getFilename());
  243. }
  244. }
  245. }
  246. }
  247. catch (RecognitionException pe) {
  248. synPredMatched13 = false;
  249. }
  250. rewind(_m13);
  251. inputState.guessing--;
  252. }
  253. if ( synPredMatched13 ) {
  254. lexerSpec(doc);
  255. }
  256. else {
  257. boolean synPredMatched15 = false;
  258. if (((LA(1)==LITERAL_class) && (LA(2)==TOKEN_REF||LA(2)==RULE_REF))) {
  259. int _m15 = mark();
  260. synPredMatched15 = true;
  261. inputState.guessing++;
  262. try {
  263. {
  264. match(LITERAL_class);
  265. id();
  266. match(LITERAL_extends);
  267. match(LITERAL_TreeParser);
  268. }
  269. }
  270. catch (RecognitionException pe) {
  271. synPredMatched15 = false;
  272. }
  273. rewind(_m15);
  274. inputState.guessing--;
  275. }
  276. if ( synPredMatched15 ) {
  277. treeParserSpec(doc);
  278. }
  279. else if ((LA(1)==LITERAL_class) && (LA(2)==TOKEN_REF||LA(2)==RULE_REF)) {
  280. parserSpec(doc);
  281. }
  282. else {
  283. throw new NoViableAltException(LT(1), getFilename());
  284. }
  285. }
  286. }
  287. rules();
  288. if ( inputState.guessing==0 ) {
  289. behavior.endGrammar();
  290. }
  291. }
  292. catch (RecognitionException ex) {
  293. if (inputState.guessing==0) {
  294. if ( ex instanceof NoViableAltException ) {
  295. NoViableAltException e = (NoViableAltException)ex;
  296. if ( e.token.getType()==DOC_COMMENT ) {
  297. reportError("line "+ex.line+": JAVADOC comments may only prefix rules and grammars");
  298. }
  299. else {
  300. reportError("rule classDef trapped: "+ex.toString());
  301. }
  302. }
  303. else {
  304. reportError("rule classDef trapped: "+ex.toString());
  305. }
  306. behavior.abortGrammar();
  307. boolean consuming = true;
  308. // consume everything until the next class definition or EOF
  309. while (consuming) {
  310. consume();
  311. switch(LA(1)) {
  312. case LITERAL_class:
  313. case LITERAL_lexclass:
  314. case EOF:
  315. consuming = false;
  316. break;
  317. }
  318. }
  319. } else {
  320. throw ex;
  321. }
  322. }
  323. }
  324. public final  Token  id() throws RecognitionException, TokenStreamException {
  325.  Token idTok ;
  326. Token  a = null;
  327. Token  b = null;
  328. idTok = null;
  329. switch ( LA(1)) {
  330. case TOKEN_REF:
  331. {
  332. a = LT(1);
  333. match(TOKEN_REF);
  334. if ( inputState.guessing==0 ) {
  335. idTok = a;
  336. }
  337. break;
  338. }
  339. case RULE_REF:
  340. {
  341. b = LT(1);
  342. match(RULE_REF);
  343. if ( inputState.guessing==0 ) {
  344. idTok = b;
  345. }
  346. break;
  347. }
  348. default:
  349. {
  350. throw new NoViableAltException(LT(1), getFilename());
  351. }
  352. }
  353. return idTok ;
  354. }
  355. public final void lexerSpec(
  356. String doc
  357. ) throws RecognitionException, TokenStreamException {
  358. Token  lc = null;
  359. Token  a = null;
  360. Token idTok;
  361. String sup=null;
  362. {
  363. switch ( LA(1)) {
  364. case LITERAL_lexclass:
  365. {
  366. lc = LT(1);
  367. match(LITERAL_lexclass);
  368. idTok=id();
  369. if ( inputState.guessing==0 ) {
  370. System.out.println("warning: line " + lc.getLine() + ": 'lexclass' is deprecated; use 'class X extends Lexer'");
  371. }
  372. break;
  373. }
  374. case LITERAL_class:
  375. {
  376. match(LITERAL_class);
  377. idTok=id();
  378. match(LITERAL_extends);
  379. match(LITERAL_Lexer);
  380. {
  381. switch ( LA(1)) {
  382. case LPAREN:
  383. {
  384. sup=superClass();
  385. break;
  386. }
  387. case SEMI:
  388. {
  389. break;
  390. }
  391. default:
  392. {
  393. throw new NoViableAltException(LT(1), getFilename());
  394. }
  395. }
  396. }
  397. break;
  398. }
  399. default:
  400. {
  401. throw new NoViableAltException(LT(1), getFilename());
  402. }
  403. }
  404. }
  405. if ( inputState.guessing==0 ) {
  406. behavior.startLexer(getFilename(), idTok,sup,doc);
  407. }
  408. match(SEMI);
  409. {
  410. switch ( LA(1)) {
  411. case OPTIONS:
  412. {
  413. lexerOptionsSpec();
  414. break;
  415. }
  416. case ACTION:
  417. case DOC_COMMENT:
  418. case TOKENS:
  419. case TOKEN_REF:
  420. case RULE_REF:
  421. case LITERAL_protected:
  422. case LITERAL_public:
  423. case LITERAL_private:
  424. {
  425. break;
  426. }
  427. default:
  428. {
  429. throw new NoViableAltException(LT(1), getFilename());
  430. }
  431. }
  432. }
  433. if ( inputState.guessing==0 ) {
  434. behavior.endOptions();
  435. }
  436. {
  437. switch ( LA(1)) {
  438. case TOKENS:
  439. {
  440. tokensSpec();
  441. break;
  442. }
  443. case ACTION:
  444. case DOC_COMMENT:
  445. case TOKEN_REF:
  446. case RULE_REF:
  447. case LITERAL_protected:
  448. case LITERAL_public:
  449. case LITERAL_private:
  450. {
  451. break;
  452. }
  453. default:
  454. {
  455. throw new NoViableAltException(LT(1), getFilename());
  456. }
  457. }
  458. }
  459. {
  460. switch ( LA(1)) {
  461. case ACTION:
  462. {
  463. a = LT(1);
  464. match(ACTION);
  465. if ( inputState.guessing==0 ) {
  466. behavior.refMemberAction(a);
  467. }
  468. break;
  469. }
  470. case DOC_COMMENT:
  471. case TOKEN_REF:
  472. case RULE_REF:
  473. case LITERAL_protected:
  474. case LITERAL_public:
  475. case LITERAL_private:
  476. {
  477. break;
  478. }
  479. default:
  480. {
  481. throw new NoViableAltException(LT(1), getFilename());
  482. }
  483. }
  484. }
  485. }
  486. public final void treeParserSpec(
  487. String doc
  488. ) throws RecognitionException, TokenStreamException {
  489. Token  a = null;
  490. Token idTok;
  491. String sup=null;
  492. match(LITERAL_class);
  493. idTok=id();
  494. match(LITERAL_extends);
  495. match(LITERAL_TreeParser);
  496. {
  497. switch ( LA(1)) {
  498. case LPAREN:
  499. {
  500. sup=superClass();
  501. break;
  502. }
  503. case SEMI:
  504. {
  505. break;
  506. }
  507. default:
  508. {
  509. throw new NoViableAltException(LT(1), getFilename());
  510. }
  511. }
  512. }
  513. if ( inputState.guessing==0 ) {
  514. behavior.startTreeWalker(getFilename(), idTok,sup,doc);
  515. }
  516. match(SEMI);
  517. {
  518. switch ( LA(1)) {
  519. case OPTIONS:
  520. {
  521. treeParserOptionsSpec();
  522. break;
  523. }
  524. case ACTION:
  525. case DOC_COMMENT:
  526. case TOKENS:
  527. case TOKEN_REF:
  528. case RULE_REF:
  529. case LITERAL_protected:
  530. case LITERAL_public:
  531. case LITERAL_private:
  532. {
  533. break;
  534. }
  535. default:
  536. {
  537. throw new NoViableAltException(LT(1), getFilename());
  538. }
  539. }
  540. }
  541. if ( inputState.guessing==0 ) {
  542. behavior.endOptions();
  543. }
  544. {
  545. switch ( LA(1)) {
  546. case TOKENS:
  547. {
  548. tokensSpec();
  549. break;
  550. }
  551. case ACTION:
  552. case DOC_COMMENT:
  553. case TOKEN_REF:
  554. case RULE_REF:
  555. case LITERAL_protected:
  556. case LITERAL_public:
  557. case LITERAL_private:
  558. {
  559. break;
  560. }
  561. default:
  562. {
  563. throw new NoViableAltException(LT(1), getFilename());
  564. }
  565. }
  566. }
  567. {
  568. switch ( LA(1)) {
  569. case ACTION:
  570. {
  571. a = LT(1);
  572. match(ACTION);
  573. if ( inputState.guessing==0 ) {
  574. behavior.refMemberAction(a);
  575. }
  576. break;
  577. }
  578. case DOC_COMMENT:
  579. case TOKEN_REF:
  580. case RULE_REF:
  581. case LITERAL_protected:
  582. case LITERAL_public:
  583. case LITERAL_private:
  584. {
  585. break;
  586. }
  587. default:
  588. {
  589. throw new NoViableAltException(LT(1), getFilename());
  590. }
  591. }
  592. }
  593. }
  594. public final void parserSpec(
  595. String doc
  596. ) throws RecognitionException, TokenStreamException {
  597. Token  a = null;
  598. Token idTok;
  599. String sup=null;
  600. match(LITERAL_class);
  601. idTok=id();
  602. {
  603. switch ( LA(1)) {
  604. case LITERAL_extends:
  605. {
  606. match(LITERAL_extends);
  607. match(LITERAL_Parser);
  608. {
  609. switch ( LA(1)) {
  610. case LPAREN:
  611. {
  612. sup=superClass();
  613. break;
  614. }
  615. case SEMI:
  616. {
  617. break;
  618. }
  619. default:
  620. {
  621. throw new NoViableAltException(LT(1), getFilename());
  622. }
  623. }
  624. }
  625. break;
  626. }
  627. case SEMI:
  628. {
  629. if ( inputState.guessing==0 ) {
  630. System.out.println("warning: line " +
  631. idTok.getLine() + ": use 'class X extends Parser'");
  632. }
  633. break;
  634. }
  635. default:
  636. {
  637. throw new NoViableAltException(LT(1), getFilename());
  638. }
  639. }
  640. }
  641. if ( inputState.guessing==0 ) {
  642. behavior.startParser(getFilename(), idTok, sup, doc);
  643. }
  644. match(SEMI);
  645. {
  646. switch ( LA(1)) {
  647. case OPTIONS:
  648. {
  649. parserOptionsSpec();
  650. break;
  651. }
  652. case ACTION:
  653. case DOC_COMMENT:
  654. case TOKENS:
  655. case TOKEN_REF:
  656. case RULE_REF:
  657. case LITERAL_protected:
  658. case LITERAL_public:
  659. case LITERAL_private:
  660. {
  661. break;
  662. }
  663. default:
  664. {
  665. throw new NoViableAltException(LT(1), getFilename());
  666. }
  667. }
  668. }
  669. if ( inputState.guessing==0 ) {
  670. behavior.endOptions();
  671. }
  672. {
  673. switch ( LA(1)) {
  674. case TOKENS:
  675. {
  676. tokensSpec();
  677. break;
  678. }
  679. case ACTION:
  680. case DOC_COMMENT:
  681. case TOKEN_REF:
  682. case RULE_REF:
  683. case LITERAL_protected:
  684. case LITERAL_public:
  685. case LITERAL_private:
  686. {
  687. break;
  688. }
  689. default:
  690. {
  691. throw new NoViableAltException(LT(1), getFilename());
  692. }
  693. }
  694. }
  695. {
  696. switch ( LA(1)) {
  697. case ACTION:
  698. {
  699. a = LT(1);
  700. match(ACTION);
  701. if ( inputState.guessing==0 ) {
  702. behavior.refMemberAction(a);
  703. }
  704. break;
  705. }
  706. case DOC_COMMENT:
  707. case TOKEN_REF:
  708. case RULE_REF:
  709. case LITERAL_protected:
  710. case LITERAL_public:
  711. case LITERAL_private:
  712. {
  713. break;
  714. }
  715. default:
  716. {
  717. throw new NoViableAltException(LT(1), getFilename());
  718. }
  719. }
  720. }
  721. }
  722. public final void rules() throws RecognitionException, TokenStreamException {
  723. {
  724. int _cnt68=0;
  725. _loop68:
  726. do {
  727. if ((_tokenSet_0.member(LA(1))) && (_tokenSet_1.member(LA(2)))) {
  728. rule();
  729. }
  730. else {
  731. if ( _cnt68>=1 ) { break _loop68; } else {throw new NoViableAltException(LT(1), getFilename());}
  732. }
  733. _cnt68++;
  734. } while (true);
  735. }
  736. }
  737. public final  Token  optionValue() throws RecognitionException, TokenStreamException {
  738.  Token retval ;
  739. Token  sl = null;
  740. Token  cl = null;
  741. Token  il = null;
  742. retval = null;
  743. switch ( LA(1)) {
  744. case TOKEN_REF:
  745. case RULE_REF:
  746. {
  747. retval=qualifiedID();
  748. break;
  749. }
  750. case STRING_LITERAL:
  751. {
  752. sl = LT(1);
  753. match(STRING_LITERAL);
  754. if ( inputState.guessing==0 ) {
  755. retval = sl;
  756. }
  757. break;
  758. }
  759. case CHAR_LITERAL:
  760. {
  761. cl = LT(1);
  762. match(CHAR_LITERAL);
  763. if ( inputState.guessing==0 ) {
  764. retval = cl;
  765. }
  766. break;
  767. }
  768. case INT:
  769. {
  770. il = LT(1);
  771. match(INT);
  772. if ( inputState.guessing==0 ) {
  773. retval = il;
  774. }
  775. break;
  776. }
  777. default:
  778. {
  779. throw new NoViableAltException(LT(1), getFilename());
  780. }
  781. }
  782. return retval ;
  783. }
  784. public final void parserOptionsSpec() throws RecognitionException, TokenStreamException {
  785. Token idTok; Token value;
  786. match(OPTIONS);
  787. {
  788. _loop21:
  789. do {
  790. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF)) {
  791. idTok=id();
  792. match(ASSIGN);
  793. value=optionValue();
  794. if ( inputState.guessing==0 ) {
  795. behavior.setGrammarOption(idTok, value);
  796. }
  797. match(SEMI);
  798. }
  799. else {
  800. break _loop21;
  801. }
  802. } while (true);
  803. }
  804. match(RCURLY);
  805. }
  806. public final void treeParserOptionsSpec() throws RecognitionException, TokenStreamException {
  807. Token idTok; Token value;
  808. match(OPTIONS);
  809. {
  810. _loop24:
  811. do {
  812. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF)) {
  813. idTok=id();
  814. match(ASSIGN);
  815. value=optionValue();
  816. if ( inputState.guessing==0 ) {
  817. behavior.setGrammarOption(idTok, value);
  818. }
  819. match(SEMI);
  820. }
  821. else {
  822. break _loop24;
  823. }
  824. } while (true);
  825. }
  826. match(RCURLY);
  827. }
  828. public final void lexerOptionsSpec() throws RecognitionException, TokenStreamException {
  829. Token idTok; Token value; BitSet b;
  830. match(OPTIONS);
  831. {
  832. _loop27:
  833. do {
  834. switch ( LA(1)) {
  835. case LITERAL_charVocabulary:
  836. {
  837. match(LITERAL_charVocabulary);
  838. match(ASSIGN);
  839. b=charSet();
  840. match(SEMI);
  841. if ( inputState.guessing==0 ) {
  842. behavior.setCharVocabulary(b);
  843. }
  844. break;
  845. }
  846. case TOKEN_REF:
  847. case RULE_REF:
  848. {
  849. idTok=id();
  850. match(ASSIGN);
  851. value=optionValue();
  852. if ( inputState.guessing==0 ) {
  853. behavior.setGrammarOption(idTok, value);
  854. }
  855. match(SEMI);
  856. break;
  857. }
  858. default:
  859. {
  860. break _loop27;
  861. }
  862. }
  863. } while (true);
  864. }
  865. match(RCURLY);
  866. }
  867. public final  BitSet  charSet() throws RecognitionException, TokenStreamException {
  868.  BitSet b ;
  869. b = null; 
  870. BitSet tmpSet = null;
  871. b=setBlockElement();
  872. {
  873. _loop34:
  874. do {
  875. if ((LA(1)==OR)) {
  876. match(OR);
  877. tmpSet=setBlockElement();
  878. if ( inputState.guessing==0 ) {
  879. b.orInPlace(tmpSet);
  880. }
  881. }
  882. else {
  883. break _loop34;
  884. }
  885. } while (true);
  886. }
  887. return b ;
  888. }
  889. public final void subruleOptionsSpec() throws RecognitionException, TokenStreamException {
  890. Token idTok; Token value;
  891. match(OPTIONS);
  892. {
  893. _loop30:
  894. do {
  895. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF)) {
  896. idTok=id();
  897. match(ASSIGN);
  898. value=optionValue();
  899. if ( inputState.guessing==0 ) {
  900. behavior.setSubruleOption(idTok, value);
  901. }
  902. match(SEMI);
  903. }
  904. else {
  905. break _loop30;
  906. }
  907. } while (true);
  908. }
  909. match(RCURLY);
  910. }
  911. /** Match a.b.c.d qualified ids; WILDCARD here is overloaded as
  912.  *  id separator; that is, I need a reference to the '.' token.
  913.  */
  914. public final Token  qualifiedID() throws RecognitionException, TokenStreamException {
  915. Token qidTok=null;
  916. StringBuffer buf = new StringBuffer(30);
  917. Token a;
  918. a=id();
  919. if ( inputState.guessing==0 ) {
  920. buf.append(a.getText());
  921. }
  922. {
  923. _loop140:
  924. do {
  925. if ((LA(1)==WILDCARD)) {
  926. match(WILDCARD);
  927. a=id();
  928. if ( inputState.guessing==0 ) {
  929. buf.append('.'); buf.append(a.getText());
  930. }
  931. }
  932. else {
  933. break _loop140;
  934. }
  935. } while (true);
  936. }
  937. if ( inputState.guessing==0 ) {
  938.  // can use either TOKEN_REF or RULE_REF; should
  939.  // really create a QID or something instead.
  940.  qidTok = new CommonToken(TOKEN_REF, buf.toString());
  941.  qidTok.setLine(a.getLine());
  942. }
  943. return qidTok;
  944. }
  945. public final  BitSet  setBlockElement() throws RecognitionException, TokenStreamException {
  946.  BitSet b ;
  947. Token  c1 = null;
  948. Token  c2 = null;
  949. b = null;
  950. int rangeMin = 0; 
  951. c1 = LT(1);
  952. match(CHAR_LITERAL);
  953. if ( inputState.guessing==0 ) {
  954. rangeMin = ANTLRLexer.tokenTypeForCharLiteral(c1.getText()); 
  955. b = BitSet.of(rangeMin);
  956. }
  957. {
  958. switch ( LA(1)) {
  959. case RANGE:
  960. {
  961. match(RANGE);
  962. c2 = LT(1);
  963. match(CHAR_LITERAL);
  964. if ( inputState.guessing==0 ) {
  965. int rangeMax = ANTLRLexer.tokenTypeForCharLiteral(c2.getText()); 
  966. if (rangeMax < rangeMin) {
  967. tool.error("Malformed range line "+c1.getLine());
  968. }
  969. for (int i = rangeMin+1; i <= rangeMax; i++) {
  970. b.add(i);
  971. }
  972. }
  973. break;
  974. }
  975. case SEMI:
  976. case OR:
  977. {
  978. break;
  979. }
  980. default:
  981. {
  982. throw new NoViableAltException(LT(1), getFilename());
  983. }
  984. }
  985. }
  986. return b ;
  987. }
  988. public final void tokensSpec() throws RecognitionException, TokenStreamException {
  989. Token  t1 = null;
  990. Token  s1 = null;
  991. Token  s3 = null;
  992. match(TOKENS);
  993. {
  994. int _cnt43=0;
  995. _loop43:
  996. do {
  997. if ((LA(1)==STRING_LITERAL||LA(1)==TOKEN_REF)) {
  998. {
  999. switch ( LA(1)) {
  1000. case TOKEN_REF:
  1001. {
  1002. if ( inputState.guessing==0 ) {
  1003. s1=null;
  1004. }
  1005. t1 = LT(1);
  1006. match(TOKEN_REF);
  1007. {
  1008. switch ( LA(1)) {
  1009. case ASSIGN:
  1010. {
  1011. match(ASSIGN);
  1012. s1 = LT(1);
  1013. match(STRING_LITERAL);
  1014. break;
  1015. }
  1016. case SEMI:
  1017. case OPEN_ELEMENT_OPTION:
  1018. {
  1019. break;
  1020. }
  1021. default:
  1022. {
  1023. throw new NoViableAltException(LT(1), getFilename());
  1024. }
  1025. }
  1026. }
  1027. if ( inputState.guessing==0 ) {
  1028. behavior.defineToken(t1, s1);
  1029. }
  1030. {
  1031. switch ( LA(1)) {
  1032. case OPEN_ELEMENT_OPTION:
  1033. {
  1034. tokensSpecOptions(t1);
  1035. break;
  1036. }
  1037. case SEMI:
  1038. {
  1039. break;
  1040. }
  1041. default:
  1042. {
  1043. throw new NoViableAltException(LT(1), getFilename());
  1044. }
  1045. }
  1046. }
  1047. break;
  1048. }
  1049. case STRING_LITERAL:
  1050. {
  1051. s3 = LT(1);
  1052. match(STRING_LITERAL);
  1053. if ( inputState.guessing==0 ) {
  1054. behavior.defineToken(null, s3);
  1055. }
  1056. {
  1057. switch ( LA(1)) {
  1058. case OPEN_ELEMENT_OPTION:
  1059. {
  1060. tokensSpecOptions(s3);
  1061. break;
  1062. }
  1063. case SEMI:
  1064. {
  1065. break;
  1066. }
  1067. default:
  1068. {
  1069. throw new NoViableAltException(LT(1), getFilename());
  1070. }
  1071. }
  1072. }
  1073. break;
  1074. }
  1075. default:
  1076. {
  1077. throw new NoViableAltException(LT(1), getFilename());
  1078. }
  1079. }
  1080. }
  1081. match(SEMI);
  1082. }
  1083. else {
  1084. if ( _cnt43>=1 ) { break _loop43; } else {throw new NoViableAltException(LT(1), getFilename());}
  1085. }
  1086. _cnt43++;
  1087. } while (true);
  1088. }
  1089. match(RCURLY);
  1090. }
  1091. public final void tokensSpecOptions(
  1092. Token t
  1093. ) throws RecognitionException, TokenStreamException {
  1094. Token o=null, v=null;
  1095. match(OPEN_ELEMENT_OPTION);
  1096. o=id();
  1097. match(ASSIGN);
  1098. v=optionValue();
  1099. if ( inputState.guessing==0 ) {
  1100. behavior.refTokensSpecElementOption(t,o,v);
  1101. }
  1102. {
  1103. _loop46:
  1104. do {
  1105. if ((LA(1)==SEMI)) {
  1106. match(SEMI);
  1107. o=id();
  1108. match(ASSIGN);
  1109. v=optionValue();
  1110. if ( inputState.guessing==0 ) {
  1111. behavior.refTokensSpecElementOption(t,o,v);
  1112. }
  1113. }
  1114. else {
  1115. break _loop46;
  1116. }
  1117. } while (true);
  1118. }
  1119. match(CLOSE_ELEMENT_OPTION);
  1120. }
  1121. public final String  superClass() throws RecognitionException, TokenStreamException {
  1122. String sup;
  1123. sup=null;
  1124. match(LPAREN);
  1125. if ( inputState.guessing==0 ) {
  1126. sup = LT(1).getText();
  1127. }
  1128. {
  1129. switch ( LA(1)) {
  1130. case TOKEN_REF:
  1131. {
  1132. match(TOKEN_REF);
  1133. break;
  1134. }
  1135. case RULE_REF:
  1136. {
  1137. match(RULE_REF);
  1138. break;
  1139. }
  1140. default:
  1141. {
  1142. throw new NoViableAltException(LT(1), getFilename());
  1143. }
  1144. }
  1145. }
  1146. match(RPAREN);
  1147. return sup;
  1148. }
  1149. public final void rule() throws RecognitionException, TokenStreamException {
  1150. Token  d = null;
  1151. Token  p1 = null;
  1152. Token  p2 = null;
  1153. Token  p3 = null;
  1154. Token  aa = null;
  1155. Token  rt = null;
  1156. Token  a = null;
  1157. String access="public"; 
  1158. Token idTok;
  1159. String doc=null;
  1160. boolean ruleAutoGen = true;
  1161. blockNesting = -1; // block increments, so -1 to make rule at level 0
  1162. {
  1163. switch ( LA(1)) {
  1164. case DOC_COMMENT:
  1165. {
  1166. d = LT(1);
  1167. match(DOC_COMMENT);
  1168. if ( inputState.guessing==0 ) {
  1169. doc=d.getText();
  1170. }
  1171. break;
  1172. }
  1173. case TOKEN_REF:
  1174. case RULE_REF:
  1175. case LITERAL_protected:
  1176. case LITERAL_public:
  1177. case LITERAL_private:
  1178. {
  1179. break;
  1180. }
  1181. default:
  1182. {
  1183. throw new NoViableAltException(LT(1), getFilename());
  1184. }
  1185. }
  1186. }
  1187. {
  1188. switch ( LA(1)) {
  1189. case LITERAL_protected:
  1190. {
  1191. p1 = LT(1);
  1192. match(LITERAL_protected);
  1193. if ( inputState.guessing==0 ) {
  1194. access=p1.getText();
  1195. }
  1196. break;
  1197. }
  1198. case LITERAL_public:
  1199. {
  1200. p2 = LT(1);
  1201. match(LITERAL_public);
  1202. if ( inputState.guessing==0 ) {
  1203. access=p2.getText();
  1204. }
  1205. break;
  1206. }
  1207. case LITERAL_private:
  1208. {
  1209. p3 = LT(1);
  1210. match(LITERAL_private);
  1211. if ( inputState.guessing==0 ) {
  1212. access=p3.getText();
  1213. }
  1214. break;
  1215. }
  1216. case TOKEN_REF:
  1217. case RULE_REF:
  1218. {
  1219. break;
  1220. }
  1221. default:
  1222. {
  1223. throw new NoViableAltException(LT(1), getFilename());
  1224. }
  1225. }
  1226. }
  1227. idTok=id();
  1228. {
  1229. switch ( LA(1)) {
  1230. case BANG:
  1231. {
  1232. match(BANG);
  1233. if ( inputState.guessing==0 ) {
  1234. ruleAutoGen = false;
  1235. }
  1236. break;
  1237. }
  1238. case ACTION:
  1239. case OPTIONS:
  1240. case ARG_ACTION:
  1241. case LITERAL_returns:
  1242. case COLON:
  1243. {
  1244. break;
  1245. }
  1246. default:
  1247. {
  1248. throw new NoViableAltException(LT(1), getFilename());
  1249. }
  1250. }
  1251. }
  1252. if ( inputState.guessing==0 ) {
  1253. behavior.defineRuleName(idTok, access, ruleAutoGen, doc);
  1254. }
  1255. {
  1256. switch ( LA(1)) {
  1257. case ARG_ACTION:
  1258. {
  1259. aa = LT(1);
  1260. match(ARG_ACTION);
  1261. if ( inputState.guessing==0 ) {
  1262. behavior.refArgAction(aa);
  1263. }
  1264. break;
  1265. }
  1266. case ACTION:
  1267. case OPTIONS:
  1268. case LITERAL_returns:
  1269. case COLON:
  1270. {
  1271. break;
  1272. }
  1273. default:
  1274. {
  1275. throw new NoViableAltException(LT(1), getFilename());
  1276. }
  1277. }
  1278. }
  1279. {
  1280. switch ( LA(1)) {
  1281. case LITERAL_returns:
  1282. {
  1283. match(LITERAL_returns);
  1284. rt = LT(1);
  1285. match(ARG_ACTION);
  1286. if ( inputState.guessing==0 ) {
  1287. behavior.refReturnAction(rt);
  1288. }
  1289. break;
  1290. }
  1291. case ACTION:
  1292. case OPTIONS:
  1293. case COLON:
  1294. {
  1295. break;
  1296. }
  1297. default:
  1298. {
  1299. throw new NoViableAltException(LT(1), getFilename());
  1300. }
  1301. }
  1302. }
  1303. {
  1304. switch ( LA(1)) {
  1305. case OPTIONS:
  1306. {
  1307. ruleOptionsSpec();
  1308. break;
  1309. }
  1310. case ACTION:
  1311. case COLON:
  1312. {
  1313. break;
  1314. }
  1315. default:
  1316. {
  1317. throw new NoViableAltException(LT(1), getFilename());
  1318. }
  1319. }
  1320. }
  1321. {
  1322. switch ( LA(1)) {
  1323. case ACTION:
  1324. {
  1325. a = LT(1);
  1326. match(ACTION);
  1327. if ( inputState.guessing==0 ) {
  1328. behavior.refInitAction(a);
  1329. }
  1330. break;
  1331. }
  1332. case COLON:
  1333. {
  1334. break;
  1335. }
  1336. default:
  1337. {
  1338. throw new NoViableAltException(LT(1), getFilename());
  1339. }
  1340. }
  1341. }
  1342. match(COLON);
  1343. block();
  1344. match(SEMI);
  1345. {
  1346. switch ( LA(1)) {
  1347. case LITERAL_exception:
  1348. {
  1349. exceptionGroup();
  1350. break;
  1351. }
  1352. case EOF:
  1353. case ACTION:
  1354. case DOC_COMMENT:
  1355. case LITERAL_lexclass:
  1356. case LITERAL_class:
  1357. case TOKEN_REF:
  1358. case RULE_REF:
  1359. case LITERAL_protected:
  1360. case LITERAL_public:
  1361. case LITERAL_private:
  1362. {
  1363. break;
  1364. }
  1365. default:
  1366. {
  1367. throw new NoViableAltException(LT(1), getFilename());
  1368. }
  1369. }
  1370. }
  1371. if ( inputState.guessing==0 ) {
  1372. behavior.endRule(idTok.getText());
  1373. }
  1374. }
  1375. public final void ruleOptionsSpec() throws RecognitionException, TokenStreamException {
  1376. Token idTok; Token value;
  1377. match(OPTIONS);
  1378. {
  1379. _loop80:
  1380. do {
  1381. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF)) {
  1382. idTok=id();
  1383. match(ASSIGN);
  1384. value=optionValue();
  1385. if ( inputState.guessing==0 ) {
  1386. behavior.setRuleOption(idTok, value);
  1387. }
  1388. match(SEMI);
  1389. }
  1390. else {
  1391. break _loop80;
  1392. }
  1393. } while (true);
  1394. }
  1395. match(RCURLY);
  1396. }
  1397. public final void block() throws RecognitionException, TokenStreamException {
  1398. if ( inputState.guessing==0 ) {
  1399. blockNesting++;
  1400. }
  1401. alternative();
  1402. {
  1403. _loop83:
  1404. do {
  1405. if ((LA(1)==OR)) {
  1406. match(OR);
  1407. alternative();
  1408. }
  1409. else {
  1410. break _loop83;
  1411. }
  1412. } while (true);
  1413. }
  1414. if ( inputState.guessing==0 ) {
  1415. blockNesting--;
  1416. }
  1417. }
  1418. public final void exceptionGroup() throws RecognitionException, TokenStreamException {
  1419. if ( inputState.guessing==0 ) {
  1420. behavior.beginExceptionGroup();
  1421. }
  1422. {
  1423. int _cnt91=0;
  1424. _loop91:
  1425. do {
  1426. if ((LA(1)==LITERAL_exception)) {
  1427. exceptionSpec();
  1428. }
  1429. else {
  1430. if ( _cnt91>=1 ) { break _loop91; } else {throw new NoViableAltException(LT(1), getFilename());}
  1431. }
  1432. _cnt91++;
  1433. } while (true);
  1434. }
  1435. if ( inputState.guessing==0 ) {
  1436. behavior.endExceptionGroup();
  1437. }
  1438. }
  1439. public final void alternative() throws RecognitionException, TokenStreamException {
  1440. boolean altAutoGen = true;
  1441. {
  1442. switch ( LA(1)) {
  1443. case BANG:
  1444. {
  1445. match(BANG);
  1446. if ( inputState.guessing==0 ) {
  1447. altAutoGen=false;
  1448. }
  1449. break;
  1450. }
  1451. case STRING_LITERAL:
  1452. case ACTION:
  1453. case SEMI:
  1454. case CHAR_LITERAL:
  1455. case OR:
  1456. case TOKEN_REF:
  1457. case LPAREN:
  1458. case RULE_REF:
  1459. case RPAREN:
  1460. case LITERAL_exception:
  1461. case NOT_OP:
  1462. case SEMPRED:
  1463. case TREE_BEGIN:
  1464. case WILDCARD:
  1465. {
  1466. break;
  1467. }
  1468. default:
  1469. {
  1470. throw new NoViableAltException(LT(1), getFilename());
  1471. }
  1472. }
  1473. }
  1474. if ( inputState.guessing==0 ) {
  1475. behavior.beginAlt(altAutoGen);
  1476. }
  1477. {
  1478. _loop87:
  1479. do {
  1480. if ((_tokenSet_2.member(LA(1)))) {
  1481. element();
  1482. }
  1483. else {
  1484. break _loop87;
  1485. }
  1486. } while (true);
  1487. }
  1488. {
  1489. switch ( LA(1)) {
  1490. case LITERAL_exception:
  1491. {
  1492. exceptionSpecNoLabel();
  1493. break;
  1494. }
  1495. case SEMI:
  1496. case OR:
  1497. case RPAREN:
  1498. {
  1499. break;
  1500. }
  1501. default:
  1502. {
  1503. throw new NoViableAltException(LT(1), getFilename());
  1504. }
  1505. }
  1506. }
  1507. if ( inputState.guessing==0 ) {
  1508. behavior.endAlt();
  1509. }
  1510. }
  1511. public final void element() throws RecognitionException, TokenStreamException {
  1512. elementNoOptionSpec();
  1513. {
  1514. switch ( LA(1)) {
  1515. case OPEN_ELEMENT_OPTION:
  1516. {
  1517. elementOptionSpec();
  1518. break;
  1519. }
  1520. case STRING_LITERAL:
  1521. case ACTION:
  1522. case SEMI:
  1523. case CHAR_LITERAL:
  1524. case OR:
  1525. case TOKEN_REF:
  1526. case LPAREN:
  1527. case RULE_REF:
  1528. case RPAREN:
  1529. case LITERAL_exception:
  1530. case NOT_OP:
  1531. case SEMPRED:
  1532. case TREE_BEGIN:
  1533. case WILDCARD:
  1534. {
  1535. break;
  1536. }
  1537. default:
  1538. {
  1539. throw new NoViableAltException(LT(1), getFilename());
  1540. }
  1541. }
  1542. }
  1543. }
  1544. public final void exceptionSpecNoLabel() throws RecognitionException, TokenStreamException {
  1545. match(LITERAL_exception);
  1546. if ( inputState.guessing==0 ) {
  1547. behavior.beginExceptionSpec(null);
  1548. }
  1549. {
  1550. _loop98:
  1551. do {
  1552. if ((LA(1)==LITERAL_catch)) {
  1553. exceptionHandler();
  1554. }
  1555. else {
  1556. break _loop98;
  1557. }
  1558. } while (true);
  1559. }
  1560. if ( inputState.guessing==0 ) {
  1561. behavior.endExceptionSpec();
  1562. }
  1563. }
  1564. public final void exceptionSpec() throws RecognitionException, TokenStreamException {
  1565. Token  aa = null;
  1566. Token labelAction = null;
  1567. match(LITERAL_exception);
  1568. {
  1569. switch ( LA(1)) {
  1570. case ARG_ACTION:
  1571. {
  1572. aa = LT(1);
  1573. match(ARG_ACTION);
  1574. if ( inputState.guessing==0 ) {
  1575. labelAction = aa;
  1576. }
  1577. break;
  1578. }
  1579. case EOF:
  1580. case ACTION:
  1581. case DOC_COMMENT:
  1582. case LITERAL_lexclass:
  1583. case LITERAL_class:
  1584. case TOKEN_REF:
  1585. case RULE_REF:
  1586. case LITERAL_protected:
  1587. case LITERAL_public:
  1588. case LITERAL_private:
  1589. case LITERAL_exception:
  1590. case LITERAL_catch:
  1591. {
  1592. break;
  1593. }
  1594. default:
  1595. {
  1596. throw new NoViableAltException(LT(1), getFilename());
  1597. }
  1598. }
  1599. }
  1600. if ( inputState.guessing==0 ) {
  1601. behavior.beginExceptionSpec(labelAction);
  1602. }
  1603. {
  1604. _loop95:
  1605. do {
  1606. if ((LA(1)==LITERAL_catch)) {
  1607. exceptionHandler();
  1608. }
  1609. else {
  1610. break _loop95;
  1611. }
  1612. } while (true);
  1613. }
  1614. if ( inputState.guessing==0 ) {
  1615. behavior.endExceptionSpec();
  1616. }
  1617. }
  1618. public final void exceptionHandler() throws RecognitionException, TokenStreamException {
  1619. Token  a1 = null;
  1620. Token  a2 = null;
  1621. Token exType; Token exName;
  1622. match(LITERAL_catch);
  1623. a1 = LT(1);
  1624. match(ARG_ACTION);
  1625. a2 = LT(1);
  1626. match(ACTION);
  1627. if ( inputState.guessing==0 ) {
  1628. behavior.refExceptionHandler(a1, a2.getText());
  1629. }
  1630. }
  1631. public final void elementNoOptionSpec() throws RecognitionException, TokenStreamException {
  1632. Token  rr = null;
  1633. Token  aa = null;
  1634. Token  tr = null;
  1635. Token  aa2 = null;
  1636. Token  r2 = null;
  1637. Token  aa3 = null;
  1638. Token  a = null;
  1639. Token  p = null;
  1640. Token label = null; 
  1641. Token assignId = null; 
  1642. Token args = null; 
  1643. int autoGen = GrammarElement.AUTO_GEN_NONE;
  1644. switch ( LA(1)) {
  1645. case ACTION:
  1646. {
  1647. a = LT(1);
  1648. match(ACTION);
  1649. if ( inputState.guessing==0 ) {
  1650. behavior.refAction(a);
  1651. }
  1652. break;
  1653. }
  1654. case SEMPRED:
  1655. {
  1656. p = LT(1);
  1657. match(SEMPRED);
  1658. if ( inputState.guessing==0 ) {
  1659. behavior.refSemPred(p);
  1660. }
  1661. break;
  1662. }
  1663. case TREE_BEGIN:
  1664. {
  1665. tree();
  1666. break;
  1667. }
  1668. default:
  1669. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (LA(2)==ASSIGN)) {
  1670. assignId=id();
  1671. match(ASSIGN);
  1672. {
  1673. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (LA(2)==COLON)) {
  1674. label=id();
  1675. match(COLON);
  1676. }
  1677. else if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (_tokenSet_3.member(LA(2)))) {
  1678. }
  1679. else {
  1680. throw new NoViableAltException(LT(1), getFilename());
  1681. }
  1682. }
  1683. {
  1684. switch ( LA(1)) {
  1685. case RULE_REF:
  1686. {
  1687. rr = LT(1);
  1688. match(RULE_REF);
  1689. {
  1690. switch ( LA(1)) {
  1691. case ARG_ACTION:
  1692. {
  1693. aa = LT(1);
  1694. match(ARG_ACTION);
  1695. if ( inputState.guessing==0 ) {
  1696. args=aa;
  1697. }
  1698. break;
  1699. }
  1700. case STRING_LITERAL:
  1701. case ACTION:
  1702. case SEMI:
  1703. case CHAR_LITERAL:
  1704. case OR:
  1705. case TOKEN_REF:
  1706. case OPEN_ELEMENT_OPTION:
  1707. case LPAREN:
  1708. case RULE_REF:
  1709. case RPAREN:
  1710. case BANG:
  1711. case LITERAL_exception:
  1712. case NOT_OP:
  1713. case SEMPRED:
  1714. case TREE_BEGIN:
  1715. case WILDCARD:
  1716. {
  1717. break;
  1718. }
  1719. default:
  1720. {
  1721. throw new NoViableAltException(LT(1), getFilename());
  1722. }
  1723. }
  1724. }
  1725. {
  1726. switch ( LA(1)) {
  1727. case BANG:
  1728. {
  1729. match(BANG);
  1730. if ( inputState.guessing==0 ) {
  1731. autoGen = GrammarElement.AUTO_GEN_BANG;
  1732. }
  1733. break;
  1734. }
  1735. case STRING_LITERAL:
  1736. case ACTION:
  1737. case SEMI:
  1738. case CHAR_LITERAL:
  1739. case OR:
  1740. case TOKEN_REF:
  1741. case OPEN_ELEMENT_OPTION:
  1742. case LPAREN:
  1743. case RULE_REF:
  1744. case RPAREN:
  1745. case LITERAL_exception:
  1746. case NOT_OP:
  1747. case SEMPRED:
  1748. case TREE_BEGIN:
  1749. case WILDCARD:
  1750. {
  1751. break;
  1752. }
  1753. default:
  1754. {
  1755. throw new NoViableAltException(LT(1), getFilename());
  1756. }
  1757. }
  1758. }
  1759. if ( inputState.guessing==0 ) {
  1760. behavior.refRule(assignId, rr, label, args, autoGen);
  1761. }
  1762. break;
  1763. }
  1764. case TOKEN_REF:
  1765. {
  1766. tr = LT(1);
  1767. match(TOKEN_REF);
  1768. {
  1769. switch ( LA(1)) {
  1770. case ARG_ACTION:
  1771. {
  1772. aa2 = LT(1);
  1773. match(ARG_ACTION);
  1774. if ( inputState.guessing==0 ) {
  1775. args=aa2;
  1776. }
  1777. break;
  1778. }
  1779. case STRING_LITERAL:
  1780. case ACTION:
  1781. case SEMI:
  1782. case CHAR_LITERAL:
  1783. case OR:
  1784. case TOKEN_REF:
  1785. case OPEN_ELEMENT_OPTION:
  1786. case LPAREN:
  1787. case RULE_REF:
  1788. case RPAREN:
  1789. case LITERAL_exception:
  1790. case NOT_OP:
  1791. case SEMPRED:
  1792. case TREE_BEGIN:
  1793. case WILDCARD:
  1794. {
  1795. break;
  1796. }
  1797. default:
  1798. {
  1799. throw new NoViableAltException(LT(1), getFilename());
  1800. }
  1801. }
  1802. }
  1803. if ( inputState.guessing==0 ) {
  1804. behavior.refToken(assignId, tr, label, args, false, autoGen, lastInRule());
  1805. }
  1806. break;
  1807. }
  1808. default:
  1809. {
  1810. throw new NoViableAltException(LT(1), getFilename());
  1811. }
  1812. }
  1813. }
  1814. }
  1815. else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_5.member(LA(2)))) {
  1816. {
  1817. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (LA(2)==COLON)) {
  1818. label=id();
  1819. match(COLON);
  1820. }
  1821. else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_6.member(LA(2)))) {
  1822. }
  1823. else {
  1824. throw new NoViableAltException(LT(1), getFilename());
  1825. }
  1826. }
  1827. {
  1828. switch ( LA(1)) {
  1829. case RULE_REF:
  1830. {
  1831. r2 = LT(1);
  1832. match(RULE_REF);
  1833. {
  1834. switch ( LA(1)) {
  1835. case ARG_ACTION:
  1836. {
  1837. aa3 = LT(1);
  1838. match(ARG_ACTION);
  1839. if ( inputState.guessing==0 ) {
  1840. args=aa3;
  1841. }
  1842. break;
  1843. }
  1844. case STRING_LITERAL:
  1845. case ACTION:
  1846. case SEMI:
  1847. case CHAR_LITERAL:
  1848. case OR:
  1849. case TOKEN_REF:
  1850. case OPEN_ELEMENT_OPTION:
  1851. case LPAREN:
  1852. case RULE_REF:
  1853. case RPAREN:
  1854. case BANG:
  1855. case LITERAL_exception:
  1856. case NOT_OP:
  1857. case SEMPRED:
  1858. case TREE_BEGIN:
  1859. case WILDCARD:
  1860. {
  1861. break;
  1862. }
  1863. default:
  1864. {
  1865. throw new NoViableAltException(LT(1), getFilename());
  1866. }
  1867. }
  1868. }
  1869. {
  1870. switch ( LA(1)) {
  1871. case BANG:
  1872. {
  1873. match(BANG);
  1874. if ( inputState.guessing==0 ) {
  1875. autoGen = GrammarElement.AUTO_GEN_BANG;
  1876. }
  1877. break;
  1878. }
  1879. case STRING_LITERAL:
  1880. case ACTION:
  1881. case SEMI:
  1882. case CHAR_LITERAL:
  1883. case OR:
  1884. case TOKEN_REF:
  1885. case OPEN_ELEMENT_OPTION:
  1886. case LPAREN:
  1887. case RULE_REF:
  1888. case RPAREN:
  1889. case LITERAL_exception:
  1890. case NOT_OP:
  1891. case SEMPRED:
  1892. case TREE_BEGIN:
  1893. case WILDCARD:
  1894. {
  1895. break;
  1896. }
  1897. default:
  1898. {
  1899. throw new NoViableAltException(LT(1), getFilename());
  1900. }
  1901. }
  1902. }
  1903. if ( inputState.guessing==0 ) {
  1904. behavior.refRule(assignId, r2, label, args, autoGen);
  1905. }
  1906. break;
  1907. }
  1908. case NOT_OP:
  1909. {
  1910. match(NOT_OP);
  1911. {
  1912. switch ( LA(1)) {
  1913. case CHAR_LITERAL:
  1914. case TOKEN_REF:
  1915. {
  1916. notTerminal(label);
  1917. break;
  1918. }
  1919. case LPAREN:
  1920. {
  1921. ebnf(label,true);
  1922. break;
  1923. }
  1924. default:
  1925. {
  1926. throw new NoViableAltException(LT(1), getFilename());
  1927. }
  1928. }
  1929. }
  1930. break;
  1931. }
  1932. case LPAREN:
  1933. {
  1934. ebnf(label,false);
  1935. break;
  1936. }
  1937. default:
  1938. if ((LA(1)==STRING_LITERAL||LA(1)==CHAR_LITERAL||LA(1)==TOKEN_REF) && (LA(2)==RANGE)) {
  1939. range(label);
  1940. }
  1941. else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
  1942. terminal(label);
  1943. }
  1944. else {
  1945. throw new NoViableAltException(LT(1), getFilename());
  1946. }
  1947. }
  1948. }
  1949. }
  1950. else {
  1951. throw new NoViableAltException(LT(1), getFilename());
  1952. }
  1953. }
  1954. }
  1955. public final void elementOptionSpec() throws RecognitionException, TokenStreamException {
  1956. Token o=null, v=null;
  1957. match(OPEN_ELEMENT_OPTION);
  1958. o=id();
  1959. match(ASSIGN);
  1960. v=optionValue();
  1961. if ( inputState.guessing==0 ) {
  1962. behavior.refElementOption(o,v);
  1963. }
  1964. {
  1965. _loop104:
  1966. do {
  1967. if ((LA(1)==SEMI)) {
  1968. match(SEMI);
  1969. o=id();
  1970. match(ASSIGN);
  1971. v=optionValue();
  1972. if ( inputState.guessing==0 ) {
  1973. behavior.refElementOption(o,v);
  1974. }
  1975. }
  1976. else {
  1977. break _loop104;
  1978. }
  1979. } while (true);
  1980. }
  1981. match(CLOSE_ELEMENT_OPTION);
  1982. }
  1983. public final void range(
  1984.  Token label 
  1985. ) throws RecognitionException, TokenStreamException {
  1986. Token  crLeft = null;
  1987. Token  crRight = null;
  1988. Token  t = null;
  1989. Token  u = null;
  1990. Token  v = null;
  1991. Token  w = null;
  1992. Token trLeft=null;
  1993. Token trRight=null;
  1994. int autoGen=GrammarElement.AUTO_GEN_NONE;
  1995. switch ( LA(1)) {
  1996. case CHAR_LITERAL:
  1997. {
  1998. crLeft = LT(1);
  1999. match(CHAR_LITERAL);
  2000. match(RANGE);
  2001. crRight = LT(1);
  2002. match(CHAR_LITERAL);
  2003. {
  2004. switch ( LA(1)) {
  2005. case BANG:
  2006. {
  2007. match(BANG);
  2008. if ( inputState.guessing==0 ) {
  2009. autoGen = GrammarElement.AUTO_GEN_BANG;
  2010. }
  2011. break;
  2012. }
  2013. case STRING_LITERAL:
  2014. case ACTION:
  2015. case SEMI:
  2016. case CHAR_LITERAL:
  2017. case OR:
  2018. case TOKEN_REF:
  2019. case OPEN_ELEMENT_OPTION:
  2020. case LPAREN:
  2021. case RULE_REF:
  2022. case RPAREN:
  2023. case LITERAL_exception:
  2024. case NOT_OP:
  2025. case SEMPRED:
  2026. case TREE_BEGIN:
  2027. case WILDCARD:
  2028. {
  2029. break;
  2030. }
  2031. default:
  2032. {
  2033. throw new NoViableAltException(LT(1), getFilename());
  2034. }
  2035. }
  2036. }
  2037. if ( inputState.guessing==0 ) {
  2038. behavior.refCharRange(crLeft, crRight, label, autoGen, lastInRule());
  2039. }
  2040. break;
  2041. }
  2042. case STRING_LITERAL:
  2043. case TOKEN_REF:
  2044. {
  2045. {
  2046. switch ( LA(1)) {
  2047. case TOKEN_REF:
  2048. {
  2049. t = LT(1);
  2050. match(TOKEN_REF);
  2051. if ( inputState.guessing==0 ) {
  2052. trLeft=t;
  2053. }
  2054. break;
  2055. }
  2056. case STRING_LITERAL:
  2057. {
  2058. u = LT(1);
  2059. match(STRING_LITERAL);
  2060. if ( inputState.guessing==0 ) {
  2061. trLeft=u;
  2062. }
  2063. break;
  2064. }
  2065. default:
  2066. {
  2067. throw new NoViableAltException(LT(1), getFilename());
  2068. }
  2069. }
  2070. }
  2071. match(RANGE);
  2072. {
  2073. switch ( LA(1)) {
  2074. case TOKEN_REF:
  2075. {
  2076. v = LT(1);
  2077. match(TOKEN_REF);
  2078. if ( inputState.guessing==0 ) {
  2079. trRight=v;
  2080. }
  2081. break;
  2082. }
  2083. case STRING_LITERAL:
  2084. {
  2085. w = LT(1);
  2086. match(STRING_LITERAL);
  2087. if ( inputState.guessing==0 ) {
  2088. trRight=w;
  2089. }
  2090. break;
  2091. }
  2092. default:
  2093. {
  2094. throw new NoViableAltException(LT(1), getFilename());
  2095. }
  2096. }
  2097. }
  2098. autoGen=ast_type_spec();
  2099. if ( inputState.guessing==0 ) {
  2100. behavior.refTokenRange(trLeft, trRight, label, autoGen, lastInRule());
  2101. }
  2102. break;
  2103. }
  2104. default:
  2105. {
  2106. throw new NoViableAltException(LT(1), getFilename());
  2107. }
  2108. }
  2109. }
  2110. public final void terminal(
  2111.  Token label 
  2112. ) throws RecognitionException, TokenStreamException {
  2113. Token  cl = null;
  2114. Token  tr = null;
  2115. Token  aa = null;
  2116. Token  sl = null;
  2117. Token  wi = null;
  2118. int autoGen=GrammarElement.AUTO_GEN_NONE;
  2119. Token args=null;
  2120. switch ( LA(1)) {
  2121. case CHAR_LITERAL:
  2122. {
  2123. cl = LT(1);
  2124. match(CHAR_LITERAL);
  2125. {
  2126. switch ( LA(1)) {
  2127. case BANG:
  2128. {
  2129. match(BANG);
  2130. if ( inputState.guessing==0 ) {
  2131. autoGen = GrammarElement.AUTO_GEN_BANG;
  2132. }
  2133. break;
  2134. }
  2135. case STRING_LITERAL:
  2136. case ACTION:
  2137. case SEMI:
  2138. case CHAR_LITERAL:
  2139. case OR:
  2140. case TOKEN_REF:
  2141. case OPEN_ELEMENT_OPTION:
  2142. case LPAREN:
  2143. case RULE_REF:
  2144. case RPAREN:
  2145. case LITERAL_exception:
  2146. case NOT_OP:
  2147. case SEMPRED:
  2148. case TREE_BEGIN:
  2149. case WILDCARD:
  2150. {
  2151. break;
  2152. }
  2153. default:
  2154. {
  2155. throw new NoViableAltException(LT(1), getFilename());
  2156. }
  2157. }
  2158. }
  2159. if ( inputState.guessing==0 ) {
  2160. behavior.refCharLiteral(cl, label, false, autoGen, lastInRule());
  2161. }
  2162. break;
  2163. }
  2164. case TOKEN_REF:
  2165. {
  2166. tr = LT(1);
  2167. match(TOKEN_REF);
  2168. autoGen=ast_type_spec();
  2169. {
  2170. switch ( LA(1)) {
  2171. case ARG_ACTION:
  2172. {
  2173. aa = LT(1);
  2174. match(ARG_ACTION);
  2175. if ( inputState.guessing==0 ) {
  2176. args=aa;
  2177. }
  2178. break;
  2179. }
  2180. case STRING_LITERAL:
  2181. case ACTION:
  2182. case SEMI:
  2183. case CHAR_LITERAL:
  2184. case OR:
  2185. case TOKEN_REF:
  2186. case OPEN_ELEMENT_OPTION:
  2187. case LPAREN:
  2188. case RULE_REF:
  2189. case RPAREN:
  2190. case LITERAL_exception:
  2191. case NOT_OP:
  2192. case SEMPRED:
  2193. case TREE_BEGIN:
  2194. case WILDCARD:
  2195. {
  2196. break;
  2197. }
  2198. default:
  2199. {
  2200. throw new NoViableAltException(LT(1), getFilename());
  2201. }
  2202. }
  2203. }
  2204. if ( inputState.guessing==0 ) {
  2205. behavior.refToken(null, tr, label, args, false, autoGen, lastInRule());
  2206. }
  2207. break;
  2208. }
  2209. case STRING_LITERAL:
  2210. {
  2211. sl = LT(1);
  2212. match(STRING_LITERAL);
  2213. autoGen=ast_type_spec();
  2214. if ( inputState.guessing==0 ) {
  2215. behavior.refStringLiteral(sl, label, autoGen, lastInRule());
  2216. }
  2217. break;
  2218. }
  2219. case WILDCARD:
  2220. {
  2221. wi = LT(1);
  2222. match(WILDCARD);
  2223. autoGen=ast_type_spec();
  2224. if ( inputState.guessing==0 ) {
  2225. behavior.refWildcard(wi, label, autoGen);
  2226. }
  2227. break;
  2228. }
  2229. default:
  2230. {
  2231. throw new NoViableAltException(LT(1), getFilename());
  2232. }
  2233. }
  2234. }
  2235. public final void notTerminal(
  2236.  Token label 
  2237. ) throws RecognitionException, TokenStreamException {
  2238. Token  cl = null;
  2239. Token  tr = null;
  2240. int autoGen=GrammarElement.AUTO_GEN_NONE;
  2241. switch ( LA(1)) {
  2242. case CHAR_LITERAL:
  2243. {
  2244. cl = LT(1);
  2245. match(CHAR_LITERAL);
  2246. {
  2247. switch ( LA(1)) {
  2248. case BANG:
  2249. {
  2250. match(BANG);
  2251. if ( inputState.guessing==0 ) {
  2252. autoGen = GrammarElement.AUTO_GEN_BANG;
  2253. }
  2254. break;
  2255. }
  2256. case STRING_LITERAL:
  2257. case ACTION:
  2258. case SEMI:
  2259. case CHAR_LITERAL:
  2260. case OR:
  2261. case TOKEN_REF:
  2262. case OPEN_ELEMENT_OPTION:
  2263. case LPAREN:
  2264. case RULE_REF:
  2265. case RPAREN:
  2266. case LITERAL_exception:
  2267. case NOT_OP:
  2268. case SEMPRED:
  2269. case TREE_BEGIN:
  2270. case WILDCARD:
  2271. {
  2272. break;
  2273. }
  2274. default:
  2275. {
  2276. throw new NoViableAltException(LT(1), getFilename());
  2277. }
  2278. }
  2279. }
  2280. if ( inputState.guessing==0 ) {
  2281. behavior.refCharLiteral(cl, label, true, autoGen, lastInRule());
  2282. }
  2283. break;
  2284. }
  2285. case TOKEN_REF:
  2286. {
  2287. tr = LT(1);
  2288. match(TOKEN_REF);
  2289. autoGen=ast_type_spec();
  2290. if ( inputState.guessing==0 ) {
  2291. behavior.refToken(null, tr, label, null, true, autoGen, lastInRule());
  2292. }
  2293. break;
  2294. }
  2295. default:
  2296. {
  2297. throw new NoViableAltException(LT(1), getFilename());
  2298. }
  2299. }
  2300. }
  2301. public final void ebnf(
  2302.  Token label, boolean not 
  2303. ) throws RecognitionException, TokenStreamException {
  2304. Token  lp = null;
  2305. Token  aa = null;
  2306. Token  ab = null;
  2307. lp = LT(1);
  2308. match(LPAREN);
  2309. if ( inputState.guessing==0 ) {
  2310. behavior.beginSubRule(label, lp.getLine(), not);
  2311. }
  2312. {
  2313. if ((LA(1)==OPTIONS)) {
  2314. subruleOptionsSpec();
  2315. {
  2316. switch ( LA(1)) {
  2317. case ACTION:
  2318. {
  2319. aa = LT(1);
  2320. match(ACTION);
  2321. if ( inputState.guessing==0 ) {
  2322. behavior.refInitAction(aa);
  2323. }
  2324. break;
  2325. }
  2326. case COLON:
  2327. {
  2328. break;
  2329. }
  2330. default:
  2331. {
  2332. throw new NoViableAltException(LT(1), getFilename());
  2333. }
  2334. }
  2335. }
  2336. match(COLON);
  2337. }
  2338. else if ((LA(1)==ACTION) && (LA(2)==COLON)) {
  2339. ab = LT(1);
  2340. match(ACTION);
  2341. if ( inputState.guessing==0 ) {
  2342. behavior.refInitAction(ab);
  2343. }
  2344. match(COLON);
  2345. }
  2346. else if ((_tokenSet_9.member(LA(1))) && (_tokenSet_10.member(LA(2)))) {
  2347. }
  2348. else {
  2349. throw new NoViableAltException(LT(1), getFilename());
  2350. }
  2351. }
  2352. block();
  2353. match(RPAREN);
  2354. {
  2355. switch ( LA(1)) {
  2356. case STRING_LITERAL:
  2357. case ACTION:
  2358. case SEMI:
  2359. case CHAR_LITERAL:
  2360. case OR:
  2361. case TOKEN_REF:
  2362. case OPEN_ELEMENT_OPTION:
  2363. case LPAREN:
  2364. case RULE_REF:
  2365. case RPAREN:
  2366. case BANG:
  2367. case LITERAL_exception:
  2368. case NOT_OP:
  2369. case SEMPRED:
  2370. case TREE_BEGIN:
  2371. case QUESTION:
  2372. case STAR:
  2373. case PLUS:
  2374. case WILDCARD:
  2375. {
  2376. {
  2377. switch ( LA(1)) {
  2378. case QUESTION:
  2379. {
  2380. match(QUESTION);
  2381. if ( inputState.guessing==0 ) {
  2382. behavior.optionalSubRule();
  2383. }
  2384. break;
  2385. }
  2386. case STAR:
  2387. {
  2388. match(STAR);
  2389. if ( inputState.guessing==0 ) {
  2390. behavior.zeroOrMoreSubRule();;
  2391. }
  2392. break;
  2393. }
  2394. case PLUS:
  2395. {
  2396. match(PLUS);
  2397. if ( inputState.guessing==0 ) {
  2398. behavior.oneOrMoreSubRule();
  2399. }
  2400. break;
  2401. }
  2402. case STRING_LITERAL:
  2403. case ACTION:
  2404. case SEMI:
  2405. case CHAR_LITERAL:
  2406. case OR:
  2407. case TOKEN_REF:
  2408. case OPEN_ELEMENT_OPTION:
  2409. case LPAREN:
  2410. case RULE_REF:
  2411. case RPAREN:
  2412. case BANG:
  2413. case LITERAL_exception:
  2414. case NOT_OP:
  2415. case SEMPRED:
  2416. case TREE_BEGIN:
  2417. case WILDCARD:
  2418. {
  2419. break;
  2420. }
  2421. default:
  2422. {
  2423. throw new NoViableAltException(LT(1), getFilename());
  2424. }
  2425. }
  2426. }
  2427. {
  2428. switch ( LA(1)) {
  2429. case BANG:
  2430. {
  2431. match(BANG);
  2432. if ( inputState.guessing==0 ) {
  2433. behavior.noASTSubRule();
  2434. }
  2435. break;
  2436. }
  2437. case STRING_LITERAL:
  2438. case ACTION:
  2439. case SEMI:
  2440. case CHAR_LITERAL:
  2441. case OR:
  2442. case TOKEN_REF:
  2443. case OPEN_ELEMENT_OPTION:
  2444. case LPAREN:
  2445. case RULE_REF:
  2446. case RPAREN:
  2447. case LITERAL_exception:
  2448. case NOT_OP:
  2449. case SEMPRED:
  2450. case TREE_BEGIN:
  2451. case WILDCARD:
  2452. {
  2453. break;
  2454. }
  2455. default:
  2456. {
  2457. throw new NoViableAltException(LT(1), getFilename());
  2458. }
  2459. }
  2460. }
  2461. break;
  2462. }
  2463. case IMPLIES:
  2464. {
  2465. match(IMPLIES);
  2466. if ( inputState.guessing==0 ) {
  2467. behavior.synPred();
  2468. }
  2469. break;
  2470. }
  2471. default:
  2472. {
  2473. throw new NoViableAltException(LT(1), getFilename());
  2474. }
  2475. }
  2476. }
  2477. if ( inputState.guessing==0 ) {
  2478. behavior.endSubRule();
  2479. }
  2480. }
  2481. public final void tree() throws RecognitionException, TokenStreamException {
  2482. Token  lp = null;
  2483. lp = LT(1);
  2484. match(TREE_BEGIN);
  2485. if ( inputState.guessing==0 ) {
  2486. behavior.beginTree(lp.getLine());
  2487. }
  2488. rootNode();
  2489. if ( inputState.guessing==0 ) {
  2490. behavior.beginChildList();
  2491. }
  2492. {
  2493. int _cnt118=0;
  2494. _loop118:
  2495. do {
  2496. if ((_tokenSet_2.member(LA(1)))) {
  2497. element();
  2498. }
  2499. else {
  2500. if ( _cnt118>=1 ) { break _loop118; } else {throw new NoViableAltException(LT(1), getFilename());}
  2501. }
  2502. _cnt118++;
  2503. } while (true);
  2504. }
  2505. if ( inputState.guessing==0 ) {
  2506. behavior.endChildList();
  2507. }
  2508. match(RPAREN);
  2509. if ( inputState.guessing==0 ) {
  2510. behavior.endTree();
  2511. }
  2512. }
  2513. public final void rootNode() throws RecognitionException, TokenStreamException {
  2514. Token label = null;
  2515. {
  2516. if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (LA(2)==COLON)) {
  2517. label=id();
  2518. match(COLON);
  2519. }
  2520. else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_11.member(LA(2)))) {
  2521. }
  2522. else {
  2523. throw new NoViableAltException(LT(1), getFilename());
  2524. }
  2525. }
  2526. terminal(label);
  2527. }
  2528. public final  int  ast_type_spec() throws RecognitionException, TokenStreamException {
  2529.  int autoGen ;
  2530. autoGen = GrammarElement.AUTO_GEN_NONE;
  2531. {
  2532. switch ( LA(1)) {
  2533. case CARET:
  2534. {
  2535. match(CARET);
  2536. if ( inputState.guessing==0 ) {
  2537. autoGen = GrammarElement.AUTO_GEN_CARET;
  2538. }
  2539. break;
  2540. }
  2541. case BANG:
  2542. {
  2543. match(BANG);
  2544. if ( inputState.guessing==0 ) {
  2545. autoGen = GrammarElement.AUTO_GEN_BANG;
  2546. }
  2547. break;
  2548. }
  2549. case STRING_LITERAL:
  2550. case ACTION:
  2551. case SEMI:
  2552. case CHAR_LITERAL:
  2553. case OR:
  2554. case TOKEN_REF:
  2555. case OPEN_ELEMENT_OPTION:
  2556. case LPAREN:
  2557. case RULE_REF:
  2558. case RPAREN:
  2559. case ARG_ACTION:
  2560. case LITERAL_exception:
  2561. case NOT_OP:
  2562. case SEMPRED:
  2563. case TREE_BEGIN:
  2564. case WILDCARD:
  2565. {
  2566. break;
  2567. }
  2568. default:
  2569. {
  2570. throw new NoViableAltException(LT(1), getFilename());
  2571. }
  2572. }
  2573. }
  2574. return autoGen ;
  2575. }
  2576. public static final String[] _tokenNames = {
  2577. "<0>",
  2578. "EOF",
  2579. "<2>",
  2580. "NULL_TREE_LOOKAHEAD",
  2581. ""tokens"",
  2582. ""header"",
  2583. "STRING_LITERAL",
  2584. "ACTION",
  2585. "DOC_COMMENT",
  2586. ""lexclass"",
  2587. ""class"",
  2588. ""extends"",
  2589. ""Lexer"",
  2590. ""TreeParser"",
  2591. "OPTIONS",
  2592. "ASSIGN",
  2593. "SEMI",
  2594. "RCURLY",
  2595. ""charVocabulary"",
  2596. "CHAR_LITERAL",
  2597. "INT",
  2598. "OR",
  2599. "RANGE",
  2600. "TOKENS",
  2601. "TOKEN_REF",
  2602. "OPEN_ELEMENT_OPTION",
  2603. "CLOSE_ELEMENT_OPTION",
  2604. "LPAREN",
  2605. "RULE_REF",
  2606. "RPAREN",
  2607. ""Parser"",
  2608. ""protected"",
  2609. ""public"",
  2610. ""private"",
  2611. "BANG",
  2612. "ARG_ACTION",
  2613. ""returns"",
  2614. "COLON",
  2615. ""exception"",
  2616. ""catch"",
  2617. "NOT_OP",
  2618. "SEMPRED",
  2619. "TREE_BEGIN",
  2620. "QUESTION",
  2621. "STAR",
  2622. "PLUS",
  2623. "IMPLIES",
  2624. "CARET",
  2625. "WILDCARD",
  2626. ""options"",
  2627. "WS",
  2628. "COMMENT",
  2629. "SL_COMMENT",
  2630. "ML_COMMENT",
  2631. "COMMA",
  2632. "ESC",
  2633. "DIGIT",
  2634. "XDIGIT",
  2635. "VOCAB",
  2636. "NESTED_ARG_ACTION",
  2637. "NESTED_ACTION",
  2638. "WS_LOOP",
  2639. "INTERNAL_RULE_REF",
  2640. "WS_OPT",
  2641. "NOT_USEFUL"
  2642. };
  2643. private static final long _tokenSet_0_data_[] = { 15317598464L, 0L };
  2644. public static final BitSet _tokenSet_0 = new BitSet(_tokenSet_0_data_);
  2645. private static final long _tokenSet_1_data_[] = { 273015652480L, 0L };
  2646. public static final BitSet _tokenSet_1 = new BitSet(_tokenSet_1_data_);
  2647. private static final long _tokenSet_2_data_[] = { 289171978059968L, 0L };
  2648. public static final BitSet _tokenSet_2 = new BitSet(_tokenSet_2_data_);
  2649. private static final long _tokenSet_3_data_[] = { 289498968162496L, 0L };
  2650. public static final BitSet _tokenSet_3 = new BitSet(_tokenSet_3_data_);
  2651. private static final long _tokenSet_4_data_[] = { 282574908293184L, 0L };
  2652. public static final BitSet _tokenSet_4 = new BitSet(_tokenSet_4_data_);
  2653. private static final long _tokenSet_5_data_[] = { 430373899681984L, 0L };
  2654. public static final BitSet _tokenSet_5 = new BitSet(_tokenSet_5_data_);
  2655. private static final long _tokenSet_6_data_[] = { 430236460728512L, 0L };
  2656. public static final BitSet _tokenSet_6 = new BitSet(_tokenSet_6_data_);
  2657. private static final long _tokenSet_7_data_[] = { 281474994012224L, 0L };
  2658. public static final BitSet _tokenSet_7 = new BitSet(_tokenSet_7_data_);
  2659. private static final long _tokenSet_8_data_[] = { 430236456517824L, 0L };
  2660. public static final BitSet _tokenSet_8 = new BitSet(_tokenSet_8_data_);
  2661. private static final long _tokenSet_9_data_[] = { 289464574804160L, 0L };
  2662. public static final BitSet _tokenSet_9 = new BitSet(_tokenSet_9_data_);
  2663. private static final long _tokenSet_10_data_[] = { 562865050861760L, 0L };
  2664. public static final BitSet _tokenSet_10 = new BitSet(_tokenSet_10_data_);
  2665. private static final long _tokenSet_11_data_[] = { 429961006022848L, 0L };
  2666. public static final BitSet _tokenSet_11 = new BitSet(_tokenSet_11_data_);
  2667. }