aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java2840
1 files changed, 1622 insertions, 1218 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
index ed1569a5..a70729d4 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
@@ -19,6 +19,7 @@ import org.eclipse.xtext.Keyword;
19import org.eclipse.xtext.ParserRule; 19import org.eclipse.xtext.ParserRule;
20import org.eclipse.xtext.RuleCall; 20import org.eclipse.xtext.RuleCall;
21import org.eclipse.xtext.TerminalRule; 21import org.eclipse.xtext.TerminalRule;
22import org.eclipse.xtext.UnorderedGroup;
22import org.eclipse.xtext.common.services.TerminalsGrammarAccess; 23import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
23import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder; 24import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder;
24import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; 25import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
@@ -29,91 +30,214 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
29 30
30 public class ProblemElements extends AbstractParserRuleElementFinder { 31 public class ProblemElements extends AbstractParserRuleElementFinder {
31 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem"); 32 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem");
32 private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1); 33 private final Group cGroup = (Group)rule.eContents().get(1);
33 private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0); 34 private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
35 private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
36 private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
37 private final RuleCall cNameQualifiedNameParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
38 private final RuleCall cFULL_STOPTerminalRuleCall_0_2 = (RuleCall)cGroup_0.eContents().get(2);
39 private final Assignment cImportsAssignment_1 = (Assignment)cGroup.eContents().get(1);
40 private final RuleCall cImportsImportParserRuleCall_1_0 = (RuleCall)cImportsAssignment_1.eContents().get(0);
41 private final Assignment cStatementsAssignment_2 = (Assignment)cGroup.eContents().get(2);
42 private final RuleCall cStatementsStatementParserRuleCall_2_0 = (RuleCall)cStatementsAssignment_2.eContents().get(0);
34 43
35 //Problem: 44 //Problem:
45 // ("problem" name=QualifiedName FULL_STOP)?
46 // imports+=Import*
36 // statements+=Statement*; 47 // statements+=Statement*;
37 @Override public ParserRule getRule() { return rule; } 48 @Override public ParserRule getRule() { return rule; }
38 49
50 //("problem" name=QualifiedName FULL_STOP)? imports+=Import* statements+=Statement*
51 public Group getGroup() { return cGroup; }
52
53 //("problem" name=QualifiedName FULL_STOP)?
54 public Group getGroup_0() { return cGroup_0; }
55
56 //"problem"
57 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; }
58
59 //name=QualifiedName
60 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
61
62 //QualifiedName
63 public RuleCall getNameQualifiedNameParserRuleCall_0_1_0() { return cNameQualifiedNameParserRuleCall_0_1_0; }
64
65 //FULL_STOP
66 public RuleCall getFULL_STOPTerminalRuleCall_0_2() { return cFULL_STOPTerminalRuleCall_0_2; }
67
68 //imports+=Import*
69 public Assignment getImportsAssignment_1() { return cImportsAssignment_1; }
70
71 //Import
72 public RuleCall getImportsImportParserRuleCall_1_0() { return cImportsImportParserRuleCall_1_0; }
73
39 //statements+=Statement* 74 //statements+=Statement*
40 public Assignment getStatementsAssignment() { return cStatementsAssignment; } 75 public Assignment getStatementsAssignment_2() { return cStatementsAssignment_2; }
41 76
42 //Statement 77 //Statement
43 public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; } 78 public RuleCall getStatementsStatementParserRuleCall_2_0() { return cStatementsStatementParserRuleCall_2_0; }
44 } 79 }
45 public class StatementElements extends AbstractParserRuleElementFinder { 80 public class StatementElements extends AbstractParserRuleElementFinder {
46 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 81 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
47 private final Group cGroup = (Group)rule.eContents().get(1); 82 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
48 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); 83 private final RuleCall cAssertionOrDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
49 private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0); 84 private final RuleCall cPredicateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); 85 private final RuleCall cUnnamedErrorPredicateDefintionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); 86 private final RuleCall cDefaultAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); 87 private final RuleCall cFunctionDefinitionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
53 private final RuleCall cMetricDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); 88 private final RuleCall cAttributeParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
54 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5); 89 private final RuleCall cExternDeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6); 90 private final RuleCall cScopeDeclarationParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
56 private final RuleCall cExternAggregatorDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); 91 private final RuleCall cObjectiveDeclarationParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
57 private final RuleCall cExternDatatypeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); 92 private final RuleCall cClassDeclarationParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
58 private final RuleCall cClassDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); 93 private final RuleCall cEnumDeclarationParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
59 private final RuleCall cScopeDefinitionParserRuleCall_0_10 = (RuleCall)cAlternatives_0.eContents().get(10);
60 private final RuleCall cObjectiveDefinitionParserRuleCall_0_11 = (RuleCall)cAlternatives_0.eContents().get(11);
61 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
62 94
63 //Statement: 95 //Statement:
64 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition 96 // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition
65 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 97 // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration;
66 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
67 @Override public ParserRule getRule() { return rule; } 98 @Override public ParserRule getRule() { return rule; }
68 99
69 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | 100 //AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition |
70 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 101 //Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration
71 //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP 102 public Alternatives getAlternatives() { return cAlternatives; }
72 public Group getGroup() { return cGroup; }
73
74 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
75 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
76 //ClassDefinition | ScopeDefinition | ObjectiveDefinition)
77 public Alternatives getAlternatives_0() { return cAlternatives_0; }
78 103
79 //AssertionOrDefinition 104 //AssertionOrDefinition
80 public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; } 105 public RuleCall getAssertionOrDefinitionParserRuleCall_0() { return cAssertionOrDefinitionParserRuleCall_0; }
81 106
82 //PredicateDefinition 107 //PredicateDefinition
83 public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; } 108 public RuleCall getPredicateDefinitionParserRuleCall_1() { return cPredicateDefinitionParserRuleCall_1; }
109
110 //UnnamedErrorPredicateDefintion
111 public RuleCall getUnnamedErrorPredicateDefintionParserRuleCall_2() { return cUnnamedErrorPredicateDefintionParserRuleCall_2; }
112
113 //DefaultAssertion
114 public RuleCall getDefaultAssertionParserRuleCall_3() { return cDefaultAssertionParserRuleCall_3; }
84 115
85 //UnnamedErrorPrediateDefinition 116 //FunctionDefinition
86 public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; } 117 public RuleCall getFunctionDefinitionParserRuleCall_4() { return cFunctionDefinitionParserRuleCall_4; }
87 118
88 //DefaultDefinition 119 //Attribute
89 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } 120 public RuleCall getAttributeParserRuleCall_5() { return cAttributeParserRuleCall_5; }
90 121
91 //MetricDefinition 122 //ExternDeclaration
92 public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; } 123 public RuleCall getExternDeclarationParserRuleCall_6() { return cExternDeclarationParserRuleCall_6; }
93 124
94 //ExternPredicateDefinition 125 //ScopeDeclaration
95 public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; } 126 public RuleCall getScopeDeclarationParserRuleCall_7() { return cScopeDeclarationParserRuleCall_7; }
96 127
97 //ExternMetricDefinition 128 //ObjectiveDeclaration
98 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } 129 public RuleCall getObjectiveDeclarationParserRuleCall_8() { return cObjectiveDeclarationParserRuleCall_8; }
99 130
100 //ExternAggregatorDefinition 131 //ClassDeclaration
101 public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; } 132 public RuleCall getClassDeclarationParserRuleCall_9() { return cClassDeclarationParserRuleCall_9; }
133
134 //EnumDeclaration
135 public RuleCall getEnumDeclarationParserRuleCall_10() { return cEnumDeclarationParserRuleCall_10; }
136 }
137 public class ImportElements extends AbstractParserRuleElementFinder {
138 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Import");
139 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
140 private final RuleCall cUriImportParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
141 private final RuleCall cNamespaceImportParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
102 142
103 //ExternDatatypeDefinition 143 //Import:
104 public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; } 144 // UriImport | NamespaceImport;
145 @Override public ParserRule getRule() { return rule; }
105 146
106 //ClassDefinition 147 //UriImport | NamespaceImport
107 public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; } 148 public Alternatives getAlternatives() { return cAlternatives; }
108 149
109 //ScopeDefinition 150 //UriImport
110 public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; } 151 public RuleCall getUriImportParserRuleCall_0() { return cUriImportParserRuleCall_0; }
111 152
112 //ObjectiveDefinition 153 //NamespaceImport
113 public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; } 154 public RuleCall getNamespaceImportParserRuleCall_1() { return cNamespaceImportParserRuleCall_1; }
155 }
156 public class UriImportElements extends AbstractParserRuleElementFinder {
157 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UriImport");
158 private final Group cGroup = (Group)rule.eContents().get(1);
159 private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
160 private final Assignment cUriAssignment_1 = (Assignment)cGroup.eContents().get(1);
161 private final RuleCall cUriSTRINGTerminalRuleCall_1_0 = (RuleCall)cUriAssignment_1.eContents().get(0);
162 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
163 private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
164 private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
165 private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0);
166 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
167
168 //UriImport:
169 // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP;
170 @Override public ParserRule getRule() { return rule; }
171
172 //"import" uri=STRING ("as" alias=QualifiedName) FULL_STOP
173 public Group getGroup() { return cGroup; }
174
175 //"import"
176 public Keyword getImportKeyword_0() { return cImportKeyword_0; }
177
178 //uri=STRING
179 public Assignment getUriAssignment_1() { return cUriAssignment_1; }
180
181 //STRING
182 public RuleCall getUriSTRINGTerminalRuleCall_1_0() { return cUriSTRINGTerminalRuleCall_1_0; }
183
184 //("as" alias=QualifiedName)
185 public Group getGroup_2() { return cGroup_2; }
186
187 //"as"
188 public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; }
189
190 //alias=QualifiedName
191 public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; }
192
193 //QualifiedName
194 public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; }
195
196 //FULL_STOP
197 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
198 }
199 public class NamespaceImportElements extends AbstractParserRuleElementFinder {
200 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamespaceImport");
201 private final Group cGroup = (Group)rule.eContents().get(1);
202 private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
203 private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
204 private final RuleCall cImportedNamespaceQualifiedNameParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0);
205 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
206 private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
207 private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
208 private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0);
209 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
210
211 //NamespaceImport:
212 // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP;
213 @Override public ParserRule getRule() { return rule; }
214
215 //"import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP
216 public Group getGroup() { return cGroup; }
217
218 //"import"
219 public Keyword getImportKeyword_0() { return cImportKeyword_0; }
220
221 //importedNamespace=QualifiedName
222 public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; }
223
224 //QualifiedName
225 public RuleCall getImportedNamespaceQualifiedNameParserRuleCall_1_0() { return cImportedNamespaceQualifiedNameParserRuleCall_1_0; }
226
227 //("as" alias=QualifiedName)
228 public Group getGroup_2() { return cGroup_2; }
229
230 //"as"
231 public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; }
232
233 //alias=QualifiedName
234 public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; }
235
236 //QualifiedName
237 public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; }
114 238
115 //FULL_STOP 239 //FULL_STOP
116 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } 240 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
117 } 241 }
118 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder { 242 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder {
119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition"); 243 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition");
@@ -121,51 +245,56 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
121 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 245 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
122 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 246 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
123 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); 247 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
124 private final Action cInterpretationBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); 248 private final Action cAssertionExpressionAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
125 private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); 249 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
126 private final Assignment cRangeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); 250 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
127 private final RuleCall cRangeExpressionParserRuleCall_1_0_2_0 = (RuleCall)cRangeAssignment_1_0_2.eContents().get(0); 251 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
252 private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0);
128 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 253 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
129 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); 254 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
130 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 255 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
131 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 256 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
132 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0); 257 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
133 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); 258 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
134 private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); 259 private final Action cFunctionDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
135 private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); 260 private final Keyword cColonEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1);
136 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); 261 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
137 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); 262 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
263 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
138 264
139 //AssertionOrDefinition Statement: 265 //AssertionOrDefinition Statement:
140 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" 266 // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
141 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; 267 // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP;
142 @Override public ParserRule getRule() { return rule; } 268 @Override public ParserRule getRule() { return rule; }
143 269
144 //Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression 270 //Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
145 //| {MetricDefinition.head=current} "=" body=Expression)? 271 //body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP
146 public Group getGroup() { return cGroup; } 272 public Group getGroup() { return cGroup; }
147 273
148 //Expression 274 //Expression
149 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } 275 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
150 276
151 //({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression | 277 //({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
152 //{MetricDefinition.head=current} "=" body=Expression)? 278 //{FunctionDefinition.head=current} ":=" body=Expression)
153 public Alternatives getAlternatives_1() { return cAlternatives_1; } 279 public Alternatives getAlternatives_1() { return cAlternatives_1; }
154 280
155 //{Interpretation.body=current} ":" range=Expression 281 //{Assertion.expression=current} (":" range=Expression)?
156 public Group getGroup_1_0() { return cGroup_1_0; } 282 public Group getGroup_1_0() { return cGroup_1_0; }
157 283
158 //{Interpretation.body=current} 284 //{Assertion.expression=current}
159 public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; } 285 public Action getAssertionExpressionAction_1_0_0() { return cAssertionExpressionAction_1_0_0; }
286
287 //(":" range=Expression)?
288 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
160 289
161 //":" 290 //":"
162 public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; } 291 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; }
163 292
164 //range=Expression 293 //range=Expression
165 public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; } 294 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; }
166 295
167 //Expression 296 //Expression
168 public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; } 297 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; }
169 298
170 //{PredicateDefinition.head=current} ":-" body=Expression 299 //{PredicateDefinition.head=current} ":-" body=Expression
171 public Group getGroup_1_1() { return cGroup_1_1; } 300 public Group getGroup_1_1() { return cGroup_1_1; }
@@ -182,20 +311,23 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
182 //Expression 311 //Expression
183 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; } 312 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; }
184 313
185 //{MetricDefinition.head=current} "=" body=Expression 314 //{FunctionDefinition.head=current} ":=" body=Expression
186 public Group getGroup_1_2() { return cGroup_1_2; } 315 public Group getGroup_1_2() { return cGroup_1_2; }
187 316
188 //{MetricDefinition.head=current} 317 //{FunctionDefinition.head=current}
189 public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; } 318 public Action getFunctionDefinitionHeadAction_1_2_0() { return cFunctionDefinitionHeadAction_1_2_0; }
190 319
191 //"=" 320 //":="
192 public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; } 321 public Keyword getColonEqualsSignKeyword_1_2_1() { return cColonEqualsSignKeyword_1_2_1; }
193 322
194 //body=Expression 323 //body=Expression
195 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; } 324 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; }
196 325
197 //Expression 326 //Expression
198 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; } 327 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; }
328
329 //FULL_STOP
330 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
199 } 331 }
200 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { 332 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
201 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition"); 333 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition");
@@ -216,12 +348,15 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
216 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); 348 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
217 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 349 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
218 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 350 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
351 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
219 352
220 //PredicateDefinition: 353 //PredicateDefinition:
221 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 354 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
355 // FULL_STOP;
222 @Override public ParserRule getRule() { return rule; } 356 @Override public ParserRule getRule() { return rule; }
223 357
224 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression 358 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
359 //FULL_STOP
225 public Group getGroup() { return cGroup; } 360 public Group getGroup() { return cGroup; }
226 361
227 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) 362 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?)
@@ -271,9 +406,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
271 406
272 //Expression 407 //Expression
273 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 408 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
409
410 //FULL_STOP
411 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
274 } 412 }
275 public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder { 413 public class UnnamedErrorPredicateDefintionElements extends AbstractParserRuleElementFinder {
276 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition"); 414 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPredicateDefintion");
277 private final Group cGroup = (Group)rule.eContents().get(1); 415 private final Group cGroup = (Group)rule.eContents().get(1);
278 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0); 416 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0);
279 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1); 417 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
@@ -281,12 +419,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
281 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); 419 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
282 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 420 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
283 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 421 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
422 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
284 423
285 //UnnamedErrorPrediateDefinition: 424 //UnnamedErrorPredicateDefintion:
286 // "error" argumentList=ArgumentList ":-" body=Expression; 425 // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP;
287 @Override public ParserRule getRule() { return rule; } 426 @Override public ParserRule getRule() { return rule; }
288 427
289 //"error" argumentList=ArgumentList ":-" body=Expression 428 //"error" argumentList=ArgumentList ":-" body=Expression FULL_STOP
290 public Group getGroup() { return cGroup; } 429 public Group getGroup() { return cGroup; }
291 430
292 //"error" 431 //"error"
@@ -306,69 +445,81 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
306 445
307 //Expression 446 //Expression
308 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 447 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
448
449 //FULL_STOP
450 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
309 } 451 }
310 public class DefaultDefinitionElements extends AbstractParserRuleElementFinder { 452 public class DefaultAssertionElements extends AbstractParserRuleElementFinder {
311 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition"); 453 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultAssertion");
312 private final Group cGroup = (Group)rule.eContents().get(1); 454 private final Group cGroup = (Group)rule.eContents().get(1);
313 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); 455 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
314 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 456 private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
315 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 457 private final RuleCall cExpressionCallParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
316 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); 458 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
317 private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3); 459 private final Keyword cColonKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
318 private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0); 460 private final Assignment cRangeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
461 private final RuleCall cRangeExpressionParserRuleCall_2_1_0 = (RuleCall)cRangeAssignment_2_1.eContents().get(0);
462 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
319 463
320 //DefaultDefinition: 464 //DefaultAssertion:
321 // "default" head=Call ":" range=Expression; 465 // "default" expression=Call (":" range=Expression)? FULL_STOP;
322 @Override public ParserRule getRule() { return rule; } 466 @Override public ParserRule getRule() { return rule; }
323 467
324 //"default" head=Call ":" range=Expression 468 //"default" expression=Call (":" range=Expression)? FULL_STOP
325 public Group getGroup() { return cGroup; } 469 public Group getGroup() { return cGroup; }
326 470
327 //"default" 471 //"default"
328 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } 472 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
329 473
330 //head=Call 474 //expression=Call
331 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 475 public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
332 476
333 //Call 477 //Call
334 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } 478 public RuleCall getExpressionCallParserRuleCall_1_0() { return cExpressionCallParserRuleCall_1_0; }
479
480 //(":" range=Expression)?
481 public Group getGroup_2() { return cGroup_2; }
335 482
336 //":" 483 //":"
337 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 484 public Keyword getColonKeyword_2_0() { return cColonKeyword_2_0; }
338 485
339 //range=Expression 486 //range=Expression
340 public Assignment getRangeAssignment_3() { return cRangeAssignment_3; } 487 public Assignment getRangeAssignment_2_1() { return cRangeAssignment_2_1; }
341 488
342 //Expression 489 //Expression
343 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } 490 public RuleCall getRangeExpressionParserRuleCall_2_1_0() { return cRangeExpressionParserRuleCall_2_1_0; }
491
492 //FULL_STOP
493 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
344 } 494 }
345 public class MetricDefinitionElements extends AbstractParserRuleElementFinder { 495 public class FunctionDefinitionElements extends AbstractParserRuleElementFinder {
346 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); 496 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FunctionDefinition");
347 private final Group cGroup = (Group)rule.eContents().get(1); 497 private final Group cGroup = (Group)rule.eContents().get(1);
348 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 498 private final Assignment cResultTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
349 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 499 private final CrossReference cResultTypeSymbolCrossReference_0_0 = (CrossReference)cResultTypeAssignment_0.eContents().get(0);
350 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 500 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cResultTypeSymbolCrossReference_0_0.eContents().get(1);
351 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 501 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
352 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 502 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
353 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 503 private final Keyword cColonEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
354 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 504 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
355 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 505 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
506 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
356 507
357 //MetricDefinition: 508 //FunctionDefinition:
358 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; 509 // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP;
359 @Override public ParserRule getRule() { return rule; } 510 @Override public ParserRule getRule() { return rule; }
360 511
361 //type=[NamedElement|QualifiedName] head=Call "=" body=Expression 512 //resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP
362 public Group getGroup() { return cGroup; } 513 public Group getGroup() { return cGroup; }
363 514
364 //type=[NamedElement|QualifiedName] 515 //resultType=[Symbol|QualifiedName]
365 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 516 public Assignment getResultTypeAssignment_0() { return cResultTypeAssignment_0; }
366 517
367 //[NamedElement|QualifiedName] 518 //[Symbol|QualifiedName]
368 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 519 public CrossReference getResultTypeSymbolCrossReference_0_0() { return cResultTypeSymbolCrossReference_0_0; }
369 520
370 //QualifiedName 521 //QualifiedName
371 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 522 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
372 523
373 //head=Call 524 //head=Call
374 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 525 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
@@ -376,76 +527,199 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
376 //Call 527 //Call
377 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } 528 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
378 529
379 //"=" 530 //":="
380 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } 531 public Keyword getColonEqualsSignKeyword_2() { return cColonEqualsSignKeyword_2; }
381 532
382 //body=Expression 533 //body=Expression
383 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } 534 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
384 535
385 //Expression 536 //Expression
386 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 537 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
538
539 //FULL_STOP
540 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
541 }
542 public class TypeReferenceElements extends AbstractParserRuleElementFinder {
543 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
544 private final Group cGroup = (Group)rule.eContents().get(1);
545 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
546 private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
547 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_0_0.eContents().get(1);
548 private final Assignment cForceObjectTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
549 private final Keyword cForceObjectTypeObjectKeyword_1_0 = (Keyword)cForceObjectTypeAssignment_1.eContents().get(0);
550
551 //TypeReference:
552 // type=[Symbol|QualifiedName] forceObjectType?="object"?;
553 @Override public ParserRule getRule() { return rule; }
554
555 //type=[Symbol|QualifiedName] forceObjectType?="object"?
556 public Group getGroup() { return cGroup; }
557
558 //type=[Symbol|QualifiedName]
559 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
560
561 //[Symbol|QualifiedName]
562 public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; }
563
564 //QualifiedName
565 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
566
567 //forceObjectType?="object"?
568 public Assignment getForceObjectTypeAssignment_1() { return cForceObjectTypeAssignment_1; }
569
570 //"object"
571 public Keyword getForceObjectTypeObjectKeyword_1_0() { return cForceObjectTypeObjectKeyword_1_0; }
572 }
573 public class AttributeElements extends AbstractParserRuleElementFinder {
574 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Attribute");
575 private final Group cGroup = (Group)rule.eContents().get(1);
576 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
577 private final RuleCall cKindAttributeKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
578 private final Assignment cTargetAssignment_1 = (Assignment)cGroup.eContents().get(1);
579 private final CrossReference cTargetSymbolCrossReference_1_0 = (CrossReference)cTargetAssignment_1.eContents().get(0);
580 private final RuleCall cTargetSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTargetSymbolCrossReference_1_0.eContents().get(1);
581 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
582
583 //Attribute:
584 // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP;
585 @Override public ParserRule getRule() { return rule; }
586
587 //kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP
588 public Group getGroup() { return cGroup; }
589
590 //kind=AttributeKind
591 public Assignment getKindAssignment_0() { return cKindAssignment_0; }
592
593 //AttributeKind
594 public RuleCall getKindAttributeKindEnumRuleCall_0_0() { return cKindAttributeKindEnumRuleCall_0_0; }
595
596 //target=[Symbol|QualifiedName]
597 public Assignment getTargetAssignment_1() { return cTargetAssignment_1; }
598
599 //[Symbol|QualifiedName]
600 public CrossReference getTargetSymbolCrossReference_1_0() { return cTargetSymbolCrossReference_1_0; }
601
602 //QualifiedName
603 public RuleCall getTargetSymbolQualifiedNameParserRuleCall_1_0_1() { return cTargetSymbolQualifiedNameParserRuleCall_1_0_1; }
604
605 //FULL_STOP
606 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
387 } 607 }
388 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder { 608 public class ExternDeclarationElements extends AbstractParserRuleElementFinder {
389 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition"); 609 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDeclaration");
610 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
611 private final RuleCall cExternPredicateDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
612 private final RuleCall cExternFunctionDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
613 private final RuleCall cExternAggregationOperatorDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
614 private final RuleCall cExternDatatypeDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
615
616 //ExternDeclaration:
617 // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
618 // ExternDatatypeDeclaration;
619 @Override public ParserRule getRule() { return rule; }
620
621 //ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
622 //ExternDatatypeDeclaration
623 public Alternatives getAlternatives() { return cAlternatives; }
624
625 //ExternPredicateDeclaration
626 public RuleCall getExternPredicateDeclarationParserRuleCall_0() { return cExternPredicateDeclarationParserRuleCall_0; }
627
628 //ExternFunctionDeclaration
629 public RuleCall getExternFunctionDeclarationParserRuleCall_1() { return cExternFunctionDeclarationParserRuleCall_1; }
630
631 //ExternAggregationOperatorDeclaration
632 public RuleCall getExternAggregationOperatorDeclarationParserRuleCall_2() { return cExternAggregationOperatorDeclarationParserRuleCall_2; }
633
634 //ExternDatatypeDeclaration
635 public RuleCall getExternDatatypeDeclarationParserRuleCall_3() { return cExternDatatypeDeclarationParserRuleCall_3; }
636 }
637 public class ExternPredicateDeclarationElements extends AbstractParserRuleElementFinder {
638 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDeclaration");
390 private final Group cGroup = (Group)rule.eContents().get(1); 639 private final Group cGroup = (Group)rule.eContents().get(1);
391 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 640 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
392 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 641 private final UnorderedGroup cUnorderedGroup_1 = (UnorderedGroup)cGroup.eContents().get(1);
393 private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 642 private final Assignment cFunctionalAssignment_1_0 = (Assignment)cUnorderedGroup_1.eContents().get(0);
394 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2); 643 private final Keyword cFunctionalFunctionalKeyword_1_0_0 = (Keyword)cFunctionalAssignment_1_0.eContents().get(0);
395 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0); 644 private final Assignment cErrorAssignment_1_1 = (Assignment)cUnorderedGroup_1.eContents().get(1);
645 private final Keyword cErrorErrorKeyword_1_1_0 = (Keyword)cErrorAssignment_1_1.eContents().get(0);
646 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
647 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
648 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
649 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
650 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
396 651
397 //ExternPredicateDefinition: 652 //ExternPredicateDeclaration:
398 // "extern" name=QualifiedName argumentList=ArgumentList; 653 // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP;
399 @Override public ParserRule getRule() { return rule; } 654 @Override public ParserRule getRule() { return rule; }
400 655
401 //"extern" name=QualifiedName argumentList=ArgumentList 656 //"extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP
402 public Group getGroup() { return cGroup; } 657 public Group getGroup() { return cGroup; }
403 658
404 //"extern" 659 //"extern"
405 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 660 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
406 661
662 //(functional?="functional"? & error?="error"?)
663 public UnorderedGroup getUnorderedGroup_1() { return cUnorderedGroup_1; }
664
665 //functional?="functional"?
666 public Assignment getFunctionalAssignment_1_0() { return cFunctionalAssignment_1_0; }
667
668 //"functional"
669 public Keyword getFunctionalFunctionalKeyword_1_0_0() { return cFunctionalFunctionalKeyword_1_0_0; }
670
671 //error?="error"?
672 public Assignment getErrorAssignment_1_1() { return cErrorAssignment_1_1; }
673
674 //"error"
675 public Keyword getErrorErrorKeyword_1_1_0() { return cErrorErrorKeyword_1_1_0; }
676
407 //name=QualifiedName 677 //name=QualifiedName
408 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 678 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
409 679
410 //QualifiedName 680 //QualifiedName
411 public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; } 681 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
412 682
413 //argumentList=ArgumentList 683 //argumentList=ArgumentList
414 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } 684 public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; }
415 685
416 //ArgumentList 686 //ArgumentList
417 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } 687 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
688
689 //FULL_STOP
690 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
418 } 691 }
419 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { 692 public class ExternFunctionDeclarationElements extends AbstractParserRuleElementFinder {
420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); 693 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternFunctionDeclaration");
421 private final Group cGroup = (Group)rule.eContents().get(1); 694 private final Group cGroup = (Group)rule.eContents().get(1);
422 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 695 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
423 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 696 private final Assignment cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
424 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 697 private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0);
425 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 698 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_1_0.eContents().get(1);
426 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 699 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
427 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 700 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
428 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3); 701 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
429 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0); 702 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
703 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
430 704
431 //ExternMetricDefinition: 705 //ExternFunctionDeclaration:
432 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; 706 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP;
433 @Override public ParserRule getRule() { return rule; } 707 @Override public ParserRule getRule() { return rule; }
434 708
435 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList 709 //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP
436 public Group getGroup() { return cGroup; } 710 public Group getGroup() { return cGroup; }
437 711
438 //"extern" 712 //"extern"
439 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 713 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
440 714
441 //type=[NamedElement|QualifiedName] 715 //resultType=[Symbol|QualifiedName]
442 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 716 public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; }
443 717
444 //[NamedElement|QualifiedName] 718 //[Symbol|QualifiedName]
445 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 719 public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; }
446 720
447 //QualifiedName 721 //QualifiedName
448 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 722 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
449 723
450 //name=QualifiedName 724 //name=QualifiedName
451 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 725 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
@@ -458,41 +732,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
458 732
459 //ArgumentList 733 //ArgumentList
460 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; } 734 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
735
736 //FULL_STOP
737 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
461 } 738 }
462 public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder { 739 public class ExternAggregationOperatorDeclarationElements extends AbstractParserRuleElementFinder {
463 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition"); 740 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregationOperatorDeclaration");
464 private final Group cGroup = (Group)rule.eContents().get(1); 741 private final Group cGroup = (Group)rule.eContents().get(1);
465 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 742 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
466 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 743 private final Assignment cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
467 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 744 private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0);
468 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 745 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_1_0.eContents().get(1);
469 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 746 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
470 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 747 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
471 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 748 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
472 private final Assignment cInputTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); 749 private final Assignment cArgumentTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
473 private final CrossReference cInputTypeNamedElementCrossReference_4_0 = (CrossReference)cInputTypeAssignment_4.eContents().get(0); 750 private final CrossReference cArgumentTypeSymbolCrossReference_4_0 = (CrossReference)cArgumentTypeAssignment_4.eContents().get(0);
474 private final RuleCall cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cInputTypeNamedElementCrossReference_4_0.eContents().get(1); 751 private final RuleCall cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cArgumentTypeSymbolCrossReference_4_0.eContents().get(1);
475 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5); 752 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
476 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); 753 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
754 private final RuleCall cFULL_STOPTerminalRuleCall_7 = (RuleCall)cGroup.eContents().get(7);
477 755
478 //ExternAggregatorDefinition: 756 //ExternAggregationOperatorDeclaration:
479 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; 757 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
758 // FULL_STOP;
480 @Override public ParserRule getRule() { return rule; } 759 @Override public ParserRule getRule() { return rule; }
481 760
482 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}" 761 //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
762 //FULL_STOP
483 public Group getGroup() { return cGroup; } 763 public Group getGroup() { return cGroup; }
484 764
485 //"extern" 765 //"extern"
486 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 766 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
487 767
488 //type=[NamedElement|QualifiedName] 768 //resultType=[Symbol|QualifiedName]
489 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 769 public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; }
490 770
491 //[NamedElement|QualifiedName] 771 //[Symbol|QualifiedName]
492 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 772 public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; }
493 773
494 //QualifiedName 774 //QualifiedName
495 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 775 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
496 776
497 //name=QualifiedName 777 //name=QualifiedName
498 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 778 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
@@ -503,46 +783,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
503 //"{" 783 //"{"
504 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } 784 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
505 785
506 //inputType=[NamedElement|QualifiedName] 786 //argumentType=[Symbol|QualifiedName]
507 public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; } 787 public Assignment getArgumentTypeAssignment_4() { return cArgumentTypeAssignment_4; }
508 788
509 //[NamedElement|QualifiedName] 789 //[Symbol|QualifiedName]
510 public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; } 790 public CrossReference getArgumentTypeSymbolCrossReference_4_0() { return cArgumentTypeSymbolCrossReference_4_0; }
511 791
512 //QualifiedName 792 //QualifiedName
513 public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; } 793 public RuleCall getArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1() { return cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1; }
514 794
515 //"..." 795 //"..."
516 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; } 796 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; }
517 797
518 //"}" 798 //"}"
519 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 799 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
800
801 //FULL_STOP
802 public RuleCall getFULL_STOPTerminalRuleCall_7() { return cFULL_STOPTerminalRuleCall_7; }
520 } 803 }
521 public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder { 804 public class ExternDatatypeDeclarationElements extends AbstractParserRuleElementFinder {
522 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition"); 805 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDeclaration");
523 private final Group cGroup = (Group)rule.eContents().get(1); 806 private final Group cGroup = (Group)rule.eContents().get(1);
524 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 807 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
525 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1); 808 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1);
526 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 809 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
527 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 810 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
528 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 811 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
529 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
530 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
531 private final CrossReference cSupertypesNamedElementCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0);
532 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_1_0.eContents().get(1);
533 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
534 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
535 private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
536 private final CrossReference cSupertypesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0);
537 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_2_1_0.eContents().get(1);
538 812
539 //ExternDatatypeDefinition: 813 //ExternDatatypeDeclaration:
540 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 814 // "extern" "datatype" name=QualifiedName FULL_STOP;
541 // supertypes+=[NamedElement|QualifiedName])*);
542 @Override public ParserRule getRule() { return rule; } 815 @Override public ParserRule getRule() { return rule; }
543 816
544 //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 817 //"extern" "datatype" name=QualifiedName FULL_STOP
545 //supertypes+=[NamedElement|QualifiedName])*)
546 public Group getGroup() { return cGroup; } 818 public Group getGroup() { return cGroup; }
547 819
548 //"extern" 820 //"extern"
@@ -557,96 +829,64 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
557 //QualifiedName 829 //QualifiedName
558 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } 830 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
559 831
560 //("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*) 832 //FULL_STOP
561 public Group getGroup_3() { return cGroup_3; } 833 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
562
563 //"extends"
564 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
565
566 //supertypes+=[NamedElement|QualifiedName]
567 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
568
569 //[NamedElement|QualifiedName]
570 public CrossReference getSupertypesNamedElementCrossReference_3_1_0() { return cSupertypesNamedElementCrossReference_3_1_0; }
571
572 //QualifiedName
573 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1; }
574
575 //("," supertypes+=[NamedElement|QualifiedName])*
576 public Group getGroup_3_2() { return cGroup_3_2; }
577
578 //","
579 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
580
581 //supertypes+=[NamedElement|QualifiedName]
582 public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; }
583
584 //[NamedElement|QualifiedName]
585 public CrossReference getSupertypesNamedElementCrossReference_3_2_1_0() { return cSupertypesNamedElementCrossReference_3_2_1_0; }
586
587 //QualifiedName
588 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; }
589 } 834 }
590 public class VariableElements extends AbstractParserRuleElementFinder { 835 public class ExpressionElements extends AbstractParserRuleElementFinder {
591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 836 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
592 private final Group cGroup = (Group)rule.eContents().get(1); 837 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
593 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 838 private final RuleCall cConditionalExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
594 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 839 private final RuleCall cLetExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
595 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 840 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
596 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 841 private final RuleCall cDisjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cGroup_2.eContents().get(0);
597 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 842 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
843 private final Action cForallConditionAction_2_1_0 = (Action)cGroup_2_1.eContents().get(0);
844 private final Keyword cEqualsSignGreaterThanSignKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
845 private final Assignment cBodyAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2);
846 private final RuleCall cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0 = (RuleCall)cBodyAssignment_2_1_2.eContents().get(0);
598 847
599 //Variable: 848 //Expression:
600 // type=[NamedElement|QualifiedName]? name=ID; 849 // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
850 // body=DisjunctiveExpression)?;
601 @Override public ParserRule getRule() { return rule; } 851 @Override public ParserRule getRule() { return rule; }
602 852
603 //type=[NamedElement|QualifiedName]? name=ID 853 //ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
604 public Group getGroup() { return cGroup; } 854 //body=DisjunctiveExpression)?
855 public Alternatives getAlternatives() { return cAlternatives; }
605 856
606 //type=[NamedElement|QualifiedName]? 857 //ConditionalExpression
607 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 858 public RuleCall getConditionalExpressionParserRuleCall_0() { return cConditionalExpressionParserRuleCall_0; }
608 859
609 //[NamedElement|QualifiedName] 860 //LetExpression
610 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 861 public RuleCall getLetExpressionParserRuleCall_1() { return cLetExpressionParserRuleCall_1; }
611 862
612 //QualifiedName 863 //DisjunctiveExpression ({Forall.condition=current} "=>" body=DisjunctiveExpression)?
613 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 864 public Group getGroup_2() { return cGroup_2; }
614
615 //name=ID
616 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
617 865
618 //ID 866 //DisjunctiveExpression
619 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 867 public RuleCall getDisjunctiveExpressionParserRuleCall_2_0() { return cDisjunctiveExpressionParserRuleCall_2_0; }
620 }
621 public class ExpressionElements extends AbstractParserRuleElementFinder {
622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
623 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
624 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
625 private final RuleCall cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
626 private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
627 868
628 //Expression: 869 //({Forall.condition=current} "=>" body=DisjunctiveExpression)?
629 // IfElse | Let | ImplicationExpression; 870 public Group getGroup_2_1() { return cGroup_2_1; }
630 @Override public ParserRule getRule() { return rule; }
631 871
632 //IfElse | Let | ImplicationExpression 872 //{Forall.condition=current}
633 public Alternatives getAlternatives() { return cAlternatives; } 873 public Action getForallConditionAction_2_1_0() { return cForallConditionAction_2_1_0; }
634 874
635 //IfElse 875 //"=>"
636 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } 876 public Keyword getEqualsSignGreaterThanSignKeyword_2_1_1() { return cEqualsSignGreaterThanSignKeyword_2_1_1; }
637 877
638 //Let 878 //body=DisjunctiveExpression
639 public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; } 879 public Assignment getBodyAssignment_2_1_2() { return cBodyAssignment_2_1_2; }
640 880
641 //ImplicationExpression 881 //DisjunctiveExpression
642 public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; } 882 public RuleCall getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0() { return cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0; }
643 } 883 }
644 public class IfElseElements extends AbstractParserRuleElementFinder { 884 public class ConditionalExpressionElements extends AbstractParserRuleElementFinder {
645 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); 885 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConditionalExpression");
646 private final Group cGroup = (Group)rule.eContents().get(1); 886 private final Group cGroup = (Group)rule.eContents().get(1);
647 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); 887 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
648 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); 888 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
649 private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); 889 private final RuleCall cConditionDisjunctiveExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
650 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); 890 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
651 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); 891 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3);
652 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); 892 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0);
@@ -654,21 +894,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
654 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5); 894 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5);
655 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0); 895 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0);
656 896
657 //IfElse: 897 //ConditionalExpression:
658 // "if" condition=Expression "then" then=Expression "else" else=Expression; 898 // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression;
659 @Override public ParserRule getRule() { return rule; } 899 @Override public ParserRule getRule() { return rule; }
660 900
661 //"if" condition=Expression "then" then=Expression "else" else=Expression 901 //"if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression
662 public Group getGroup() { return cGroup; } 902 public Group getGroup() { return cGroup; }
663 903
664 //"if" 904 //"if"
665 public Keyword getIfKeyword_0() { return cIfKeyword_0; } 905 public Keyword getIfKeyword_0() { return cIfKeyword_0; }
666 906
667 //condition=Expression 907 //condition=DisjunctiveExpression
668 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } 908 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
669 909
670 //Expression 910 //DisjunctiveExpression
671 public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } 911 public RuleCall getConditionDisjunctiveExpressionParserRuleCall_1_0() { return cConditionDisjunctiveExpressionParserRuleCall_1_0; }
672 912
673 //"then" 913 //"then"
674 public Keyword getThenKeyword_2() { return cThenKeyword_2; } 914 public Keyword getThenKeyword_2() { return cThenKeyword_2; }
@@ -688,8 +928,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
688 //Expression 928 //Expression
689 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } 929 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
690 } 930 }
691 public class LetElements extends AbstractParserRuleElementFinder { 931 public class LetExpressionElements extends AbstractParserRuleElementFinder {
692 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Let"); 932 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetExpression");
693 private final Group cGroup = (Group)rule.eContents().get(1); 933 private final Group cGroup = (Group)rule.eContents().get(1);
694 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0); 934 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0);
695 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1); 935 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1);
@@ -702,7 +942,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
702 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4); 942 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4);
703 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0); 943 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0);
704 944
705 //Let: 945 //LetExpression:
706 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; 946 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
707 @Override public ParserRule getRule() { return rule; } 947 @Override public ParserRule getRule() { return rule; }
708 948
@@ -742,72 +982,45 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
742 public class LetBindingElements extends AbstractParserRuleElementFinder { 982 public class LetBindingElements extends AbstractParserRuleElementFinder {
743 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); 983 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
744 private final Group cGroup = (Group)rule.eContents().get(1); 984 private final Group cGroup = (Group)rule.eContents().get(1);
745 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); 985 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
746 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0); 986 private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
747 private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); 987 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_0_0.eContents().get(1);
748 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); 988 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
749 private final RuleCall cValueAdditiveExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); 989 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
990 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
991 private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
992 private final RuleCall cValueAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
750 993
751 //LetBinding: 994 //LetBinding:
752 // variable=Variable "=" value=AdditiveExpression; 995 // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression;
753 @Override public ParserRule getRule() { return rule; } 996 @Override public ParserRule getRule() { return rule; }
754 997
755 //variable=Variable "=" value=AdditiveExpression 998 //type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression
756 public Group getGroup() { return cGroup; } 999 public Group getGroup() { return cGroup; }
757 1000
758 //variable=Variable 1001 //type=[Symbol|QualifiedName]?
759 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } 1002 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
760
761 //Variable
762 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; }
763
764 //"="
765 public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
766
767 //value=AdditiveExpression
768 public Assignment getValueAssignment_2() { return cValueAssignment_2; }
769
770 //AdditiveExpression
771 public RuleCall getValueAdditiveExpressionParserRuleCall_2_0() { return cValueAdditiveExpressionParserRuleCall_2_0; }
772 }
773 public class ImplicationExpressionElements extends AbstractParserRuleElementFinder {
774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
775 private final Group cGroup = (Group)rule.eContents().get(1);
776 private final RuleCall cDisjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
777 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
778 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
779 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
780 private final RuleCall cOpImplicationOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
781 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
782 private final RuleCall cRightImplicationExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783
784 //ImplicationExpression Expression:
785 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
786 @Override public ParserRule getRule() { return rule; }
787
788 //DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?
789 public Group getGroup() { return cGroup; }
790 1003
791 //DisjunctiveExpression 1004 //[Symbol|QualifiedName]
792 public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; } 1005 public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; }
793 1006
794 //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)? 1007 //QualifiedName
795 public Group getGroup_1() { return cGroup_1; } 1008 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
796 1009
797 //{BinaryExpression.left=current} 1010 //name=ID
798 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } 1011 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
799 1012
800 //op=ImplicationOperator 1013 //ID
801 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1014 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
802 1015
803 //ImplicationOperator 1016 //"="
804 public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; } 1017 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
805 1018
806 //right=ImplicationExpression 1019 //value=AdditiveExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } 1020 public Assignment getValueAssignment_3() { return cValueAssignment_3; }
808 1021
809 //ImplicationExpression 1022 //AdditiveExpression
810 public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; } 1023 public RuleCall getValueAdditiveExpressionParserRuleCall_3_0() { return cValueAdditiveExpressionParserRuleCall_3_0; }
811 } 1024 }
812 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { 1025 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); 1026 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
@@ -970,27 +1183,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
970 private final Group cGroup = (Group)rule.eContents().get(1); 1183 private final Group cGroup = (Group)rule.eContents().get(1);
971 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 1184 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
972 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1185 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
973 private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); 1186 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
974 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1187 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
975 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1188 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
976 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1189 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
977 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); 1190 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
978 1191
979 //ComparisonExpression Expression: 1192 //ComparisonExpression Expression:
980 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; 1193 // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?;
981 @Override public ParserRule getRule() { return rule; } 1194 @Override public ParserRule getRule() { return rule; }
982 1195
983 //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? 1196 //AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?
984 public Group getGroup() { return cGroup; } 1197 public Group getGroup() { return cGroup; }
985 1198
986 //AdditiveExpression 1199 //AdditiveExpression
987 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; } 1200 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; }
988 1201
989 //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? 1202 //({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?
990 public Group getGroup_1() { return cGroup_1; } 1203 public Group getGroup_1() { return cGroup_1; }
991 1204
992 //{Comparison.left=current} 1205 //{BinaryExpression.left=current}
993 public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } 1206 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
994 1207
995 //op=ComparisonOperator 1208 //op=ComparisonOperator
996 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1209 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
@@ -1128,21 +1341,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1128 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1341 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1129 private final Action cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0); 1342 private final Action cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0);
1130 private final Keyword cAsKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); 1343 private final Keyword cAsKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
1131 private final Assignment cTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1344 private final Assignment cTargetTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1132 private final CrossReference cTypeNamedElementCrossReference_1_2_0 = (CrossReference)cTypeAssignment_1_2.eContents().get(0); 1345 private final CrossReference cTargetTypeSymbolCrossReference_1_2_0 = (CrossReference)cTargetTypeAssignment_1_2.eContents().get(0);
1133 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_2_0.eContents().get(1); 1346 private final RuleCall cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTargetTypeSymbolCrossReference_1_2_0.eContents().get(1);
1134 1347
1135 //CastExpression Expression: 1348 //CastExpression Expression:
1136 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; 1349 // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?;
1137 @Override public ParserRule getRule() { return rule; } 1350 @Override public ParserRule getRule() { return rule; }
1138 1351
1139 //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? 1352 //UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?
1140 public Group getGroup() { return cGroup; } 1353 public Group getGroup() { return cGroup; }
1141 1354
1142 //UnaryExpression 1355 //UnaryExpression
1143 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } 1356 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
1144 1357
1145 //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? 1358 //({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?
1146 public Group getGroup_1() { return cGroup_1; } 1359 public Group getGroup_1() { return cGroup_1; }
1147 1360
1148 //{CastExpression.body=current} 1361 //{CastExpression.body=current}
@@ -1151,233 +1364,158 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1151 //"as" 1364 //"as"
1152 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; } 1365 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; }
1153 1366
1154 //type=[NamedElement|QualifiedName] 1367 //targetType=[Symbol|QualifiedName]
1155 public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; } 1368 public Assignment getTargetTypeAssignment_1_2() { return cTargetTypeAssignment_1_2; }
1156 1369
1157 //[NamedElement|QualifiedName] 1370 //[Symbol|QualifiedName]
1158 public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; } 1371 public CrossReference getTargetTypeSymbolCrossReference_1_2_0() { return cTargetTypeSymbolCrossReference_1_2_0; }
1159 1372
1160 //QualifiedName 1373 //QualifiedName
1161 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; } 1374 public RuleCall getTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1() { return cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1; }
1162 } 1375 }
1163 public class UnaryExpressionElements extends AbstractParserRuleElementFinder { 1376 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
1164 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); 1377 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
1165 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1378 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1166 private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1379 private final RuleCall cBracedAggregateExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1167 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1380 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1168 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0); 1381 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0);
1169 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1382 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1170 private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1383 private final RuleCall cOpUnaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
1171 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1384 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1172 private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0); 1385 private final RuleCall cBodyBracedAggregateExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0);
1173 1386
1174 //UnaryExpression Expression: 1387 //UnaryExpression Expression:
1175 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 1388 // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression;
1176 @Override public ParserRule getRule() { return rule; } 1389 @Override public ParserRule getRule() { return rule; }
1177 1390
1178 //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression 1391 //BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression
1179 public Alternatives getAlternatives() { return cAlternatives; } 1392 public Alternatives getAlternatives() { return cAlternatives; }
1180 1393
1181 //AggregationExpression 1394 //BracedAggregateExpression
1182 public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; } 1395 public RuleCall getBracedAggregateExpressionParserRuleCall_0() { return cBracedAggregateExpressionParserRuleCall_0; }
1183 1396
1184 //{UnaryExpression} op=UnaryOp body=AggregationExpression 1397 //{UnaryExpression} op=UnaryOperator body=BracedAggregateExpression
1185 public Group getGroup_1() { return cGroup_1; } 1398 public Group getGroup_1() { return cGroup_1; }
1186 1399
1187 //{UnaryExpression} 1400 //{UnaryExpression}
1188 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; } 1401 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; }
1189 1402
1190 //op=UnaryOp 1403 //op=UnaryOperator
1191 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1404 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
1192 1405
1193 //UnaryOp 1406 //UnaryOperator
1194 public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; } 1407 public RuleCall getOpUnaryOperatorEnumRuleCall_1_1_0() { return cOpUnaryOperatorEnumRuleCall_1_1_0; }
1195 1408
1196 //body=AggregationExpression 1409 //body=BracedAggregateExpression
1197 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; } 1410 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; }
1198 1411
1199 //AggregationExpression 1412 //BracedAggregateExpression
1200 public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; } 1413 public RuleCall getBodyBracedAggregateExpressionParserRuleCall_1_2_0() { return cBodyBracedAggregateExpressionParserRuleCall_1_2_0; }
1201 } 1414 }
1202 public class AggregationExpressionElements extends AbstractParserRuleElementFinder { 1415 public class BracedAggregateExpressionElements extends AbstractParserRuleElementFinder {
1203 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 1416 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression");
1204 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1417 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1205 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1418 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1206 private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1419 private final RuleCall cAggregationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1207 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1420 private final RuleCall cCountParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1208 1421
1209 //AggregationExpression Expression: 1422 //BracedAggregateExpression Expression:
1210 // AtomicExpression | QuantifiedExpression | Aggregation; 1423 // AtomicExpression | Aggregation | Count;
1211 @Override public ParserRule getRule() { return rule; } 1424 @Override public ParserRule getRule() { return rule; }
1212 1425
1213 //AtomicExpression | QuantifiedExpression | Aggregation 1426 //AtomicExpression | Aggregation | Count
1214 public Alternatives getAlternatives() { return cAlternatives; } 1427 public Alternatives getAlternatives() { return cAlternatives; }
1215 1428
1216 //AtomicExpression 1429 //AtomicExpression
1217 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } 1430 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
1218 1431
1219 //QuantifiedExpression
1220 public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; }
1221
1222 //Aggregation 1432 //Aggregation
1223 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } 1433 public RuleCall getAggregationParserRuleCall_1() { return cAggregationParserRuleCall_1; }
1434
1435 //Count
1436 public RuleCall getCountParserRuleCall_2() { return cCountParserRuleCall_2; }
1224 } 1437 }
1225 public class LocalVariablesElements extends AbstractParserRuleElementFinder { 1438 public class AggregationElements extends AbstractParserRuleElementFinder {
1226 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); 1439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
1227 private final Group cGroup = (Group)rule.eContents().get(1); 1440 private final Group cGroup = (Group)rule.eContents().get(1);
1228 private final Action cLocalVariablesAction_0 = (Action)cGroup.eContents().get(0); 1441 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
1229 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1442 private final CrossReference cOpSymbolCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0);
1230 private final Group cGroup_2 = (Group)cGroup.eContents().get(2); 1443 private final RuleCall cOpSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpSymbolCrossReference_0_0.eContents().get(1);
1231 private final Assignment cVariablesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); 1444 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
1232 private final RuleCall cVariablesVariableParserRuleCall_2_0_0 = (RuleCall)cVariablesAssignment_2_0.eContents().get(0); 1445 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
1233 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); 1446 private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
1234 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); 1447 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3);
1235 private final Assignment cVariablesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); 1448 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4);
1236 private final RuleCall cVariablesVariableParserRuleCall_2_1_1_0 = (RuleCall)cVariablesAssignment_2_1_1.eContents().get(0); 1449 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0);
1237 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 1450 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
1238 1451
1239 //LocalVariables: 1452 //Aggregation:
1240 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; 1453 // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}";
1241 @Override public ParserRule getRule() { return rule; } 1454 @Override public ParserRule getRule() { return rule; }
1242 1455
1243 //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]" 1456 //op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}"
1244 public Group getGroup() { return cGroup; } 1457 public Group getGroup() { return cGroup; }
1245 1458
1246 //{LocalVariables} 1459 //op=[Symbol|QualifiedName]
1247 public Action getLocalVariablesAction_0() { return cLocalVariablesAction_0; } 1460 public Assignment getOpAssignment_0() { return cOpAssignment_0; }
1248
1249 //"["
1250 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
1251
1252 //(variables+=Variable ("," variables+=Variable)*)?
1253 public Group getGroup_2() { return cGroup_2; }
1254
1255 //variables+=Variable
1256 public Assignment getVariablesAssignment_2_0() { return cVariablesAssignment_2_0; }
1257
1258 //Variable
1259 public RuleCall getVariablesVariableParserRuleCall_2_0_0() { return cVariablesVariableParserRuleCall_2_0_0; }
1260
1261 //("," variables+=Variable)*
1262 public Group getGroup_2_1() { return cGroup_2_1; }
1263
1264 //","
1265 public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
1266
1267 //variables+=Variable
1268 public Assignment getVariablesAssignment_2_1_1() { return cVariablesAssignment_2_1_1; }
1269
1270 //Variable
1271 public RuleCall getVariablesVariableParserRuleCall_2_1_1_0() { return cVariablesVariableParserRuleCall_2_1_1_0; }
1272
1273 //"]"
1274 public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; }
1275 }
1276 public class QuantifiedExpressionElements extends AbstractParserRuleElementFinder {
1277 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QuantifiedExpression");
1278 private final Group cGroup = (Group)rule.eContents().get(1);
1279 private final Assignment cQuantifierAssignment_0 = (Assignment)cGroup.eContents().get(0);
1280 private final RuleCall cQuantifierQuantifierEnumRuleCall_0_0 = (RuleCall)cQuantifierAssignment_0.eContents().get(0);
1281 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1);
1282 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0);
1283 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
1284 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
1285 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
1286 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1287
1288 //QuantifiedExpression:
1289 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
1290 @Override public ParserRule getRule() { return rule; }
1291 1461
1292 //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}" 1462 //[Symbol|QualifiedName]
1293 public Group getGroup() { return cGroup; } 1463 public CrossReference getOpSymbolCrossReference_0_0() { return cOpSymbolCrossReference_0_0; }
1294 1464
1295 //quantifier=Quantifier 1465 //QualifiedName
1296 public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; } 1466 public RuleCall getOpSymbolQualifiedNameParserRuleCall_0_0_1() { return cOpSymbolQualifiedNameParserRuleCall_0_0_1; }
1297 1467
1298 //Quantifier 1468 //"{"
1299 public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; } 1469 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
1300 1470
1301 //localVariables=LocalVariables? 1471 //value=Expression
1302 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; } 1472 public Assignment getValueAssignment_2() { return cValueAssignment_2; }
1303 1473
1304 //LocalVariables 1474 //Expression
1305 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; } 1475 public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; }
1306 1476
1307 //"{" 1477 //"|"
1308 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 1478 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; }
1309 1479
1310 //body=Expression 1480 //condition=Expression
1311 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } 1481 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; }
1312 1482
1313 //Expression 1483 //Expression
1314 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 1484 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; }
1315 1485
1316 //"}" 1486 //"}"
1317 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } 1487 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
1318 } 1488 }
1319 public class AggregationElements extends AbstractParserRuleElementFinder { 1489 public class CountElements extends AbstractParserRuleElementFinder {
1320 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); 1490 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count");
1321 private final Group cGroup = (Group)rule.eContents().get(1); 1491 private final Group cGroup = (Group)rule.eContents().get(1);
1322 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); 1492 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0);
1323 private final CrossReference cOpNamedElementCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0); 1493 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
1324 private final RuleCall cOpNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpNamedElementCrossReference_0_0.eContents().get(1); 1494 private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2);
1325 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1); 1495 private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0);
1326 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0); 1496 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
1327 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 1497
1328 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 1498 //Count:
1329 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 1499 // "count" "{" condition=Expression "}";
1330 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1331 private final Keyword cVerticalLineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1332 private final Assignment cConditionAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1333 private final RuleCall cConditionExpressionParserRuleCall_4_1_0 = (RuleCall)cConditionAssignment_4_1.eContents().get(0);
1334 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
1335
1336 //Aggregation:
1337 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
1338 @Override public ParserRule getRule() { return rule; } 1500 @Override public ParserRule getRule() { return rule; }
1339 1501
1340 //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}" 1502 //"count" "{" condition=Expression "}"
1341 public Group getGroup() { return cGroup; } 1503 public Group getGroup() { return cGroup; }
1342 1504
1343 //op=[NamedElement|QualifiedName] 1505 //"count"
1344 public Assignment getOpAssignment_0() { return cOpAssignment_0; } 1506 public Keyword getCountKeyword_0() { return cCountKeyword_0; }
1345
1346 //[NamedElement|QualifiedName]
1347 public CrossReference getOpNamedElementCrossReference_0_0() { return cOpNamedElementCrossReference_0_0; }
1348
1349 //QualifiedName
1350 public RuleCall getOpNamedElementQualifiedNameParserRuleCall_0_0_1() { return cOpNamedElementQualifiedNameParserRuleCall_0_0_1; }
1351
1352 //localVariables=LocalVariables?
1353 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; }
1354
1355 //LocalVariables
1356 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; }
1357 1507
1358 //"{" 1508 //"{"
1359 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 1509 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
1360
1361 //body=Expression
1362 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
1363
1364 //Expression
1365 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
1366
1367 //("|" condition=Expression)?
1368 public Group getGroup_4() { return cGroup_4; }
1369
1370 //"|"
1371 public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; }
1372 1510
1373 //condition=Expression 1511 //condition=Expression
1374 public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; } 1512 public Assignment getConditionAssignment_2() { return cConditionAssignment_2; }
1375 1513
1376 //Expression 1514 //Expression
1377 public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; } 1515 public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; }
1378 1516
1379 //"}" 1517 //"}"
1380 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } 1518 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
1381 } 1519 }
1382 public class AtomicExpressionElements extends AbstractParserRuleElementFinder { 1520 public class AtomicExpressionElements extends AbstractParserRuleElementFinder {
1383 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression"); 1521 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression");
@@ -1427,21 +1565,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1427 private final Group cGroup = (Group)rule.eContents().get(1); 1565 private final Group cGroup = (Group)rule.eContents().get(1);
1428 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0); 1566 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0);
1429 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0); 1567 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0);
1430 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 1568 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
1431 private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); 1569 private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0);
1432 private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0);
1433 private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
1434 private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0);
1435 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
1436 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
1437 1570
1438 //Call: 1571 //Call:
1439 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 1572 // functor=Reference argumentList=ArgumentList;
1440 // argumentList=ArgumentList;
1441 @Override public ParserRule getRule() { return rule; } 1573 @Override public ParserRule getRule() { return rule; }
1442 1574
1443 //functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 1575 //functor=Reference argumentList=ArgumentList
1444 //argumentList=ArgumentList
1445 public Group getGroup() { return cGroup; } 1576 public Group getGroup() { return cGroup; }
1446 1577
1447 //functor=Reference 1578 //functor=Reference
@@ -1450,26 +1581,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1450 //Reference 1581 //Reference
1451 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; } 1582 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; }
1452 1583
1453 //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1454 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1455
1456 //transitiveClosure?=TRANSITIVE_CLOSURE
1457 public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; }
1458
1459 //TRANSITIVE_CLOSURE
1460 public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0; }
1461
1462 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE
1463 public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; }
1464
1465 //REFLEXIVE_TRANSITIVE_CLOSURE
1466 public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0; }
1467
1468 //argumentList=ArgumentList 1584 //argumentList=ArgumentList
1469 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } 1585 public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; }
1470 1586
1471 //ArgumentList 1587 //ArgumentList
1472 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } 1588 public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; }
1473 } 1589 }
1474 public class ArgumentListElements extends AbstractParserRuleElementFinder { 1590 public class ArgumentListElements extends AbstractParserRuleElementFinder {
1475 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 1591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
@@ -1527,14 +1643,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1527 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1643 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1528 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1644 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1529 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1645 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1530 private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1646 private final RuleCall cTypedVariableArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1531 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1647 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1532 1648
1533 //Argument: 1649 //Argument:
1534 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; 1650 // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument;
1535 @Override public ParserRule getRule() { return rule; } 1651 @Override public ParserRule getRule() { return rule; }
1536 1652
1537 //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument 1653 //ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument
1538 public Alternatives getAlternatives() { return cAlternatives; } 1654 public Alternatives getAlternatives() { return cAlternatives; }
1539 1655
1540 //ExpressionArgument 1656 //ExpressionArgument
@@ -1543,26 +1659,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1543 //StarArgument 1659 //StarArgument
1544 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; } 1660 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; }
1545 1661
1546 //TypedArgument 1662 //TypedVariableArgument
1547 public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; } 1663 public RuleCall getTypedVariableArgumentParserRuleCall_2() { return cTypedVariableArgumentParserRuleCall_2; }
1548 1664
1549 //TypedStarArgument 1665 //TypedStarArgument
1550 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; } 1666 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; }
1551 } 1667 }
1552 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder { 1668 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder {
1553 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument"); 1669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument");
1554 private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1); 1670 private final Assignment cExpressionAssignment = (Assignment)rule.eContents().get(1);
1555 private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0); 1671 private final RuleCall cExpressionComparisonExpressionParserRuleCall_0 = (RuleCall)cExpressionAssignment.eContents().get(0);
1556 1672
1557 //ExpressionArgument: 1673 //ExpressionArgument:
1558 // body=ComparisonExpression; 1674 // expression=ComparisonExpression;
1559 @Override public ParserRule getRule() { return rule; } 1675 @Override public ParserRule getRule() { return rule; }
1560 1676
1561 //body=ComparisonExpression 1677 //expression=ComparisonExpression
1562 public Assignment getBodyAssignment() { return cBodyAssignment; } 1678 public Assignment getExpressionAssignment() { return cExpressionAssignment; }
1563 1679
1564 //ComparisonExpression 1680 //ComparisonExpression
1565 public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; } 1681 public RuleCall getExpressionComparisonExpressionParserRuleCall_0() { return cExpressionComparisonExpressionParserRuleCall_0; }
1566 } 1682 }
1567 public class StarArgumentElements extends AbstractParserRuleElementFinder { 1683 public class StarArgumentElements extends AbstractParserRuleElementFinder {
1568 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument"); 1684 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument");
@@ -1583,122 +1699,179 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1583 //"*" 1699 //"*"
1584 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1700 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1585 } 1701 }
1586 public class TypedArgumentElements extends AbstractParserRuleElementFinder { 1702 public class TypedVariableArgumentElements extends AbstractParserRuleElementFinder {
1587 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument"); 1703 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedVariableArgument");
1588 private final Group cGroup = (Group)rule.eContents().get(1); 1704 private final Group cGroup = (Group)rule.eContents().get(1);
1589 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 1705 private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0);
1590 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 1706 private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0);
1591 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 1707 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
1592 private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); 1708 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
1593 private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0);
1594 private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1);
1595 1709
1596 //TypedArgument: 1710 //TypedVariableArgument:
1597 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; 1711 // typeReference=TypeReference name=ID;
1598 @Override public ParserRule getRule() { return rule; } 1712 @Override public ParserRule getRule() { return rule; }
1599 1713
1600 //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName] 1714 //typeReference=TypeReference name=ID
1601 public Group getGroup() { return cGroup; } 1715 public Group getGroup() { return cGroup; }
1602 1716
1603 //type=[NamedElement|QualifiedName] 1717 //typeReference=TypeReference
1604 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 1718 public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; }
1605 1719
1606 //[NamedElement|QualifiedName] 1720 //TypeReference
1607 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 1721 public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; }
1608 1722
1609 //QualifiedName 1723 //name=ID
1610 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 1724 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
1611
1612 //variable=[NamedElement|QualifiedName]
1613 public Assignment getVariableAssignment_1() { return cVariableAssignment_1; }
1614
1615 //[NamedElement|QualifiedName]
1616 public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; }
1617 1725
1618 //QualifiedName 1726 //ID
1619 public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; } 1727 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
1620 } 1728 }
1621 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder { 1729 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder {
1622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument"); 1730 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument");
1623 private final Group cGroup = (Group)rule.eContents().get(1); 1731 private final Group cGroup = (Group)rule.eContents().get(1);
1624 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 1732 private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0);
1625 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 1733 private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0);
1626 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
1627 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); 1734 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
1628 1735
1629 //TypedStarArgument: 1736 //TypedStarArgument:
1630 // type=[NamedElement|QualifiedName] "*"; 1737 // typeReference=TypeReference "*";
1631 @Override public ParserRule getRule() { return rule; } 1738 @Override public ParserRule getRule() { return rule; }
1632 1739
1633 //type=[NamedElement|QualifiedName] "*" 1740 //typeReference=TypeReference "*"
1634 public Group getGroup() { return cGroup; } 1741 public Group getGroup() { return cGroup; }
1635 1742
1636 //type=[NamedElement|QualifiedName] 1743 //typeReference=TypeReference
1637 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 1744 public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; }
1638
1639 //[NamedElement|QualifiedName]
1640 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
1641 1745
1642 //QualifiedName 1746 //TypeReference
1643 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 1747 public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; }
1644 1748
1645 //"*" 1749 //"*"
1646 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1750 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1647 } 1751 }
1648 public class ReferenceElements extends AbstractParserRuleElementFinder { 1752 public class ReferenceElements extends AbstractParserRuleElementFinder {
1649 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); 1753 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
1650 private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1); 1754 private final Group cGroup = (Group)rule.eContents().get(1);
1651 private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0); 1755 private final Assignment cComponentsAssignment_0 = (Assignment)cGroup.eContents().get(0);
1652 private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1); 1756 private final RuleCall cComponentsPathComponentParserRuleCall_0_0 = (RuleCall)cComponentsAssignment_0.eContents().get(0);
1757 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1758 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
1759 private final Assignment cComponentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1760 private final RuleCall cComponentsPathComponentParserRuleCall_1_1_0 = (RuleCall)cComponentsAssignment_1_1.eContents().get(0);
1653 1761
1654 //Reference: 1762 //Reference:
1655 // referred=[NamedElement|QualifiedName]; 1763 // components+=PathComponent ("." components+=PathComponent)*;
1656 @Override public ParserRule getRule() { return rule; } 1764 @Override public ParserRule getRule() { return rule; }
1657 1765
1658 //referred=[NamedElement|QualifiedName] 1766 //components+=PathComponent ("." components+=PathComponent)*
1659 public Assignment getReferredAssignment() { return cReferredAssignment; } 1767 public Group getGroup() { return cGroup; }
1768
1769 //components+=PathComponent
1770 public Assignment getComponentsAssignment_0() { return cComponentsAssignment_0; }
1660 1771
1661 //[NamedElement|QualifiedName] 1772 //PathComponent
1662 public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; } 1773 public RuleCall getComponentsPathComponentParserRuleCall_0_0() { return cComponentsPathComponentParserRuleCall_0_0; }
1774
1775 //("." components+=PathComponent)*
1776 public Group getGroup_1() { return cGroup_1; }
1777
1778 //"."
1779 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
1780
1781 //components+=PathComponent
1782 public Assignment getComponentsAssignment_1_1() { return cComponentsAssignment_1_1; }
1783
1784 //PathComponent
1785 public RuleCall getComponentsPathComponentParserRuleCall_1_1_0() { return cComponentsPathComponentParserRuleCall_1_1_0; }
1786 }
1787 public class PathComponentElements extends AbstractParserRuleElementFinder {
1788 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
1789 private final Group cGroup = (Group)rule.eContents().get(1);
1790 private final Assignment cInverseAssignment_0 = (Assignment)cGroup.eContents().get(0);
1791 private final Keyword cInverseTildeKeyword_0_0 = (Keyword)cInverseAssignment_0.eContents().get(0);
1792 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
1793 private final CrossReference cSymbolSymbolCrossReference_1_0 = (CrossReference)cSymbolAssignment_1.eContents().get(0);
1794 private final RuleCall cSymbolSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cSymbolSymbolCrossReference_1_0.eContents().get(1);
1795 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
1796 private final Assignment cTransitiveClosureAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
1797 private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0 = (RuleCall)cTransitiveClosureAssignment_2_0.eContents().get(0);
1798 private final Assignment cReflexiveTransitiveClosureAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
1799 private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_2_1.eContents().get(0);
1800
1801 //PathComponent:
1802 // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
1803 // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?;
1804 @Override public ParserRule getRule() { return rule; }
1805
1806 //inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
1807 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1808 public Group getGroup() { return cGroup; }
1809
1810 //inverse?="~"?
1811 public Assignment getInverseAssignment_0() { return cInverseAssignment_0; }
1812
1813 //"~"
1814 public Keyword getInverseTildeKeyword_0_0() { return cInverseTildeKeyword_0_0; }
1815
1816 //symbol=[Symbol|QualifiedName]
1817 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
1818
1819 //[Symbol|QualifiedName]
1820 public CrossReference getSymbolSymbolCrossReference_1_0() { return cSymbolSymbolCrossReference_1_0; }
1663 1821
1664 //QualifiedName 1822 //QualifiedName
1665 public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; } 1823 public RuleCall getSymbolSymbolQualifiedNameParserRuleCall_1_0_1() { return cSymbolSymbolQualifiedNameParserRuleCall_1_0_1; }
1824
1825 //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1826 public Alternatives getAlternatives_2() { return cAlternatives_2; }
1827
1828 //transitiveClosure?=TRANSITIVE_CLOSURE
1829 public Assignment getTransitiveClosureAssignment_2_0() { return cTransitiveClosureAssignment_2_0; }
1830
1831 //TRANSITIVE_CLOSURE
1832 public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0; }
1833
1834 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE
1835 public Assignment getReflexiveTransitiveClosureAssignment_2_1() { return cReflexiveTransitiveClosureAssignment_2_1; }
1836
1837 //REFLEXIVE_TRANSITIVE_CLOSURE
1838 public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0; }
1666 } 1839 }
1667 public class IntervalElements extends AbstractParserRuleElementFinder { 1840 public class IntervalElements extends AbstractParserRuleElementFinder {
1668 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval"); 1841 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval");
1669 private final Group cGroup = (Group)rule.eContents().get(1); 1842 private final Group cGroup = (Group)rule.eContents().get(1);
1670 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 1843 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
1671 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); 1844 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
1672 private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); 1845 private final RuleCall cLowerBoundAdditiveExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
1673 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 1846 private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
1674 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); 1847 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
1675 private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); 1848 private final RuleCall cUpperBoundAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
1676 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 1849 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1677 1850
1678 //Interval: 1851 //Interval:
1679 // "[" lowerBound=Expression ".." upperBound=Expression "]"; 1852 // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]";
1680 @Override public ParserRule getRule() { return rule; } 1853 @Override public ParserRule getRule() { return rule; }
1681 1854
1682 //"[" lowerBound=Expression ".." upperBound=Expression "]" 1855 //"[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]"
1683 public Group getGroup() { return cGroup; } 1856 public Group getGroup() { return cGroup; }
1684 1857
1685 //"[" 1858 //"["
1686 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } 1859 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
1687 1860
1688 //lowerBound=Expression 1861 //lowerBound=AdditiveExpression
1689 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; } 1862 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
1690 1863
1691 //Expression 1864 //AdditiveExpression
1692 public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; } 1865 public RuleCall getLowerBoundAdditiveExpressionParserRuleCall_1_0() { return cLowerBoundAdditiveExpressionParserRuleCall_1_0; }
1693 1866
1694 //".." 1867 //","
1695 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } 1868 public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
1696 1869
1697 //upperBound=Expression 1870 //upperBound=AdditiveExpression
1698 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } 1871 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
1699 1872
1700 //Expression 1873 //AdditiveExpression
1701 public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; } 1874 public RuleCall getUpperBoundAdditiveExpressionParserRuleCall_3_0() { return cUpperBoundAdditiveExpressionParserRuleCall_3_0; }
1702 1875
1703 //"]" 1876 //"]"
1704 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } 1877 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
@@ -1707,32 +1880,36 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1707 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 1880 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1708 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1881 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1709 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1882 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1710 private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1883 private final RuleCall cIntLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1711 private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1884 private final RuleCall cRealLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1712 private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1885 private final RuleCall cInfinityLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1713 private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); 1886 private final RuleCall cEmptyLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
1887 private final RuleCall cStringLiteralParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
1714 1888
1715 //Literal: 1889 //Literal:
1716 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; 1890 // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral;
1717 @Override public ParserRule getRule() { return rule; } 1891 @Override public ParserRule getRule() { return rule; }
1718 1892
1719 //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral 1893 //LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral
1720 public Alternatives getAlternatives() { return cAlternatives; } 1894 public Alternatives getAlternatives() { return cAlternatives; }
1721 1895
1722 //LogicLiteral 1896 //LogicLiteral
1723 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; } 1897 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; }
1724 1898
1725 //NumericLiteral 1899 //IntLiteral
1726 public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; } 1900 public RuleCall getIntLiteralParserRuleCall_1() { return cIntLiteralParserRuleCall_1; }
1901
1902 //RealLiteral
1903 public RuleCall getRealLiteralParserRuleCall_2() { return cRealLiteralParserRuleCall_2; }
1727 1904
1728 //InfinityLiteral 1905 //InfinityLiteral
1729 public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; } 1906 public RuleCall getInfinityLiteralParserRuleCall_3() { return cInfinityLiteralParserRuleCall_3; }
1730 1907
1731 //EmptyIntervalLiteral 1908 //EmptyLiteral
1732 public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; } 1909 public RuleCall getEmptyLiteralParserRuleCall_4() { return cEmptyLiteralParserRuleCall_4; }
1733 1910
1734 //StringLiteral 1911 //StringLiteral
1735 public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; } 1912 public RuleCall getStringLiteralParserRuleCall_5() { return cStringLiteralParserRuleCall_5; }
1736 } 1913 }
1737 public class LogicLiteralElements extends AbstractParserRuleElementFinder { 1914 public class LogicLiteralElements extends AbstractParserRuleElementFinder {
1738 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral"); 1915 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral");
@@ -1749,12 +1926,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1749 //LogicValue 1926 //LogicValue
1750 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; } 1927 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; }
1751 } 1928 }
1752 public class NumericLiteralElements extends AbstractParserRuleElementFinder { 1929 public class IntLiteralElements extends AbstractParserRuleElementFinder {
1753 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral"); 1930 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntLiteral");
1931 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
1932 private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
1933
1934 //IntLiteral:
1935 // value=INT;
1936 @Override public ParserRule getRule() { return rule; }
1937
1938 //value=INT
1939 public Assignment getValueAssignment() { return cValueAssignment; }
1940
1941 //INT
1942 public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; }
1943 }
1944 public class RealLiteralElements extends AbstractParserRuleElementFinder {
1945 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealLiteral");
1754 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1946 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
1755 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1947 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
1756 1948
1757 //NumericLiteral: 1949 //RealLiteral:
1758 // value=Real; 1950 // value=Real;
1759 @Override public ParserRule getRule() { return rule; } 1951 @Override public ParserRule getRule() { return rule; }
1760 1952
@@ -1783,21 +1975,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1783 //"inf" 1975 //"inf"
1784 public Keyword getInfKeyword_1() { return cInfKeyword_1; } 1976 public Keyword getInfKeyword_1() { return cInfKeyword_1; }
1785 } 1977 }
1786 public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder { 1978 public class EmptyLiteralElements extends AbstractParserRuleElementFinder {
1787 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral"); 1979 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyLiteral");
1788 private final Group cGroup = (Group)rule.eContents().get(1); 1980 private final Group cGroup = (Group)rule.eContents().get(1);
1789 private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0); 1981 private final Action cEmptyLiteralAction_0 = (Action)cGroup.eContents().get(0);
1790 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1); 1982 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1);
1791 1983
1792 //EmptyIntervalLiteral: 1984 //EmptyLiteral:
1793 // {EmptyIntervalLiteral} "empty"; 1985 // {EmptyLiteral} "empty";
1794 @Override public ParserRule getRule() { return rule; } 1986 @Override public ParserRule getRule() { return rule; }
1795 1987
1796 //{EmptyIntervalLiteral} "empty" 1988 //{EmptyLiteral} "empty"
1797 public Group getGroup() { return cGroup; } 1989 public Group getGroup() { return cGroup; }
1798 1990
1799 //{EmptyIntervalLiteral} 1991 //{EmptyLiteral}
1800 public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; } 1992 public Action getEmptyLiteralAction_0() { return cEmptyLiteralAction_0; }
1801 1993
1802 //"empty" 1994 //"empty"
1803 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; } 1995 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; }
@@ -1817,44 +2009,58 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1817 //STRING 2009 //STRING
1818 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } 2010 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
1819 } 2011 }
1820 public class ClassDefinitionElements extends AbstractParserRuleElementFinder { 2012 public class ClassDeclarationElements extends AbstractParserRuleElementFinder {
1821 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition"); 2013 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDeclaration");
1822 private final Group cGroup = (Group)rule.eContents().get(1); 2014 private final Group cGroup = (Group)rule.eContents().get(1);
1823 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); 2015 private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0);
1824 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); 2016 private final Assignment cAbstractAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0);
2017 private final Keyword cAbstractAbstractKeyword_0_0_0 = (Keyword)cAbstractAssignment_0_0.eContents().get(0);
2018 private final Assignment cRootAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1);
2019 private final Keyword cRootRootKeyword_0_1_0 = (Keyword)cRootAssignment_0_1.eContents().get(0);
1825 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); 2020 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
1826 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 2021 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
1827 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 2022 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
1828 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 2023 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
1829 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); 2024 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
1830 private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); 2025 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1831 private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0); 2026 private final CrossReference cSupertypesSymbolCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0);
1832 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1); 2027 private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_1_0.eContents().get(1);
1833 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); 2028 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
1834 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); 2029 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
1835 private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); 2030 private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
1836 private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0); 2031 private final CrossReference cSupertypesSymbolCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0);
1837 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1); 2032 private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_2_1_0.eContents().get(1);
1838 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2033 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
1839 private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5); 2034 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
1840 private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0); 2035 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
1841 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); 2036 private final Assignment cFieldsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1);
1842 2037 private final RuleCall cFieldsFieldParserRuleCall_4_0_1_0 = (RuleCall)cFieldsAssignment_4_0_1.eContents().get(0);
1843 //ClassDefinition: 2038 private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2);
1844 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 2039 private final RuleCall cFULL_STOPTerminalRuleCall_4_1 = (RuleCall)cAlternatives_4.eContents().get(1);
1845 // superclasses+=[NamedElement|QualifiedName])*)? 2040
1846 // "{" members+=MemberDefinition* "}"; 2041 //ClassDeclaration:
2042 // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
2043 // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP);
1847 @Override public ParserRule getRule() { return rule; } 2044 @Override public ParserRule getRule() { return rule; }
1848 2045
1849 //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 2046 //(abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
1850 //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}" 2047 //supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP)
1851 public Group getGroup() { return cGroup; } 2048 public Group getGroup() { return cGroup; }
1852 2049
2050 //(abstract?="abstract"? & root?="root"?)
2051 public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
2052
1853 //abstract?="abstract"? 2053 //abstract?="abstract"?
1854 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } 2054 public Assignment getAbstractAssignment_0_0() { return cAbstractAssignment_0_0; }
1855 2055
1856 //"abstract" 2056 //"abstract"
1857 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } 2057 public Keyword getAbstractAbstractKeyword_0_0_0() { return cAbstractAbstractKeyword_0_0_0; }
2058
2059 //root?="root"?
2060 public Assignment getRootAssignment_0_1() { return cRootAssignment_0_1; }
2061
2062 //"root"
2063 public Keyword getRootRootKeyword_0_1_0() { return cRootRootKeyword_0_1_0; }
1858 2064
1859 //"class" 2065 //"class"
1860 public Keyword getClassKeyword_1() { return cClassKeyword_1; } 2066 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
@@ -1865,56 +2071,68 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1865 //ID 2071 //ID
1866 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } 2072 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
1867 2073
1868 //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? 2074 //("extends" supertypes+=[Symbol|QualifiedName] ("," supertypes+=[Symbol|QualifiedName])*)?
1869 public Group getGroup_3() { return cGroup_3; } 2075 public Group getGroup_3() { return cGroup_3; }
1870 2076
1871 //"extends" 2077 //"extends"
1872 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } 2078 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
1873 2079
1874 //superclasses+=[NamedElement|QualifiedName] 2080 //supertypes+=[Symbol|QualifiedName]
1875 public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; } 2081 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
1876 2082
1877 //[NamedElement|QualifiedName] 2083 //[Symbol|QualifiedName]
1878 public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; } 2084 public CrossReference getSupertypesSymbolCrossReference_3_1_0() { return cSupertypesSymbolCrossReference_3_1_0; }
1879 2085
1880 //QualifiedName 2086 //QualifiedName
1881 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; } 2087 public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1; }
1882 2088
1883 //("," superclasses+=[NamedElement|QualifiedName])* 2089 //("," supertypes+=[Symbol|QualifiedName])*
1884 public Group getGroup_3_2() { return cGroup_3_2; } 2090 public Group getGroup_3_2() { return cGroup_3_2; }
1885 2091
1886 //"," 2092 //","
1887 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } 2093 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
1888 2094
1889 //superclasses+=[NamedElement|QualifiedName] 2095 //supertypes+=[Symbol|QualifiedName]
1890 public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; } 2096 public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; }
1891 2097
1892 //[NamedElement|QualifiedName] 2098 //[Symbol|QualifiedName]
1893 public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; } 2099 public CrossReference getSupertypesSymbolCrossReference_3_2_1_0() { return cSupertypesSymbolCrossReference_3_2_1_0; }
1894 2100
1895 //QualifiedName 2101 //QualifiedName
1896 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; } 2102 public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1; }
2103
2104 //("{" fields+=Field* "}" | FULL_STOP)
2105 public Alternatives getAlternatives_4() { return cAlternatives_4; }
2106
2107 //"{" fields+=Field* "}"
2108 public Group getGroup_4_0() { return cGroup_4_0; }
1897 2109
1898 //"{" 2110 //"{"
1899 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } 2111 public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; }
1900 2112
1901 //members+=MemberDefinition* 2113 //fields+=Field*
1902 public Assignment getMembersAssignment_5() { return cMembersAssignment_5; } 2114 public Assignment getFieldsAssignment_4_0_1() { return cFieldsAssignment_4_0_1; }
1903 2115
1904 //MemberDefinition 2116 //Field
1905 public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; } 2117 public RuleCall getFieldsFieldParserRuleCall_4_0_1_0() { return cFieldsFieldParserRuleCall_4_0_1_0; }
1906 2118
1907 //"}" 2119 //"}"
1908 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 2120 public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; }
2121
2122 //FULL_STOP
2123 public RuleCall getFULL_STOPTerminalRuleCall_4_1() { return cFULL_STOPTerminalRuleCall_4_1; }
1909 } 2124 }
1910 public class MemberDefinitionElements extends AbstractParserRuleElementFinder { 2125 public class FieldElements extends AbstractParserRuleElementFinder {
1911 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); 2126 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Field");
1912 private final Group cGroup = (Group)rule.eContents().get(1); 2127 private final Group cGroup = (Group)rule.eContents().get(1);
1913 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2128 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
1914 private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); 2129 private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0);
2130 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0);
2131 private final Assignment cCrossReferenceAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1);
2132 private final Keyword cCrossReferenceRefersKeyword_0_1_0 = (Keyword)cCrossReferenceAssignment_0_1.eContents().get(0);
1915 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 2133 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1916 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 2134 private final CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1917 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 2135 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1);
1918 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); 2136 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
1919 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); 2137 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
1920 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); 2138 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
@@ -1922,33 +2140,42 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1922 private final Group cGroup_4 = (Group)cGroup.eContents().get(4); 2140 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1923 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); 2141 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1924 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); 2142 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1925 private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); 2143 private final CrossReference cOppositeSymbolCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
1926 private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1); 2144 private final RuleCall cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeSymbolCrossReference_4_1_0.eContents().get(1);
1927 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); 2145 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
1928 2146
1929 //MemberDefinition: 2147 //Field:
1930 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 2148 // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity?
1931 // opposite=[NamedElement|QualifiedName])? ";"?; 2149 // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?;
1932 @Override public ParserRule getRule() { return rule; } 2150 @Override public ParserRule getRule() { return rule; }
1933 2151
1934 //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 2152 //(containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? name=ID
1935 //opposite=[NamedElement|QualifiedName])? ";"? 2153 //("opposite" opposite=[Symbol|QualifiedName])? ";"?
1936 public Group getGroup() { return cGroup; } 2154 public Group getGroup() { return cGroup; }
1937 2155
1938 //containment?="contains"? 2156 //(containment?="contains" | crossReference?="refers")?
1939 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2157 public Alternatives getAlternatives_0() { return cAlternatives_0; }
2158
2159 //containment?="contains"
2160 public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; }
1940 2161
1941 //"contains" 2162 //"contains"
1942 public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; } 2163 public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; }
2164
2165 //crossReference?="refers"
2166 public Assignment getCrossReferenceAssignment_0_1() { return cCrossReferenceAssignment_0_1; }
1943 2167
1944 //type=[NamedElement|QualifiedName] 2168 //"refers"
2169 public Keyword getCrossReferenceRefersKeyword_0_1_0() { return cCrossReferenceRefersKeyword_0_1_0; }
2170
2171 //type=[Symbol|QualifiedName]
1945 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 2172 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
1946 2173
1947 //[NamedElement|QualifiedName] 2174 //[Symbol|QualifiedName]
1948 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 2175 public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; }
1949 2176
1950 //QualifiedName 2177 //QualifiedName
1951 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 2178 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
1952 2179
1953 //multiplicity=Multiplicity? 2180 //multiplicity=Multiplicity?
1954 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } 2181 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
@@ -1962,20 +2189,20 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1962 //ID 2189 //ID
1963 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } 2190 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; }
1964 2191
1965 //("opposite" opposite=[NamedElement|QualifiedName])? 2192 //("opposite" opposite=[Symbol|QualifiedName])?
1966 public Group getGroup_4() { return cGroup_4; } 2193 public Group getGroup_4() { return cGroup_4; }
1967 2194
1968 //"opposite" 2195 //"opposite"
1969 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; } 2196 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
1970 2197
1971 //opposite=[NamedElement|QualifiedName] 2198 //opposite=[Symbol|QualifiedName]
1972 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; } 2199 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
1973 2200
1974 //[NamedElement|QualifiedName] 2201 //[Symbol|QualifiedName]
1975 public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; } 2202 public CrossReference getOppositeSymbolCrossReference_4_1_0() { return cOppositeSymbolCrossReference_4_1_0; }
1976 2203
1977 //QualifiedName 2204 //QualifiedName
1978 public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; } 2205 public RuleCall getOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1; }
1979 2206
1980 //";"? 2207 //";"?
1981 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } 2208 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
@@ -1983,19 +2210,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1983 public class MultiplicityElements extends AbstractParserRuleElementFinder { 2210 public class MultiplicityElements extends AbstractParserRuleElementFinder {
1984 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); 2211 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
1985 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2212 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1986 private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 2213 private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1987 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2214 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1988 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 2215 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1989 2216
1990 //Multiplicity: 2217 //Multiplicity:
1991 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; 2218 // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity;
1992 @Override public ParserRule getRule() { return rule; } 2219 @Override public ParserRule getRule() { return rule; }
1993 2220
1994 //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity 2221 //UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity
1995 public Alternatives getAlternatives() { return cAlternatives; } 2222 public Alternatives getAlternatives() { return cAlternatives; }
1996 2223
1997 //ManyMultiplicity 2224 //UnboundedMultiplicity
1998 public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; } 2225 public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; }
1999 2226
2000 //ExactMultiplicity 2227 //ExactMultiplicity
2001 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } 2228 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
@@ -2003,22 +2230,22 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2003 //BoundedMultiplicity 2230 //BoundedMultiplicity
2004 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; } 2231 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; }
2005 } 2232 }
2006 public class ManyMultiplicityElements extends AbstractParserRuleElementFinder { 2233 public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder {
2007 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity"); 2234 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnboundedMultiplicity");
2008 private final Group cGroup = (Group)rule.eContents().get(1); 2235 private final Group cGroup = (Group)rule.eContents().get(1);
2009 private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0); 2236 private final Action cUnboundedMultiplicityAction_0 = (Action)cGroup.eContents().get(0);
2010 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 2237 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
2011 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2238 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
2012 2239
2013 //ManyMultiplicity: 2240 //UnboundedMultiplicity:
2014 // {ManyMultiplicity} "[" "]"; 2241 // {UnboundedMultiplicity} "[" "]";
2015 @Override public ParserRule getRule() { return rule; } 2242 @Override public ParserRule getRule() { return rule; }
2016 2243
2017 //{ManyMultiplicity} "[" "]" 2244 //{UnboundedMultiplicity} "[" "]"
2018 public Group getGroup() { return cGroup; } 2245 public Group getGroup() { return cGroup; }
2019 2246
2020 //{ManyMultiplicity} 2247 //{UnboundedMultiplicity}
2021 public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; } 2248 public Action getUnboundedMultiplicityAction_0() { return cUnboundedMultiplicityAction_0; }
2022 2249
2023 //"[" 2250 //"["
2024 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } 2251 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
@@ -2030,25 +2257,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2030 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity"); 2257 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity");
2031 private final Group cGroup = (Group)rule.eContents().get(1); 2258 private final Group cGroup = (Group)rule.eContents().get(1);
2032 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 2259 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
2033 private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1); 2260 private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
2034 private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0); 2261 private final RuleCall cValueUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
2035 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2262 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
2036 2263
2037 //ExactMultiplicity: 2264 //ExactMultiplicity:
2038 // "[" multiplicity=UpperMultiplicty "]"; 2265 // "[" value=UpperMultiplicty "]";
2039 @Override public ParserRule getRule() { return rule; } 2266 @Override public ParserRule getRule() { return rule; }
2040 2267
2041 //"[" multiplicity=UpperMultiplicty "]" 2268 //"[" value=UpperMultiplicty "]"
2042 public Group getGroup() { return cGroup; } 2269 public Group getGroup() { return cGroup; }
2043 2270
2044 //"[" 2271 //"["
2045 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } 2272 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
2046 2273
2047 //multiplicity=UpperMultiplicty 2274 //value=UpperMultiplicty
2048 public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; } 2275 public Assignment getValueAssignment_1() { return cValueAssignment_1; }
2049 2276
2050 //UpperMultiplicty 2277 //UpperMultiplicty
2051 public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; } 2278 public RuleCall getValueUpperMultiplictyParserRuleCall_1_0() { return cValueUpperMultiplictyParserRuleCall_1_0; }
2052 2279
2053 //"]" 2280 //"]"
2054 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } 2281 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
@@ -2059,16 +2286,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2059 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 2286 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
2060 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); 2287 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
2061 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); 2288 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
2062 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 2289 private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
2063 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); 2290 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
2064 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); 2291 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
2065 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2292 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
2066 2293
2067 //BoundedMultiplicity: 2294 //BoundedMultiplicity:
2068 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; 2295 // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]";
2069 @Override public ParserRule getRule() { return rule; } 2296 @Override public ParserRule getRule() { return rule; }
2070 2297
2071 //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]" 2298 //"[" lowerBound=INT "," upperBound=UpperMultiplicty "]"
2072 public Group getGroup() { return cGroup; } 2299 public Group getGroup() { return cGroup; }
2073 2300
2074 //"[" 2301 //"["
@@ -2080,8 +2307,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2080 //INT 2307 //INT
2081 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; } 2308 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; }
2082 2309
2083 //".." 2310 //","
2084 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } 2311 public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
2085 2312
2086 //upperBound=UpperMultiplicty 2313 //upperBound=UpperMultiplicty
2087 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } 2314 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
@@ -2092,70 +2319,160 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2092 //"]" 2319 //"]"
2093 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } 2320 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
2094 } 2321 }
2095 public class ScopeDefinitionElements extends AbstractParserRuleElementFinder { 2322 public class EnumDeclarationElements extends AbstractParserRuleElementFinder {
2096 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition"); 2323 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumDeclaration");
2324 private final Group cGroup = (Group)rule.eContents().get(1);
2325 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
2326 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
2327 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
2328 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
2329 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
2330 private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
2331 private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1);
2332 private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0);
2333 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0);
2334 private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1);
2335 private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0);
2336 private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1);
2337 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0);
2338 private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2);
2339 private final RuleCall cFULL_STOPTerminalRuleCall_2_1 = (RuleCall)cAlternatives_2.eContents().get(1);
2340
2341 //EnumDeclaration:
2342 // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP);
2343 @Override public ParserRule getRule() { return rule; }
2344
2345 //"enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP)
2346 public Group getGroup() { return cGroup; }
2347
2348 //"enum"
2349 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
2350
2351 //name=ID
2352 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
2353
2354 //ID
2355 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
2356
2357 //("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP)
2358 public Alternatives getAlternatives_2() { return cAlternatives_2; }
2359
2360 //"{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}"
2361 public Group getGroup_2_0() { return cGroup_2_0; }
2362
2363 //"{"
2364 public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; }
2365
2366 //(literals+=EnumLiteral (","? literals+=EnumLiteral)*)?
2367 public Group getGroup_2_0_1() { return cGroup_2_0_1; }
2368
2369 //literals+=EnumLiteral
2370 public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; }
2371
2372 //EnumLiteral
2373 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; }
2374
2375 //(","? literals+=EnumLiteral)*
2376 public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; }
2377
2378 //","?
2379 public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; }
2380
2381 //literals+=EnumLiteral
2382 public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; }
2383
2384 //EnumLiteral
2385 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; }
2386
2387 //"}"
2388 public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; }
2389
2390 //FULL_STOP
2391 public RuleCall getFULL_STOPTerminalRuleCall_2_1() { return cFULL_STOPTerminalRuleCall_2_1; }
2392 }
2393 public class EnumLiteralElements extends AbstractParserRuleElementFinder {
2394 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
2395 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
2396 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
2397
2398 //EnumLiteral:
2399 // name=ID;
2400 @Override public ParserRule getRule() { return rule; }
2401
2402 //name=ID
2403 public Assignment getNameAssignment() { return cNameAssignment; }
2404
2405 //ID
2406 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
2407 }
2408 public class ScopeDeclarationElements extends AbstractParserRuleElementFinder {
2409 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDeclaration");
2097 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2410 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2098 private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 2411 private final RuleCall cExactScopeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
2099 private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2412 private final RuleCall cBoundedScopeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
2100 private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 2413 private final RuleCall cLowerBoundedScopeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
2101 2414
2102 //ScopeDefinition: 2415 //ScopeDeclaration:
2103 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; 2416 // ExactScope | BoundedScope | LowerBoundedScope;
2104 @Override public ParserRule getRule() { return rule; } 2417 @Override public ParserRule getRule() { return rule; }
2105 2418
2106 //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition 2419 //ExactScope | BoundedScope | LowerBoundedScope
2107 public Alternatives getAlternatives() { return cAlternatives; } 2420 public Alternatives getAlternatives() { return cAlternatives; }
2108 2421
2109 //ExactScopeDefinition 2422 //ExactScope
2110 public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; } 2423 public RuleCall getExactScopeParserRuleCall_0() { return cExactScopeParserRuleCall_0; }
2111 2424
2112 //BoundedScopeDefinition 2425 //BoundedScope
2113 public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; } 2426 public RuleCall getBoundedScopeParserRuleCall_1() { return cBoundedScopeParserRuleCall_1; }
2114 2427
2115 //LowerBoundedScopeDefinition 2428 //LowerBoundedScope
2116 public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; } 2429 public RuleCall getLowerBoundedScopeParserRuleCall_2() { return cLowerBoundedScopeParserRuleCall_2; }
2117 } 2430 }
2118 public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder { 2431 public class ExactScopeElements extends AbstractParserRuleElementFinder {
2119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition"); 2432 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScope");
2120 private final Group cGroup = (Group)rule.eContents().get(1); 2433 private final Group cGroup = (Group)rule.eContents().get(1);
2121 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2434 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2122 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 2435 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
2123 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 2436 private final CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
2124 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 2437 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1);
2125 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 2438 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
2126 private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3); 2439 private final Assignment cSizeAssignment_3 = (Assignment)cGroup.eContents().get(3);
2127 private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0); 2440 private final RuleCall cSizeINTTerminalRuleCall_3_0 = (RuleCall)cSizeAssignment_3.eContents().get(0);
2441 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
2128 2442
2129 //ExactScopeDefinition: 2443 //ExactScope:
2130 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; 2444 // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP;
2131 @Override public ParserRule getRule() { return rule; } 2445 @Override public ParserRule getRule() { return rule; }
2132 2446
2133 //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT 2447 //"scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP
2134 public Group getGroup() { return cGroup; } 2448 public Group getGroup() { return cGroup; }
2135 2449
2136 //"scope" 2450 //"scope"
2137 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2451 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2138 2452
2139 //type=[NamedElement|QualifiedName] 2453 //type=[Symbol|QualifiedName]
2140 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 2454 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
2141 2455
2142 //[NamedElement|QualifiedName] 2456 //[Symbol|QualifiedName]
2143 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 2457 public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; }
2144 2458
2145 //QualifiedName 2459 //QualifiedName
2146 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 2460 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
2147 2461
2148 //"==" 2462 //"=="
2149 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; } 2463 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; }
2150 2464
2151 //exactScope=INT 2465 //size=INT
2152 public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; } 2466 public Assignment getSizeAssignment_3() { return cSizeAssignment_3; }
2153 2467
2154 //INT 2468 //INT
2155 public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; } 2469 public RuleCall getSizeINTTerminalRuleCall_3_0() { return cSizeINTTerminalRuleCall_3_0; }
2470
2471 //FULL_STOP
2472 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
2156 } 2473 }
2157 public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { 2474 public class BoundedScopeElements extends AbstractParserRuleElementFinder {
2158 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition"); 2475 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScope");
2159 private final Group cGroup = (Group)rule.eContents().get(1); 2476 private final Group cGroup = (Group)rule.eContents().get(1);
2160 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2477 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2161 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 2478 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
@@ -2165,8 +2482,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2165 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0); 2482 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0);
2166 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1); 2483 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
2167 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1); 2484 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
2168 private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0); 2485 private final CrossReference cTypeSymbolCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0);
2169 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1); 2486 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_1_0.eContents().get(1);
2170 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); 2487 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
2171 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); 2488 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
2172 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0); 2489 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0);
@@ -2175,30 +2492,31 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2175 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0); 2492 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0);
2176 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 2493 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
2177 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 2494 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
2178 private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0); 2495 private final CrossReference cTypeSymbolCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0);
2179 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1); 2496 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_2_0.eContents().get(1);
2180 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3); 2497 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3);
2181 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0); 2498 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0);
2182 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1); 2499 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1);
2183 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0); 2500 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0);
2501 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2184 2502
2185 //BoundedScopeDefinition: 2503 //BoundedScope:
2186 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2504 // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2187 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); 2505 // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP;
2188 @Override public ParserRule getRule() { return rule; } 2506 @Override public ParserRule getRule() { return rule; }
2189 2507
2190 //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2508 //"scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2191 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) 2509 //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP
2192 public Group getGroup() { return cGroup; } 2510 public Group getGroup() { return cGroup; }
2193 2511
2194 //"scope" 2512 //"scope"
2195 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2513 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2196 2514
2197 //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2515 //((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2198 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) 2516 //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?)
2199 public Alternatives getAlternatives_1() { return cAlternatives_1; } 2517 public Alternatives getAlternatives_1() { return cAlternatives_1; }
2200 2518
2201 //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT 2519 //(lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT
2202 public Group getGroup_1_0() { return cGroup_1_0; } 2520 public Group getGroup_1_0() { return cGroup_1_0; }
2203 2521
2204 //(lowerBound=INT "<=")? 2522 //(lowerBound=INT "<=")?
@@ -2213,14 +2531,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2213 //"<=" 2531 //"<="
2214 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; } 2532 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; }
2215 2533
2216 //type=[NamedElement|QualifiedName] 2534 //type=[Symbol|QualifiedName]
2217 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; } 2535 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; }
2218 2536
2219 //[NamedElement|QualifiedName] 2537 //[Symbol|QualifiedName]
2220 public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; } 2538 public CrossReference getTypeSymbolCrossReference_1_0_1_0() { return cTypeSymbolCrossReference_1_0_1_0; }
2221 2539
2222 //QualifiedName 2540 //QualifiedName
2223 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; } 2541 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1; }
2224 2542
2225 //"<=" 2543 //"<="
2226 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; } 2544 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; }
@@ -2231,7 +2549,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2231 //INT 2549 //INT
2232 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; } 2550 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; }
2233 2551
2234 //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? 2552 //upperBound=INT ">=" type=[Symbol|QualifiedName] (">=" lowerBound=INT)?
2235 public Group getGroup_1_1() { return cGroup_1_1; } 2553 public Group getGroup_1_1() { return cGroup_1_1; }
2236 2554
2237 //upperBound=INT 2555 //upperBound=INT
@@ -2243,14 +2561,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2243 //">=" 2561 //">="
2244 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } 2562 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
2245 2563
2246 //type=[NamedElement|QualifiedName] 2564 //type=[Symbol|QualifiedName]
2247 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; } 2565 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; }
2248 2566
2249 //[NamedElement|QualifiedName] 2567 //[Symbol|QualifiedName]
2250 public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; } 2568 public CrossReference getTypeSymbolCrossReference_1_1_2_0() { return cTypeSymbolCrossReference_1_1_2_0; }
2251 2569
2252 //QualifiedName 2570 //QualifiedName
2253 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; } 2571 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1; }
2254 2572
2255 //(">=" lowerBound=INT)? 2573 //(">=" lowerBound=INT)?
2256 public Group getGroup_1_1_3() { return cGroup_1_1_3; } 2574 public Group getGroup_1_1_3() { return cGroup_1_1_3; }
@@ -2263,9 +2581,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2263 2581
2264 //INT 2582 //INT
2265 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; } 2583 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; }
2584
2585 //FULL_STOP
2586 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2266 } 2587 }
2267 public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { 2588 public class LowerBoundedScopeElements extends AbstractParserRuleElementFinder {
2268 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition"); 2589 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScope");
2269 private final Group cGroup = (Group)rule.eContents().get(1); 2590 private final Group cGroup = (Group)rule.eContents().get(1);
2270 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2591 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2271 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 2592 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
@@ -2274,31 +2595,32 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2274 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0); 2595 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0);
2275 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); 2596 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
2276 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); 2597 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
2277 private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0); 2598 private final CrossReference cTypeSymbolCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0);
2278 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1); 2599 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_2_0.eContents().get(1);
2279 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 2600 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
2280 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); 2601 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
2281 private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0); 2602 private final CrossReference cTypeSymbolCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0);
2282 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1); 2603 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_0_0.eContents().get(1);
2283 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 2604 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
2284 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 2605 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
2285 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0); 2606 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0);
2607 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2286 2608
2287 //LowerBoundedScopeDefinition: 2609 //LowerBoundedScope:
2288 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" 2610 // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
2289 // lowerBound=INT); 2611 // FULL_STOP;
2290 @Override public ParserRule getRule() { return rule; } 2612 @Override public ParserRule getRule() { return rule; }
2291 2613
2292 //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) 2614 //"scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) FULL_STOP
2293 public Group getGroup() { return cGroup; } 2615 public Group getGroup() { return cGroup; }
2294 2616
2295 //"scope" 2617 //"scope"
2296 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2618 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2297 2619
2298 //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) 2620 //(lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
2299 public Alternatives getAlternatives_1() { return cAlternatives_1; } 2621 public Alternatives getAlternatives_1() { return cAlternatives_1; }
2300 2622
2301 //lowerBound=INT "<=" type=[NamedElement|QualifiedName] 2623 //lowerBound=INT "<=" type=[Symbol|QualifiedName]
2302 public Group getGroup_1_0() { return cGroup_1_0; } 2624 public Group getGroup_1_0() { return cGroup_1_0; }
2303 2625
2304 //lowerBound=INT 2626 //lowerBound=INT
@@ -2310,26 +2632,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2310 //"<=" 2632 //"<="
2311 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; } 2633 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; }
2312 2634
2313 //type=[NamedElement|QualifiedName] 2635 //type=[Symbol|QualifiedName]
2314 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; } 2636 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; }
2315 2637
2316 //[NamedElement|QualifiedName] 2638 //[Symbol|QualifiedName]
2317 public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; } 2639 public CrossReference getTypeSymbolCrossReference_1_0_2_0() { return cTypeSymbolCrossReference_1_0_2_0; }
2318 2640
2319 //QualifiedName 2641 //QualifiedName
2320 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; } 2642 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1; }
2321 2643
2322 //type=[NamedElement|QualifiedName] ">=" lowerBound=INT 2644 //type=[Symbol|QualifiedName] ">=" lowerBound=INT
2323 public Group getGroup_1_1() { return cGroup_1_1; } 2645 public Group getGroup_1_1() { return cGroup_1_1; }
2324 2646
2325 //type=[NamedElement|QualifiedName] 2647 //type=[Symbol|QualifiedName]
2326 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; } 2648 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; }
2327 2649
2328 //[NamedElement|QualifiedName] 2650 //[Symbol|QualifiedName]
2329 public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; } 2651 public CrossReference getTypeSymbolCrossReference_1_1_0_0() { return cTypeSymbolCrossReference_1_1_0_0; }
2330 2652
2331 //QualifiedName 2653 //QualifiedName
2332 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; } 2654 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1; }
2333 2655
2334 //">=" 2656 //">="
2335 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } 2657 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
@@ -2339,20 +2661,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2339 2661
2340 //INT 2662 //INT
2341 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; } 2663 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; }
2664
2665 //FULL_STOP
2666 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2342 } 2667 }
2343 public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder { 2668 public class ObjectiveDeclarationElements extends AbstractParserRuleElementFinder {
2344 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition"); 2669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDeclaration");
2345 private final Group cGroup = (Group)rule.eContents().get(1); 2670 private final Group cGroup = (Group)rule.eContents().get(1);
2346 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0); 2671 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
2347 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0); 2672 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
2348 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1); 2673 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1);
2349 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0); 2674 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0);
2675 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2350 2676
2351 //ObjectiveDefinition: 2677 //ObjectiveDeclaration:
2352 // kind=ObjectiveKind objective=Expression; 2678 // kind=ObjectiveKind objective=Expression FULL_STOP;
2353 @Override public ParserRule getRule() { return rule; } 2679 @Override public ParserRule getRule() { return rule; }
2354 2680
2355 //kind=ObjectiveKind objective=Expression 2681 //kind=ObjectiveKind objective=Expression FULL_STOP
2356 public Group getGroup() { return cGroup; } 2682 public Group getGroup() { return cGroup; }
2357 2683
2358 //kind=ObjectiveKind 2684 //kind=ObjectiveKind
@@ -2366,6 +2692,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2366 2692
2367 //Expression 2693 //Expression
2368 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; } 2694 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; }
2695
2696 //FULL_STOP
2697 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2369 } 2698 }
2370 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder { 2699 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder {
2371 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); 2700 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
@@ -2390,116 +2719,155 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2390 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real"); 2719 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real");
2391 private final Group cGroup = (Group)rule.eContents().get(1); 2720 private final Group cGroup = (Group)rule.eContents().get(1);
2392 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 2721 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
2393 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 2722 private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
2394 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); 2723 private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2395 private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
2396 2724
2397 //Real ecore::EBigDecimal hidden(): 2725 //Real ecore::EBigDecimal hidden():
2398 // INT ("." INT)?; 2726 // INT "." INT;
2399 @Override public ParserRule getRule() { return rule; } 2727 @Override public ParserRule getRule() { return rule; }
2400 2728
2401 //INT ("." INT)? 2729 //INT "." INT
2402 public Group getGroup() { return cGroup; } 2730 public Group getGroup() { return cGroup; }
2403 2731
2404 //INT 2732 //INT
2405 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } 2733 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
2406 2734
2407 //("." INT)?
2408 public Group getGroup_1() { return cGroup_1; }
2409
2410 //"." 2735 //"."
2411 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } 2736 public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
2412 2737
2413 //INT 2738 //INT
2414 public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; } 2739 public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
2415 } 2740 }
2416 public class QualifiedNameElements extends AbstractParserRuleElementFinder { 2741 public class QualifiedNameSegmentElements extends AbstractParserRuleElementFinder {
2417 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); 2742 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedNameSegment");
2418 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2743 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2419 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 2744 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
2420 private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
2421 private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1);
2422 private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0);
2423 private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1);
2424 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2745 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
2746 private final Keyword cObjectKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
2425 2747
2426 //QualifiedName hidden(): 2748 //QualifiedNameSegment:
2427 // ID ("." ID)* | QUOTED_ID; 2749 // ID | QUOTED_ID | "object";
2428 @Override public ParserRule getRule() { return rule; } 2750 @Override public ParserRule getRule() { return rule; }
2429 2751
2430 //ID ("." ID)* | QUOTED_ID 2752 //ID | QUOTED_ID | "object"
2431 public Alternatives getAlternatives() { return cAlternatives; } 2753 public Alternatives getAlternatives() { return cAlternatives; }
2432 2754
2433 //ID ("." ID)*
2434 public Group getGroup_0() { return cGroup_0; }
2435
2436 //ID 2755 //ID
2437 public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; } 2756 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
2438 2757
2439 //("." ID)* 2758 //QUOTED_ID
2440 public Group getGroup_0_1() { return cGroup_0_1; } 2759 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
2441 2760
2442 //"." 2761 //"object"
2443 public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; } 2762 public Keyword getObjectKeyword_2() { return cObjectKeyword_2; }
2763 }
2764 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
2765 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
2766 private final Group cGroup = (Group)rule.eContents().get(1);
2767 private final RuleCall cQualifiedNameSegmentParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
2768 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
2769 private final Keyword cColonColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
2770 private final RuleCall cQualifiedNameSegmentParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
2444 2771
2445 //ID 2772 //QualifiedName hidden():
2446 public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; } 2773 // QualifiedNameSegment ("::" QualifiedNameSegment)*;
2774 @Override public ParserRule getRule() { return rule; }
2447 2775
2448 //QUOTED_ID 2776 //QualifiedNameSegment ("::" QualifiedNameSegment)*
2449 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } 2777 public Group getGroup() { return cGroup; }
2778
2779 //QualifiedNameSegment
2780 public RuleCall getQualifiedNameSegmentParserRuleCall_0() { return cQualifiedNameSegmentParserRuleCall_0; }
2781
2782 //("::" QualifiedNameSegment)*
2783 public Group getGroup_1() { return cGroup_1; }
2784
2785 //"::"
2786 public Keyword getColonColonKeyword_1_0() { return cColonColonKeyword_1_0; }
2787
2788 //QualifiedNameSegment
2789 public RuleCall getQualifiedNameSegmentParserRuleCall_1_1() { return cQualifiedNameSegmentParserRuleCall_1_1; }
2450 } 2790 }
2451 2791
2452 public class ImplicationOperatorElements extends AbstractEnumRuleElementFinder { 2792 public class AttributeKindElements extends AbstractEnumRuleElementFinder {
2453 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); 2793 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind");
2454 private final EnumLiteralDeclaration cIMPLIESEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1); 2794 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2455 private final Keyword cIMPLIESEqualsSignGreaterThanSignKeyword_0 = (Keyword)cIMPLIESEnumLiteralDeclaration.eContents().get(0); 2795 private final EnumLiteralDeclaration cFUNCTIONALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2456 2796 private final Keyword cFUNCTIONALFunctionalKeyword_0_0 = (Keyword)cFUNCTIONALEnumLiteralDeclaration_0.eContents().get(0);
2457 //enum ImplicationOperator returns BinaryOperator: 2797 private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2458 // IMPLIES="=>"; 2798 private final Keyword cERRORErrorKeyword_1_0 = (Keyword)cERROREnumLiteralDeclaration_1.eContents().get(0);
2799 private final EnumLiteralDeclaration cROOTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2800 private final Keyword cROOTRootKeyword_2_0 = (Keyword)cROOTEnumLiteralDeclaration_2.eContents().get(0);
2801 private final EnumLiteralDeclaration cCONTAINMENTEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2802 private final Keyword cCONTAINMENTContainmentKeyword_3_0 = (Keyword)cCONTAINMENTEnumLiteralDeclaration_3.eContents().get(0);
2803
2804 //enum AttributeKind:
2805 // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment";
2459 public EnumRule getRule() { return rule; } 2806 public EnumRule getRule() { return rule; }
2460 2807
2461 //IMPLIES="=>" 2808 //FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment"
2462 public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; } 2809 public Alternatives getAlternatives() { return cAlternatives; }
2463 2810
2464 //"=>" 2811 //FUNCTIONAL="functional"
2465 public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; } 2812 public EnumLiteralDeclaration getFUNCTIONALEnumLiteralDeclaration_0() { return cFUNCTIONALEnumLiteralDeclaration_0; }
2813
2814 //"functional"
2815 public Keyword getFUNCTIONALFunctionalKeyword_0_0() { return cFUNCTIONALFunctionalKeyword_0_0; }
2816
2817 //ERROR="error"
2818 public EnumLiteralDeclaration getERROREnumLiteralDeclaration_1() { return cERROREnumLiteralDeclaration_1; }
2819
2820 //"error"
2821 public Keyword getERRORErrorKeyword_1_0() { return cERRORErrorKeyword_1_0; }
2822
2823 //ROOT="root"
2824 public EnumLiteralDeclaration getROOTEnumLiteralDeclaration_2() { return cROOTEnumLiteralDeclaration_2; }
2825
2826 //"root"
2827 public Keyword getROOTRootKeyword_2_0() { return cROOTRootKeyword_2_0; }
2828
2829 //CONTAINMENT="containment"
2830 public EnumLiteralDeclaration getCONTAINMENTEnumLiteralDeclaration_3() { return cCONTAINMENTEnumLiteralDeclaration_3; }
2831
2832 //"containment"
2833 public Keyword getCONTAINMENTContainmentKeyword_3_0() { return cCONTAINMENTContainmentKeyword_3_0; }
2466 } 2834 }
2467 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { 2835 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
2468 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); 2836 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
2469 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2837 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2470 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2838 private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2471 private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0); 2839 private final Keyword cEQUALSEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQUALSEnumLiteralDeclaration_0.eContents().get(0);
2472 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2840 private final EnumLiteralDeclaration cNOT_EQUALSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2473 private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0); 2841 private final Keyword cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQUALSEnumLiteralDeclaration_1.eContents().get(0);
2474 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2842 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2475 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0); 2843 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2476 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2844 private final EnumLiteralDeclaration cLESS_EQUALSEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2477 private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0); 2845 private final Keyword cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQUALSEnumLiteralDeclaration_3.eContents().get(0);
2478 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2846 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2479 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0); 2847 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2480 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); 2848 private final EnumLiteralDeclaration cGREATER_EQUALSEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2481 private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0); 2849 private final Keyword cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQUALSEnumLiteralDeclaration_5.eContents().get(0);
2482 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); 2850 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2483 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0); 2851 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2484 2852
2485 //enum ComparisonOperator returns BinaryOperator: 2853 //enum ComparisonOperator returns BinaryOperator:
2486 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 2854 // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in";
2487 public EnumRule getRule() { return rule; } 2855 public EnumRule getRule() { return rule; }
2488 2856
2489 //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in" 2857 //EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in"
2490 public Alternatives getAlternatives() { return cAlternatives; } 2858 public Alternatives getAlternatives() { return cAlternatives; }
2491 2859
2492 //EQ="==" 2860 //EQUALS="=="
2493 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } 2861 public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_0() { return cEQUALSEnumLiteralDeclaration_0; }
2494 2862
2495 //"==" 2863 //"=="
2496 public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; } 2864 public Keyword getEQUALSEqualsSignEqualsSignKeyword_0_0() { return cEQUALSEqualsSignEqualsSignKeyword_0_0; }
2497 2865
2498 //NOT_EQ="!=" 2866 //NOT_EQUALS="!="
2499 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } 2867 public EnumLiteralDeclaration getNOT_EQUALSEnumLiteralDeclaration_1() { return cNOT_EQUALSEnumLiteralDeclaration_1; }
2500 2868
2501 //"!=" 2869 //"!="
2502 public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; } 2870 public Keyword getNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0; }
2503 2871
2504 //LESS="<" 2872 //LESS="<"
2505 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } 2873 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
@@ -2507,11 +2875,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2507 //"<" 2875 //"<"
2508 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; } 2876 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; }
2509 2877
2510 //LESS_EQ="<=" 2878 //LESS_EQUALS="<="
2511 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } 2879 public EnumLiteralDeclaration getLESS_EQUALSEnumLiteralDeclaration_3() { return cLESS_EQUALSEnumLiteralDeclaration_3; }
2512 2880
2513 //"<=" 2881 //"<="
2514 public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; } 2882 public Keyword getLESS_EQUALSLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0; }
2515 2883
2516 //GREATER=">" 2884 //GREATER=">"
2517 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } 2885 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
@@ -2519,11 +2887,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2519 //">" 2887 //">"
2520 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; } 2888 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; }
2521 2889
2522 //GREATER_EQ=">=" 2890 //GREATER_EQUALS=">="
2523 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } 2891 public EnumLiteralDeclaration getGREATER_EQUALSEnumLiteralDeclaration_5() { return cGREATER_EQUALSEnumLiteralDeclaration_5; }
2524 2892
2525 //">=" 2893 //">="
2526 public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; } 2894 public Keyword getGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0; }
2527 2895
2528 //IN="in" 2896 //IN="in"
2529 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } 2897 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
@@ -2534,56 +2902,56 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2534 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder { 2902 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2535 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); 2903 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
2536 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2904 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2537 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2905 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2538 private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0); 2906 private final Keyword cPLUSPlusSignKeyword_0_0 = (Keyword)cPLUSEnumLiteralDeclaration_0.eContents().get(0);
2539 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2907 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2540 private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0); 2908 private final Keyword cMINUSHyphenMinusKeyword_1_0 = (Keyword)cMINUSEnumLiteralDeclaration_1.eContents().get(0);
2541 2909
2542 //enum AdditiveBinaryOperator returns BinaryOperator: 2910 //enum AdditiveBinaryOperator returns BinaryOperator:
2543 // ADD="+" | SUB="-"; 2911 // PLUS="+" | MINUS="-";
2544 public EnumRule getRule() { return rule; } 2912 public EnumRule getRule() { return rule; }
2545 2913
2546 //ADD="+" | SUB="-" 2914 //PLUS="+" | MINUS="-"
2547 public Alternatives getAlternatives() { return cAlternatives; } 2915 public Alternatives getAlternatives() { return cAlternatives; }
2548 2916
2549 //ADD="+" 2917 //PLUS="+"
2550 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; } 2918 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_0() { return cPLUSEnumLiteralDeclaration_0; }
2551 2919
2552 //"+" 2920 //"+"
2553 public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; } 2921 public Keyword getPLUSPlusSignKeyword_0_0() { return cPLUSPlusSignKeyword_0_0; }
2554 2922
2555 //SUB="-" 2923 //MINUS="-"
2556 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; } 2924 public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_1() { return cMINUSEnumLiteralDeclaration_1; }
2557 2925
2558 //"-" 2926 //"-"
2559 public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; } 2927 public Keyword getMINUSHyphenMinusKeyword_1_0() { return cMINUSHyphenMinusKeyword_1_0; }
2560 } 2928 }
2561 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder { 2929 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2562 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); 2930 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
2563 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2931 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2564 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2932 private final EnumLiteralDeclaration cMULTIPLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2565 private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0); 2933 private final Keyword cMULTIPLYAsteriskKeyword_0_0 = (Keyword)cMULTIPLYEnumLiteralDeclaration_0.eContents().get(0);
2566 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2934 private final EnumLiteralDeclaration cDIVIDEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2567 private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0); 2935 private final Keyword cDIVIDESolidusKeyword_1_0 = (Keyword)cDIVIDEEnumLiteralDeclaration_1.eContents().get(0);
2568 2936
2569 //enum MultiplicativeBinaryOperator returns BinaryOperator: 2937 //enum MultiplicativeBinaryOperator returns BinaryOperator:
2570 // MUL="*" | DIV="/"; 2938 // MULTIPLY="*" | DIVIDE="/";
2571 public EnumRule getRule() { return rule; } 2939 public EnumRule getRule() { return rule; }
2572 2940
2573 //MUL="*" | DIV="/" 2941 //MULTIPLY="*" | DIVIDE="/"
2574 public Alternatives getAlternatives() { return cAlternatives; } 2942 public Alternatives getAlternatives() { return cAlternatives; }
2575 2943
2576 //MUL="*" 2944 //MULTIPLY="*"
2577 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; } 2945 public EnumLiteralDeclaration getMULTIPLYEnumLiteralDeclaration_0() { return cMULTIPLYEnumLiteralDeclaration_0; }
2578 2946
2579 //"*" 2947 //"*"
2580 public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; } 2948 public Keyword getMULTIPLYAsteriskKeyword_0_0() { return cMULTIPLYAsteriskKeyword_0_0; }
2581 2949
2582 //DIV="/" 2950 //DIVIDE="/"
2583 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; } 2951 public EnumLiteralDeclaration getDIVIDEEnumLiteralDeclaration_1() { return cDIVIDEEnumLiteralDeclaration_1; }
2584 2952
2585 //"/" 2953 //"/"
2586 public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; } 2954 public Keyword getDIVIDESolidusKeyword_1_0() { return cDIVIDESolidusKeyword_1_0; }
2587 } 2955 }
2588 public class ExponentialOpElements extends AbstractEnumRuleElementFinder { 2956 public class ExponentialOpElements extends AbstractEnumRuleElementFinder {
2589 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); 2957 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
@@ -2600,34 +2968,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2600 //"^" 2968 //"^"
2601 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; } 2969 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; }
2602 } 2970 }
2603 public class UnaryOpElements extends AbstractEnumRuleElementFinder { 2971 public class UnaryOperatorElements extends AbstractEnumRuleElementFinder {
2604 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); 2972 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator");
2605 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2973 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2606 private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2974 private final EnumLiteralDeclaration cNOTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2607 private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0); 2975 private final Keyword cNOTExclamationMarkKeyword_0_0 = (Keyword)cNOTEnumLiteralDeclaration_0.eContents().get(0);
2608 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2976 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2609 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0); 2977 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0);
2610 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2978 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2611 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0); 2979 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0);
2612 private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2980 private final EnumLiteralDeclaration cMAYBEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2613 private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0); 2981 private final Keyword cMAYBEQuestionMarkKeyword_3_0 = (Keyword)cMAYBEEnumLiteralDeclaration_3.eContents().get(0);
2614 private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2982
2615 private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0); 2983 //enum UnaryOperator:
2616 private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); 2984 // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?";
2617 private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0);
2618
2619 //enum UnaryOp:
2620 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2621 public EnumRule getRule() { return rule; } 2985 public EnumRule getRule() { return rule; }
2622 2986
2623 //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current" 2987 //NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?"
2624 public Alternatives getAlternatives() { return cAlternatives; } 2988 public Alternatives getAlternatives() { return cAlternatives; }
2625 2989
2626 //NEG="!" 2990 //NOT="!"
2627 public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; } 2991 public EnumLiteralDeclaration getNOTEnumLiteralDeclaration_0() { return cNOTEnumLiteralDeclaration_0; }
2628 2992
2629 //"!" 2993 //"!"
2630 public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; } 2994 public Keyword getNOTExclamationMarkKeyword_0_0() { return cNOTExclamationMarkKeyword_0_0; }
2631 2995
2632 //PLUS="+" 2996 //PLUS="+"
2633 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; } 2997 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; }
@@ -2641,58 +3005,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2641 //"-" 3005 //"-"
2642 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; } 3006 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; }
2643 3007
2644 //MAY="may" 3008 //MAYBE="?"
2645 public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; } 3009 public EnumLiteralDeclaration getMAYBEEnumLiteralDeclaration_3() { return cMAYBEEnumLiteralDeclaration_3; }
2646
2647 //"may"
2648 public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; }
2649
2650 //MUST="must"
2651 public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; }
2652
2653 //"must"
2654 public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; }
2655
2656 //CURRENT="current"
2657 public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; }
2658
2659 //"current"
2660 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
2661 }
2662 public class QuantifierElements extends AbstractEnumRuleElementFinder {
2663 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2664 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2665 private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2666 private final Keyword cEXISTSExistsKeyword_0_0 = (Keyword)cEXISTSEnumLiteralDeclaration_0.eContents().get(0);
2667 private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2668 private final Keyword cFORALLForallKeyword_1_0 = (Keyword)cFORALLEnumLiteralDeclaration_1.eContents().get(0);
2669 private final EnumLiteralDeclaration cCOUNTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2670 private final Keyword cCOUNTCountKeyword_2_0 = (Keyword)cCOUNTEnumLiteralDeclaration_2.eContents().get(0);
2671
2672 //enum Quantifier:
2673 // EXISTS="exists" | FORALL="forall" | COUNT="count";
2674 public EnumRule getRule() { return rule; }
2675
2676 //EXISTS="exists" | FORALL="forall" | COUNT="count"
2677 public Alternatives getAlternatives() { return cAlternatives; }
2678
2679 //EXISTS="exists"
2680 public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; }
2681
2682 //"exists"
2683 public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; }
2684
2685 //FORALL="forall"
2686 public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; }
2687 3010
2688 //"forall" 3011 //"?"
2689 public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; } 3012 public Keyword getMAYBEQuestionMarkKeyword_3_0() { return cMAYBEQuestionMarkKeyword_3_0; }
2690
2691 //COUNT="count"
2692 public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; }
2693
2694 //"count"
2695 public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; }
2696 } 3013 }
2697 public class LogicValueElements extends AbstractEnumRuleElementFinder { 3014 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2698 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); 3015 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
@@ -2740,49 +3057,53 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2740 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder { 3057 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder {
2741 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); 3058 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
2742 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 3059 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2743 private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 3060 private final EnumLiteralDeclaration cMINIMIZATIONEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2744 private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0); 3061 private final Keyword cMINIMIZATIONMinimizeKeyword_0_0 = (Keyword)cMINIMIZATIONEnumLiteralDeclaration_0.eContents().get(0);
2745 private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 3062 private final EnumLiteralDeclaration cMAXIMIZATIONEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2746 private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0); 3063 private final Keyword cMAXIMIZATIONMaximizeKeyword_1_0 = (Keyword)cMAXIMIZATIONEnumLiteralDeclaration_1.eContents().get(0);
2747 3064
2748 //enum ObjectiveKind: 3065 //enum ObjectiveKind:
2749 // MINIMIZE="minimize" | MAXIMIZE="maximize"; 3066 // MINIMIZATION="minimize" | MAXIMIZATION="maximize";
2750 public EnumRule getRule() { return rule; } 3067 public EnumRule getRule() { return rule; }
2751 3068
2752 //MINIMIZE="minimize" | MAXIMIZE="maximize" 3069 //MINIMIZATION="minimize" | MAXIMIZATION="maximize"
2753 public Alternatives getAlternatives() { return cAlternatives; } 3070 public Alternatives getAlternatives() { return cAlternatives; }
2754 3071
2755 //MINIMIZE="minimize" 3072 //MINIMIZATION="minimize"
2756 public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; } 3073 public EnumLiteralDeclaration getMINIMIZATIONEnumLiteralDeclaration_0() { return cMINIMIZATIONEnumLiteralDeclaration_0; }
2757 3074
2758 //"minimize" 3075 //"minimize"
2759 public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; } 3076 public Keyword getMINIMIZATIONMinimizeKeyword_0_0() { return cMINIMIZATIONMinimizeKeyword_0_0; }
2760 3077
2761 //MAXIMIZE="maximize" 3078 //MAXIMIZATION="maximize"
2762 public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; } 3079 public EnumLiteralDeclaration getMAXIMIZATIONEnumLiteralDeclaration_1() { return cMAXIMIZATIONEnumLiteralDeclaration_1; }
2763 3080
2764 //"maximize" 3081 //"maximize"
2765 public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; } 3082 public Keyword getMAXIMIZATIONMaximizeKeyword_1_0() { return cMAXIMIZATIONMaximizeKeyword_1_0; }
2766 } 3083 }
2767 3084
2768 private final ProblemElements pProblem; 3085 private final ProblemElements pProblem;
2769 private final StatementElements pStatement; 3086 private final StatementElements pStatement;
3087 private final ImportElements pImport;
3088 private final UriImportElements pUriImport;
3089 private final NamespaceImportElements pNamespaceImport;
2770 private final AssertionOrDefinitionElements pAssertionOrDefinition; 3090 private final AssertionOrDefinitionElements pAssertionOrDefinition;
2771 private final PredicateDefinitionElements pPredicateDefinition; 3091 private final PredicateDefinitionElements pPredicateDefinition;
2772 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; 3092 private final UnnamedErrorPredicateDefintionElements pUnnamedErrorPredicateDefintion;
2773 private final DefaultDefinitionElements pDefaultDefinition; 3093 private final DefaultAssertionElements pDefaultAssertion;
2774 private final MetricDefinitionElements pMetricDefinition; 3094 private final FunctionDefinitionElements pFunctionDefinition;
2775 private final ExternPredicateDefinitionElements pExternPredicateDefinition; 3095 private final TypeReferenceElements pTypeReference;
2776 private final ExternMetricDefinitionElements pExternMetricDefinition; 3096 private final AttributeKindElements eAttributeKind;
2777 private final ExternAggregatorDefinitionElements pExternAggregatorDefinition; 3097 private final AttributeElements pAttribute;
2778 private final ExternDatatypeDefinitionElements pExternDatatypeDefinition; 3098 private final ExternDeclarationElements pExternDeclaration;
2779 private final VariableElements pVariable; 3099 private final ExternPredicateDeclarationElements pExternPredicateDeclaration;
3100 private final ExternFunctionDeclarationElements pExternFunctionDeclaration;
3101 private final ExternAggregationOperatorDeclarationElements pExternAggregationOperatorDeclaration;
3102 private final ExternDatatypeDeclarationElements pExternDatatypeDeclaration;
2780 private final ExpressionElements pExpression; 3103 private final ExpressionElements pExpression;
2781 private final IfElseElements pIfElse; 3104 private final ConditionalExpressionElements pConditionalExpression;
2782 private final LetElements pLet; 3105 private final LetExpressionElements pLetExpression;
2783 private final LetBindingElements pLetBinding; 3106 private final LetBindingElements pLetBinding;
2784 private final ImplicationOperatorElements eImplicationOperator;
2785 private final ImplicationExpressionElements pImplicationExpression;
2786 private final DisjunctiveExpressionElements pDisjunctiveExpression; 3107 private final DisjunctiveExpressionElements pDisjunctiveExpression;
2787 private final CaseElements pCase; 3108 private final CaseElements pCase;
2788 private final ConjunctiveExpressionElements pConjunctiveExpression; 3109 private final ConjunctiveExpressionElements pConjunctiveExpression;
@@ -2795,44 +3116,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2795 private final ExponentialOpElements eExponentialOp; 3116 private final ExponentialOpElements eExponentialOp;
2796 private final ExponentialExpressionElements pExponentialExpression; 3117 private final ExponentialExpressionElements pExponentialExpression;
2797 private final CastExpressionElements pCastExpression; 3118 private final CastExpressionElements pCastExpression;
2798 private final UnaryOpElements eUnaryOp; 3119 private final UnaryOperatorElements eUnaryOperator;
2799 private final UnaryExpressionElements pUnaryExpression; 3120 private final UnaryExpressionElements pUnaryExpression;
2800 private final AggregationExpressionElements pAggregationExpression; 3121 private final BracedAggregateExpressionElements pBracedAggregateExpression;
2801 private final LocalVariablesElements pLocalVariables;
2802 private final QuantifierElements eQuantifier;
2803 private final QuantifiedExpressionElements pQuantifiedExpression;
2804 private final AggregationElements pAggregation; 3122 private final AggregationElements pAggregation;
3123 private final CountElements pCount;
2805 private final AtomicExpressionElements pAtomicExpression; 3124 private final AtomicExpressionElements pAtomicExpression;
2806 private final CallElements pCall; 3125 private final CallElements pCall;
2807 private final ArgumentListElements pArgumentList; 3126 private final ArgumentListElements pArgumentList;
2808 private final ArgumentElements pArgument; 3127 private final ArgumentElements pArgument;
2809 private final ExpressionArgumentElements pExpressionArgument; 3128 private final ExpressionArgumentElements pExpressionArgument;
2810 private final StarArgumentElements pStarArgument; 3129 private final StarArgumentElements pStarArgument;
2811 private final TypedArgumentElements pTypedArgument; 3130 private final TypedVariableArgumentElements pTypedVariableArgument;
2812 private final TypedStarArgumentElements pTypedStarArgument; 3131 private final TypedStarArgumentElements pTypedStarArgument;
2813 private final ReferenceElements pReference; 3132 private final ReferenceElements pReference;
3133 private final PathComponentElements pPathComponent;
2814 private final IntervalElements pInterval; 3134 private final IntervalElements pInterval;
2815 private final LiteralElements pLiteral; 3135 private final LiteralElements pLiteral;
2816 private final LogicValueElements eLogicValue; 3136 private final LogicValueElements eLogicValue;
2817 private final LogicLiteralElements pLogicLiteral; 3137 private final LogicLiteralElements pLogicLiteral;
2818 private final NumericLiteralElements pNumericLiteral; 3138 private final IntLiteralElements pIntLiteral;
3139 private final RealLiteralElements pRealLiteral;
2819 private final InfinityLiteralElements pInfinityLiteral; 3140 private final InfinityLiteralElements pInfinityLiteral;
2820 private final EmptyIntervalLiteralElements pEmptyIntervalLiteral; 3141 private final EmptyLiteralElements pEmptyLiteral;
2821 private final StringLiteralElements pStringLiteral; 3142 private final StringLiteralElements pStringLiteral;
2822 private final ClassDefinitionElements pClassDefinition; 3143 private final ClassDeclarationElements pClassDeclaration;
2823 private final MemberDefinitionElements pMemberDefinition; 3144 private final FieldElements pField;
2824 private final MultiplicityElements pMultiplicity; 3145 private final MultiplicityElements pMultiplicity;
2825 private final ManyMultiplicityElements pManyMultiplicity; 3146 private final UnboundedMultiplicityElements pUnboundedMultiplicity;
2826 private final ExactMultiplicityElements pExactMultiplicity; 3147 private final ExactMultiplicityElements pExactMultiplicity;
2827 private final BoundedMultiplicityElements pBoundedMultiplicity; 3148 private final BoundedMultiplicityElements pBoundedMultiplicity;
2828 private final ScopeDefinitionElements pScopeDefinition; 3149 private final EnumDeclarationElements pEnumDeclaration;
2829 private final ExactScopeDefinitionElements pExactScopeDefinition; 3150 private final EnumLiteralElements pEnumLiteral;
2830 private final BoundedScopeDefinitionElements pBoundedScopeDefinition; 3151 private final ScopeDeclarationElements pScopeDeclaration;
2831 private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition; 3152 private final ExactScopeElements pExactScope;
3153 private final BoundedScopeElements pBoundedScope;
3154 private final LowerBoundedScopeElements pLowerBoundedScope;
2832 private final ObjectiveKindElements eObjectiveKind; 3155 private final ObjectiveKindElements eObjectiveKind;
2833 private final ObjectiveDefinitionElements pObjectiveDefinition; 3156 private final ObjectiveDeclarationElements pObjectiveDeclaration;
2834 private final UpperMultiplictyElements pUpperMultiplicty; 3157 private final UpperMultiplictyElements pUpperMultiplicty;
2835 private final RealElements pReal; 3158 private final RealElements pReal;
3159 private final QualifiedNameSegmentElements pQualifiedNameSegment;
2836 private final QualifiedNameElements pQualifiedName; 3160 private final QualifiedNameElements pQualifiedName;
2837 private final TerminalRule tSTRING; 3161 private final TerminalRule tSTRING;
2838 private final TerminalRule tQUOTED_ID; 3162 private final TerminalRule tQUOTED_ID;
@@ -2852,22 +3176,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2852 this.gaTerminals = gaTerminals; 3176 this.gaTerminals = gaTerminals;
2853 this.pProblem = new ProblemElements(); 3177 this.pProblem = new ProblemElements();
2854 this.pStatement = new StatementElements(); 3178 this.pStatement = new StatementElements();
3179 this.pImport = new ImportElements();
3180 this.pUriImport = new UriImportElements();
3181 this.pNamespaceImport = new NamespaceImportElements();
2855 this.pAssertionOrDefinition = new AssertionOrDefinitionElements(); 3182 this.pAssertionOrDefinition = new AssertionOrDefinitionElements();
2856 this.pPredicateDefinition = new PredicateDefinitionElements(); 3183 this.pPredicateDefinition = new PredicateDefinitionElements();
2857 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); 3184 this.pUnnamedErrorPredicateDefintion = new UnnamedErrorPredicateDefintionElements();
2858 this.pDefaultDefinition = new DefaultDefinitionElements(); 3185 this.pDefaultAssertion = new DefaultAssertionElements();
2859 this.pMetricDefinition = new MetricDefinitionElements(); 3186 this.pFunctionDefinition = new FunctionDefinitionElements();
2860 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements(); 3187 this.pTypeReference = new TypeReferenceElements();
2861 this.pExternMetricDefinition = new ExternMetricDefinitionElements(); 3188 this.eAttributeKind = new AttributeKindElements();
2862 this.pExternAggregatorDefinition = new ExternAggregatorDefinitionElements(); 3189 this.pAttribute = new AttributeElements();
2863 this.pExternDatatypeDefinition = new ExternDatatypeDefinitionElements(); 3190 this.pExternDeclaration = new ExternDeclarationElements();
2864 this.pVariable = new VariableElements(); 3191 this.pExternPredicateDeclaration = new ExternPredicateDeclarationElements();
3192 this.pExternFunctionDeclaration = new ExternFunctionDeclarationElements();
3193 this.pExternAggregationOperatorDeclaration = new ExternAggregationOperatorDeclarationElements();
3194 this.pExternDatatypeDeclaration = new ExternDatatypeDeclarationElements();
2865 this.pExpression = new ExpressionElements(); 3195 this.pExpression = new ExpressionElements();
2866 this.pIfElse = new IfElseElements(); 3196 this.pConditionalExpression = new ConditionalExpressionElements();
2867 this.pLet = new LetElements(); 3197 this.pLetExpression = new LetExpressionElements();
2868 this.pLetBinding = new LetBindingElements(); 3198 this.pLetBinding = new LetBindingElements();
2869 this.eImplicationOperator = new ImplicationOperatorElements();
2870 this.pImplicationExpression = new ImplicationExpressionElements();
2871 this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); 3199 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
2872 this.pCase = new CaseElements(); 3200 this.pCase = new CaseElements();
2873 this.pConjunctiveExpression = new ConjunctiveExpressionElements(); 3201 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
@@ -2880,44 +3208,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2880 this.eExponentialOp = new ExponentialOpElements(); 3208 this.eExponentialOp = new ExponentialOpElements();
2881 this.pExponentialExpression = new ExponentialExpressionElements(); 3209 this.pExponentialExpression = new ExponentialExpressionElements();
2882 this.pCastExpression = new CastExpressionElements(); 3210 this.pCastExpression = new CastExpressionElements();
2883 this.eUnaryOp = new UnaryOpElements(); 3211 this.eUnaryOperator = new UnaryOperatorElements();
2884 this.pUnaryExpression = new UnaryExpressionElements(); 3212 this.pUnaryExpression = new UnaryExpressionElements();
2885 this.pAggregationExpression = new AggregationExpressionElements(); 3213 this.pBracedAggregateExpression = new BracedAggregateExpressionElements();
2886 this.pLocalVariables = new LocalVariablesElements();
2887 this.eQuantifier = new QuantifierElements();
2888 this.pQuantifiedExpression = new QuantifiedExpressionElements();
2889 this.pAggregation = new AggregationElements(); 3214 this.pAggregation = new AggregationElements();
3215 this.pCount = new CountElements();
2890 this.pAtomicExpression = new AtomicExpressionElements(); 3216 this.pAtomicExpression = new AtomicExpressionElements();
2891 this.pCall = new CallElements(); 3217 this.pCall = new CallElements();
2892 this.pArgumentList = new ArgumentListElements(); 3218 this.pArgumentList = new ArgumentListElements();
2893 this.pArgument = new ArgumentElements(); 3219 this.pArgument = new ArgumentElements();
2894 this.pExpressionArgument = new ExpressionArgumentElements(); 3220 this.pExpressionArgument = new ExpressionArgumentElements();
2895 this.pStarArgument = new StarArgumentElements(); 3221 this.pStarArgument = new StarArgumentElements();
2896 this.pTypedArgument = new TypedArgumentElements(); 3222 this.pTypedVariableArgument = new TypedVariableArgumentElements();
2897 this.pTypedStarArgument = new TypedStarArgumentElements(); 3223 this.pTypedStarArgument = new TypedStarArgumentElements();
2898 this.pReference = new ReferenceElements(); 3224 this.pReference = new ReferenceElements();
3225 this.pPathComponent = new PathComponentElements();
2899 this.pInterval = new IntervalElements(); 3226 this.pInterval = new IntervalElements();
2900 this.pLiteral = new LiteralElements(); 3227 this.pLiteral = new LiteralElements();
2901 this.eLogicValue = new LogicValueElements(); 3228 this.eLogicValue = new LogicValueElements();
2902 this.pLogicLiteral = new LogicLiteralElements(); 3229 this.pLogicLiteral = new LogicLiteralElements();
2903 this.pNumericLiteral = new NumericLiteralElements(); 3230 this.pIntLiteral = new IntLiteralElements();
3231 this.pRealLiteral = new RealLiteralElements();
2904 this.pInfinityLiteral = new InfinityLiteralElements(); 3232 this.pInfinityLiteral = new InfinityLiteralElements();
2905 this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements(); 3233 this.pEmptyLiteral = new EmptyLiteralElements();
2906 this.pStringLiteral = new StringLiteralElements(); 3234 this.pStringLiteral = new StringLiteralElements();
2907 this.pClassDefinition = new ClassDefinitionElements(); 3235 this.pClassDeclaration = new ClassDeclarationElements();
2908 this.pMemberDefinition = new MemberDefinitionElements(); 3236 this.pField = new FieldElements();
2909 this.pMultiplicity = new MultiplicityElements(); 3237 this.pMultiplicity = new MultiplicityElements();
2910 this.pManyMultiplicity = new ManyMultiplicityElements(); 3238 this.pUnboundedMultiplicity = new UnboundedMultiplicityElements();
2911 this.pExactMultiplicity = new ExactMultiplicityElements(); 3239 this.pExactMultiplicity = new ExactMultiplicityElements();
2912 this.pBoundedMultiplicity = new BoundedMultiplicityElements(); 3240 this.pBoundedMultiplicity = new BoundedMultiplicityElements();
2913 this.pScopeDefinition = new ScopeDefinitionElements(); 3241 this.pEnumDeclaration = new EnumDeclarationElements();
2914 this.pExactScopeDefinition = new ExactScopeDefinitionElements(); 3242 this.pEnumLiteral = new EnumLiteralElements();
2915 this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements(); 3243 this.pScopeDeclaration = new ScopeDeclarationElements();
2916 this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements(); 3244 this.pExactScope = new ExactScopeElements();
3245 this.pBoundedScope = new BoundedScopeElements();
3246 this.pLowerBoundedScope = new LowerBoundedScopeElements();
2917 this.eObjectiveKind = new ObjectiveKindElements(); 3247 this.eObjectiveKind = new ObjectiveKindElements();
2918 this.pObjectiveDefinition = new ObjectiveDefinitionElements(); 3248 this.pObjectiveDeclaration = new ObjectiveDeclarationElements();
2919 this.pUpperMultiplicty = new UpperMultiplictyElements(); 3249 this.pUpperMultiplicty = new UpperMultiplictyElements();
2920 this.pReal = new RealElements(); 3250 this.pReal = new RealElements();
3251 this.pQualifiedNameSegment = new QualifiedNameSegmentElements();
2921 this.pQualifiedName = new QualifiedNameElements(); 3252 this.pQualifiedName = new QualifiedNameElements();
2922 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); 3253 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
2923 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID"); 3254 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID");
@@ -2955,6 +3286,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2955 3286
2956 3287
2957 //Problem: 3288 //Problem:
3289 // ("problem" name=QualifiedName FULL_STOP)?
3290 // imports+=Import*
2958 // statements+=Statement*; 3291 // statements+=Statement*;
2959 public ProblemElements getProblemAccess() { 3292 public ProblemElements getProblemAccess() {
2960 return pProblem; 3293 return pProblem;
@@ -2965,9 +3298,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2965 } 3298 }
2966 3299
2967 //Statement: 3300 //Statement:
2968 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition 3301 // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition
2969 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 3302 // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration;
2970 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
2971 public StatementElements getStatementAccess() { 3303 public StatementElements getStatementAccess() {
2972 return pStatement; 3304 return pStatement;
2973 } 3305 }
@@ -2976,9 +3308,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2976 return getStatementAccess().getRule(); 3308 return getStatementAccess().getRule();
2977 } 3309 }
2978 3310
3311 //Import:
3312 // UriImport | NamespaceImport;
3313 public ImportElements getImportAccess() {
3314 return pImport;
3315 }
3316
3317 public ParserRule getImportRule() {
3318 return getImportAccess().getRule();
3319 }
3320
3321 //UriImport:
3322 // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP;
3323 public UriImportElements getUriImportAccess() {
3324 return pUriImport;
3325 }
3326
3327 public ParserRule getUriImportRule() {
3328 return getUriImportAccess().getRule();
3329 }
3330
3331 //NamespaceImport:
3332 // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP;
3333 public NamespaceImportElements getNamespaceImportAccess() {
3334 return pNamespaceImport;
3335 }
3336
3337 public ParserRule getNamespaceImportRule() {
3338 return getNamespaceImportAccess().getRule();
3339 }
3340
2979 //AssertionOrDefinition Statement: 3341 //AssertionOrDefinition Statement:
2980 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" 3342 // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
2981 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; 3343 // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP;
2982 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { 3344 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
2983 return pAssertionOrDefinition; 3345 return pAssertionOrDefinition;
2984 } 3346 }
@@ -2988,7 +3350,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2988 } 3350 }
2989 3351
2990 //PredicateDefinition: 3352 //PredicateDefinition:
2991 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 3353 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
3354 // FULL_STOP;
2992 public PredicateDefinitionElements getPredicateDefinitionAccess() { 3355 public PredicateDefinitionElements getPredicateDefinitionAccess() {
2993 return pPredicateDefinition; 3356 return pPredicateDefinition;
2994 } 3357 }
@@ -2997,89 +3360,121 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2997 return getPredicateDefinitionAccess().getRule(); 3360 return getPredicateDefinitionAccess().getRule();
2998 } 3361 }
2999 3362
3000 //UnnamedErrorPrediateDefinition: 3363 //UnnamedErrorPredicateDefintion:
3001 // "error" argumentList=ArgumentList ":-" body=Expression; 3364 // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP;
3002 public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() { 3365 public UnnamedErrorPredicateDefintionElements getUnnamedErrorPredicateDefintionAccess() {
3003 return pUnnamedErrorPrediateDefinition; 3366 return pUnnamedErrorPredicateDefintion;
3367 }
3368
3369 public ParserRule getUnnamedErrorPredicateDefintionRule() {
3370 return getUnnamedErrorPredicateDefintionAccess().getRule();
3371 }
3372
3373 //DefaultAssertion:
3374 // "default" expression=Call (":" range=Expression)? FULL_STOP;
3375 public DefaultAssertionElements getDefaultAssertionAccess() {
3376 return pDefaultAssertion;
3004 } 3377 }
3005 3378
3006 public ParserRule getUnnamedErrorPrediateDefinitionRule() { 3379 public ParserRule getDefaultAssertionRule() {
3007 return getUnnamedErrorPrediateDefinitionAccess().getRule(); 3380 return getDefaultAssertionAccess().getRule();
3008 } 3381 }
3009 3382
3010 //DefaultDefinition: 3383 //FunctionDefinition:
3011 // "default" head=Call ":" range=Expression; 3384 // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP;
3012 public DefaultDefinitionElements getDefaultDefinitionAccess() { 3385 public FunctionDefinitionElements getFunctionDefinitionAccess() {
3013 return pDefaultDefinition; 3386 return pFunctionDefinition;
3014 } 3387 }
3015 3388
3016 public ParserRule getDefaultDefinitionRule() { 3389 public ParserRule getFunctionDefinitionRule() {
3017 return getDefaultDefinitionAccess().getRule(); 3390 return getFunctionDefinitionAccess().getRule();
3018 } 3391 }
3019 3392
3020 //MetricDefinition: 3393 //TypeReference:
3021 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; 3394 // type=[Symbol|QualifiedName] forceObjectType?="object"?;
3022 public MetricDefinitionElements getMetricDefinitionAccess() { 3395 public TypeReferenceElements getTypeReferenceAccess() {
3023 return pMetricDefinition; 3396 return pTypeReference;
3024 } 3397 }
3025 3398
3026 public ParserRule getMetricDefinitionRule() { 3399 public ParserRule getTypeReferenceRule() {
3027 return getMetricDefinitionAccess().getRule(); 3400 return getTypeReferenceAccess().getRule();
3028 } 3401 }
3029 3402
3030 //ExternPredicateDefinition: 3403 //enum AttributeKind:
3031 // "extern" name=QualifiedName argumentList=ArgumentList; 3404 // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment";
3032 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { 3405 public AttributeKindElements getAttributeKindAccess() {
3033 return pExternPredicateDefinition; 3406 return eAttributeKind;
3034 } 3407 }
3035 3408
3036 public ParserRule getExternPredicateDefinitionRule() { 3409 public EnumRule getAttributeKindRule() {
3037 return getExternPredicateDefinitionAccess().getRule(); 3410 return getAttributeKindAccess().getRule();
3038 } 3411 }
3039 3412
3040 //ExternMetricDefinition: 3413 //Attribute:
3041 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; 3414 // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP;
3042 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { 3415 public AttributeElements getAttributeAccess() {
3043 return pExternMetricDefinition; 3416 return pAttribute;
3044 } 3417 }
3045 3418
3046 public ParserRule getExternMetricDefinitionRule() { 3419 public ParserRule getAttributeRule() {
3047 return getExternMetricDefinitionAccess().getRule(); 3420 return getAttributeAccess().getRule();
3048 } 3421 }
3049 3422
3050 //ExternAggregatorDefinition: 3423 //ExternDeclaration:
3051 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; 3424 // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
3052 public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() { 3425 // ExternDatatypeDeclaration;
3053 return pExternAggregatorDefinition; 3426 public ExternDeclarationElements getExternDeclarationAccess() {
3427 return pExternDeclaration;
3054 } 3428 }
3055 3429
3056 public ParserRule getExternAggregatorDefinitionRule() { 3430 public ParserRule getExternDeclarationRule() {
3057 return getExternAggregatorDefinitionAccess().getRule(); 3431 return getExternDeclarationAccess().getRule();
3058 } 3432 }
3059 3433
3060 //ExternDatatypeDefinition: 3434 //ExternPredicateDeclaration:
3061 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 3435 // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP;
3062 // supertypes+=[NamedElement|QualifiedName])*); 3436 public ExternPredicateDeclarationElements getExternPredicateDeclarationAccess() {
3063 public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() { 3437 return pExternPredicateDeclaration;
3064 return pExternDatatypeDefinition;
3065 } 3438 }
3066 3439
3067 public ParserRule getExternDatatypeDefinitionRule() { 3440 public ParserRule getExternPredicateDeclarationRule() {
3068 return getExternDatatypeDefinitionAccess().getRule(); 3441 return getExternPredicateDeclarationAccess().getRule();
3069 } 3442 }
3070 3443
3071 //Variable: 3444 //ExternFunctionDeclaration:
3072 // type=[NamedElement|QualifiedName]? name=ID; 3445 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP;
3073 public VariableElements getVariableAccess() { 3446 public ExternFunctionDeclarationElements getExternFunctionDeclarationAccess() {
3074 return pVariable; 3447 return pExternFunctionDeclaration;
3075 } 3448 }
3076 3449
3077 public ParserRule getVariableRule() { 3450 public ParserRule getExternFunctionDeclarationRule() {
3078 return getVariableAccess().getRule(); 3451 return getExternFunctionDeclarationAccess().getRule();
3452 }
3453
3454 //ExternAggregationOperatorDeclaration:
3455 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
3456 // FULL_STOP;
3457 public ExternAggregationOperatorDeclarationElements getExternAggregationOperatorDeclarationAccess() {
3458 return pExternAggregationOperatorDeclaration;
3459 }
3460
3461 public ParserRule getExternAggregationOperatorDeclarationRule() {
3462 return getExternAggregationOperatorDeclarationAccess().getRule();
3463 }
3464
3465 //ExternDatatypeDeclaration:
3466 // "extern" "datatype" name=QualifiedName FULL_STOP;
3467 public ExternDatatypeDeclarationElements getExternDatatypeDeclarationAccess() {
3468 return pExternDatatypeDeclaration;
3469 }
3470
3471 public ParserRule getExternDatatypeDeclarationRule() {
3472 return getExternDatatypeDeclarationAccess().getRule();
3079 } 3473 }
3080 3474
3081 //Expression: 3475 //Expression:
3082 // IfElse | Let | ImplicationExpression; 3476 // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
3477 // body=DisjunctiveExpression)?;
3083 public ExpressionElements getExpressionAccess() { 3478 public ExpressionElements getExpressionAccess() {
3084 return pExpression; 3479 return pExpression;
3085 } 3480 }
@@ -3088,28 +3483,28 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3088 return getExpressionAccess().getRule(); 3483 return getExpressionAccess().getRule();
3089 } 3484 }
3090 3485
3091 //IfElse: 3486 //ConditionalExpression:
3092 // "if" condition=Expression "then" then=Expression "else" else=Expression; 3487 // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression;
3093 public IfElseElements getIfElseAccess() { 3488 public ConditionalExpressionElements getConditionalExpressionAccess() {
3094 return pIfElse; 3489 return pConditionalExpression;
3095 } 3490 }
3096 3491
3097 public ParserRule getIfElseRule() { 3492 public ParserRule getConditionalExpressionRule() {
3098 return getIfElseAccess().getRule(); 3493 return getConditionalExpressionAccess().getRule();
3099 } 3494 }
3100 3495
3101 //Let: 3496 //LetExpression:
3102 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; 3497 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
3103 public LetElements getLetAccess() { 3498 public LetExpressionElements getLetExpressionAccess() {
3104 return pLet; 3499 return pLetExpression;
3105 } 3500 }
3106 3501
3107 public ParserRule getLetRule() { 3502 public ParserRule getLetExpressionRule() {
3108 return getLetAccess().getRule(); 3503 return getLetExpressionAccess().getRule();
3109 } 3504 }
3110 3505
3111 //LetBinding: 3506 //LetBinding:
3112 // variable=Variable "=" value=AdditiveExpression; 3507 // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression;
3113 public LetBindingElements getLetBindingAccess() { 3508 public LetBindingElements getLetBindingAccess() {
3114 return pLetBinding; 3509 return pLetBinding;
3115 } 3510 }
@@ -3118,26 +3513,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3118 return getLetBindingAccess().getRule(); 3513 return getLetBindingAccess().getRule();
3119 } 3514 }
3120 3515
3121 //enum ImplicationOperator returns BinaryOperator:
3122 // IMPLIES="=>";
3123 public ImplicationOperatorElements getImplicationOperatorAccess() {
3124 return eImplicationOperator;
3125 }
3126
3127 public EnumRule getImplicationOperatorRule() {
3128 return getImplicationOperatorAccess().getRule();
3129 }
3130
3131 //ImplicationExpression Expression:
3132 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
3133 public ImplicationExpressionElements getImplicationExpressionAccess() {
3134 return pImplicationExpression;
3135 }
3136
3137 public ParserRule getImplicationExpressionRule() {
3138 return getImplicationExpressionAccess().getRule();
3139 }
3140
3141 //DisjunctiveExpression Expression: 3516 //DisjunctiveExpression Expression:
3142 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | 3517 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
3143 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; 3518 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
@@ -3170,7 +3545,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3170 } 3545 }
3171 3546
3172 //enum ComparisonOperator returns BinaryOperator: 3547 //enum ComparisonOperator returns BinaryOperator:
3173 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 3548 // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in";
3174 public ComparisonOperatorElements getComparisonOperatorAccess() { 3549 public ComparisonOperatorElements getComparisonOperatorAccess() {
3175 return eComparisonOperator; 3550 return eComparisonOperator;
3176 } 3551 }
@@ -3180,7 +3555,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3180 } 3555 }
3181 3556
3182 //ComparisonExpression Expression: 3557 //ComparisonExpression Expression:
3183 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; 3558 // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?;
3184 public ComparisonExpressionElements getComparisonExpressionAccess() { 3559 public ComparisonExpressionElements getComparisonExpressionAccess() {
3185 return pComparisonExpression; 3560 return pComparisonExpression;
3186 } 3561 }
@@ -3190,7 +3565,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3190 } 3565 }
3191 3566
3192 //enum AdditiveBinaryOperator returns BinaryOperator: 3567 //enum AdditiveBinaryOperator returns BinaryOperator:
3193 // ADD="+" | SUB="-"; 3568 // PLUS="+" | MINUS="-";
3194 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() { 3569 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() {
3195 return eAdditiveBinaryOperator; 3570 return eAdditiveBinaryOperator;
3196 } 3571 }
@@ -3210,7 +3585,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3210 } 3585 }
3211 3586
3212 //enum MultiplicativeBinaryOperator returns BinaryOperator: 3587 //enum MultiplicativeBinaryOperator returns BinaryOperator:
3213 // MUL="*" | DIV="/"; 3588 // MULTIPLY="*" | DIVIDE="/";
3214 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() { 3589 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() {
3215 return eMultiplicativeBinaryOperator; 3590 return eMultiplicativeBinaryOperator;
3216 } 3591 }
@@ -3250,7 +3625,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3250 } 3625 }
3251 3626
3252 //CastExpression Expression: 3627 //CastExpression Expression:
3253 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; 3628 // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?;
3254 public CastExpressionElements getCastExpressionAccess() { 3629 public CastExpressionElements getCastExpressionAccess() {
3255 return pCastExpression; 3630 return pCastExpression;
3256 } 3631 }
@@ -3259,18 +3634,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3259 return getCastExpressionAccess().getRule(); 3634 return getCastExpressionAccess().getRule();
3260 } 3635 }
3261 3636
3262 //enum UnaryOp: 3637 //enum UnaryOperator:
3263 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 3638 // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?";
3264 public UnaryOpElements getUnaryOpAccess() { 3639 public UnaryOperatorElements getUnaryOperatorAccess() {
3265 return eUnaryOp; 3640 return eUnaryOperator;
3266 } 3641 }
3267 3642
3268 public EnumRule getUnaryOpRule() { 3643 public EnumRule getUnaryOperatorRule() {
3269 return getUnaryOpAccess().getRule(); 3644 return getUnaryOperatorAccess().getRule();
3270 } 3645 }
3271 3646
3272 //UnaryExpression Expression: 3647 //UnaryExpression Expression:
3273 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 3648 // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression;
3274 public UnaryExpressionElements getUnaryExpressionAccess() { 3649 public UnaryExpressionElements getUnaryExpressionAccess() {
3275 return pUnaryExpression; 3650 return pUnaryExpression;
3276 } 3651 }
@@ -3279,48 +3654,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3279 return getUnaryExpressionAccess().getRule(); 3654 return getUnaryExpressionAccess().getRule();
3280 } 3655 }
3281 3656
3282 //AggregationExpression Expression: 3657 //BracedAggregateExpression Expression:
3283 // AtomicExpression | QuantifiedExpression | Aggregation; 3658 // AtomicExpression | Aggregation | Count;
3284 public AggregationExpressionElements getAggregationExpressionAccess() { 3659 public BracedAggregateExpressionElements getBracedAggregateExpressionAccess() {
3285 return pAggregationExpression; 3660 return pBracedAggregateExpression;
3286 }
3287
3288 public ParserRule getAggregationExpressionRule() {
3289 return getAggregationExpressionAccess().getRule();
3290 }
3291
3292 //LocalVariables:
3293 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
3294 public LocalVariablesElements getLocalVariablesAccess() {
3295 return pLocalVariables;
3296 }
3297
3298 public ParserRule getLocalVariablesRule() {
3299 return getLocalVariablesAccess().getRule();
3300 }
3301
3302 //enum Quantifier:
3303 // EXISTS="exists" | FORALL="forall" | COUNT="count";
3304 public QuantifierElements getQuantifierAccess() {
3305 return eQuantifier;
3306 } 3661 }
3307 3662
3308 public EnumRule getQuantifierRule() { 3663 public ParserRule getBracedAggregateExpressionRule() {
3309 return getQuantifierAccess().getRule(); 3664 return getBracedAggregateExpressionAccess().getRule();
3310 }
3311
3312 //QuantifiedExpression:
3313 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
3314 public QuantifiedExpressionElements getQuantifiedExpressionAccess() {
3315 return pQuantifiedExpression;
3316 }
3317
3318 public ParserRule getQuantifiedExpressionRule() {
3319 return getQuantifiedExpressionAccess().getRule();
3320 } 3665 }
3321 3666
3322 //Aggregation: 3667 //Aggregation:
3323 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; 3668 // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}";
3324 public AggregationElements getAggregationAccess() { 3669 public AggregationElements getAggregationAccess() {
3325 return pAggregation; 3670 return pAggregation;
3326 } 3671 }
@@ -3329,6 +3674,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3329 return getAggregationAccess().getRule(); 3674 return getAggregationAccess().getRule();
3330 } 3675 }
3331 3676
3677 //Count:
3678 // "count" "{" condition=Expression "}";
3679 public CountElements getCountAccess() {
3680 return pCount;
3681 }
3682
3683 public ParserRule getCountRule() {
3684 return getCountAccess().getRule();
3685 }
3686
3332 //AtomicExpression Expression: 3687 //AtomicExpression Expression:
3333 // Reference | Call | Interval | Literal | "(" Expression ")"; 3688 // Reference | Call | Interval | Literal | "(" Expression ")";
3334 public AtomicExpressionElements getAtomicExpressionAccess() { 3689 public AtomicExpressionElements getAtomicExpressionAccess() {
@@ -3340,8 +3695,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3340 } 3695 }
3341 3696
3342 //Call: 3697 //Call:
3343 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 3698 // functor=Reference argumentList=ArgumentList;
3344 // argumentList=ArgumentList;
3345 public CallElements getCallAccess() { 3699 public CallElements getCallAccess() {
3346 return pCall; 3700 return pCall;
3347 } 3701 }
@@ -3361,7 +3715,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3361 } 3715 }
3362 3716
3363 //Argument: 3717 //Argument:
3364 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; 3718 // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument;
3365 public ArgumentElements getArgumentAccess() { 3719 public ArgumentElements getArgumentAccess() {
3366 return pArgument; 3720 return pArgument;
3367 } 3721 }
@@ -3371,7 +3725,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3371 } 3725 }
3372 3726
3373 //ExpressionArgument: 3727 //ExpressionArgument:
3374 // body=ComparisonExpression; 3728 // expression=ComparisonExpression;
3375 public ExpressionArgumentElements getExpressionArgumentAccess() { 3729 public ExpressionArgumentElements getExpressionArgumentAccess() {
3376 return pExpressionArgument; 3730 return pExpressionArgument;
3377 } 3731 }
@@ -3390,18 +3744,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3390 return getStarArgumentAccess().getRule(); 3744 return getStarArgumentAccess().getRule();
3391 } 3745 }
3392 3746
3393 //TypedArgument: 3747 //TypedVariableArgument:
3394 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; 3748 // typeReference=TypeReference name=ID;
3395 public TypedArgumentElements getTypedArgumentAccess() { 3749 public TypedVariableArgumentElements getTypedVariableArgumentAccess() {
3396 return pTypedArgument; 3750 return pTypedVariableArgument;
3397 } 3751 }
3398 3752
3399 public ParserRule getTypedArgumentRule() { 3753 public ParserRule getTypedVariableArgumentRule() {
3400 return getTypedArgumentAccess().getRule(); 3754 return getTypedVariableArgumentAccess().getRule();
3401 } 3755 }
3402 3756
3403 //TypedStarArgument: 3757 //TypedStarArgument:
3404 // type=[NamedElement|QualifiedName] "*"; 3758 // typeReference=TypeReference "*";
3405 public TypedStarArgumentElements getTypedStarArgumentAccess() { 3759 public TypedStarArgumentElements getTypedStarArgumentAccess() {
3406 return pTypedStarArgument; 3760 return pTypedStarArgument;
3407 } 3761 }
@@ -3411,7 +3765,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3411 } 3765 }
3412 3766
3413 //Reference: 3767 //Reference:
3414 // referred=[NamedElement|QualifiedName]; 3768 // components+=PathComponent ("." components+=PathComponent)*;
3415 public ReferenceElements getReferenceAccess() { 3769 public ReferenceElements getReferenceAccess() {
3416 return pReference; 3770 return pReference;
3417 } 3771 }
@@ -3420,8 +3774,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3420 return getReferenceAccess().getRule(); 3774 return getReferenceAccess().getRule();
3421 } 3775 }
3422 3776
3777 //PathComponent:
3778 // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
3779 // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?;
3780 public PathComponentElements getPathComponentAccess() {
3781 return pPathComponent;
3782 }
3783
3784 public ParserRule getPathComponentRule() {
3785 return getPathComponentAccess().getRule();
3786 }
3787
3423 //Interval: 3788 //Interval:
3424 // "[" lowerBound=Expression ".." upperBound=Expression "]"; 3789 // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]";
3425 public IntervalElements getIntervalAccess() { 3790 public IntervalElements getIntervalAccess() {
3426 return pInterval; 3791 return pInterval;
3427 } 3792 }
@@ -3431,7 +3796,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3431 } 3796 }
3432 3797
3433 //Literal: 3798 //Literal:
3434 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; 3799 // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral;
3435 public LiteralElements getLiteralAccess() { 3800 public LiteralElements getLiteralAccess() {
3436 return pLiteral; 3801 return pLiteral;
3437 } 3802 }
@@ -3460,14 +3825,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3460 return getLogicLiteralAccess().getRule(); 3825 return getLogicLiteralAccess().getRule();
3461 } 3826 }
3462 3827
3463 //NumericLiteral: 3828 //IntLiteral:
3829 // value=INT;
3830 public IntLiteralElements getIntLiteralAccess() {
3831 return pIntLiteral;
3832 }
3833
3834 public ParserRule getIntLiteralRule() {
3835 return getIntLiteralAccess().getRule();
3836 }
3837
3838 //RealLiteral:
3464 // value=Real; 3839 // value=Real;
3465 public NumericLiteralElements getNumericLiteralAccess() { 3840 public RealLiteralElements getRealLiteralAccess() {
3466 return pNumericLiteral; 3841 return pRealLiteral;
3467 } 3842 }
3468 3843
3469 public ParserRule getNumericLiteralRule() { 3844 public ParserRule getRealLiteralRule() {
3470 return getNumericLiteralAccess().getRule(); 3845 return getRealLiteralAccess().getRule();
3471 } 3846 }
3472 3847
3473 //InfinityLiteral: 3848 //InfinityLiteral:
@@ -3480,14 +3855,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3480 return getInfinityLiteralAccess().getRule(); 3855 return getInfinityLiteralAccess().getRule();
3481 } 3856 }
3482 3857
3483 //EmptyIntervalLiteral: 3858 //EmptyLiteral:
3484 // {EmptyIntervalLiteral} "empty"; 3859 // {EmptyLiteral} "empty";
3485 public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() { 3860 public EmptyLiteralElements getEmptyLiteralAccess() {
3486 return pEmptyIntervalLiteral; 3861 return pEmptyLiteral;
3487 } 3862 }
3488 3863
3489 public ParserRule getEmptyIntervalLiteralRule() { 3864 public ParserRule getEmptyLiteralRule() {
3490 return getEmptyIntervalLiteralAccess().getRule(); 3865 return getEmptyLiteralAccess().getRule();
3491 } 3866 }
3492 3867
3493 //StringLiteral: 3868 //StringLiteral:
@@ -3500,31 +3875,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3500 return getStringLiteralAccess().getRule(); 3875 return getStringLiteralAccess().getRule();
3501 } 3876 }
3502 3877
3503 //ClassDefinition: 3878 //ClassDeclaration:
3504 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 3879 // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
3505 // superclasses+=[NamedElement|QualifiedName])*)? 3880 // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP);
3506 // "{" members+=MemberDefinition* "}"; 3881 public ClassDeclarationElements getClassDeclarationAccess() {
3507 public ClassDefinitionElements getClassDefinitionAccess() { 3882 return pClassDeclaration;
3508 return pClassDefinition;
3509 } 3883 }
3510 3884
3511 public ParserRule getClassDefinitionRule() { 3885 public ParserRule getClassDeclarationRule() {
3512 return getClassDefinitionAccess().getRule(); 3886 return getClassDeclarationAccess().getRule();
3513 } 3887 }
3514 3888
3515 //MemberDefinition: 3889 //Field:
3516 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 3890 // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity?
3517 // opposite=[NamedElement|QualifiedName])? ";"?; 3891 // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?;
3518 public MemberDefinitionElements getMemberDefinitionAccess() { 3892 public FieldElements getFieldAccess() {
3519 return pMemberDefinition; 3893 return pField;
3520 } 3894 }
3521 3895
3522 public ParserRule getMemberDefinitionRule() { 3896 public ParserRule getFieldRule() {
3523 return getMemberDefinitionAccess().getRule(); 3897 return getFieldAccess().getRule();
3524 } 3898 }
3525 3899
3526 //Multiplicity: 3900 //Multiplicity:
3527 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; 3901 // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity;
3528 public MultiplicityElements getMultiplicityAccess() { 3902 public MultiplicityElements getMultiplicityAccess() {
3529 return pMultiplicity; 3903 return pMultiplicity;
3530 } 3904 }
@@ -3533,18 +3907,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3533 return getMultiplicityAccess().getRule(); 3907 return getMultiplicityAccess().getRule();
3534 } 3908 }
3535 3909
3536 //ManyMultiplicity: 3910 //UnboundedMultiplicity:
3537 // {ManyMultiplicity} "[" "]"; 3911 // {UnboundedMultiplicity} "[" "]";
3538 public ManyMultiplicityElements getManyMultiplicityAccess() { 3912 public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() {
3539 return pManyMultiplicity; 3913 return pUnboundedMultiplicity;
3540 } 3914 }
3541 3915
3542 public ParserRule getManyMultiplicityRule() { 3916 public ParserRule getUnboundedMultiplicityRule() {
3543 return getManyMultiplicityAccess().getRule(); 3917 return getUnboundedMultiplicityAccess().getRule();
3544 } 3918 }
3545 3919
3546 //ExactMultiplicity: 3920 //ExactMultiplicity:
3547 // "[" multiplicity=UpperMultiplicty "]"; 3921 // "[" value=UpperMultiplicty "]";
3548 public ExactMultiplicityElements getExactMultiplicityAccess() { 3922 public ExactMultiplicityElements getExactMultiplicityAccess() {
3549 return pExactMultiplicity; 3923 return pExactMultiplicity;
3550 } 3924 }
@@ -3554,7 +3928,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3554 } 3928 }
3555 3929
3556 //BoundedMultiplicity: 3930 //BoundedMultiplicity:
3557 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; 3931 // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]";
3558 public BoundedMultiplicityElements getBoundedMultiplicityAccess() { 3932 public BoundedMultiplicityElements getBoundedMultiplicityAccess() {
3559 return pBoundedMultiplicity; 3933 return pBoundedMultiplicity;
3560 } 3934 }
@@ -3563,50 +3937,70 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3563 return getBoundedMultiplicityAccess().getRule(); 3937 return getBoundedMultiplicityAccess().getRule();
3564 } 3938 }
3565 3939
3566 //ScopeDefinition: 3940 //EnumDeclaration:
3567 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; 3941 // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP);
3568 public ScopeDefinitionElements getScopeDefinitionAccess() { 3942 public EnumDeclarationElements getEnumDeclarationAccess() {
3569 return pScopeDefinition; 3943 return pEnumDeclaration;
3570 } 3944 }
3571 3945
3572 public ParserRule getScopeDefinitionRule() { 3946 public ParserRule getEnumDeclarationRule() {
3573 return getScopeDefinitionAccess().getRule(); 3947 return getEnumDeclarationAccess().getRule();
3574 } 3948 }
3575 3949
3576 //ExactScopeDefinition: 3950 //EnumLiteral:
3577 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; 3951 // name=ID;
3578 public ExactScopeDefinitionElements getExactScopeDefinitionAccess() { 3952 public EnumLiteralElements getEnumLiteralAccess() {
3579 return pExactScopeDefinition; 3953 return pEnumLiteral;
3580 } 3954 }
3581 3955
3582 public ParserRule getExactScopeDefinitionRule() { 3956 public ParserRule getEnumLiteralRule() {
3583 return getExactScopeDefinitionAccess().getRule(); 3957 return getEnumLiteralAccess().getRule();
3584 } 3958 }
3585 3959
3586 //BoundedScopeDefinition: 3960 //ScopeDeclaration:
3587 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 3961 // ExactScope | BoundedScope | LowerBoundedScope;
3588 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); 3962 public ScopeDeclarationElements getScopeDeclarationAccess() {
3589 public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() { 3963 return pScopeDeclaration;
3590 return pBoundedScopeDefinition;
3591 } 3964 }
3592 3965
3593 public ParserRule getBoundedScopeDefinitionRule() { 3966 public ParserRule getScopeDeclarationRule() {
3594 return getBoundedScopeDefinitionAccess().getRule(); 3967 return getScopeDeclarationAccess().getRule();
3595 } 3968 }
3596 3969
3597 //LowerBoundedScopeDefinition: 3970 //ExactScope:
3598 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" 3971 // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP;
3599 // lowerBound=INT); 3972 public ExactScopeElements getExactScopeAccess() {
3600 public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() { 3973 return pExactScope;
3601 return pLowerBoundedScopeDefinition;
3602 } 3974 }
3603 3975
3604 public ParserRule getLowerBoundedScopeDefinitionRule() { 3976 public ParserRule getExactScopeRule() {
3605 return getLowerBoundedScopeDefinitionAccess().getRule(); 3977 return getExactScopeAccess().getRule();
3978 }
3979
3980 //BoundedScope:
3981 // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
3982 // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP;
3983 public BoundedScopeElements getBoundedScopeAccess() {
3984 return pBoundedScope;
3985 }
3986
3987 public ParserRule getBoundedScopeRule() {
3988 return getBoundedScopeAccess().getRule();
3989 }
3990
3991 //LowerBoundedScope:
3992 // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
3993 // FULL_STOP;
3994 public LowerBoundedScopeElements getLowerBoundedScopeAccess() {
3995 return pLowerBoundedScope;
3996 }
3997
3998 public ParserRule getLowerBoundedScopeRule() {
3999 return getLowerBoundedScopeAccess().getRule();
3606 } 4000 }
3607 4001
3608 //enum ObjectiveKind: 4002 //enum ObjectiveKind:
3609 // MINIMIZE="minimize" | MAXIMIZE="maximize"; 4003 // MINIMIZATION="minimize" | MAXIMIZATION="maximize";
3610 public ObjectiveKindElements getObjectiveKindAccess() { 4004 public ObjectiveKindElements getObjectiveKindAccess() {
3611 return eObjectiveKind; 4005 return eObjectiveKind;
3612 } 4006 }
@@ -3615,14 +4009,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3615 return getObjectiveKindAccess().getRule(); 4009 return getObjectiveKindAccess().getRule();
3616 } 4010 }
3617 4011
3618 //ObjectiveDefinition: 4012 //ObjectiveDeclaration:
3619 // kind=ObjectiveKind objective=Expression; 4013 // kind=ObjectiveKind objective=Expression FULL_STOP;
3620 public ObjectiveDefinitionElements getObjectiveDefinitionAccess() { 4014 public ObjectiveDeclarationElements getObjectiveDeclarationAccess() {
3621 return pObjectiveDefinition; 4015 return pObjectiveDeclaration;
3622 } 4016 }
3623 4017
3624 public ParserRule getObjectiveDefinitionRule() { 4018 public ParserRule getObjectiveDeclarationRule() {
3625 return getObjectiveDefinitionAccess().getRule(); 4019 return getObjectiveDeclarationAccess().getRule();
3626 } 4020 }
3627 4021
3628 //UpperMultiplicty ecore::EInt: 4022 //UpperMultiplicty ecore::EInt:
@@ -3636,7 +4030,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3636 } 4030 }
3637 4031
3638 //Real ecore::EBigDecimal hidden(): 4032 //Real ecore::EBigDecimal hidden():
3639 // INT ("." INT)?; 4033 // INT "." INT;
3640 public RealElements getRealAccess() { 4034 public RealElements getRealAccess() {
3641 return pReal; 4035 return pReal;
3642 } 4036 }
@@ -3645,8 +4039,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3645 return getRealAccess().getRule(); 4039 return getRealAccess().getRule();
3646 } 4040 }
3647 4041
4042 //QualifiedNameSegment:
4043 // ID | QUOTED_ID | "object";
4044 public QualifiedNameSegmentElements getQualifiedNameSegmentAccess() {
4045 return pQualifiedNameSegment;
4046 }
4047
4048 public ParserRule getQualifiedNameSegmentRule() {
4049 return getQualifiedNameSegmentAccess().getRule();
4050 }
4051
3648 //QualifiedName hidden(): 4052 //QualifiedName hidden():
3649 // ID ("." ID)* | QUOTED_ID; 4053 // QualifiedNameSegment ("::" QualifiedNameSegment)*;
3650 public QualifiedNameElements getQualifiedNameAccess() { 4054 public QualifiedNameElements getQualifiedNameAccess() {
3651 return pQualifiedName; 4055 return pQualifiedName;
3652 } 4056 }