1 // $ANTLR 3.5.2 src/org/simantics/graph/compiler/internal/parsing/Graph.g 2018-06-15 14:02:54
2 package org.simantics.graph.compiler.internal.parsing;
4 import org.antlr.runtime.*;
5 import java.util.Stack;
7 import java.util.ArrayList;
9 import java.util.HashMap;
11 import org.antlr.runtime.tree.*;
14 @SuppressWarnings("all")
15 public class GraphParser extends Parser {
16 public static final String[] tokenNames = new String[] {
17 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ARRAY", "ARRAY_TYPE", "ASSIGNMENT",
18 "BLANK", "COMMENT", "DEDENT", "DOMAIN_OF", "EMBEDDED_TYPE", "EMBEDDED_VALUE",
19 "EQUALS", "ESC_SEQ", "EXPONENT", "FALSE", "FILE", "FLOAT", "HAS_DOMAIN",
20 "HAS_RANGE", "HEX_DIGIT", "ID", "INDENT", "INHERITS", "INSTANCE_OF", "INT",
21 "INT_RANGE", "LBRACKET", "LCURLY", "LPAREN", "MAP", "NEWLINE", "NO_VALUE",
22 "PROPERTY", "RANGE", "RBRACKET", "RCURLY", "RECORD", "RECORD_TYPE", "REF",
23 "REQUIRES_VALUE_TYPE", "RESOURCE", "RPAREN", "STRING", "SUBRELATION_OF",
24 "TAGGED_VALUE", "TEMPLATE_DEFINITION", "TEMPLATE_INSTANCE", "TRUE", "TUPLE",
25 "TUPLE_TYPE", "TYPE_ANNOTATION", "TYPE_COMPONENT", "TYPE_DEFINITION",
26 "TYPE_DEFINITIONS", "TYPE_REFERENCE", "UNICODE_ESC", "UNION_TYPE", "URI",
27 "VALUE_DEFINITION", "VALUE_DEFINITIONS", "VARIABLE", "VARIANT", "WS",
28 "'$'", "'%'", "','", "'-->'", "'.'", "':'", "'<--'", "'<R'", "'<T'", "'='",
29 "'==>'", "'>--'", "'@'", "'false'", "'true'", "'|'"
31 public static final int EOF=-1;
32 public static final int T__65=65;
33 public static final int T__66=66;
34 public static final int T__67=67;
35 public static final int T__68=68;
36 public static final int T__69=69;
37 public static final int T__70=70;
38 public static final int T__71=71;
39 public static final int T__72=72;
40 public static final int T__73=73;
41 public static final int T__74=74;
42 public static final int T__75=75;
43 public static final int T__76=76;
44 public static final int T__77=77;
45 public static final int T__78=78;
46 public static final int T__79=79;
47 public static final int T__80=80;
48 public static final int ARRAY=4;
49 public static final int ARRAY_TYPE=5;
50 public static final int ASSIGNMENT=6;
51 public static final int BLANK=7;
52 public static final int COMMENT=8;
53 public static final int DEDENT=9;
54 public static final int DOMAIN_OF=10;
55 public static final int EMBEDDED_TYPE=11;
56 public static final int EMBEDDED_VALUE=12;
57 public static final int EQUALS=13;
58 public static final int ESC_SEQ=14;
59 public static final int EXPONENT=15;
60 public static final int FALSE=16;
61 public static final int FILE=17;
62 public static final int FLOAT=18;
63 public static final int HAS_DOMAIN=19;
64 public static final int HAS_RANGE=20;
65 public static final int HEX_DIGIT=21;
66 public static final int ID=22;
67 public static final int INDENT=23;
68 public static final int INHERITS=24;
69 public static final int INSTANCE_OF=25;
70 public static final int INT=26;
71 public static final int INT_RANGE=27;
72 public static final int LBRACKET=28;
73 public static final int LCURLY=29;
74 public static final int LPAREN=30;
75 public static final int MAP=31;
76 public static final int NEWLINE=32;
77 public static final int NO_VALUE=33;
78 public static final int PROPERTY=34;
79 public static final int RANGE=35;
80 public static final int RBRACKET=36;
81 public static final int RCURLY=37;
82 public static final int RECORD=38;
83 public static final int RECORD_TYPE=39;
84 public static final int REF=40;
85 public static final int REQUIRES_VALUE_TYPE=41;
86 public static final int RESOURCE=42;
87 public static final int RPAREN=43;
88 public static final int STRING=44;
89 public static final int SUBRELATION_OF=45;
90 public static final int TAGGED_VALUE=46;
91 public static final int TEMPLATE_DEFINITION=47;
92 public static final int TEMPLATE_INSTANCE=48;
93 public static final int TRUE=49;
94 public static final int TUPLE=50;
95 public static final int TUPLE_TYPE=51;
96 public static final int TYPE_ANNOTATION=52;
97 public static final int TYPE_COMPONENT=53;
98 public static final int TYPE_DEFINITION=54;
99 public static final int TYPE_DEFINITIONS=55;
100 public static final int TYPE_REFERENCE=56;
101 public static final int UNICODE_ESC=57;
102 public static final int UNION_TYPE=58;
103 public static final int URI=59;
104 public static final int VALUE_DEFINITION=60;
105 public static final int VALUE_DEFINITIONS=61;
106 public static final int VARIABLE=62;
107 public static final int VARIANT=63;
108 public static final int WS=64;
111 public Parser[] getDelegates() {
112 return new Parser[] {};
118 public GraphParser(TokenStream input) {
119 this(input, new RecognizerSharedState());
121 public GraphParser(TokenStream input, RecognizerSharedState state) {
125 protected TreeAdaptor adaptor = new CommonTreeAdaptor();
127 public void setTreeAdaptor(TreeAdaptor adaptor) {
128 this.adaptor = adaptor;
130 public TreeAdaptor getTreeAdaptor() {
133 @Override public String[] getTokenNames() { return GraphParser.tokenNames; }
134 @Override public String getGrammarFileName() { return "src/org/simantics/graph/compiler/internal/parsing/Graph.g"; }
137 public static class file_return extends ParserRuleReturnScope {
140 public CommonTree getTree() { return tree; }
144 // $ANTLR start "file"
145 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:1: file : ( NEWLINE )? ( resourceDefinitions )? EOF -> ^( FILE ( resourceDefinitions )? ) ;
146 public final GraphParser.file_return file() throws RecognitionException {
147 GraphParser.file_return retval = new GraphParser.file_return();
148 retval.start = input.LT(1);
150 CommonTree root_0 = null;
154 ParserRuleReturnScope resourceDefinitions2 =null;
156 CommonTree NEWLINE1_tree=null;
157 CommonTree EOF3_tree=null;
158 RewriteRuleTokenStream stream_NEWLINE=new RewriteRuleTokenStream(adaptor,"token NEWLINE");
159 RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF");
160 RewriteRuleSubtreeStream stream_resourceDefinitions=new RewriteRuleSubtreeStream(adaptor,"rule resourceDefinitions");
163 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:6: ( ( NEWLINE )? ( resourceDefinitions )? EOF -> ^( FILE ( resourceDefinitions )? ) )
164 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:8: ( NEWLINE )? ( resourceDefinitions )? EOF
166 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:8: ( NEWLINE )?
168 int LA1_0 = input.LA(1);
169 if ( (LA1_0==NEWLINE) ) {
174 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:8: NEWLINE
176 NEWLINE1=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_file1230); if (state.failed) return retval;
177 if ( state.backtracking==0 ) stream_NEWLINE.add(NEWLINE1);
184 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:17: ( resourceDefinitions )?
186 int LA2_0 = input.LA(1);
187 if ( (LA2_0==FLOAT||LA2_0==ID||LA2_0==INT||(LA2_0 >= LBRACKET && LA2_0 <= LPAREN)||LA2_0==STRING||LA2_0==URI||(LA2_0 >= 65 && LA2_0 <= 66)||(LA2_0 >= 77 && LA2_0 <= 79)) ) {
192 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:17: resourceDefinitions
194 pushFollow(FOLLOW_resourceDefinitions_in_file1233);
195 resourceDefinitions2=resourceDefinitions();
197 if (state.failed) return retval;
198 if ( state.backtracking==0 ) stream_resourceDefinitions.add(resourceDefinitions2.getTree());
204 EOF3=(Token)match(input,EOF,FOLLOW_EOF_in_file1236); if (state.failed) return retval;
205 if ( state.backtracking==0 ) stream_EOF.add(EOF3);
208 // elements: resourceDefinitions
210 // rule labels: retval
211 // token list labels:
214 if ( state.backtracking==0 ) {
215 retval.tree = root_0;
216 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
218 root_0 = (CommonTree)adaptor.nil();
219 // 224:42: -> ^( FILE ( resourceDefinitions )? )
221 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:45: ^( FILE ( resourceDefinitions )? )
223 CommonTree root_1 = (CommonTree)adaptor.nil();
224 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(FILE, "FILE"), root_1);
225 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:224:52: ( resourceDefinitions )?
226 if ( stream_resourceDefinitions.hasNext() ) {
227 adaptor.addChild(root_1, stream_resourceDefinitions.nextTree());
229 stream_resourceDefinitions.reset();
231 adaptor.addChild(root_0, root_1);
237 retval.tree = root_0;
242 retval.stop = input.LT(-1);
244 if ( state.backtracking==0 ) {
245 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
246 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
249 catch (RecognitionException re) {
252 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
255 // do for sure before leaving
262 public static class resourceDefinitions_return extends ParserRuleReturnScope {
265 public CommonTree getTree() { return tree; }
269 // $ANTLR start "resourceDefinitions"
270 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:226:1: resourceDefinitions : resourceDefinition ( NEWLINE ! resourceDefinition )* ;
271 public final GraphParser.resourceDefinitions_return resourceDefinitions() throws RecognitionException {
272 GraphParser.resourceDefinitions_return retval = new GraphParser.resourceDefinitions_return();
273 retval.start = input.LT(1);
275 CommonTree root_0 = null;
278 ParserRuleReturnScope resourceDefinition4 =null;
279 ParserRuleReturnScope resourceDefinition6 =null;
281 CommonTree NEWLINE5_tree=null;
284 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:227:6: ( resourceDefinition ( NEWLINE ! resourceDefinition )* )
285 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:227:8: resourceDefinition ( NEWLINE ! resourceDefinition )*
287 root_0 = (CommonTree)adaptor.nil();
290 pushFollow(FOLLOW_resourceDefinition_in_resourceDefinitions1260);
291 resourceDefinition4=resourceDefinition();
293 if (state.failed) return retval;
294 if ( state.backtracking==0 ) adaptor.addChild(root_0, resourceDefinition4.getTree());
296 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:227:27: ( NEWLINE ! resourceDefinition )*
300 int LA3_0 = input.LA(1);
301 if ( (LA3_0==NEWLINE) ) {
307 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:227:28: NEWLINE ! resourceDefinition
309 NEWLINE5=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_resourceDefinitions1263); if (state.failed) return retval;
310 pushFollow(FOLLOW_resourceDefinition_in_resourceDefinitions1266);
311 resourceDefinition6=resourceDefinition();
313 if (state.failed) return retval;
314 if ( state.backtracking==0 ) adaptor.addChild(root_0, resourceDefinition6.getTree());
326 retval.stop = input.LT(-1);
328 if ( state.backtracking==0 ) {
329 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
330 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
333 catch (RecognitionException re) {
336 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
339 // do for sure before leaving
343 // $ANTLR end "resourceDefinitions"
346 public static class resourceDefinition_return extends ParserRuleReturnScope {
349 public CommonTree getTree() { return tree; }
353 // $ANTLR start "resourceDefinition"
354 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:230:1: resourceDefinition : ( resource ( localProperty )* ( INDENT property ( NEWLINE property )* DEDENT )? -> ^( RESOURCE resource ( localProperty )* ( property )* ) | template -> ^( RESOURCE ^( BLANK template ) template ) );
355 public final GraphParser.resourceDefinition_return resourceDefinition() throws RecognitionException {
356 GraphParser.resourceDefinition_return retval = new GraphParser.resourceDefinition_return();
357 retval.start = input.LT(1);
359 CommonTree root_0 = null;
362 Token NEWLINE11=null;
364 ParserRuleReturnScope resource7 =null;
365 ParserRuleReturnScope localProperty8 =null;
366 ParserRuleReturnScope property10 =null;
367 ParserRuleReturnScope property12 =null;
368 ParserRuleReturnScope template14 =null;
370 CommonTree INDENT9_tree=null;
371 CommonTree NEWLINE11_tree=null;
372 CommonTree DEDENT13_tree=null;
373 RewriteRuleTokenStream stream_INDENT=new RewriteRuleTokenStream(adaptor,"token INDENT");
374 RewriteRuleTokenStream stream_NEWLINE=new RewriteRuleTokenStream(adaptor,"token NEWLINE");
375 RewriteRuleTokenStream stream_DEDENT=new RewriteRuleTokenStream(adaptor,"token DEDENT");
376 RewriteRuleSubtreeStream stream_template=new RewriteRuleSubtreeStream(adaptor,"rule template");
377 RewriteRuleSubtreeStream stream_resource=new RewriteRuleSubtreeStream(adaptor,"rule resource");
378 RewriteRuleSubtreeStream stream_property=new RewriteRuleSubtreeStream(adaptor,"rule property");
379 RewriteRuleSubtreeStream stream_localProperty=new RewriteRuleSubtreeStream(adaptor,"rule localProperty");
382 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:231:5: ( resource ( localProperty )* ( INDENT property ( NEWLINE property )* DEDENT )? -> ^( RESOURCE resource ( localProperty )* ( property )* ) | template -> ^( RESOURCE ^( BLANK template ) template ) )
384 int LA7_0 = input.LA(1);
385 if ( (LA7_0==FLOAT||LA7_0==ID||LA7_0==INT||(LA7_0 >= LBRACKET && LA7_0 <= LPAREN)||LA7_0==STRING||LA7_0==URI||(LA7_0 >= 65 && LA7_0 <= 66)||(LA7_0 >= 78 && LA7_0 <= 79)) ) {
388 else if ( (LA7_0==77) ) {
393 if (state.backtracking>0) {state.failed=true; return retval;}
394 NoViableAltException nvae =
395 new NoViableAltException("", 7, 0, input);
401 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:231:7: resource ( localProperty )* ( INDENT property ( NEWLINE property )* DEDENT )?
403 pushFollow(FOLLOW_resource_in_resourceDefinition1300);
404 resource7=resource();
406 if (state.failed) return retval;
407 if ( state.backtracking==0 ) stream_resource.add(resource7.getTree());
408 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:232:7: ( localProperty )*
412 int LA4_0 = input.LA(1);
413 if ( (LA4_0==ID||LA4_0==URI||LA4_0==66||LA4_0==68||(LA4_0 >= 70 && LA4_0 <= 76)) ) {
419 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:232:7: localProperty
421 pushFollow(FOLLOW_localProperty_in_resourceDefinition1308);
422 localProperty8=localProperty();
424 if (state.failed) return retval;
425 if ( state.backtracking==0 ) stream_localProperty.add(localProperty8.getTree());
434 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:233:7: ( INDENT property ( NEWLINE property )* DEDENT )?
436 int LA6_0 = input.LA(1);
437 if ( (LA6_0==INDENT) ) {
442 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:233:8: INDENT property ( NEWLINE property )* DEDENT
444 INDENT9=(Token)match(input,INDENT,FOLLOW_INDENT_in_resourceDefinition1318); if (state.failed) return retval;
445 if ( state.backtracking==0 ) stream_INDENT.add(INDENT9);
447 pushFollow(FOLLOW_property_in_resourceDefinition1320);
448 property10=property();
450 if (state.failed) return retval;
451 if ( state.backtracking==0 ) stream_property.add(property10.getTree());
452 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:233:24: ( NEWLINE property )*
456 int LA5_0 = input.LA(1);
457 if ( (LA5_0==NEWLINE) ) {
463 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:233:25: NEWLINE property
465 NEWLINE11=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_resourceDefinition1323); if (state.failed) return retval;
466 if ( state.backtracking==0 ) stream_NEWLINE.add(NEWLINE11);
468 pushFollow(FOLLOW_property_in_resourceDefinition1325);
469 property12=property();
471 if (state.failed) return retval;
472 if ( state.backtracking==0 ) stream_property.add(property12.getTree());
481 DEDENT13=(Token)match(input,DEDENT,FOLLOW_DEDENT_in_resourceDefinition1329); if (state.failed) return retval;
482 if ( state.backtracking==0 ) stream_DEDENT.add(DEDENT13);
490 // elements: localProperty, resource, property
492 // rule labels: retval
493 // token list labels:
496 if ( state.backtracking==0 ) {
497 retval.tree = root_0;
498 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
500 root_0 = (CommonTree)adaptor.nil();
501 // 234:5: -> ^( RESOURCE resource ( localProperty )* ( property )* )
503 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:234:8: ^( RESOURCE resource ( localProperty )* ( property )* )
505 CommonTree root_1 = (CommonTree)adaptor.nil();
506 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RESOURCE, "RESOURCE"), root_1);
507 adaptor.addChild(root_1, stream_resource.nextTree());
508 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:234:28: ( localProperty )*
509 while ( stream_localProperty.hasNext() ) {
510 adaptor.addChild(root_1, stream_localProperty.nextTree());
512 stream_localProperty.reset();
514 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:234:43: ( property )*
515 while ( stream_property.hasNext() ) {
516 adaptor.addChild(root_1, stream_property.nextTree());
518 stream_property.reset();
520 adaptor.addChild(root_0, root_1);
526 retval.tree = root_0;
532 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:235:7: template
534 pushFollow(FOLLOW_template_in_resourceDefinition1358);
535 template14=template();
537 if (state.failed) return retval;
538 if ( state.backtracking==0 ) stream_template.add(template14.getTree());
540 // elements: template, template
542 // rule labels: retval
543 // token list labels:
546 if ( state.backtracking==0 ) {
547 retval.tree = root_0;
548 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
550 root_0 = (CommonTree)adaptor.nil();
551 // 235:16: -> ^( RESOURCE ^( BLANK template ) template )
553 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:235:19: ^( RESOURCE ^( BLANK template ) template )
555 CommonTree root_1 = (CommonTree)adaptor.nil();
556 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RESOURCE, "RESOURCE"), root_1);
557 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:235:30: ^( BLANK template )
559 CommonTree root_2 = (CommonTree)adaptor.nil();
560 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLANK, "BLANK"), root_2);
561 adaptor.addChild(root_2, stream_template.nextTree());
562 adaptor.addChild(root_1, root_2);
565 adaptor.addChild(root_1, stream_template.nextTree());
566 adaptor.addChild(root_0, root_1);
572 retval.tree = root_0;
579 retval.stop = input.LT(-1);
581 if ( state.backtracking==0 ) {
582 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
583 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
586 catch (RecognitionException re) {
589 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
592 // do for sure before leaving
596 // $ANTLR end "resourceDefinition"
599 public static class localProperty_return extends ParserRuleReturnScope {
602 public CommonTree getTree() { return tree; }
606 // $ANTLR start "localProperty"
607 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:238:1: localProperty : relation resource -> ^( PROPERTY relation ^( RESOURCE resource ) ) ;
608 public final GraphParser.localProperty_return localProperty() throws RecognitionException {
609 GraphParser.localProperty_return retval = new GraphParser.localProperty_return();
610 retval.start = input.LT(1);
612 CommonTree root_0 = null;
614 ParserRuleReturnScope relation15 =null;
615 ParserRuleReturnScope resource16 =null;
617 RewriteRuleSubtreeStream stream_resource=new RewriteRuleSubtreeStream(adaptor,"rule resource");
618 RewriteRuleSubtreeStream stream_relation=new RewriteRuleSubtreeStream(adaptor,"rule relation");
621 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:239:5: ( relation resource -> ^( PROPERTY relation ^( RESOURCE resource ) ) )
622 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:239:7: relation resource
624 pushFollow(FOLLOW_relation_in_localProperty1393);
625 relation15=relation();
627 if (state.failed) return retval;
628 if ( state.backtracking==0 ) stream_relation.add(relation15.getTree());
629 pushFollow(FOLLOW_resource_in_localProperty1395);
630 resource16=resource();
632 if (state.failed) return retval;
633 if ( state.backtracking==0 ) stream_resource.add(resource16.getTree());
635 // elements: relation, resource
637 // rule labels: retval
638 // token list labels:
641 if ( state.backtracking==0 ) {
642 retval.tree = root_0;
643 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
645 root_0 = (CommonTree)adaptor.nil();
646 // 240:5: -> ^( PROPERTY relation ^( RESOURCE resource ) )
648 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:240:8: ^( PROPERTY relation ^( RESOURCE resource ) )
650 CommonTree root_1 = (CommonTree)adaptor.nil();
651 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(PROPERTY, "PROPERTY"), root_1);
652 adaptor.addChild(root_1, stream_relation.nextTree());
653 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:240:28: ^( RESOURCE resource )
655 CommonTree root_2 = (CommonTree)adaptor.nil();
656 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RESOURCE, "RESOURCE"), root_2);
657 adaptor.addChild(root_2, stream_resource.nextTree());
658 adaptor.addChild(root_1, root_2);
661 adaptor.addChild(root_0, root_1);
667 retval.tree = root_0;
672 retval.stop = input.LT(-1);
674 if ( state.backtracking==0 ) {
675 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
676 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
679 catch (RecognitionException re) {
682 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
685 // do for sure before leaving
689 // $ANTLR end "localProperty"
692 public static class property_return extends ParserRuleReturnScope {
695 public CommonTree getTree() { return tree; }
699 // $ANTLR start "property"
700 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:243:1: property : ( relation ( resourceDefinition -> ^( PROPERTY relation resourceDefinition ) | INDENT resourceDefinitions DEDENT -> ^( PROPERTY relation resourceDefinitions ) ) | template );
701 public final GraphParser.property_return property() throws RecognitionException {
702 GraphParser.property_return retval = new GraphParser.property_return();
703 retval.start = input.LT(1);
705 CommonTree root_0 = null;
709 ParserRuleReturnScope relation17 =null;
710 ParserRuleReturnScope resourceDefinition18 =null;
711 ParserRuleReturnScope resourceDefinitions20 =null;
712 ParserRuleReturnScope template22 =null;
714 CommonTree INDENT19_tree=null;
715 CommonTree DEDENT21_tree=null;
716 RewriteRuleTokenStream stream_INDENT=new RewriteRuleTokenStream(adaptor,"token INDENT");
717 RewriteRuleTokenStream stream_DEDENT=new RewriteRuleTokenStream(adaptor,"token DEDENT");
718 RewriteRuleSubtreeStream stream_resourceDefinition=new RewriteRuleSubtreeStream(adaptor,"rule resourceDefinition");
719 RewriteRuleSubtreeStream stream_resourceDefinitions=new RewriteRuleSubtreeStream(adaptor,"rule resourceDefinitions");
720 RewriteRuleSubtreeStream stream_relation=new RewriteRuleSubtreeStream(adaptor,"rule relation");
723 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:244:5: ( relation ( resourceDefinition -> ^( PROPERTY relation resourceDefinition ) | INDENT resourceDefinitions DEDENT -> ^( PROPERTY relation resourceDefinitions ) ) | template )
725 int LA9_0 = input.LA(1);
726 if ( (LA9_0==ID||LA9_0==URI||LA9_0==66||LA9_0==68||(LA9_0 >= 70 && LA9_0 <= 76)) ) {
729 else if ( (LA9_0==77) ) {
734 if (state.backtracking>0) {state.failed=true; return retval;}
735 NoViableAltException nvae =
736 new NoViableAltException("", 9, 0, input);
742 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:244:7: relation ( resourceDefinition -> ^( PROPERTY relation resourceDefinition ) | INDENT resourceDefinitions DEDENT -> ^( PROPERTY relation resourceDefinitions ) )
744 pushFollow(FOLLOW_relation_in_property1434);
745 relation17=relation();
747 if (state.failed) return retval;
748 if ( state.backtracking==0 ) stream_relation.add(relation17.getTree());
749 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:245:7: ( resourceDefinition -> ^( PROPERTY relation resourceDefinition ) | INDENT resourceDefinitions DEDENT -> ^( PROPERTY relation resourceDefinitions ) )
751 int LA8_0 = input.LA(1);
752 if ( (LA8_0==FLOAT||LA8_0==ID||LA8_0==INT||(LA8_0 >= LBRACKET && LA8_0 <= LPAREN)||LA8_0==STRING||LA8_0==URI||(LA8_0 >= 65 && LA8_0 <= 66)||(LA8_0 >= 77 && LA8_0 <= 79)) ) {
755 else if ( (LA8_0==INDENT) ) {
760 if (state.backtracking>0) {state.failed=true; return retval;}
761 NoViableAltException nvae =
762 new NoViableAltException("", 8, 0, input);
768 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:245:9: resourceDefinition
770 pushFollow(FOLLOW_resourceDefinition_in_property1444);
771 resourceDefinition18=resourceDefinition();
773 if (state.failed) return retval;
774 if ( state.backtracking==0 ) stream_resourceDefinition.add(resourceDefinition18.getTree());
776 // elements: relation, resourceDefinition
778 // rule labels: retval
779 // token list labels:
782 if ( state.backtracking==0 ) {
783 retval.tree = root_0;
784 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
786 root_0 = (CommonTree)adaptor.nil();
787 // 245:28: -> ^( PROPERTY relation resourceDefinition )
789 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:245:31: ^( PROPERTY relation resourceDefinition )
791 CommonTree root_1 = (CommonTree)adaptor.nil();
792 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(PROPERTY, "PROPERTY"), root_1);
793 adaptor.addChild(root_1, stream_relation.nextTree());
794 adaptor.addChild(root_1, stream_resourceDefinition.nextTree());
795 adaptor.addChild(root_0, root_1);
801 retval.tree = root_0;
807 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:246:9: INDENT resourceDefinitions DEDENT
809 INDENT19=(Token)match(input,INDENT,FOLLOW_INDENT_in_property1464); if (state.failed) return retval;
810 if ( state.backtracking==0 ) stream_INDENT.add(INDENT19);
812 pushFollow(FOLLOW_resourceDefinitions_in_property1466);
813 resourceDefinitions20=resourceDefinitions();
815 if (state.failed) return retval;
816 if ( state.backtracking==0 ) stream_resourceDefinitions.add(resourceDefinitions20.getTree());
817 DEDENT21=(Token)match(input,DEDENT,FOLLOW_DEDENT_in_property1468); if (state.failed) return retval;
818 if ( state.backtracking==0 ) stream_DEDENT.add(DEDENT21);
821 // elements: relation, resourceDefinitions
823 // rule labels: retval
824 // token list labels:
827 if ( state.backtracking==0 ) {
828 retval.tree = root_0;
829 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
831 root_0 = (CommonTree)adaptor.nil();
832 // 246:43: -> ^( PROPERTY relation resourceDefinitions )
834 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:246:46: ^( PROPERTY relation resourceDefinitions )
836 CommonTree root_1 = (CommonTree)adaptor.nil();
837 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(PROPERTY, "PROPERTY"), root_1);
838 adaptor.addChild(root_1, stream_relation.nextTree());
839 adaptor.addChild(root_1, stream_resourceDefinitions.nextTree());
840 adaptor.addChild(root_0, root_1);
846 retval.tree = root_0;
857 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:248:7: template
859 root_0 = (CommonTree)adaptor.nil();
862 pushFollow(FOLLOW_template_in_property1494);
863 template22=template();
865 if (state.failed) return retval;
866 if ( state.backtracking==0 ) adaptor.addChild(root_0, template22.getTree());
872 retval.stop = input.LT(-1);
874 if ( state.backtracking==0 ) {
875 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
876 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
879 catch (RecognitionException re) {
882 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
885 // do for sure before leaving
889 // $ANTLR end "property"
892 public static class template_return extends ParserRuleReturnScope {
895 public CommonTree getTree() { return tree; }
899 // $ANTLR start "template"
900 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:251:1: template : '@' ({...}? => ID ( resource )+ INDENT resourceDefinitions DEDENT -> ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions ) | ( resource )+ ( INDENT resourceDefinitions DEDENT )? -> ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? ) ) ;
901 public final GraphParser.template_return template() throws RecognitionException {
902 GraphParser.template_return retval = new GraphParser.template_return();
903 retval.start = input.LT(1);
905 CommonTree root_0 = null;
907 Token char_literal23=null;
913 ParserRuleReturnScope resource25 =null;
914 ParserRuleReturnScope resourceDefinitions27 =null;
915 ParserRuleReturnScope resource29 =null;
916 ParserRuleReturnScope resourceDefinitions31 =null;
918 CommonTree char_literal23_tree=null;
919 CommonTree ID24_tree=null;
920 CommonTree INDENT26_tree=null;
921 CommonTree DEDENT28_tree=null;
922 CommonTree INDENT30_tree=null;
923 CommonTree DEDENT32_tree=null;
924 RewriteRuleTokenStream stream_INDENT=new RewriteRuleTokenStream(adaptor,"token INDENT");
925 RewriteRuleTokenStream stream_77=new RewriteRuleTokenStream(adaptor,"token 77");
926 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
927 RewriteRuleTokenStream stream_DEDENT=new RewriteRuleTokenStream(adaptor,"token DEDENT");
928 RewriteRuleSubtreeStream stream_resource=new RewriteRuleSubtreeStream(adaptor,"rule resource");
929 RewriteRuleSubtreeStream stream_resourceDefinitions=new RewriteRuleSubtreeStream(adaptor,"rule resourceDefinitions");
932 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:252:5: ( '@' ({...}? => ID ( resource )+ INDENT resourceDefinitions DEDENT -> ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions ) | ( resource )+ ( INDENT resourceDefinitions DEDENT )? -> ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? ) ) )
933 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:252:7: '@' ({...}? => ID ( resource )+ INDENT resourceDefinitions DEDENT -> ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions ) | ( resource )+ ( INDENT resourceDefinitions DEDENT )? -> ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? ) )
935 char_literal23=(Token)match(input,77,FOLLOW_77_in_template1515); if (state.failed) return retval;
936 if ( state.backtracking==0 ) stream_77.add(char_literal23);
938 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:253:5: ({...}? => ID ( resource )+ INDENT resourceDefinitions DEDENT -> ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions ) | ( resource )+ ( INDENT resourceDefinitions DEDENT )? -> ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? ) )
940 int LA13_0 = input.LA(1);
941 if ( (LA13_0==ID) ) {
942 int LA13_1 = input.LA(2);
943 if ( ((input.LT(1).getText().equals("template"))) ) {
951 else if ( (LA13_0==FLOAT||LA13_0==INT||(LA13_0 >= LBRACKET && LA13_0 <= LPAREN)||LA13_0==STRING||LA13_0==URI||(LA13_0 >= 65 && LA13_0 <= 66)||(LA13_0 >= 78 && LA13_0 <= 79)) ) {
956 if (state.backtracking>0) {state.failed=true; return retval;}
957 NoViableAltException nvae =
958 new NoViableAltException("", 13, 0, input);
964 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:253:7: {...}? => ID ( resource )+ INDENT resourceDefinitions DEDENT
966 if ( !((input.LT(1).getText().equals("template"))) ) {
967 if (state.backtracking>0) {state.failed=true; return retval;}
968 throw new FailedPredicateException(input, "template", "input.LT(1).getText().equals(\"template\")");
970 ID24=(Token)match(input,ID,FOLLOW_ID_in_template1533); if (state.failed) return retval;
971 if ( state.backtracking==0 ) stream_ID.add(ID24);
973 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:254:10: ( resource )+
978 int LA10_0 = input.LA(1);
979 if ( (LA10_0==FLOAT||LA10_0==ID||LA10_0==INT||(LA10_0 >= LBRACKET && LA10_0 <= LPAREN)||LA10_0==STRING||LA10_0==URI||(LA10_0 >= 65 && LA10_0 <= 66)||(LA10_0 >= 78 && LA10_0 <= 79)) ) {
985 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:254:10: resource
987 pushFollow(FOLLOW_resource_in_template1535);
988 resource25=resource();
990 if (state.failed) return retval;
991 if ( state.backtracking==0 ) stream_resource.add(resource25.getTree());
996 if ( cnt10 >= 1 ) break loop10;
997 if (state.backtracking>0) {state.failed=true; return retval;}
998 EarlyExitException eee = new EarlyExitException(10, input);
1004 INDENT26=(Token)match(input,INDENT,FOLLOW_INDENT_in_template1545); if (state.failed) return retval;
1005 if ( state.backtracking==0 ) stream_INDENT.add(INDENT26);
1007 pushFollow(FOLLOW_resourceDefinitions_in_template1547);
1008 resourceDefinitions27=resourceDefinitions();
1010 if (state.failed) return retval;
1011 if ( state.backtracking==0 ) stream_resourceDefinitions.add(resourceDefinitions27.getTree());
1012 DEDENT28=(Token)match(input,DEDENT,FOLLOW_DEDENT_in_template1549); if (state.failed) return retval;
1013 if ( state.backtracking==0 ) stream_DEDENT.add(DEDENT28);
1016 // elements: resourceDefinitions, resource
1018 // rule labels: retval
1019 // token list labels:
1020 // rule list labels:
1022 if ( state.backtracking==0 ) {
1023 retval.tree = root_0;
1024 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1026 root_0 = (CommonTree)adaptor.nil();
1027 // 256:7: -> ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions )
1029 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:256:10: ^( TEMPLATE_DEFINITION ( resource )+ resourceDefinitions )
1031 CommonTree root_1 = (CommonTree)adaptor.nil();
1032 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TEMPLATE_DEFINITION, "TEMPLATE_DEFINITION"), root_1);
1033 if ( !(stream_resource.hasNext()) ) {
1034 throw new RewriteEarlyExitException();
1036 while ( stream_resource.hasNext() ) {
1037 adaptor.addChild(root_1, stream_resource.nextTree());
1039 stream_resource.reset();
1041 adaptor.addChild(root_1, stream_resourceDefinitions.nextTree());
1042 adaptor.addChild(root_0, root_1);
1048 retval.tree = root_0;
1054 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:257:7: ( resource )+ ( INDENT resourceDefinitions DEDENT )?
1056 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:257:7: ( resource )+
1061 int LA11_0 = input.LA(1);
1062 if ( (LA11_0==FLOAT||LA11_0==ID||LA11_0==INT||(LA11_0 >= LBRACKET && LA11_0 <= LPAREN)||LA11_0==STRING||LA11_0==URI||(LA11_0 >= 65 && LA11_0 <= 66)||(LA11_0 >= 78 && LA11_0 <= 79)) ) {
1068 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:257:7: resource
1070 pushFollow(FOLLOW_resource_in_template1574);
1071 resource29=resource();
1073 if (state.failed) return retval;
1074 if ( state.backtracking==0 ) stream_resource.add(resource29.getTree());
1079 if ( cnt11 >= 1 ) break loop11;
1080 if (state.backtracking>0) {state.failed=true; return retval;}
1081 EarlyExitException eee = new EarlyExitException(11, input);
1087 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:258:7: ( INDENT resourceDefinitions DEDENT )?
1089 int LA12_0 = input.LA(1);
1090 if ( (LA12_0==INDENT) ) {
1095 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:258:8: INDENT resourceDefinitions DEDENT
1097 INDENT30=(Token)match(input,INDENT,FOLLOW_INDENT_in_template1585); if (state.failed) return retval;
1098 if ( state.backtracking==0 ) stream_INDENT.add(INDENT30);
1100 pushFollow(FOLLOW_resourceDefinitions_in_template1587);
1101 resourceDefinitions31=resourceDefinitions();
1103 if (state.failed) return retval;
1104 if ( state.backtracking==0 ) stream_resourceDefinitions.add(resourceDefinitions31.getTree());
1105 DEDENT32=(Token)match(input,DEDENT,FOLLOW_DEDENT_in_template1589); if (state.failed) return retval;
1106 if ( state.backtracking==0 ) stream_DEDENT.add(DEDENT32);
1114 // elements: resource, resourceDefinitions
1116 // rule labels: retval
1117 // token list labels:
1118 // rule list labels:
1120 if ( state.backtracking==0 ) {
1121 retval.tree = root_0;
1122 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1124 root_0 = (CommonTree)adaptor.nil();
1125 // 259:7: -> ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? )
1127 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:259:10: ^( TEMPLATE_INSTANCE ( resource )+ ( resourceDefinitions )? )
1129 CommonTree root_1 = (CommonTree)adaptor.nil();
1130 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TEMPLATE_INSTANCE, "TEMPLATE_INSTANCE"), root_1);
1131 if ( !(stream_resource.hasNext()) ) {
1132 throw new RewriteEarlyExitException();
1134 while ( stream_resource.hasNext() ) {
1135 adaptor.addChild(root_1, stream_resource.nextTree());
1137 stream_resource.reset();
1139 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:259:40: ( resourceDefinitions )?
1140 if ( stream_resourceDefinitions.hasNext() ) {
1141 adaptor.addChild(root_1, stream_resourceDefinitions.nextTree());
1143 stream_resourceDefinitions.reset();
1145 adaptor.addChild(root_0, root_1);
1151 retval.tree = root_0;
1161 retval.stop = input.LT(-1);
1163 if ( state.backtracking==0 ) {
1164 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1165 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1168 catch (RecognitionException re) {
1171 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1174 // do for sure before leaving
1178 // $ANTLR end "template"
1181 public static class relation_return extends ParserRuleReturnScope {
1184 public CommonTree getTree() { return tree; }
1188 // $ANTLR start "relation"
1189 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:267:1: relation : ( ( ID -> ID ) ( '.' ID -> ^( REF $relation ID ) )* | URI | '<T' -> INHERITS | '<R' -> SUBRELATION_OF | '<--' -> HAS_DOMAIN | '-->' -> HAS_RANGE | '==>' -> REQUIRES_VALUE_TYPE | '>--' -> DOMAIN_OF | ':' -> INSTANCE_OF | '=' -> EQUALS | '%' ID -> ^( VARIABLE ID ) );
1190 public final GraphParser.relation_return relation() throws RecognitionException {
1191 GraphParser.relation_return retval = new GraphParser.relation_return();
1192 retval.start = input.LT(1);
1194 CommonTree root_0 = null;
1197 Token char_literal34=null;
1200 Token string_literal37=null;
1201 Token string_literal38=null;
1202 Token string_literal39=null;
1203 Token string_literal40=null;
1204 Token string_literal41=null;
1205 Token string_literal42=null;
1206 Token char_literal43=null;
1207 Token char_literal44=null;
1208 Token char_literal45=null;
1211 CommonTree ID33_tree=null;
1212 CommonTree char_literal34_tree=null;
1213 CommonTree ID35_tree=null;
1214 CommonTree URI36_tree=null;
1215 CommonTree string_literal37_tree=null;
1216 CommonTree string_literal38_tree=null;
1217 CommonTree string_literal39_tree=null;
1218 CommonTree string_literal40_tree=null;
1219 CommonTree string_literal41_tree=null;
1220 CommonTree string_literal42_tree=null;
1221 CommonTree char_literal43_tree=null;
1222 CommonTree char_literal44_tree=null;
1223 CommonTree char_literal45_tree=null;
1224 CommonTree ID46_tree=null;
1225 RewriteRuleTokenStream stream_66=new RewriteRuleTokenStream(adaptor,"token 66");
1226 RewriteRuleTokenStream stream_68=new RewriteRuleTokenStream(adaptor,"token 68");
1227 RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
1228 RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
1229 RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
1230 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
1231 RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
1232 RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
1233 RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
1234 RewriteRuleTokenStream stream_75=new RewriteRuleTokenStream(adaptor,"token 75");
1235 RewriteRuleTokenStream stream_76=new RewriteRuleTokenStream(adaptor,"token 76");
1238 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:268:5: ( ( ID -> ID ) ( '.' ID -> ^( REF $relation ID ) )* | URI | '<T' -> INHERITS | '<R' -> SUBRELATION_OF | '<--' -> HAS_DOMAIN | '-->' -> HAS_RANGE | '==>' -> REQUIRES_VALUE_TYPE | '>--' -> DOMAIN_OF | ':' -> INSTANCE_OF | '=' -> EQUALS | '%' ID -> ^( VARIABLE ID ) )
1240 switch ( input.LA(1) ) {
1297 if (state.backtracking>0) {state.failed=true; return retval;}
1298 NoViableAltException nvae =
1299 new NoViableAltException("", 15, 0, input);
1304 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:268:7: ( ID -> ID ) ( '.' ID -> ^( REF $relation ID ) )*
1306 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:268:7: ( ID -> ID )
1307 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:268:9: ID
1309 ID33=(Token)match(input,ID,FOLLOW_ID_in_relation1643); if (state.failed) return retval;
1310 if ( state.backtracking==0 ) stream_ID.add(ID33);
1315 // rule labels: retval
1316 // token list labels:
1317 // rule list labels:
1319 if ( state.backtracking==0 ) {
1320 retval.tree = root_0;
1321 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1323 root_0 = (CommonTree)adaptor.nil();
1326 adaptor.addChild(root_0, stream_ID.nextNode());
1330 retval.tree = root_0;
1335 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:269:7: ( '.' ID -> ^( REF $relation ID ) )*
1339 int LA14_0 = input.LA(1);
1340 if ( (LA14_0==69) ) {
1346 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:269:8: '.' ID
1348 char_literal34=(Token)match(input,69,FOLLOW_69_in_relation1658); if (state.failed) return retval;
1349 if ( state.backtracking==0 ) stream_69.add(char_literal34);
1351 ID35=(Token)match(input,ID,FOLLOW_ID_in_relation1660); if (state.failed) return retval;
1352 if ( state.backtracking==0 ) stream_ID.add(ID35);
1355 // elements: relation, ID
1357 // rule labels: retval
1358 // token list labels:
1359 // rule list labels:
1361 if ( state.backtracking==0 ) {
1362 retval.tree = root_0;
1363 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1365 root_0 = (CommonTree)adaptor.nil();
1366 // 269:15: -> ^( REF $relation ID )
1368 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:269:18: ^( REF $relation ID )
1370 CommonTree root_1 = (CommonTree)adaptor.nil();
1371 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(REF, "REF"), root_1);
1372 adaptor.addChild(root_1, stream_retval.nextTree());
1373 adaptor.addChild(root_1, stream_ID.nextNode());
1374 adaptor.addChild(root_0, root_1);
1380 retval.tree = root_0;
1394 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:270:7: URI
1396 root_0 = (CommonTree)adaptor.nil();
1399 URI36=(Token)match(input,URI,FOLLOW_URI_in_relation1681); if (state.failed) return retval;
1400 if ( state.backtracking==0 ) {
1401 URI36_tree = (CommonTree)adaptor.create(URI36);
1402 adaptor.addChild(root_0, URI36_tree);
1408 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:271:7: '<T'
1410 string_literal37=(Token)match(input,73,FOLLOW_73_in_relation1689); if (state.failed) return retval;
1411 if ( state.backtracking==0 ) stream_73.add(string_literal37);
1416 // rule labels: retval
1417 // token list labels:
1418 // rule list labels:
1420 if ( state.backtracking==0 ) {
1421 retval.tree = root_0;
1422 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1424 root_0 = (CommonTree)adaptor.nil();
1425 // 271:12: -> INHERITS
1427 adaptor.addChild(root_0, (CommonTree)adaptor.create(INHERITS, "INHERITS"));
1431 retval.tree = root_0;
1437 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:272:7: '<R'
1439 string_literal38=(Token)match(input,72,FOLLOW_72_in_relation1701); if (state.failed) return retval;
1440 if ( state.backtracking==0 ) stream_72.add(string_literal38);
1445 // rule labels: retval
1446 // token list labels:
1447 // rule list labels:
1449 if ( state.backtracking==0 ) {
1450 retval.tree = root_0;
1451 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1453 root_0 = (CommonTree)adaptor.nil();
1454 // 272:12: -> SUBRELATION_OF
1456 adaptor.addChild(root_0, (CommonTree)adaptor.create(SUBRELATION_OF, "SUBRELATION_OF"));
1460 retval.tree = root_0;
1466 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:273:7: '<--'
1468 string_literal39=(Token)match(input,71,FOLLOW_71_in_relation1713); if (state.failed) return retval;
1469 if ( state.backtracking==0 ) stream_71.add(string_literal39);
1474 // rule labels: retval
1475 // token list labels:
1476 // rule list labels:
1478 if ( state.backtracking==0 ) {
1479 retval.tree = root_0;
1480 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1482 root_0 = (CommonTree)adaptor.nil();
1483 // 273:13: -> HAS_DOMAIN
1485 adaptor.addChild(root_0, (CommonTree)adaptor.create(HAS_DOMAIN, "HAS_DOMAIN"));
1489 retval.tree = root_0;
1495 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:274:7: '-->'
1497 string_literal40=(Token)match(input,68,FOLLOW_68_in_relation1725); if (state.failed) return retval;
1498 if ( state.backtracking==0 ) stream_68.add(string_literal40);
1503 // rule labels: retval
1504 // token list labels:
1505 // rule list labels:
1507 if ( state.backtracking==0 ) {
1508 retval.tree = root_0;
1509 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1511 root_0 = (CommonTree)adaptor.nil();
1512 // 274:13: -> HAS_RANGE
1514 adaptor.addChild(root_0, (CommonTree)adaptor.create(HAS_RANGE, "HAS_RANGE"));
1518 retval.tree = root_0;
1524 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:275:7: '==>'
1526 string_literal41=(Token)match(input,75,FOLLOW_75_in_relation1737); if (state.failed) return retval;
1527 if ( state.backtracking==0 ) stream_75.add(string_literal41);
1532 // rule labels: retval
1533 // token list labels:
1534 // rule list labels:
1536 if ( state.backtracking==0 ) {
1537 retval.tree = root_0;
1538 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1540 root_0 = (CommonTree)adaptor.nil();
1541 // 275:13: -> REQUIRES_VALUE_TYPE
1543 adaptor.addChild(root_0, (CommonTree)adaptor.create(REQUIRES_VALUE_TYPE, "REQUIRES_VALUE_TYPE"));
1547 retval.tree = root_0;
1553 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:276:7: '>--'
1555 string_literal42=(Token)match(input,76,FOLLOW_76_in_relation1749); if (state.failed) return retval;
1556 if ( state.backtracking==0 ) stream_76.add(string_literal42);
1561 // rule labels: retval
1562 // token list labels:
1563 // rule list labels:
1565 if ( state.backtracking==0 ) {
1566 retval.tree = root_0;
1567 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1569 root_0 = (CommonTree)adaptor.nil();
1570 // 276:13: -> DOMAIN_OF
1572 adaptor.addChild(root_0, (CommonTree)adaptor.create(DOMAIN_OF, "DOMAIN_OF"));
1576 retval.tree = root_0;
1582 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:277:7: ':'
1584 char_literal43=(Token)match(input,70,FOLLOW_70_in_relation1765); if (state.failed) return retval;
1585 if ( state.backtracking==0 ) stream_70.add(char_literal43);
1590 // rule labels: retval
1591 // token list labels:
1592 // rule list labels:
1594 if ( state.backtracking==0 ) {
1595 retval.tree = root_0;
1596 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1598 root_0 = (CommonTree)adaptor.nil();
1599 // 277:11: -> INSTANCE_OF
1601 adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTANCE_OF, "INSTANCE_OF"));
1605 retval.tree = root_0;
1611 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:278:7: '='
1613 char_literal44=(Token)match(input,74,FOLLOW_74_in_relation1777); if (state.failed) return retval;
1614 if ( state.backtracking==0 ) stream_74.add(char_literal44);
1619 // rule labels: retval
1620 // token list labels:
1621 // rule list labels:
1623 if ( state.backtracking==0 ) {
1624 retval.tree = root_0;
1625 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1627 root_0 = (CommonTree)adaptor.nil();
1628 // 278:11: -> EQUALS
1630 adaptor.addChild(root_0, (CommonTree)adaptor.create(EQUALS, "EQUALS"));
1634 retval.tree = root_0;
1640 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:279:7: '%' ID
1642 char_literal45=(Token)match(input,66,FOLLOW_66_in_relation1789); if (state.failed) return retval;
1643 if ( state.backtracking==0 ) stream_66.add(char_literal45);
1645 ID46=(Token)match(input,ID,FOLLOW_ID_in_relation1791); if (state.failed) return retval;
1646 if ( state.backtracking==0 ) stream_ID.add(ID46);
1651 // rule labels: retval
1652 // token list labels:
1653 // rule list labels:
1655 if ( state.backtracking==0 ) {
1656 retval.tree = root_0;
1657 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1659 root_0 = (CommonTree)adaptor.nil();
1660 // 279:14: -> ^( VARIABLE ID )
1662 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:279:17: ^( VARIABLE ID )
1664 CommonTree root_1 = (CommonTree)adaptor.nil();
1665 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIABLE, "VARIABLE"), root_1);
1666 adaptor.addChild(root_1, stream_ID.nextNode());
1667 adaptor.addChild(root_0, root_1);
1673 retval.tree = root_0;
1680 retval.stop = input.LT(-1);
1682 if ( state.backtracking==0 ) {
1683 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1684 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1687 catch (RecognitionException re) {
1690 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1693 // do for sure before leaving
1697 // $ANTLR end "relation"
1700 public static class resource_return extends ParserRuleReturnScope {
1703 public CommonTree getTree() { return tree; }
1707 // $ANTLR start "resource"
1708 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:282:1: resource : ( ({...}? => ID -> ^( BLANK ID ) | ID -> ID ) ( '.' ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) ) )* | URI | simpleValue -> ^( EMBEDDED_VALUE simpleValue ) | '$' basicType -> ^( EMBEDDED_TYPE basicType ) | '%' ID -> ^( VARIABLE ID ) );
1709 public final GraphParser.resource_return resource() throws RecognitionException {
1710 GraphParser.resource_return retval = new GraphParser.resource_return();
1711 retval.start = input.LT(1);
1713 CommonTree root_0 = null;
1717 Token char_literal49=null;
1719 Token STRING51=null;
1721 Token char_literal54=null;
1722 Token char_literal56=null;
1724 ParserRuleReturnScope simpleValue53 =null;
1725 ParserRuleReturnScope basicType55 =null;
1727 CommonTree ID47_tree=null;
1728 CommonTree ID48_tree=null;
1729 CommonTree char_literal49_tree=null;
1730 CommonTree ID50_tree=null;
1731 CommonTree STRING51_tree=null;
1732 CommonTree URI52_tree=null;
1733 CommonTree char_literal54_tree=null;
1734 CommonTree char_literal56_tree=null;
1735 CommonTree ID57_tree=null;
1736 RewriteRuleTokenStream stream_66=new RewriteRuleTokenStream(adaptor,"token 66");
1737 RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
1738 RewriteRuleTokenStream stream_STRING=new RewriteRuleTokenStream(adaptor,"token STRING");
1739 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
1740 RewriteRuleTokenStream stream_65=new RewriteRuleTokenStream(adaptor,"token 65");
1741 RewriteRuleSubtreeStream stream_basicType=new RewriteRuleSubtreeStream(adaptor,"rule basicType");
1742 RewriteRuleSubtreeStream stream_simpleValue=new RewriteRuleSubtreeStream(adaptor,"rule simpleValue");
1745 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:283:5: ( ({...}? => ID -> ^( BLANK ID ) | ID -> ID ) ( '.' ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) ) )* | URI | simpleValue -> ^( EMBEDDED_VALUE simpleValue ) | '$' basicType -> ^( EMBEDDED_TYPE basicType ) | '%' ID -> ^( VARIABLE ID ) )
1747 switch ( input.LA(1) ) {
1781 if (state.backtracking>0) {state.failed=true; return retval;}
1782 NoViableAltException nvae =
1783 new NoViableAltException("", 19, 0, input);
1788 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:283:7: ({...}? => ID -> ^( BLANK ID ) | ID -> ID ) ( '.' ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) ) )*
1790 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:283:7: ({...}? => ID -> ^( BLANK ID ) | ID -> ID )
1792 int LA16_0 = input.LA(1);
1793 if ( (LA16_0==ID) ) {
1794 int LA16_1 = input.LA(2);
1795 if ( ((input.LT(1).getText().equals("_"))) ) {
1798 else if ( (true) ) {
1805 if (state.backtracking>0) {state.failed=true; return retval;}
1806 NoViableAltException nvae =
1807 new NoViableAltException("", 16, 0, input);
1813 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:283:9: {...}? => ID
1815 if ( !((input.LT(1).getText().equals("_"))) ) {
1816 if (state.backtracking>0) {state.failed=true; return retval;}
1817 throw new FailedPredicateException(input, "resource", "input.LT(1).getText().equals(\"_\")");
1819 ID47=(Token)match(input,ID,FOLLOW_ID_in_resource1821); if (state.failed) return retval;
1820 if ( state.backtracking==0 ) stream_ID.add(ID47);
1825 // rule labels: retval
1826 // token list labels:
1827 // rule list labels:
1829 if ( state.backtracking==0 ) {
1830 retval.tree = root_0;
1831 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1833 root_0 = (CommonTree)adaptor.nil();
1834 // 283:51: -> ^( BLANK ID )
1836 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:283:54: ^( BLANK ID )
1838 CommonTree root_1 = (CommonTree)adaptor.nil();
1839 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(BLANK, "BLANK"), root_1);
1840 adaptor.addChild(root_1, stream_ID.nextNode());
1841 adaptor.addChild(root_0, root_1);
1847 retval.tree = root_0;
1853 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:284:9: ID
1855 ID48=(Token)match(input,ID,FOLLOW_ID_in_resource1840); if (state.failed) return retval;
1856 if ( state.backtracking==0 ) stream_ID.add(ID48);
1861 // rule labels: retval
1862 // token list labels:
1863 // rule list labels:
1865 if ( state.backtracking==0 ) {
1866 retval.tree = root_0;
1867 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1869 root_0 = (CommonTree)adaptor.nil();
1872 adaptor.addChild(root_0, stream_ID.nextNode());
1876 retval.tree = root_0;
1884 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:285:7: ( '.' ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) ) )*
1888 int LA18_0 = input.LA(1);
1889 if ( (LA18_0==69) ) {
1895 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:285:8: '.' ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) )
1897 char_literal49=(Token)match(input,69,FOLLOW_69_in_resource1855); if (state.failed) return retval;
1898 if ( state.backtracking==0 ) stream_69.add(char_literal49);
1900 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:285:12: ( ID -> ^( REF $resource ID ) | STRING -> ^( REF $resource STRING ) )
1902 int LA17_0 = input.LA(1);
1903 if ( (LA17_0==ID) ) {
1906 else if ( (LA17_0==STRING) ) {
1911 if (state.backtracking>0) {state.failed=true; return retval;}
1912 NoViableAltException nvae =
1913 new NoViableAltException("", 17, 0, input);
1919 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:285:13: ID
1921 ID50=(Token)match(input,ID,FOLLOW_ID_in_resource1858); if (state.failed) return retval;
1922 if ( state.backtracking==0 ) stream_ID.add(ID50);
1925 // elements: ID, resource
1927 // rule labels: retval
1928 // token list labels:
1929 // rule list labels:
1931 if ( state.backtracking==0 ) {
1932 retval.tree = root_0;
1933 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1935 root_0 = (CommonTree)adaptor.nil();
1936 // 285:16: -> ^( REF $resource ID )
1938 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:285:19: ^( REF $resource ID )
1940 CommonTree root_1 = (CommonTree)adaptor.nil();
1941 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(REF, "REF"), root_1);
1942 adaptor.addChild(root_1, stream_retval.nextTree());
1943 adaptor.addChild(root_1, stream_ID.nextNode());
1944 adaptor.addChild(root_0, root_1);
1950 retval.tree = root_0;
1956 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:286:13: STRING
1958 STRING51=(Token)match(input,STRING,FOLLOW_STRING_in_resource1883); if (state.failed) return retval;
1959 if ( state.backtracking==0 ) stream_STRING.add(STRING51);
1962 // elements: STRING, resource
1964 // rule labels: retval
1965 // token list labels:
1966 // rule list labels:
1968 if ( state.backtracking==0 ) {
1969 retval.tree = root_0;
1970 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
1972 root_0 = (CommonTree)adaptor.nil();
1973 // 286:20: -> ^( REF $resource STRING )
1975 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:286:23: ^( REF $resource STRING )
1977 CommonTree root_1 = (CommonTree)adaptor.nil();
1978 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(REF, "REF"), root_1);
1979 adaptor.addChild(root_1, stream_retval.nextTree());
1980 adaptor.addChild(root_1, stream_STRING.nextNode());
1981 adaptor.addChild(root_0, root_1);
1987 retval.tree = root_0;
2006 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:289:7: URI
2008 root_0 = (CommonTree)adaptor.nil();
2011 URI52=(Token)match(input,URI,FOLLOW_URI_in_resource1924); if (state.failed) return retval;
2012 if ( state.backtracking==0 ) {
2013 URI52_tree = (CommonTree)adaptor.create(URI52);
2014 adaptor.addChild(root_0, URI52_tree);
2020 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:290:7: simpleValue
2022 pushFollow(FOLLOW_simpleValue_in_resource1932);
2023 simpleValue53=simpleValue();
2025 if (state.failed) return retval;
2026 if ( state.backtracking==0 ) stream_simpleValue.add(simpleValue53.getTree());
2028 // elements: simpleValue
2030 // rule labels: retval
2031 // token list labels:
2032 // rule list labels:
2034 if ( state.backtracking==0 ) {
2035 retval.tree = root_0;
2036 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2038 root_0 = (CommonTree)adaptor.nil();
2039 // 290:19: -> ^( EMBEDDED_VALUE simpleValue )
2041 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:290:22: ^( EMBEDDED_VALUE simpleValue )
2043 CommonTree root_1 = (CommonTree)adaptor.nil();
2044 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(EMBEDDED_VALUE, "EMBEDDED_VALUE"), root_1);
2045 adaptor.addChild(root_1, stream_simpleValue.nextTree());
2046 adaptor.addChild(root_0, root_1);
2052 retval.tree = root_0;
2058 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:291:7: '$' basicType
2060 char_literal54=(Token)match(input,65,FOLLOW_65_in_resource1948); if (state.failed) return retval;
2061 if ( state.backtracking==0 ) stream_65.add(char_literal54);
2063 pushFollow(FOLLOW_basicType_in_resource1950);
2064 basicType55=basicType();
2066 if (state.failed) return retval;
2067 if ( state.backtracking==0 ) stream_basicType.add(basicType55.getTree());
2069 // elements: basicType
2071 // rule labels: retval
2072 // token list labels:
2073 // rule list labels:
2075 if ( state.backtracking==0 ) {
2076 retval.tree = root_0;
2077 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2079 root_0 = (CommonTree)adaptor.nil();
2080 // 291:21: -> ^( EMBEDDED_TYPE basicType )
2082 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:291:24: ^( EMBEDDED_TYPE basicType )
2084 CommonTree root_1 = (CommonTree)adaptor.nil();
2085 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(EMBEDDED_TYPE, "EMBEDDED_TYPE"), root_1);
2086 adaptor.addChild(root_1, stream_basicType.nextTree());
2087 adaptor.addChild(root_0, root_1);
2093 retval.tree = root_0;
2099 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:292:7: '%' ID
2101 char_literal56=(Token)match(input,66,FOLLOW_66_in_resource1966); if (state.failed) return retval;
2102 if ( state.backtracking==0 ) stream_66.add(char_literal56);
2104 ID57=(Token)match(input,ID,FOLLOW_ID_in_resource1968); if (state.failed) return retval;
2105 if ( state.backtracking==0 ) stream_ID.add(ID57);
2110 // rule labels: retval
2111 // token list labels:
2112 // rule list labels:
2114 if ( state.backtracking==0 ) {
2115 retval.tree = root_0;
2116 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2118 root_0 = (CommonTree)adaptor.nil();
2119 // 292:14: -> ^( VARIABLE ID )
2121 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:292:17: ^( VARIABLE ID )
2123 CommonTree root_1 = (CommonTree)adaptor.nil();
2124 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIABLE, "VARIABLE"), root_1);
2125 adaptor.addChild(root_1, stream_ID.nextNode());
2126 adaptor.addChild(root_0, root_1);
2132 retval.tree = root_0;
2139 retval.stop = input.LT(-1);
2141 if ( state.backtracking==0 ) {
2142 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2143 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2146 catch (RecognitionException re) {
2149 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2152 // do for sure before leaving
2156 // $ANTLR end "resource"
2159 public static class type_return extends ParserRuleReturnScope {
2162 public CommonTree getTree() { return tree; }
2166 // $ANTLR start "type"
2167 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:306:1: type : ( arrayType | unionType );
2168 public final GraphParser.type_return type() throws RecognitionException {
2169 GraphParser.type_return retval = new GraphParser.type_return();
2170 retval.start = input.LT(1);
2172 CommonTree root_0 = null;
2174 ParserRuleReturnScope arrayType58 =null;
2175 ParserRuleReturnScope unionType59 =null;
2179 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:307:5: ( arrayType | unionType )
2181 int LA20_0 = input.LA(1);
2182 if ( (LA20_0==ID||(LA20_0 >= LCURLY && LA20_0 <= LPAREN)) ) {
2185 else if ( (LA20_0==80) ) {
2190 if (state.backtracking>0) {state.failed=true; return retval;}
2191 NoViableAltException nvae =
2192 new NoViableAltException("", 20, 0, input);
2198 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:307:7: arrayType
2200 root_0 = (CommonTree)adaptor.nil();
2203 pushFollow(FOLLOW_arrayType_in_type2004);
2204 arrayType58=arrayType();
2206 if (state.failed) return retval;
2207 if ( state.backtracking==0 ) adaptor.addChild(root_0, arrayType58.getTree());
2212 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:308:7: unionType
2214 root_0 = (CommonTree)adaptor.nil();
2217 pushFollow(FOLLOW_unionType_in_type2012);
2218 unionType59=unionType();
2220 if (state.failed) return retval;
2221 if ( state.backtracking==0 ) adaptor.addChild(root_0, unionType59.getTree());
2227 retval.stop = input.LT(-1);
2229 if ( state.backtracking==0 ) {
2230 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2231 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2234 catch (RecognitionException re) {
2237 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2240 // do for sure before leaving
2244 // $ANTLR end "type"
2247 public static class unionType_return extends ParserRuleReturnScope {
2250 public CommonTree getTree() { return tree; }
2254 // $ANTLR start "unionType"
2255 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:311:1: unionType : ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) ;
2256 public final GraphParser.unionType_return unionType() throws RecognitionException {
2257 GraphParser.unionType_return retval = new GraphParser.unionType_return();
2258 retval.start = input.LT(1);
2260 CommonTree root_0 = null;
2262 Token char_literal60=null;
2263 ParserRuleReturnScope unionComponent61 =null;
2265 CommonTree char_literal60_tree=null;
2266 RewriteRuleTokenStream stream_80=new RewriteRuleTokenStream(adaptor,"token 80");
2267 RewriteRuleSubtreeStream stream_unionComponent=new RewriteRuleSubtreeStream(adaptor,"rule unionComponent");
2270 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:312:5: ( ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) )
2271 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:313:6: ( '|' unionComponent )+
2273 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:313:6: ( '|' unionComponent )+
2278 int LA21_0 = input.LA(1);
2279 if ( (LA21_0==80) ) {
2285 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:313:7: '|' unionComponent
2287 char_literal60=(Token)match(input,80,FOLLOW_80_in_unionType2041); if (state.failed) return retval;
2288 if ( state.backtracking==0 ) stream_80.add(char_literal60);
2290 pushFollow(FOLLOW_unionComponent_in_unionType2043);
2291 unionComponent61=unionComponent();
2293 if (state.failed) return retval;
2294 if ( state.backtracking==0 ) stream_unionComponent.add(unionComponent61.getTree());
2299 if ( cnt21 >= 1 ) break loop21;
2300 if (state.backtracking>0) {state.failed=true; return retval;}
2301 EarlyExitException eee = new EarlyExitException(21, input);
2308 // elements: unionComponent
2310 // rule labels: retval
2311 // token list labels:
2312 // rule list labels:
2314 if ( state.backtracking==0 ) {
2315 retval.tree = root_0;
2316 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2318 root_0 = (CommonTree)adaptor.nil();
2319 // 314:5: -> ^( UNION_TYPE ( unionComponent )+ )
2321 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:314:8: ^( UNION_TYPE ( unionComponent )+ )
2323 CommonTree root_1 = (CommonTree)adaptor.nil();
2324 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNION_TYPE, "UNION_TYPE"), root_1);
2325 if ( !(stream_unionComponent.hasNext()) ) {
2326 throw new RewriteEarlyExitException();
2328 while ( stream_unionComponent.hasNext() ) {
2329 adaptor.addChild(root_1, stream_unionComponent.nextTree());
2331 stream_unionComponent.reset();
2333 adaptor.addChild(root_0, root_1);
2339 retval.tree = root_0;
2344 retval.stop = input.LT(-1);
2346 if ( state.backtracking==0 ) {
2347 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2348 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2351 catch (RecognitionException re) {
2354 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2357 // do for sure before leaving
2361 // $ANTLR end "unionType"
2364 public static class unionComponent_return extends ParserRuleReturnScope {
2367 public CommonTree getTree() { return tree; }
2371 // $ANTLR start "unionComponent"
2372 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:1: unionComponent : ID ( ( arrayType )=> arrayType )? -> ^( TYPE_COMPONENT ID ( arrayType )? ) ;
2373 public final GraphParser.unionComponent_return unionComponent() throws RecognitionException {
2374 GraphParser.unionComponent_return retval = new GraphParser.unionComponent_return();
2375 retval.start = input.LT(1);
2377 CommonTree root_0 = null;
2380 ParserRuleReturnScope arrayType63 =null;
2382 CommonTree ID62_tree=null;
2383 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
2384 RewriteRuleSubtreeStream stream_arrayType=new RewriteRuleSubtreeStream(adaptor,"rule arrayType");
2387 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:16: ( ID ( ( arrayType )=> arrayType )? -> ^( TYPE_COMPONENT ID ( arrayType )? ) )
2388 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:18: ID ( ( arrayType )=> arrayType )?
2390 ID62=(Token)match(input,ID,FOLLOW_ID_in_unionComponent2071); if (state.failed) return retval;
2391 if ( state.backtracking==0 ) stream_ID.add(ID62);
2393 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:21: ( ( arrayType )=> arrayType )?
2395 int LA22_0 = input.LA(1);
2396 if ( (LA22_0==LPAREN) && (synpred1_Graph())) {
2399 else if ( (LA22_0==LCURLY) && (synpred1_Graph())) {
2402 else if ( (LA22_0==ID) ) {
2403 int LA22_3 = input.LA(2);
2404 if ( (synpred1_Graph()) ) {
2410 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:22: ( arrayType )=> arrayType
2412 pushFollow(FOLLOW_arrayType_in_unionComponent2080);
2413 arrayType63=arrayType();
2415 if (state.failed) return retval;
2416 if ( state.backtracking==0 ) stream_arrayType.add(arrayType63.getTree());
2423 // elements: ID, arrayType
2425 // rule labels: retval
2426 // token list labels:
2427 // rule list labels:
2429 if ( state.backtracking==0 ) {
2430 retval.tree = root_0;
2431 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2433 root_0 = (CommonTree)adaptor.nil();
2434 // 317:49: -> ^( TYPE_COMPONENT ID ( arrayType )? )
2436 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:52: ^( TYPE_COMPONENT ID ( arrayType )? )
2438 CommonTree root_1 = (CommonTree)adaptor.nil();
2439 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_COMPONENT, "TYPE_COMPONENT"), root_1);
2440 adaptor.addChild(root_1, stream_ID.nextNode());
2441 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:72: ( arrayType )?
2442 if ( stream_arrayType.hasNext() ) {
2443 adaptor.addChild(root_1, stream_arrayType.nextTree());
2445 stream_arrayType.reset();
2447 adaptor.addChild(root_0, root_1);
2453 retval.tree = root_0;
2458 retval.stop = input.LT(-1);
2460 if ( state.backtracking==0 ) {
2461 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2462 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2465 catch (RecognitionException re) {
2468 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2471 // do for sure before leaving
2475 // $ANTLR end "unionComponent"
2478 public static class arrayType_return extends ParserRuleReturnScope {
2481 public CommonTree getTree() { return tree; }
2485 // $ANTLR start "arrayType"
2486 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:319:1: arrayType : ( basicType -> basicType ) ( LBRACKET ( arrayLength )? RBRACKET -> ^( ARRAY_TYPE $arrayType ( arrayLength )? ) )* ;
2487 public final GraphParser.arrayType_return arrayType() throws RecognitionException {
2488 GraphParser.arrayType_return retval = new GraphParser.arrayType_return();
2489 retval.start = input.LT(1);
2491 CommonTree root_0 = null;
2493 Token LBRACKET65=null;
2494 Token RBRACKET67=null;
2495 ParserRuleReturnScope basicType64 =null;
2496 ParserRuleReturnScope arrayLength66 =null;
2498 CommonTree LBRACKET65_tree=null;
2499 CommonTree RBRACKET67_tree=null;
2500 RewriteRuleTokenStream stream_LBRACKET=new RewriteRuleTokenStream(adaptor,"token LBRACKET");
2501 RewriteRuleTokenStream stream_RBRACKET=new RewriteRuleTokenStream(adaptor,"token RBRACKET");
2502 RewriteRuleSubtreeStream stream_basicType=new RewriteRuleSubtreeStream(adaptor,"rule basicType");
2503 RewriteRuleSubtreeStream stream_arrayLength=new RewriteRuleSubtreeStream(adaptor,"rule arrayLength");
2506 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:320:5: ( ( basicType -> basicType ) ( LBRACKET ( arrayLength )? RBRACKET -> ^( ARRAY_TYPE $arrayType ( arrayLength )? ) )* )
2507 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:320:7: ( basicType -> basicType ) ( LBRACKET ( arrayLength )? RBRACKET -> ^( ARRAY_TYPE $arrayType ( arrayLength )? ) )*
2509 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:320:7: ( basicType -> basicType )
2510 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:320:8: basicType
2512 pushFollow(FOLLOW_basicType_in_arrayType2108);
2513 basicType64=basicType();
2515 if (state.failed) return retval;
2516 if ( state.backtracking==0 ) stream_basicType.add(basicType64.getTree());
2518 // elements: basicType
2520 // rule labels: retval
2521 // token list labels:
2522 // rule list labels:
2524 if ( state.backtracking==0 ) {
2525 retval.tree = root_0;
2526 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2528 root_0 = (CommonTree)adaptor.nil();
2529 // 320:18: -> basicType
2531 adaptor.addChild(root_0, stream_basicType.nextTree());
2535 retval.tree = root_0;
2540 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:7: ( LBRACKET ( arrayLength )? RBRACKET -> ^( ARRAY_TYPE $arrayType ( arrayLength )? ) )*
2544 int LA24_0 = input.LA(1);
2545 if ( (LA24_0==LBRACKET) ) {
2551 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:8: LBRACKET ( arrayLength )? RBRACKET
2553 LBRACKET65=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayType2122); if (state.failed) return retval;
2554 if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET65);
2556 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:17: ( arrayLength )?
2558 int LA23_0 = input.LA(1);
2559 if ( ((LA23_0 >= INT && LA23_0 <= INT_RANGE)) ) {
2564 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:17: arrayLength
2566 pushFollow(FOLLOW_arrayLength_in_arrayType2124);
2567 arrayLength66=arrayLength();
2569 if (state.failed) return retval;
2570 if ( state.backtracking==0 ) stream_arrayLength.add(arrayLength66.getTree());
2576 RBRACKET67=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayType2127); if (state.failed) return retval;
2577 if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET67);
2580 // elements: arrayLength, arrayType
2582 // rule labels: retval
2583 // token list labels:
2584 // rule list labels:
2586 if ( state.backtracking==0 ) {
2587 retval.tree = root_0;
2588 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2590 root_0 = (CommonTree)adaptor.nil();
2591 // 321:39: -> ^( ARRAY_TYPE $arrayType ( arrayLength )? )
2593 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:42: ^( ARRAY_TYPE $arrayType ( arrayLength )? )
2595 CommonTree root_1 = (CommonTree)adaptor.nil();
2596 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ARRAY_TYPE, "ARRAY_TYPE"), root_1);
2597 adaptor.addChild(root_1, stream_retval.nextTree());
2598 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:321:66: ( arrayLength )?
2599 if ( stream_arrayLength.hasNext() ) {
2600 adaptor.addChild(root_1, stream_arrayLength.nextTree());
2602 stream_arrayLength.reset();
2604 adaptor.addChild(root_0, root_1);
2610 retval.tree = root_0;
2623 retval.stop = input.LT(-1);
2625 if ( state.backtracking==0 ) {
2626 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2627 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2630 catch (RecognitionException re) {
2633 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2636 // do for sure before leaving
2640 // $ANTLR end "arrayType"
2643 public static class arrayLength_return extends ParserRuleReturnScope {
2646 public CommonTree getTree() { return tree; }
2650 // $ANTLR start "arrayLength"
2651 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:323:1: arrayLength : ( INT | INT_RANGE );
2652 public final GraphParser.arrayLength_return arrayLength() throws RecognitionException {
2653 GraphParser.arrayLength_return retval = new GraphParser.arrayLength_return();
2654 retval.start = input.LT(1);
2656 CommonTree root_0 = null;
2660 CommonTree set68_tree=null;
2663 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:324:5: ( INT | INT_RANGE )
2664 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:
2666 root_0 = (CommonTree)adaptor.nil();
2670 if ( (input.LA(1) >= INT && input.LA(1) <= INT_RANGE) ) {
2672 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set68));
2673 state.errorRecovery=false;
2677 if (state.backtracking>0) {state.failed=true; return retval;}
2678 MismatchedSetException mse = new MismatchedSetException(null,input);
2683 retval.stop = input.LT(-1);
2685 if ( state.backtracking==0 ) {
2686 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2687 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2690 catch (RecognitionException re) {
2693 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2696 // do for sure before leaving
2700 // $ANTLR end "arrayLength"
2703 public static class basicType_return extends ParserRuleReturnScope {
2706 public CommonTree getTree() { return tree; }
2710 // $ANTLR start "basicType"
2711 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:328:1: basicType : ( tupleType | recordType | typeReference );
2712 public final GraphParser.basicType_return basicType() throws RecognitionException {
2713 GraphParser.basicType_return retval = new GraphParser.basicType_return();
2714 retval.start = input.LT(1);
2716 CommonTree root_0 = null;
2718 ParserRuleReturnScope tupleType69 =null;
2719 ParserRuleReturnScope recordType70 =null;
2720 ParserRuleReturnScope typeReference71 =null;
2724 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:329:5: ( tupleType | recordType | typeReference )
2726 switch ( input.LA(1) ) {
2743 if (state.backtracking>0) {state.failed=true; return retval;}
2744 NoViableAltException nvae =
2745 new NoViableAltException("", 25, 0, input);
2750 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:329:7: tupleType
2752 root_0 = (CommonTree)adaptor.nil();
2755 pushFollow(FOLLOW_tupleType_in_basicType2181);
2756 tupleType69=tupleType();
2758 if (state.failed) return retval;
2759 if ( state.backtracking==0 ) adaptor.addChild(root_0, tupleType69.getTree());
2764 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:330:7: recordType
2766 root_0 = (CommonTree)adaptor.nil();
2769 pushFollow(FOLLOW_recordType_in_basicType2189);
2770 recordType70=recordType();
2772 if (state.failed) return retval;
2773 if ( state.backtracking==0 ) adaptor.addChild(root_0, recordType70.getTree());
2778 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:331:7: typeReference
2780 root_0 = (CommonTree)adaptor.nil();
2783 pushFollow(FOLLOW_typeReference_in_basicType2197);
2784 typeReference71=typeReference();
2786 if (state.failed) return retval;
2787 if ( state.backtracking==0 ) adaptor.addChild(root_0, typeReference71.getTree());
2793 retval.stop = input.LT(-1);
2795 if ( state.backtracking==0 ) {
2796 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2797 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2800 catch (RecognitionException re) {
2803 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2806 // do for sure before leaving
2810 // $ANTLR end "basicType"
2813 public static class tupleType_return extends ParserRuleReturnScope {
2816 public CommonTree getTree() { return tree; }
2820 // $ANTLR start "tupleType"
2821 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:334:1: tupleType : LPAREN ( type ( ',' type )* )? RPAREN -> ^( TUPLE_TYPE ( type )* ) ;
2822 public final GraphParser.tupleType_return tupleType() throws RecognitionException {
2823 GraphParser.tupleType_return retval = new GraphParser.tupleType_return();
2824 retval.start = input.LT(1);
2826 CommonTree root_0 = null;
2828 Token LPAREN72=null;
2829 Token char_literal74=null;
2830 Token RPAREN76=null;
2831 ParserRuleReturnScope type73 =null;
2832 ParserRuleReturnScope type75 =null;
2834 CommonTree LPAREN72_tree=null;
2835 CommonTree char_literal74_tree=null;
2836 CommonTree RPAREN76_tree=null;
2837 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
2838 RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
2839 RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
2840 RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type");
2843 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:5: ( LPAREN ( type ( ',' type )* )? RPAREN -> ^( TUPLE_TYPE ( type )* ) )
2844 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:7: LPAREN ( type ( ',' type )* )? RPAREN
2846 LPAREN72=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_tupleType2219); if (state.failed) return retval;
2847 if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN72);
2849 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:14: ( type ( ',' type )* )?
2851 int LA27_0 = input.LA(1);
2852 if ( (LA27_0==ID||(LA27_0 >= LCURLY && LA27_0 <= LPAREN)||LA27_0==80) ) {
2857 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:15: type ( ',' type )*
2859 pushFollow(FOLLOW_type_in_tupleType2222);
2862 if (state.failed) return retval;
2863 if ( state.backtracking==0 ) stream_type.add(type73.getTree());
2864 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:20: ( ',' type )*
2868 int LA26_0 = input.LA(1);
2869 if ( (LA26_0==67) ) {
2875 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:335:21: ',' type
2877 char_literal74=(Token)match(input,67,FOLLOW_67_in_tupleType2225); if (state.failed) return retval;
2878 if ( state.backtracking==0 ) stream_67.add(char_literal74);
2880 pushFollow(FOLLOW_type_in_tupleType2227);
2883 if (state.failed) return retval;
2884 if ( state.backtracking==0 ) stream_type.add(type75.getTree());
2898 RPAREN76=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_tupleType2233); if (state.failed) return retval;
2899 if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN76);
2904 // rule labels: retval
2905 // token list labels:
2906 // rule list labels:
2908 if ( state.backtracking==0 ) {
2909 retval.tree = root_0;
2910 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
2912 root_0 = (CommonTree)adaptor.nil();
2913 // 336:5: -> ^( TUPLE_TYPE ( type )* )
2915 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:336:8: ^( TUPLE_TYPE ( type )* )
2917 CommonTree root_1 = (CommonTree)adaptor.nil();
2918 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TUPLE_TYPE, "TUPLE_TYPE"), root_1);
2919 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:336:21: ( type )*
2920 while ( stream_type.hasNext() ) {
2921 adaptor.addChild(root_1, stream_type.nextTree());
2923 stream_type.reset();
2925 adaptor.addChild(root_0, root_1);
2931 retval.tree = root_0;
2936 retval.stop = input.LT(-1);
2938 if ( state.backtracking==0 ) {
2939 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
2940 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
2943 catch (RecognitionException re) {
2946 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
2949 // do for sure before leaving
2953 // $ANTLR end "tupleType"
2956 public static class recordType_return extends ParserRuleReturnScope {
2959 public CommonTree getTree() { return tree; }
2963 // $ANTLR start "recordType"
2964 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:339:1: recordType : LCURLY ( component ( ',' component )* )? RCURLY -> ^( RECORD_TYPE ( component )* ) ;
2965 public final GraphParser.recordType_return recordType() throws RecognitionException {
2966 GraphParser.recordType_return retval = new GraphParser.recordType_return();
2967 retval.start = input.LT(1);
2969 CommonTree root_0 = null;
2971 Token LCURLY77=null;
2972 Token char_literal79=null;
2973 Token RCURLY81=null;
2974 ParserRuleReturnScope component78 =null;
2975 ParserRuleReturnScope component80 =null;
2977 CommonTree LCURLY77_tree=null;
2978 CommonTree char_literal79_tree=null;
2979 CommonTree RCURLY81_tree=null;
2980 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
2981 RewriteRuleTokenStream stream_LCURLY=new RewriteRuleTokenStream(adaptor,"token LCURLY");
2982 RewriteRuleTokenStream stream_RCURLY=new RewriteRuleTokenStream(adaptor,"token RCURLY");
2983 RewriteRuleSubtreeStream stream_component=new RewriteRuleSubtreeStream(adaptor,"rule component");
2986 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:5: ( LCURLY ( component ( ',' component )* )? RCURLY -> ^( RECORD_TYPE ( component )* ) )
2987 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:7: LCURLY ( component ( ',' component )* )? RCURLY
2989 LCURLY77=(Token)match(input,LCURLY,FOLLOW_LCURLY_in_recordType2266); if (state.failed) return retval;
2990 if ( state.backtracking==0 ) stream_LCURLY.add(LCURLY77);
2992 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:14: ( component ( ',' component )* )?
2994 int LA29_0 = input.LA(1);
2995 if ( (LA29_0==ID) ) {
3000 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:15: component ( ',' component )*
3002 pushFollow(FOLLOW_component_in_recordType2269);
3003 component78=component();
3005 if (state.failed) return retval;
3006 if ( state.backtracking==0 ) stream_component.add(component78.getTree());
3007 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:25: ( ',' component )*
3011 int LA28_0 = input.LA(1);
3012 if ( (LA28_0==67) ) {
3018 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:340:26: ',' component
3020 char_literal79=(Token)match(input,67,FOLLOW_67_in_recordType2272); if (state.failed) return retval;
3021 if ( state.backtracking==0 ) stream_67.add(char_literal79);
3023 pushFollow(FOLLOW_component_in_recordType2274);
3024 component80=component();
3026 if (state.failed) return retval;
3027 if ( state.backtracking==0 ) stream_component.add(component80.getTree());
3041 RCURLY81=(Token)match(input,RCURLY,FOLLOW_RCURLY_in_recordType2280); if (state.failed) return retval;
3042 if ( state.backtracking==0 ) stream_RCURLY.add(RCURLY81);
3045 // elements: component
3047 // rule labels: retval
3048 // token list labels:
3049 // rule list labels:
3051 if ( state.backtracking==0 ) {
3052 retval.tree = root_0;
3053 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
3055 root_0 = (CommonTree)adaptor.nil();
3056 // 341:5: -> ^( RECORD_TYPE ( component )* )
3058 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:341:8: ^( RECORD_TYPE ( component )* )
3060 CommonTree root_1 = (CommonTree)adaptor.nil();
3061 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RECORD_TYPE, "RECORD_TYPE"), root_1);
3062 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:341:22: ( component )*
3063 while ( stream_component.hasNext() ) {
3064 adaptor.addChild(root_1, stream_component.nextTree());
3066 stream_component.reset();
3068 adaptor.addChild(root_0, root_1);
3074 retval.tree = root_0;
3079 retval.stop = input.LT(-1);
3081 if ( state.backtracking==0 ) {
3082 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3083 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3086 catch (RecognitionException re) {
3089 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3092 // do for sure before leaving
3096 // $ANTLR end "recordType"
3099 public static class component_return extends ParserRuleReturnScope {
3102 public CommonTree getTree() { return tree; }
3106 // $ANTLR start "component"
3107 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:344:1: component : ID ':' type -> ^( TYPE_COMPONENT ID type ) ;
3108 public final GraphParser.component_return component() throws RecognitionException {
3109 GraphParser.component_return retval = new GraphParser.component_return();
3110 retval.start = input.LT(1);
3112 CommonTree root_0 = null;
3115 Token char_literal83=null;
3116 ParserRuleReturnScope type84 =null;
3118 CommonTree ID82_tree=null;
3119 CommonTree char_literal83_tree=null;
3120 RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
3121 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
3122 RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type");
3125 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:345:5: ( ID ':' type -> ^( TYPE_COMPONENT ID type ) )
3126 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:345:7: ID ':' type
3128 ID82=(Token)match(input,ID,FOLLOW_ID_in_component2312); if (state.failed) return retval;
3129 if ( state.backtracking==0 ) stream_ID.add(ID82);
3131 char_literal83=(Token)match(input,70,FOLLOW_70_in_component2314); if (state.failed) return retval;
3132 if ( state.backtracking==0 ) stream_70.add(char_literal83);
3134 pushFollow(FOLLOW_type_in_component2316);
3137 if (state.failed) return retval;
3138 if ( state.backtracking==0 ) stream_type.add(type84.getTree());
3140 // elements: type, ID
3142 // rule labels: retval
3143 // token list labels:
3144 // rule list labels:
3146 if ( state.backtracking==0 ) {
3147 retval.tree = root_0;
3148 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
3150 root_0 = (CommonTree)adaptor.nil();
3151 // 346:5: -> ^( TYPE_COMPONENT ID type )
3153 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:346:8: ^( TYPE_COMPONENT ID type )
3155 CommonTree root_1 = (CommonTree)adaptor.nil();
3156 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_COMPONENT, "TYPE_COMPONENT"), root_1);
3157 adaptor.addChild(root_1, stream_ID.nextNode());
3158 adaptor.addChild(root_1, stream_type.nextTree());
3159 adaptor.addChild(root_0, root_1);
3165 retval.tree = root_0;
3170 retval.stop = input.LT(-1);
3172 if ( state.backtracking==0 ) {
3173 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3174 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3177 catch (RecognitionException re) {
3180 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3183 // do for sure before leaving
3187 // $ANTLR end "component"
3190 public static class typeReference_return extends ParserRuleReturnScope {
3193 public CommonTree getTree() { return tree; }
3197 // $ANTLR start "typeReference"
3198 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:349:1: typeReference : ID ( ( LPAREN )=> LPAREN parameter ( ',' parameter )* RPAREN )? -> ^( TYPE_REFERENCE ID ( parameter )* ) ;
3199 public final GraphParser.typeReference_return typeReference() throws RecognitionException {
3200 GraphParser.typeReference_return retval = new GraphParser.typeReference_return();
3201 retval.start = input.LT(1);
3203 CommonTree root_0 = null;
3206 Token LPAREN86=null;
3207 Token char_literal88=null;
3208 Token RPAREN90=null;
3209 ParserRuleReturnScope parameter87 =null;
3210 ParserRuleReturnScope parameter89 =null;
3212 CommonTree ID85_tree=null;
3213 CommonTree LPAREN86_tree=null;
3214 CommonTree char_literal88_tree=null;
3215 CommonTree RPAREN90_tree=null;
3216 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
3217 RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
3218 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
3219 RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
3220 RewriteRuleSubtreeStream stream_parameter=new RewriteRuleSubtreeStream(adaptor,"rule parameter");
3223 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:5: ( ID ( ( LPAREN )=> LPAREN parameter ( ',' parameter )* RPAREN )? -> ^( TYPE_REFERENCE ID ( parameter )* ) )
3224 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:7: ID ( ( LPAREN )=> LPAREN parameter ( ',' parameter )* RPAREN )?
3226 ID85=(Token)match(input,ID,FOLLOW_ID_in_typeReference2350); if (state.failed) return retval;
3227 if ( state.backtracking==0 ) stream_ID.add(ID85);
3229 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:10: ( ( LPAREN )=> LPAREN parameter ( ',' parameter )* RPAREN )?
3231 int LA31_0 = input.LA(1);
3232 if ( (LA31_0==LPAREN) ) {
3233 int LA31_1 = input.LA(2);
3234 if ( (synpred2_Graph()) ) {
3240 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:11: ( LPAREN )=> LPAREN parameter ( ',' parameter )* RPAREN
3242 LPAREN86=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_typeReference2358); if (state.failed) return retval;
3243 if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN86);
3245 pushFollow(FOLLOW_parameter_in_typeReference2360);
3246 parameter87=parameter();
3248 if (state.failed) return retval;
3249 if ( state.backtracking==0 ) stream_parameter.add(parameter87.getTree());
3250 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:39: ( ',' parameter )*
3254 int LA30_0 = input.LA(1);
3255 if ( (LA30_0==67) ) {
3261 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:40: ',' parameter
3263 char_literal88=(Token)match(input,67,FOLLOW_67_in_typeReference2363); if (state.failed) return retval;
3264 if ( state.backtracking==0 ) stream_67.add(char_literal88);
3266 pushFollow(FOLLOW_parameter_in_typeReference2365);
3267 parameter89=parameter();
3269 if (state.failed) return retval;
3270 if ( state.backtracking==0 ) stream_parameter.add(parameter89.getTree());
3279 RPAREN90=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_typeReference2369); if (state.failed) return retval;
3280 if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN90);
3288 // elements: parameter, ID
3290 // rule labels: retval
3291 // token list labels:
3292 // rule list labels:
3294 if ( state.backtracking==0 ) {
3295 retval.tree = root_0;
3296 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
3298 root_0 = (CommonTree)adaptor.nil();
3299 // 351:5: -> ^( TYPE_REFERENCE ID ( parameter )* )
3301 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:351:8: ^( TYPE_REFERENCE ID ( parameter )* )
3303 CommonTree root_1 = (CommonTree)adaptor.nil();
3304 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_REFERENCE, "TYPE_REFERENCE"), root_1);
3305 adaptor.addChild(root_1, stream_ID.nextNode());
3306 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:351:28: ( parameter )*
3307 while ( stream_parameter.hasNext() ) {
3308 adaptor.addChild(root_1, stream_parameter.nextTree());
3310 stream_parameter.reset();
3312 adaptor.addChild(root_0, root_1);
3318 retval.tree = root_0;
3323 retval.stop = input.LT(-1);
3325 if ( state.backtracking==0 ) {
3326 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3327 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3330 catch (RecognitionException re) {
3333 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3336 // do for sure before leaving
3340 // $ANTLR end "typeReference"
3343 public static class parameter_return extends ParserRuleReturnScope {
3346 public CommonTree getTree() { return tree; }
3350 // $ANTLR start "parameter"
3351 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:354:1: parameter : ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | type );
3352 public final GraphParser.parameter_return parameter() throws RecognitionException {
3353 GraphParser.parameter_return retval = new GraphParser.parameter_return();
3354 retval.start = input.LT(1);
3356 CommonTree root_0 = null;
3359 Token char_literal92=null;
3360 ParserRuleReturnScope parameterValue93 =null;
3361 ParserRuleReturnScope type94 =null;
3363 CommonTree ID91_tree=null;
3364 CommonTree char_literal92_tree=null;
3365 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
3366 RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
3367 RewriteRuleSubtreeStream stream_parameterValue=new RewriteRuleSubtreeStream(adaptor,"rule parameterValue");
3370 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:355:5: ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | type )
3372 int LA32_0 = input.LA(1);
3373 if ( (LA32_0==ID) ) {
3374 int LA32_1 = input.LA(2);
3375 if ( (LA32_1==74) ) {
3378 else if ( (LA32_1==LBRACKET||LA32_1==LPAREN||LA32_1==RPAREN||LA32_1==67) ) {
3383 if (state.backtracking>0) {state.failed=true; return retval;}
3384 int nvaeMark = input.mark();
3387 NoViableAltException nvae =
3388 new NoViableAltException("", 32, 1, input);
3391 input.rewind(nvaeMark);
3396 else if ( ((LA32_0 >= LCURLY && LA32_0 <= LPAREN)||LA32_0==80) ) {
3401 if (state.backtracking>0) {state.failed=true; return retval;}
3402 NoViableAltException nvae =
3403 new NoViableAltException("", 32, 0, input);
3409 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:355:7: ID '=' parameterValue
3411 ID91=(Token)match(input,ID,FOLLOW_ID_in_parameter2405); if (state.failed) return retval;
3412 if ( state.backtracking==0 ) stream_ID.add(ID91);
3414 char_literal92=(Token)match(input,74,FOLLOW_74_in_parameter2407); if (state.failed) return retval;
3415 if ( state.backtracking==0 ) stream_74.add(char_literal92);
3417 pushFollow(FOLLOW_parameterValue_in_parameter2409);
3418 parameterValue93=parameterValue();
3420 if (state.failed) return retval;
3421 if ( state.backtracking==0 ) stream_parameterValue.add(parameterValue93.getTree());
3423 // elements: parameterValue, ID
3425 // rule labels: retval
3426 // token list labels:
3427 // rule list labels:
3429 if ( state.backtracking==0 ) {
3430 retval.tree = root_0;
3431 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
3433 root_0 = (CommonTree)adaptor.nil();
3434 // 355:29: -> ^( TYPE_ANNOTATION ID parameterValue )
3436 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:355:32: ^( TYPE_ANNOTATION ID parameterValue )
3438 CommonTree root_1 = (CommonTree)adaptor.nil();
3439 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_ANNOTATION, "TYPE_ANNOTATION"), root_1);
3440 adaptor.addChild(root_1, stream_ID.nextNode());
3441 adaptor.addChild(root_1, stream_parameterValue.nextTree());
3442 adaptor.addChild(root_0, root_1);
3448 retval.tree = root_0;
3454 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:356:7: type
3456 root_0 = (CommonTree)adaptor.nil();
3459 pushFollow(FOLLOW_type_in_parameter2427);
3462 if (state.failed) return retval;
3463 if ( state.backtracking==0 ) adaptor.addChild(root_0, type94.getTree());
3469 retval.stop = input.LT(-1);
3471 if ( state.backtracking==0 ) {
3472 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3473 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3476 catch (RecognitionException re) {
3479 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3482 // do for sure before leaving
3486 // $ANTLR end "parameter"
3489 public static class parameterValue_return extends ParserRuleReturnScope {
3492 public CommonTree getTree() { return tree; }
3496 // $ANTLR start "parameterValue"
3497 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:359:1: parameterValue : ( string | boolean_ | number | rangePar -> ^( RANGE rangePar ) );
3498 public final GraphParser.parameterValue_return parameterValue() throws RecognitionException {
3499 GraphParser.parameterValue_return retval = new GraphParser.parameterValue_return();
3500 retval.start = input.LT(1);
3502 CommonTree root_0 = null;
3504 ParserRuleReturnScope string95 =null;
3505 ParserRuleReturnScope boolean_96 =null;
3506 ParserRuleReturnScope number97 =null;
3507 ParserRuleReturnScope rangePar98 =null;
3509 RewriteRuleSubtreeStream stream_rangePar=new RewriteRuleSubtreeStream(adaptor,"rule rangePar");
3512 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:360:5: ( string | boolean_ | number | rangePar -> ^( RANGE rangePar ) )
3514 switch ( input.LA(1) ) {
3539 if (state.backtracking>0) {state.failed=true; return retval;}
3540 NoViableAltException nvae =
3541 new NoViableAltException("", 33, 0, input);
3546 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:360:7: string
3548 root_0 = (CommonTree)adaptor.nil();
3551 pushFollow(FOLLOW_string_in_parameterValue2446);
3554 if (state.failed) return retval;
3555 if ( state.backtracking==0 ) adaptor.addChild(root_0, string95.getTree());
3560 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:361:7: boolean_
3562 root_0 = (CommonTree)adaptor.nil();
3565 pushFollow(FOLLOW_boolean__in_parameterValue2454);
3566 boolean_96=boolean_();
3568 if (state.failed) return retval;
3569 if ( state.backtracking==0 ) adaptor.addChild(root_0, boolean_96.getTree());
3574 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:362:7: number
3576 root_0 = (CommonTree)adaptor.nil();
3579 pushFollow(FOLLOW_number_in_parameterValue2462);
3582 if (state.failed) return retval;
3583 if ( state.backtracking==0 ) adaptor.addChild(root_0, number97.getTree());
3588 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:363:7: rangePar
3590 pushFollow(FOLLOW_rangePar_in_parameterValue2470);
3591 rangePar98=rangePar();
3593 if (state.failed) return retval;
3594 if ( state.backtracking==0 ) stream_rangePar.add(rangePar98.getTree());
3596 // elements: rangePar
3598 // rule labels: retval
3599 // token list labels:
3600 // rule list labels:
3602 if ( state.backtracking==0 ) {
3603 retval.tree = root_0;
3604 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
3606 root_0 = (CommonTree)adaptor.nil();
3607 // 363:16: -> ^( RANGE rangePar )
3609 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:363:19: ^( RANGE rangePar )
3611 CommonTree root_1 = (CommonTree)adaptor.nil();
3612 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RANGE, "RANGE"), root_1);
3613 adaptor.addChild(root_1, stream_rangePar.nextTree());
3614 adaptor.addChild(root_0, root_1);
3620 retval.tree = root_0;
3627 retval.stop = input.LT(-1);
3629 if ( state.backtracking==0 ) {
3630 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3631 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3634 catch (RecognitionException re) {
3637 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3640 // do for sure before leaving
3644 // $ANTLR end "parameterValue"
3647 public static class rangePar_return extends ParserRuleReturnScope {
3650 public CommonTree getTree() { return tree; }
3654 // $ANTLR start "rangePar"
3655 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:366:1: rangePar : ( LBRACKET | LPAREN ) range ( RBRACKET | RPAREN ) ;
3656 public final GraphParser.rangePar_return rangePar() throws RecognitionException {
3657 GraphParser.rangePar_return retval = new GraphParser.rangePar_return();
3658 retval.start = input.LT(1);
3660 CommonTree root_0 = null;
3664 ParserRuleReturnScope range100 =null;
3666 CommonTree set99_tree=null;
3667 CommonTree set101_tree=null;
3670 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:366:10: ( ( LBRACKET | LPAREN ) range ( RBRACKET | RPAREN ) )
3671 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:366:12: ( LBRACKET | LPAREN ) range ( RBRACKET | RPAREN )
3673 root_0 = (CommonTree)adaptor.nil();
3677 if ( input.LA(1)==LBRACKET||input.LA(1)==LPAREN ) {
3679 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set99));
3680 state.errorRecovery=false;
3684 if (state.backtracking>0) {state.failed=true; return retval;}
3685 MismatchedSetException mse = new MismatchedSetException(null,input);
3688 pushFollow(FOLLOW_range_in_rangePar2507);
3691 if (state.failed) return retval;
3692 if ( state.backtracking==0 ) adaptor.addChild(root_0, range100.getTree());
3695 if ( input.LA(1)==RBRACKET||input.LA(1)==RPAREN ) {
3697 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set101));
3698 state.errorRecovery=false;
3702 if (state.backtracking>0) {state.failed=true; return retval;}
3703 MismatchedSetException mse = new MismatchedSetException(null,input);
3708 retval.stop = input.LT(-1);
3710 if ( state.backtracking==0 ) {
3711 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3712 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3715 catch (RecognitionException re) {
3718 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3721 // do for sure before leaving
3725 // $ANTLR end "rangePar"
3728 public static class range_return extends ParserRuleReturnScope {
3731 public CommonTree getTree() { return tree; }
3735 // $ANTLR start "range"
3736 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:368:1: range : ( number | RANGE | INT_RANGE );
3737 public final GraphParser.range_return range() throws RecognitionException {
3738 GraphParser.range_return retval = new GraphParser.range_return();
3739 retval.start = input.LT(1);
3741 CommonTree root_0 = null;
3743 Token RANGE103=null;
3744 Token INT_RANGE104=null;
3745 ParserRuleReturnScope number102 =null;
3747 CommonTree RANGE103_tree=null;
3748 CommonTree INT_RANGE104_tree=null;
3751 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:369:5: ( number | RANGE | INT_RANGE )
3753 switch ( input.LA(1) ) {
3771 if (state.backtracking>0) {state.failed=true; return retval;}
3772 NoViableAltException nvae =
3773 new NoViableAltException("", 34, 0, input);
3778 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:369:7: number
3780 root_0 = (CommonTree)adaptor.nil();
3783 pushFollow(FOLLOW_number_in_range2536);
3786 if (state.failed) return retval;
3787 if ( state.backtracking==0 ) adaptor.addChild(root_0, number102.getTree());
3792 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:370:7: RANGE
3794 root_0 = (CommonTree)adaptor.nil();
3797 RANGE103=(Token)match(input,RANGE,FOLLOW_RANGE_in_range2544); if (state.failed) return retval;
3798 if ( state.backtracking==0 ) {
3799 RANGE103_tree = (CommonTree)adaptor.create(RANGE103);
3800 adaptor.addChild(root_0, RANGE103_tree);
3806 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:371:7: INT_RANGE
3808 root_0 = (CommonTree)adaptor.nil();
3811 INT_RANGE104=(Token)match(input,INT_RANGE,FOLLOW_INT_RANGE_in_range2552); if (state.failed) return retval;
3812 if ( state.backtracking==0 ) {
3813 INT_RANGE104_tree = (CommonTree)adaptor.create(INT_RANGE104);
3814 adaptor.addChild(root_0, INT_RANGE104_tree);
3821 retval.stop = input.LT(-1);
3823 if ( state.backtracking==0 ) {
3824 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3825 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3828 catch (RecognitionException re) {
3831 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3834 // do for sure before leaving
3838 // $ANTLR end "range"
3841 public static class number_return extends ParserRuleReturnScope {
3844 public CommonTree getTree() { return tree; }
3848 // $ANTLR start "number"
3849 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:374:1: number : ( INT | FLOAT );
3850 public final GraphParser.number_return number() throws RecognitionException {
3851 GraphParser.number_return retval = new GraphParser.number_return();
3852 retval.start = input.LT(1);
3854 CommonTree root_0 = null;
3858 CommonTree set105_tree=null;
3861 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:375:5: ( INT | FLOAT )
3862 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:
3864 root_0 = (CommonTree)adaptor.nil();
3868 if ( input.LA(1)==FLOAT||input.LA(1)==INT ) {
3870 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set105));
3871 state.errorRecovery=false;
3875 if (state.backtracking>0) {state.failed=true; return retval;}
3876 MismatchedSetException mse = new MismatchedSetException(null,input);
3881 retval.stop = input.LT(-1);
3883 if ( state.backtracking==0 ) {
3884 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3885 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3888 catch (RecognitionException re) {
3891 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3894 // do for sure before leaving
3898 // $ANTLR end "number"
3901 public static class string_return extends ParserRuleReturnScope {
3904 public CommonTree getTree() { return tree; }
3908 // $ANTLR start "string"
3909 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:379:1: string : STRING ;
3910 public final GraphParser.string_return string() throws RecognitionException {
3911 GraphParser.string_return retval = new GraphParser.string_return();
3912 retval.start = input.LT(1);
3914 CommonTree root_0 = null;
3916 Token STRING106=null;
3918 CommonTree STRING106_tree=null;
3921 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:380:5: ( STRING )
3922 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:380:7: STRING
3924 root_0 = (CommonTree)adaptor.nil();
3927 STRING106=(Token)match(input,STRING,FOLLOW_STRING_in_string2606); if (state.failed) return retval;
3928 if ( state.backtracking==0 ) {
3929 STRING106_tree = (CommonTree)adaptor.create(STRING106);
3930 adaptor.addChild(root_0, STRING106_tree);
3935 retval.stop = input.LT(-1);
3937 if ( state.backtracking==0 ) {
3938 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
3939 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
3942 catch (RecognitionException re) {
3945 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
3948 // do for sure before leaving
3952 // $ANTLR end "string"
3955 public static class boolean__return extends ParserRuleReturnScope {
3958 public CommonTree getTree() { return tree; }
3962 // $ANTLR start "boolean_"
3963 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:383:1: boolean_ : ( 'true' -> TRUE | 'false' -> FALSE );
3964 public final GraphParser.boolean__return boolean_() throws RecognitionException {
3965 GraphParser.boolean__return retval = new GraphParser.boolean__return();
3966 retval.start = input.LT(1);
3968 CommonTree root_0 = null;
3970 Token string_literal107=null;
3971 Token string_literal108=null;
3973 CommonTree string_literal107_tree=null;
3974 CommonTree string_literal108_tree=null;
3975 RewriteRuleTokenStream stream_78=new RewriteRuleTokenStream(adaptor,"token 78");
3976 RewriteRuleTokenStream stream_79=new RewriteRuleTokenStream(adaptor,"token 79");
3979 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:384:5: ( 'true' -> TRUE | 'false' -> FALSE )
3981 int LA35_0 = input.LA(1);
3982 if ( (LA35_0==79) ) {
3985 else if ( (LA35_0==78) ) {
3990 if (state.backtracking>0) {state.failed=true; return retval;}
3991 NoViableAltException nvae =
3992 new NoViableAltException("", 35, 0, input);
3998 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:384:7: 'true'
4000 string_literal107=(Token)match(input,79,FOLLOW_79_in_boolean_2627); if (state.failed) return retval;
4001 if ( state.backtracking==0 ) stream_79.add(string_literal107);
4006 // rule labels: retval
4007 // token list labels:
4008 // rule list labels:
4010 if ( state.backtracking==0 ) {
4011 retval.tree = root_0;
4012 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4014 root_0 = (CommonTree)adaptor.nil();
4017 adaptor.addChild(root_0, (CommonTree)adaptor.create(TRUE, "TRUE"));
4021 retval.tree = root_0;
4027 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:385:7: 'false'
4029 string_literal108=(Token)match(input,78,FOLLOW_78_in_boolean_2639); if (state.failed) return retval;
4030 if ( state.backtracking==0 ) stream_78.add(string_literal108);
4035 // rule labels: retval
4036 // token list labels:
4037 // rule list labels:
4039 if ( state.backtracking==0 ) {
4040 retval.tree = root_0;
4041 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4043 root_0 = (CommonTree)adaptor.nil();
4046 adaptor.addChild(root_0, (CommonTree)adaptor.create(FALSE, "FALSE"));
4050 retval.tree = root_0;
4057 retval.stop = input.LT(-1);
4059 if ( state.backtracking==0 ) {
4060 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4061 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4064 catch (RecognitionException re) {
4067 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4070 // do for sure before leaving
4074 // $ANTLR end "boolean_"
4077 public static class valueDefinitions_return extends ParserRuleReturnScope {
4080 public CommonTree getTree() { return tree; }
4084 // $ANTLR start "valueDefinitions"
4085 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:1: valueDefinitions : ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) ;
4086 public final GraphParser.valueDefinitions_return valueDefinitions() throws RecognitionException {
4087 GraphParser.valueDefinitions_return retval = new GraphParser.valueDefinitions_return();
4088 retval.start = input.LT(1);
4090 CommonTree root_0 = null;
4092 ParserRuleReturnScope valueDefinition109 =null;
4094 RewriteRuleSubtreeStream stream_valueDefinition=new RewriteRuleSubtreeStream(adaptor,"rule valueDefinition");
4097 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:18: ( ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) )
4098 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:20: ( valueDefinition )*
4100 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:20: ( valueDefinition )*
4104 int LA36_0 = input.LA(1);
4105 if ( (LA36_0==ID) ) {
4111 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:20: valueDefinition
4113 pushFollow(FOLLOW_valueDefinition_in_valueDefinitions2660);
4114 valueDefinition109=valueDefinition();
4116 if (state.failed) return retval;
4117 if ( state.backtracking==0 ) stream_valueDefinition.add(valueDefinition109.getTree());
4127 // elements: valueDefinition
4129 // rule labels: retval
4130 // token list labels:
4131 // rule list labels:
4133 if ( state.backtracking==0 ) {
4134 retval.tree = root_0;
4135 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4137 root_0 = (CommonTree)adaptor.nil();
4138 // 392:37: -> ^( VALUE_DEFINITIONS ( valueDefinition )* )
4140 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:40: ^( VALUE_DEFINITIONS ( valueDefinition )* )
4142 CommonTree root_1 = (CommonTree)adaptor.nil();
4143 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VALUE_DEFINITIONS, "VALUE_DEFINITIONS"), root_1);
4144 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:392:60: ( valueDefinition )*
4145 while ( stream_valueDefinition.hasNext() ) {
4146 adaptor.addChild(root_1, stream_valueDefinition.nextTree());
4148 stream_valueDefinition.reset();
4150 adaptor.addChild(root_0, root_1);
4156 retval.tree = root_0;
4161 retval.stop = input.LT(-1);
4163 if ( state.backtracking==0 ) {
4164 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4165 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4168 catch (RecognitionException re) {
4171 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4174 // do for sure before leaving
4178 // $ANTLR end "valueDefinitions"
4181 public static class valueDefinition_return extends ParserRuleReturnScope {
4184 public CommonTree getTree() { return tree; }
4188 // $ANTLR start "valueDefinition"
4189 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:394:1: valueDefinition : ID ':' type '=' value -> ^( VALUE_DEFINITION ID type value ) ;
4190 public final GraphParser.valueDefinition_return valueDefinition() throws RecognitionException {
4191 GraphParser.valueDefinition_return retval = new GraphParser.valueDefinition_return();
4192 retval.start = input.LT(1);
4194 CommonTree root_0 = null;
4197 Token char_literal111=null;
4198 Token char_literal113=null;
4199 ParserRuleReturnScope type112 =null;
4200 ParserRuleReturnScope value114 =null;
4202 CommonTree ID110_tree=null;
4203 CommonTree char_literal111_tree=null;
4204 CommonTree char_literal113_tree=null;
4205 RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
4206 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
4207 RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
4208 RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type");
4209 RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
4212 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:395:5: ( ID ':' type '=' value -> ^( VALUE_DEFINITION ID type value ) )
4213 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:395:7: ID ':' type '=' value
4215 ID110=(Token)match(input,ID,FOLLOW_ID_in_valueDefinition2683); if (state.failed) return retval;
4216 if ( state.backtracking==0 ) stream_ID.add(ID110);
4218 char_literal111=(Token)match(input,70,FOLLOW_70_in_valueDefinition2685); if (state.failed) return retval;
4219 if ( state.backtracking==0 ) stream_70.add(char_literal111);
4221 pushFollow(FOLLOW_type_in_valueDefinition2687);
4224 if (state.failed) return retval;
4225 if ( state.backtracking==0 ) stream_type.add(type112.getTree());
4226 char_literal113=(Token)match(input,74,FOLLOW_74_in_valueDefinition2689); if (state.failed) return retval;
4227 if ( state.backtracking==0 ) stream_74.add(char_literal113);
4229 pushFollow(FOLLOW_value_in_valueDefinition2691);
4232 if (state.failed) return retval;
4233 if ( state.backtracking==0 ) stream_value.add(value114.getTree());
4235 // elements: ID, value, type
4237 // rule labels: retval
4238 // token list labels:
4239 // rule list labels:
4241 if ( state.backtracking==0 ) {
4242 retval.tree = root_0;
4243 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4245 root_0 = (CommonTree)adaptor.nil();
4246 // 396:5: -> ^( VALUE_DEFINITION ID type value )
4248 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:396:8: ^( VALUE_DEFINITION ID type value )
4250 CommonTree root_1 = (CommonTree)adaptor.nil();
4251 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VALUE_DEFINITION, "VALUE_DEFINITION"), root_1);
4252 adaptor.addChild(root_1, stream_ID.nextNode());
4253 adaptor.addChild(root_1, stream_type.nextTree());
4254 adaptor.addChild(root_1, stream_value.nextTree());
4255 adaptor.addChild(root_0, root_1);
4261 retval.tree = root_0;
4266 retval.stop = input.LT(-1);
4268 if ( state.backtracking==0 ) {
4269 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4270 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4273 catch (RecognitionException re) {
4276 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4279 // do for sure before leaving
4283 // $ANTLR end "valueDefinition"
4286 public static class value_return extends ParserRuleReturnScope {
4289 public CommonTree getTree() { return tree; }
4293 // $ANTLR start "value"
4294 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:399:1: value : ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* ;
4295 public final GraphParser.value_return value() throws RecognitionException {
4296 GraphParser.value_return retval = new GraphParser.value_return();
4297 retval.start = input.LT(1);
4299 CommonTree root_0 = null;
4301 Token char_literal116=null;
4302 ParserRuleReturnScope basicValue115 =null;
4303 ParserRuleReturnScope type117 =null;
4305 CommonTree char_literal116_tree=null;
4306 RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
4307 RewriteRuleSubtreeStream stream_basicValue=new RewriteRuleSubtreeStream(adaptor,"rule basicValue");
4308 RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type");
4311 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:400:5: ( ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* )
4312 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:400:7: ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )*
4314 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:400:7: ( basicValue -> basicValue )
4315 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:400:8: basicValue
4317 pushFollow(FOLLOW_basicValue_in_value2727);
4318 basicValue115=basicValue();
4320 if (state.failed) return retval;
4321 if ( state.backtracking==0 ) stream_basicValue.add(basicValue115.getTree());
4323 // elements: basicValue
4325 // rule labels: retval
4326 // token list labels:
4327 // rule list labels:
4329 if ( state.backtracking==0 ) {
4330 retval.tree = root_0;
4331 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4333 root_0 = (CommonTree)adaptor.nil();
4334 // 400:19: -> basicValue
4336 adaptor.addChild(root_0, stream_basicValue.nextTree());
4340 retval.tree = root_0;
4345 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:401:7: ( ':' type -> ^( VARIANT type $value) )*
4349 int LA37_0 = input.LA(1);
4350 if ( (LA37_0==70) ) {
4356 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:401:8: ':' type
4358 char_literal116=(Token)match(input,70,FOLLOW_70_in_value2741); if (state.failed) return retval;
4359 if ( state.backtracking==0 ) stream_70.add(char_literal116);
4361 pushFollow(FOLLOW_type_in_value2743);
4364 if (state.failed) return retval;
4365 if ( state.backtracking==0 ) stream_type.add(type117.getTree());
4367 // elements: type, value
4369 // rule labels: retval
4370 // token list labels:
4371 // rule list labels:
4373 if ( state.backtracking==0 ) {
4374 retval.tree = root_0;
4375 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4377 root_0 = (CommonTree)adaptor.nil();
4378 // 401:17: -> ^( VARIANT type $value)
4380 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:401:20: ^( VARIANT type $value)
4382 CommonTree root_1 = (CommonTree)adaptor.nil();
4383 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT, "VARIANT"), root_1);
4384 adaptor.addChild(root_1, stream_type.nextTree());
4385 adaptor.addChild(root_1, stream_retval.nextTree());
4386 adaptor.addChild(root_0, root_1);
4392 retval.tree = root_0;
4405 retval.stop = input.LT(-1);
4407 if ( state.backtracking==0 ) {
4408 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4409 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4412 catch (RecognitionException re) {
4415 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4418 // do for sure before leaving
4422 // $ANTLR end "value"
4425 public static class basicValue_return extends ParserRuleReturnScope {
4428 public CommonTree getTree() { return tree; }
4432 // $ANTLR start "basicValue"
4433 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:404:1: basicValue : ( simpleValue | map |{...}? ID -> NO_VALUE | taggedValue );
4434 public final GraphParser.basicValue_return basicValue() throws RecognitionException {
4435 GraphParser.basicValue_return retval = new GraphParser.basicValue_return();
4436 retval.start = input.LT(1);
4438 CommonTree root_0 = null;
4441 ParserRuleReturnScope simpleValue118 =null;
4442 ParserRuleReturnScope map119 =null;
4443 ParserRuleReturnScope taggedValue121 =null;
4445 CommonTree ID120_tree=null;
4446 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
4449 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:405:5: ( simpleValue | map |{...}? ID -> NO_VALUE | taggedValue )
4451 int LA38_0 = input.LA(1);
4452 if ( (LA38_0==FLOAT||LA38_0==INT||(LA38_0 >= LBRACKET && LA38_0 <= LPAREN)||LA38_0==STRING||(LA38_0 >= 78 && LA38_0 <= 79)) ) {
4455 else if ( (LA38_0==ID) ) {
4456 int LA38_2 = input.LA(2);
4457 if ( (LA38_2==LCURLY) && ((input.LT(1).getText().equals("map")))) {
4460 else if ( ((input.LT(1).getText().equals("null"))) ) {
4463 else if ( (true) ) {
4470 if (state.backtracking>0) {state.failed=true; return retval;}
4471 NoViableAltException nvae =
4472 new NoViableAltException("", 38, 0, input);
4478 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:405:7: simpleValue
4480 root_0 = (CommonTree)adaptor.nil();
4483 pushFollow(FOLLOW_simpleValue_in_basicValue2775);
4484 simpleValue118=simpleValue();
4486 if (state.failed) return retval;
4487 if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleValue118.getTree());
4492 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:406:7: map
4494 root_0 = (CommonTree)adaptor.nil();
4497 pushFollow(FOLLOW_map_in_basicValue2783);
4500 if (state.failed) return retval;
4501 if ( state.backtracking==0 ) adaptor.addChild(root_0, map119.getTree());
4506 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:407:7: {...}? ID
4508 if ( !((input.LT(1).getText().equals("null"))) ) {
4509 if (state.backtracking>0) {state.failed=true; return retval;}
4510 throw new FailedPredicateException(input, "basicValue", "input.LT(1).getText().equals(\"null\")");
4512 ID120=(Token)match(input,ID,FOLLOW_ID_in_basicValue2793); if (state.failed) return retval;
4513 if ( state.backtracking==0 ) stream_ID.add(ID120);
4518 // rule labels: retval
4519 // token list labels:
4520 // rule list labels:
4522 if ( state.backtracking==0 ) {
4523 retval.tree = root_0;
4524 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4526 root_0 = (CommonTree)adaptor.nil();
4527 // 407:50: -> NO_VALUE
4529 adaptor.addChild(root_0, (CommonTree)adaptor.create(NO_VALUE, "NO_VALUE"));
4533 retval.tree = root_0;
4539 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:408:7: taggedValue
4541 root_0 = (CommonTree)adaptor.nil();
4544 pushFollow(FOLLOW_taggedValue_in_basicValue2805);
4545 taggedValue121=taggedValue();
4547 if (state.failed) return retval;
4548 if ( state.backtracking==0 ) adaptor.addChild(root_0, taggedValue121.getTree());
4554 retval.stop = input.LT(-1);
4556 if ( state.backtracking==0 ) {
4557 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4558 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4561 catch (RecognitionException re) {
4564 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4567 // do for sure before leaving
4571 // $ANTLR end "basicValue"
4574 public static class simpleValue_return extends ParserRuleReturnScope {
4577 public CommonTree getTree() { return tree; }
4581 // $ANTLR start "simpleValue"
4582 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:411:1: simpleValue : ( string | number | boolean_ | array | tuple | record );
4583 public final GraphParser.simpleValue_return simpleValue() throws RecognitionException {
4584 GraphParser.simpleValue_return retval = new GraphParser.simpleValue_return();
4585 retval.start = input.LT(1);
4587 CommonTree root_0 = null;
4589 ParserRuleReturnScope string122 =null;
4590 ParserRuleReturnScope number123 =null;
4591 ParserRuleReturnScope boolean_124 =null;
4592 ParserRuleReturnScope array125 =null;
4593 ParserRuleReturnScope tuple126 =null;
4594 ParserRuleReturnScope record127 =null;
4598 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:412:5: ( string | number | boolean_ | array | tuple | record )
4600 switch ( input.LA(1) ) {
4634 if (state.backtracking>0) {state.failed=true; return retval;}
4635 NoViableAltException nvae =
4636 new NoViableAltException("", 39, 0, input);
4641 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:412:7: string
4643 root_0 = (CommonTree)adaptor.nil();
4646 pushFollow(FOLLOW_string_in_simpleValue2830);
4649 if (state.failed) return retval;
4650 if ( state.backtracking==0 ) adaptor.addChild(root_0, string122.getTree());
4655 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:413:7: number
4657 root_0 = (CommonTree)adaptor.nil();
4660 pushFollow(FOLLOW_number_in_simpleValue2838);
4663 if (state.failed) return retval;
4664 if ( state.backtracking==0 ) adaptor.addChild(root_0, number123.getTree());
4669 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:414:7: boolean_
4671 root_0 = (CommonTree)adaptor.nil();
4674 pushFollow(FOLLOW_boolean__in_simpleValue2846);
4675 boolean_124=boolean_();
4677 if (state.failed) return retval;
4678 if ( state.backtracking==0 ) adaptor.addChild(root_0, boolean_124.getTree());
4683 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:415:7: array
4685 root_0 = (CommonTree)adaptor.nil();
4688 pushFollow(FOLLOW_array_in_simpleValue2854);
4691 if (state.failed) return retval;
4692 if ( state.backtracking==0 ) adaptor.addChild(root_0, array125.getTree());
4697 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:416:7: tuple
4699 root_0 = (CommonTree)adaptor.nil();
4702 pushFollow(FOLLOW_tuple_in_simpleValue2862);
4705 if (state.failed) return retval;
4706 if ( state.backtracking==0 ) adaptor.addChild(root_0, tuple126.getTree());
4711 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:417:7: record
4713 root_0 = (CommonTree)adaptor.nil();
4716 pushFollow(FOLLOW_record_in_simpleValue2870);
4719 if (state.failed) return retval;
4720 if ( state.backtracking==0 ) adaptor.addChild(root_0, record127.getTree());
4726 retval.stop = input.LT(-1);
4728 if ( state.backtracking==0 ) {
4729 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4730 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4733 catch (RecognitionException re) {
4736 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4739 // do for sure before leaving
4743 // $ANTLR end "simpleValue"
4746 public static class array_return extends ParserRuleReturnScope {
4749 public CommonTree getTree() { return tree; }
4753 // $ANTLR start "array"
4754 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:420:1: array : LBRACKET ( value ( ',' value )* )? RBRACKET -> ^( ARRAY ( value )* ) ;
4755 public final GraphParser.array_return array() throws RecognitionException {
4756 GraphParser.array_return retval = new GraphParser.array_return();
4757 retval.start = input.LT(1);
4759 CommonTree root_0 = null;
4761 Token LBRACKET128=null;
4762 Token char_literal130=null;
4763 Token RBRACKET132=null;
4764 ParserRuleReturnScope value129 =null;
4765 ParserRuleReturnScope value131 =null;
4767 CommonTree LBRACKET128_tree=null;
4768 CommonTree char_literal130_tree=null;
4769 CommonTree RBRACKET132_tree=null;
4770 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
4771 RewriteRuleTokenStream stream_LBRACKET=new RewriteRuleTokenStream(adaptor,"token LBRACKET");
4772 RewriteRuleTokenStream stream_RBRACKET=new RewriteRuleTokenStream(adaptor,"token RBRACKET");
4773 RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
4776 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:5: ( LBRACKET ( value ( ',' value )* )? RBRACKET -> ^( ARRAY ( value )* ) )
4777 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:7: LBRACKET ( value ( ',' value )* )? RBRACKET
4779 LBRACKET128=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_array2891); if (state.failed) return retval;
4780 if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET128);
4782 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:16: ( value ( ',' value )* )?
4784 int LA41_0 = input.LA(1);
4785 if ( (LA41_0==FLOAT||LA41_0==ID||LA41_0==INT||(LA41_0 >= LBRACKET && LA41_0 <= LPAREN)||LA41_0==STRING||(LA41_0 >= 78 && LA41_0 <= 79)) ) {
4790 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:17: value ( ',' value )*
4792 pushFollow(FOLLOW_value_in_array2894);
4795 if (state.failed) return retval;
4796 if ( state.backtracking==0 ) stream_value.add(value129.getTree());
4797 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:23: ( ',' value )*
4801 int LA40_0 = input.LA(1);
4802 if ( (LA40_0==67) ) {
4808 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:421:24: ',' value
4810 char_literal130=(Token)match(input,67,FOLLOW_67_in_array2897); if (state.failed) return retval;
4811 if ( state.backtracking==0 ) stream_67.add(char_literal130);
4813 pushFollow(FOLLOW_value_in_array2899);
4816 if (state.failed) return retval;
4817 if ( state.backtracking==0 ) stream_value.add(value131.getTree());
4831 RBRACKET132=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_array2905); if (state.failed) return retval;
4832 if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET132);
4837 // rule labels: retval
4838 // token list labels:
4839 // rule list labels:
4841 if ( state.backtracking==0 ) {
4842 retval.tree = root_0;
4843 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4845 root_0 = (CommonTree)adaptor.nil();
4846 // 422:5: -> ^( ARRAY ( value )* )
4848 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:422:8: ^( ARRAY ( value )* )
4850 CommonTree root_1 = (CommonTree)adaptor.nil();
4851 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ARRAY, "ARRAY"), root_1);
4852 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:422:16: ( value )*
4853 while ( stream_value.hasNext() ) {
4854 adaptor.addChild(root_1, stream_value.nextTree());
4856 stream_value.reset();
4858 adaptor.addChild(root_0, root_1);
4864 retval.tree = root_0;
4869 retval.stop = input.LT(-1);
4871 if ( state.backtracking==0 ) {
4872 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
4873 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
4876 catch (RecognitionException re) {
4879 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
4882 // do for sure before leaving
4886 // $ANTLR end "array"
4889 public static class tuple_return extends ParserRuleReturnScope {
4892 public CommonTree getTree() { return tree; }
4896 // $ANTLR start "tuple"
4897 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:425:1: tuple : LPAREN ( value ( ',' value )* )? RPAREN -> ^( TUPLE ( value )* ) ;
4898 public final GraphParser.tuple_return tuple() throws RecognitionException {
4899 GraphParser.tuple_return retval = new GraphParser.tuple_return();
4900 retval.start = input.LT(1);
4902 CommonTree root_0 = null;
4904 Token LPAREN133=null;
4905 Token char_literal135=null;
4906 Token RPAREN137=null;
4907 ParserRuleReturnScope value134 =null;
4908 ParserRuleReturnScope value136 =null;
4910 CommonTree LPAREN133_tree=null;
4911 CommonTree char_literal135_tree=null;
4912 CommonTree RPAREN137_tree=null;
4913 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
4914 RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
4915 RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
4916 RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
4919 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:5: ( LPAREN ( value ( ',' value )* )? RPAREN -> ^( TUPLE ( value )* ) )
4920 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:7: LPAREN ( value ( ',' value )* )? RPAREN
4922 LPAREN133=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_tuple2937); if (state.failed) return retval;
4923 if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN133);
4925 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:14: ( value ( ',' value )* )?
4927 int LA43_0 = input.LA(1);
4928 if ( (LA43_0==FLOAT||LA43_0==ID||LA43_0==INT||(LA43_0 >= LBRACKET && LA43_0 <= LPAREN)||LA43_0==STRING||(LA43_0 >= 78 && LA43_0 <= 79)) ) {
4933 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:15: value ( ',' value )*
4935 pushFollow(FOLLOW_value_in_tuple2940);
4938 if (state.failed) return retval;
4939 if ( state.backtracking==0 ) stream_value.add(value134.getTree());
4940 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:21: ( ',' value )*
4944 int LA42_0 = input.LA(1);
4945 if ( (LA42_0==67) ) {
4951 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:426:22: ',' value
4953 char_literal135=(Token)match(input,67,FOLLOW_67_in_tuple2943); if (state.failed) return retval;
4954 if ( state.backtracking==0 ) stream_67.add(char_literal135);
4956 pushFollow(FOLLOW_value_in_tuple2945);
4959 if (state.failed) return retval;
4960 if ( state.backtracking==0 ) stream_value.add(value136.getTree());
4974 RPAREN137=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_tuple2951); if (state.failed) return retval;
4975 if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN137);
4980 // rule labels: retval
4981 // token list labels:
4982 // rule list labels:
4984 if ( state.backtracking==0 ) {
4985 retval.tree = root_0;
4986 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
4988 root_0 = (CommonTree)adaptor.nil();
4989 // 427:5: -> ^( TUPLE ( value )* )
4991 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:427:8: ^( TUPLE ( value )* )
4993 CommonTree root_1 = (CommonTree)adaptor.nil();
4994 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TUPLE, "TUPLE"), root_1);
4995 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:427:16: ( value )*
4996 while ( stream_value.hasNext() ) {
4997 adaptor.addChild(root_1, stream_value.nextTree());
4999 stream_value.reset();
5001 adaptor.addChild(root_0, root_1);
5007 retval.tree = root_0;
5012 retval.stop = input.LT(-1);
5014 if ( state.backtracking==0 ) {
5015 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5016 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5019 catch (RecognitionException re) {
5022 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5025 // do for sure before leaving
5029 // $ANTLR end "tuple"
5032 public static class taggedValue_return extends ParserRuleReturnScope {
5035 public CommonTree getTree() { return tree; }
5039 // $ANTLR start "taggedValue"
5040 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:430:1: taggedValue : ID ( simpleValue )? -> ^( TAGGED_VALUE ID ( simpleValue )? ) ;
5041 public final GraphParser.taggedValue_return taggedValue() throws RecognitionException {
5042 GraphParser.taggedValue_return retval = new GraphParser.taggedValue_return();
5043 retval.start = input.LT(1);
5045 CommonTree root_0 = null;
5048 ParserRuleReturnScope simpleValue139 =null;
5050 CommonTree ID138_tree=null;
5051 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
5052 RewriteRuleSubtreeStream stream_simpleValue=new RewriteRuleSubtreeStream(adaptor,"rule simpleValue");
5055 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:431:5: ( ID ( simpleValue )? -> ^( TAGGED_VALUE ID ( simpleValue )? ) )
5056 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:431:7: ID ( simpleValue )?
5058 ID138=(Token)match(input,ID,FOLLOW_ID_in_taggedValue2983); if (state.failed) return retval;
5059 if ( state.backtracking==0 ) stream_ID.add(ID138);
5061 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:431:10: ( simpleValue )?
5063 int LA44_0 = input.LA(1);
5064 if ( (LA44_0==FLOAT||LA44_0==INT||(LA44_0 >= LBRACKET && LA44_0 <= LPAREN)||LA44_0==STRING||(LA44_0 >= 78 && LA44_0 <= 79)) ) {
5069 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:431:10: simpleValue
5071 pushFollow(FOLLOW_simpleValue_in_taggedValue2985);
5072 simpleValue139=simpleValue();
5074 if (state.failed) return retval;
5075 if ( state.backtracking==0 ) stream_simpleValue.add(simpleValue139.getTree());
5082 // elements: ID, simpleValue
5084 // rule labels: retval
5085 // token list labels:
5086 // rule list labels:
5088 if ( state.backtracking==0 ) {
5089 retval.tree = root_0;
5090 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
5092 root_0 = (CommonTree)adaptor.nil();
5093 // 432:5: -> ^( TAGGED_VALUE ID ( simpleValue )? )
5095 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:432:8: ^( TAGGED_VALUE ID ( simpleValue )? )
5097 CommonTree root_1 = (CommonTree)adaptor.nil();
5098 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TAGGED_VALUE, "TAGGED_VALUE"), root_1);
5099 adaptor.addChild(root_1, stream_ID.nextNode());
5100 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:432:26: ( simpleValue )?
5101 if ( stream_simpleValue.hasNext() ) {
5102 adaptor.addChild(root_1, stream_simpleValue.nextTree());
5104 stream_simpleValue.reset();
5106 adaptor.addChild(root_0, root_1);
5112 retval.tree = root_0;
5117 retval.stop = input.LT(-1);
5119 if ( state.backtracking==0 ) {
5120 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5121 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5124 catch (RecognitionException re) {
5127 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5130 // do for sure before leaving
5134 // $ANTLR end "taggedValue"
5137 public static class record_return extends ParserRuleReturnScope {
5140 public CommonTree getTree() { return tree; }
5144 // $ANTLR start "record"
5145 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:435:1: record : LCURLY ( recordAssignment ( ',' recordAssignment )* )? RCURLY -> ^( RECORD ( recordAssignment )* ) ;
5146 public final GraphParser.record_return record() throws RecognitionException {
5147 GraphParser.record_return retval = new GraphParser.record_return();
5148 retval.start = input.LT(1);
5150 CommonTree root_0 = null;
5152 Token LCURLY140=null;
5153 Token char_literal142=null;
5154 Token RCURLY144=null;
5155 ParserRuleReturnScope recordAssignment141 =null;
5156 ParserRuleReturnScope recordAssignment143 =null;
5158 CommonTree LCURLY140_tree=null;
5159 CommonTree char_literal142_tree=null;
5160 CommonTree RCURLY144_tree=null;
5161 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
5162 RewriteRuleTokenStream stream_LCURLY=new RewriteRuleTokenStream(adaptor,"token LCURLY");
5163 RewriteRuleTokenStream stream_RCURLY=new RewriteRuleTokenStream(adaptor,"token RCURLY");
5164 RewriteRuleSubtreeStream stream_recordAssignment=new RewriteRuleSubtreeStream(adaptor,"rule recordAssignment");
5167 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:5: ( LCURLY ( recordAssignment ( ',' recordAssignment )* )? RCURLY -> ^( RECORD ( recordAssignment )* ) )
5168 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:7: LCURLY ( recordAssignment ( ',' recordAssignment )* )? RCURLY
5170 LCURLY140=(Token)match(input,LCURLY,FOLLOW_LCURLY_in_record3020); if (state.failed) return retval;
5171 if ( state.backtracking==0 ) stream_LCURLY.add(LCURLY140);
5173 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:14: ( recordAssignment ( ',' recordAssignment )* )?
5175 int LA46_0 = input.LA(1);
5176 if ( (LA46_0==ID) ) {
5181 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:15: recordAssignment ( ',' recordAssignment )*
5183 pushFollow(FOLLOW_recordAssignment_in_record3023);
5184 recordAssignment141=recordAssignment();
5186 if (state.failed) return retval;
5187 if ( state.backtracking==0 ) stream_recordAssignment.add(recordAssignment141.getTree());
5188 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:32: ( ',' recordAssignment )*
5192 int LA45_0 = input.LA(1);
5193 if ( (LA45_0==67) ) {
5199 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:436:33: ',' recordAssignment
5201 char_literal142=(Token)match(input,67,FOLLOW_67_in_record3026); if (state.failed) return retval;
5202 if ( state.backtracking==0 ) stream_67.add(char_literal142);
5204 pushFollow(FOLLOW_recordAssignment_in_record3028);
5205 recordAssignment143=recordAssignment();
5207 if (state.failed) return retval;
5208 if ( state.backtracking==0 ) stream_recordAssignment.add(recordAssignment143.getTree());
5222 RCURLY144=(Token)match(input,RCURLY,FOLLOW_RCURLY_in_record3034); if (state.failed) return retval;
5223 if ( state.backtracking==0 ) stream_RCURLY.add(RCURLY144);
5226 // elements: recordAssignment
5228 // rule labels: retval
5229 // token list labels:
5230 // rule list labels:
5232 if ( state.backtracking==0 ) {
5233 retval.tree = root_0;
5234 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
5236 root_0 = (CommonTree)adaptor.nil();
5237 // 437:5: -> ^( RECORD ( recordAssignment )* )
5239 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:437:8: ^( RECORD ( recordAssignment )* )
5241 CommonTree root_1 = (CommonTree)adaptor.nil();
5242 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(RECORD, "RECORD"), root_1);
5243 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:437:17: ( recordAssignment )*
5244 while ( stream_recordAssignment.hasNext() ) {
5245 adaptor.addChild(root_1, stream_recordAssignment.nextTree());
5247 stream_recordAssignment.reset();
5249 adaptor.addChild(root_0, root_1);
5255 retval.tree = root_0;
5260 retval.stop = input.LT(-1);
5262 if ( state.backtracking==0 ) {
5263 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5264 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5267 catch (RecognitionException re) {
5270 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5273 // do for sure before leaving
5277 // $ANTLR end "record"
5280 public static class recordAssignment_return extends ParserRuleReturnScope {
5283 public CommonTree getTree() { return tree; }
5287 // $ANTLR start "recordAssignment"
5288 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:440:1: recordAssignment : ID '=' value -> ^( ASSIGNMENT ID value ) ;
5289 public final GraphParser.recordAssignment_return recordAssignment() throws RecognitionException {
5290 GraphParser.recordAssignment_return retval = new GraphParser.recordAssignment_return();
5291 retval.start = input.LT(1);
5293 CommonTree root_0 = null;
5296 Token char_literal146=null;
5297 ParserRuleReturnScope value147 =null;
5299 CommonTree ID145_tree=null;
5300 CommonTree char_literal146_tree=null;
5301 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
5302 RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
5303 RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
5306 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:441:5: ( ID '=' value -> ^( ASSIGNMENT ID value ) )
5307 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:441:7: ID '=' value
5309 ID145=(Token)match(input,ID,FOLLOW_ID_in_recordAssignment3066); if (state.failed) return retval;
5310 if ( state.backtracking==0 ) stream_ID.add(ID145);
5312 char_literal146=(Token)match(input,74,FOLLOW_74_in_recordAssignment3068); if (state.failed) return retval;
5313 if ( state.backtracking==0 ) stream_74.add(char_literal146);
5315 pushFollow(FOLLOW_value_in_recordAssignment3070);
5318 if (state.failed) return retval;
5319 if ( state.backtracking==0 ) stream_value.add(value147.getTree());
5321 // elements: ID, value
5323 // rule labels: retval
5324 // token list labels:
5325 // rule list labels:
5327 if ( state.backtracking==0 ) {
5328 retval.tree = root_0;
5329 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
5331 root_0 = (CommonTree)adaptor.nil();
5332 // 442:5: -> ^( ASSIGNMENT ID value )
5334 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:442:8: ^( ASSIGNMENT ID value )
5336 CommonTree root_1 = (CommonTree)adaptor.nil();
5337 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ASSIGNMENT, "ASSIGNMENT"), root_1);
5338 adaptor.addChild(root_1, stream_ID.nextNode());
5339 adaptor.addChild(root_1, stream_value.nextTree());
5340 adaptor.addChild(root_0, root_1);
5346 retval.tree = root_0;
5351 retval.stop = input.LT(-1);
5353 if ( state.backtracking==0 ) {
5354 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5355 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5358 catch (RecognitionException re) {
5361 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5364 // do for sure before leaving
5368 // $ANTLR end "recordAssignment"
5371 public static class map_return extends ParserRuleReturnScope {
5374 public CommonTree getTree() { return tree; }
5378 // $ANTLR start "map"
5379 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:1: map :{...}? => ID LCURLY ( mapAssignment ( ',' mapAssignment )* )? RCURLY -> ^( MAP ( mapAssignment )* ) ;
5380 public final GraphParser.map_return map() throws RecognitionException {
5381 GraphParser.map_return retval = new GraphParser.map_return();
5382 retval.start = input.LT(1);
5384 CommonTree root_0 = null;
5387 Token LCURLY149=null;
5388 Token char_literal151=null;
5389 Token RCURLY153=null;
5390 ParserRuleReturnScope mapAssignment150 =null;
5391 ParserRuleReturnScope mapAssignment152 =null;
5393 CommonTree ID148_tree=null;
5394 CommonTree LCURLY149_tree=null;
5395 CommonTree char_literal151_tree=null;
5396 CommonTree RCURLY153_tree=null;
5397 RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
5398 RewriteRuleTokenStream stream_LCURLY=new RewriteRuleTokenStream(adaptor,"token LCURLY");
5399 RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID");
5400 RewriteRuleTokenStream stream_RCURLY=new RewriteRuleTokenStream(adaptor,"token RCURLY");
5401 RewriteRuleSubtreeStream stream_mapAssignment=new RewriteRuleSubtreeStream(adaptor,"rule mapAssignment");
5404 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:5: ({...}? => ID LCURLY ( mapAssignment ( ',' mapAssignment )* )? RCURLY -> ^( MAP ( mapAssignment )* ) )
5405 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:7: {...}? => ID LCURLY ( mapAssignment ( ',' mapAssignment )* )? RCURLY
5407 if ( !((input.LT(1).getText().equals("map"))) ) {
5408 if (state.backtracking>0) {state.failed=true; return retval;}
5409 throw new FailedPredicateException(input, "map", "input.LT(1).getText().equals(\"map\")");
5411 ID148=(Token)match(input,ID,FOLLOW_ID_in_map3100); if (state.failed) return retval;
5412 if ( state.backtracking==0 ) stream_ID.add(ID148);
5414 LCURLY149=(Token)match(input,LCURLY,FOLLOW_LCURLY_in_map3102); if (state.failed) return retval;
5415 if ( state.backtracking==0 ) stream_LCURLY.add(LCURLY149);
5417 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:58: ( mapAssignment ( ',' mapAssignment )* )?
5419 int LA48_0 = input.LA(1);
5420 if ( (LA48_0==FLOAT||LA48_0==ID||LA48_0==INT||(LA48_0 >= LBRACKET && LA48_0 <= LPAREN)||LA48_0==STRING||(LA48_0 >= 78 && LA48_0 <= 79)) ) {
5425 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:59: mapAssignment ( ',' mapAssignment )*
5427 pushFollow(FOLLOW_mapAssignment_in_map3105);
5428 mapAssignment150=mapAssignment();
5430 if (state.failed) return retval;
5431 if ( state.backtracking==0 ) stream_mapAssignment.add(mapAssignment150.getTree());
5432 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:73: ( ',' mapAssignment )*
5436 int LA47_0 = input.LA(1);
5437 if ( (LA47_0==67) ) {
5443 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:445:74: ',' mapAssignment
5445 char_literal151=(Token)match(input,67,FOLLOW_67_in_map3108); if (state.failed) return retval;
5446 if ( state.backtracking==0 ) stream_67.add(char_literal151);
5448 pushFollow(FOLLOW_mapAssignment_in_map3110);
5449 mapAssignment152=mapAssignment();
5451 if (state.failed) return retval;
5452 if ( state.backtracking==0 ) stream_mapAssignment.add(mapAssignment152.getTree());
5466 RCURLY153=(Token)match(input,RCURLY,FOLLOW_RCURLY_in_map3116); if (state.failed) return retval;
5467 if ( state.backtracking==0 ) stream_RCURLY.add(RCURLY153);
5470 // elements: mapAssignment
5472 // rule labels: retval
5473 // token list labels:
5474 // rule list labels:
5476 if ( state.backtracking==0 ) {
5477 retval.tree = root_0;
5478 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
5480 root_0 = (CommonTree)adaptor.nil();
5481 // 446:5: -> ^( MAP ( mapAssignment )* )
5483 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:446:8: ^( MAP ( mapAssignment )* )
5485 CommonTree root_1 = (CommonTree)adaptor.nil();
5486 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(MAP, "MAP"), root_1);
5487 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:446:14: ( mapAssignment )*
5488 while ( stream_mapAssignment.hasNext() ) {
5489 adaptor.addChild(root_1, stream_mapAssignment.nextTree());
5491 stream_mapAssignment.reset();
5493 adaptor.addChild(root_0, root_1);
5499 retval.tree = root_0;
5504 retval.stop = input.LT(-1);
5506 if ( state.backtracking==0 ) {
5507 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5508 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5511 catch (RecognitionException re) {
5514 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5517 // do for sure before leaving
5524 public static class mapAssignment_return extends ParserRuleReturnScope {
5527 public CommonTree getTree() { return tree; }
5531 // $ANTLR start "mapAssignment"
5532 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:449:1: mapAssignment : value '=' value -> ^( ASSIGNMENT ( value )* ) ;
5533 public final GraphParser.mapAssignment_return mapAssignment() throws RecognitionException {
5534 GraphParser.mapAssignment_return retval = new GraphParser.mapAssignment_return();
5535 retval.start = input.LT(1);
5537 CommonTree root_0 = null;
5539 Token char_literal155=null;
5540 ParserRuleReturnScope value154 =null;
5541 ParserRuleReturnScope value156 =null;
5543 CommonTree char_literal155_tree=null;
5544 RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
5545 RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
5548 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:450:5: ( value '=' value -> ^( ASSIGNMENT ( value )* ) )
5549 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:450:7: value '=' value
5551 pushFollow(FOLLOW_value_in_mapAssignment3148);
5554 if (state.failed) return retval;
5555 if ( state.backtracking==0 ) stream_value.add(value154.getTree());
5556 char_literal155=(Token)match(input,74,FOLLOW_74_in_mapAssignment3150); if (state.failed) return retval;
5557 if ( state.backtracking==0 ) stream_74.add(char_literal155);
5559 pushFollow(FOLLOW_value_in_mapAssignment3152);
5562 if (state.failed) return retval;
5563 if ( state.backtracking==0 ) stream_value.add(value156.getTree());
5567 // rule labels: retval
5568 // token list labels:
5569 // rule list labels:
5571 if ( state.backtracking==0 ) {
5572 retval.tree = root_0;
5573 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
5575 root_0 = (CommonTree)adaptor.nil();
5576 // 451:5: -> ^( ASSIGNMENT ( value )* )
5578 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:451:8: ^( ASSIGNMENT ( value )* )
5580 CommonTree root_1 = (CommonTree)adaptor.nil();
5581 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ASSIGNMENT, "ASSIGNMENT"), root_1);
5582 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:451:21: ( value )*
5583 while ( stream_value.hasNext() ) {
5584 adaptor.addChild(root_1, stream_value.nextTree());
5586 stream_value.reset();
5588 adaptor.addChild(root_0, root_1);
5594 retval.tree = root_0;
5599 retval.stop = input.LT(-1);
5601 if ( state.backtracking==0 ) {
5602 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
5603 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
5606 catch (RecognitionException re) {
5609 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
5612 // do for sure before leaving
5616 // $ANTLR end "mapAssignment"
5618 // $ANTLR start synpred1_Graph
5619 public final void synpred1_Graph_fragment() throws RecognitionException {
5620 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:22: ( arrayType )
5621 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:317:23: arrayType
5623 pushFollow(FOLLOW_arrayType_in_synpred1_Graph2075);
5626 if (state.failed) return;
5631 // $ANTLR end synpred1_Graph
5633 // $ANTLR start synpred2_Graph
5634 public final void synpred2_Graph_fragment() throws RecognitionException {
5635 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:11: ( LPAREN )
5636 // src/org/simantics/graph/compiler/internal/parsing/Graph.g:350:12: LPAREN
5638 match(input,LPAREN,FOLLOW_LPAREN_in_synpred2_Graph2354); if (state.failed) return;
5643 // $ANTLR end synpred2_Graph
5647 public final boolean synpred2_Graph() {
5648 state.backtracking++;
5649 int start = input.mark();
5651 synpred2_Graph_fragment(); // can never throw exception
5652 } catch (RecognitionException re) {
5653 System.err.println("impossible: "+re);
5655 boolean success = !state.failed;
5656 input.rewind(start);
5657 state.backtracking--;
5661 public final boolean synpred1_Graph() {
5662 state.backtracking++;
5663 int start = input.mark();
5665 synpred1_Graph_fragment(); // can never throw exception
5666 } catch (RecognitionException re) {
5667 System.err.println("impossible: "+re);
5669 boolean success = !state.failed;
5670 input.rewind(start);
5671 state.backtracking--;
5678 public static final BitSet FOLLOW_NEWLINE_in_file1230 = new BitSet(new long[]{0x0800100074440000L,0x000000000000E006L});
5679 public static final BitSet FOLLOW_resourceDefinitions_in_file1233 = new BitSet(new long[]{0x0000000000000000L});
5680 public static final BitSet FOLLOW_EOF_in_file1236 = new BitSet(new long[]{0x0000000000000002L});
5681 public static final BitSet FOLLOW_resourceDefinition_in_resourceDefinitions1260 = new BitSet(new long[]{0x0000000100000002L});
5682 public static final BitSet FOLLOW_NEWLINE_in_resourceDefinitions1263 = new BitSet(new long[]{0x0800100074440000L,0x000000000000E006L});
5683 public static final BitSet FOLLOW_resourceDefinition_in_resourceDefinitions1266 = new BitSet(new long[]{0x0000000100000002L});
5684 public static final BitSet FOLLOW_resource_in_resourceDefinition1300 = new BitSet(new long[]{0x0800000000C00002L,0x0000000000001FD4L});
5685 public static final BitSet FOLLOW_localProperty_in_resourceDefinition1308 = new BitSet(new long[]{0x0800000000C00002L,0x0000000000001FD4L});
5686 public static final BitSet FOLLOW_INDENT_in_resourceDefinition1318 = new BitSet(new long[]{0x0800000000400000L,0x0000000000003FD4L});
5687 public static final BitSet FOLLOW_property_in_resourceDefinition1320 = new BitSet(new long[]{0x0000000100000200L});
5688 public static final BitSet FOLLOW_NEWLINE_in_resourceDefinition1323 = new BitSet(new long[]{0x0800000000400000L,0x0000000000003FD4L});
5689 public static final BitSet FOLLOW_property_in_resourceDefinition1325 = new BitSet(new long[]{0x0000000100000200L});
5690 public static final BitSet FOLLOW_DEDENT_in_resourceDefinition1329 = new BitSet(new long[]{0x0000000000000002L});
5691 public static final BitSet FOLLOW_template_in_resourceDefinition1358 = new BitSet(new long[]{0x0000000000000002L});
5692 public static final BitSet FOLLOW_relation_in_localProperty1393 = new BitSet(new long[]{0x0800100074440000L,0x000000000000C006L});
5693 public static final BitSet FOLLOW_resource_in_localProperty1395 = new BitSet(new long[]{0x0000000000000002L});
5694 public static final BitSet FOLLOW_relation_in_property1434 = new BitSet(new long[]{0x0800100074C40000L,0x000000000000E006L});
5695 public static final BitSet FOLLOW_resourceDefinition_in_property1444 = new BitSet(new long[]{0x0000000000000002L});
5696 public static final BitSet FOLLOW_INDENT_in_property1464 = new BitSet(new long[]{0x0800100074440000L,0x000000000000E006L});
5697 public static final BitSet FOLLOW_resourceDefinitions_in_property1466 = new BitSet(new long[]{0x0000000000000200L});
5698 public static final BitSet FOLLOW_DEDENT_in_property1468 = new BitSet(new long[]{0x0000000000000002L});
5699 public static final BitSet FOLLOW_template_in_property1494 = new BitSet(new long[]{0x0000000000000002L});
5700 public static final BitSet FOLLOW_77_in_template1515 = new BitSet(new long[]{0x0800100074440000L,0x000000000000C006L});
5701 public static final BitSet FOLLOW_ID_in_template1533 = new BitSet(new long[]{0x0800100074440000L,0x000000000000C006L});
5702 public static final BitSet FOLLOW_resource_in_template1535 = new BitSet(new long[]{0x0800100074C40000L,0x000000000000C006L});
5703 public static final BitSet FOLLOW_INDENT_in_template1545 = new BitSet(new long[]{0x0800100074440000L,0x000000000000E006L});
5704 public static final BitSet FOLLOW_resourceDefinitions_in_template1547 = new BitSet(new long[]{0x0000000000000200L});
5705 public static final BitSet FOLLOW_DEDENT_in_template1549 = new BitSet(new long[]{0x0000000000000002L});
5706 public static final BitSet FOLLOW_resource_in_template1574 = new BitSet(new long[]{0x0800100074C40002L,0x000000000000C006L});
5707 public static final BitSet FOLLOW_INDENT_in_template1585 = new BitSet(new long[]{0x0800100074440000L,0x000000000000E006L});
5708 public static final BitSet FOLLOW_resourceDefinitions_in_template1587 = new BitSet(new long[]{0x0000000000000200L});
5709 public static final BitSet FOLLOW_DEDENT_in_template1589 = new BitSet(new long[]{0x0000000000000002L});
5710 public static final BitSet FOLLOW_ID_in_relation1643 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5711 public static final BitSet FOLLOW_69_in_relation1658 = new BitSet(new long[]{0x0000000000400000L});
5712 public static final BitSet FOLLOW_ID_in_relation1660 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5713 public static final BitSet FOLLOW_URI_in_relation1681 = new BitSet(new long[]{0x0000000000000002L});
5714 public static final BitSet FOLLOW_73_in_relation1689 = new BitSet(new long[]{0x0000000000000002L});
5715 public static final BitSet FOLLOW_72_in_relation1701 = new BitSet(new long[]{0x0000000000000002L});
5716 public static final BitSet FOLLOW_71_in_relation1713 = new BitSet(new long[]{0x0000000000000002L});
5717 public static final BitSet FOLLOW_68_in_relation1725 = new BitSet(new long[]{0x0000000000000002L});
5718 public static final BitSet FOLLOW_75_in_relation1737 = new BitSet(new long[]{0x0000000000000002L});
5719 public static final BitSet FOLLOW_76_in_relation1749 = new BitSet(new long[]{0x0000000000000002L});
5720 public static final BitSet FOLLOW_70_in_relation1765 = new BitSet(new long[]{0x0000000000000002L});
5721 public static final BitSet FOLLOW_74_in_relation1777 = new BitSet(new long[]{0x0000000000000002L});
5722 public static final BitSet FOLLOW_66_in_relation1789 = new BitSet(new long[]{0x0000000000400000L});
5723 public static final BitSet FOLLOW_ID_in_relation1791 = new BitSet(new long[]{0x0000000000000002L});
5724 public static final BitSet FOLLOW_ID_in_resource1821 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5725 public static final BitSet FOLLOW_ID_in_resource1840 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5726 public static final BitSet FOLLOW_69_in_resource1855 = new BitSet(new long[]{0x0000100000400000L});
5727 public static final BitSet FOLLOW_ID_in_resource1858 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5728 public static final BitSet FOLLOW_STRING_in_resource1883 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
5729 public static final BitSet FOLLOW_URI_in_resource1924 = new BitSet(new long[]{0x0000000000000002L});
5730 public static final BitSet FOLLOW_simpleValue_in_resource1932 = new BitSet(new long[]{0x0000000000000002L});
5731 public static final BitSet FOLLOW_65_in_resource1948 = new BitSet(new long[]{0x0000000060400000L});
5732 public static final BitSet FOLLOW_basicType_in_resource1950 = new BitSet(new long[]{0x0000000000000002L});
5733 public static final BitSet FOLLOW_66_in_resource1966 = new BitSet(new long[]{0x0000000000400000L});
5734 public static final BitSet FOLLOW_ID_in_resource1968 = new BitSet(new long[]{0x0000000000000002L});
5735 public static final BitSet FOLLOW_arrayType_in_type2004 = new BitSet(new long[]{0x0000000000000002L});
5736 public static final BitSet FOLLOW_unionType_in_type2012 = new BitSet(new long[]{0x0000000000000002L});
5737 public static final BitSet FOLLOW_80_in_unionType2041 = new BitSet(new long[]{0x0000000000400000L});
5738 public static final BitSet FOLLOW_unionComponent_in_unionType2043 = new BitSet(new long[]{0x0000000000000002L,0x0000000000010000L});
5739 public static final BitSet FOLLOW_ID_in_unionComponent2071 = new BitSet(new long[]{0x0000000060400002L});
5740 public static final BitSet FOLLOW_arrayType_in_unionComponent2080 = new BitSet(new long[]{0x0000000000000002L});
5741 public static final BitSet FOLLOW_basicType_in_arrayType2108 = new BitSet(new long[]{0x0000000010000002L});
5742 public static final BitSet FOLLOW_LBRACKET_in_arrayType2122 = new BitSet(new long[]{0x000000100C000000L});
5743 public static final BitSet FOLLOW_arrayLength_in_arrayType2124 = new BitSet(new long[]{0x0000001000000000L});
5744 public static final BitSet FOLLOW_RBRACKET_in_arrayType2127 = new BitSet(new long[]{0x0000000010000002L});
5745 public static final BitSet FOLLOW_tupleType_in_basicType2181 = new BitSet(new long[]{0x0000000000000002L});
5746 public static final BitSet FOLLOW_recordType_in_basicType2189 = new BitSet(new long[]{0x0000000000000002L});
5747 public static final BitSet FOLLOW_typeReference_in_basicType2197 = new BitSet(new long[]{0x0000000000000002L});
5748 public static final BitSet FOLLOW_LPAREN_in_tupleType2219 = new BitSet(new long[]{0x0000080060400000L,0x0000000000010000L});
5749 public static final BitSet FOLLOW_type_in_tupleType2222 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5750 public static final BitSet FOLLOW_67_in_tupleType2225 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5751 public static final BitSet FOLLOW_type_in_tupleType2227 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5752 public static final BitSet FOLLOW_RPAREN_in_tupleType2233 = new BitSet(new long[]{0x0000000000000002L});
5753 public static final BitSet FOLLOW_LCURLY_in_recordType2266 = new BitSet(new long[]{0x0000002000400000L});
5754 public static final BitSet FOLLOW_component_in_recordType2269 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5755 public static final BitSet FOLLOW_67_in_recordType2272 = new BitSet(new long[]{0x0000000000400000L});
5756 public static final BitSet FOLLOW_component_in_recordType2274 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5757 public static final BitSet FOLLOW_RCURLY_in_recordType2280 = new BitSet(new long[]{0x0000000000000002L});
5758 public static final BitSet FOLLOW_ID_in_component2312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
5759 public static final BitSet FOLLOW_70_in_component2314 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5760 public static final BitSet FOLLOW_type_in_component2316 = new BitSet(new long[]{0x0000000000000002L});
5761 public static final BitSet FOLLOW_ID_in_typeReference2350 = new BitSet(new long[]{0x0000000040000002L});
5762 public static final BitSet FOLLOW_LPAREN_in_typeReference2358 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5763 public static final BitSet FOLLOW_parameter_in_typeReference2360 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5764 public static final BitSet FOLLOW_67_in_typeReference2363 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5765 public static final BitSet FOLLOW_parameter_in_typeReference2365 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5766 public static final BitSet FOLLOW_RPAREN_in_typeReference2369 = new BitSet(new long[]{0x0000000000000002L});
5767 public static final BitSet FOLLOW_ID_in_parameter2405 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
5768 public static final BitSet FOLLOW_74_in_parameter2407 = new BitSet(new long[]{0x0000100054040000L,0x000000000000C000L});
5769 public static final BitSet FOLLOW_parameterValue_in_parameter2409 = new BitSet(new long[]{0x0000000000000002L});
5770 public static final BitSet FOLLOW_type_in_parameter2427 = new BitSet(new long[]{0x0000000000000002L});
5771 public static final BitSet FOLLOW_string_in_parameterValue2446 = new BitSet(new long[]{0x0000000000000002L});
5772 public static final BitSet FOLLOW_boolean__in_parameterValue2454 = new BitSet(new long[]{0x0000000000000002L});
5773 public static final BitSet FOLLOW_number_in_parameterValue2462 = new BitSet(new long[]{0x0000000000000002L});
5774 public static final BitSet FOLLOW_rangePar_in_parameterValue2470 = new BitSet(new long[]{0x0000000000000002L});
5775 public static final BitSet FOLLOW_set_in_rangePar2499 = new BitSet(new long[]{0x000000080C040000L});
5776 public static final BitSet FOLLOW_range_in_rangePar2507 = new BitSet(new long[]{0x0000081000000000L});
5777 public static final BitSet FOLLOW_set_in_rangePar2509 = new BitSet(new long[]{0x0000000000000002L});
5778 public static final BitSet FOLLOW_number_in_range2536 = new BitSet(new long[]{0x0000000000000002L});
5779 public static final BitSet FOLLOW_RANGE_in_range2544 = new BitSet(new long[]{0x0000000000000002L});
5780 public static final BitSet FOLLOW_INT_RANGE_in_range2552 = new BitSet(new long[]{0x0000000000000002L});
5781 public static final BitSet FOLLOW_STRING_in_string2606 = new BitSet(new long[]{0x0000000000000002L});
5782 public static final BitSet FOLLOW_79_in_boolean_2627 = new BitSet(new long[]{0x0000000000000002L});
5783 public static final BitSet FOLLOW_78_in_boolean_2639 = new BitSet(new long[]{0x0000000000000002L});
5784 public static final BitSet FOLLOW_valueDefinition_in_valueDefinitions2660 = new BitSet(new long[]{0x0000000000400002L});
5785 public static final BitSet FOLLOW_ID_in_valueDefinition2683 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
5786 public static final BitSet FOLLOW_70_in_valueDefinition2685 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5787 public static final BitSet FOLLOW_type_in_valueDefinition2687 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
5788 public static final BitSet FOLLOW_74_in_valueDefinition2689 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5789 public static final BitSet FOLLOW_value_in_valueDefinition2691 = new BitSet(new long[]{0x0000000000000002L});
5790 public static final BitSet FOLLOW_basicValue_in_value2727 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L});
5791 public static final BitSet FOLLOW_70_in_value2741 = new BitSet(new long[]{0x0000000060400000L,0x0000000000010000L});
5792 public static final BitSet FOLLOW_type_in_value2743 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L});
5793 public static final BitSet FOLLOW_simpleValue_in_basicValue2775 = new BitSet(new long[]{0x0000000000000002L});
5794 public static final BitSet FOLLOW_map_in_basicValue2783 = new BitSet(new long[]{0x0000000000000002L});
5795 public static final BitSet FOLLOW_ID_in_basicValue2793 = new BitSet(new long[]{0x0000000000000002L});
5796 public static final BitSet FOLLOW_taggedValue_in_basicValue2805 = new BitSet(new long[]{0x0000000000000002L});
5797 public static final BitSet FOLLOW_string_in_simpleValue2830 = new BitSet(new long[]{0x0000000000000002L});
5798 public static final BitSet FOLLOW_number_in_simpleValue2838 = new BitSet(new long[]{0x0000000000000002L});
5799 public static final BitSet FOLLOW_boolean__in_simpleValue2846 = new BitSet(new long[]{0x0000000000000002L});
5800 public static final BitSet FOLLOW_array_in_simpleValue2854 = new BitSet(new long[]{0x0000000000000002L});
5801 public static final BitSet FOLLOW_tuple_in_simpleValue2862 = new BitSet(new long[]{0x0000000000000002L});
5802 public static final BitSet FOLLOW_record_in_simpleValue2870 = new BitSet(new long[]{0x0000000000000002L});
5803 public static final BitSet FOLLOW_LBRACKET_in_array2891 = new BitSet(new long[]{0x0000101074440000L,0x000000000000C000L});
5804 public static final BitSet FOLLOW_value_in_array2894 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000008L});
5805 public static final BitSet FOLLOW_67_in_array2897 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5806 public static final BitSet FOLLOW_value_in_array2899 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000008L});
5807 public static final BitSet FOLLOW_RBRACKET_in_array2905 = new BitSet(new long[]{0x0000000000000002L});
5808 public static final BitSet FOLLOW_LPAREN_in_tuple2937 = new BitSet(new long[]{0x0000180074440000L,0x000000000000C000L});
5809 public static final BitSet FOLLOW_value_in_tuple2940 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5810 public static final BitSet FOLLOW_67_in_tuple2943 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5811 public static final BitSet FOLLOW_value_in_tuple2945 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000008L});
5812 public static final BitSet FOLLOW_RPAREN_in_tuple2951 = new BitSet(new long[]{0x0000000000000002L});
5813 public static final BitSet FOLLOW_ID_in_taggedValue2983 = new BitSet(new long[]{0x0000100074040002L,0x000000000000C000L});
5814 public static final BitSet FOLLOW_simpleValue_in_taggedValue2985 = new BitSet(new long[]{0x0000000000000002L});
5815 public static final BitSet FOLLOW_LCURLY_in_record3020 = new BitSet(new long[]{0x0000002000400000L});
5816 public static final BitSet FOLLOW_recordAssignment_in_record3023 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5817 public static final BitSet FOLLOW_67_in_record3026 = new BitSet(new long[]{0x0000000000400000L});
5818 public static final BitSet FOLLOW_recordAssignment_in_record3028 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5819 public static final BitSet FOLLOW_RCURLY_in_record3034 = new BitSet(new long[]{0x0000000000000002L});
5820 public static final BitSet FOLLOW_ID_in_recordAssignment3066 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
5821 public static final BitSet FOLLOW_74_in_recordAssignment3068 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5822 public static final BitSet FOLLOW_value_in_recordAssignment3070 = new BitSet(new long[]{0x0000000000000002L});
5823 public static final BitSet FOLLOW_ID_in_map3100 = new BitSet(new long[]{0x0000000020000000L});
5824 public static final BitSet FOLLOW_LCURLY_in_map3102 = new BitSet(new long[]{0x0000102074440000L,0x000000000000C000L});
5825 public static final BitSet FOLLOW_mapAssignment_in_map3105 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5826 public static final BitSet FOLLOW_67_in_map3108 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5827 public static final BitSet FOLLOW_mapAssignment_in_map3110 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000008L});
5828 public static final BitSet FOLLOW_RCURLY_in_map3116 = new BitSet(new long[]{0x0000000000000002L});
5829 public static final BitSet FOLLOW_value_in_mapAssignment3148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
5830 public static final BitSet FOLLOW_74_in_mapAssignment3150 = new BitSet(new long[]{0x0000100074440000L,0x000000000000C000L});
5831 public static final BitSet FOLLOW_value_in_mapAssignment3152 = new BitSet(new long[]{0x0000000000000002L});
5832 public static final BitSet FOLLOW_arrayType_in_synpred1_Graph2075 = new BitSet(new long[]{0x0000000000000002L});
5833 public static final BitSet FOLLOW_LPAREN_in_synpred2_Graph2354 = new BitSet(new long[]{0x0000000000000002L});