OSDN Git Service

how to mirror to SourceForge.jp
[xerial/xerial-core.git] / src / main / java / org / xerial / lens / relation / query / impl / XPathLexer.java
1 // $ANTLR 3.1.3 Mar 17, 2009 19:23:44 XPath.g 2009-09-30 22:59:30\r
2 \r
3 /*--------------------------------------------------------------------------\r
4  *  Copyright 2009 Taro L. Saito\r
5  *\r
6  *  Licensed under the Apache License, Version 2.0 (the "License");\r
7  *  you may not use this file except in compliance with the License.\r
8  *  You may obtain a copy of the License at\r
9  *\r
10  *     http://www.apache.org/licenses/LICENSE-2.0\r
11  *\r
12  *  Unless required by applicable law or agreed to in writing, software\r
13  *  distributed under the License is distributed on an "AS IS" BASIS,\r
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
15  *  See the License for the specific language governing permissions and\r
16  *  limitations under the License.\r
17  *--------------------------------------------------------------------------*/\r
18 //--------------------------------------\r
19 // XerialJ\r
20 //\r
21 // XPathLexer.g\r
22 // Since: Aug 6, 2009 08:30:02 AM\r
23 //\r
24 //--------------------------------------\r
25 \r
26 package org.xerial.lens.relation.query.impl;\r
27 \r
28 \r
29 \r
30 import org.antlr.runtime.*;\r
31 import java.util.Stack;\r
32 import java.util.List;\r
33 import java.util.ArrayList;\r
34 \r
35 public class XPathLexer extends Lexer {\r
36     public static final int T__42=42;\r
37     public static final int Digit=13;\r
38     public static final int Frac=22;\r
39     public static final int HexDigit=15;\r
40     public static final int T__47=47;\r
41     public static final int STEP=7;\r
42     public static final int VALUE=6;\r
43     public static final int T__39=39;\r
44     public static final int Letter=14;\r
45     public static final int PREDICATE=9;\r
46     public static final int Comma=25;\r
47     public static final int T__46=46;\r
48     public static final int EscapeSequence=17;\r
49     public static final int XPATH=4;\r
50     public static final int Integer=21;\r
51     public static final int WhiteSpace=30;\r
52     public static final int T__34=34;\r
53     public static final int AXIS=8;\r
54     public static final int LineComment=11;\r
55     public static final int Colon=26;\r
56     public static final int T__35=35;\r
57     public static final int SafeFirstLetter=28;\r
58     public static final int T__36=36;\r
59     public static final int Exp=23;\r
60     public static final int QNameChar=31;\r
61     public static final int T__44=44;\r
62     public static final int UnicodeChar=16;\r
63     public static final int StringChar=18;\r
64     public static final int LineBreak=12;\r
65     public static final int T__45=45;\r
66     public static final int String=20;\r
67     public static final int SafeLetter=29;\r
68     public static final int LineBreakChar=10;\r
69     public static final int T__43=43;\r
70     public static final int QName=32;\r
71     public static final int T__40=40;\r
72     public static final int EOF=-1;\r
73     public static final int T__38=38;\r
74     public static final int T__37=37;\r
75     public static final int StringChar_s=19;\r
76     public static final int UnsafeUnicodeChar=27;\r
77     public static final int Double=24;\r
78     public static final int NAME=5;\r
79     public static final int T__41=41;\r
80     public static final int WhiteSpaces=33;\r
81 \r
82 \r
83 \r
84 \r
85     // delegates\r
86     // delegators\r
87 \r
88     public XPathLexer() {;} \r
89     public XPathLexer(CharStream input) {\r
90         this(input, new RecognizerSharedState());\r
91     }\r
92     public XPathLexer(CharStream input, RecognizerSharedState state) {\r
93         super(input,state);\r
94 \r
95     }\r
96     public String getGrammarFileName() { return "XPath.g"; }\r
97 \r
98     // $ANTLR start "T__34"\r
99     public final void mT__34() throws RecognitionException {\r
100         try {\r
101             int _type = T__34;\r
102             int _channel = DEFAULT_TOKEN_CHANNEL;\r
103             // XPath.g:38:7: ( '/' )\r
104             // XPath.g:38:9: '/'\r
105             {\r
106             match('/'); \r
107 \r
108             }\r
109 \r
110             state.type = _type;\r
111             state.channel = _channel;\r
112         }\r
113         finally {\r
114         }\r
115     }\r
116     // $ANTLR end "T__34"\r
117 \r
118     // $ANTLR start "T__35"\r
119     public final void mT__35() throws RecognitionException {\r
120         try {\r
121             int _type = T__35;\r
122             int _channel = DEFAULT_TOKEN_CHANNEL;\r
123             // XPath.g:39:7: ( '//' )\r
124             // XPath.g:39:9: '//'\r
125             {\r
126             match("//"); \r
127 \r
128 \r
129             }\r
130 \r
131             state.type = _type;\r
132             state.channel = _channel;\r
133         }\r
134         finally {\r
135         }\r
136     }\r
137     // $ANTLR end "T__35"\r
138 \r
139     // $ANTLR start "T__36"\r
140     public final void mT__36() throws RecognitionException {\r
141         try {\r
142             int _type = T__36;\r
143             int _channel = DEFAULT_TOKEN_CHANNEL;\r
144             // XPath.g:40:7: ( '@' )\r
145             // XPath.g:40:9: '@'\r
146             {\r
147             match('@'); \r
148 \r
149             }\r
150 \r
151             state.type = _type;\r
152             state.channel = _channel;\r
153         }\r
154         finally {\r
155         }\r
156     }\r
157     // $ANTLR end "T__36"\r
158 \r
159     // $ANTLR start "T__37"\r
160     public final void mT__37() throws RecognitionException {\r
161         try {\r
162             int _type = T__37;\r
163             int _channel = DEFAULT_TOKEN_CHANNEL;\r
164             // XPath.g:41:7: ( '[' )\r
165             // XPath.g:41:9: '['\r
166             {\r
167             match('['); \r
168 \r
169             }\r
170 \r
171             state.type = _type;\r
172             state.channel = _channel;\r
173         }\r
174         finally {\r
175         }\r
176     }\r
177     // $ANTLR end "T__37"\r
178 \r
179     // $ANTLR start "T__38"\r
180     public final void mT__38() throws RecognitionException {\r
181         try {\r
182             int _type = T__38;\r
183             int _channel = DEFAULT_TOKEN_CHANNEL;\r
184             // XPath.g:42:7: ( ']' )\r
185             // XPath.g:42:9: ']'\r
186             {\r
187             match(']'); \r
188 \r
189             }\r
190 \r
191             state.type = _type;\r
192             state.channel = _channel;\r
193         }\r
194         finally {\r
195         }\r
196     }\r
197     // $ANTLR end "T__38"\r
198 \r
199     // $ANTLR start "T__39"\r
200     public final void mT__39() throws RecognitionException {\r
201         try {\r
202             int _type = T__39;\r
203             int _channel = DEFAULT_TOKEN_CHANNEL;\r
204             // XPath.g:43:7: ( '=' )\r
205             // XPath.g:43:9: '='\r
206             {\r
207             match('='); \r
208 \r
209             }\r
210 \r
211             state.type = _type;\r
212             state.channel = _channel;\r
213         }\r
214         finally {\r
215         }\r
216     }\r
217     // $ANTLR end "T__39"\r
218 \r
219     // $ANTLR start "T__40"\r
220     public final void mT__40() throws RecognitionException {\r
221         try {\r
222             int _type = T__40;\r
223             int _channel = DEFAULT_TOKEN_CHANNEL;\r
224             // XPath.g:44:7: ( '!=' )\r
225             // XPath.g:44:9: '!='\r
226             {\r
227             match("!="); \r
228 \r
229 \r
230             }\r
231 \r
232             state.type = _type;\r
233             state.channel = _channel;\r
234         }\r
235         finally {\r
236         }\r
237     }\r
238     // $ANTLR end "T__40"\r
239 \r
240     // $ANTLR start "T__41"\r
241     public final void mT__41() throws RecognitionException {\r
242         try {\r
243             int _type = T__41;\r
244             int _channel = DEFAULT_TOKEN_CHANNEL;\r
245             // XPath.g:45:7: ( '>' )\r
246             // XPath.g:45:9: '>'\r
247             {\r
248             match('>'); \r
249 \r
250             }\r
251 \r
252             state.type = _type;\r
253             state.channel = _channel;\r
254         }\r
255         finally {\r
256         }\r
257     }\r
258     // $ANTLR end "T__41"\r
259 \r
260     // $ANTLR start "T__42"\r
261     public final void mT__42() throws RecognitionException {\r
262         try {\r
263             int _type = T__42;\r
264             int _channel = DEFAULT_TOKEN_CHANNEL;\r
265             // XPath.g:46:7: ( '>=' )\r
266             // XPath.g:46:9: '>='\r
267             {\r
268             match(">="); \r
269 \r
270 \r
271             }\r
272 \r
273             state.type = _type;\r
274             state.channel = _channel;\r
275         }\r
276         finally {\r
277         }\r
278     }\r
279     // $ANTLR end "T__42"\r
280 \r
281     // $ANTLR start "T__43"\r
282     public final void mT__43() throws RecognitionException {\r
283         try {\r
284             int _type = T__43;\r
285             int _channel = DEFAULT_TOKEN_CHANNEL;\r
286             // XPath.g:47:7: ( '<' )\r
287             // XPath.g:47:9: '<'\r
288             {\r
289             match('<'); \r
290 \r
291             }\r
292 \r
293             state.type = _type;\r
294             state.channel = _channel;\r
295         }\r
296         finally {\r
297         }\r
298     }\r
299     // $ANTLR end "T__43"\r
300 \r
301     // $ANTLR start "T__44"\r
302     public final void mT__44() throws RecognitionException {\r
303         try {\r
304             int _type = T__44;\r
305             int _channel = DEFAULT_TOKEN_CHANNEL;\r
306             // XPath.g:48:7: ( '<=' )\r
307             // XPath.g:48:9: '<='\r
308             {\r
309             match("<="); \r
310 \r
311 \r
312             }\r
313 \r
314             state.type = _type;\r
315             state.channel = _channel;\r
316         }\r
317         finally {\r
318         }\r
319     }\r
320     // $ANTLR end "T__44"\r
321 \r
322     // $ANTLR start "T__45"\r
323     public final void mT__45() throws RecognitionException {\r
324         try {\r
325             int _type = T__45;\r
326             int _channel = DEFAULT_TOKEN_CHANNEL;\r
327             // XPath.g:49:7: ( '~=' )\r
328             // XPath.g:49:9: '~='\r
329             {\r
330             match("~="); \r
331 \r
332 \r
333             }\r
334 \r
335             state.type = _type;\r
336             state.channel = _channel;\r
337         }\r
338         finally {\r
339         }\r
340     }\r
341     // $ANTLR end "T__45"\r
342 \r
343     // $ANTLR start "T__46"\r
344     public final void mT__46() throws RecognitionException {\r
345         try {\r
346             int _type = T__46;\r
347             int _channel = DEFAULT_TOKEN_CHANNEL;\r
348             // XPath.g:50:7: ( '(' )\r
349             // XPath.g:50:9: '('\r
350             {\r
351             match('('); \r
352 \r
353             }\r
354 \r
355             state.type = _type;\r
356             state.channel = _channel;\r
357         }\r
358         finally {\r
359         }\r
360     }\r
361     // $ANTLR end "T__46"\r
362 \r
363     // $ANTLR start "T__47"\r
364     public final void mT__47() throws RecognitionException {\r
365         try {\r
366             int _type = T__47;\r
367             int _channel = DEFAULT_TOKEN_CHANNEL;\r
368             // XPath.g:51:7: ( ')' )\r
369             // XPath.g:51:9: ')'\r
370             {\r
371             match(')'); \r
372 \r
373             }\r
374 \r
375             state.type = _type;\r
376             state.channel = _channel;\r
377         }\r
378         finally {\r
379         }\r
380     }\r
381     // $ANTLR end "T__47"\r
382 \r
383     // $ANTLR start "LineBreakChar"\r
384     public final void mLineBreakChar() throws RecognitionException {\r
385         try {\r
386             // XPath.g:111:23: ( '\\n' | '\\r' )\r
387             // XPath.g:\r
388             {\r
389             if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {\r
390                 input.consume();\r
391 \r
392             }\r
393             else {\r
394                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
395                 recover(mse);\r
396                 throw mse;}\r
397 \r
398 \r
399             }\r
400 \r
401         }\r
402         finally {\r
403         }\r
404     }\r
405     // $ANTLR end "LineBreakChar"\r
406 \r
407     // $ANTLR start "LineComment"\r
408     public final void mLineComment() throws RecognitionException {\r
409         try {\r
410             int _type = LineComment;\r
411             int _channel = DEFAULT_TOKEN_CHANNEL;\r
412             // XPath.g:112:12: ( '#' (~ ( LineBreakChar ) )* )\r
413             // XPath.g:112:14: '#' (~ ( LineBreakChar ) )*\r
414             {\r
415             match('#'); \r
416             // XPath.g:112:18: (~ ( LineBreakChar ) )*\r
417             loop1:\r
418             do {\r
419                 int alt1=2;\r
420                 int LA1_0 = input.LA(1);\r
421 \r
422                 if ( ((LA1_0>='\u0000' && LA1_0<='\t')||(LA1_0>='\u000B' && LA1_0<='\f')||(LA1_0>='\u000E' && LA1_0<='\uFFFF')) ) {\r
423                     alt1=1;\r
424                 }\r
425 \r
426 \r
427                 switch (alt1) {\r
428                 case 1 :\r
429                     // XPath.g:112:18: ~ ( LineBreakChar )\r
430                     {\r
431                     if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {\r
432                         input.consume();\r
433 \r
434                     }\r
435                     else {\r
436                         MismatchedSetException mse = new MismatchedSetException(null,input);\r
437                         recover(mse);\r
438                         throw mse;}\r
439 \r
440 \r
441                     }\r
442                     break;\r
443 \r
444                 default :\r
445                     break loop1;\r
446                 }\r
447             } while (true);\r
448 \r
449              _channel = HIDDEN; \r
450 \r
451             }\r
452 \r
453             state.type = _type;\r
454             state.channel = _channel;\r
455         }\r
456         finally {\r
457         }\r
458     }\r
459     // $ANTLR end "LineComment"\r
460 \r
461     // $ANTLR start "LineBreak"\r
462     public final void mLineBreak() throws RecognitionException {\r
463         try {\r
464             int _type = LineBreak;\r
465             int _channel = DEFAULT_TOKEN_CHANNEL;\r
466             // XPath.g:114:10: ( ( '\\r' '\\n' | '\\r' | '\\n' ) )\r
467             // XPath.g:114:12: ( '\\r' '\\n' | '\\r' | '\\n' )\r
468             {\r
469             // XPath.g:114:12: ( '\\r' '\\n' | '\\r' | '\\n' )\r
470             int alt2=3;\r
471             int LA2_0 = input.LA(1);\r
472 \r
473             if ( (LA2_0=='\r') ) {\r
474                 int LA2_1 = input.LA(2);\r
475 \r
476                 if ( (LA2_1=='\n') ) {\r
477                     alt2=1;\r
478                 }\r
479                 else {\r
480                     alt2=2;}\r
481             }\r
482             else if ( (LA2_0=='\n') ) {\r
483                 alt2=3;\r
484             }\r
485             else {\r
486                 NoViableAltException nvae =\r
487                     new NoViableAltException("", 2, 0, input);\r
488 \r
489                 throw nvae;\r
490             }\r
491             switch (alt2) {\r
492                 case 1 :\r
493                     // XPath.g:114:13: '\\r' '\\n'\r
494                     {\r
495                     match('\r'); \r
496                     match('\n'); \r
497 \r
498                     }\r
499                     break;\r
500                 case 2 :\r
501                     // XPath.g:114:25: '\\r'\r
502                     {\r
503                     match('\r'); \r
504 \r
505                     }\r
506                     break;\r
507                 case 3 :\r
508                     // XPath.g:114:32: '\\n'\r
509                     {\r
510                     match('\n'); \r
511 \r
512                     }\r
513                     break;\r
514 \r
515             }\r
516 \r
517              _channel = HIDDEN; \r
518 \r
519             }\r
520 \r
521             state.type = _type;\r
522             state.channel = _channel;\r
523         }\r
524         finally {\r
525         }\r
526     }\r
527     // $ANTLR end "LineBreak"\r
528 \r
529     // $ANTLR start "Digit"\r
530     public final void mDigit() throws RecognitionException {\r
531         try {\r
532             // XPath.g:116:15: ( '0' .. '9' )\r
533             // XPath.g:116:17: '0' .. '9'\r
534             {\r
535             matchRange('0','9'); \r
536 \r
537             }\r
538 \r
539         }\r
540         finally {\r
541         }\r
542     }\r
543     // $ANTLR end "Digit"\r
544 \r
545     // $ANTLR start "Letter"\r
546     public final void mLetter() throws RecognitionException {\r
547         try {\r
548             // XPath.g:117:16: ( 'A' .. 'F' | 'a' .. 'f' )\r
549             // XPath.g:\r
550             {\r
551             if ( (input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {\r
552                 input.consume();\r
553 \r
554             }\r
555             else {\r
556                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
557                 recover(mse);\r
558                 throw mse;}\r
559 \r
560 \r
561             }\r
562 \r
563         }\r
564         finally {\r
565         }\r
566     }\r
567     // $ANTLR end "Letter"\r
568 \r
569     // $ANTLR start "HexDigit"\r
570     public final void mHexDigit() throws RecognitionException {\r
571         try {\r
572             // XPath.g:118:18: ( Digit | Letter )\r
573             // XPath.g:\r
574             {\r
575             if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {\r
576                 input.consume();\r
577 \r
578             }\r
579             else {\r
580                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
581                 recover(mse);\r
582                 throw mse;}\r
583 \r
584 \r
585             }\r
586 \r
587         }\r
588         finally {\r
589         }\r
590     }\r
591     // $ANTLR end "HexDigit"\r
592 \r
593     // $ANTLR start "UnicodeChar"\r
594     public final void mUnicodeChar() throws RecognitionException {\r
595         try {\r
596             // XPath.g:119:21: (~ ( '\"' | '\\\\' ) )\r
597             // XPath.g:119:23: ~ ( '\"' | '\\\\' )\r
598             {\r
599             if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {\r
600                 input.consume();\r
601 \r
602             }\r
603             else {\r
604                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
605                 recover(mse);\r
606                 throw mse;}\r
607 \r
608 \r
609             }\r
610 \r
611         }\r
612         finally {\r
613         }\r
614     }\r
615     // $ANTLR end "UnicodeChar"\r
616 \r
617     // $ANTLR start "EscapeSequence"\r
618     public final void mEscapeSequence() throws RecognitionException {\r
619         try {\r
620             // XPath.g:121:3: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) )\r
621             // XPath.g:121:5: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
622             {\r
623             match('\\'); \r
624             // XPath.g:121:10: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
625             int alt3=9;\r
626             switch ( input.LA(1) ) {\r
627             case '\"':\r
628                 {\r
629                 alt3=1;\r
630                 }\r
631                 break;\r
632             case '\\':\r
633                 {\r
634                 alt3=2;\r
635                 }\r
636                 break;\r
637             case '/':\r
638                 {\r
639                 alt3=3;\r
640                 }\r
641                 break;\r
642             case 'b':\r
643                 {\r
644                 alt3=4;\r
645                 }\r
646                 break;\r
647             case 'f':\r
648                 {\r
649                 alt3=5;\r
650                 }\r
651                 break;\r
652             case 'n':\r
653                 {\r
654                 alt3=6;\r
655                 }\r
656                 break;\r
657             case 'r':\r
658                 {\r
659                 alt3=7;\r
660                 }\r
661                 break;\r
662             case 't':\r
663                 {\r
664                 alt3=8;\r
665                 }\r
666                 break;\r
667             case 'u':\r
668                 {\r
669                 alt3=9;\r
670                 }\r
671                 break;\r
672             default:\r
673                 NoViableAltException nvae =\r
674                     new NoViableAltException("", 3, 0, input);\r
675 \r
676                 throw nvae;\r
677             }\r
678 \r
679             switch (alt3) {\r
680                 case 1 :\r
681                     // XPath.g:121:11: '\\\"'\r
682                     {\r
683                     match('\"'); \r
684 \r
685                     }\r
686                     break;\r
687                 case 2 :\r
688                     // XPath.g:121:18: '\\\\'\r
689                     {\r
690                     match('\\'); \r
691 \r
692                     }\r
693                     break;\r
694                 case 3 :\r
695                     // XPath.g:121:25: '/'\r
696                     {\r
697                     match('/'); \r
698 \r
699                     }\r
700                     break;\r
701                 case 4 :\r
702                     // XPath.g:121:31: 'b'\r
703                     {\r
704                     match('b'); \r
705 \r
706                     }\r
707                     break;\r
708                 case 5 :\r
709                     // XPath.g:121:37: 'f'\r
710                     {\r
711                     match('f'); \r
712 \r
713                     }\r
714                     break;\r
715                 case 6 :\r
716                     // XPath.g:121:43: 'n'\r
717                     {\r
718                     match('n'); \r
719 \r
720                     }\r
721                     break;\r
722                 case 7 :\r
723                     // XPath.g:121:49: 'r'\r
724                     {\r
725                     match('r'); \r
726 \r
727                     }\r
728                     break;\r
729                 case 8 :\r
730                     // XPath.g:121:55: 't'\r
731                     {\r
732                     match('t'); \r
733 \r
734                     }\r
735                     break;\r
736                 case 9 :\r
737                     // XPath.g:121:61: 'u' HexDigit HexDigit HexDigit HexDigit\r
738                     {\r
739                     match('u'); \r
740                     mHexDigit(); \r
741                     mHexDigit(); \r
742                     mHexDigit(); \r
743                     mHexDigit(); \r
744 \r
745                     }\r
746                     break;\r
747 \r
748             }\r
749 \r
750 \r
751             }\r
752 \r
753         }\r
754         finally {\r
755         }\r
756     }\r
757     // $ANTLR end "EscapeSequence"\r
758 \r
759     // $ANTLR start "StringChar"\r
760     public final void mStringChar() throws RecognitionException {\r
761         try {\r
762             // XPath.g:124:21: ( UnicodeChar | EscapeSequence )\r
763             int alt4=2;\r
764             int LA4_0 = input.LA(1);\r
765 \r
766             if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {\r
767                 alt4=1;\r
768             }\r
769             else if ( (LA4_0=='\\') ) {\r
770                 alt4=2;\r
771             }\r
772             else {\r
773                 NoViableAltException nvae =\r
774                     new NoViableAltException("", 4, 0, input);\r
775 \r
776                 throw nvae;\r
777             }\r
778             switch (alt4) {\r
779                 case 1 :\r
780                     // XPath.g:124:24: UnicodeChar\r
781                     {\r
782                     mUnicodeChar(); \r
783 \r
784                     }\r
785                     break;\r
786                 case 2 :\r
787                     // XPath.g:124:38: EscapeSequence\r
788                     {\r
789                     mEscapeSequence(); \r
790 \r
791                     }\r
792                     break;\r
793 \r
794             }\r
795         }\r
796         finally {\r
797         }\r
798     }\r
799     // $ANTLR end "StringChar"\r
800 \r
801     // $ANTLR start "StringChar_s"\r
802     public final void mStringChar_s() throws RecognitionException {\r
803         try {\r
804             // XPath.g:125:22: ( ( StringChar )* )\r
805             // XPath.g:125:24: ( StringChar )*\r
806             {\r
807             // XPath.g:125:24: ( StringChar )*\r
808             loop5:\r
809             do {\r
810                 int alt5=2;\r
811                 int LA5_0 = input.LA(1);\r
812 \r
813                 if ( ((LA5_0>='\u0000' && LA5_0<='!')||(LA5_0>='#' && LA5_0<='\uFFFF')) ) {\r
814                     alt5=1;\r
815                 }\r
816 \r
817 \r
818                 switch (alt5) {\r
819                 case 1 :\r
820                     // XPath.g:125:24: StringChar\r
821                     {\r
822                     mStringChar(); \r
823 \r
824                     }\r
825                     break;\r
826 \r
827                 default :\r
828                     break loop5;\r
829                 }\r
830             } while (true);\r
831 \r
832 \r
833             }\r
834 \r
835         }\r
836         finally {\r
837         }\r
838     }\r
839     // $ANTLR end "StringChar_s"\r
840 \r
841     // $ANTLR start "String"\r
842     public final void mString() throws RecognitionException {\r
843         try {\r
844             int _type = String;\r
845             int _channel = DEFAULT_TOKEN_CHANNEL;\r
846             Token s=null;\r
847 \r
848             // XPath.g:127:7: ( '\"' s= StringChar_s '\"' )\r
849             // XPath.g:127:9: '\"' s= StringChar_s '\"'\r
850             {\r
851             match('\"'); \r
852             int sStart355 = getCharIndex();\r
853             mStringChar_s(); \r
854             s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart355, getCharIndex()-1);\r
855             match('\"'); \r
856              setText((s!=null?s.getText():null)); \r
857 \r
858             }\r
859 \r
860             state.type = _type;\r
861             state.channel = _channel;\r
862         }\r
863         finally {\r
864         }\r
865     }\r
866     // $ANTLR end "String"\r
867 \r
868     // $ANTLR start "Integer"\r
869     public final void mInteger() throws RecognitionException {\r
870         try {\r
871             int _type = Integer;\r
872             int _channel = DEFAULT_TOKEN_CHANNEL;\r
873             // XPath.g:129:8: ( ( '-' )? ( '0' | '1' .. '9' ( Digit )* ) )\r
874             // XPath.g:129:10: ( '-' )? ( '0' | '1' .. '9' ( Digit )* )\r
875             {\r
876             // XPath.g:129:10: ( '-' )?\r
877             int alt6=2;\r
878             int LA6_0 = input.LA(1);\r
879 \r
880             if ( (LA6_0=='-') ) {\r
881                 alt6=1;\r
882             }\r
883             switch (alt6) {\r
884                 case 1 :\r
885                     // XPath.g:129:10: '-'\r
886                     {\r
887                     match('-'); \r
888 \r
889                     }\r
890                     break;\r
891 \r
892             }\r
893 \r
894             // XPath.g:129:15: ( '0' | '1' .. '9' ( Digit )* )\r
895             int alt8=2;\r
896             int LA8_0 = input.LA(1);\r
897 \r
898             if ( (LA8_0=='0') ) {\r
899                 alt8=1;\r
900             }\r
901             else if ( ((LA8_0>='1' && LA8_0<='9')) ) {\r
902                 alt8=2;\r
903             }\r
904             else {\r
905                 NoViableAltException nvae =\r
906                     new NoViableAltException("", 8, 0, input);\r
907 \r
908                 throw nvae;\r
909             }\r
910             switch (alt8) {\r
911                 case 1 :\r
912                     // XPath.g:129:16: '0'\r
913                     {\r
914                     match('0'); \r
915 \r
916                     }\r
917                     break;\r
918                 case 2 :\r
919                     // XPath.g:129:22: '1' .. '9' ( Digit )*\r
920                     {\r
921                     matchRange('1','9'); \r
922                     // XPath.g:129:31: ( Digit )*\r
923                     loop7:\r
924                     do {\r
925                         int alt7=2;\r
926                         int LA7_0 = input.LA(1);\r
927 \r
928                         if ( ((LA7_0>='0' && LA7_0<='9')) ) {\r
929                             alt7=1;\r
930                         }\r
931 \r
932 \r
933                         switch (alt7) {\r
934                         case 1 :\r
935                             // XPath.g:129:31: Digit\r
936                             {\r
937                             mDigit(); \r
938 \r
939                             }\r
940                             break;\r
941 \r
942                         default :\r
943                             break loop7;\r
944                         }\r
945                     } while (true);\r
946 \r
947 \r
948                     }\r
949                     break;\r
950 \r
951             }\r
952 \r
953 \r
954             }\r
955 \r
956             state.type = _type;\r
957             state.channel = _channel;\r
958         }\r
959         finally {\r
960         }\r
961     }\r
962     // $ANTLR end "Integer"\r
963 \r
964     // $ANTLR start "Frac"\r
965     public final void mFrac() throws RecognitionException {\r
966         try {\r
967             // XPath.g:130:14: ( '.' ( Digit )+ )\r
968             // XPath.g:130:16: '.' ( Digit )+\r
969             {\r
970             match('.'); \r
971             // XPath.g:130:20: ( Digit )+\r
972             int cnt9=0;\r
973             loop9:\r
974             do {\r
975                 int alt9=2;\r
976                 int LA9_0 = input.LA(1);\r
977 \r
978                 if ( ((LA9_0>='0' && LA9_0<='9')) ) {\r
979                     alt9=1;\r
980                 }\r
981 \r
982 \r
983                 switch (alt9) {\r
984                 case 1 :\r
985                     // XPath.g:130:20: Digit\r
986                     {\r
987                     mDigit(); \r
988 \r
989                     }\r
990                     break;\r
991 \r
992                 default :\r
993                     if ( cnt9 >= 1 ) break loop9;\r
994                         EarlyExitException eee =\r
995                             new EarlyExitException(9, input);\r
996                         throw eee;\r
997                 }\r
998                 cnt9++;\r
999             } while (true);\r
1000 \r
1001 \r
1002             }\r
1003 \r
1004         }\r
1005         finally {\r
1006         }\r
1007     }\r
1008     // $ANTLR end "Frac"\r
1009 \r
1010     // $ANTLR start "Exp"\r
1011     public final void mExp() throws RecognitionException {\r
1012         try {\r
1013             // XPath.g:131:13: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )\r
1014             // XPath.g:131:15: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+\r
1015             {\r
1016             if ( input.LA(1)=='E'||input.LA(1)=='e' ) {\r
1017                 input.consume();\r
1018 \r
1019             }\r
1020             else {\r
1021                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1022                 recover(mse);\r
1023                 throw mse;}\r
1024 \r
1025             // XPath.g:131:27: ( '+' | '-' )?\r
1026             int alt10=2;\r
1027             int LA10_0 = input.LA(1);\r
1028 \r
1029             if ( (LA10_0=='+'||LA10_0=='-') ) {\r
1030                 alt10=1;\r
1031             }\r
1032             switch (alt10) {\r
1033                 case 1 :\r
1034                     // XPath.g:\r
1035                     {\r
1036                     if ( input.LA(1)=='+'||input.LA(1)=='-' ) {\r
1037                         input.consume();\r
1038 \r
1039                     }\r
1040                     else {\r
1041                         MismatchedSetException mse = new MismatchedSetException(null,input);\r
1042                         recover(mse);\r
1043                         throw mse;}\r
1044 \r
1045 \r
1046                     }\r
1047                     break;\r
1048 \r
1049             }\r
1050 \r
1051             // XPath.g:131:40: ( Digit )+\r
1052             int cnt11=0;\r
1053             loop11:\r
1054             do {\r
1055                 int alt11=2;\r
1056                 int LA11_0 = input.LA(1);\r
1057 \r
1058                 if ( ((LA11_0>='0' && LA11_0<='9')) ) {\r
1059                     alt11=1;\r
1060                 }\r
1061 \r
1062 \r
1063                 switch (alt11) {\r
1064                 case 1 :\r
1065                     // XPath.g:131:40: Digit\r
1066                     {\r
1067                     mDigit(); \r
1068 \r
1069                     }\r
1070                     break;\r
1071 \r
1072                 default :\r
1073                     if ( cnt11 >= 1 ) break loop11;\r
1074                         EarlyExitException eee =\r
1075                             new EarlyExitException(11, input);\r
1076                         throw eee;\r
1077                 }\r
1078                 cnt11++;\r
1079             } while (true);\r
1080 \r
1081 \r
1082             }\r
1083 \r
1084         }\r
1085         finally {\r
1086         }\r
1087     }\r
1088     // $ANTLR end "Exp"\r
1089 \r
1090     // $ANTLR start "Double"\r
1091     public final void mDouble() throws RecognitionException {\r
1092         try {\r
1093             int _type = Double;\r
1094             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1095             // XPath.g:132:7: ( Integer ( Frac ( Exp )? | Exp ) )\r
1096             // XPath.g:132:9: Integer ( Frac ( Exp )? | Exp )\r
1097             {\r
1098             mInteger(); \r
1099             // XPath.g:132:17: ( Frac ( Exp )? | Exp )\r
1100             int alt13=2;\r
1101             int LA13_0 = input.LA(1);\r
1102 \r
1103             if ( (LA13_0=='.') ) {\r
1104                 alt13=1;\r
1105             }\r
1106             else if ( (LA13_0=='E'||LA13_0=='e') ) {\r
1107                 alt13=2;\r
1108             }\r
1109             else {\r
1110                 NoViableAltException nvae =\r
1111                     new NoViableAltException("", 13, 0, input);\r
1112 \r
1113                 throw nvae;\r
1114             }\r
1115             switch (alt13) {\r
1116                 case 1 :\r
1117                     // XPath.g:132:18: Frac ( Exp )?\r
1118                     {\r
1119                     mFrac(); \r
1120                     // XPath.g:132:23: ( Exp )?\r
1121                     int alt12=2;\r
1122                     int LA12_0 = input.LA(1);\r
1123 \r
1124                     if ( (LA12_0=='E'||LA12_0=='e') ) {\r
1125                         alt12=1;\r
1126                     }\r
1127                     switch (alt12) {\r
1128                         case 1 :\r
1129                             // XPath.g:132:23: Exp\r
1130                             {\r
1131                             mExp(); \r
1132 \r
1133                             }\r
1134                             break;\r
1135 \r
1136                     }\r
1137 \r
1138 \r
1139                     }\r
1140                     break;\r
1141                 case 2 :\r
1142                     // XPath.g:132:30: Exp\r
1143                     {\r
1144                     mExp(); \r
1145 \r
1146                     }\r
1147                     break;\r
1148 \r
1149             }\r
1150 \r
1151 \r
1152             }\r
1153 \r
1154             state.type = _type;\r
1155             state.channel = _channel;\r
1156         }\r
1157         finally {\r
1158         }\r
1159     }\r
1160     // $ANTLR end "Double"\r
1161 \r
1162     // $ANTLR start "Comma"\r
1163     public final void mComma() throws RecognitionException {\r
1164         try {\r
1165             int _type = Comma;\r
1166             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1167             // XPath.g:136:6: ( ',' )\r
1168             // XPath.g:136:8: ','\r
1169             {\r
1170             match(','); \r
1171 \r
1172             }\r
1173 \r
1174             state.type = _type;\r
1175             state.channel = _channel;\r
1176         }\r
1177         finally {\r
1178         }\r
1179     }\r
1180     // $ANTLR end "Comma"\r
1181 \r
1182     // $ANTLR start "Colon"\r
1183     public final void mColon() throws RecognitionException {\r
1184         try {\r
1185             int _type = Colon;\r
1186             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1187             // XPath.g:137:6: ( ':' )\r
1188             // XPath.g:137:8: ':'\r
1189             {\r
1190             match(':'); \r
1191 \r
1192             }\r
1193 \r
1194             state.type = _type;\r
1195             state.channel = _channel;\r
1196         }\r
1197         finally {\r
1198         }\r
1199     }\r
1200     // $ANTLR end "Colon"\r
1201 \r
1202     // $ANTLR start "UnsafeUnicodeChar"\r
1203     public final void mUnsafeUnicodeChar() throws RecognitionException {\r
1204         try {\r
1205             // XPath.g:142:18: ( '(' | ')' | '[' | ']' | '{' | '}' | ',' | ':' | '#' | '<' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' | '.' | '-' )\r
1206             // XPath.g:\r
1207             {\r
1208             if ( (input.LA(1)>='\"' && input.LA(1)<='#')||input.LA(1)=='%'||(input.LA(1)>='\'' && input.LA(1)<='*')||(input.LA(1)>=',' && input.LA(1)<='.')||input.LA(1)==':'||input.LA(1)=='<'||input.LA(1)=='>'||input.LA(1)=='@'||(input.LA(1)>='[' && input.LA(1)<=']')||(input.LA(1)>='{' && input.LA(1)<='}') ) {\r
1209                 input.consume();\r
1210 \r
1211             }\r
1212             else {\r
1213                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1214                 recover(mse);\r
1215                 throw mse;}\r
1216 \r
1217 \r
1218             }\r
1219 \r
1220         }\r
1221         finally {\r
1222         }\r
1223     }\r
1224     // $ANTLR end "UnsafeUnicodeChar"\r
1225 \r
1226     // $ANTLR start "SafeFirstLetter"\r
1227     public final void mSafeFirstLetter() throws RecognitionException {\r
1228         try {\r
1229             // XPath.g:144:25: ( 'A' .. 'Z' | 'a' .. 'z' )\r
1230             // XPath.g:\r
1231             {\r
1232             if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {\r
1233                 input.consume();\r
1234 \r
1235             }\r
1236             else {\r
1237                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1238                 recover(mse);\r
1239                 throw mse;}\r
1240 \r
1241 \r
1242             }\r
1243 \r
1244         }\r
1245         finally {\r
1246         }\r
1247     }\r
1248     // $ANTLR end "SafeFirstLetter"\r
1249 \r
1250     // $ANTLR start "SafeLetter"\r
1251     public final void mSafeLetter() throws RecognitionException {\r
1252         try {\r
1253             // XPath.g:145:20: ( SafeFirstLetter | '0' .. '9' | '-' | '_' )\r
1254             // XPath.g:\r
1255             {\r
1256             if ( input.LA(1)=='-'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {\r
1257                 input.consume();\r
1258 \r
1259             }\r
1260             else {\r
1261                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1262                 recover(mse);\r
1263                 throw mse;}\r
1264 \r
1265 \r
1266             }\r
1267 \r
1268         }\r
1269         finally {\r
1270         }\r
1271     }\r
1272     // $ANTLR end "SafeLetter"\r
1273 \r
1274     // $ANTLR start "QNameChar"\r
1275     public final void mQNameChar() throws RecognitionException {\r
1276         try {\r
1277             // XPath.g:147:19: (~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace | '/' | '//' ) )\r
1278             // XPath.g:147:21: ~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace | '/' | '//' )\r
1279             {\r
1280             if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||input.LA(1)=='$'||input.LA(1)=='&'||input.LA(1)=='+'||(input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)==';'||input.LA(1)=='='||input.LA(1)=='?'||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='^' && input.LA(1)<='z')||(input.LA(1)>='~' && input.LA(1)<='\uFFFF') ) {\r
1281                 input.consume();\r
1282 \r
1283             }\r
1284             else {\r
1285                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1286                 recover(mse);\r
1287                 throw mse;}\r
1288 \r
1289 \r
1290             }\r
1291 \r
1292         }\r
1293         finally {\r
1294         }\r
1295     }\r
1296     // $ANTLR end "QNameChar"\r
1297 \r
1298     // $ANTLR start "QName"\r
1299     public final void mQName() throws RecognitionException {\r
1300         try {\r
1301             int _type = QName;\r
1302             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1303             // XPath.g:148:6: ( ( QNameChar )+ ( '.' ( QNameChar )+ )* )\r
1304             // XPath.g:148:8: ( QNameChar )+ ( '.' ( QNameChar )+ )*\r
1305             {\r
1306             // XPath.g:148:8: ( QNameChar )+\r
1307             int cnt14=0;\r
1308             loop14:\r
1309             do {\r
1310                 int alt14=2;\r
1311                 int LA14_0 = input.LA(1);\r
1312 \r
1313                 if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||LA14_0=='$'||LA14_0=='&'||LA14_0=='+'||(LA14_0>='0' && LA14_0<='9')||LA14_0==';'||LA14_0=='='||LA14_0=='?'||(LA14_0>='A' && LA14_0<='Z')||(LA14_0>='^' && LA14_0<='z')||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {\r
1314                     alt14=1;\r
1315                 }\r
1316 \r
1317 \r
1318                 switch (alt14) {\r
1319                 case 1 :\r
1320                     // XPath.g:148:8: QNameChar\r
1321                     {\r
1322                     mQNameChar(); \r
1323 \r
1324                     }\r
1325                     break;\r
1326 \r
1327                 default :\r
1328                     if ( cnt14 >= 1 ) break loop14;\r
1329                         EarlyExitException eee =\r
1330                             new EarlyExitException(14, input);\r
1331                         throw eee;\r
1332                 }\r
1333                 cnt14++;\r
1334             } while (true);\r
1335 \r
1336             // XPath.g:148:19: ( '.' ( QNameChar )+ )*\r
1337             loop16:\r
1338             do {\r
1339                 int alt16=2;\r
1340                 int LA16_0 = input.LA(1);\r
1341 \r
1342                 if ( (LA16_0=='.') ) {\r
1343                     alt16=1;\r
1344                 }\r
1345 \r
1346 \r
1347                 switch (alt16) {\r
1348                 case 1 :\r
1349                     // XPath.g:148:20: '.' ( QNameChar )+\r
1350                     {\r
1351                     match('.'); \r
1352                     // XPath.g:148:24: ( QNameChar )+\r
1353                     int cnt15=0;\r
1354                     loop15:\r
1355                     do {\r
1356                         int alt15=2;\r
1357                         int LA15_0 = input.LA(1);\r
1358 \r
1359                         if ( ((LA15_0>='\u0000' && LA15_0<='\b')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\u001F')||LA15_0=='!'||LA15_0=='$'||LA15_0=='&'||LA15_0=='+'||(LA15_0>='0' && LA15_0<='9')||LA15_0==';'||LA15_0=='='||LA15_0=='?'||(LA15_0>='A' && LA15_0<='Z')||(LA15_0>='^' && LA15_0<='z')||(LA15_0>='~' && LA15_0<='\uFFFF')) ) {\r
1360                             alt15=1;\r
1361                         }\r
1362 \r
1363 \r
1364                         switch (alt15) {\r
1365                         case 1 :\r
1366                             // XPath.g:148:24: QNameChar\r
1367                             {\r
1368                             mQNameChar(); \r
1369 \r
1370                             }\r
1371                             break;\r
1372 \r
1373                         default :\r
1374                             if ( cnt15 >= 1 ) break loop15;\r
1375                                 EarlyExitException eee =\r
1376                                     new EarlyExitException(15, input);\r
1377                                 throw eee;\r
1378                         }\r
1379                         cnt15++;\r
1380                     } while (true);\r
1381 \r
1382 \r
1383                     }\r
1384                     break;\r
1385 \r
1386                 default :\r
1387                     break loop16;\r
1388                 }\r
1389             } while (true);\r
1390 \r
1391 \r
1392             }\r
1393 \r
1394             state.type = _type;\r
1395             state.channel = _channel;\r
1396         }\r
1397         finally {\r
1398         }\r
1399     }\r
1400     // $ANTLR end "QName"\r
1401 \r
1402     // $ANTLR start "WhiteSpace"\r
1403     public final void mWhiteSpace() throws RecognitionException {\r
1404         try {\r
1405             // XPath.g:152:11: ( ' ' | '\\t' )\r
1406             // XPath.g:\r
1407             {\r
1408             if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {\r
1409                 input.consume();\r
1410 \r
1411             }\r
1412             else {\r
1413                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1414                 recover(mse);\r
1415                 throw mse;}\r
1416 \r
1417 \r
1418             }\r
1419 \r
1420         }\r
1421         finally {\r
1422         }\r
1423     }\r
1424     // $ANTLR end "WhiteSpace"\r
1425 \r
1426     // $ANTLR start "WhiteSpaces"\r
1427     public final void mWhiteSpaces() throws RecognitionException {\r
1428         try {\r
1429             int _type = WhiteSpaces;\r
1430             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1431             // XPath.g:154:12: ( ( WhiteSpace )+ )\r
1432             // XPath.g:154:14: ( WhiteSpace )+\r
1433             {\r
1434             // XPath.g:154:14: ( WhiteSpace )+\r
1435             int cnt17=0;\r
1436             loop17:\r
1437             do {\r
1438                 int alt17=2;\r
1439                 int LA17_0 = input.LA(1);\r
1440 \r
1441                 if ( (LA17_0=='\t'||LA17_0==' ') ) {\r
1442                     alt17=1;\r
1443                 }\r
1444 \r
1445 \r
1446                 switch (alt17) {\r
1447                 case 1 :\r
1448                     // XPath.g:154:14: WhiteSpace\r
1449                     {\r
1450                     mWhiteSpace(); \r
1451 \r
1452                     }\r
1453                     break;\r
1454 \r
1455                 default :\r
1456                     if ( cnt17 >= 1 ) break loop17;\r
1457                         EarlyExitException eee =\r
1458                             new EarlyExitException(17, input);\r
1459                         throw eee;\r
1460                 }\r
1461                 cnt17++;\r
1462             } while (true);\r
1463 \r
1464              _channel = HIDDEN; \r
1465 \r
1466             }\r
1467 \r
1468             state.type = _type;\r
1469             state.channel = _channel;\r
1470         }\r
1471         finally {\r
1472         }\r
1473     }\r
1474     // $ANTLR end "WhiteSpaces"\r
1475 \r
1476     public void mTokens() throws RecognitionException {\r
1477         // XPath.g:1:8: ( T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | LineComment | LineBreak | String | Integer | Double | Comma | Colon | QName | WhiteSpaces )\r
1478         int alt18=23;\r
1479         alt18 = dfa18.predict(input);\r
1480         switch (alt18) {\r
1481             case 1 :\r
1482                 // XPath.g:1:10: T__34\r
1483                 {\r
1484                 mT__34(); \r
1485 \r
1486                 }\r
1487                 break;\r
1488             case 2 :\r
1489                 // XPath.g:1:16: T__35\r
1490                 {\r
1491                 mT__35(); \r
1492 \r
1493                 }\r
1494                 break;\r
1495             case 3 :\r
1496                 // XPath.g:1:22: T__36\r
1497                 {\r
1498                 mT__36(); \r
1499 \r
1500                 }\r
1501                 break;\r
1502             case 4 :\r
1503                 // XPath.g:1:28: T__37\r
1504                 {\r
1505                 mT__37(); \r
1506 \r
1507                 }\r
1508                 break;\r
1509             case 5 :\r
1510                 // XPath.g:1:34: T__38\r
1511                 {\r
1512                 mT__38(); \r
1513 \r
1514                 }\r
1515                 break;\r
1516             case 6 :\r
1517                 // XPath.g:1:40: T__39\r
1518                 {\r
1519                 mT__39(); \r
1520 \r
1521                 }\r
1522                 break;\r
1523             case 7 :\r
1524                 // XPath.g:1:46: T__40\r
1525                 {\r
1526                 mT__40(); \r
1527 \r
1528                 }\r
1529                 break;\r
1530             case 8 :\r
1531                 // XPath.g:1:52: T__41\r
1532                 {\r
1533                 mT__41(); \r
1534 \r
1535                 }\r
1536                 break;\r
1537             case 9 :\r
1538                 // XPath.g:1:58: T__42\r
1539                 {\r
1540                 mT__42(); \r
1541 \r
1542                 }\r
1543                 break;\r
1544             case 10 :\r
1545                 // XPath.g:1:64: T__43\r
1546                 {\r
1547                 mT__43(); \r
1548 \r
1549                 }\r
1550                 break;\r
1551             case 11 :\r
1552                 // XPath.g:1:70: T__44\r
1553                 {\r
1554                 mT__44(); \r
1555 \r
1556                 }\r
1557                 break;\r
1558             case 12 :\r
1559                 // XPath.g:1:76: T__45\r
1560                 {\r
1561                 mT__45(); \r
1562 \r
1563                 }\r
1564                 break;\r
1565             case 13 :\r
1566                 // XPath.g:1:82: T__46\r
1567                 {\r
1568                 mT__46(); \r
1569 \r
1570                 }\r
1571                 break;\r
1572             case 14 :\r
1573                 // XPath.g:1:88: T__47\r
1574                 {\r
1575                 mT__47(); \r
1576 \r
1577                 }\r
1578                 break;\r
1579             case 15 :\r
1580                 // XPath.g:1:94: LineComment\r
1581                 {\r
1582                 mLineComment(); \r
1583 \r
1584                 }\r
1585                 break;\r
1586             case 16 :\r
1587                 // XPath.g:1:106: LineBreak\r
1588                 {\r
1589                 mLineBreak(); \r
1590 \r
1591                 }\r
1592                 break;\r
1593             case 17 :\r
1594                 // XPath.g:1:116: String\r
1595                 {\r
1596                 mString(); \r
1597 \r
1598                 }\r
1599                 break;\r
1600             case 18 :\r
1601                 // XPath.g:1:123: Integer\r
1602                 {\r
1603                 mInteger(); \r
1604 \r
1605                 }\r
1606                 break;\r
1607             case 19 :\r
1608                 // XPath.g:1:131: Double\r
1609                 {\r
1610                 mDouble(); \r
1611 \r
1612                 }\r
1613                 break;\r
1614             case 20 :\r
1615                 // XPath.g:1:138: Comma\r
1616                 {\r
1617                 mComma(); \r
1618 \r
1619                 }\r
1620                 break;\r
1621             case 21 :\r
1622                 // XPath.g:1:144: Colon\r
1623                 {\r
1624                 mColon(); \r
1625 \r
1626                 }\r
1627                 break;\r
1628             case 22 :\r
1629                 // XPath.g:1:150: QName\r
1630                 {\r
1631                 mQName(); \r
1632 \r
1633                 }\r
1634                 break;\r
1635             case 23 :\r
1636                 // XPath.g:1:156: WhiteSpaces\r
1637                 {\r
1638                 mWhiteSpaces(); \r
1639 \r
1640                 }\r
1641                 break;\r
1642 \r
1643         }\r
1644 \r
1645     }\r
1646 \r
1647 \r
1648     protected DFA18 dfa18 = new DFA18(this);\r
1649     static final String DFA18_eotS =\r
1650         "\1\uffff\1\27\3\uffff\1\30\1\24\1\33\1\35\1\24\6\uffff\2\41\7\uffff"+\r
1651         "\1\45\4\uffff\1\46\2\41\2\uffff\1\24\1\41\3\uffff\1\41\1\47\1\24"+\r
1652         "\1\47\2\24\1\47";\r
1653     static final String DFA18_eofS =\r
1654         "\57\uffff";\r
1655     static final String DFA18_minS =\r
1656         "\1\0\1\57\3\uffff\1\0\4\75\5\uffff\1\60\2\0\7\uffff\1\0\4\uffff"+\r
1657         "\1\0\2\56\1\uffff\1\0\1\53\1\0\3\uffff\1\56\1\0\1\60\1\0\1\53\1"+\r
1658         "\60\1\0";\r
1659     static final String DFA18_maxS =\r
1660         "\1\uffff\1\57\3\uffff\1\uffff\4\75\5\uffff\1\71\2\uffff\7\uffff"+\r
1661         "\1\uffff\4\uffff\1\uffff\2\145\1\uffff\1\uffff\1\71\1\uffff\3\uffff"+\r
1662         "\1\145\1\uffff\1\71\1\uffff\2\71\1\uffff";\r
1663     static final String DFA18_acceptS =\r
1664         "\2\uffff\1\3\1\4\1\5\5\uffff\1\15\1\16\1\17\1\20\1\21\3\uffff\1"+\r
1665         "\24\1\25\1\26\1\27\1\2\1\1\1\6\1\uffff\1\11\1\10\1\13\1\12\3\uffff"+\r
1666         "\1\22\3\uffff\1\7\1\14\1\23\7\uffff";\r
1667     static final String DFA18_specialS =\r
1668         "\1\3\4\uffff\1\10\12\uffff\1\7\1\2\7\uffff\1\0\4\uffff\1\12\3\uffff"+\r
1669         "\1\5\1\uffff\1\1\4\uffff\1\11\1\uffff\1\4\2\uffff\1\6}>";\r
1670     static final String[] DFA18_transitionS = {\r
1671             "\11\24\1\25\1\15\2\24\1\15\22\24\1\25\1\6\1\16\1\14\1\24\1"+\r
1672             "\uffff\1\24\1\uffff\1\12\1\13\1\uffff\1\24\1\22\1\17\1\uffff"+\r
1673             "\1\1\1\20\11\21\1\23\1\24\1\10\1\5\1\7\1\24\1\2\32\24\1\3\1"+\r
1674             "\uffff\1\4\35\24\3\uffff\1\11\uff81\24",\r
1675             "\1\26",\r
1676             "",\r
1677             "",\r
1678             "",\r
1679             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1680             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\24\1\uffff"+\r
1681             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24"+\r
1682             "\3\uffff\uff82\24",\r
1683             "\1\31",\r
1684             "\1\32",\r
1685             "\1\34",\r
1686             "\1\36",\r
1687             "",\r
1688             "",\r
1689             "",\r
1690             "",\r
1691             "",\r
1692             "\1\37\11\40",\r
1693             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1694             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\42\1\uffff\12\24\1\uffff"+\r
1695             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\4\24\1\43\25\24\3\uffff"+\r
1696             "\7\24\1\43\25\24\3\uffff\uff82\24",\r
1697             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1698             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\42\1\uffff\12\44\1\uffff"+\r
1699             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\4\24\1\43\25\24\3\uffff"+\r
1700             "\7\24\1\43\25\24\3\uffff\uff82\24",\r
1701             "",\r
1702             "",\r
1703             "",\r
1704             "",\r
1705             "",\r
1706             "",\r
1707             "",\r
1708             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1709             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\24\1\uffff"+\r
1710             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24"+\r
1711             "\3\uffff\uff82\24",\r
1712             "",\r
1713             "",\r
1714             "",\r
1715             "",\r
1716             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1717             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\24\1\uffff"+\r
1718             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24"+\r
1719             "\3\uffff\uff82\24",\r
1720             "\1\47\26\uffff\1\47\37\uffff\1\47",\r
1721             "\1\47\1\uffff\12\50\13\uffff\1\47\37\uffff\1\47",\r
1722             "",\r
1723             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1724             "\1\uffff\1\24\4\uffff\1\24\4\uffff\12\51\1\uffff\1\24\1\uffff"+\r
1725             "\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24\3\uffff\uff82"+\r
1726             "\24",\r
1727             "\1\52\1\uffff\1\47\2\uffff\12\53",\r
1728             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1729             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\42\1\uffff\12\44\1\uffff"+\r
1730             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\4\24\1\43\25\24\3\uffff"+\r
1731             "\7\24\1\43\25\24\3\uffff\uff82\24",\r
1732             "",\r
1733             "",\r
1734             "",\r
1735             "\1\47\1\uffff\12\50\13\uffff\1\47\37\uffff\1\47",\r
1736             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1737             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\51\1\uffff"+\r
1738             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\4\24\1\54\25\24\3\uffff"+\r
1739             "\7\24\1\54\25\24\3\uffff\uff82\24",\r
1740             "\12\53",\r
1741             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1742             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\53\1\uffff"+\r
1743             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24"+\r
1744             "\3\uffff\uff82\24",\r
1745             "\1\55\1\uffff\1\47\2\uffff\12\56",\r
1746             "\12\56",\r
1747             "\11\24\2\uffff\2\24\1\uffff\22\24\1\uffff\1\24\2\uffff\1\24"+\r
1748             "\1\uffff\1\24\4\uffff\1\24\2\uffff\1\24\1\uffff\12\56\1\uffff"+\r
1749             "\1\24\1\uffff\1\24\1\uffff\1\24\1\uffff\32\24\3\uffff\35\24"+\r
1750             "\3\uffff\uff82\24"\r
1751     };\r
1752 \r
1753     static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);\r
1754     static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);\r
1755     static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);\r
1756     static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);\r
1757     static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);\r
1758     static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);\r
1759     static final short[][] DFA18_transition;\r
1760 \r
1761     static {\r
1762         int numStates = DFA18_transitionS.length;\r
1763         DFA18_transition = new short[numStates][];\r
1764         for (int i=0; i<numStates; i++) {\r
1765             DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);\r
1766         }\r
1767     }\r
1768 \r
1769     class DFA18 extends DFA {\r
1770 \r
1771         public DFA18(BaseRecognizer recognizer) {\r
1772             this.recognizer = recognizer;\r
1773             this.decisionNumber = 18;\r
1774             this.eot = DFA18_eot;\r
1775             this.eof = DFA18_eof;\r
1776             this.min = DFA18_min;\r
1777             this.max = DFA18_max;\r
1778             this.accept = DFA18_accept;\r
1779             this.special = DFA18_special;\r
1780             this.transition = DFA18_transition;\r
1781         }\r
1782         public String getDescription() {\r
1783             return "1:1: Tokens : ( T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | LineComment | LineBreak | String | Integer | Double | Comma | Colon | QName | WhiteSpaces );";\r
1784         }\r
1785         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {\r
1786             IntStream input = _input;\r
1787                 int _s = s;\r
1788             switch ( s ) {\r
1789                     case 0 : \r
1790                         int LA18_25 = input.LA(1);\r
1791 \r
1792                         s = -1;\r
1793                         if ( ((LA18_25>='\u0000' && LA18_25<='\b')||(LA18_25>='\u000B' && LA18_25<='\f')||(LA18_25>='\u000E' && LA18_25<='\u001F')||LA18_25=='!'||LA18_25=='$'||LA18_25=='&'||LA18_25=='+'||LA18_25=='.'||(LA18_25>='0' && LA18_25<='9')||LA18_25==';'||LA18_25=='='||LA18_25=='?'||(LA18_25>='A' && LA18_25<='Z')||(LA18_25>='^' && LA18_25<='z')||(LA18_25>='~' && LA18_25<='\uFFFF')) ) {s = 20;}\r
1794 \r
1795                         else s = 37;\r
1796 \r
1797                         if ( s>=0 ) return s;\r
1798                         break;\r
1799                     case 1 : \r
1800                         int LA18_36 = input.LA(1);\r
1801 \r
1802                         s = -1;\r
1803                         if ( ((LA18_36>='0' && LA18_36<='9')) ) {s = 36;}\r
1804 \r
1805                         else if ( (LA18_36=='.') ) {s = 34;}\r
1806 \r
1807                         else if ( (LA18_36=='E'||LA18_36=='e') ) {s = 35;}\r
1808 \r
1809                         else if ( ((LA18_36>='\u0000' && LA18_36<='\b')||(LA18_36>='\u000B' && LA18_36<='\f')||(LA18_36>='\u000E' && LA18_36<='\u001F')||LA18_36=='!'||LA18_36=='$'||LA18_36=='&'||LA18_36=='+'||LA18_36==';'||LA18_36=='='||LA18_36=='?'||(LA18_36>='A' && LA18_36<='D')||(LA18_36>='F' && LA18_36<='Z')||(LA18_36>='^' && LA18_36<='d')||(LA18_36>='f' && LA18_36<='z')||(LA18_36>='~' && LA18_36<='\uFFFF')) ) {s = 20;}\r
1810 \r
1811                         else s = 33;\r
1812 \r
1813                         if ( s>=0 ) return s;\r
1814                         break;\r
1815                     case 2 : \r
1816                         int LA18_17 = input.LA(1);\r
1817 \r
1818                         s = -1;\r
1819                         if ( (LA18_17=='.') ) {s = 34;}\r
1820 \r
1821                         else if ( ((LA18_17>='0' && LA18_17<='9')) ) {s = 36;}\r
1822 \r
1823                         else if ( (LA18_17=='E'||LA18_17=='e') ) {s = 35;}\r
1824 \r
1825                         else if ( ((LA18_17>='\u0000' && LA18_17<='\b')||(LA18_17>='\u000B' && LA18_17<='\f')||(LA18_17>='\u000E' && LA18_17<='\u001F')||LA18_17=='!'||LA18_17=='$'||LA18_17=='&'||LA18_17=='+'||LA18_17==';'||LA18_17=='='||LA18_17=='?'||(LA18_17>='A' && LA18_17<='D')||(LA18_17>='F' && LA18_17<='Z')||(LA18_17>='^' && LA18_17<='d')||(LA18_17>='f' && LA18_17<='z')||(LA18_17>='~' && LA18_17<='\uFFFF')) ) {s = 20;}\r
1826 \r
1827                         else s = 33;\r
1828 \r
1829                         if ( s>=0 ) return s;\r
1830                         break;\r
1831                     case 3 : \r
1832                         int LA18_0 = input.LA(1);\r
1833 \r
1834                         s = -1;\r
1835                         if ( (LA18_0=='/') ) {s = 1;}\r
1836 \r
1837                         else if ( (LA18_0=='@') ) {s = 2;}\r
1838 \r
1839                         else if ( (LA18_0=='[') ) {s = 3;}\r
1840 \r
1841                         else if ( (LA18_0==']') ) {s = 4;}\r
1842 \r
1843                         else if ( (LA18_0=='=') ) {s = 5;}\r
1844 \r
1845                         else if ( (LA18_0=='!') ) {s = 6;}\r
1846 \r
1847                         else if ( (LA18_0=='>') ) {s = 7;}\r
1848 \r
1849                         else if ( (LA18_0=='<') ) {s = 8;}\r
1850 \r
1851                         else if ( (LA18_0=='~') ) {s = 9;}\r
1852 \r
1853                         else if ( (LA18_0=='(') ) {s = 10;}\r
1854 \r
1855                         else if ( (LA18_0==')') ) {s = 11;}\r
1856 \r
1857                         else if ( (LA18_0=='#') ) {s = 12;}\r
1858 \r
1859                         else if ( (LA18_0=='\n'||LA18_0=='\r') ) {s = 13;}\r
1860 \r
1861                         else if ( (LA18_0=='\"') ) {s = 14;}\r
1862 \r
1863                         else if ( (LA18_0=='-') ) {s = 15;}\r
1864 \r
1865                         else if ( (LA18_0=='0') ) {s = 16;}\r
1866 \r
1867                         else if ( ((LA18_0>='1' && LA18_0<='9')) ) {s = 17;}\r
1868 \r
1869                         else if ( (LA18_0==',') ) {s = 18;}\r
1870 \r
1871                         else if ( (LA18_0==':') ) {s = 19;}\r
1872 \r
1873                         else if ( ((LA18_0>='\u0000' && LA18_0<='\b')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\u001F')||LA18_0=='$'||LA18_0=='&'||LA18_0=='+'||LA18_0==';'||LA18_0=='?'||(LA18_0>='A' && LA18_0<='Z')||(LA18_0>='^' && LA18_0<='z')||(LA18_0>='\u007F' && LA18_0<='\uFFFF')) ) {s = 20;}\r
1874 \r
1875                         else if ( (LA18_0=='\t'||LA18_0==' ') ) {s = 21;}\r
1876 \r
1877                         if ( s>=0 ) return s;\r
1878                         break;\r
1879                     case 4 : \r
1880                         int LA18_43 = input.LA(1);\r
1881 \r
1882                         s = -1;\r
1883                         if ( ((LA18_43>='\u0000' && LA18_43<='\b')||(LA18_43>='\u000B' && LA18_43<='\f')||(LA18_43>='\u000E' && LA18_43<='\u001F')||LA18_43=='!'||LA18_43=='$'||LA18_43=='&'||LA18_43=='+'||LA18_43=='.'||LA18_43==';'||LA18_43=='='||LA18_43=='?'||(LA18_43>='A' && LA18_43<='Z')||(LA18_43>='^' && LA18_43<='z')||(LA18_43>='~' && LA18_43<='\uFFFF')) ) {s = 20;}\r
1884 \r
1885                         else if ( ((LA18_43>='0' && LA18_43<='9')) ) {s = 43;}\r
1886 \r
1887                         else s = 39;\r
1888 \r
1889                         if ( s>=0 ) return s;\r
1890                         break;\r
1891                     case 5 : \r
1892                         int LA18_34 = input.LA(1);\r
1893 \r
1894                         s = -1;\r
1895                         if ( ((LA18_34>='0' && LA18_34<='9')) ) {s = 41;}\r
1896 \r
1897                         else if ( ((LA18_34>='\u0000' && LA18_34<='\b')||(LA18_34>='\u000B' && LA18_34<='\f')||(LA18_34>='\u000E' && LA18_34<='\u001F')||LA18_34=='!'||LA18_34=='$'||LA18_34=='&'||LA18_34=='+'||LA18_34==';'||LA18_34=='='||LA18_34=='?'||(LA18_34>='A' && LA18_34<='Z')||(LA18_34>='^' && LA18_34<='z')||(LA18_34>='~' && LA18_34<='\uFFFF')) ) {s = 20;}\r
1898 \r
1899                         if ( s>=0 ) return s;\r
1900                         break;\r
1901                     case 6 : \r
1902                         int LA18_46 = input.LA(1);\r
1903 \r
1904                         s = -1;\r
1905                         if ( ((LA18_46>='\u0000' && LA18_46<='\b')||(LA18_46>='\u000B' && LA18_46<='\f')||(LA18_46>='\u000E' && LA18_46<='\u001F')||LA18_46=='!'||LA18_46=='$'||LA18_46=='&'||LA18_46=='+'||LA18_46=='.'||LA18_46==';'||LA18_46=='='||LA18_46=='?'||(LA18_46>='A' && LA18_46<='Z')||(LA18_46>='^' && LA18_46<='z')||(LA18_46>='~' && LA18_46<='\uFFFF')) ) {s = 20;}\r
1906 \r
1907                         else if ( ((LA18_46>='0' && LA18_46<='9')) ) {s = 46;}\r
1908 \r
1909                         else s = 39;\r
1910 \r
1911                         if ( s>=0 ) return s;\r
1912                         break;\r
1913                     case 7 : \r
1914                         int LA18_16 = input.LA(1);\r
1915 \r
1916                         s = -1;\r
1917                         if ( (LA18_16=='.') ) {s = 34;}\r
1918 \r
1919                         else if ( (LA18_16=='E'||LA18_16=='e') ) {s = 35;}\r
1920 \r
1921                         else if ( ((LA18_16>='\u0000' && LA18_16<='\b')||(LA18_16>='\u000B' && LA18_16<='\f')||(LA18_16>='\u000E' && LA18_16<='\u001F')||LA18_16=='!'||LA18_16=='$'||LA18_16=='&'||LA18_16=='+'||(LA18_16>='0' && LA18_16<='9')||LA18_16==';'||LA18_16=='='||LA18_16=='?'||(LA18_16>='A' && LA18_16<='D')||(LA18_16>='F' && LA18_16<='Z')||(LA18_16>='^' && LA18_16<='d')||(LA18_16>='f' && LA18_16<='z')||(LA18_16>='~' && LA18_16<='\uFFFF')) ) {s = 20;}\r
1922 \r
1923                         else s = 33;\r
1924 \r
1925                         if ( s>=0 ) return s;\r
1926                         break;\r
1927                     case 8 : \r
1928                         int LA18_5 = input.LA(1);\r
1929 \r
1930                         s = -1;\r
1931                         if ( ((LA18_5>='\u0000' && LA18_5<='\b')||(LA18_5>='\u000B' && LA18_5<='\f')||(LA18_5>='\u000E' && LA18_5<='\u001F')||LA18_5=='!'||LA18_5=='$'||LA18_5=='&'||LA18_5=='+'||LA18_5=='.'||(LA18_5>='0' && LA18_5<='9')||LA18_5==';'||LA18_5=='='||LA18_5=='?'||(LA18_5>='A' && LA18_5<='Z')||(LA18_5>='^' && LA18_5<='z')||(LA18_5>='~' && LA18_5<='\uFFFF')) ) {s = 20;}\r
1932 \r
1933                         else s = 24;\r
1934 \r
1935                         if ( s>=0 ) return s;\r
1936                         break;\r
1937                     case 9 : \r
1938                         int LA18_41 = input.LA(1);\r
1939 \r
1940                         s = -1;\r
1941                         if ( ((LA18_41>='\u0000' && LA18_41<='\b')||(LA18_41>='\u000B' && LA18_41<='\f')||(LA18_41>='\u000E' && LA18_41<='\u001F')||LA18_41=='!'||LA18_41=='$'||LA18_41=='&'||LA18_41=='+'||LA18_41=='.'||LA18_41==';'||LA18_41=='='||LA18_41=='?'||(LA18_41>='A' && LA18_41<='D')||(LA18_41>='F' && LA18_41<='Z')||(LA18_41>='^' && LA18_41<='d')||(LA18_41>='f' && LA18_41<='z')||(LA18_41>='~' && LA18_41<='\uFFFF')) ) {s = 20;}\r
1942 \r
1943                         else if ( (LA18_41=='E'||LA18_41=='e') ) {s = 44;}\r
1944 \r
1945                         else if ( ((LA18_41>='0' && LA18_41<='9')) ) {s = 41;}\r
1946 \r
1947                         else s = 39;\r
1948 \r
1949                         if ( s>=0 ) return s;\r
1950                         break;\r
1951                     case 10 : \r
1952                         int LA18_30 = input.LA(1);\r
1953 \r
1954                         s = -1;\r
1955                         if ( ((LA18_30>='\u0000' && LA18_30<='\b')||(LA18_30>='\u000B' && LA18_30<='\f')||(LA18_30>='\u000E' && LA18_30<='\u001F')||LA18_30=='!'||LA18_30=='$'||LA18_30=='&'||LA18_30=='+'||LA18_30=='.'||(LA18_30>='0' && LA18_30<='9')||LA18_30==';'||LA18_30=='='||LA18_30=='?'||(LA18_30>='A' && LA18_30<='Z')||(LA18_30>='^' && LA18_30<='z')||(LA18_30>='~' && LA18_30<='\uFFFF')) ) {s = 20;}\r
1956 \r
1957                         else s = 38;\r
1958 \r
1959                         if ( s>=0 ) return s;\r
1960                         break;\r
1961             }\r
1962             NoViableAltException nvae =\r
1963                 new NoViableAltException(getDescription(), 18, _s, input);\r
1964             error(nvae);\r
1965             throw nvae;\r
1966         }\r
1967     }\r
1968  \r
1969 \r
1970 }