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