1 // $ANTLR 3.1.3 Mar 17, 2009 19:23:44 XPath.g 2009-09-30 22:59:30
\r
3 /*--------------------------------------------------------------------------
\r
4 * Copyright 2009 Taro L. Saito
\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
10 * http://www.apache.org/licenses/LICENSE-2.0
\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
22 // Since: Aug 6, 2009 08:30:02 AM
\r
24 //--------------------------------------
\r
26 package org.xerial.lens.relation.query.impl;
\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
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
88 public XPathLexer() {;}
\r
89 public XPathLexer(CharStream input) {
\r
90 this(input, new RecognizerSharedState());
\r
92 public XPathLexer(CharStream input, RecognizerSharedState state) {
\r
96 public String getGrammarFileName() { return "XPath.g"; }
\r
98 // $ANTLR start "T__34"
\r
99 public final void mT__34() throws RecognitionException {
\r
102 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
103 // XPath.g:38:7: ( '/' )
\r
104 // XPath.g:38:9: '/'
\r
110 state.type = _type;
\r
111 state.channel = _channel;
\r
116 // $ANTLR end "T__34"
\r
118 // $ANTLR start "T__35"
\r
119 public final void mT__35() throws RecognitionException {
\r
122 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
123 // XPath.g:39:7: ( '//' )
\r
124 // XPath.g:39:9: '//'
\r
131 state.type = _type;
\r
132 state.channel = _channel;
\r
137 // $ANTLR end "T__35"
\r
139 // $ANTLR start "T__36"
\r
140 public final void mT__36() throws RecognitionException {
\r
143 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
144 // XPath.g:40:7: ( '@' )
\r
145 // XPath.g:40:9: '@'
\r
151 state.type = _type;
\r
152 state.channel = _channel;
\r
157 // $ANTLR end "T__36"
\r
159 // $ANTLR start "T__37"
\r
160 public final void mT__37() throws RecognitionException {
\r
163 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
164 // XPath.g:41:7: ( '[' )
\r
165 // XPath.g:41:9: '['
\r
171 state.type = _type;
\r
172 state.channel = _channel;
\r
177 // $ANTLR end "T__37"
\r
179 // $ANTLR start "T__38"
\r
180 public final void mT__38() throws RecognitionException {
\r
183 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
184 // XPath.g:42:7: ( ']' )
\r
185 // XPath.g:42:9: ']'
\r
191 state.type = _type;
\r
192 state.channel = _channel;
\r
197 // $ANTLR end "T__38"
\r
199 // $ANTLR start "T__39"
\r
200 public final void mT__39() throws RecognitionException {
\r
203 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
204 // XPath.g:43:7: ( '=' )
\r
205 // XPath.g:43:9: '='
\r
211 state.type = _type;
\r
212 state.channel = _channel;
\r
217 // $ANTLR end "T__39"
\r
219 // $ANTLR start "T__40"
\r
220 public final void mT__40() throws RecognitionException {
\r
223 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
224 // XPath.g:44:7: ( '!=' )
\r
225 // XPath.g:44:9: '!='
\r
232 state.type = _type;
\r
233 state.channel = _channel;
\r
238 // $ANTLR end "T__40"
\r
240 // $ANTLR start "T__41"
\r
241 public final void mT__41() throws RecognitionException {
\r
244 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
245 // XPath.g:45:7: ( '>' )
\r
246 // XPath.g:45:9: '>'
\r
252 state.type = _type;
\r
253 state.channel = _channel;
\r
258 // $ANTLR end "T__41"
\r
260 // $ANTLR start "T__42"
\r
261 public final void mT__42() throws RecognitionException {
\r
264 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
265 // XPath.g:46:7: ( '>=' )
\r
266 // XPath.g:46:9: '>='
\r
273 state.type = _type;
\r
274 state.channel = _channel;
\r
279 // $ANTLR end "T__42"
\r
281 // $ANTLR start "T__43"
\r
282 public final void mT__43() throws RecognitionException {
\r
285 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
286 // XPath.g:47:7: ( '<' )
\r
287 // XPath.g:47:9: '<'
\r
293 state.type = _type;
\r
294 state.channel = _channel;
\r
299 // $ANTLR end "T__43"
\r
301 // $ANTLR start "T__44"
\r
302 public final void mT__44() throws RecognitionException {
\r
305 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
306 // XPath.g:48:7: ( '<=' )
\r
307 // XPath.g:48:9: '<='
\r
314 state.type = _type;
\r
315 state.channel = _channel;
\r
320 // $ANTLR end "T__44"
\r
322 // $ANTLR start "T__45"
\r
323 public final void mT__45() throws RecognitionException {
\r
326 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
327 // XPath.g:49:7: ( '~=' )
\r
328 // XPath.g:49:9: '~='
\r
335 state.type = _type;
\r
336 state.channel = _channel;
\r
341 // $ANTLR end "T__45"
\r
343 // $ANTLR start "T__46"
\r
344 public final void mT__46() throws RecognitionException {
\r
347 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
348 // XPath.g:50:7: ( '(' )
\r
349 // XPath.g:50:9: '('
\r
355 state.type = _type;
\r
356 state.channel = _channel;
\r
361 // $ANTLR end "T__46"
\r
363 // $ANTLR start "T__47"
\r
364 public final void mT__47() throws RecognitionException {
\r
367 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
368 // XPath.g:51:7: ( ')' )
\r
369 // XPath.g:51:9: ')'
\r
375 state.type = _type;
\r
376 state.channel = _channel;
\r
381 // $ANTLR end "T__47"
\r
383 // $ANTLR start "LineBreakChar"
\r
384 public final void mLineBreakChar() throws RecognitionException {
\r
386 // XPath.g:111:23: ( '\\n' | '\\r' )
\r
389 if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
\r
394 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
405 // $ANTLR end "LineBreakChar"
\r
407 // $ANTLR start "LineComment"
\r
408 public final void mLineComment() throws RecognitionException {
\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
416 // XPath.g:112:18: (~ ( LineBreakChar ) )*
\r
420 int LA1_0 = input.LA(1);
\r
422 if ( ((LA1_0>='\u0000' && LA1_0<='\t')||(LA1_0>='\u000B' && LA1_0<='\f')||(LA1_0>='\u000E' && LA1_0<='\uFFFF')) ) {
\r
429 // XPath.g:112:18: ~ ( LineBreakChar )
\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
436 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
449 _channel = HIDDEN;
\r
453 state.type = _type;
\r
454 state.channel = _channel;
\r
459 // $ANTLR end "LineComment"
\r
461 // $ANTLR start "LineBreak"
\r
462 public final void mLineBreak() throws RecognitionException {
\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
469 // XPath.g:114:12: ( '\\r' '\\n' | '\\r' | '\\n' )
\r
471 int LA2_0 = input.LA(1);
\r
473 if ( (LA2_0=='\r') ) {
\r
474 int LA2_1 = input.LA(2);
\r
476 if ( (LA2_1=='\n') ) {
\r
482 else if ( (LA2_0=='\n') ) {
\r
486 NoViableAltException nvae =
\r
487 new NoViableAltException("", 2, 0, input);
\r
493 // XPath.g:114:13: '\\r' '\\n'
\r
501 // XPath.g:114:25: '\\r'
\r
508 // XPath.g:114:32: '\\n'
\r
517 _channel = HIDDEN;
\r
521 state.type = _type;
\r
522 state.channel = _channel;
\r
527 // $ANTLR end "LineBreak"
\r
529 // $ANTLR start "Digit"
\r
530 public final void mDigit() throws RecognitionException {
\r
532 // XPath.g:116:15: ( '0' .. '9' )
\r
533 // XPath.g:116:17: '0' .. '9'
\r
535 matchRange('0','9');
\r
543 // $ANTLR end "Digit"
\r
545 // $ANTLR start "Letter"
\r
546 public final void mLetter() throws RecognitionException {
\r
548 // XPath.g:117:16: ( 'A' .. 'F' | 'a' .. 'f' )
\r
551 if ( (input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
\r
556 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
567 // $ANTLR end "Letter"
\r
569 // $ANTLR start "HexDigit"
\r
570 public final void mHexDigit() throws RecognitionException {
\r
572 // XPath.g:118:18: ( Digit | Letter )
\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
580 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
591 // $ANTLR end "HexDigit"
\r
593 // $ANTLR start "UnicodeChar"
\r
594 public final void mUnicodeChar() throws RecognitionException {
\r
596 // XPath.g:119:21: (~ ( '\"' | '\\\\' ) )
\r
597 // XPath.g:119:23: ~ ( '\"' | '\\\\' )
\r
599 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
\r
604 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
615 // $ANTLR end "UnicodeChar"
\r
617 // $ANTLR start "EscapeSequence"
\r
618 public final void mEscapeSequence() throws RecognitionException {
\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
624 // XPath.g:121:10: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )
\r
626 switch ( input.LA(1) ) {
\r
673 NoViableAltException nvae =
\r
674 new NoViableAltException("", 3, 0, input);
\r
681 // XPath.g:121:11: '\\\"'
\r
688 // XPath.g:121:18: '\\\\'
\r
695 // XPath.g:121:25: '/'
\r
702 // XPath.g:121:31: 'b'
\r
709 // XPath.g:121:37: 'f'
\r
716 // XPath.g:121:43: 'n'
\r
723 // XPath.g:121:49: 'r'
\r
730 // XPath.g:121:55: 't'
\r
737 // XPath.g:121:61: 'u' HexDigit HexDigit HexDigit HexDigit
\r
757 // $ANTLR end "EscapeSequence"
\r
759 // $ANTLR start "StringChar"
\r
760 public final void mStringChar() throws RecognitionException {
\r
762 // XPath.g:124:21: ( UnicodeChar | EscapeSequence )
\r
764 int LA4_0 = input.LA(1);
\r
766 if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
\r
769 else if ( (LA4_0=='\\') ) {
\r
773 NoViableAltException nvae =
\r
774 new NoViableAltException("", 4, 0, input);
\r
780 // XPath.g:124:24: UnicodeChar
\r
787 // XPath.g:124:38: EscapeSequence
\r
789 mEscapeSequence();
\r
799 // $ANTLR end "StringChar"
\r
801 // $ANTLR start "StringChar_s"
\r
802 public final void mStringChar_s() throws RecognitionException {
\r
804 // XPath.g:125:22: ( ( StringChar )* )
\r
805 // XPath.g:125:24: ( StringChar )*
\r
807 // XPath.g:125:24: ( StringChar )*
\r
811 int LA5_0 = input.LA(1);
\r
813 if ( ((LA5_0>='\u0000' && LA5_0<='!')||(LA5_0>='#' && LA5_0<='\uFFFF')) ) {
\r
820 // XPath.g:125:24: StringChar
\r
839 // $ANTLR end "StringChar_s"
\r
841 // $ANTLR start "String"
\r
842 public final void mString() throws RecognitionException {
\r
844 int _type = String;
\r
845 int _channel = DEFAULT_TOKEN_CHANNEL;
\r
848 // XPath.g:127:7: ( '\"' s= StringChar_s '\"' )
\r
849 // XPath.g:127:9: '\"' s= StringChar_s '\"'
\r
852 int sStart355 = getCharIndex();
\r
854 s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart355, getCharIndex()-1);
\r
856 setText((s!=null?s.getText():null));
\r
860 state.type = _type;
\r
861 state.channel = _channel;
\r
866 // $ANTLR end "String"
\r
868 // $ANTLR start "Integer"
\r
869 public final void mInteger() throws RecognitionException {
\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
876 // XPath.g:129:10: ( '-' )?
\r
878 int LA6_0 = input.LA(1);
\r
880 if ( (LA6_0=='-') ) {
\r
885 // XPath.g:129:10: '-'
\r
894 // XPath.g:129:15: ( '0' | '1' .. '9' ( Digit )* )
\r
896 int LA8_0 = input.LA(1);
\r
898 if ( (LA8_0=='0') ) {
\r
901 else if ( ((LA8_0>='1' && LA8_0<='9')) ) {
\r
905 NoViableAltException nvae =
\r
906 new NoViableAltException("", 8, 0, input);
\r
912 // XPath.g:129:16: '0'
\r
919 // XPath.g:129:22: '1' .. '9' ( Digit )*
\r
921 matchRange('1','9');
\r
922 // XPath.g:129:31: ( Digit )*
\r
926 int LA7_0 = input.LA(1);
\r
928 if ( ((LA7_0>='0' && LA7_0<='9')) ) {
\r
935 // XPath.g:129:31: Digit
\r
956 state.type = _type;
\r
957 state.channel = _channel;
\r
962 // $ANTLR end "Integer"
\r
964 // $ANTLR start "Frac"
\r
965 public final void mFrac() throws RecognitionException {
\r
967 // XPath.g:130:14: ( '.' ( Digit )+ )
\r
968 // XPath.g:130:16: '.' ( Digit )+
\r
971 // XPath.g:130:20: ( Digit )+
\r
976 int LA9_0 = input.LA(1);
\r
978 if ( ((LA9_0>='0' && LA9_0<='9')) ) {
\r
985 // XPath.g:130:20: Digit
\r
993 if ( cnt9 >= 1 ) break loop9;
\r
994 EarlyExitException eee =
\r
995 new EarlyExitException(9, input);
\r
1008 // $ANTLR end "Frac"
\r
1010 // $ANTLR start "Exp"
\r
1011 public final void mExp() throws RecognitionException {
\r
1013 // XPath.g:131:13: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )
\r
1014 // XPath.g:131:15: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+
\r
1016 if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
\r
1021 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1025 // XPath.g:131:27: ( '+' | '-' )?
\r
1027 int LA10_0 = input.LA(1);
\r
1029 if ( (LA10_0=='+'||LA10_0=='-') ) {
\r
1036 if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
\r
1041 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1051 // XPath.g:131:40: ( Digit )+
\r
1056 int LA11_0 = input.LA(1);
\r
1058 if ( ((LA11_0>='0' && LA11_0<='9')) ) {
\r
1065 // XPath.g:131:40: Digit
\r
1073 if ( cnt11 >= 1 ) break loop11;
\r
1074 EarlyExitException eee =
\r
1075 new EarlyExitException(11, input);
\r
1088 // $ANTLR end "Exp"
\r
1090 // $ANTLR start "Double"
\r
1091 public final void mDouble() throws RecognitionException {
\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
1099 // XPath.g:132:17: ( Frac ( Exp )? | Exp )
\r
1101 int LA13_0 = input.LA(1);
\r
1103 if ( (LA13_0=='.') ) {
\r
1106 else if ( (LA13_0=='E'||LA13_0=='e') ) {
\r
1110 NoViableAltException nvae =
\r
1111 new NoViableAltException("", 13, 0, input);
\r
1117 // XPath.g:132:18: Frac ( Exp )?
\r
1120 // XPath.g:132:23: ( Exp )?
\r
1122 int LA12_0 = input.LA(1);
\r
1124 if ( (LA12_0=='E'||LA12_0=='e') ) {
\r
1129 // XPath.g:132:23: Exp
\r
1142 // XPath.g:132:30: Exp
\r
1154 state.type = _type;
\r
1155 state.channel = _channel;
\r
1160 // $ANTLR end "Double"
\r
1162 // $ANTLR start "Comma"
\r
1163 public final void mComma() throws RecognitionException {
\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
1174 state.type = _type;
\r
1175 state.channel = _channel;
\r
1180 // $ANTLR end "Comma"
\r
1182 // $ANTLR start "Colon"
\r
1183 public final void mColon() throws RecognitionException {
\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
1194 state.type = _type;
\r
1195 state.channel = _channel;
\r
1200 // $ANTLR end "Colon"
\r
1202 // $ANTLR start "UnsafeUnicodeChar"
\r
1203 public final void mUnsafeUnicodeChar() throws RecognitionException {
\r
1205 // XPath.g:142:18: ( '(' | ')' | '[' | ']' | '{' | '}' | ',' | ':' | '#' | '<' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' | '.' | '-' )
\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
1213 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1224 // $ANTLR end "UnsafeUnicodeChar"
\r
1226 // $ANTLR start "SafeFirstLetter"
\r
1227 public final void mSafeFirstLetter() throws RecognitionException {
\r
1229 // XPath.g:144:25: ( 'A' .. 'Z' | 'a' .. 'z' )
\r
1232 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
\r
1237 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1248 // $ANTLR end "SafeFirstLetter"
\r
1250 // $ANTLR start "SafeLetter"
\r
1251 public final void mSafeLetter() throws RecognitionException {
\r
1253 // XPath.g:145:20: ( SafeFirstLetter | '0' .. '9' | '-' | '_' )
\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
1261 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1272 // $ANTLR end "SafeLetter"
\r
1274 // $ANTLR start "QNameChar"
\r
1275 public final void mQNameChar() throws RecognitionException {
\r
1277 // XPath.g:147:19: (~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace | '/' | '//' ) )
\r
1278 // XPath.g:147:21: ~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace | '/' | '//' )
\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
1285 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1296 // $ANTLR end "QNameChar"
\r
1298 // $ANTLR start "QName"
\r
1299 public final void mQName() throws RecognitionException {
\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
1306 // XPath.g:148:8: ( QNameChar )+
\r
1311 int LA14_0 = input.LA(1);
\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
1320 // XPath.g:148:8: QNameChar
\r
1328 if ( cnt14 >= 1 ) break loop14;
\r
1329 EarlyExitException eee =
\r
1330 new EarlyExitException(14, input);
\r
1336 // XPath.g:148:19: ( '.' ( QNameChar )+ )*
\r
1340 int LA16_0 = input.LA(1);
\r
1342 if ( (LA16_0=='.') ) {
\r
1349 // XPath.g:148:20: '.' ( QNameChar )+
\r
1352 // XPath.g:148:24: ( QNameChar )+
\r
1357 int LA15_0 = input.LA(1);
\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
1366 // XPath.g:148:24: QNameChar
\r
1374 if ( cnt15 >= 1 ) break loop15;
\r
1375 EarlyExitException eee =
\r
1376 new EarlyExitException(15, input);
\r
1394 state.type = _type;
\r
1395 state.channel = _channel;
\r
1400 // $ANTLR end "QName"
\r
1402 // $ANTLR start "WhiteSpace"
\r
1403 public final void mWhiteSpace() throws RecognitionException {
\r
1405 // XPath.g:152:11: ( ' ' | '\\t' )
\r
1408 if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
\r
1413 MismatchedSetException mse = new MismatchedSetException(null,input);
\r
1424 // $ANTLR end "WhiteSpace"
\r
1426 // $ANTLR start "WhiteSpaces"
\r
1427 public final void mWhiteSpaces() throws RecognitionException {
\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
1434 // XPath.g:154:14: ( WhiteSpace )+
\r
1439 int LA17_0 = input.LA(1);
\r
1441 if ( (LA17_0=='\t'||LA17_0==' ') ) {
\r
1448 // XPath.g:154:14: WhiteSpace
\r
1456 if ( cnt17 >= 1 ) break loop17;
\r
1457 EarlyExitException eee =
\r
1458 new EarlyExitException(17, input);
\r
1464 _channel = HIDDEN;
\r
1468 state.type = _type;
\r
1469 state.channel = _channel;
\r
1474 // $ANTLR end "WhiteSpaces"
\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
1479 alt18 = dfa18.predict(input);
\r
1482 // XPath.g:1:10: T__34
\r
1489 // XPath.g:1:16: T__35
\r
1496 // XPath.g:1:22: T__36
\r
1503 // XPath.g:1:28: T__37
\r
1510 // XPath.g:1:34: T__38
\r
1517 // XPath.g:1:40: T__39
\r
1524 // XPath.g:1:46: T__40
\r
1531 // XPath.g:1:52: T__41
\r
1538 // XPath.g:1:58: T__42
\r
1545 // XPath.g:1:64: T__43
\r
1552 // XPath.g:1:70: T__44
\r
1559 // XPath.g:1:76: T__45
\r
1566 // XPath.g:1:82: T__46
\r
1573 // XPath.g:1:88: T__47
\r
1580 // XPath.g:1:94: LineComment
\r
1587 // XPath.g:1:106: LineBreak
\r
1594 // XPath.g:1:116: String
\r
1601 // XPath.g:1:123: Integer
\r
1608 // XPath.g:1:131: Double
\r
1615 // XPath.g:1:138: Comma
\r
1622 // XPath.g:1:144: Colon
\r
1629 // XPath.g:1:150: QName
\r
1636 // XPath.g:1:156: WhiteSpaces
\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
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
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
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
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
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
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
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
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
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
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
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
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
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
1769 class DFA18 extends DFA {
\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
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
1785 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
\r
1786 IntStream input = _input;
\r
1790 int LA18_25 = input.LA(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
1797 if ( s>=0 ) return s;
\r
1800 int LA18_36 = input.LA(1);
\r
1803 if ( ((LA18_36>='0' && LA18_36<='9')) ) {s = 36;}
\r
1805 else if ( (LA18_36=='.') ) {s = 34;}
\r
1807 else if ( (LA18_36=='E'||LA18_36=='e') ) {s = 35;}
\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
1813 if ( s>=0 ) return s;
\r
1816 int LA18_17 = input.LA(1);
\r
1819 if ( (LA18_17=='.') ) {s = 34;}
\r
1821 else if ( ((LA18_17>='0' && LA18_17<='9')) ) {s = 36;}
\r
1823 else if ( (LA18_17=='E'||LA18_17=='e') ) {s = 35;}
\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
1829 if ( s>=0 ) return s;
\r
1832 int LA18_0 = input.LA(1);
\r
1835 if ( (LA18_0=='/') ) {s = 1;}
\r
1837 else if ( (LA18_0=='@') ) {s = 2;}
\r
1839 else if ( (LA18_0=='[') ) {s = 3;}
\r
1841 else if ( (LA18_0==']') ) {s = 4;}
\r
1843 else if ( (LA18_0=='=') ) {s = 5;}
\r
1845 else if ( (LA18_0=='!') ) {s = 6;}
\r
1847 else if ( (LA18_0=='>') ) {s = 7;}
\r
1849 else if ( (LA18_0=='<') ) {s = 8;}
\r
1851 else if ( (LA18_0=='~') ) {s = 9;}
\r
1853 else if ( (LA18_0=='(') ) {s = 10;}
\r
1855 else if ( (LA18_0==')') ) {s = 11;}
\r
1857 else if ( (LA18_0=='#') ) {s = 12;}
\r
1859 else if ( (LA18_0=='\n'||LA18_0=='\r') ) {s = 13;}
\r
1861 else if ( (LA18_0=='\"') ) {s = 14;}
\r
1863 else if ( (LA18_0=='-') ) {s = 15;}
\r
1865 else if ( (LA18_0=='0') ) {s = 16;}
\r
1867 else if ( ((LA18_0>='1' && LA18_0<='9')) ) {s = 17;}
\r
1869 else if ( (LA18_0==',') ) {s = 18;}
\r
1871 else if ( (LA18_0==':') ) {s = 19;}
\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
1875 else if ( (LA18_0=='\t'||LA18_0==' ') ) {s = 21;}
\r
1877 if ( s>=0 ) return s;
\r
1880 int LA18_43 = input.LA(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
1885 else if ( ((LA18_43>='0' && LA18_43<='9')) ) {s = 43;}
\r
1889 if ( s>=0 ) return s;
\r
1892 int LA18_34 = input.LA(1);
\r
1895 if ( ((LA18_34>='0' && LA18_34<='9')) ) {s = 41;}
\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
1899 if ( s>=0 ) return s;
\r
1902 int LA18_46 = input.LA(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
1907 else if ( ((LA18_46>='0' && LA18_46<='9')) ) {s = 46;}
\r
1911 if ( s>=0 ) return s;
\r
1914 int LA18_16 = input.LA(1);
\r
1917 if ( (LA18_16=='.') ) {s = 34;}
\r
1919 else if ( (LA18_16=='E'||LA18_16=='e') ) {s = 35;}
\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
1925 if ( s>=0 ) return s;
\r
1928 int LA18_5 = input.LA(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
1935 if ( s>=0 ) return s;
\r
1938 int LA18_41 = input.LA(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
1943 else if ( (LA18_41=='E'||LA18_41=='e') ) {s = 44;}
\r
1945 else if ( ((LA18_41>='0' && LA18_41<='9')) ) {s = 41;}
\r
1949 if ( s>=0 ) return s;
\r
1952 int LA18_30 = input.LA(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
1959 if ( s>=0 ) return s;
\r
1962 NoViableAltException nvae =
\r
1963 new NoViableAltException(getDescription(), 18, _s, input);
\r