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