OSDN Git Service

git-svn-id: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core@3448 ae02f08e...
[xerial/xerial-core.git] / src / main / java / org / xerial / silk / schema / impl / SilkSchemaLexer.java
1 // $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkSchema.g 2009-07-07 12:10:46\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 // SilkSchemaLexer.java\r
22 // Since: Jun 28, 2009 1:00:02 PM\r
23 //\r
24 //--------------------------------------\r
25 \r
26 package org.xerial.silk.schema.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 import java.util.Map;\r
35 import java.util.HashMap;\r
36 public class SilkSchemaLexer extends Lexer {\r
37     public static final int Includes=46;\r
38     public static final int RBrace=31;\r
39     public static final int NonWhiteSpaceChar=42;\r
40     public static final int LBracket=32;\r
41     public static final int Class=45;\r
42     public static final int SymbolChars=43;\r
43     public static final int Digit=18;\r
44     public static final int Frac=27;\r
45     public static final int HexDigit=20;\r
46     public static final int Symbol=44;\r
47     public static final int Index=49;\r
48     public static final int Module=5;\r
49     public static final int Letter=19;\r
50     public static final int Comma=37;\r
51     public static final int Attribute=10;\r
52     public static final int Schema=4;\r
53     public static final int Dot=36;\r
54     public static final int End=47;\r
55     public static final int EscapeSequence=22;\r
56     public static final int DefaultValue=13;\r
57     public static final int Integer=26;\r
58     public static final int Relation=48;\r
59     public static final int Mixin=9;\r
60     public static final int WhiteSpace=56;\r
61     public static final int ClassDef=6;\r
62     public static final int LineComment=16;\r
63     public static final int ModuleName=53;\r
64     public static final int BelongsTo=50;\r
65     public static final int SafeFirstLetter=51;\r
66     public static final int Star=40;\r
67     public static final int Eq=35;\r
68     public static final int Preamble=15;\r
69     public static final int Exp=28;\r
70     public static final int QNameChar=57;\r
71     public static final int RParen=39;\r
72     public static final int UnicodeChar=21;\r
73     public static final int StringChar=23;\r
74     public static final int LineBreak=17;\r
75     public static final int Name=7;\r
76     public static final int LParen=38;\r
77     public static final int ModuleDef=55;\r
78     public static final int String=25;\r
79     public static final int SafeLetter=52;\r
80     public static final int LineBreakChar=14;\r
81     public static final int IsArray=11;\r
82     public static final int QName=58;\r
83     public static final int EOF=-1;\r
84     public static final int StringChar_s=24;\r
85     public static final int UnsafeUnicodeChar=41;\r
86     public static final int LBrace=30;\r
87     public static final int Double=29;\r
88     public static final int Lt=34;\r
89     public static final int RBracket=33;\r
90     public static final int Parent=8;\r
91     public static final int TypeName=12;\r
92     public static final int WhiteSpaces=54;\r
93 \r
94       \r
95 \r
96 \r
97     // delegates\r
98     // delegators\r
99 \r
100     public SilkSchemaLexer() {;} \r
101     public SilkSchemaLexer(CharStream input) {\r
102         this(input, new RecognizerSharedState());\r
103     }\r
104     public SilkSchemaLexer(CharStream input, RecognizerSharedState state) {\r
105         super(input,state);\r
106 \r
107     }\r
108     public String getGrammarFileName() { return "SilkSchema.g"; }\r
109 \r
110     // $ANTLR start "Preamble"\r
111     public final void mPreamble() throws RecognitionException {\r
112         try {\r
113             int _type = Preamble;\r
114             int _channel = DEFAULT_TOKEN_CHANNEL;\r
115             // SilkSchema.g:109:9: ({...}? => '%' (~ ( LineBreakChar ) )* )\r
116             // SilkSchema.g:109:11: {...}? => '%' (~ ( LineBreakChar ) )*\r
117             {\r
118             if ( !(( getCharPositionInLine() == 0 )) ) {\r
119                 if (state.backtracking>0) {state.failed=true; return ;}\r
120                 throw new FailedPredicateException(input, "Preamble", " getCharPositionInLine() == 0 ");\r
121             }\r
122             match('%'); if (state.failed) return ;\r
123             // SilkSchema.g:109:52: (~ ( LineBreakChar ) )*\r
124             loop1:\r
125             do {\r
126                 int alt1=2;\r
127                 int LA1_0 = input.LA(1);\r
128 \r
129                 if ( ((LA1_0>='\u0000' && LA1_0<='\t')||(LA1_0>='\u000B' && LA1_0<='\f')||(LA1_0>='\u000E' && LA1_0<='\uFFFF')) ) {\r
130                     alt1=1;\r
131                 }\r
132 \r
133 \r
134                 switch (alt1) {\r
135                 case 1 :\r
136                     // SilkSchema.g:109:52: ~ ( LineBreakChar )\r
137                     {\r
138                     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
139                         input.consume();\r
140                     state.failed=false;\r
141                     }\r
142                     else {\r
143                         if (state.backtracking>0) {state.failed=true; return ;}\r
144                         MismatchedSetException mse = new MismatchedSetException(null,input);\r
145                         recover(mse);\r
146                         throw mse;}\r
147 \r
148 \r
149                     }\r
150                     break;\r
151 \r
152                 default :\r
153                     break loop1;\r
154                 }\r
155             } while (true);\r
156 \r
157 \r
158             }\r
159 \r
160             state.type = _type;\r
161             state.channel = _channel;\r
162         }\r
163         finally {\r
164         }\r
165     }\r
166     // $ANTLR end "Preamble"\r
167 \r
168     // $ANTLR start "LineBreakChar"\r
169     public final void mLineBreakChar() throws RecognitionException {\r
170         try {\r
171             // SilkSchema.g:112:23: ( '\\n' | '\\r' )\r
172             // SilkSchema.g:\r
173             {\r
174             if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {\r
175                 input.consume();\r
176             state.failed=false;\r
177             }\r
178             else {\r
179                 if (state.backtracking>0) {state.failed=true; return ;}\r
180                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
181                 recover(mse);\r
182                 throw mse;}\r
183 \r
184 \r
185             }\r
186 \r
187         }\r
188         finally {\r
189         }\r
190     }\r
191     // $ANTLR end "LineBreakChar"\r
192 \r
193     // $ANTLR start "LineComment"\r
194     public final void mLineComment() throws RecognitionException {\r
195         try {\r
196             int _type = LineComment;\r
197             int _channel = DEFAULT_TOKEN_CHANNEL;\r
198             // SilkSchema.g:113:12: ( '#' (~ ( LineBreakChar ) )* )\r
199             // SilkSchema.g:113:14: '#' (~ ( LineBreakChar ) )*\r
200             {\r
201             match('#'); if (state.failed) return ;\r
202             // SilkSchema.g:113:18: (~ ( LineBreakChar ) )*\r
203             loop2:\r
204             do {\r
205                 int alt2=2;\r
206                 int LA2_0 = input.LA(1);\r
207 \r
208                 if ( ((LA2_0>='\u0000' && LA2_0<='\t')||(LA2_0>='\u000B' && LA2_0<='\f')||(LA2_0>='\u000E' && LA2_0<='\uFFFF')) ) {\r
209                     alt2=1;\r
210                 }\r
211 \r
212 \r
213                 switch (alt2) {\r
214                 case 1 :\r
215                     // SilkSchema.g:113:18: ~ ( LineBreakChar )\r
216                     {\r
217                     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
218                         input.consume();\r
219                     state.failed=false;\r
220                     }\r
221                     else {\r
222                         if (state.backtracking>0) {state.failed=true; return ;}\r
223                         MismatchedSetException mse = new MismatchedSetException(null,input);\r
224                         recover(mse);\r
225                         throw mse;}\r
226 \r
227 \r
228                     }\r
229                     break;\r
230 \r
231                 default :\r
232                     break loop2;\r
233                 }\r
234             } while (true);\r
235 \r
236             if ( state.backtracking==0 ) {\r
237                _channel = HIDDEN; \r
238             }\r
239 \r
240             }\r
241 \r
242             state.type = _type;\r
243             state.channel = _channel;\r
244         }\r
245         finally {\r
246         }\r
247     }\r
248     // $ANTLR end "LineComment"\r
249 \r
250     // $ANTLR start "LineBreak"\r
251     public final void mLineBreak() throws RecognitionException {\r
252         try {\r
253             int _type = LineBreak;\r
254             int _channel = DEFAULT_TOKEN_CHANNEL;\r
255             // SilkSchema.g:116:10: ( ( '\\r' '\\n' | '\\r' | '\\n' ) )\r
256             // SilkSchema.g:116:12: ( '\\r' '\\n' | '\\r' | '\\n' )\r
257             {\r
258             // SilkSchema.g:116:12: ( '\\r' '\\n' | '\\r' | '\\n' )\r
259             int alt3=3;\r
260             int LA3_0 = input.LA(1);\r
261 \r
262             if ( (LA3_0=='\r') ) {\r
263                 int LA3_1 = input.LA(2);\r
264 \r
265                 if ( (LA3_1=='\n') ) {\r
266                     alt3=1;\r
267                 }\r
268                 else {\r
269                     alt3=2;}\r
270             }\r
271             else if ( (LA3_0=='\n') ) {\r
272                 alt3=3;\r
273             }\r
274             else {\r
275                 if (state.backtracking>0) {state.failed=true; return ;}\r
276                 NoViableAltException nvae =\r
277                     new NoViableAltException("", 3, 0, input);\r
278 \r
279                 throw nvae;\r
280             }\r
281             switch (alt3) {\r
282                 case 1 :\r
283                     // SilkSchema.g:116:13: '\\r' '\\n'\r
284                     {\r
285                     match('\r'); if (state.failed) return ;\r
286                     match('\n'); if (state.failed) return ;\r
287 \r
288                     }\r
289                     break;\r
290                 case 2 :\r
291                     // SilkSchema.g:116:25: '\\r'\r
292                     {\r
293                     match('\r'); if (state.failed) return ;\r
294 \r
295                     }\r
296                     break;\r
297                 case 3 :\r
298                     // SilkSchema.g:116:32: '\\n'\r
299                     {\r
300                     match('\n'); if (state.failed) return ;\r
301 \r
302                     }\r
303                     break;\r
304 \r
305             }\r
306 \r
307             if ( state.backtracking==0 ) {\r
308                _channel = HIDDEN; \r
309             }\r
310 \r
311             }\r
312 \r
313             state.type = _type;\r
314             state.channel = _channel;\r
315         }\r
316         finally {\r
317         }\r
318     }\r
319     // $ANTLR end "LineBreak"\r
320 \r
321     // $ANTLR start "Digit"\r
322     public final void mDigit() throws RecognitionException {\r
323         try {\r
324             // SilkSchema.g:119:15: ( '0' .. '9' )\r
325             // SilkSchema.g:119:17: '0' .. '9'\r
326             {\r
327             matchRange('0','9'); if (state.failed) return ;\r
328 \r
329             }\r
330 \r
331         }\r
332         finally {\r
333         }\r
334     }\r
335     // $ANTLR end "Digit"\r
336 \r
337     // $ANTLR start "Letter"\r
338     public final void mLetter() throws RecognitionException {\r
339         try {\r
340             // SilkSchema.g:120:16: ( 'A' .. 'F' | 'a' .. 'f' )\r
341             // SilkSchema.g:\r
342             {\r
343             if ( (input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {\r
344                 input.consume();\r
345             state.failed=false;\r
346             }\r
347             else {\r
348                 if (state.backtracking>0) {state.failed=true; return ;}\r
349                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
350                 recover(mse);\r
351                 throw mse;}\r
352 \r
353 \r
354             }\r
355 \r
356         }\r
357         finally {\r
358         }\r
359     }\r
360     // $ANTLR end "Letter"\r
361 \r
362     // $ANTLR start "HexDigit"\r
363     public final void mHexDigit() throws RecognitionException {\r
364         try {\r
365             // SilkSchema.g:121:18: ( Digit | Letter )\r
366             // SilkSchema.g:\r
367             {\r
368             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
369                 input.consume();\r
370             state.failed=false;\r
371             }\r
372             else {\r
373                 if (state.backtracking>0) {state.failed=true; return ;}\r
374                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
375                 recover(mse);\r
376                 throw mse;}\r
377 \r
378 \r
379             }\r
380 \r
381         }\r
382         finally {\r
383         }\r
384     }\r
385     // $ANTLR end "HexDigit"\r
386 \r
387     // $ANTLR start "UnicodeChar"\r
388     public final void mUnicodeChar() throws RecognitionException {\r
389         try {\r
390             // SilkSchema.g:122:21: (~ ( '\"' | '\\\\' ) )\r
391             // SilkSchema.g:122:23: ~ ( '\"' | '\\\\' )\r
392             {\r
393             if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {\r
394                 input.consume();\r
395             state.failed=false;\r
396             }\r
397             else {\r
398                 if (state.backtracking>0) {state.failed=true; return ;}\r
399                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
400                 recover(mse);\r
401                 throw mse;}\r
402 \r
403 \r
404             }\r
405 \r
406         }\r
407         finally {\r
408         }\r
409     }\r
410     // $ANTLR end "UnicodeChar"\r
411 \r
412     // $ANTLR start "EscapeSequence"\r
413     public final void mEscapeSequence() throws RecognitionException {\r
414         try {\r
415             // SilkSchema.g:124:3: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) )\r
416             // SilkSchema.g:124:5: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
417             {\r
418             match('\\'); if (state.failed) return ;\r
419             // SilkSchema.g:124:10: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
420             int alt4=9;\r
421             switch ( input.LA(1) ) {\r
422             case '\"':\r
423                 {\r
424                 alt4=1;\r
425                 }\r
426                 break;\r
427             case '\\':\r
428                 {\r
429                 alt4=2;\r
430                 }\r
431                 break;\r
432             case '/':\r
433                 {\r
434                 alt4=3;\r
435                 }\r
436                 break;\r
437             case 'b':\r
438                 {\r
439                 alt4=4;\r
440                 }\r
441                 break;\r
442             case 'f':\r
443                 {\r
444                 alt4=5;\r
445                 }\r
446                 break;\r
447             case 'n':\r
448                 {\r
449                 alt4=6;\r
450                 }\r
451                 break;\r
452             case 'r':\r
453                 {\r
454                 alt4=7;\r
455                 }\r
456                 break;\r
457             case 't':\r
458                 {\r
459                 alt4=8;\r
460                 }\r
461                 break;\r
462             case 'u':\r
463                 {\r
464                 alt4=9;\r
465                 }\r
466                 break;\r
467             default:\r
468                 if (state.backtracking>0) {state.failed=true; return ;}\r
469                 NoViableAltException nvae =\r
470                     new NoViableAltException("", 4, 0, input);\r
471 \r
472                 throw nvae;\r
473             }\r
474 \r
475             switch (alt4) {\r
476                 case 1 :\r
477                     // SilkSchema.g:124:11: '\\\"'\r
478                     {\r
479                     match('\"'); if (state.failed) return ;\r
480 \r
481                     }\r
482                     break;\r
483                 case 2 :\r
484                     // SilkSchema.g:124:18: '\\\\'\r
485                     {\r
486                     match('\\'); if (state.failed) return ;\r
487 \r
488                     }\r
489                     break;\r
490                 case 3 :\r
491                     // SilkSchema.g:124:25: '/'\r
492                     {\r
493                     match('/'); if (state.failed) return ;\r
494 \r
495                     }\r
496                     break;\r
497                 case 4 :\r
498                     // SilkSchema.g:124:31: 'b'\r
499                     {\r
500                     match('b'); if (state.failed) return ;\r
501 \r
502                     }\r
503                     break;\r
504                 case 5 :\r
505                     // SilkSchema.g:124:37: 'f'\r
506                     {\r
507                     match('f'); if (state.failed) return ;\r
508 \r
509                     }\r
510                     break;\r
511                 case 6 :\r
512                     // SilkSchema.g:124:43: 'n'\r
513                     {\r
514                     match('n'); if (state.failed) return ;\r
515 \r
516                     }\r
517                     break;\r
518                 case 7 :\r
519                     // SilkSchema.g:124:49: 'r'\r
520                     {\r
521                     match('r'); if (state.failed) return ;\r
522 \r
523                     }\r
524                     break;\r
525                 case 8 :\r
526                     // SilkSchema.g:124:55: 't'\r
527                     {\r
528                     match('t'); if (state.failed) return ;\r
529 \r
530                     }\r
531                     break;\r
532                 case 9 :\r
533                     // SilkSchema.g:124:61: 'u' HexDigit HexDigit HexDigit HexDigit\r
534                     {\r
535                     match('u'); if (state.failed) return ;\r
536                     mHexDigit(); if (state.failed) return ;\r
537                     mHexDigit(); if (state.failed) return ;\r
538                     mHexDigit(); if (state.failed) return ;\r
539                     mHexDigit(); if (state.failed) return ;\r
540 \r
541                     }\r
542                     break;\r
543 \r
544             }\r
545 \r
546 \r
547             }\r
548 \r
549         }\r
550         finally {\r
551         }\r
552     }\r
553     // $ANTLR end "EscapeSequence"\r
554 \r
555     // $ANTLR start "StringChar"\r
556     public final void mStringChar() throws RecognitionException {\r
557         try {\r
558             // SilkSchema.g:127:21: ( UnicodeChar | EscapeSequence )\r
559             int alt5=2;\r
560             int LA5_0 = input.LA(1);\r
561 \r
562             if ( ((LA5_0>='\u0000' && LA5_0<='!')||(LA5_0>='#' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {\r
563                 alt5=1;\r
564             }\r
565             else if ( (LA5_0=='\\') ) {\r
566                 alt5=2;\r
567             }\r
568             else {\r
569                 if (state.backtracking>0) {state.failed=true; return ;}\r
570                 NoViableAltException nvae =\r
571                     new NoViableAltException("", 5, 0, input);\r
572 \r
573                 throw nvae;\r
574             }\r
575             switch (alt5) {\r
576                 case 1 :\r
577                     // SilkSchema.g:127:24: UnicodeChar\r
578                     {\r
579                     mUnicodeChar(); if (state.failed) return ;\r
580 \r
581                     }\r
582                     break;\r
583                 case 2 :\r
584                     // SilkSchema.g:127:38: EscapeSequence\r
585                     {\r
586                     mEscapeSequence(); if (state.failed) return ;\r
587 \r
588                     }\r
589                     break;\r
590 \r
591             }\r
592         }\r
593         finally {\r
594         }\r
595     }\r
596     // $ANTLR end "StringChar"\r
597 \r
598     // $ANTLR start "StringChar_s"\r
599     public final void mStringChar_s() throws RecognitionException {\r
600         try {\r
601             // SilkSchema.g:128:22: ( ( StringChar )* )\r
602             // SilkSchema.g:128:24: ( StringChar )*\r
603             {\r
604             // SilkSchema.g:128:24: ( StringChar )*\r
605             loop6:\r
606             do {\r
607                 int alt6=2;\r
608                 int LA6_0 = input.LA(1);\r
609 \r
610                 if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='\uFFFF')) ) {\r
611                     alt6=1;\r
612                 }\r
613 \r
614 \r
615                 switch (alt6) {\r
616                 case 1 :\r
617                     // SilkSchema.g:128:24: StringChar\r
618                     {\r
619                     mStringChar(); if (state.failed) return ;\r
620 \r
621                     }\r
622                     break;\r
623 \r
624                 default :\r
625                     break loop6;\r
626                 }\r
627             } while (true);\r
628 \r
629 \r
630             }\r
631 \r
632         }\r
633         finally {\r
634         }\r
635     }\r
636     // $ANTLR end "StringChar_s"\r
637 \r
638     // $ANTLR start "String"\r
639     public final void mString() throws RecognitionException {\r
640         try {\r
641             int _type = String;\r
642             int _channel = DEFAULT_TOKEN_CHANNEL;\r
643             Token s=null;\r
644 \r
645             // SilkSchema.g:130:7: ( '\"' s= StringChar_s '\"' )\r
646             // SilkSchema.g:130:9: '\"' s= StringChar_s '\"'\r
647             {\r
648             match('\"'); if (state.failed) return ;\r
649             int sStart264 = getCharIndex();\r
650             mStringChar_s(); if (state.failed) return ;\r
651             s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart264, getCharIndex()-1);\r
652             match('\"'); if (state.failed) return ;\r
653             if ( state.backtracking==0 ) {\r
654                setText((s!=null?s.getText():null)); \r
655             }\r
656 \r
657             }\r
658 \r
659             state.type = _type;\r
660             state.channel = _channel;\r
661         }\r
662         finally {\r
663         }\r
664     }\r
665     // $ANTLR end "String"\r
666 \r
667     // $ANTLR start "Integer"\r
668     public final void mInteger() throws RecognitionException {\r
669         try {\r
670             int _type = Integer;\r
671             int _channel = DEFAULT_TOKEN_CHANNEL;\r
672             // SilkSchema.g:133:8: ( ( '-' )? ( '0' | '1' .. '9' ( Digit )* ) )\r
673             // SilkSchema.g:133:10: ( '-' )? ( '0' | '1' .. '9' ( Digit )* )\r
674             {\r
675             // SilkSchema.g:133:10: ( '-' )?\r
676             int alt7=2;\r
677             int LA7_0 = input.LA(1);\r
678 \r
679             if ( (LA7_0=='-') ) {\r
680                 alt7=1;\r
681             }\r
682             switch (alt7) {\r
683                 case 1 :\r
684                     // SilkSchema.g:133:10: '-'\r
685                     {\r
686                     match('-'); if (state.failed) return ;\r
687 \r
688                     }\r
689                     break;\r
690 \r
691             }\r
692 \r
693             // SilkSchema.g:133:15: ( '0' | '1' .. '9' ( Digit )* )\r
694             int alt9=2;\r
695             int LA9_0 = input.LA(1);\r
696 \r
697             if ( (LA9_0=='0') ) {\r
698                 alt9=1;\r
699             }\r
700             else if ( ((LA9_0>='1' && LA9_0<='9')) ) {\r
701                 alt9=2;\r
702             }\r
703             else {\r
704                 if (state.backtracking>0) {state.failed=true; return ;}\r
705                 NoViableAltException nvae =\r
706                     new NoViableAltException("", 9, 0, input);\r
707 \r
708                 throw nvae;\r
709             }\r
710             switch (alt9) {\r
711                 case 1 :\r
712                     // SilkSchema.g:133:16: '0'\r
713                     {\r
714                     match('0'); if (state.failed) return ;\r
715 \r
716                     }\r
717                     break;\r
718                 case 2 :\r
719                     // SilkSchema.g:133:22: '1' .. '9' ( Digit )*\r
720                     {\r
721                     matchRange('1','9'); if (state.failed) return ;\r
722                     // SilkSchema.g:133:31: ( Digit )*\r
723                     loop8:\r
724                     do {\r
725                         int alt8=2;\r
726                         int LA8_0 = input.LA(1);\r
727 \r
728                         if ( ((LA8_0>='0' && LA8_0<='9')) ) {\r
729                             alt8=1;\r
730                         }\r
731 \r
732 \r
733                         switch (alt8) {\r
734                         case 1 :\r
735                             // SilkSchema.g:133:31: Digit\r
736                             {\r
737                             mDigit(); if (state.failed) return ;\r
738 \r
739                             }\r
740                             break;\r
741 \r
742                         default :\r
743                             break loop8;\r
744                         }\r
745                     } while (true);\r
746 \r
747 \r
748                     }\r
749                     break;\r
750 \r
751             }\r
752 \r
753 \r
754             }\r
755 \r
756             state.type = _type;\r
757             state.channel = _channel;\r
758         }\r
759         finally {\r
760         }\r
761     }\r
762     // $ANTLR end "Integer"\r
763 \r
764     // $ANTLR start "Frac"\r
765     public final void mFrac() throws RecognitionException {\r
766         try {\r
767             // SilkSchema.g:134:14: ( '.' ( Digit )+ )\r
768             // SilkSchema.g:134:16: '.' ( Digit )+\r
769             {\r
770             match('.'); if (state.failed) return ;\r
771             // SilkSchema.g:134:20: ( Digit )+\r
772             int cnt10=0;\r
773             loop10:\r
774             do {\r
775                 int alt10=2;\r
776                 int LA10_0 = input.LA(1);\r
777 \r
778                 if ( ((LA10_0>='0' && LA10_0<='9')) ) {\r
779                     alt10=1;\r
780                 }\r
781 \r
782 \r
783                 switch (alt10) {\r
784                 case 1 :\r
785                     // SilkSchema.g:134:20: Digit\r
786                     {\r
787                     mDigit(); if (state.failed) return ;\r
788 \r
789                     }\r
790                     break;\r
791 \r
792                 default :\r
793                     if ( cnt10 >= 1 ) break loop10;\r
794                     if (state.backtracking>0) {state.failed=true; return ;}\r
795                         EarlyExitException eee =\r
796                             new EarlyExitException(10, input);\r
797                         throw eee;\r
798                 }\r
799                 cnt10++;\r
800             } while (true);\r
801 \r
802 \r
803             }\r
804 \r
805         }\r
806         finally {\r
807         }\r
808     }\r
809     // $ANTLR end "Frac"\r
810 \r
811     // $ANTLR start "Exp"\r
812     public final void mExp() throws RecognitionException {\r
813         try {\r
814             // SilkSchema.g:135:13: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )\r
815             // SilkSchema.g:135:15: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+\r
816             {\r
817             if ( input.LA(1)=='E'||input.LA(1)=='e' ) {\r
818                 input.consume();\r
819             state.failed=false;\r
820             }\r
821             else {\r
822                 if (state.backtracking>0) {state.failed=true; return ;}\r
823                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
824                 recover(mse);\r
825                 throw mse;}\r
826 \r
827             // SilkSchema.g:135:27: ( '+' | '-' )?\r
828             int alt11=2;\r
829             int LA11_0 = input.LA(1);\r
830 \r
831             if ( (LA11_0=='+'||LA11_0=='-') ) {\r
832                 alt11=1;\r
833             }\r
834             switch (alt11) {\r
835                 case 1 :\r
836                     // SilkSchema.g:\r
837                     {\r
838                     if ( input.LA(1)=='+'||input.LA(1)=='-' ) {\r
839                         input.consume();\r
840                     state.failed=false;\r
841                     }\r
842                     else {\r
843                         if (state.backtracking>0) {state.failed=true; return ;}\r
844                         MismatchedSetException mse = new MismatchedSetException(null,input);\r
845                         recover(mse);\r
846                         throw mse;}\r
847 \r
848 \r
849                     }\r
850                     break;\r
851 \r
852             }\r
853 \r
854             // SilkSchema.g:135:40: ( Digit )+\r
855             int cnt12=0;\r
856             loop12:\r
857             do {\r
858                 int alt12=2;\r
859                 int LA12_0 = input.LA(1);\r
860 \r
861                 if ( ((LA12_0>='0' && LA12_0<='9')) ) {\r
862                     alt12=1;\r
863                 }\r
864 \r
865 \r
866                 switch (alt12) {\r
867                 case 1 :\r
868                     // SilkSchema.g:135:40: Digit\r
869                     {\r
870                     mDigit(); if (state.failed) return ;\r
871 \r
872                     }\r
873                     break;\r
874 \r
875                 default :\r
876                     if ( cnt12 >= 1 ) break loop12;\r
877                     if (state.backtracking>0) {state.failed=true; return ;}\r
878                         EarlyExitException eee =\r
879                             new EarlyExitException(12, input);\r
880                         throw eee;\r
881                 }\r
882                 cnt12++;\r
883             } while (true);\r
884 \r
885 \r
886             }\r
887 \r
888         }\r
889         finally {\r
890         }\r
891     }\r
892     // $ANTLR end "Exp"\r
893 \r
894     // $ANTLR start "Double"\r
895     public final void mDouble() throws RecognitionException {\r
896         try {\r
897             int _type = Double;\r
898             int _channel = DEFAULT_TOKEN_CHANNEL;\r
899             // SilkSchema.g:136:7: ( Integer ( Frac ( Exp )? | Exp ) )\r
900             // SilkSchema.g:136:9: Integer ( Frac ( Exp )? | Exp )\r
901             {\r
902             mInteger(); if (state.failed) return ;\r
903             // SilkSchema.g:136:17: ( Frac ( Exp )? | Exp )\r
904             int alt14=2;\r
905             int LA14_0 = input.LA(1);\r
906 \r
907             if ( (LA14_0=='.') ) {\r
908                 alt14=1;\r
909             }\r
910             else if ( (LA14_0=='E'||LA14_0=='e') ) {\r
911                 alt14=2;\r
912             }\r
913             else {\r
914                 if (state.backtracking>0) {state.failed=true; return ;}\r
915                 NoViableAltException nvae =\r
916                     new NoViableAltException("", 14, 0, input);\r
917 \r
918                 throw nvae;\r
919             }\r
920             switch (alt14) {\r
921                 case 1 :\r
922                     // SilkSchema.g:136:18: Frac ( Exp )?\r
923                     {\r
924                     mFrac(); if (state.failed) return ;\r
925                     // SilkSchema.g:136:23: ( Exp )?\r
926                     int alt13=2;\r
927                     int LA13_0 = input.LA(1);\r
928 \r
929                     if ( (LA13_0=='E'||LA13_0=='e') ) {\r
930                         alt13=1;\r
931                     }\r
932                     switch (alt13) {\r
933                         case 1 :\r
934                             // SilkSchema.g:136:23: Exp\r
935                             {\r
936                             mExp(); if (state.failed) return ;\r
937 \r
938                             }\r
939                             break;\r
940 \r
941                     }\r
942 \r
943 \r
944                     }\r
945                     break;\r
946                 case 2 :\r
947                     // SilkSchema.g:136:30: Exp\r
948                     {\r
949                     mExp(); if (state.failed) return ;\r
950 \r
951                     }\r
952                     break;\r
953 \r
954             }\r
955 \r
956 \r
957             }\r
958 \r
959             state.type = _type;\r
960             state.channel = _channel;\r
961         }\r
962         finally {\r
963         }\r
964     }\r
965     // $ANTLR end "Double"\r
966 \r
967     // $ANTLR start "LBrace"\r
968     public final void mLBrace() throws RecognitionException {\r
969         try {\r
970             int _type = LBrace;\r
971             int _channel = DEFAULT_TOKEN_CHANNEL;\r
972             // SilkSchema.g:138:7: ( '{' )\r
973             // SilkSchema.g:138:9: '{'\r
974             {\r
975             match('{'); if (state.failed) return ;\r
976 \r
977             }\r
978 \r
979             state.type = _type;\r
980             state.channel = _channel;\r
981         }\r
982         finally {\r
983         }\r
984     }\r
985     // $ANTLR end "LBrace"\r
986 \r
987     // $ANTLR start "RBrace"\r
988     public final void mRBrace() throws RecognitionException {\r
989         try {\r
990             int _type = RBrace;\r
991             int _channel = DEFAULT_TOKEN_CHANNEL;\r
992             // SilkSchema.g:139:7: ( '}' )\r
993             // SilkSchema.g:139:9: '}'\r
994             {\r
995             match('}'); if (state.failed) return ;\r
996 \r
997             }\r
998 \r
999             state.type = _type;\r
1000             state.channel = _channel;\r
1001         }\r
1002         finally {\r
1003         }\r
1004     }\r
1005     // $ANTLR end "RBrace"\r
1006 \r
1007     // $ANTLR start "LBracket"\r
1008     public final void mLBracket() throws RecognitionException {\r
1009         try {\r
1010             int _type = LBracket;\r
1011             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1012             // SilkSchema.g:140:9: ( '[' )\r
1013             // SilkSchema.g:140:11: '['\r
1014             {\r
1015             match('['); if (state.failed) return ;\r
1016 \r
1017             }\r
1018 \r
1019             state.type = _type;\r
1020             state.channel = _channel;\r
1021         }\r
1022         finally {\r
1023         }\r
1024     }\r
1025     // $ANTLR end "LBracket"\r
1026 \r
1027     // $ANTLR start "RBracket"\r
1028     public final void mRBracket() throws RecognitionException {\r
1029         try {\r
1030             int _type = RBracket;\r
1031             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1032             // SilkSchema.g:141:9: ( ']' )\r
1033             // SilkSchema.g:141:11: ']'\r
1034             {\r
1035             match(']'); if (state.failed) return ;\r
1036 \r
1037             }\r
1038 \r
1039             state.type = _type;\r
1040             state.channel = _channel;\r
1041         }\r
1042         finally {\r
1043         }\r
1044     }\r
1045     // $ANTLR end "RBracket"\r
1046 \r
1047     // $ANTLR start "Lt"\r
1048     public final void mLt() throws RecognitionException {\r
1049         try {\r
1050             int _type = Lt;\r
1051             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1052             // SilkSchema.g:143:3: ( '<' )\r
1053             // SilkSchema.g:143:5: '<'\r
1054             {\r
1055             match('<'); if (state.failed) return ;\r
1056 \r
1057             }\r
1058 \r
1059             state.type = _type;\r
1060             state.channel = _channel;\r
1061         }\r
1062         finally {\r
1063         }\r
1064     }\r
1065     // $ANTLR end "Lt"\r
1066 \r
1067     // $ANTLR start "Eq"\r
1068     public final void mEq() throws RecognitionException {\r
1069         try {\r
1070             int _type = Eq;\r
1071             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1072             // SilkSchema.g:144:3: ( '=' )\r
1073             // SilkSchema.g:144:5: '='\r
1074             {\r
1075             match('='); if (state.failed) return ;\r
1076 \r
1077             }\r
1078 \r
1079             state.type = _type;\r
1080             state.channel = _channel;\r
1081         }\r
1082         finally {\r
1083         }\r
1084     }\r
1085     // $ANTLR end "Eq"\r
1086 \r
1087     // $ANTLR start "Dot"\r
1088     public final void mDot() throws RecognitionException {\r
1089         try {\r
1090             int _type = Dot;\r
1091             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1092             // SilkSchema.g:145:4: ( '.' )\r
1093             // SilkSchema.g:145:6: '.'\r
1094             {\r
1095             match('.'); if (state.failed) return ;\r
1096 \r
1097             }\r
1098 \r
1099             state.type = _type;\r
1100             state.channel = _channel;\r
1101         }\r
1102         finally {\r
1103         }\r
1104     }\r
1105     // $ANTLR end "Dot"\r
1106 \r
1107     // $ANTLR start "Comma"\r
1108     public final void mComma() throws RecognitionException {\r
1109         try {\r
1110             int _type = Comma;\r
1111             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1112             // SilkSchema.g:146:6: ( ',' )\r
1113             // SilkSchema.g:146:8: ','\r
1114             {\r
1115             match(','); if (state.failed) return ;\r
1116 \r
1117             }\r
1118 \r
1119             state.type = _type;\r
1120             state.channel = _channel;\r
1121         }\r
1122         finally {\r
1123         }\r
1124     }\r
1125     // $ANTLR end "Comma"\r
1126 \r
1127     // $ANTLR start "LParen"\r
1128     public final void mLParen() throws RecognitionException {\r
1129         try {\r
1130             int _type = LParen;\r
1131             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1132             // SilkSchema.g:148:7: ( '(' )\r
1133             // SilkSchema.g:148:9: '('\r
1134             {\r
1135             match('('); if (state.failed) return ;\r
1136 \r
1137             }\r
1138 \r
1139             state.type = _type;\r
1140             state.channel = _channel;\r
1141         }\r
1142         finally {\r
1143         }\r
1144     }\r
1145     // $ANTLR end "LParen"\r
1146 \r
1147     // $ANTLR start "RParen"\r
1148     public final void mRParen() throws RecognitionException {\r
1149         try {\r
1150             int _type = RParen;\r
1151             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1152             // SilkSchema.g:149:7: ( ')' )\r
1153             // SilkSchema.g:149:9: ')'\r
1154             {\r
1155             match(')'); if (state.failed) return ;\r
1156 \r
1157             }\r
1158 \r
1159             state.type = _type;\r
1160             state.channel = _channel;\r
1161         }\r
1162         finally {\r
1163         }\r
1164     }\r
1165     // $ANTLR end "RParen"\r
1166 \r
1167     // $ANTLR start "Star"\r
1168     public final void mStar() throws RecognitionException {\r
1169         try {\r
1170             int _type = Star;\r
1171             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1172             // SilkSchema.g:151:5: ( '*' )\r
1173             // SilkSchema.g:151:7: '*'\r
1174             {\r
1175             match('*'); if (state.failed) return ;\r
1176 \r
1177             }\r
1178 \r
1179             state.type = _type;\r
1180             state.channel = _channel;\r
1181         }\r
1182         finally {\r
1183         }\r
1184     }\r
1185     // $ANTLR end "Star"\r
1186 \r
1187     // $ANTLR start "UnsafeUnicodeChar"\r
1188     public final void mUnsafeUnicodeChar() throws RecognitionException {\r
1189         try {\r
1190             // SilkSchema.g:154:18: ( '(' | ')' | '[' | ']' | '{' | '}' | ',' | ':' | '#' | '<' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' | '.' | '-' )\r
1191             // SilkSchema.g:\r
1192             {\r
1193             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
1194                 input.consume();\r
1195             state.failed=false;\r
1196             }\r
1197             else {\r
1198                 if (state.backtracking>0) {state.failed=true; return ;}\r
1199                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1200                 recover(mse);\r
1201                 throw mse;}\r
1202 \r
1203 \r
1204             }\r
1205 \r
1206         }\r
1207         finally {\r
1208         }\r
1209     }\r
1210     // $ANTLR end "UnsafeUnicodeChar"\r
1211 \r
1212     // $ANTLR start "NonWhiteSpaceChar"\r
1213     public final void mNonWhiteSpaceChar() throws RecognitionException {\r
1214         try {\r
1215             // SilkSchema.g:157:18: (~ ( UnsafeUnicodeChar | '\\r' | '\\n' | ' ' | '\\t' | '\\u000C' ) )\r
1216             // SilkSchema.g:157:20: ~ ( UnsafeUnicodeChar | '\\r' | '\\n' | ' ' | '\\t' | '\\u000C' )\r
1217             {\r
1218             if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||input.LA(1)=='\u000B'||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||input.LA(1)=='$'||input.LA(1)=='&'||input.LA(1)=='+'||(input.LA(1)>='/' && 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
1219                 input.consume();\r
1220             state.failed=false;\r
1221             }\r
1222             else {\r
1223                 if (state.backtracking>0) {state.failed=true; return ;}\r
1224                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1225                 recover(mse);\r
1226                 throw mse;}\r
1227 \r
1228 \r
1229             }\r
1230 \r
1231         }\r
1232         finally {\r
1233         }\r
1234     }\r
1235     // $ANTLR end "NonWhiteSpaceChar"\r
1236 \r
1237     // $ANTLR start "SymbolChars"\r
1238     public final void mSymbolChars() throws RecognitionException {\r
1239         try {\r
1240             // SilkSchema.g:159:21: ( ( NonWhiteSpaceChar )+ )\r
1241             // SilkSchema.g:159:23: ( NonWhiteSpaceChar )+\r
1242             {\r
1243             // SilkSchema.g:159:23: ( NonWhiteSpaceChar )+\r
1244             int cnt15=0;\r
1245             loop15:\r
1246             do {\r
1247                 int alt15=2;\r
1248                 int LA15_0 = input.LA(1);\r
1249 \r
1250                 if ( ((LA15_0>='\u0000' && LA15_0<='\b')||LA15_0=='\u000B'||(LA15_0>='\u000E' && LA15_0<='\u001F')||LA15_0=='!'||LA15_0=='$'||LA15_0=='&'||LA15_0=='+'||(LA15_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
1251                     alt15=1;\r
1252                 }\r
1253 \r
1254 \r
1255                 switch (alt15) {\r
1256                 case 1 :\r
1257                     // SilkSchema.g:159:23: NonWhiteSpaceChar\r
1258                     {\r
1259                     mNonWhiteSpaceChar(); if (state.failed) return ;\r
1260 \r
1261                     }\r
1262                     break;\r
1263 \r
1264                 default :\r
1265                     if ( cnt15 >= 1 ) break loop15;\r
1266                     if (state.backtracking>0) {state.failed=true; return ;}\r
1267                         EarlyExitException eee =\r
1268                             new EarlyExitException(15, input);\r
1269                         throw eee;\r
1270                 }\r
1271                 cnt15++;\r
1272             } while (true);\r
1273 \r
1274 \r
1275             }\r
1276 \r
1277         }\r
1278         finally {\r
1279         }\r
1280     }\r
1281     // $ANTLR end "SymbolChars"\r
1282 \r
1283     // $ANTLR start "Symbol"\r
1284     public final void mSymbol() throws RecognitionException {\r
1285         try {\r
1286             int _type = Symbol;\r
1287             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1288             Token s=null;\r
1289 \r
1290             // SilkSchema.g:160:7: ( ( ':' NonWhiteSpaceChar )=> ':' s= SymbolChars )\r
1291             // SilkSchema.g:160:9: ( ':' NonWhiteSpaceChar )=> ':' s= SymbolChars\r
1292             {\r
1293             match(':'); if (state.failed) return ;\r
1294             int sStart586 = getCharIndex();\r
1295             mSymbolChars(); if (state.failed) return ;\r
1296             s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart586, getCharIndex()-1);\r
1297             if ( state.backtracking==0 ) {\r
1298                setText((s!=null?s.getText():null)); \r
1299             }\r
1300 \r
1301             }\r
1302 \r
1303             state.type = _type;\r
1304             state.channel = _channel;\r
1305         }\r
1306         finally {\r
1307         }\r
1308     }\r
1309     // $ANTLR end "Symbol"\r
1310 \r
1311     // $ANTLR start "Class"\r
1312     public final void mClass() throws RecognitionException {\r
1313         try {\r
1314             int _type = Class;\r
1315             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1316             // SilkSchema.g:162:6: ( 'class' )\r
1317             // SilkSchema.g:162:8: 'class'\r
1318             {\r
1319             match("class"); if (state.failed) return ;\r
1320 \r
1321 \r
1322             }\r
1323 \r
1324             state.type = _type;\r
1325             state.channel = _channel;\r
1326         }\r
1327         finally {\r
1328         }\r
1329     }\r
1330     // $ANTLR end "Class"\r
1331 \r
1332     // $ANTLR start "Includes"\r
1333     public final void mIncludes() throws RecognitionException {\r
1334         try {\r
1335             int _type = Includes;\r
1336             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1337             // SilkSchema.g:163:9: ( 'includes' )\r
1338             // SilkSchema.g:163:11: 'includes'\r
1339             {\r
1340             match("includes"); if (state.failed) return ;\r
1341 \r
1342 \r
1343             }\r
1344 \r
1345             state.type = _type;\r
1346             state.channel = _channel;\r
1347         }\r
1348         finally {\r
1349         }\r
1350     }\r
1351     // $ANTLR end "Includes"\r
1352 \r
1353     // $ANTLR start "End"\r
1354     public final void mEnd() throws RecognitionException {\r
1355         try {\r
1356             int _type = End;\r
1357             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1358             // SilkSchema.g:164:4: ( 'end' )\r
1359             // SilkSchema.g:164:6: 'end'\r
1360             {\r
1361             match("end"); if (state.failed) return ;\r
1362 \r
1363 \r
1364             }\r
1365 \r
1366             state.type = _type;\r
1367             state.channel = _channel;\r
1368         }\r
1369         finally {\r
1370         }\r
1371     }\r
1372     // $ANTLR end "End"\r
1373 \r
1374     // $ANTLR start "Relation"\r
1375     public final void mRelation() throws RecognitionException {\r
1376         try {\r
1377             int _type = Relation;\r
1378             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1379             // SilkSchema.g:165:9: ( 'relation' )\r
1380             // SilkSchema.g:165:11: 'relation'\r
1381             {\r
1382             match("relation"); if (state.failed) return ;\r
1383 \r
1384 \r
1385             }\r
1386 \r
1387             state.type = _type;\r
1388             state.channel = _channel;\r
1389         }\r
1390         finally {\r
1391         }\r
1392     }\r
1393     // $ANTLR end "Relation"\r
1394 \r
1395     // $ANTLR start "Index"\r
1396     public final void mIndex() throws RecognitionException {\r
1397         try {\r
1398             int _type = Index;\r
1399             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1400             // SilkSchema.g:166:6: ( 'index' )\r
1401             // SilkSchema.g:166:8: 'index'\r
1402             {\r
1403             match("index"); if (state.failed) return ;\r
1404 \r
1405 \r
1406             }\r
1407 \r
1408             state.type = _type;\r
1409             state.channel = _channel;\r
1410         }\r
1411         finally {\r
1412         }\r
1413     }\r
1414     // $ANTLR end "Index"\r
1415 \r
1416     // $ANTLR start "BelongsTo"\r
1417     public final void mBelongsTo() throws RecognitionException {\r
1418         try {\r
1419             int _type = BelongsTo;\r
1420             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1421             // SilkSchema.g:167:10: ( 'belongs_to' )\r
1422             // SilkSchema.g:167:12: 'belongs_to'\r
1423             {\r
1424             match("belongs_to"); if (state.failed) return ;\r
1425 \r
1426 \r
1427             }\r
1428 \r
1429             state.type = _type;\r
1430             state.channel = _channel;\r
1431         }\r
1432         finally {\r
1433         }\r
1434     }\r
1435     // $ANTLR end "BelongsTo"\r
1436 \r
1437     // $ANTLR start "SafeFirstLetter"\r
1438     public final void mSafeFirstLetter() throws RecognitionException {\r
1439         try {\r
1440             // SilkSchema.g:169:25: ( 'A' .. 'Z' | 'a' .. 'z' )\r
1441             // SilkSchema.g:\r
1442             {\r
1443             if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {\r
1444                 input.consume();\r
1445             state.failed=false;\r
1446             }\r
1447             else {\r
1448                 if (state.backtracking>0) {state.failed=true; return ;}\r
1449                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1450                 recover(mse);\r
1451                 throw mse;}\r
1452 \r
1453 \r
1454             }\r
1455 \r
1456         }\r
1457         finally {\r
1458         }\r
1459     }\r
1460     // $ANTLR end "SafeFirstLetter"\r
1461 \r
1462     // $ANTLR start "SafeLetter"\r
1463     public final void mSafeLetter() throws RecognitionException {\r
1464         try {\r
1465             // SilkSchema.g:170:20: ( SafeFirstLetter | '0' .. '9' | '-' | '_' )\r
1466             // SilkSchema.g:\r
1467             {\r
1468             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
1469                 input.consume();\r
1470             state.failed=false;\r
1471             }\r
1472             else {\r
1473                 if (state.backtracking>0) {state.failed=true; return ;}\r
1474                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1475                 recover(mse);\r
1476                 throw mse;}\r
1477 \r
1478 \r
1479             }\r
1480 \r
1481         }\r
1482         finally {\r
1483         }\r
1484     }\r
1485     // $ANTLR end "SafeLetter"\r
1486 \r
1487     // $ANTLR start "ModuleName"\r
1488     public final void mModuleName() throws RecognitionException {\r
1489         try {\r
1490             // SilkSchema.g:172:20: ( SafeFirstLetter ( SafeLetter )* ( '.' SafeFirstLetter ( SafeLetter )* )* )\r
1491             // SilkSchema.g:172:22: SafeFirstLetter ( SafeLetter )* ( '.' SafeFirstLetter ( SafeLetter )* )*\r
1492             {\r
1493             mSafeFirstLetter(); if (state.failed) return ;\r
1494             // SilkSchema.g:172:38: ( SafeLetter )*\r
1495             loop16:\r
1496             do {\r
1497                 int alt16=2;\r
1498                 int LA16_0 = input.LA(1);\r
1499 \r
1500                 if ( (LA16_0=='-'||(LA16_0>='0' && LA16_0<='9')||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {\r
1501                     alt16=1;\r
1502                 }\r
1503 \r
1504 \r
1505                 switch (alt16) {\r
1506                 case 1 :\r
1507                     // SilkSchema.g:172:38: SafeLetter\r
1508                     {\r
1509                     mSafeLetter(); if (state.failed) return ;\r
1510 \r
1511                     }\r
1512                     break;\r
1513 \r
1514                 default :\r
1515                     break loop16;\r
1516                 }\r
1517             } while (true);\r
1518 \r
1519             // SilkSchema.g:172:50: ( '.' SafeFirstLetter ( SafeLetter )* )*\r
1520             loop18:\r
1521             do {\r
1522                 int alt18=2;\r
1523                 int LA18_0 = input.LA(1);\r
1524 \r
1525                 if ( (LA18_0=='.') ) {\r
1526                     alt18=1;\r
1527                 }\r
1528 \r
1529 \r
1530                 switch (alt18) {\r
1531                 case 1 :\r
1532                     // SilkSchema.g:172:51: '.' SafeFirstLetter ( SafeLetter )*\r
1533                     {\r
1534                     match('.'); if (state.failed) return ;\r
1535                     mSafeFirstLetter(); if (state.failed) return ;\r
1536                     // SilkSchema.g:172:71: ( SafeLetter )*\r
1537                     loop17:\r
1538                     do {\r
1539                         int alt17=2;\r
1540                         int LA17_0 = input.LA(1);\r
1541 \r
1542                         if ( (LA17_0=='-'||(LA17_0>='0' && LA17_0<='9')||(LA17_0>='A' && LA17_0<='Z')||LA17_0=='_'||(LA17_0>='a' && LA17_0<='z')) ) {\r
1543                             alt17=1;\r
1544                         }\r
1545 \r
1546 \r
1547                         switch (alt17) {\r
1548                         case 1 :\r
1549                             // SilkSchema.g:172:71: SafeLetter\r
1550                             {\r
1551                             mSafeLetter(); if (state.failed) return ;\r
1552 \r
1553                             }\r
1554                             break;\r
1555 \r
1556                         default :\r
1557                             break loop17;\r
1558                         }\r
1559                     } while (true);\r
1560 \r
1561 \r
1562                     }\r
1563                     break;\r
1564 \r
1565                 default :\r
1566                     break loop18;\r
1567                 }\r
1568             } while (true);\r
1569 \r
1570 \r
1571             }\r
1572 \r
1573         }\r
1574         finally {\r
1575         }\r
1576     }\r
1577     // $ANTLR end "ModuleName"\r
1578 \r
1579     // $ANTLR start "ModuleDef"\r
1580     public final void mModuleDef() throws RecognitionException {\r
1581         try {\r
1582             int _type = ModuleDef;\r
1583             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1584             Token s=null;\r
1585 \r
1586             // SilkSchema.g:173:10: ( 'module' WhiteSpaces s= ModuleName )\r
1587             // SilkSchema.g:173:12: 'module' WhiteSpaces s= ModuleName\r
1588             {\r
1589             match("module"); if (state.failed) return ;\r
1590 \r
1591             mWhiteSpaces(); if (state.failed) return ;\r
1592             int sStart715 = getCharIndex();\r
1593             mModuleName(); if (state.failed) return ;\r
1594             s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart715, getCharIndex()-1);\r
1595             if ( state.backtracking==0 ) {\r
1596                setText((s!=null?s.getText():null)); \r
1597             }\r
1598 \r
1599             }\r
1600 \r
1601             state.type = _type;\r
1602             state.channel = _channel;\r
1603         }\r
1604         finally {\r
1605         }\r
1606     }\r
1607     // $ANTLR end "ModuleDef"\r
1608 \r
1609     // $ANTLR start "QNameChar"\r
1610     public final void mQNameChar() throws RecognitionException {\r
1611         try {\r
1612             // SilkSchema.g:175:19: (~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace ) )\r
1613             // SilkSchema.g:175:21: ~ ( LineBreakChar | UnsafeUnicodeChar | WhiteSpace )\r
1614             {\r
1615             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)>='/' && 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
1616                 input.consume();\r
1617             state.failed=false;\r
1618             }\r
1619             else {\r
1620                 if (state.backtracking>0) {state.failed=true; return ;}\r
1621                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1622                 recover(mse);\r
1623                 throw mse;}\r
1624 \r
1625 \r
1626             }\r
1627 \r
1628         }\r
1629         finally {\r
1630         }\r
1631     }\r
1632     // $ANTLR end "QNameChar"\r
1633 \r
1634     // $ANTLR start "QName"\r
1635     public final void mQName() throws RecognitionException {\r
1636         try {\r
1637             int _type = QName;\r
1638             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1639             // SilkSchema.g:176:6: ( ( QNameChar )+ ( Dot ( QNameChar )+ )* )\r
1640             // SilkSchema.g:176:8: ( QNameChar )+ ( Dot ( QNameChar )+ )*\r
1641             {\r
1642             // SilkSchema.g:176:8: ( QNameChar )+\r
1643             int cnt19=0;\r
1644             loop19:\r
1645             do {\r
1646                 int alt19=2;\r
1647                 int LA19_0 = input.LA(1);\r
1648 \r
1649                 if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='!'||LA19_0=='$'||LA19_0=='&'||LA19_0=='+'||(LA19_0>='/' && LA19_0<='9')||LA19_0==';'||LA19_0=='='||LA19_0=='?'||(LA19_0>='A' && LA19_0<='Z')||(LA19_0>='^' && LA19_0<='z')||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {\r
1650                     alt19=1;\r
1651                 }\r
1652 \r
1653 \r
1654                 switch (alt19) {\r
1655                 case 1 :\r
1656                     // SilkSchema.g:176:8: QNameChar\r
1657                     {\r
1658                     mQNameChar(); if (state.failed) return ;\r
1659 \r
1660                     }\r
1661                     break;\r
1662 \r
1663                 default :\r
1664                     if ( cnt19 >= 1 ) break loop19;\r
1665                     if (state.backtracking>0) {state.failed=true; return ;}\r
1666                         EarlyExitException eee =\r
1667                             new EarlyExitException(19, input);\r
1668                         throw eee;\r
1669                 }\r
1670                 cnt19++;\r
1671             } while (true);\r
1672 \r
1673             // SilkSchema.g:176:19: ( Dot ( QNameChar )+ )*\r
1674             loop21:\r
1675             do {\r
1676                 int alt21=2;\r
1677                 int LA21_0 = input.LA(1);\r
1678 \r
1679                 if ( (LA21_0=='.') ) {\r
1680                     alt21=1;\r
1681                 }\r
1682 \r
1683 \r
1684                 switch (alt21) {\r
1685                 case 1 :\r
1686                     // SilkSchema.g:176:20: Dot ( QNameChar )+\r
1687                     {\r
1688                     mDot(); if (state.failed) return ;\r
1689                     // SilkSchema.g:176:24: ( QNameChar )+\r
1690                     int cnt20=0;\r
1691                     loop20:\r
1692                     do {\r
1693                         int alt20=2;\r
1694                         int LA20_0 = input.LA(1);\r
1695 \r
1696                         if ( ((LA20_0>='\u0000' && LA20_0<='\b')||(LA20_0>='\u000B' && LA20_0<='\f')||(LA20_0>='\u000E' && LA20_0<='\u001F')||LA20_0=='!'||LA20_0=='$'||LA20_0=='&'||LA20_0=='+'||(LA20_0>='/' && LA20_0<='9')||LA20_0==';'||LA20_0=='='||LA20_0=='?'||(LA20_0>='A' && LA20_0<='Z')||(LA20_0>='^' && LA20_0<='z')||(LA20_0>='~' && LA20_0<='\uFFFF')) ) {\r
1697                             alt20=1;\r
1698                         }\r
1699 \r
1700 \r
1701                         switch (alt20) {\r
1702                         case 1 :\r
1703                             // SilkSchema.g:176:24: QNameChar\r
1704                             {\r
1705                             mQNameChar(); if (state.failed) return ;\r
1706 \r
1707                             }\r
1708                             break;\r
1709 \r
1710                         default :\r
1711                             if ( cnt20 >= 1 ) break loop20;\r
1712                             if (state.backtracking>0) {state.failed=true; return ;}\r
1713                                 EarlyExitException eee =\r
1714                                     new EarlyExitException(20, input);\r
1715                                 throw eee;\r
1716                         }\r
1717                         cnt20++;\r
1718                     } while (true);\r
1719 \r
1720 \r
1721                     }\r
1722                     break;\r
1723 \r
1724                 default :\r
1725                     break loop21;\r
1726                 }\r
1727             } while (true);\r
1728 \r
1729 \r
1730             }\r
1731 \r
1732             state.type = _type;\r
1733             state.channel = _channel;\r
1734         }\r
1735         finally {\r
1736         }\r
1737     }\r
1738     // $ANTLR end "QName"\r
1739 \r
1740     // $ANTLR start "WhiteSpace"\r
1741     public final void mWhiteSpace() throws RecognitionException {\r
1742         try {\r
1743             // SilkSchema.g:179:11: ( ' ' | '\\t' )\r
1744             // SilkSchema.g:\r
1745             {\r
1746             if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {\r
1747                 input.consume();\r
1748             state.failed=false;\r
1749             }\r
1750             else {\r
1751                 if (state.backtracking>0) {state.failed=true; return ;}\r
1752                 MismatchedSetException mse = new MismatchedSetException(null,input);\r
1753                 recover(mse);\r
1754                 throw mse;}\r
1755 \r
1756 \r
1757             }\r
1758 \r
1759         }\r
1760         finally {\r
1761         }\r
1762     }\r
1763     // $ANTLR end "WhiteSpace"\r
1764 \r
1765     // $ANTLR start "WhiteSpaces"\r
1766     public final void mWhiteSpaces() throws RecognitionException {\r
1767         try {\r
1768             int _type = WhiteSpaces;\r
1769             int _channel = DEFAULT_TOKEN_CHANNEL;\r
1770             // SilkSchema.g:181:12: ( ( WhiteSpace )+ )\r
1771             // SilkSchema.g:181:14: ( WhiteSpace )+\r
1772             {\r
1773             // SilkSchema.g:181:14: ( WhiteSpace )+\r
1774             int cnt22=0;\r
1775             loop22:\r
1776             do {\r
1777                 int alt22=2;\r
1778                 int LA22_0 = input.LA(1);\r
1779 \r
1780                 if ( (LA22_0=='\t'||LA22_0==' ') ) {\r
1781                     alt22=1;\r
1782                 }\r
1783 \r
1784 \r
1785                 switch (alt22) {\r
1786                 case 1 :\r
1787                     // SilkSchema.g:181:14: WhiteSpace\r
1788                     {\r
1789                     mWhiteSpace(); if (state.failed) return ;\r
1790 \r
1791                     }\r
1792                     break;\r
1793 \r
1794                 default :\r
1795                     if ( cnt22 >= 1 ) break loop22;\r
1796                     if (state.backtracking>0) {state.failed=true; return ;}\r
1797                         EarlyExitException eee =\r
1798                             new EarlyExitException(22, input);\r
1799                         throw eee;\r
1800                 }\r
1801                 cnt22++;\r
1802             } while (true);\r
1803 \r
1804             if ( state.backtracking==0 ) {\r
1805                _channel = HIDDEN; \r
1806             }\r
1807 \r
1808             }\r
1809 \r
1810             state.type = _type;\r
1811             state.channel = _channel;\r
1812         }\r
1813         finally {\r
1814         }\r
1815     }\r
1816     // $ANTLR end "WhiteSpaces"\r
1817 \r
1818     public void mTokens() throws RecognitionException {\r
1819         // SilkSchema.g:1:8: ( Preamble | LineComment | LineBreak | String | Integer | Double | LBrace | RBrace | LBracket | RBracket | Lt | Eq | Dot | Comma | LParen | RParen | Star | Symbol | Class | Includes | End | Relation | Index | BelongsTo | ModuleDef | QName | WhiteSpaces )\r
1820         int alt23=27;\r
1821         alt23 = dfa23.predict(input);\r
1822         switch (alt23) {\r
1823             case 1 :\r
1824                 // SilkSchema.g:1:10: Preamble\r
1825                 {\r
1826                 mPreamble(); if (state.failed) return ;\r
1827 \r
1828                 }\r
1829                 break;\r
1830             case 2 :\r
1831                 // SilkSchema.g:1:19: LineComment\r
1832                 {\r
1833                 mLineComment(); if (state.failed) return ;\r
1834 \r
1835                 }\r
1836                 break;\r
1837             case 3 :\r
1838                 // SilkSchema.g:1:31: LineBreak\r
1839                 {\r
1840                 mLineBreak(); if (state.failed) return ;\r
1841 \r
1842                 }\r
1843                 break;\r
1844             case 4 :\r
1845                 // SilkSchema.g:1:41: String\r
1846                 {\r
1847                 mString(); if (state.failed) return ;\r
1848 \r
1849                 }\r
1850                 break;\r
1851             case 5 :\r
1852                 // SilkSchema.g:1:48: Integer\r
1853                 {\r
1854                 mInteger(); if (state.failed) return ;\r
1855 \r
1856                 }\r
1857                 break;\r
1858             case 6 :\r
1859                 // SilkSchema.g:1:56: Double\r
1860                 {\r
1861                 mDouble(); if (state.failed) return ;\r
1862 \r
1863                 }\r
1864                 break;\r
1865             case 7 :\r
1866                 // SilkSchema.g:1:63: LBrace\r
1867                 {\r
1868                 mLBrace(); if (state.failed) return ;\r
1869 \r
1870                 }\r
1871                 break;\r
1872             case 8 :\r
1873                 // SilkSchema.g:1:70: RBrace\r
1874                 {\r
1875                 mRBrace(); if (state.failed) return ;\r
1876 \r
1877                 }\r
1878                 break;\r
1879             case 9 :\r
1880                 // SilkSchema.g:1:77: LBracket\r
1881                 {\r
1882                 mLBracket(); if (state.failed) return ;\r
1883 \r
1884                 }\r
1885                 break;\r
1886             case 10 :\r
1887                 // SilkSchema.g:1:86: RBracket\r
1888                 {\r
1889                 mRBracket(); if (state.failed) return ;\r
1890 \r
1891                 }\r
1892                 break;\r
1893             case 11 :\r
1894                 // SilkSchema.g:1:95: Lt\r
1895                 {\r
1896                 mLt(); if (state.failed) return ;\r
1897 \r
1898                 }\r
1899                 break;\r
1900             case 12 :\r
1901                 // SilkSchema.g:1:98: Eq\r
1902                 {\r
1903                 mEq(); if (state.failed) return ;\r
1904 \r
1905                 }\r
1906                 break;\r
1907             case 13 :\r
1908                 // SilkSchema.g:1:101: Dot\r
1909                 {\r
1910                 mDot(); if (state.failed) return ;\r
1911 \r
1912                 }\r
1913                 break;\r
1914             case 14 :\r
1915                 // SilkSchema.g:1:105: Comma\r
1916                 {\r
1917                 mComma(); if (state.failed) return ;\r
1918 \r
1919                 }\r
1920                 break;\r
1921             case 15 :\r
1922                 // SilkSchema.g:1:111: LParen\r
1923                 {\r
1924                 mLParen(); if (state.failed) return ;\r
1925 \r
1926                 }\r
1927                 break;\r
1928             case 16 :\r
1929                 // SilkSchema.g:1:118: RParen\r
1930                 {\r
1931                 mRParen(); if (state.failed) return ;\r
1932 \r
1933                 }\r
1934                 break;\r
1935             case 17 :\r
1936                 // SilkSchema.g:1:125: Star\r
1937                 {\r
1938                 mStar(); if (state.failed) return ;\r
1939 \r
1940                 }\r
1941                 break;\r
1942             case 18 :\r
1943                 // SilkSchema.g:1:130: Symbol\r
1944                 {\r
1945                 mSymbol(); if (state.failed) return ;\r
1946 \r
1947                 }\r
1948                 break;\r
1949             case 19 :\r
1950                 // SilkSchema.g:1:137: Class\r
1951                 {\r
1952                 mClass(); if (state.failed) return ;\r
1953 \r
1954                 }\r
1955                 break;\r
1956             case 20 :\r
1957                 // SilkSchema.g:1:143: Includes\r
1958                 {\r
1959                 mIncludes(); if (state.failed) return ;\r
1960 \r
1961                 }\r
1962                 break;\r
1963             case 21 :\r
1964                 // SilkSchema.g:1:152: End\r
1965                 {\r
1966                 mEnd(); if (state.failed) return ;\r
1967 \r
1968                 }\r
1969                 break;\r
1970             case 22 :\r
1971                 // SilkSchema.g:1:156: Relation\r
1972                 {\r
1973                 mRelation(); if (state.failed) return ;\r
1974 \r
1975                 }\r
1976                 break;\r
1977             case 23 :\r
1978                 // SilkSchema.g:1:165: Index\r
1979                 {\r
1980                 mIndex(); if (state.failed) return ;\r
1981 \r
1982                 }\r
1983                 break;\r
1984             case 24 :\r
1985                 // SilkSchema.g:1:171: BelongsTo\r
1986                 {\r
1987                 mBelongsTo(); if (state.failed) return ;\r
1988 \r
1989                 }\r
1990                 break;\r
1991             case 25 :\r
1992                 // SilkSchema.g:1:181: ModuleDef\r
1993                 {\r
1994                 mModuleDef(); if (state.failed) return ;\r
1995 \r
1996                 }\r
1997                 break;\r
1998             case 26 :\r
1999                 // SilkSchema.g:1:191: QName\r
2000                 {\r
2001                 mQName(); if (state.failed) return ;\r
2002 \r
2003                 }\r
2004                 break;\r
2005             case 27 :\r
2006                 // SilkSchema.g:1:197: WhiteSpaces\r
2007                 {\r
2008                 mWhiteSpaces(); if (state.failed) return ;\r
2009 \r
2010                 }\r
2011                 break;\r
2012 \r
2013         }\r
2014 \r
2015     }\r
2016 \r
2017 \r
2018     protected DFA23 dfa23 = new DFA23(this);\r
2019     static final String DFA23_eotS =\r
2020         "\6\uffff\2\36\5\uffff\1\42\6\uffff\6\32\2\uffff\2\36\2\uffff\1"+\r
2021         "\32\1\36\1\uffff\6\32\1\uffff\1\36\1\51\1\32\1\51\3\32\1\71\7\32"+\r
2022         "\1\uffff\4\32\1\51\1\105\1\32\1\107\3\32\1\uffff\1\32\1\uffff\6"+\r
2023         "\32\1\uffff\1\122\1\123\1\32\2\uffff\1\32\1\126\1\uffff";\r
2024     static final String DFA23_eofS =\r
2025         "\127\uffff";\r
2026     static final String DFA23_minS =\r
2027         "\1\0\4\uffff\1\60\2\0\5\uffff\1\0\6\uffff\1\154\2\156\2\145\1\157"+\r
2028         "\2\uffff\2\56\1\uffff\1\0\1\53\1\0\1\uffff\1\141\1\143\1\144\2\154"+\r
2029         "\1\144\1\uffff\1\56\1\0\1\60\1\0\1\163\1\154\1\145\1\0\1\141\1\157"+\r
2030         "\1\165\1\53\1\163\1\165\1\170\1\uffff\1\164\1\156\1\154\1\60\2\0"+\r
2031         "\1\144\1\0\1\151\1\147\1\145\1\uffff\1\145\1\uffff\1\157\1\163\1"+\r
2032         "\11\1\163\1\156\1\137\1\uffff\2\0\1\164\2\uffff\1\157\1\0\1\uffff";\r
2033     static final String DFA23_maxS =\r
2034         "\1\uffff\4\uffff\1\71\2\uffff\5\uffff\1\uffff\6\uffff\1\154\2\156"+\r
2035         "\2\145\1\157\2\uffff\2\145\1\uffff\1\uffff\1\71\1\uffff\1\uffff"+\r
2036         "\1\141\2\144\2\154\1\144\1\uffff\1\145\1\uffff\1\71\1\uffff\1\163"+\r
2037         "\1\154\1\145\1\uffff\1\141\1\157\1\165\1\71\1\163\1\165\1\170\1"+\r
2038         "\uffff\1\164\1\156\1\154\1\71\2\uffff\1\144\1\uffff\1\151\1\147"+\r
2039         "\1\145\1\uffff\1\145\1\uffff\1\157\1\163\1\40\1\163\1\156\1\137"+\r
2040         "\1\uffff\2\uffff\1\164\2\uffff\1\157\1\uffff\1\uffff";\r
2041     static final String DFA23_acceptS =\r
2042         "\1\uffff\1\1\1\2\1\3\1\4\3\uffff\1\7\1\10\1\11\1\12\1\13\1\uffff"+\r
2043         "\1\15\1\16\1\17\1\20\1\21\1\22\6\uffff\1\32\1\33\2\uffff\1\5\3\uffff"+\r
2044         "\1\14\6\uffff\1\6\17\uffff\1\25\13\uffff\1\23\1\uffff\1\27\6\uffff"+\r
2045         "\1\31\3\uffff\1\24\1\26\2\uffff\1\30";\r
2046     static final String DFA23_specialS =\r
2047         "\1\7\5\uffff\1\4\1\14\5\uffff\1\12\21\uffff\1\3\1\uffff\1\10\11"+\r
2048         "\uffff\1\1\1\uffff\1\11\3\uffff\1\15\14\uffff\1\5\1\13\1\uffff\1"+\r
2049         "\6\15\uffff\1\2\1\0\4\uffff\1\16\1\uffff}>";\r
2050     static final String[] DFA23_transitionS = {\r
2051             "\11\32\1\33\1\3\2\32\1\3\22\32\1\33\1\32\1\4\1\2\1\32\1\1\1"+\r
2052             "\32\1\uffff\1\20\1\21\1\22\1\32\1\17\1\5\1\16\1\32\1\6\11\7"+\r
2053             "\1\23\1\32\1\14\1\15\1\uffff\1\32\1\uffff\32\32\1\12\1\uffff"+\r
2054             "\1\13\4\32\1\30\1\24\1\32\1\26\3\32\1\25\3\32\1\31\4\32\1\27"+\r
2055             "\10\32\1\10\1\uffff\1\11\uff82\32",\r
2056             "",\r
2057             "",\r
2058             "",\r
2059             "",\r
2060             "\1\34\11\35",\r
2061             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2062             "\1\uffff\1\32\4\uffff\1\32\2\uffff\1\37\13\32\1\uffff\1\32\1"+\r
2063             "\uffff\1\32\1\uffff\1\32\1\uffff\4\32\1\40\25\32\3\uffff\7\32"+\r
2064             "\1\40\25\32\3\uffff\uff82\32",\r
2065             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2066             "\1\uffff\1\32\4\uffff\1\32\2\uffff\1\37\1\32\12\41\1\uffff\1"+\r
2067             "\32\1\uffff\1\32\1\uffff\1\32\1\uffff\4\32\1\40\25\32\3\uffff"+\r
2068             "\7\32\1\40\25\32\3\uffff\uff82\32",\r
2069             "",\r
2070             "",\r
2071             "",\r
2072             "",\r
2073             "",\r
2074             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2075             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2076             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2077             "\32",\r
2078             "",\r
2079             "",\r
2080             "",\r
2081             "",\r
2082             "",\r
2083             "",\r
2084             "\1\43",\r
2085             "\1\44",\r
2086             "\1\45",\r
2087             "\1\46",\r
2088             "\1\47",\r
2089             "\1\50",\r
2090             "",\r
2091             "",\r
2092             "\1\51\26\uffff\1\51\37\uffff\1\51",\r
2093             "\1\51\1\uffff\12\52\13\uffff\1\51\37\uffff\1\51",\r
2094             "",\r
2095             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2096             "\1\uffff\1\32\4\uffff\1\32\3\uffff\1\32\12\53\1\uffff\1\32\1"+\r
2097             "\uffff\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff"+\r
2098             "\uff82\32",\r
2099             "\1\54\1\uffff\1\51\2\uffff\12\55",\r
2100             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2101             "\1\uffff\1\32\4\uffff\1\32\2\uffff\1\37\1\32\12\41\1\uffff\1"+\r
2102             "\32\1\uffff\1\32\1\uffff\1\32\1\uffff\4\32\1\40\25\32\3\uffff"+\r
2103             "\7\32\1\40\25\32\3\uffff\uff82\32",\r
2104             "",\r
2105             "\1\56",\r
2106             "\1\57\1\60",\r
2107             "\1\61",\r
2108             "\1\62",\r
2109             "\1\63",\r
2110             "\1\64",\r
2111             "",\r
2112             "\1\51\1\uffff\12\52\13\uffff\1\51\37\uffff\1\51",\r
2113             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2114             "\1\uffff\1\32\4\uffff\1\32\2\uffff\2\32\12\53\1\uffff\1\32\1"+\r
2115             "\uffff\1\32\1\uffff\1\32\1\uffff\4\32\1\65\25\32\3\uffff\7\32"+\r
2116             "\1\65\25\32\3\uffff\uff82\32",\r
2117             "\12\55",\r
2118             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2119             "\1\uffff\1\32\4\uffff\1\32\2\uffff\2\32\12\55\1\uffff\1\32\1"+\r
2120             "\uffff\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff"+\r
2121             "\uff82\32",\r
2122             "\1\66",\r
2123             "\1\67",\r
2124             "\1\70",\r
2125             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2126             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2127             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2128             "\32",\r
2129             "\1\72",\r
2130             "\1\73",\r
2131             "\1\74",\r
2132             "\1\75\1\uffff\1\51\2\uffff\12\76",\r
2133             "\1\77",\r
2134             "\1\100",\r
2135             "\1\101",\r
2136             "",\r
2137             "\1\102",\r
2138             "\1\103",\r
2139             "\1\104",\r
2140             "\12\76",\r
2141             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2142             "\1\uffff\1\32\4\uffff\1\32\2\uffff\2\32\12\76\1\uffff\1\32\1"+\r
2143             "\uffff\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff"+\r
2144             "\uff82\32",\r
2145             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2146             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2147             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2148             "\32",\r
2149             "\1\106",\r
2150             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2151             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2152             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2153             "\32",\r
2154             "\1\110",\r
2155             "\1\111",\r
2156             "\1\112",\r
2157             "",\r
2158             "\1\113",\r
2159             "",\r
2160             "\1\114",\r
2161             "\1\115",\r
2162             "\1\116\26\uffff\1\116",\r
2163             "\1\117",\r
2164             "\1\120",\r
2165             "\1\121",\r
2166             "",\r
2167             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2168             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2169             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2170             "\32",\r
2171             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2172             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2173             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2174             "\32",\r
2175             "\1\124",\r
2176             "",\r
2177             "",\r
2178             "\1\125",\r
2179             "\11\32\2\uffff\2\32\1\uffff\22\32\1\uffff\1\32\2\uffff\1\32"+\r
2180             "\1\uffff\1\32\4\uffff\1\32\2\uffff\14\32\1\uffff\1\32\1\uffff"+\r
2181             "\1\32\1\uffff\1\32\1\uffff\32\32\3\uffff\35\32\3\uffff\uff82"+\r
2182             "\32",\r
2183             ""\r
2184     };\r
2185 \r
2186     static final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS);\r
2187     static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS);\r
2188     static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS);\r
2189     static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS);\r
2190     static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS);\r
2191     static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS);\r
2192     static final short[][] DFA23_transition;\r
2193 \r
2194     static {\r
2195         int numStates = DFA23_transitionS.length;\r
2196         DFA23_transition = new short[numStates][];\r
2197         for (int i=0; i<numStates; i++) {\r
2198             DFA23_transition[i] = DFA.unpackEncodedString(DFA23_transitionS[i]);\r
2199         }\r
2200     }\r
2201 \r
2202     class DFA23 extends DFA {\r
2203 \r
2204         public DFA23(BaseRecognizer recognizer) {\r
2205             this.recognizer = recognizer;\r
2206             this.decisionNumber = 23;\r
2207             this.eot = DFA23_eot;\r
2208             this.eof = DFA23_eof;\r
2209             this.min = DFA23_min;\r
2210             this.max = DFA23_max;\r
2211             this.accept = DFA23_accept;\r
2212             this.special = DFA23_special;\r
2213             this.transition = DFA23_transition;\r
2214         }\r
2215         public String getDescription() {\r
2216             return "1:1: Tokens : ( Preamble | LineComment | LineBreak | String | Integer | Double | LBrace | RBrace | LBracket | RBracket | Lt | Eq | Dot | Comma | LParen | RParen | Star | Symbol | Class | Includes | End | Relation | Index | BelongsTo | ModuleDef | QName | WhiteSpaces );";\r
2217         }\r
2218         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {\r
2219             IntStream input = _input;\r
2220                 int _s = s;\r
2221             switch ( s ) {\r
2222                     case 0 : \r
2223                         int LA23_80 = input.LA(1);\r
2224 \r
2225                         s = -1;\r
2226                         if ( ((LA23_80>='\u0000' && LA23_80<='\b')||(LA23_80>='\u000B' && LA23_80<='\f')||(LA23_80>='\u000E' && LA23_80<='\u001F')||LA23_80=='!'||LA23_80=='$'||LA23_80=='&'||LA23_80=='+'||(LA23_80>='.' && LA23_80<='9')||LA23_80==';'||LA23_80=='='||LA23_80=='?'||(LA23_80>='A' && LA23_80<='Z')||(LA23_80>='^' && LA23_80<='z')||(LA23_80>='~' && LA23_80<='\uFFFF')) ) {s = 26;}\r
2227 \r
2228                         else s = 83;\r
2229 \r
2230                         if ( s>=0 ) return s;\r
2231                         break;\r
2232                     case 1 : \r
2233                         int LA23_43 = input.LA(1);\r
2234 \r
2235                         s = -1;\r
2236                         if ( ((LA23_43>='\u0000' && LA23_43<='\b')||(LA23_43>='\u000B' && LA23_43<='\f')||(LA23_43>='\u000E' && LA23_43<='\u001F')||LA23_43=='!'||LA23_43=='$'||LA23_43=='&'||LA23_43=='+'||(LA23_43>='.' && LA23_43<='/')||LA23_43==';'||LA23_43=='='||LA23_43=='?'||(LA23_43>='A' && LA23_43<='D')||(LA23_43>='F' && LA23_43<='Z')||(LA23_43>='^' && LA23_43<='d')||(LA23_43>='f' && LA23_43<='z')||(LA23_43>='~' && LA23_43<='\uFFFF')) ) {s = 26;}\r
2237 \r
2238                         else if ( (LA23_43=='E'||LA23_43=='e') ) {s = 53;}\r
2239 \r
2240                         else if ( ((LA23_43>='0' && LA23_43<='9')) ) {s = 43;}\r
2241 \r
2242                         else s = 41;\r
2243 \r
2244                         if ( s>=0 ) return s;\r
2245                         break;\r
2246                     case 2 : \r
2247                         int LA23_79 = input.LA(1);\r
2248 \r
2249                         s = -1;\r
2250                         if ( ((LA23_79>='\u0000' && LA23_79<='\b')||(LA23_79>='\u000B' && LA23_79<='\f')||(LA23_79>='\u000E' && LA23_79<='\u001F')||LA23_79=='!'||LA23_79=='$'||LA23_79=='&'||LA23_79=='+'||(LA23_79>='.' && LA23_79<='9')||LA23_79==';'||LA23_79=='='||LA23_79=='?'||(LA23_79>='A' && LA23_79<='Z')||(LA23_79>='^' && LA23_79<='z')||(LA23_79>='~' && LA23_79<='\uFFFF')) ) {s = 26;}\r
2251 \r
2252                         else s = 82;\r
2253 \r
2254                         if ( s>=0 ) return s;\r
2255                         break;\r
2256                     case 3 : \r
2257                         int LA23_31 = input.LA(1);\r
2258 \r
2259                         s = -1;\r
2260                         if ( ((LA23_31>='0' && LA23_31<='9')) ) {s = 43;}\r
2261 \r
2262                         else if ( ((LA23_31>='\u0000' && LA23_31<='\b')||(LA23_31>='\u000B' && LA23_31<='\f')||(LA23_31>='\u000E' && LA23_31<='\u001F')||LA23_31=='!'||LA23_31=='$'||LA23_31=='&'||LA23_31=='+'||LA23_31=='/'||LA23_31==';'||LA23_31=='='||LA23_31=='?'||(LA23_31>='A' && LA23_31<='Z')||(LA23_31>='^' && LA23_31<='z')||(LA23_31>='~' && LA23_31<='\uFFFF')) ) {s = 26;}\r
2263 \r
2264                         if ( s>=0 ) return s;\r
2265                         break;\r
2266                     case 4 : \r
2267                         int LA23_6 = input.LA(1);\r
2268 \r
2269                         s = -1;\r
2270                         if ( (LA23_6=='.') ) {s = 31;}\r
2271 \r
2272                         else if ( (LA23_6=='E'||LA23_6=='e') ) {s = 32;}\r
2273 \r
2274                         else if ( ((LA23_6>='\u0000' && LA23_6<='\b')||(LA23_6>='\u000B' && LA23_6<='\f')||(LA23_6>='\u000E' && LA23_6<='\u001F')||LA23_6=='!'||LA23_6=='$'||LA23_6=='&'||LA23_6=='+'||(LA23_6>='/' && LA23_6<='9')||LA23_6==';'||LA23_6=='='||LA23_6=='?'||(LA23_6>='A' && LA23_6<='D')||(LA23_6>='F' && LA23_6<='Z')||(LA23_6>='^' && LA23_6<='d')||(LA23_6>='f' && LA23_6<='z')||(LA23_6>='~' && LA23_6<='\uFFFF')) ) {s = 26;}\r
2275 \r
2276                         else s = 30;\r
2277 \r
2278                         if ( s>=0 ) return s;\r
2279                         break;\r
2280                     case 5 : \r
2281                         int LA23_62 = input.LA(1);\r
2282 \r
2283                         s = -1;\r
2284                         if ( ((LA23_62>='\u0000' && LA23_62<='\b')||(LA23_62>='\u000B' && LA23_62<='\f')||(LA23_62>='\u000E' && LA23_62<='\u001F')||LA23_62=='!'||LA23_62=='$'||LA23_62=='&'||LA23_62=='+'||(LA23_62>='.' && LA23_62<='/')||LA23_62==';'||LA23_62=='='||LA23_62=='?'||(LA23_62>='A' && LA23_62<='Z')||(LA23_62>='^' && LA23_62<='z')||(LA23_62>='~' && LA23_62<='\uFFFF')) ) {s = 26;}\r
2285 \r
2286                         else if ( ((LA23_62>='0' && LA23_62<='9')) ) {s = 62;}\r
2287 \r
2288                         else s = 41;\r
2289 \r
2290                         if ( s>=0 ) return s;\r
2291                         break;\r
2292                     case 6 : \r
2293                         int LA23_65 = input.LA(1);\r
2294 \r
2295                         s = -1;\r
2296                         if ( ((LA23_65>='\u0000' && LA23_65<='\b')||(LA23_65>='\u000B' && LA23_65<='\f')||(LA23_65>='\u000E' && LA23_65<='\u001F')||LA23_65=='!'||LA23_65=='$'||LA23_65=='&'||LA23_65=='+'||(LA23_65>='.' && LA23_65<='9')||LA23_65==';'||LA23_65=='='||LA23_65=='?'||(LA23_65>='A' && LA23_65<='Z')||(LA23_65>='^' && LA23_65<='z')||(LA23_65>='~' && LA23_65<='\uFFFF')) ) {s = 26;}\r
2297 \r
2298                         else s = 71;\r
2299 \r
2300                         if ( s>=0 ) return s;\r
2301                         break;\r
2302                     case 7 : \r
2303                         int LA23_0 = input.LA(1);\r
2304 \r
2305                          \r
2306                         int index23_0 = input.index();\r
2307                         input.rewind();\r
2308                         s = -1;\r
2309                         if ( (LA23_0=='%') && (( getCharPositionInLine() == 0 ))) {s = 1;}\r
2310 \r
2311                         else if ( (LA23_0=='#') ) {s = 2;}\r
2312 \r
2313                         else if ( (LA23_0=='\n'||LA23_0=='\r') ) {s = 3;}\r
2314 \r
2315                         else if ( (LA23_0=='\"') ) {s = 4;}\r
2316 \r
2317                         else if ( (LA23_0=='-') ) {s = 5;}\r
2318 \r
2319                         else if ( (LA23_0=='0') ) {s = 6;}\r
2320 \r
2321                         else if ( ((LA23_0>='1' && LA23_0<='9')) ) {s = 7;}\r
2322 \r
2323                         else if ( (LA23_0=='{') ) {s = 8;}\r
2324 \r
2325                         else if ( (LA23_0=='}') ) {s = 9;}\r
2326 \r
2327                         else if ( (LA23_0=='[') ) {s = 10;}\r
2328 \r
2329                         else if ( (LA23_0==']') ) {s = 11;}\r
2330 \r
2331                         else if ( (LA23_0=='<') ) {s = 12;}\r
2332 \r
2333                         else if ( (LA23_0=='=') ) {s = 13;}\r
2334 \r
2335                         else if ( (LA23_0=='.') ) {s = 14;}\r
2336 \r
2337                         else if ( (LA23_0==',') ) {s = 15;}\r
2338 \r
2339                         else if ( (LA23_0=='(') ) {s = 16;}\r
2340 \r
2341                         else if ( (LA23_0==')') ) {s = 17;}\r
2342 \r
2343                         else if ( (LA23_0=='*') ) {s = 18;}\r
2344 \r
2345                         else if ( (LA23_0==':') ) {s = 19;}\r
2346 \r
2347                         else if ( (LA23_0=='c') ) {s = 20;}\r
2348 \r
2349                         else if ( (LA23_0=='i') ) {s = 21;}\r
2350 \r
2351                         else if ( (LA23_0=='e') ) {s = 22;}\r
2352 \r
2353                         else if ( (LA23_0=='r') ) {s = 23;}\r
2354 \r
2355                         else if ( (LA23_0=='b') ) {s = 24;}\r
2356 \r
2357                         else if ( (LA23_0=='m') ) {s = 25;}\r
2358 \r
2359                         else if ( ((LA23_0>='\u0000' && LA23_0<='\b')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\u001F')||LA23_0=='!'||LA23_0=='$'||LA23_0=='&'||LA23_0=='+'||LA23_0=='/'||LA23_0==';'||LA23_0=='?'||(LA23_0>='A' && LA23_0<='Z')||(LA23_0>='^' && LA23_0<='a')||LA23_0=='d'||(LA23_0>='f' && LA23_0<='h')||(LA23_0>='j' && LA23_0<='l')||(LA23_0>='n' && LA23_0<='q')||(LA23_0>='s' && LA23_0<='z')||(LA23_0>='~' && LA23_0<='\uFFFF')) ) {s = 26;}\r
2360 \r
2361                         else if ( (LA23_0=='\t'||LA23_0==' ') ) {s = 27;}\r
2362 \r
2363                          \r
2364                         input.seek(index23_0);\r
2365                         if ( s>=0 ) return s;\r
2366                         break;\r
2367                     case 8 : \r
2368                         int LA23_33 = input.LA(1);\r
2369 \r
2370                         s = -1;\r
2371                         if ( (LA23_33=='.') ) {s = 31;}\r
2372 \r
2373                         else if ( (LA23_33=='E'||LA23_33=='e') ) {s = 32;}\r
2374 \r
2375                         else if ( ((LA23_33>='0' && LA23_33<='9')) ) {s = 33;}\r
2376 \r
2377                         else if ( ((LA23_33>='\u0000' && LA23_33<='\b')||(LA23_33>='\u000B' && LA23_33<='\f')||(LA23_33>='\u000E' && LA23_33<='\u001F')||LA23_33=='!'||LA23_33=='$'||LA23_33=='&'||LA23_33=='+'||LA23_33=='/'||LA23_33==';'||LA23_33=='='||LA23_33=='?'||(LA23_33>='A' && LA23_33<='D')||(LA23_33>='F' && LA23_33<='Z')||(LA23_33>='^' && LA23_33<='d')||(LA23_33>='f' && LA23_33<='z')||(LA23_33>='~' && LA23_33<='\uFFFF')) ) {s = 26;}\r
2378 \r
2379                         else s = 30;\r
2380 \r
2381                         if ( s>=0 ) return s;\r
2382                         break;\r
2383                     case 9 : \r
2384                         int LA23_45 = input.LA(1);\r
2385 \r
2386                         s = -1;\r
2387                         if ( ((LA23_45>='0' && LA23_45<='9')) ) {s = 45;}\r
2388 \r
2389                         else if ( ((LA23_45>='\u0000' && LA23_45<='\b')||(LA23_45>='\u000B' && LA23_45<='\f')||(LA23_45>='\u000E' && LA23_45<='\u001F')||LA23_45=='!'||LA23_45=='$'||LA23_45=='&'||LA23_45=='+'||(LA23_45>='.' && LA23_45<='/')||LA23_45==';'||LA23_45=='='||LA23_45=='?'||(LA23_45>='A' && LA23_45<='Z')||(LA23_45>='^' && LA23_45<='z')||(LA23_45>='~' && LA23_45<='\uFFFF')) ) {s = 26;}\r
2390 \r
2391                         else s = 41;\r
2392 \r
2393                         if ( s>=0 ) return s;\r
2394                         break;\r
2395                     case 10 : \r
2396                         int LA23_13 = input.LA(1);\r
2397 \r
2398                         s = -1;\r
2399                         if ( ((LA23_13>='\u0000' && LA23_13<='\b')||(LA23_13>='\u000B' && LA23_13<='\f')||(LA23_13>='\u000E' && LA23_13<='\u001F')||LA23_13=='!'||LA23_13=='$'||LA23_13=='&'||LA23_13=='+'||(LA23_13>='.' && LA23_13<='9')||LA23_13==';'||LA23_13=='='||LA23_13=='?'||(LA23_13>='A' && LA23_13<='Z')||(LA23_13>='^' && LA23_13<='z')||(LA23_13>='~' && LA23_13<='\uFFFF')) ) {s = 26;}\r
2400 \r
2401                         else s = 34;\r
2402 \r
2403                         if ( s>=0 ) return s;\r
2404                         break;\r
2405                     case 11 : \r
2406                         int LA23_63 = input.LA(1);\r
2407 \r
2408                         s = -1;\r
2409                         if ( ((LA23_63>='\u0000' && LA23_63<='\b')||(LA23_63>='\u000B' && LA23_63<='\f')||(LA23_63>='\u000E' && LA23_63<='\u001F')||LA23_63=='!'||LA23_63=='$'||LA23_63=='&'||LA23_63=='+'||(LA23_63>='.' && LA23_63<='9')||LA23_63==';'||LA23_63=='='||LA23_63=='?'||(LA23_63>='A' && LA23_63<='Z')||(LA23_63>='^' && LA23_63<='z')||(LA23_63>='~' && LA23_63<='\uFFFF')) ) {s = 26;}\r
2410 \r
2411                         else s = 69;\r
2412 \r
2413                         if ( s>=0 ) return s;\r
2414                         break;\r
2415                     case 12 : \r
2416                         int LA23_7 = input.LA(1);\r
2417 \r
2418                         s = -1;\r
2419                         if ( ((LA23_7>='0' && LA23_7<='9')) ) {s = 33;}\r
2420 \r
2421                         else if ( (LA23_7=='.') ) {s = 31;}\r
2422 \r
2423                         else if ( (LA23_7=='E'||LA23_7=='e') ) {s = 32;}\r
2424 \r
2425                         else if ( ((LA23_7>='\u0000' && LA23_7<='\b')||(LA23_7>='\u000B' && LA23_7<='\f')||(LA23_7>='\u000E' && LA23_7<='\u001F')||LA23_7=='!'||LA23_7=='$'||LA23_7=='&'||LA23_7=='+'||LA23_7=='/'||LA23_7==';'||LA23_7=='='||LA23_7=='?'||(LA23_7>='A' && LA23_7<='D')||(LA23_7>='F' && LA23_7<='Z')||(LA23_7>='^' && LA23_7<='d')||(LA23_7>='f' && LA23_7<='z')||(LA23_7>='~' && LA23_7<='\uFFFF')) ) {s = 26;}\r
2426 \r
2427                         else s = 30;\r
2428 \r
2429                         if ( s>=0 ) return s;\r
2430                         break;\r
2431                     case 13 : \r
2432                         int LA23_49 = input.LA(1);\r
2433 \r
2434                         s = -1;\r
2435                         if ( ((LA23_49>='\u0000' && LA23_49<='\b')||(LA23_49>='\u000B' && LA23_49<='\f')||(LA23_49>='\u000E' && LA23_49<='\u001F')||LA23_49=='!'||LA23_49=='$'||LA23_49=='&'||LA23_49=='+'||(LA23_49>='.' && LA23_49<='9')||LA23_49==';'||LA23_49=='='||LA23_49=='?'||(LA23_49>='A' && LA23_49<='Z')||(LA23_49>='^' && LA23_49<='z')||(LA23_49>='~' && LA23_49<='\uFFFF')) ) {s = 26;}\r
2436 \r
2437                         else s = 57;\r
2438 \r
2439                         if ( s>=0 ) return s;\r
2440                         break;\r
2441                     case 14 : \r
2442                         int LA23_85 = input.LA(1);\r
2443 \r
2444                         s = -1;\r
2445                         if ( ((LA23_85>='\u0000' && LA23_85<='\b')||(LA23_85>='\u000B' && LA23_85<='\f')||(LA23_85>='\u000E' && LA23_85<='\u001F')||LA23_85=='!'||LA23_85=='$'||LA23_85=='&'||LA23_85=='+'||(LA23_85>='.' && LA23_85<='9')||LA23_85==';'||LA23_85=='='||LA23_85=='?'||(LA23_85>='A' && LA23_85<='Z')||(LA23_85>='^' && LA23_85<='z')||(LA23_85>='~' && LA23_85<='\uFFFF')) ) {s = 26;}\r
2446 \r
2447                         else s = 86;\r
2448 \r
2449                         if ( s>=0 ) return s;\r
2450                         break;\r
2451             }\r
2452             if (state.backtracking>0) {state.failed=true; return -1;}\r
2453             NoViableAltException nvae =\r
2454                 new NoViableAltException(getDescription(), 23, _s, input);\r
2455             error(nvae);\r
2456             throw nvae;\r
2457         }\r
2458     }\r
2459  \r
2460 \r
2461 }