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.java3977
1 files changed, 2645 insertions, 1332 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 e6a8f1d9..0252938a 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.services; 4package org.eclipse.viatra.solver.language.services;
5 5
@@ -9,6 +9,9 @@ import java.util.List;
9import org.eclipse.xtext.Action; 9import org.eclipse.xtext.Action;
10import org.eclipse.xtext.Alternatives; 10import org.eclipse.xtext.Alternatives;
11import org.eclipse.xtext.Assignment; 11import org.eclipse.xtext.Assignment;
12import org.eclipse.xtext.CrossReference;
13import org.eclipse.xtext.EnumLiteralDeclaration;
14import org.eclipse.xtext.EnumRule;
12import org.eclipse.xtext.Grammar; 15import org.eclipse.xtext.Grammar;
13import org.eclipse.xtext.GrammarUtil; 16import org.eclipse.xtext.GrammarUtil;
14import org.eclipse.xtext.Group; 17import org.eclipse.xtext.Group;
@@ -17,6 +20,7 @@ import org.eclipse.xtext.ParserRule;
17import org.eclipse.xtext.RuleCall; 20import org.eclipse.xtext.RuleCall;
18import org.eclipse.xtext.TerminalRule; 21import org.eclipse.xtext.TerminalRule;
19import org.eclipse.xtext.common.services.TerminalsGrammarAccess; 22import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
23import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder;
20import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; 24import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
21import org.eclipse.xtext.service.GrammarProvider; 25import org.eclipse.xtext.service.GrammarProvider;
22 26
@@ -40,624 +44,1340 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
40 } 44 }
41 public class StatementElements extends AbstractParserRuleElementFinder { 45 public class StatementElements extends AbstractParserRuleElementFinder {
42 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 46 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
43 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 47 private final Group cGroup = (Group)rule.eContents().get(1);
44 private final RuleCall cInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 48 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
45 private final RuleCall cPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 49 private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
53 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
54 private final RuleCall cMetricDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6);
56 private final RuleCall cClassDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7);
57 private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8);
58 private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9);
59 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
46 60
47 //Statement: 61 //Statement:
48 // Interpretation | Predicate; 62 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
63 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
64 // ObjectiveDefinition) FULL_STOP;
49 @Override public ParserRule getRule() { return rule; } 65 @Override public ParserRule getRule() { return rule; }
50 66
51 //Interpretation | Predicate 67 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
52 public Alternatives getAlternatives() { return cAlternatives; } 68 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
69 //ObjectiveDefinition) FULL_STOP
70 public Group getGroup() { return cGroup; }
71
72 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
73 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
74 //ObjectiveDefinition)
75 public Alternatives getAlternatives_0() { return cAlternatives_0; }
76
77 //AssertionOrDefinition
78 public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; }
79
80 //PredicateDefinition
81 public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; }
82
83 //UnnamedErrorPrediateDefinition
84 public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; }
85
86 //DefaultDefinition
87 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; }
88
89 //ExternPredicateDefinition
90 public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; }
91
92 //MetricDefinition
93 public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; }
53 94
54 //Interpretation 95 //ExternMetricDefinition
55 public RuleCall getInterpretationParserRuleCall_0() { return cInterpretationParserRuleCall_0; } 96 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; }
56 97
57 //Predicate 98 //ClassDefinition
58 public RuleCall getPredicateParserRuleCall_1() { return cPredicateParserRuleCall_1; } 99 public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; }
100
101 //ScopeDefinition
102 public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; }
103
104 //ObjectiveDefinition
105 public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; }
106
107 //FULL_STOP
108 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; }
59 } 109 }
60 public class REALLiteralElements extends AbstractParserRuleElementFinder { 110 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder {
61 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); 111 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition");
62 private final Group cGroup = (Group)rule.eContents().get(1); 112 private final Group cGroup = (Group)rule.eContents().get(1);
63 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); 113 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
64 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 114 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
65 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 115 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
66 private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); 116 private final Action cAssertionBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
117 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
118 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
119 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
120 private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0);
121 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
122 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
123 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
124 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
125 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
126 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
127 private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
128 private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1);
129 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
130 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
131
132 //AssertionOrDefinition Statement:
133 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
134 // body=Expression | {MetricDefinition.head=current} "=" body=Expression);
135 @Override public ParserRule getRule() { return rule; }
136
137 //Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
138 //{MetricDefinition.head=current} "=" body=Expression)
139 public Group getGroup() { return cGroup; }
140
141 //Expression
142 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
143
144 //({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
145 //{MetricDefinition.head=current} "=" body=Expression)
146 public Alternatives getAlternatives_1() { return cAlternatives_1; }
67 147
68 //REALLiteral ecore::EBigDecimal: 148 //{Assertion.body=current} (":" range=Expression)?
69 // '-'? INT '.' INT; 149 public Group getGroup_1_0() { return cGroup_1_0; }
150
151 //{Assertion.body=current}
152 public Action getAssertionBodyAction_1_0_0() { return cAssertionBodyAction_1_0_0; }
153
154 //(":" range=Expression)?
155 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
156
157 //":"
158 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; }
159
160 //range=Expression
161 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; }
162
163 //Expression
164 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; }
165
166 //{PredicateDefinition.head=current} ":-" body=Expression
167 public Group getGroup_1_1() { return cGroup_1_1; }
168
169 //{PredicateDefinition.head=current}
170 public Action getPredicateDefinitionHeadAction_1_1_0() { return cPredicateDefinitionHeadAction_1_1_0; }
171
172 //":-"
173 public Keyword getColonHyphenMinusKeyword_1_1_1() { return cColonHyphenMinusKeyword_1_1_1; }
174
175 //body=Expression
176 public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; }
177
178 //Expression
179 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; }
180
181 //{MetricDefinition.head=current} "=" body=Expression
182 public Group getGroup_1_2() { return cGroup_1_2; }
183
184 //{MetricDefinition.head=current}
185 public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; }
186
187 //"="
188 public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; }
189
190 //body=Expression
191 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; }
192
193 //Expression
194 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; }
195 }
196 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
197 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition");
198 private final Group cGroup = (Group)rule.eContents().get(1);
199 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
200 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
201 private final Assignment cFunctionalAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
202 private final Keyword cFunctionalFunctionalKeyword_0_0_0_0 = (Keyword)cFunctionalAssignment_0_0_0.eContents().get(0);
203 private final Assignment cErrorAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
204 private final Keyword cErrorErrorKeyword_0_0_1_0 = (Keyword)cErrorAssignment_0_0_1.eContents().get(0);
205 private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
206 private final Assignment cErrorAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
207 private final Keyword cErrorErrorKeyword_0_1_0_0 = (Keyword)cErrorAssignment_0_1_0.eContents().get(0);
208 private final Assignment cFunctionalAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
209 private final Keyword cFunctionalFunctionalKeyword_0_1_1_0 = (Keyword)cFunctionalAssignment_0_1_1.eContents().get(0);
210 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
211 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
212 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
213 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
214 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
215
216 //PredicateDefinition:
217 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
70 @Override public ParserRule getRule() { return rule; } 218 @Override public ParserRule getRule() { return rule; }
71 219
72 //'-'? INT '.' INT 220 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
73 public Group getGroup() { return cGroup; } 221 public Group getGroup() { return cGroup; }
74 222
75 //'-'? 223 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?)
76 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } 224 public Alternatives getAlternatives_0() { return cAlternatives_0; }
77 225
78 //INT 226 //functional?="functional" error?="error"?
79 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } 227 public Group getGroup_0_0() { return cGroup_0_0; }
80 228
81 //'.' 229 //functional?="functional"
82 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } 230 public Assignment getFunctionalAssignment_0_0_0() { return cFunctionalAssignment_0_0_0; }
83 231
84 //INT 232 //"functional"
85 public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; } 233 public Keyword getFunctionalFunctionalKeyword_0_0_0_0() { return cFunctionalFunctionalKeyword_0_0_0_0; }
234
235 //error?="error"?
236 public Assignment getErrorAssignment_0_0_1() { return cErrorAssignment_0_0_1; }
237
238 //"error"
239 public Keyword getErrorErrorKeyword_0_0_1_0() { return cErrorErrorKeyword_0_0_1_0; }
240
241 //error?="error" functional?="functional"?
242 public Group getGroup_0_1() { return cGroup_0_1; }
243
244 //error?="error"
245 public Assignment getErrorAssignment_0_1_0() { return cErrorAssignment_0_1_0; }
246
247 //"error"
248 public Keyword getErrorErrorKeyword_0_1_0_0() { return cErrorErrorKeyword_0_1_0_0; }
249
250 //functional?="functional"?
251 public Assignment getFunctionalAssignment_0_1_1() { return cFunctionalAssignment_0_1_1; }
252
253 //"functional"
254 public Keyword getFunctionalFunctionalKeyword_0_1_1_0() { return cFunctionalFunctionalKeyword_0_1_1_0; }
255
256 //head=Call
257 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
258
259 //Call
260 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
261
262 //":-"
263 public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; }
264
265 //body=Expression
266 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
267
268 //Expression
269 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
270 }
271 public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder {
272 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition");
273 private final Group cGroup = (Group)rule.eContents().get(1);
274 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0);
275 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
276 private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0);
277 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
278 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
279 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
280
281 //UnnamedErrorPrediateDefinition:
282 // "error" argumentList=ArgumentList ":-" body=Expression;
283 @Override public ParserRule getRule() { return rule; }
284
285 //"error" argumentList=ArgumentList ":-" body=Expression
286 public Group getGroup() { return cGroup; }
287
288 //"error"
289 public Keyword getErrorKeyword_0() { return cErrorKeyword_0; }
290
291 //argumentList=ArgumentList
292 public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; }
293
294 //ArgumentList
295 public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; }
296
297 //":-"
298 public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; }
299
300 //body=Expression
301 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
302
303 //Expression
304 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
86 } 305 }
87 public class INTLiteralElements extends AbstractParserRuleElementFinder { 306 public class DefaultDefinitionElements extends AbstractParserRuleElementFinder {
88 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); 307 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition");
89 private final Group cGroup = (Group)rule.eContents().get(1); 308 private final Group cGroup = (Group)rule.eContents().get(1);
90 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); 309 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
91 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 310 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
311 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
312 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
313 private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3);
314 private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0);
92 315
93 //INTLiteral ecore::EInt: 316 //DefaultDefinition:
94 // '-'? INT; 317 // "default" head=Call ":" range=Expression;
95 @Override public ParserRule getRule() { return rule; } 318 @Override public ParserRule getRule() { return rule; }
96 319
97 //'-'? INT 320 //"default" head=Call ":" range=Expression
98 public Group getGroup() { return cGroup; } 321 public Group getGroup() { return cGroup; }
99 322
100 //'-'? 323 //"default"
101 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } 324 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
102 325
103 //INT 326 //head=Call
104 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } 327 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
328
329 //Call
330 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
331
332 //":"
333 public Keyword getColonKeyword_2() { return cColonKeyword_2; }
334
335 //range=Expression
336 public Assignment getRangeAssignment_3() { return cRangeAssignment_3; }
337
338 //Expression
339 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; }
105 } 340 }
106 public class BooleanValueElements extends AbstractParserRuleElementFinder { 341 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
107 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); 342 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
108 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 343 private final Group cGroup = (Group)rule.eContents().get(1);
109 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 344 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
110 private final Action cBooleanTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); 345 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
111 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 346 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
112 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
113 private final Keyword cFalseKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
114 private final Action cBooleanFalseAction_1_1 = (Action)cGroup_1.eContents().get(1);
115 347
116 //BooleanValue: 348 //ExternPredicateDefinition:
117 // {BooleanTrue} 'true' | 'false' {BooleanFalse}; 349 // "extern" head=Call;
118 @Override public ParserRule getRule() { return rule; } 350 @Override public ParserRule getRule() { return rule; }
119 351
120 //{BooleanTrue} 'true' | 'false' {BooleanFalse} 352 //"extern" head=Call
121 public Alternatives getAlternatives() { return cAlternatives; } 353 public Group getGroup() { return cGroup; }
122 354
123 //{BooleanTrue} 'true' 355 //"extern"
124 public Group getGroup_0() { return cGroup_0; } 356 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
125 357
126 //{BooleanTrue} 358 //head=Call
127 public Action getBooleanTrueAction_0_0() { return cBooleanTrueAction_0_0; } 359 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
128 360
129 //'true' 361 //Call
130 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } 362 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
363 }
364 public class MetricDefinitionElements extends AbstractParserRuleElementFinder {
365 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition");
366 private final Group cGroup = (Group)rule.eContents().get(1);
367 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
368 private final RuleCall cTypeMetricTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
369 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
370 private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
371 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
372 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
373 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
374
375 //MetricDefinition:
376 // type=MetricType head=Expression "=" body=Expression;
377 @Override public ParserRule getRule() { return rule; }
131 378
132 //'false' {BooleanFalse} 379 //type=MetricType head=Expression "=" body=Expression
133 public Group getGroup_1() { return cGroup_1; } 380 public Group getGroup() { return cGroup; }
381
382 //type=MetricType
383 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
384
385 //MetricType
386 public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; }
387
388 //head=Expression
389 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
390
391 //Expression
392 public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; }
393
394 //"="
395 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
134 396
135 //'false' 397 //body=Expression
136 public Keyword getFalseKeyword_1_0() { return cFalseKeyword_1_0; } 398 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
137 399
138 //{BooleanFalse} 400 //Expression
139 public Action getBooleanFalseAction_1_1() { return cBooleanFalseAction_1_1; } 401 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
140 } 402 }
141 public class TruthValueElements extends AbstractParserRuleElementFinder { 403 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder {
142 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 404 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition");
405 private final Group cGroup = (Group)rule.eContents().get(1);
406 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
407 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
408 private final RuleCall cTypeMetricTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
409 private final Assignment cHeadAssignment_2 = (Assignment)cGroup.eContents().get(2);
410 private final RuleCall cHeadCallParserRuleCall_2_0 = (RuleCall)cHeadAssignment_2.eContents().get(0);
411
412 //ExternMetricDefinition:
413 // "extern" type=MetricType head=Call;
414 @Override public ParserRule getRule() { return rule; }
415
416 //"extern" type=MetricType head=Call
417 public Group getGroup() { return cGroup; }
418
419 //"extern"
420 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
421
422 //type=MetricType
423 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
424
425 //MetricType
426 public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; }
427
428 //head=Call
429 public Assignment getHeadAssignment_2() { return cHeadAssignment_2; }
430
431 //Call
432 public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; }
433 }
434 public class ExpressionElements extends AbstractParserRuleElementFinder {
435 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
143 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 436 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
144 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 437 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
145 private final Action cTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); 438 private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
146 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 439
147 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 440 //Expression:
148 private final Action cFalseAction_1_0 = (Action)cGroup_1.eContents().get(0); 441 // IfElse | DisjunctiveExpression;
149 private final Keyword cFalseKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
150 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
151 private final Action cUnknownAction_2_0 = (Action)cGroup_2.eContents().get(0);
152 private final Keyword cUnknownKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
153 private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
154 private final Action cErrorAction_3_0 = (Action)cGroup_3.eContents().get(0);
155 private final Keyword cErrorKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
156
157 //TruthValue:
158 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error';
159 @Override public ParserRule getRule() { return rule; } 442 @Override public ParserRule getRule() { return rule; }
160 443
161 //{True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error' 444 //IfElse | DisjunctiveExpression
162 public Alternatives getAlternatives() { return cAlternatives; } 445 public Alternatives getAlternatives() { return cAlternatives; }
163 446
164 //{True} 'true' 447 //IfElse
165 public Group getGroup_0() { return cGroup_0; } 448 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; }
166 449
167 //{True} 450 //DisjunctiveExpression
168 public Action getTrueAction_0_0() { return cTrueAction_0_0; } 451 public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; }
452 }
453 public class IfElseElements extends AbstractParserRuleElementFinder {
454 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse");
455 private final Group cGroup = (Group)rule.eContents().get(1);
456 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
457 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
458 private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
459 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
460 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3);
461 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0);
462 private final Keyword cElseKeyword_4 = (Keyword)cGroup.eContents().get(4);
463 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5);
464 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0);
465
466 //IfElse:
467 // "if" condition=Expression "then" then=Expression "else" else=Expression;
468 @Override public ParserRule getRule() { return rule; }
169 469
170 //'true' 470 //"if" condition=Expression "then" then=Expression "else" else=Expression
171 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } 471 public Group getGroup() { return cGroup; }
172 472
173 //{False} 'false' 473 //"if"
174 public Group getGroup_1() { return cGroup_1; } 474 public Keyword getIfKeyword_0() { return cIfKeyword_0; }
175 475
176 //{False} 476 //condition=Expression
177 public Action getFalseAction_1_0() { return cFalseAction_1_0; } 477 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
178 478
179 //'false' 479 //Expression
180 public Keyword getFalseKeyword_1_1() { return cFalseKeyword_1_1; } 480 public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; }
181 481
182 //{Unknown} 'unknown' 482 //"then"
183 public Group getGroup_2() { return cGroup_2; } 483 public Keyword getThenKeyword_2() { return cThenKeyword_2; }
184 484
185 //{Unknown} 485 //then=Expression
186 public Action getUnknownAction_2_0() { return cUnknownAction_2_0; } 486 public Assignment getThenAssignment_3() { return cThenAssignment_3; }
187 487
188 //'unknown' 488 //Expression
189 public Keyword getUnknownKeyword_2_1() { return cUnknownKeyword_2_1; } 489 public RuleCall getThenExpressionParserRuleCall_3_0() { return cThenExpressionParserRuleCall_3_0; }
190 490
191 //{Error} 'error' 491 //"else"
192 public Group getGroup_3() { return cGroup_3; } 492 public Keyword getElseKeyword_4() { return cElseKeyword_4; }
193 493
194 //{Error} 494 //else=Expression
195 public Action getErrorAction_3_0() { return cErrorAction_3_0; } 495 public Assignment getElseAssignment_5() { return cElseAssignment_5; }
196 496
197 //'error' 497 //Expression
198 public Keyword getErrorKeyword_3_1() { return cErrorKeyword_3_1; } 498 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
199 } 499 }
200 public class InterpretationElements extends AbstractParserRuleElementFinder { 500 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
201 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interpretation"); 501 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
202 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 502 private final Group cGroup = (Group)rule.eContents().get(1);
203 private final RuleCall cBasicInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 503 private final RuleCall cConjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
204 private final RuleCall cDefaultInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 504 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
205 private final RuleCall cCDInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 505 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
206 506 private final Action cDisjunctionChildrenAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
207 ///////////////////// 507 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
208 //// Core grammar 508 private final Keyword cSemicolonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
209 // /////////////////// 509 private final Assignment cChildrenAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
210 //Interpretation: 510 private final RuleCall cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cChildrenAssignment_1_0_1_1.eContents().get(0);
211 // BasicInterpretation | DefaultInterpretation | CDInterpretation; 511 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
512 private final Action cCaseConditionAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
513 private final Keyword cHyphenMinusGreaterThanSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
514 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
515 private final RuleCall cBodyConjunctiveExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
516 private final Action cSwitchCasesAction_1_1_3 = (Action)cGroup_1_1.eContents().get(3);
517 private final Group cGroup_1_1_4 = (Group)cGroup_1_1.eContents().get(4);
518 private final Keyword cSemicolonKeyword_1_1_4_0 = (Keyword)cGroup_1_1_4.eContents().get(0);
519 private final Assignment cCasesAssignment_1_1_4_1 = (Assignment)cGroup_1_1_4.eContents().get(1);
520 private final RuleCall cCasesCaseParserRuleCall_1_1_4_1_0 = (RuleCall)cCasesAssignment_1_1_4_1.eContents().get(0);
521
522 //DisjunctiveExpression Expression:
523 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
524 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
212 @Override public ParserRule getRule() { return rule; } 525 @Override public ParserRule getRule() { return rule; }
213 526
214 //BasicInterpretation | DefaultInterpretation | CDInterpretation 527 //ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current}
215 public Alternatives getAlternatives() { return cAlternatives; } 528 //"->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?
529 public Group getGroup() { return cGroup; }
216 530
217 //BasicInterpretation 531 //ConjunctiveExpression
218 public RuleCall getBasicInterpretationParserRuleCall_0() { return cBasicInterpretationParserRuleCall_0; } 532 public RuleCall getConjunctiveExpressionParserRuleCall_0() { return cConjunctiveExpressionParserRuleCall_0; }
533
534 //({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current} "->"
535 //body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?
536 public Alternatives getAlternatives_1() { return cAlternatives_1; }
537
538 //{Disjunction.children+=current} (";" children+=ConjunctiveExpression)+
539 public Group getGroup_1_0() { return cGroup_1_0; }
540
541 //{Disjunction.children+=current}
542 public Action getDisjunctionChildrenAction_1_0_0() { return cDisjunctionChildrenAction_1_0_0; }
543
544 //(";" children+=ConjunctiveExpression)+
545 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
546
547 //";"
548 public Keyword getSemicolonKeyword_1_0_1_0() { return cSemicolonKeyword_1_0_1_0; }
549
550 //children+=ConjunctiveExpression
551 public Assignment getChildrenAssignment_1_0_1_1() { return cChildrenAssignment_1_0_1_1; }
552
553 //ConjunctiveExpression
554 public RuleCall getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0() { return cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0; }
555
556 //{Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*
557 public Group getGroup_1_1() { return cGroup_1_1; }
219 558
220 //DefaultInterpretation 559 //{Case.condition=current}
221 public RuleCall getDefaultInterpretationParserRuleCall_1() { return cDefaultInterpretationParserRuleCall_1; } 560 public Action getCaseConditionAction_1_1_0() { return cCaseConditionAction_1_1_0; }
222 561
223 //CDInterpretation 562 //"->"
224 public RuleCall getCDInterpretationParserRuleCall_2() { return cCDInterpretationParserRuleCall_2; } 563 public Keyword getHyphenMinusGreaterThanSignKeyword_1_1_1() { return cHyphenMinusGreaterThanSignKeyword_1_1_1; }
564
565 //body=ConjunctiveExpression
566 public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; }
567
568 //ConjunctiveExpression
569 public RuleCall getBodyConjunctiveExpressionParserRuleCall_1_1_2_0() { return cBodyConjunctiveExpressionParserRuleCall_1_1_2_0; }
570
571 //{Switch.cases+=current}
572 public Action getSwitchCasesAction_1_1_3() { return cSwitchCasesAction_1_1_3; }
573
574 //(";" cases+=Case)*
575 public Group getGroup_1_1_4() { return cGroup_1_1_4; }
576
577 //";"
578 public Keyword getSemicolonKeyword_1_1_4_0() { return cSemicolonKeyword_1_1_4_0; }
579
580 //cases+=Case
581 public Assignment getCasesAssignment_1_1_4_1() { return cCasesAssignment_1_1_4_1; }
582
583 //Case
584 public RuleCall getCasesCaseParserRuleCall_1_1_4_1_0() { return cCasesCaseParserRuleCall_1_1_4_1_0; }
225 } 585 }
226 public class BasicInterpretationElements extends AbstractParserRuleElementFinder { 586 public class CaseElements extends AbstractParserRuleElementFinder {
227 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); 587 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Case");
228 private final Group cGroup = (Group)rule.eContents().get(1); 588 private final Group cGroup = (Group)rule.eContents().get(1);
229 private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0); 589 private final Assignment cConditionAssignment_0 = (Assignment)cGroup.eContents().get(0);
230 private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0); 590 private final RuleCall cConditionConjunctiveExpressionParserRuleCall_0_0 = (RuleCall)cConditionAssignment_0.eContents().get(0);
591 private final Keyword cHyphenMinusGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
592 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
593 private final RuleCall cBodyConjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
594
595 //Case:
596 // condition=ConjunctiveExpression "->" body=ConjunctiveExpression;
597 @Override public ParserRule getRule() { return rule; }
598
599 //condition=ConjunctiveExpression "->" body=ConjunctiveExpression
600 public Group getGroup() { return cGroup; }
601
602 //condition=ConjunctiveExpression
603 public Assignment getConditionAssignment_0() { return cConditionAssignment_0; }
604
605 //ConjunctiveExpression
606 public RuleCall getConditionConjunctiveExpressionParserRuleCall_0_0() { return cConditionConjunctiveExpressionParserRuleCall_0_0; }
607
608 //"->"
609 public Keyword getHyphenMinusGreaterThanSignKeyword_1() { return cHyphenMinusGreaterThanSignKeyword_1; }
610
611 //body=ConjunctiveExpression
612 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
613
614 //ConjunctiveExpression
615 public RuleCall getBodyConjunctiveExpressionParserRuleCall_2_0() { return cBodyConjunctiveExpressionParserRuleCall_2_0; }
616 }
617 public class ConjunctiveExpressionElements extends AbstractParserRuleElementFinder {
618 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
619 private final Group cGroup = (Group)rule.eContents().get(1);
620 private final RuleCall cComparisonExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
231 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 621 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
232 private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); 622 private final Action cConjunctionChildrenAction_1_0 = (Action)cGroup_1.eContents().get(0);
233 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); 623 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
234 private final Assignment cObjectsAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); 624 private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
235 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_0_0 = (RuleCall)cObjectsAssignment_1_1_0.eContents().get(0); 625 private final Assignment cChildrenAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
236 private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1); 626 private final RuleCall cChildrenComparisonExpressionParserRuleCall_1_1_1_0 = (RuleCall)cChildrenAssignment_1_1_1.eContents().get(0);
237 private final Keyword cCommaKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0);
238 private final Assignment cObjectsAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1);
239 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_1_1_0 = (RuleCall)cObjectsAssignment_1_1_1_1.eContents().get(0);
240 private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
241 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
242 private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
243 private final RuleCall cValueTruthValueParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
244 627
245 //BasicInterpretation: 628 //ConjunctiveExpression Expression:
246 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; 629 // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
247 @Override public ParserRule getRule() { return rule; } 630 @Override public ParserRule getRule() { return rule; }
248 631
249 //symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue 632 //ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?
250 public Group getGroup() { return cGroup; } 633 public Group getGroup() { return cGroup; }
251 634
252 //symbol=Symbol 635 //ComparisonExpression
253 public Assignment getSymbolAssignment_0() { return cSymbolAssignment_0; } 636 public RuleCall getComparisonExpressionParserRuleCall_0() { return cComparisonExpressionParserRuleCall_0; }
254
255 //Symbol
256 public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; }
257 637
258 //('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? 638 //({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?
259 public Group getGroup_1() { return cGroup_1; } 639 public Group getGroup_1() { return cGroup_1; }
260 640
261 //'(' 641 //{Conjunction.children+=current}
262 public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } 642 public Action getConjunctionChildrenAction_1_0() { return cConjunctionChildrenAction_1_0; }
263 643
264 //(objects+=ComplexObject (',' objects+=ComplexObject)*)? 644 //("," children+=ComparisonExpression)+
265 public Group getGroup_1_1() { return cGroup_1_1; } 645 public Group getGroup_1_1() { return cGroup_1_1; }
266 646
267 //objects+=ComplexObject 647 //","
268 public Assignment getObjectsAssignment_1_1_0() { return cObjectsAssignment_1_1_0; } 648 public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; }
269 649
270 //ComplexObject 650 //children+=ComparisonExpression
271 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_0_0() { return cObjectsComplexObjectParserRuleCall_1_1_0_0; } 651 public Assignment getChildrenAssignment_1_1_1() { return cChildrenAssignment_1_1_1; }
272 652
273 //(',' objects+=ComplexObject)* 653 //ComparisonExpression
274 public Group getGroup_1_1_1() { return cGroup_1_1_1; } 654 public RuleCall getChildrenComparisonExpressionParserRuleCall_1_1_1_0() { return cChildrenComparisonExpressionParserRuleCall_1_1_1_0; }
655 }
656 public class ComparisonExpressionElements extends AbstractParserRuleElementFinder {
657 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
658 private final Group cGroup = (Group)rule.eContents().get(1);
659 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
660 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
661 private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
662 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
663 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
664 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
665 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
666
667 //ComparisonExpression Expression:
668 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?;
669 @Override public ParserRule getRule() { return rule; }
275 670
276 //',' 671 //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?
277 public Keyword getCommaKeyword_1_1_1_0() { return cCommaKeyword_1_1_1_0; } 672 public Group getGroup() { return cGroup; }
278 673
279 //objects+=ComplexObject 674 //AdditiveExpression
280 public Assignment getObjectsAssignment_1_1_1_1() { return cObjectsAssignment_1_1_1_1; } 675 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; }
281 676
282 //ComplexObject 677 //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?
283 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_1_1_0() { return cObjectsComplexObjectParserRuleCall_1_1_1_1_0; } 678 public Group getGroup_1() { return cGroup_1; }
284 679
285 //')' 680 //{Comparison.left=current}
286 public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } 681 public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; }
287 682
288 //':' 683 //op=ComparisonOperator
289 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 684 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
290 685
291 //value=TruthValue 686 //ComparisonOperator
292 public Assignment getValueAssignment_3() { return cValueAssignment_3; } 687 public RuleCall getOpComparisonOperatorEnumRuleCall_1_1_0() { return cOpComparisonOperatorEnumRuleCall_1_1_0; }
293 688
294 //TruthValue 689 //right=AdditiveExpression
295 public RuleCall getValueTruthValueParserRuleCall_3_0() { return cValueTruthValueParserRuleCall_3_0; } 690 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
691
692 //AdditiveExpression
693 public RuleCall getRightAdditiveExpressionParserRuleCall_1_2_0() { return cRightAdditiveExpressionParserRuleCall_1_2_0; }
296 } 694 }
297 public class SymbolElements extends AbstractParserRuleElementFinder { 695 public class AdditiveExpressionElements extends AbstractParserRuleElementFinder {
298 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 696 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
299 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 697 private final Group cGroup = (Group)rule.eContents().get(1);
300 private final RuleCall cModelSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 698 private final RuleCall cMultiplicativeExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
301 private final RuleCall cPartialitySymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 699 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
302 private final RuleCall cDataSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 700 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
701 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
702 private final RuleCall cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
703 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
704 private final RuleCall cRightMultiplicativeExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
705
706 //AdditiveExpression Expression:
707 // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
708 @Override public ParserRule getRule() { return rule; }
303 709
304 //Symbol: 710 //MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*
305 // ModelSymbol | PartialitySymbol | DataSymbol; 711 public Group getGroup() { return cGroup; }
712
713 //MultiplicativeExpression
714 public RuleCall getMultiplicativeExpressionParserRuleCall_0() { return cMultiplicativeExpressionParserRuleCall_0; }
715
716 //({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*
717 public Group getGroup_1() { return cGroup_1; }
718
719 //{BinaryExpression.left=current}
720 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
721
722 //op=AdditiveBinaryOperator
723 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
724
725 //AdditiveBinaryOperator
726 public RuleCall getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0() { return cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0; }
727
728 //right=MultiplicativeExpression
729 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
730
731 //MultiplicativeExpression
732 public RuleCall getRightMultiplicativeExpressionParserRuleCall_1_2_0() { return cRightMultiplicativeExpressionParserRuleCall_1_2_0; }
733 }
734 public class MultiplicativeExpressionElements extends AbstractParserRuleElementFinder {
735 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression");
736 private final Group cGroup = (Group)rule.eContents().get(1);
737 private final RuleCall cExponentialExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
738 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
739 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
740 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
741 private final RuleCall cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
742 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
743 private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
744
745 //MultiplicativeExpression Expression:
746 // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
306 @Override public ParserRule getRule() { return rule; } 747 @Override public ParserRule getRule() { return rule; }
307 748
308 //ModelSymbol | PartialitySymbol | DataSymbol 749 //ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*
309 public Alternatives getAlternatives() { return cAlternatives; } 750 public Group getGroup() { return cGroup; }
751
752 //ExponentialExpression
753 public RuleCall getExponentialExpressionParserRuleCall_0() { return cExponentialExpressionParserRuleCall_0; }
310 754
311 //ModelSymbol 755 //({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*
312 public RuleCall getModelSymbolParserRuleCall_0() { return cModelSymbolParserRuleCall_0; } 756 public Group getGroup_1() { return cGroup_1; }
313 757
314 //PartialitySymbol 758 //{BinaryExpression.left=current}
315 public RuleCall getPartialitySymbolParserRuleCall_1() { return cPartialitySymbolParserRuleCall_1; } 759 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
316 760
317 //DataSymbol 761 //op=MultiplicativeBinaryOperator
318 public RuleCall getDataSymbolParserRuleCall_2() { return cDataSymbolParserRuleCall_2; } 762 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
763
764 //MultiplicativeBinaryOperator
765 public RuleCall getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0() { return cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0; }
766
767 //right=ExponentialExpression
768 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
769
770 //ExponentialExpression
771 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; }
319 } 772 }
320 public class ModelSymbolElements extends AbstractParserRuleElementFinder { 773 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder {
321 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
322 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); 775 private final Group cGroup = (Group)rule.eContents().get(1);
323 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); 776 private final RuleCall cUnaryExpressionParserRuleCall_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 cOpExponentialOpEnumRuleCall_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 cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783
784 //ExponentialExpression Expression:
785 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?;
786 @Override public ParserRule getRule() { return rule; }
787
788 //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?
789 public Group getGroup() { return cGroup; }
790
791 //UnaryExpression
792 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
793
794 //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?
795 public Group getGroup_1() { return cGroup_1; }
796
797 //{BinaryExpression.left=current}
798 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
799
800 //op=ExponentialOp
801 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
802
803 //ExponentialOp
804 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; }
324 805
325 //ModelSymbol: 806 //right=ExponentialExpression
326 // name=ID; 807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
808
809 //ExponentialExpression
810 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; }
811 }
812 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
814 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
815 private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
816 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
817 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0);
818 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
819 private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
820 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
821 private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0);
822
823 //UnaryExpression Expression:
824 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
327 @Override public ParserRule getRule() { return rule; } 825 @Override public ParserRule getRule() { return rule; }
328 826
329 //name=ID 827 //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression
330 public Assignment getNameAssignment() { return cNameAssignment; } 828 public Alternatives getAlternatives() { return cAlternatives; }
331 829
332 //ID 830 //AggregationExpression
333 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 831 public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; }
832
833 //{UnaryExpression} op=UnaryOp body=AggregationExpression
834 public Group getGroup_1() { return cGroup_1; }
835
836 //{UnaryExpression}
837 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; }
838
839 //op=UnaryOp
840 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
841
842 //UnaryOp
843 public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; }
844
845 //body=AggregationExpression
846 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; }
847
848 //AggregationExpression
849 public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; }
334 } 850 }
335 public class PartialitySymbolElements extends AbstractParserRuleElementFinder { 851 public class AggregationExpressionElements extends AbstractParserRuleElementFinder {
336 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PartialitySymbol"); 852 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
337 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 853 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
338 private final RuleCall cExistSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 854 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
339 private final RuleCall cEqualsSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 855 private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
856 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
340 857
341 //PartialitySymbol: 858 //AggregationExpression Expression:
342 // ExistSymbol | EqualsSymbol; 859 // AtomicExpression | Count | Aggregation;
343 @Override public ParserRule getRule() { return rule; } 860 @Override public ParserRule getRule() { return rule; }
344 861
345 //ExistSymbol | EqualsSymbol 862 //AtomicExpression | Count | Aggregation
346 public Alternatives getAlternatives() { return cAlternatives; } 863 public Alternatives getAlternatives() { return cAlternatives; }
347 864
348 //ExistSymbol 865 //AtomicExpression
349 public RuleCall getExistSymbolParserRuleCall_0() { return cExistSymbolParserRuleCall_0; } 866 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
867
868 //Count
869 public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; }
350 870
351 //EqualsSymbol 871 //Aggregation
352 public RuleCall getEqualsSymbolParserRuleCall_1() { return cEqualsSymbolParserRuleCall_1; } 872 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; }
353 } 873 }
354 public class ExistSymbolElements extends AbstractParserRuleElementFinder { 874 public class CountElements extends AbstractParserRuleElementFinder {
355 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExistSymbol"); 875 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count");
356 private final Group cGroup = (Group)rule.eContents().get(1); 876 private final Group cGroup = (Group)rule.eContents().get(1);
357 private final Keyword cExistsKeyword_0 = (Keyword)cGroup.eContents().get(0); 877 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0);
358 private final Action cExistSymbolAction_1 = (Action)cGroup.eContents().get(1); 878 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
359 879 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
360 //ExistSymbol: 880 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
361 // 'exists' {ExistSymbol}; 881 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
882
883 //Count:
884 // "count" "{" body=Expression "}";
362 @Override public ParserRule getRule() { return rule; } 885 @Override public ParserRule getRule() { return rule; }
363 886
364 //'exists' {ExistSymbol} 887 //"count" "{" body=Expression "}"
365 public Group getGroup() { return cGroup; } 888 public Group getGroup() { return cGroup; }
366 889
367 //'exists' 890 //"count"
368 public Keyword getExistsKeyword_0() { return cExistsKeyword_0; } 891 public Keyword getCountKeyword_0() { return cCountKeyword_0; }
892
893 //"{"
894 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
895
896 //body=Expression
897 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
369 898
370 //{ExistSymbol} 899 //Expression
371 public Action getExistSymbolAction_1() { return cExistSymbolAction_1; } 900 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; }
901
902 //"}"
903 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
372 } 904 }
373 public class EqualsSymbolElements extends AbstractParserRuleElementFinder { 905 public class AggregationElements extends AbstractParserRuleElementFinder {
374 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EqualsSymbol"); 906 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
375 private final Group cGroup = (Group)rule.eContents().get(1); 907 private final Group cGroup = (Group)rule.eContents().get(1);
376 private final Keyword cEqualsKeyword_0 = (Keyword)cGroup.eContents().get(0); 908 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
377 private final Action cEqualsSymbolAction_1 = (Action)cGroup.eContents().get(1); 909 private final RuleCall cOpAggregationOpEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
378 910 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
379 //EqualsSymbol: 911 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
380 // 'equals' {EqualsSymbol}; 912 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
913 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3);
914 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4);
915 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0);
916 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
917
918 //Aggregation:
919 // op=AggregationOp "{" body=Expression "|" condition=Expression "}";
381 @Override public ParserRule getRule() { return rule; } 920 @Override public ParserRule getRule() { return rule; }
382 921
383 //'equals' {EqualsSymbol} 922 //op=AggregationOp "{" body=Expression "|" condition=Expression "}"
384 public Group getGroup() { return cGroup; } 923 public Group getGroup() { return cGroup; }
385 924
386 //'equals' 925 //op=AggregationOp
387 public Keyword getEqualsKeyword_0() { return cEqualsKeyword_0; } 926 public Assignment getOpAssignment_0() { return cOpAssignment_0; }
388 927
389 //{EqualsSymbol} 928 //AggregationOp
390 public Action getEqualsSymbolAction_1() { return cEqualsSymbolAction_1; } 929 public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; }
930
931 //"{"
932 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
933
934 //body=Expression
935 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
936
937 //Expression
938 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; }
939
940 //"|"
941 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; }
942
943 //condition=Expression
944 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; }
945
946 //Expression
947 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; }
948
949 //"}"
950 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
391 } 951 }
392 public class DataSymbolElements extends AbstractParserRuleElementFinder { 952 public class AtomicExpressionElements extends AbstractParserRuleElementFinder {
393 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataSymbol"); 953 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression");
394 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 954 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
395 private final RuleCall cBooleanSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 955 private final RuleCall cReferenceParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
396 private final RuleCall cIntegerSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 956 private final RuleCall cCallParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
397 private final RuleCall cRealSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 957 private final RuleCall cIntervalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
398 private final RuleCall cStringSymbolParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 958 private final RuleCall cLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
399 959 private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4);
400 //DataSymbol: 960 private final Keyword cLeftParenthesisKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
401 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; 961 private final RuleCall cExpressionParserRuleCall_4_1 = (RuleCall)cGroup_4.eContents().get(1);
962 private final Keyword cRightParenthesisKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
963
964 //AtomicExpression Expression:
965 // Reference | Call | Interval | Literal | "(" Expression ")";
402 @Override public ParserRule getRule() { return rule; } 966 @Override public ParserRule getRule() { return rule; }
403 967
404 //BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol 968 //Reference | Call | Interval | Literal | "(" Expression ")"
405 public Alternatives getAlternatives() { return cAlternatives; } 969 public Alternatives getAlternatives() { return cAlternatives; }
406 970
407 //BooleanSymbol 971 //Reference
408 public RuleCall getBooleanSymbolParserRuleCall_0() { return cBooleanSymbolParserRuleCall_0; } 972 public RuleCall getReferenceParserRuleCall_0() { return cReferenceParserRuleCall_0; }
973
974 //Call
975 public RuleCall getCallParserRuleCall_1() { return cCallParserRuleCall_1; }
409 976
410 //IntegerSymbol 977 //Interval
411 public RuleCall getIntegerSymbolParserRuleCall_1() { return cIntegerSymbolParserRuleCall_1; } 978 public RuleCall getIntervalParserRuleCall_2() { return cIntervalParserRuleCall_2; }
979
980 //Literal
981 public RuleCall getLiteralParserRuleCall_3() { return cLiteralParserRuleCall_3; }
412 982
413 //RealSymbol 983 //"(" Expression ")"
414 public RuleCall getRealSymbolParserRuleCall_2() { return cRealSymbolParserRuleCall_2; } 984 public Group getGroup_4() { return cGroup_4; }
415 985
416 //StringSymbol 986 //"("
417 public RuleCall getStringSymbolParserRuleCall_3() { return cStringSymbolParserRuleCall_3; } 987 public Keyword getLeftParenthesisKeyword_4_0() { return cLeftParenthesisKeyword_4_0; }
988
989 //Expression
990 public RuleCall getExpressionParserRuleCall_4_1() { return cExpressionParserRuleCall_4_1; }
991
992 //")"
993 public Keyword getRightParenthesisKeyword_4_2() { return cRightParenthesisKeyword_4_2; }
418 } 994 }
419 public class BooleanSymbolElements extends AbstractParserRuleElementFinder { 995 public class CallElements extends AbstractParserRuleElementFinder {
420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanSymbol"); 996 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Call");
421 private final Group cGroup = (Group)rule.eContents().get(1); 997 private final Group cGroup = (Group)rule.eContents().get(1);
422 private final Keyword cBoolKeyword_0 = (Keyword)cGroup.eContents().get(0); 998 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0);
423 private final Action cBooleanSymbolAction_1 = (Action)cGroup.eContents().get(1); 999 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0);
424 1000 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
425 //BooleanSymbol: 1001 private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
426 // 'bool' {BooleanSymbol}; 1002 private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0);
1003 private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
1004 private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0);
1005 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
1006 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
1007
1008 //Call:
1009 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1010 // argumentList=ArgumentList;
427 @Override public ParserRule getRule() { return rule; } 1011 @Override public ParserRule getRule() { return rule; }
428 1012
429 //'bool' {BooleanSymbol} 1013 //functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1014 //argumentList=ArgumentList
430 public Group getGroup() { return cGroup; } 1015 public Group getGroup() { return cGroup; }
431 1016
432 //'bool' 1017 //functor=Reference
433 public Keyword getBoolKeyword_0() { return cBoolKeyword_0; } 1018 public Assignment getFunctorAssignment_0() { return cFunctorAssignment_0; }
1019
1020 //Reference
1021 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; }
1022
1023 //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1024 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1025
1026 //transitiveClosure?=TRANSITIVE_CLOSURE
1027 public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; }
1028
1029 //TRANSITIVE_CLOSURE
1030 public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0; }
1031
1032 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE
1033 public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; }
434 1034
435 //{BooleanSymbol} 1035 //REFLEXIVE_TRANSITIVE_CLOSURE
436 public Action getBooleanSymbolAction_1() { return cBooleanSymbolAction_1; } 1036 public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0; }
1037
1038 //argumentList=ArgumentList
1039 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; }
1040
1041 //ArgumentList
1042 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; }
437 } 1043 }
438 public class IntegerSymbolElements extends AbstractParserRuleElementFinder { 1044 public class ArgumentListElements extends AbstractParserRuleElementFinder {
439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntegerSymbol"); 1045 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
440 private final Group cGroup = (Group)rule.eContents().get(1); 1046 private final Group cGroup = (Group)rule.eContents().get(1);
441 private final Keyword cIntKeyword_0 = (Keyword)cGroup.eContents().get(0); 1047 private final Action cArgumentListAction_0 = (Action)cGroup.eContents().get(0);
442 private final Action cIntegerSymbolAction_1 = (Action)cGroup.eContents().get(1); 1048 private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
1049 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
1050 private final Assignment cArgumentsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
1051 private final RuleCall cArgumentsArgumentParserRuleCall_2_0_0 = (RuleCall)cArgumentsAssignment_2_0.eContents().get(0);
1052 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
1053 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
1054 private final Assignment cArgumentsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
1055 private final RuleCall cArgumentsArgumentParserRuleCall_2_1_1_0 = (RuleCall)cArgumentsAssignment_2_1_1.eContents().get(0);
1056 private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
443 1057
444 //IntegerSymbol: 1058 //ArgumentList:
445 // 'int' {IntegerSymbol}; 1059 // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
446 @Override public ParserRule getRule() { return rule; } 1060 @Override public ParserRule getRule() { return rule; }
447 1061
448 //'int' {IntegerSymbol} 1062 //{ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"
449 public Group getGroup() { return cGroup; } 1063 public Group getGroup() { return cGroup; }
450 1064
451 //'int' 1065 //{ArgumentList}
452 public Keyword getIntKeyword_0() { return cIntKeyword_0; } 1066 public Action getArgumentListAction_0() { return cArgumentListAction_0; }
1067
1068 //"("
1069 public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
1070
1071 //(arguments+=Argument ("," arguments+=Argument)*)?
1072 public Group getGroup_2() { return cGroup_2; }
1073
1074 //arguments+=Argument
1075 public Assignment getArgumentsAssignment_2_0() { return cArgumentsAssignment_2_0; }
1076
1077 //Argument
1078 public RuleCall getArgumentsArgumentParserRuleCall_2_0_0() { return cArgumentsArgumentParserRuleCall_2_0_0; }
1079
1080 //("," arguments+=Argument)*
1081 public Group getGroup_2_1() { return cGroup_2_1; }
1082
1083 //","
1084 public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
1085
1086 //arguments+=Argument
1087 public Assignment getArgumentsAssignment_2_1_1() { return cArgumentsAssignment_2_1_1; }
1088
1089 //Argument
1090 public RuleCall getArgumentsArgumentParserRuleCall_2_1_1_0() { return cArgumentsArgumentParserRuleCall_2_1_1_0; }
1091
1092 //")"
1093 public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
1094 }
1095 public class ArgumentElements extends AbstractParserRuleElementFinder {
1096 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
1097 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1098 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1099 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1100 private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1101 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1102
1103 //Argument:
1104 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument;
1105 @Override public ParserRule getRule() { return rule; }
1106
1107 //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument
1108 public Alternatives getAlternatives() { return cAlternatives; }
1109
1110 //ExpressionArgument
1111 public RuleCall getExpressionArgumentParserRuleCall_0() { return cExpressionArgumentParserRuleCall_0; }
1112
1113 //StarArgument
1114 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; }
453 1115
454 //{IntegerSymbol} 1116 //TypedArgument
455 public Action getIntegerSymbolAction_1() { return cIntegerSymbolAction_1; } 1117 public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; }
1118
1119 //TypedStarArgument
1120 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; }
456 } 1121 }
457 public class RealSymbolElements extends AbstractParserRuleElementFinder { 1122 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder {
458 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealSymbol"); 1123 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument");
1124 private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1);
1125 private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0);
1126
1127 //ExpressionArgument:
1128 // body=ComparisonExpression;
1129 @Override public ParserRule getRule() { return rule; }
1130
1131 //body=ComparisonExpression
1132 public Assignment getBodyAssignment() { return cBodyAssignment; }
1133
1134 //ComparisonExpression
1135 public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; }
1136 }
1137 public class StarArgumentElements extends AbstractParserRuleElementFinder {
1138 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument");
459 private final Group cGroup = (Group)rule.eContents().get(1); 1139 private final Group cGroup = (Group)rule.eContents().get(1);
460 private final Keyword cRealKeyword_0 = (Keyword)cGroup.eContents().get(0); 1140 private final Action cStarArgumentAction_0 = (Action)cGroup.eContents().get(0);
461 private final Action cRealSymbolAction_1 = (Action)cGroup.eContents().get(1); 1141 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
462 1142
463 //RealSymbol: 1143 //StarArgument:
464 // 'real' {RealSymbol}; 1144 // {StarArgument} "*";
465 @Override public ParserRule getRule() { return rule; } 1145 @Override public ParserRule getRule() { return rule; }
466 1146
467 //'real' {RealSymbol} 1147 //{StarArgument} "*"
468 public Group getGroup() { return cGroup; } 1148 public Group getGroup() { return cGroup; }
469 1149
470 //'real' 1150 //{StarArgument}
471 public Keyword getRealKeyword_0() { return cRealKeyword_0; } 1151 public Action getStarArgumentAction_0() { return cStarArgumentAction_0; }
472 1152
473 //{RealSymbol} 1153 //"*"
474 public Action getRealSymbolAction_1() { return cRealSymbolAction_1; } 1154 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
475 } 1155 }
476 public class StringSymbolElements extends AbstractParserRuleElementFinder { 1156 public class TypedArgumentElements extends AbstractParserRuleElementFinder {
477 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringSymbol"); 1157 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument");
478 private final Group cGroup = (Group)rule.eContents().get(1); 1158 private final Group cGroup = (Group)rule.eContents().get(1);
479 private final Keyword cStringKeyword_0 = (Keyword)cGroup.eContents().get(0); 1159 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
480 private final Action cStringSymbolAction_1 = (Action)cGroup.eContents().get(1); 1160 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
481 1161 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
482 //StringSymbol: 1162 private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1);
483 // 'string' {StringSymbol}; 1163 private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0);
1164 private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1);
1165
1166 //TypedArgument:
1167 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName];
484 @Override public ParserRule getRule() { return rule; } 1168 @Override public ParserRule getRule() { return rule; }
485 1169
486 //'string' {StringSymbol} 1170 //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]
487 public Group getGroup() { return cGroup; } 1171 public Group getGroup() { return cGroup; }
488 1172
489 //'string' 1173 //type=[NamedElement|QualifiedName]
490 public Keyword getStringKeyword_0() { return cStringKeyword_0; } 1174 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
1175
1176 //[NamedElement|QualifiedName]
1177 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
1178
1179 //QualifiedName
1180 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
1181
1182 //variable=[NamedElement|QualifiedName]
1183 public Assignment getVariableAssignment_1() { return cVariableAssignment_1; }
1184
1185 //[NamedElement|QualifiedName]
1186 public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; }
491 1187
492 //{StringSymbol} 1188 //QualifiedName
493 public Action getStringSymbolAction_1() { return cStringSymbolAction_1; } 1189 public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; }
494 } 1190 }
495 public class ComplexObjectElements extends AbstractParserRuleElementFinder { 1191 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder {
496 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); 1192 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument");
497 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1193 private final Group cGroup = (Group)rule.eContents().get(1);
498 private final RuleCall cObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1194 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
499 private final RuleCall cAllInstancesParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1195 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
500 private final RuleCall cAllObjectsParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1196 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
1197 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
501 1198
502 //ComplexObject: 1199 //TypedStarArgument:
503 // Object | AllInstances | AllObjects; 1200 // type=[NamedElement|QualifiedName] "*";
504 @Override public ParserRule getRule() { return rule; } 1201 @Override public ParserRule getRule() { return rule; }
505 1202
506 //Object | AllInstances | AllObjects 1203 //type=[NamedElement|QualifiedName] "*"
507 public Alternatives getAlternatives() { return cAlternatives; } 1204 public Group getGroup() { return cGroup; }
508 1205
509 //Object 1206 //type=[NamedElement|QualifiedName]
510 public RuleCall getObjectParserRuleCall_0() { return cObjectParserRuleCall_0; } 1207 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
511 1208
512 //AllInstances 1209 //[NamedElement|QualifiedName]
513 public RuleCall getAllInstancesParserRuleCall_1() { return cAllInstancesParserRuleCall_1; } 1210 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
514 1211
515 //AllObjects 1212 //QualifiedName
516 public RuleCall getAllObjectsParserRuleCall_2() { return cAllObjectsParserRuleCall_2; } 1213 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
1214
1215 //"*"
1216 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
517 } 1217 }
518 public class ObjectElements extends AbstractParserRuleElementFinder { 1218 public class ReferenceElements extends AbstractParserRuleElementFinder {
519 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Object"); 1219 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
520 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1220 private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1);
521 private final RuleCall cNamedObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1221 private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0);
522 private final RuleCall cUnnamedObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1222 private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1);
523 private final RuleCall cDataObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
524 1223
525 //Object: 1224 //Reference:
526 // NamedObject | UnnamedObject | DataObject; 1225 // referred=[NamedElement|QualifiedName];
527 @Override public ParserRule getRule() { return rule; } 1226 @Override public ParserRule getRule() { return rule; }
528 1227
529 //NamedObject | UnnamedObject | DataObject 1228 //referred=[NamedElement|QualifiedName]
530 public Alternatives getAlternatives() { return cAlternatives; } 1229 public Assignment getReferredAssignment() { return cReferredAssignment; }
531
532 //NamedObject
533 public RuleCall getNamedObjectParserRuleCall_0() { return cNamedObjectParserRuleCall_0; }
534 1230
535 //UnnamedObject 1231 //[NamedElement|QualifiedName]
536 public RuleCall getUnnamedObjectParserRuleCall_1() { return cUnnamedObjectParserRuleCall_1; } 1232 public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; }
537 1233
538 //DataObject 1234 //QualifiedName
539 public RuleCall getDataObjectParserRuleCall_2() { return cDataObjectParserRuleCall_2; } 1235 public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; }
540 } 1236 }
541 public class NamedObjectElements extends AbstractParserRuleElementFinder { 1237 public class IntervalElements extends AbstractParserRuleElementFinder {
542 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); 1238 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval");
543 private final Group cGroup = (Group)rule.eContents().get(1); 1239 private final Group cGroup = (Group)rule.eContents().get(1);
544 private final Keyword cApostropheKeyword_0 = (Keyword)cGroup.eContents().get(0); 1240 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
545 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 1241 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
546 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 1242 private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
547 private final Keyword cApostropheKeyword_2 = (Keyword)cGroup.eContents().get(2); 1243 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
548 1244 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
549 //NamedObject: 1245 private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
550 // "'" name=ID "'"; 1246 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1247
1248 //Interval:
1249 // "[" lowerBound=Expression ".." upperBound=Expression "]";
551 @Override public ParserRule getRule() { return rule; } 1250 @Override public ParserRule getRule() { return rule; }
552 1251
553 //"'" name=ID "'" 1252 //"[" lowerBound=Expression ".." upperBound=Expression "]"
554 public Group getGroup() { return cGroup; } 1253 public Group getGroup() { return cGroup; }
555 1254
556 //"'" 1255 //"["
557 public Keyword getApostropheKeyword_0() { return cApostropheKeyword_0; } 1256 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
558 1257
559 //name=ID 1258 //lowerBound=Expression
560 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 1259 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
561 1260
562 //ID 1261 //Expression
563 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 1262 public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; }
564 1263
565 //"'" 1264 //".."
566 public Keyword getApostropheKeyword_2() { return cApostropheKeyword_2; } 1265 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; }
567 }
568 public class UnnamedObjectElements extends AbstractParserRuleElementFinder {
569 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedObject");
570 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
571 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
572 1266
573 //UnnamedObject: 1267 //upperBound=Expression
574 // name=ID; 1268 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
575 @Override public ParserRule getRule() { return rule; }
576 1269
577 //name=ID 1270 //Expression
578 public Assignment getNameAssignment() { return cNameAssignment; } 1271 public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; }
579 1272
580 //ID 1273 //"]"
581 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 1274 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
582 } 1275 }
583 public class DataObjectElements extends AbstractParserRuleElementFinder { 1276 public class LiteralElements extends AbstractParserRuleElementFinder {
584 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataObject"); 1277 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
585 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1278 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
586 private final RuleCall cBooleanObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1279 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
587 private final RuleCall cIntObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1280 private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
588 private final RuleCall cRealObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1281 private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
589 private final RuleCall cStringObjectParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1282 private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1283 private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
590 1284
591 //DataObject: 1285 //Literal:
592 // BooleanObject | IntObject | RealObject | StringObject; 1286 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral;
593 @Override public ParserRule getRule() { return rule; } 1287 @Override public ParserRule getRule() { return rule; }
594 1288
595 //BooleanObject | IntObject | RealObject | StringObject 1289 //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral
596 public Alternatives getAlternatives() { return cAlternatives; } 1290 public Alternatives getAlternatives() { return cAlternatives; }
597 1291
598 //BooleanObject 1292 //LogicLiteral
599 public RuleCall getBooleanObjectParserRuleCall_0() { return cBooleanObjectParserRuleCall_0; } 1293 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; }
1294
1295 //NumericLiteral
1296 public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; }
600 1297
601 //IntObject 1298 //InfinityLiteral
602 public RuleCall getIntObjectParserRuleCall_1() { return cIntObjectParserRuleCall_1; } 1299 public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; }
603 1300
604 //RealObject 1301 //EmptyIntervalLiteral
605 public RuleCall getRealObjectParserRuleCall_2() { return cRealObjectParserRuleCall_2; } 1302 public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; }
606 1303
607 //StringObject 1304 //StringLiteral
608 public RuleCall getStringObjectParserRuleCall_3() { return cStringObjectParserRuleCall_3; } 1305 public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; }
609 } 1306 }
610 public class BooleanObjectElements extends AbstractParserRuleElementFinder { 1307 public class LogicLiteralElements extends AbstractParserRuleElementFinder {
611 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanObject"); 1308 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral");
612 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1309 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
613 private final RuleCall cValueBooleanValueParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1310 private final RuleCall cValueLogicValueEnumRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
614 1311
615 //BooleanObject: 1312 //LogicLiteral:
616 // value=BooleanValue; 1313 // value=LogicValue;
617 @Override public ParserRule getRule() { return rule; } 1314 @Override public ParserRule getRule() { return rule; }
618 1315
619 //value=BooleanValue 1316 //value=LogicValue
620 public Assignment getValueAssignment() { return cValueAssignment; } 1317 public Assignment getValueAssignment() { return cValueAssignment; }
621 1318
622 //BooleanValue 1319 //LogicValue
623 public RuleCall getValueBooleanValueParserRuleCall_0() { return cValueBooleanValueParserRuleCall_0; } 1320 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; }
624 } 1321 }
625 public class IntObjectElements extends AbstractParserRuleElementFinder { 1322 public class NumericLiteralElements extends AbstractParserRuleElementFinder {
626 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntObject"); 1323 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral");
627 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1324 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
628 private final RuleCall cValueINTLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1325 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
629 1326
630 //IntObject: 1327 //NumericLiteral:
631 // value=INTLiteral; 1328 // value=Real;
632 @Override public ParserRule getRule() { return rule; } 1329 @Override public ParserRule getRule() { return rule; }
633 1330
634 //value=INTLiteral 1331 //value=Real
635 public Assignment getValueAssignment() { return cValueAssignment; } 1332 public Assignment getValueAssignment() { return cValueAssignment; }
636 1333
637 //INTLiteral 1334 //Real
638 public RuleCall getValueINTLiteralParserRuleCall_0() { return cValueINTLiteralParserRuleCall_0; } 1335 public RuleCall getValueRealParserRuleCall_0() { return cValueRealParserRuleCall_0; }
639 } 1336 }
640 public class RealObjectElements extends AbstractParserRuleElementFinder { 1337 public class InfinityLiteralElements extends AbstractParserRuleElementFinder {
641 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealObject"); 1338 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.InfinityLiteral");
642 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1339 private final Group cGroup = (Group)rule.eContents().get(1);
643 private final RuleCall cValueREALLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1340 private final Action cInfinityLiteralAction_0 = (Action)cGroup.eContents().get(0);
1341 private final Keyword cInfKeyword_1 = (Keyword)cGroup.eContents().get(1);
644 1342
645 //RealObject: 1343 //InfinityLiteral:
646 // value=REALLiteral; 1344 // {InfinityLiteral} "inf";
647 @Override public ParserRule getRule() { return rule; } 1345 @Override public ParserRule getRule() { return rule; }
648 1346
649 //value=REALLiteral 1347 //{InfinityLiteral} "inf"
650 public Assignment getValueAssignment() { return cValueAssignment; } 1348 public Group getGroup() { return cGroup; }
1349
1350 //{InfinityLiteral}
1351 public Action getInfinityLiteralAction_0() { return cInfinityLiteralAction_0; }
651 1352
652 //REALLiteral 1353 //"inf"
653 public RuleCall getValueREALLiteralParserRuleCall_0() { return cValueREALLiteralParserRuleCall_0; } 1354 public Keyword getInfKeyword_1() { return cInfKeyword_1; }
654 } 1355 }
655 public class StringObjectElements extends AbstractParserRuleElementFinder { 1356 public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder {
656 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringObject"); 1357 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral");
1358 private final Group cGroup = (Group)rule.eContents().get(1);
1359 private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0);
1360 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1);
1361
1362 //EmptyIntervalLiteral:
1363 // {EmptyIntervalLiteral} "empty";
1364 @Override public ParserRule getRule() { return rule; }
1365
1366 //{EmptyIntervalLiteral} "empty"
1367 public Group getGroup() { return cGroup; }
1368
1369 //{EmptyIntervalLiteral}
1370 public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; }
1371
1372 //"empty"
1373 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; }
1374 }
1375 public class StringLiteralElements extends AbstractParserRuleElementFinder {
1376 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringLiteral");
657 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1377 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
658 private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1378 private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
659 1379
660 //StringObject: 1380 //StringLiteral:
661 // value=STRING; 1381 // value=STRING;
662 @Override public ParserRule getRule() { return rule; } 1382 @Override public ParserRule getRule() { return rule; }
663 1383
@@ -667,817 +1387,1181 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
667 //STRING 1387 //STRING
668 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } 1388 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
669 } 1389 }
670 public class PredicateElements extends AbstractParserRuleElementFinder { 1390 public class ClassDefinitionElements extends AbstractParserRuleElementFinder {
671 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate"); 1391 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition");
672 private final Group cGroup = (Group)rule.eContents().get(1); 1392 private final Group cGroup = (Group)rule.eContents().get(1);
673 private final Assignment cIsErrorAssignment_0 = (Assignment)cGroup.eContents().get(0); 1393 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
674 private final Keyword cIsErrorErrorKeyword_0_0 = (Keyword)cIsErrorAssignment_0.eContents().get(0); 1394 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
675 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 1395 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
676 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 1396 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
677 private final Group cGroup_2 = (Group)cGroup.eContents().get(2); 1397 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
678 private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); 1398 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
679 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); 1399 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
680 private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); 1400 private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
681 private final RuleCall cParametersParameterParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0); 1401 private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0);
682 private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); 1402 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1);
683 private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); 1403 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
684 private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); 1404 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
685 private final RuleCall cParametersParameterParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0); 1405 private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
686 private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); 1406 private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0);
687 private final Keyword cColonHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3); 1407 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1);
688 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); 1408 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
689 private final Keyword cFalseKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0); 1409 private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5);
690 private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1); 1410 private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0);
691 private final Assignment cBodiesAssignment_4_1_0 = (Assignment)cGroup_4_1.eContents().get(0); 1411 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
692 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_0_0 = (RuleCall)cBodiesAssignment_4_1_0.eContents().get(0); 1412
693 private final Group cGroup_4_1_1 = (Group)cGroup_4_1.eContents().get(1); 1413 //ClassDefinition:
694 private final Keyword cVerticalLineKeyword_4_1_1_0 = (Keyword)cGroup_4_1_1.eContents().get(0); 1414 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
695 private final Assignment cBodiesAssignment_4_1_1_1 = (Assignment)cGroup_4_1_1.eContents().get(1); 1415 // superclasses+=[NamedElement|QualifiedName])*)?
696 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_1_1_0 = (RuleCall)cBodiesAssignment_4_1_1_1.eContents().get(0); 1416 // "{" members+=MemberDefinition* "}";
697 private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
698
699 /////////////////////
700 //// Predicte grammar
701 /////////////////////
702 //Predicate:
703 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
704 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
705 @Override public ParserRule getRule() { return rule; } 1417 @Override public ParserRule getRule() { return rule; }
706 1418
707 //isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | 1419 //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
708 //bodies+=PatternBody ('|' bodies+=PatternBody)*) '.' 1420 //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}"
709 public Group getGroup() { return cGroup; } 1421 public Group getGroup() { return cGroup; }
710 1422
711 //isError?='error'? 1423 //abstract?="abstract"?
712 public Assignment getIsErrorAssignment_0() { return cIsErrorAssignment_0; } 1424 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
713 1425
714 //'error' 1426 //"abstract"
715 public Keyword getIsErrorErrorKeyword_0_0() { return cIsErrorErrorKeyword_0_0; } 1427 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
716 1428
717 //symbol=ModelSymbol 1429 //"class"
718 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 1430 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
719 1431
720 //ModelSymbol 1432 //name=ID
721 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 1433 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
722 1434
723 //('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? 1435 //ID
724 public Group getGroup_2() { return cGroup_2; } 1436 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
725 1437
726 //'(' 1438 //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)?
727 public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } 1439 public Group getGroup_3() { return cGroup_3; }
728 1440
729 //(parameters+=Parameter (',' parameters+=Parameter)*)? 1441 //"extends"
730 public Group getGroup_2_1() { return cGroup_2_1; } 1442 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
1443
1444 //superclasses+=[NamedElement|QualifiedName]
1445 public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; }
1446
1447 //[NamedElement|QualifiedName]
1448 public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; }
1449
1450 //QualifiedName
1451 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; }
1452
1453 //("," superclasses+=[NamedElement|QualifiedName])*
1454 public Group getGroup_3_2() { return cGroup_3_2; }
1455
1456 //","
1457 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
1458
1459 //superclasses+=[NamedElement|QualifiedName]
1460 public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; }
1461
1462 //[NamedElement|QualifiedName]
1463 public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; }
1464
1465 //QualifiedName
1466 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; }
1467
1468 //"{"
1469 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
1470
1471 //members+=MemberDefinition*
1472 public Assignment getMembersAssignment_5() { return cMembersAssignment_5; }
1473
1474 //MemberDefinition
1475 public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; }
731 1476
732 //parameters+=Parameter 1477 //"}"
733 public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; } 1478 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
1479 }
1480 public class MemberDefinitionElements extends AbstractParserRuleElementFinder {
1481 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
1482 private final Group cGroup = (Group)rule.eContents().get(1);
1483 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0);
1484 private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1485 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1486 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1487 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
1488 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
1489 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
1490 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
1491 private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
1492 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1493 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1494 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1495 private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
1496 private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1);
1497 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
1498
1499 //MemberDefinition:
1500 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
1501 // opposite=[NamedElement|QualifiedName])? ";"?;
1502 @Override public ParserRule getRule() { return rule; }
734 1503
735 //Parameter 1504 //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
736 public RuleCall getParametersParameterParserRuleCall_2_1_0_0() { return cParametersParameterParserRuleCall_2_1_0_0; } 1505 //opposite=[NamedElement|QualifiedName])? ";"?
1506 public Group getGroup() { return cGroup; }
737 1507
738 //(',' parameters+=Parameter)* 1508 //containment?="contains"?
739 public Group getGroup_2_1_1() { return cGroup_2_1_1; } 1509 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
740 1510
741 //',' 1511 //"contains"
742 public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; } 1512 public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; }
743 1513
744 //parameters+=Parameter 1514 //type=[NamedElement|QualifiedName]
745 public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; } 1515 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
746 1516
747 //Parameter 1517 //[NamedElement|QualifiedName]
748 public RuleCall getParametersParameterParserRuleCall_2_1_1_1_0() { return cParametersParameterParserRuleCall_2_1_1_1_0; } 1518 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
749 1519
750 //')' 1520 //QualifiedName
751 public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } 1521 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
752 1522
753 //':-' 1523 //multiplicity=Multiplicity?
754 public Keyword getColonHyphenMinusKeyword_3() { return cColonHyphenMinusKeyword_3; } 1524 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
755 1525
756 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* 1526 //Multiplicity
757 public Alternatives getAlternatives_4() { return cAlternatives_4; } 1527 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_0() { return cMultiplicityMultiplicityParserRuleCall_2_0; }
758 1528
759 //'false' 1529 //name=ID
760 public Keyword getFalseKeyword_4_0() { return cFalseKeyword_4_0; } 1530 public Assignment getNameAssignment_3() { return cNameAssignment_3; }
761 1531
762 //bodies+=PatternBody ('|' bodies+=PatternBody)* 1532 //ID
763 public Group getGroup_4_1() { return cGroup_4_1; } 1533 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; }
764 1534
765 //bodies+=PatternBody 1535 //("opposite" opposite=[NamedElement|QualifiedName])?
766 public Assignment getBodiesAssignment_4_1_0() { return cBodiesAssignment_4_1_0; } 1536 public Group getGroup_4() { return cGroup_4; }
767 1537
768 //PatternBody 1538 //"opposite"
769 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_0_0() { return cBodiesPatternBodyParserRuleCall_4_1_0_0; } 1539 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
770 1540
771 //('|' bodies+=PatternBody)* 1541 //opposite=[NamedElement|QualifiedName]
772 public Group getGroup_4_1_1() { return cGroup_4_1_1; } 1542 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
773 1543
774 //'|' 1544 //[NamedElement|QualifiedName]
775 public Keyword getVerticalLineKeyword_4_1_1_0() { return cVerticalLineKeyword_4_1_1_0; } 1545 public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; }
776 1546
777 //bodies+=PatternBody 1547 //QualifiedName
778 public Assignment getBodiesAssignment_4_1_1_1() { return cBodiesAssignment_4_1_1_1; } 1548 public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; }
779 1549
780 //PatternBody 1550 //";"?
781 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_4_1_1_1_0; } 1551 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
1552 }
1553 public class MultiplicityElements extends AbstractParserRuleElementFinder {
1554 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
1555 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1556 private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1557 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1558 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
782 1559
783 //'.' 1560 //Multiplicity:
784 public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; } 1561 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity;
1562 @Override public ParserRule getRule() { return rule; }
1563
1564 //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity
1565 public Alternatives getAlternatives() { return cAlternatives; }
1566
1567 //ManyMultiplicity
1568 public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; }
1569
1570 //ExactMultiplicity
1571 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
1572
1573 //BoundedMultiplicity
1574 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; }
785 } 1575 }
786 public class ParameterElements extends AbstractParserRuleElementFinder { 1576 public class ManyMultiplicityElements extends AbstractParserRuleElementFinder {
787 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); 1577 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity");
788 private final Group cGroup = (Group)rule.eContents().get(1); 1578 private final Group cGroup = (Group)rule.eContents().get(1);
789 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); 1579 private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0);
790 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0); 1580 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
791 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1581 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
792 private final Keyword cColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
793 private final Assignment cTypeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
794 private final RuleCall cTypeSymbolParserRuleCall_1_1_0 = (RuleCall)cTypeAssignment_1_1.eContents().get(0);
795 1582
796 //Parameter: 1583 //ManyMultiplicity:
797 // variable=Variable (':' type=Symbol)?; 1584 // {ManyMultiplicity} "[" "]";
798 @Override public ParserRule getRule() { return rule; } 1585 @Override public ParserRule getRule() { return rule; }
799 1586
800 //variable=Variable (':' type=Symbol)? 1587 //{ManyMultiplicity} "[" "]"
801 public Group getGroup() { return cGroup; } 1588 public Group getGroup() { return cGroup; }
802 1589
803 //variable=Variable 1590 //{ManyMultiplicity}
804 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } 1591 public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; }
805 1592
806 //Variable 1593 //"["
807 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; } 1594 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
808 1595
809 //(':' type=Symbol)? 1596 //"]"
810 public Group getGroup_1() { return cGroup_1; } 1597 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
1598 }
1599 public class ExactMultiplicityElements extends AbstractParserRuleElementFinder {
1600 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity");
1601 private final Group cGroup = (Group)rule.eContents().get(1);
1602 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
1603 private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1);
1604 private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0);
1605 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
811 1606
812 //':' 1607 //ExactMultiplicity:
813 public Keyword getColonKeyword_1_0() { return cColonKeyword_1_0; } 1608 // "[" multiplicity=UpperMultiplicty "]";
1609 @Override public ParserRule getRule() { return rule; }
1610
1611 //"[" multiplicity=UpperMultiplicty "]"
1612 public Group getGroup() { return cGroup; }
814 1613
815 //type=Symbol 1614 //"["
816 public Assignment getTypeAssignment_1_1() { return cTypeAssignment_1_1; } 1615 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
817 1616
818 //Symbol 1617 //multiplicity=UpperMultiplicty
819 public RuleCall getTypeSymbolParserRuleCall_1_1_0() { return cTypeSymbolParserRuleCall_1_1_0; } 1618 public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; }
1619
1620 //UpperMultiplicty
1621 public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; }
1622
1623 //"]"
1624 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
820 } 1625 }
821 public class PatternBodyElements extends AbstractParserRuleElementFinder { 1626 public class BoundedMultiplicityElements extends AbstractParserRuleElementFinder {
822 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1627 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedMultiplicity");
823 private final Group cGroup = (Group)rule.eContents().get(1); 1628 private final Group cGroup = (Group)rule.eContents().get(1);
824 private final Action cPatternBodyAction_0 = (Action)cGroup.eContents().get(0); 1629 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
825 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 1630 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
826 private final Keyword cTrueKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); 1631 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
827 private final Assignment cConstraintsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); 1632 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
828 private final RuleCall cConstraintsConstraintParserRuleCall_1_1_0 = (RuleCall)cConstraintsAssignment_1_1.eContents().get(0); 1633 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
829 1634 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
830 //PatternBody: 1635 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
831 // {PatternBody} ('true' | constraints+=Constraint*); 1636
1637 //BoundedMultiplicity:
1638 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]";
832 @Override public ParserRule getRule() { return rule; } 1639 @Override public ParserRule getRule() { return rule; }
833 1640
834 //{PatternBody} ('true' | constraints+=Constraint*) 1641 //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"
835 public Group getGroup() { return cGroup; } 1642 public Group getGroup() { return cGroup; }
836 1643
837 //{PatternBody} 1644 //"["
838 public Action getPatternBodyAction_0() { return cPatternBodyAction_0; } 1645 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
839 1646
840 //'true' | constraints+=Constraint* 1647 //lowerBound=INT
841 public Alternatives getAlternatives_1() { return cAlternatives_1; } 1648 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
1649
1650 //INT
1651 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; }
1652
1653 //".."
1654 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; }
842 1655
843 //'true' 1656 //upperBound=UpperMultiplicty
844 public Keyword getTrueKeyword_1_0() { return cTrueKeyword_1_0; } 1657 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
845 1658
846 //constraints+=Constraint* 1659 //UpperMultiplicty
847 public Assignment getConstraintsAssignment_1_1() { return cConstraintsAssignment_1_1; } 1660 public RuleCall getUpperBoundUpperMultiplictyParserRuleCall_3_0() { return cUpperBoundUpperMultiplictyParserRuleCall_3_0; }
848 1661
849 //Constraint 1662 //"]"
850 public RuleCall getConstraintsConstraintParserRuleCall_1_1_0() { return cConstraintsConstraintParserRuleCall_1_1_0; } 1663 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
851 } 1664 }
852 public class PolarityElements extends AbstractParserRuleElementFinder { 1665 public class ScopeDefinitionElements extends AbstractParserRuleElementFinder {
853 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); 1666 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition");
854 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1667 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
855 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1668 private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
856 private final Action cPositiveAction_0_0 = (Action)cGroup_0.eContents().get(0); 1669 private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
857 private final Keyword cPlusSignKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 1670 private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
858 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
859 private final Action cNegativeAction_1_0 = (Action)cGroup_1.eContents().get(0);
860 private final Keyword cHyphenMinusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
861 1671
862 //Polarity: 1672 //ScopeDefinition:
863 // {Positive} '+' | {Negative} '-'; 1673 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition;
864 @Override public ParserRule getRule() { return rule; } 1674 @Override public ParserRule getRule() { return rule; }
865 1675
866 //{Positive} '+' | {Negative} '-' 1676 //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition
867 public Alternatives getAlternatives() { return cAlternatives; } 1677 public Alternatives getAlternatives() { return cAlternatives; }
868 1678
869 //{Positive} '+' 1679 //ExactScopeDefinition
870 public Group getGroup_0() { return cGroup_0; } 1680 public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; }
1681
1682 //BoundedScopeDefinition
1683 public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; }
1684
1685 //LowerBoundedScopeDefinition
1686 public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; }
1687 }
1688 public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder {
1689 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition");
1690 private final Group cGroup = (Group)rule.eContents().get(1);
1691 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
1692 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1693 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1694 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
1695 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
1696 private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3);
1697 private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0);
1698
1699 //ExactScopeDefinition:
1700 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT;
1701 @Override public ParserRule getRule() { return rule; }
871 1702
872 //{Positive} 1703 //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT
873 public Action getPositiveAction_0_0() { return cPositiveAction_0_0; } 1704 public Group getGroup() { return cGroup; }
874 1705
875 //'+' 1706 //"scope"
876 public Keyword getPlusSignKeyword_0_1() { return cPlusSignKeyword_0_1; } 1707 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
877 1708
878 //{Negative} '-' 1709 //type=[NamedElement|QualifiedName]
879 public Group getGroup_1() { return cGroup_1; } 1710 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
880 1711
881 //{Negative} 1712 //[NamedElement|QualifiedName]
882 public Action getNegativeAction_1_0() { return cNegativeAction_1_0; } 1713 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
883 1714
884 //'-' 1715 //QualifiedName
885 public Keyword getHyphenMinusKeyword_1_1() { return cHyphenMinusKeyword_1_1; } 1716 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
1717
1718 //"=="
1719 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; }
1720
1721 //exactScope=INT
1722 public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; }
1723
1724 //INT
1725 public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; }
886 } 1726 }
887 public class ConstraintElements extends AbstractParserRuleElementFinder { 1727 public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder {
888 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); 1728 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition");
889 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1729 private final Group cGroup = (Group)rule.eContents().get(1);
890 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1730 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
891 private final Assignment cPolarityAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); 1731 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
892 private final RuleCall cPolarityPolarityParserRuleCall_0_0_0 = (RuleCall)cPolarityAssignment_0_0.eContents().get(0); 1732 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
893 private final Assignment cSymbolAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); 1733 private final Group cGroup_1_0_0 = (Group)cGroup_1_0.eContents().get(0);
894 private final RuleCall cSymbolModelSymbolParserRuleCall_0_1_0 = (RuleCall)cSymbolAssignment_0_1.eContents().get(0); 1734 private final Assignment cLowerBoundAssignment_1_0_0_0 = (Assignment)cGroup_1_0_0.eContents().get(0);
895 private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); 1735 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0);
896 private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); 1736 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
897 private final Assignment cParamsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1); 1737 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
898 private final RuleCall cParamsLiteralParserRuleCall_0_2_1_0 = (RuleCall)cParamsAssignment_0_2_1.eContents().get(0); 1738 private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0);
899 private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2); 1739 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1);
900 private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0); 1740 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
901 private final Assignment cParamsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1); 1741 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
902 private final RuleCall cParamsLiteralParserRuleCall_0_2_2_1_0 = (RuleCall)cParamsAssignment_0_2_2_1.eContents().get(0); 1742 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0);
903 private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3); 1743 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
904 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1744 private final Assignment cUpperBoundAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
905 private final Assignment cClosureTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); 1745 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0);
906 private final RuleCall cClosureTypeClosureTypeParserRuleCall_1_0_0 = (RuleCall)cClosureTypeAssignment_1_0.eContents().get(0); 1746 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
907 private final Keyword cLeftParenthesisKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); 1747 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
908 private final Assignment cParamsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1748 private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0);
909 private final RuleCall cParamsLiteralParserRuleCall_1_2_0 = (RuleCall)cParamsAssignment_1_2.eContents().get(0); 1749 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1);
910 private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3); 1750 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3);
911 private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); 1751 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0);
912 private final Assignment cParamsAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1); 1752 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1);
913 private final RuleCall cParamsLiteralParserRuleCall_1_3_1_0 = (RuleCall)cParamsAssignment_1_3_1.eContents().get(0); 1753 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0);
914 private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); 1754
915 1755 //BoundedScopeDefinition:
916 //Constraint: 1756 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
917 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType 1757 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?);
918 // '(' params+=Literal? (',' params+=Literal)* ')';
919 @Override public ParserRule getRule() { return rule; } 1758 @Override public ParserRule getRule() { return rule; }
920 1759
921 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType '(' 1760 //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
922 //params+=Literal? (',' params+=Literal)* ')' 1761 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?)
923 public Alternatives getAlternatives() { return cAlternatives; } 1762 public Group getGroup() { return cGroup; }
924
925 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')?
926 public Group getGroup_0() { return cGroup_0; }
927 1763
928 //polarity=Polarity? 1764 //"scope"
929 public Assignment getPolarityAssignment_0_0() { return cPolarityAssignment_0_0; } 1765 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
930 1766
931 //Polarity 1767 //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
932 public RuleCall getPolarityPolarityParserRuleCall_0_0_0() { return cPolarityPolarityParserRuleCall_0_0_0; } 1768 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?)
1769 public Alternatives getAlternatives_1() { return cAlternatives_1; }
933 1770
934 //symbol=ModelSymbol 1771 //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT
935 public Assignment getSymbolAssignment_0_1() { return cSymbolAssignment_0_1; } 1772 public Group getGroup_1_0() { return cGroup_1_0; }
936 1773
937 //ModelSymbol 1774 //(lowerBound=INT "<=")?
938 public RuleCall getSymbolModelSymbolParserRuleCall_0_1_0() { return cSymbolModelSymbolParserRuleCall_0_1_0; } 1775 public Group getGroup_1_0_0() { return cGroup_1_0_0; }
939 1776
940 //('(' params+=Literal? (',' params+=Literal)* ')')? 1777 //lowerBound=INT
941 public Group getGroup_0_2() { return cGroup_0_2; } 1778 public Assignment getLowerBoundAssignment_1_0_0_0() { return cLowerBoundAssignment_1_0_0_0; }
942 1779
943 //'(' 1780 //INT
944 public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; } 1781 public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0_0; }
945 1782
946 //params+=Literal? 1783 //"<="
947 public Assignment getParamsAssignment_0_2_1() { return cParamsAssignment_0_2_1; } 1784 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; }
948 1785
949 //Literal 1786 //type=[NamedElement|QualifiedName]
950 public RuleCall getParamsLiteralParserRuleCall_0_2_1_0() { return cParamsLiteralParserRuleCall_0_2_1_0; } 1787 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; }
951 1788
952 //(',' params+=Literal)* 1789 //[NamedElement|QualifiedName]
953 public Group getGroup_0_2_2() { return cGroup_0_2_2; } 1790 public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; }
954 1791
955 //',' 1792 //QualifiedName
956 public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; } 1793 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; }
957 1794
958 //params+=Literal 1795 //"<="
959 public Assignment getParamsAssignment_0_2_2_1() { return cParamsAssignment_0_2_2_1; } 1796 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; }
960 1797
961 //Literal 1798 //upperBound=INT
962 public RuleCall getParamsLiteralParserRuleCall_0_2_2_1_0() { return cParamsLiteralParserRuleCall_0_2_2_1_0; } 1799 public Assignment getUpperBoundAssignment_1_0_3() { return cUpperBoundAssignment_1_0_3; }
963 1800
964 //')' 1801 //INT
965 public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; } 1802 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; }
966 1803
967 //closureType=ClosureType '(' params+=Literal? (',' params+=Literal)* ')' 1804 //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?
968 public Group getGroup_1() { return cGroup_1; } 1805 public Group getGroup_1_1() { return cGroup_1_1; }
969 1806
970 //closureType=ClosureType 1807 //upperBound=INT
971 public Assignment getClosureTypeAssignment_1_0() { return cClosureTypeAssignment_1_0; } 1808 public Assignment getUpperBoundAssignment_1_1_0() { return cUpperBoundAssignment_1_1_0; }
972 1809
973 //ClosureType 1810 //INT
974 public RuleCall getClosureTypeClosureTypeParserRuleCall_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_1_0_0; } 1811 public RuleCall getUpperBoundINTTerminalRuleCall_1_1_0_0() { return cUpperBoundINTTerminalRuleCall_1_1_0_0; }
975 1812
976 //'(' 1813 //">="
977 public Keyword getLeftParenthesisKeyword_1_1() { return cLeftParenthesisKeyword_1_1; } 1814 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
978 1815
979 //params+=Literal? 1816 //type=[NamedElement|QualifiedName]
980 public Assignment getParamsAssignment_1_2() { return cParamsAssignment_1_2; } 1817 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; }
981 1818
982 //Literal 1819 //[NamedElement|QualifiedName]
983 public RuleCall getParamsLiteralParserRuleCall_1_2_0() { return cParamsLiteralParserRuleCall_1_2_0; } 1820 public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; }
984 1821
985 //(',' params+=Literal)* 1822 //QualifiedName
986 public Group getGroup_1_3() { return cGroup_1_3; } 1823 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; }
987 1824
988 //',' 1825 //(">=" lowerBound=INT)?
989 public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; } 1826 public Group getGroup_1_1_3() { return cGroup_1_1_3; }
990 1827
991 //params+=Literal 1828 //">="
992 public Assignment getParamsAssignment_1_3_1() { return cParamsAssignment_1_3_1; } 1829 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_3_0() { return cGreaterThanSignEqualsSignKeyword_1_1_3_0; }
993 1830
994 //Literal 1831 //lowerBound=INT
995 public RuleCall getParamsLiteralParserRuleCall_1_3_1_0() { return cParamsLiteralParserRuleCall_1_3_1_0; } 1832 public Assignment getLowerBoundAssignment_1_1_3_1() { return cLowerBoundAssignment_1_1_3_1; }
996 1833
997 //')' 1834 //INT
998 public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; } 1835 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; }
999 } 1836 }
1000 public class ClosureTypeElements extends AbstractParserRuleElementFinder { 1837 public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder {
1001 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 1838 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition");
1002 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1839 private final Group cGroup = (Group)rule.eContents().get(1);
1003 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1840 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
1004 private final Action cReflexiveClosureAction_0_0 = (Action)cGroup_0.eContents().get(0); 1841 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
1005 private final Keyword cAsteriskKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 1842 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
1006 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1843 private final Assignment cLowerBoundAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
1007 private final Action cIrreflexiveClosureAction_1_0 = (Action)cGroup_1.eContents().get(0); 1844 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0);
1008 private final Keyword cPlusSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); 1845 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
1009 1846 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
1010 //ClosureType: 1847 private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0);
1011 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 1848 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1);
1849 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
1850 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
1851 private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0);
1852 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1);
1853 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
1854 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
1855 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0);
1856
1857 //LowerBoundedScopeDefinition:
1858 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">="
1859 // lowerBound=INT);
1012 @Override public ParserRule getRule() { return rule; } 1860 @Override public ParserRule getRule() { return rule; }
1013 1861
1014 //{ReflexiveClosure} '*' | {IrreflexiveClosure} '+' 1862 //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT)
1015 public Alternatives getAlternatives() { return cAlternatives; } 1863 public Group getGroup() { return cGroup; }
1016 1864
1017 //{ReflexiveClosure} '*' 1865 //"scope"
1018 public Group getGroup_0() { return cGroup_0; } 1866 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
1019 1867
1020 //{ReflexiveClosure} 1868 //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT)
1021 public Action getReflexiveClosureAction_0_0() { return cReflexiveClosureAction_0_0; } 1869 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1022 1870
1023 //'*' 1871 //lowerBound=INT "<=" type=[NamedElement|QualifiedName]
1024 public Keyword getAsteriskKeyword_0_1() { return cAsteriskKeyword_0_1; } 1872 public Group getGroup_1_0() { return cGroup_1_0; }
1025 1873
1026 //{IrreflexiveClosure} '+' 1874 //lowerBound=INT
1027 public Group getGroup_1() { return cGroup_1; } 1875 public Assignment getLowerBoundAssignment_1_0_0() { return cLowerBoundAssignment_1_0_0; }
1028 1876
1029 //{IrreflexiveClosure} 1877 //INT
1030 public Action getIrreflexiveClosureAction_1_0() { return cIrreflexiveClosureAction_1_0; } 1878 public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0; }
1031 1879
1032 //'+' 1880 //"<="
1033 public Keyword getPlusSignKeyword_1_1() { return cPlusSignKeyword_1_1; } 1881 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; }
1034 }
1035 public class LiteralElements extends AbstractParserRuleElementFinder {
1036 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1037 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1038 private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1039 private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1040 private final RuleCall cNamedObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1041 1882
1042 //Literal: 1883 //type=[NamedElement|QualifiedName]
1043 // Variable | DataObject | NamedObject; 1884 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; }
1044 @Override public ParserRule getRule() { return rule; }
1045 1885
1046 //Variable | DataObject | NamedObject 1886 //[NamedElement|QualifiedName]
1047 public Alternatives getAlternatives() { return cAlternatives; } 1887 public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; }
1048 1888
1049 //Variable 1889 //QualifiedName
1050 public RuleCall getVariableParserRuleCall_0() { return cVariableParserRuleCall_0; } 1890 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; }
1051 1891
1052 //DataObject 1892 //type=[NamedElement|QualifiedName] ">=" lowerBound=INT
1053 public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; } 1893 public Group getGroup_1_1() { return cGroup_1_1; }
1054 1894
1055 //NamedObject 1895 //type=[NamedElement|QualifiedName]
1056 public RuleCall getNamedObjectParserRuleCall_2() { return cNamedObjectParserRuleCall_2; } 1896 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; }
1057 }
1058 public class VariableElements extends AbstractParserRuleElementFinder {
1059 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1060 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1061 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1062 1897
1063 //Variable: 1898 //[NamedElement|QualifiedName]
1064 // name=ID; 1899 public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; }
1065 @Override public ParserRule getRule() { return rule; }
1066 1900
1067 //name=ID 1901 //QualifiedName
1068 public Assignment getNameAssignment() { return cNameAssignment; } 1902 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; }
1069 1903
1070 //ID 1904 //">="
1071 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 1905 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
1906
1907 //lowerBound=INT
1908 public Assignment getLowerBoundAssignment_1_1_2() { return cLowerBoundAssignment_1_1_2; }
1909
1910 //INT
1911 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; }
1072 } 1912 }
1073 public class AllInstancesElements extends AbstractParserRuleElementFinder { 1913 public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder {
1074 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllInstances"); 1914 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition");
1075 private final Group cGroup = (Group)rule.eContents().get(1); 1915 private final Group cGroup = (Group)rule.eContents().get(1);
1076 private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0); 1916 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
1077 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 1917 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
1078 private final RuleCall cSymbolSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 1918 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1);
1079 1919 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0);
1080 ///////////////////// 1920
1081 //// Complex Interpretation grammar 1921 //ObjectiveDefinition:
1082 ///////////////////// 1922 // kind=ObjectiveKind objective=Expression;
1083 //AllInstances:
1084 // ':' symbol=Symbol;
1085 @Override public ParserRule getRule() { return rule; } 1923 @Override public ParserRule getRule() { return rule; }
1086 1924
1087 //':' symbol=Symbol 1925 //kind=ObjectiveKind objective=Expression
1088 public Group getGroup() { return cGroup; } 1926 public Group getGroup() { return cGroup; }
1089 1927
1090 //':' 1928 //kind=ObjectiveKind
1091 public Keyword getColonKeyword_0() { return cColonKeyword_0; } 1929 public Assignment getKindAssignment_0() { return cKindAssignment_0; }
1930
1931 //ObjectiveKind
1932 public RuleCall getKindObjectiveKindEnumRuleCall_0_0() { return cKindObjectiveKindEnumRuleCall_0_0; }
1092 1933
1093 //symbol=Symbol 1934 //objective=Expression
1094 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 1935 public Assignment getObjectiveAssignment_1() { return cObjectiveAssignment_1; }
1095 1936
1096 //Symbol 1937 //Expression
1097 public RuleCall getSymbolSymbolParserRuleCall_1_0() { return cSymbolSymbolParserRuleCall_1_0; } 1938 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; }
1098 } 1939 }
1099 public class AllObjectsElements extends AbstractParserRuleElementFinder { 1940 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder {
1100 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllObjects"); 1941 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
1101 private final Group cGroup = (Group)rule.eContents().get(1); 1942 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1102 private final Action cAllObjectsAction_0 = (Action)cGroup.eContents().get(0); 1943 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1103 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); 1944 private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
1104 1945
1105 //AllObjects: 1946 //UpperMultiplicty ecore::EInt:
1106 // {AllObjects} '*'; 1947 // INT | "*";
1107 @Override public ParserRule getRule() { return rule; } 1948 @Override public ParserRule getRule() { return rule; }
1108 1949
1109 //{AllObjects} '*' 1950 //INT | "*"
1110 public Group getGroup() { return cGroup; } 1951 public Alternatives getAlternatives() { return cAlternatives; }
1111 1952
1112 //{AllObjects} 1953 //INT
1113 public Action getAllObjectsAction_0() { return cAllObjectsAction_0; } 1954 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
1114 1955
1115 //'*' 1956 //"*"
1116 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1957 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1117 } 1958 }
1118 public class DefaultInterpretationElements extends AbstractParserRuleElementFinder { 1959 public class RealElements extends AbstractParserRuleElementFinder {
1119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultInterpretation"); 1960 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real");
1120 private final Group cGroup = (Group)rule.eContents().get(1); 1961 private final Group cGroup = (Group)rule.eContents().get(1);
1121 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); 1962 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
1122 private final Assignment cInterpretationAssignment_1 = (Assignment)cGroup.eContents().get(1); 1963 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1123 private final RuleCall cInterpretationBasicInterpretationParserRuleCall_1_0 = (RuleCall)cInterpretationAssignment_1.eContents().get(0); 1964 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
1124 1965 private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
1125 ///////////////////// 1966
1126 //// Defaul Interpretation grammar 1967 //Real ecore::EBigDecimal hidden():
1127 ///////////////////// 1968 // INT ("." INT)?;
1128 //DefaultInterpretation:
1129 // 'default' interpretation=BasicInterpretation;
1130 @Override public ParserRule getRule() { return rule; } 1969 @Override public ParserRule getRule() { return rule; }
1131 1970
1132 //'default' interpretation=BasicInterpretation 1971 //INT ("." INT)?
1133 public Group getGroup() { return cGroup; } 1972 public Group getGroup() { return cGroup; }
1134 1973
1135 //'default' 1974 //INT
1136 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } 1975 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
1137 1976
1138 //interpretation=BasicInterpretation 1977 //("." INT)?
1139 public Assignment getInterpretationAssignment_1() { return cInterpretationAssignment_1; } 1978 public Group getGroup_1() { return cGroup_1; }
1979
1980 //"."
1981 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
1140 1982
1141 //BasicInterpretation 1983 //INT
1142 public RuleCall getInterpretationBasicInterpretationParserRuleCall_1_0() { return cInterpretationBasicInterpretationParserRuleCall_1_0; } 1984 public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; }
1143 } 1985 }
1144 public class CDInterpretationElements extends AbstractParserRuleElementFinder { 1986 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
1145 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CDInterpretation"); 1987 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1146 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1988 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1147 private final RuleCall cClassInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1989 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1148 private final RuleCall cEnumInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1990 private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
1149 private final RuleCall cGlobalRelationInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1991 private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1);
1150 1992 private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0);
1151 ///////////////////// 1993 private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1);
1152 //// Advanced Class-Diagram interpretations 1994 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1153 ///////////////////// 1995
1154 //CDInterpretation: 1996 //QualifiedName hidden():
1155 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation; 1997 // ID ("." ID)* | QUOTED_ID;
1156 @Override public ParserRule getRule() { return rule; } 1998 @Override public ParserRule getRule() { return rule; }
1157 1999
1158 //ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation 2000 //ID ("." ID)* | QUOTED_ID
1159 public Alternatives getAlternatives() { return cAlternatives; } 2001 public Alternatives getAlternatives() { return cAlternatives; }
1160 2002
1161 //ClassInterpretation 2003 //ID ("." ID)*
1162 public RuleCall getClassInterpretationParserRuleCall_0() { return cClassInterpretationParserRuleCall_0; } 2004 public Group getGroup_0() { return cGroup_0; }
2005
2006 //ID
2007 public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; }
2008
2009 //("." ID)*
2010 public Group getGroup_0_1() { return cGroup_0_1; }
1163 2011
1164 //EnumInterpretation 2012 //"."
1165 public RuleCall getEnumInterpretationParserRuleCall_1() { return cEnumInterpretationParserRuleCall_1; } 2013 public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; }
1166 2014
1167 //GlobalRelationInterpretation 2015 //ID
1168 public RuleCall getGlobalRelationInterpretationParserRuleCall_2() { return cGlobalRelationInterpretationParserRuleCall_2; } 2016 public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; }
2017
2018 //QUOTED_ID
2019 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
1169 } 2020 }
1170 public class ClassInterpretationElements extends AbstractParserRuleElementFinder { 2021 public class NamedElementElements extends AbstractParserRuleElementFinder {
1171 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassInterpretation"); 2022 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedElement");
1172 private final Group cGroup = (Group)rule.eContents().get(1); 2023 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1173 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); 2024 private final RuleCall cNameQualifiedNameParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1174 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
1175 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
1176 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1177 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1178 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
1179 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
1180 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1181 private final RuleCall cSupertypesModelSymbolParserRuleCall_3_1_0 = (RuleCall)cSupertypesAssignment_3_1.eContents().get(0);
1182 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1183 private final Assignment cFieltAssignment_5 = (Assignment)cGroup.eContents().get(5);
1184 private final RuleCall cFieltFieldRelationInterpretationParserRuleCall_5_0 = (RuleCall)cFieltAssignment_5.eContents().get(0);
1185 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
1186 2025
1187 //ClassInterpretation: 2026 //NamedElement:
1188 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 2027 // name=QualifiedName;
1189 // fielt+=FieldRelationInterpretation*
1190 // '}';
1191 @Override public ParserRule getRule() { return rule; } 2028 @Override public ParserRule getRule() { return rule; }
1192 2029
1193 //abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 2030 //name=QualifiedName
1194 //fielt+=FieldRelationInterpretation* '}' 2031 public Assignment getNameAssignment() { return cNameAssignment; }
1195 public Group getGroup() { return cGroup; }
1196 2032
1197 //abstract?='abstract'? 2033 //QualifiedName
1198 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } 2034 public RuleCall getNameQualifiedNameParserRuleCall_0() { return cNameQualifiedNameParserRuleCall_0; }
2035 }
2036
2037 public class MetricTypeElements extends AbstractEnumRuleElementFinder {
2038 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
2039 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2040 private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2041 private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
2042 private final EnumLiteralDeclaration cREALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2043 private final Keyword cREALRealKeyword_1_0 = (Keyword)cREALEnumLiteralDeclaration_1.eContents().get(0);
1199 2044
1200 //'abstract' 2045 //enum MetricType:
1201 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } 2046 // INT="int" | REAL="real";
2047 public EnumRule getRule() { return rule; }
1202 2048
1203 //'class' 2049 //INT="int" | REAL="real"
1204 public Keyword getClassKeyword_1() { return cClassKeyword_1; } 2050 public Alternatives getAlternatives() { return cAlternatives; }
1205 2051
1206 //symbol=ModelSymbol 2052 //INT="int"
1207 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } 2053 public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
1208 2054
1209 //ModelSymbol 2055 //"int"
1210 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } 2056 public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; }
1211 2057
1212 //('extends' supertypes+=ModelSymbol+)? 2058 //REAL="real"
1213 public Group getGroup_3() { return cGroup_3; } 2059 public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; }
1214 2060
1215 //'extends' 2061 //"real"
1216 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } 2062 public Keyword getREALRealKeyword_1_0() { return cREALRealKeyword_1_0; }
2063 }
2064 public class BinaryOperatorElements extends AbstractEnumRuleElementFinder {
2065 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BinaryOperator");
2066 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2067 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2068 private final Keyword cEQEQKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
2069 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2070 private final Keyword cNOT_EQNOT_EQKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
2071 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2072 private final Keyword cLESSLESSKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2073 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2074 private final Keyword cLESS_EQLESS_EQKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
2075 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2076 private final Keyword cGREATERGREATERKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2077 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2078 private final Keyword cGREATER_EQGREATER_EQKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2079 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2080 private final Keyword cININKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2081 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
2082 private final Keyword cADDADDKeyword_7_0 = (Keyword)cADDEnumLiteralDeclaration_7.eContents().get(0);
2083 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
2084 private final Keyword cSUBSUBKeyword_8_0 = (Keyword)cSUBEnumLiteralDeclaration_8.eContents().get(0);
2085 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
2086 private final Keyword cMULMULKeyword_9_0 = (Keyword)cMULEnumLiteralDeclaration_9.eContents().get(0);
2087 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
2088 private final Keyword cDIVDIVKeyword_10_0 = (Keyword)cDIVEnumLiteralDeclaration_10.eContents().get(0);
2089 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
2090 private final Keyword cPOWPOWKeyword_11_0 = (Keyword)cPOWEnumLiteralDeclaration_11.eContents().get(0);
2091
2092 //enum BinaryOperator:
2093 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2094 public EnumRule getRule() { return rule; }
2095
2096 //EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW
2097 public Alternatives getAlternatives() { return cAlternatives; }
1217 2098
1218 //supertypes+=ModelSymbol+ 2099 //EQ
1219 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; } 2100 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
1220 2101
1221 //ModelSymbol 2102 //"EQ"
1222 public RuleCall getSupertypesModelSymbolParserRuleCall_3_1_0() { return cSupertypesModelSymbolParserRuleCall_3_1_0; } 2103 public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; }
1223 2104
1224 //'{' 2105 //NOT_EQ
1225 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } 2106 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
1226 2107
1227 //fielt+=FieldRelationInterpretation* 2108 //"NOT_EQ"
1228 public Assignment getFieltAssignment_5() { return cFieltAssignment_5; } 2109 public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; }
1229 2110
1230 //FieldRelationInterpretation 2111 //LESS
1231 public RuleCall getFieltFieldRelationInterpretationParserRuleCall_5_0() { return cFieltFieldRelationInterpretationParserRuleCall_5_0; } 2112 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
1232 2113
1233 //'}' 2114 //"LESS"
1234 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 2115 public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; }
2116
2117 //LESS_EQ
2118 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
2119
2120 //"LESS_EQ"
2121 public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; }
2122
2123 //GREATER
2124 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2125
2126 //"GREATER"
2127 public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; }
2128
2129 //GREATER_EQ
2130 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2131
2132 //"GREATER_EQ"
2133 public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; }
2134
2135 //IN
2136 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2137
2138 //"IN"
2139 public Keyword getININKeyword_6_0() { return cININKeyword_6_0; }
2140
2141 //ADD
2142 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; }
2143
2144 //"ADD"
2145 public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; }
2146
2147 //SUB
2148 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; }
2149
2150 //"SUB"
2151 public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; }
2152
2153 //MUL
2154 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; }
2155
2156 //"MUL"
2157 public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; }
2158
2159 //DIV
2160 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; }
2161
2162 //"DIV"
2163 public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; }
2164
2165 //POW
2166 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; }
2167
2168 //"POW"
2169 public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; }
1235 } 2170 }
1236 public class EnumInterpretationElements extends AbstractParserRuleElementFinder { 2171 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
1237 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumInterpretation"); 2172 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
1238 private final Group cGroup = (Group)rule.eContents().get(1); 2173 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1239 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0); 2174 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1240 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 2175 private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
1241 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 2176 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1242 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2177 private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
1243 private final Assignment cObjectsAssignment_3 = (Assignment)cGroup.eContents().get(3); 2178 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1244 private final RuleCall cObjectsNamedObjectParserRuleCall_3_0 = (RuleCall)cObjectsAssignment_3.eContents().get(0); 2179 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
1245 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2180 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
1246 2181 private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
1247 //EnumInterpretation: 2182 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
1248 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; 2183 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
1249 @Override public ParserRule getRule() { return rule; } 2184 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2185 private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2186 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2187 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2188
2189 //enum ComparisonOperator returns BinaryOperator:
2190 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2191 public EnumRule getRule() { return rule; }
2192
2193 //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"
2194 public Alternatives getAlternatives() { return cAlternatives; }
1250 2195
1251 //'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}' 2196 //EQ="=="
1252 public Group getGroup() { return cGroup; } 2197 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
2198
2199 //"=="
2200 public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; }
1253 2201
1254 //'enum' 2202 //NOT_EQ="!="
1255 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; } 2203 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
1256 2204
1257 //Symbol=ModelSymbol 2205 //"!="
1258 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 2206 public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; }
1259 2207
1260 //ModelSymbol 2208 //LESS="<"
1261 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 2209 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
1262 2210
1263 //'{' 2211 //"<"
1264 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 2212 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; }
1265 2213
1266 //objects+=NamedObject+ 2214 //LESS_EQ="<="
1267 public Assignment getObjectsAssignment_3() { return cObjectsAssignment_3; } 2215 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
1268 2216
1269 //NamedObject 2217 //"<="
1270 public RuleCall getObjectsNamedObjectParserRuleCall_3_0() { return cObjectsNamedObjectParserRuleCall_3_0; } 2218 public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; }
1271 2219
1272 //'}' 2220 //GREATER=">"
1273 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } 2221 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2222
2223 //">"
2224 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; }
2225
2226 //GREATER_EQ=">="
2227 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2228
2229 //">="
2230 public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; }
2231
2232 //IN="in"
2233 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2234
2235 //"in"
2236 public Keyword getINInKeyword_6_0() { return cINInKeyword_6_0; }
1274 } 2237 }
1275 public class FieldRelationInterpretationElements extends AbstractParserRuleElementFinder { 2238 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder {
1276 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); 2239 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
1277 private final Group cGroup = (Group)rule.eContents().get(1); 2240 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1278 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2241 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1279 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); 2242 private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0);
1280 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 2243 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1281 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 2244 private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0);
1282 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
1283 private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3);
1284 private final RuleCall cMultiplicityMultiplicityDefinitionParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0);
1285 private final Assignment cTargetAssignment_4 = (Assignment)cGroup.eContents().get(4);
1286 private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0);
1287 2245
1288 //FieldRelationInterpretation: 2246 //enum AdditiveBinaryOperator returns BinaryOperator:
1289 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 2247 // ADD="+" | SUB="-";
1290 @Override public ParserRule getRule() { return rule; } 2248 public EnumRule getRule() { return rule; }
1291 2249
1292 //containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol 2250 //ADD="+" | SUB="-"
1293 public Group getGroup() { return cGroup; } 2251 public Alternatives getAlternatives() { return cAlternatives; }
1294 2252
1295 //containment?='containment'? 2253 //ADD="+"
1296 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2254 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; }
1297 2255
1298 //'containment' 2256 //"+"
1299 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } 2257 public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; }
1300 2258
1301 //symbol=ModelSymbol 2259 //SUB="-"
1302 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 2260 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; }
1303 2261
1304 //ModelSymbol 2262 //"-"
1305 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 2263 public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; }
2264 }
2265 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2266 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
2267 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2268 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2269 private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0);
2270 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2271 private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0);
1306 2272
1307 //':' 2273 //enum MultiplicativeBinaryOperator returns BinaryOperator:
1308 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 2274 // MUL="*" | DIV="/";
2275 public EnumRule getRule() { return rule; }
1309 2276
1310 //multiplicity=MultiplicityDefinition? 2277 //MUL="*" | DIV="/"
1311 public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; } 2278 public Alternatives getAlternatives() { return cAlternatives; }
2279
2280 //MUL="*"
2281 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; }
1312 2282
1313 //MultiplicityDefinition 2283 //"*"
1314 public RuleCall getMultiplicityMultiplicityDefinitionParserRuleCall_3_0() { return cMultiplicityMultiplicityDefinitionParserRuleCall_3_0; } 2284 public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; }
1315 2285
1316 //target=Symbol 2286 //DIV="/"
1317 public Assignment getTargetAssignment_4() { return cTargetAssignment_4; } 2287 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; }
1318 2288
1319 //Symbol 2289 //"/"
1320 public RuleCall getTargetSymbolParserRuleCall_4_0() { return cTargetSymbolParserRuleCall_4_0; } 2290 public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; }
1321 } 2291 }
1322 public class GlobalRelationInterpretationElements extends AbstractParserRuleElementFinder { 2292 public class ExponentialOpElements extends AbstractEnumRuleElementFinder {
1323 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.GlobalRelationInterpretation"); 2293 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
1324 private final Group cGroup = (Group)rule.eContents().get(1); 2294 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
1325 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2295 private final Keyword cPOWCircumflexAccentKeyword_0 = (Keyword)cPOWEnumLiteralDeclaration.eContents().get(0);
1326 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1327 private final Keyword cRelationKeyword_1 = (Keyword)cGroup.eContents().get(1);
1328 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1329 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1330 private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
1331 private final Assignment cSourceMultiplicityAssignment_4 = (Assignment)cGroup.eContents().get(4);
1332 private final RuleCall cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0 = (RuleCall)cSourceMultiplicityAssignment_4.eContents().get(0);
1333 private final Assignment cSourceAssignment_5 = (Assignment)cGroup.eContents().get(5);
1334 private final RuleCall cSourceSymbolParserRuleCall_5_0 = (RuleCall)cSourceAssignment_5.eContents().get(0);
1335 private final Assignment cTargetMultiplicityAssignment_6 = (Assignment)cGroup.eContents().get(6);
1336 private final RuleCall cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0 = (RuleCall)cTargetMultiplicityAssignment_6.eContents().get(0);
1337 private final Assignment cTargetAssignment_7 = (Assignment)cGroup.eContents().get(7);
1338 private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0);
1339
1340 //GlobalRelationInterpretation:
1341 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition?
1342 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol;
1343 @Override public ParserRule getRule() { return rule; }
1344 2296
1345 //containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol 2297 //enum ExponentialOp returns BinaryOperator:
1346 //targetMultiplicity=MultiplicityDefinition? target=Symbol 2298 // POW="^";
1347 public Group getGroup() { return cGroup; } 2299 public EnumRule getRule() { return rule; }
1348 2300
1349 //containment?='containment'? 2301 //POW="^"
1350 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2302 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration() { return cPOWEnumLiteralDeclaration; }
1351 2303
1352 //'containment' 2304 //"^"
1353 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } 2305 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; }
2306 }
2307 public class UnaryOpElements extends AbstractEnumRuleElementFinder {
2308 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp");
2309 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2310 private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2311 private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0);
2312 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2313 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0);
2314 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2315 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0);
2316 private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2317 private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0);
2318 private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2319 private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0);
2320 private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2321 private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0);
2322
2323 //enum UnaryOp:
2324 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2325 public EnumRule getRule() { return rule; }
2326
2327 //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"
2328 public Alternatives getAlternatives() { return cAlternatives; }
1354 2329
1355 //'relation' 2330 //NEG="!"
1356 public Keyword getRelationKeyword_1() { return cRelationKeyword_1; } 2331 public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; }
1357 2332
1358 //symbol=ModelSymbol 2333 //"!"
1359 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } 2334 public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; }
1360 2335
1361 //ModelSymbol 2336 //PLUS="+"
1362 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } 2337 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; }
1363 2338
1364 //':' 2339 //"+"
1365 public Keyword getColonKeyword_3() { return cColonKeyword_3; } 2340 public Keyword getPLUSPlusSignKeyword_1_0() { return cPLUSPlusSignKeyword_1_0; }
1366 2341
1367 //sourceMultiplicity=MultiplicityDefinition? 2342 //MINUS="-"
1368 public Assignment getSourceMultiplicityAssignment_4() { return cSourceMultiplicityAssignment_4; } 2343 public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_2() { return cMINUSEnumLiteralDeclaration_2; }
1369 2344
1370 //MultiplicityDefinition 2345 //"-"
1371 public RuleCall getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0() { return cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0; } 2346 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; }
1372 2347
1373 //source=Symbol 2348 //MAY="may"
1374 public Assignment getSourceAssignment_5() { return cSourceAssignment_5; } 2349 public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; }
1375 2350
1376 //Symbol 2351 //"may"
1377 public RuleCall getSourceSymbolParserRuleCall_5_0() { return cSourceSymbolParserRuleCall_5_0; } 2352 public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; }
1378 2353
1379 //targetMultiplicity=MultiplicityDefinition? 2354 //MUST="must"
1380 public Assignment getTargetMultiplicityAssignment_6() { return cTargetMultiplicityAssignment_6; } 2355 public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; }
1381 2356
1382 //MultiplicityDefinition 2357 //"must"
1383 public RuleCall getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0() { return cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0; } 2358 public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; }
1384 2359
1385 //target=Symbol 2360 //CURRENT="current"
1386 public Assignment getTargetAssignment_7() { return cTargetAssignment_7; } 2361 public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; }
1387 2362
1388 //Symbol 2363 //"current"
1389 public RuleCall getTargetSymbolParserRuleCall_7_0() { return cTargetSymbolParserRuleCall_7_0; } 2364 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
1390 } 2365 }
1391 public class MultiplicityDefinitionElements extends AbstractParserRuleElementFinder { 2366 public class AggregationOpElements extends AbstractEnumRuleElementFinder {
1392 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); 2367 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
1393 private final Group cGroup = (Group)rule.eContents().get(1); 2368 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1394 private final Assignment cLowerAssignment_0 = (Assignment)cGroup.eContents().get(0); 2369 private final EnumLiteralDeclaration cONLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1395 private final RuleCall cLowerINTTerminalRuleCall_0_0 = (RuleCall)cLowerAssignment_0.eContents().get(0); 2370 private final Keyword cONLYOnlyKeyword_0_0 = (Keyword)cONLYEnumLiteralDeclaration_0.eContents().get(0);
1396 private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); 2371 private final EnumLiteralDeclaration cSUMEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1397 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); 2372 private final Keyword cSUMSumKeyword_1_0 = (Keyword)cSUMEnumLiteralDeclaration_1.eContents().get(0);
1398 private final Assignment cUpperAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); 2373 private final EnumLiteralDeclaration cPRODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1399 private final RuleCall cUpperINTTerminalRuleCall_2_0_0 = (RuleCall)cUpperAssignment_2_0.eContents().get(0); 2374 private final Keyword cPRODProdKeyword_2_0 = (Keyword)cPRODEnumLiteralDeclaration_2.eContents().get(0);
1400 private final Assignment cUnlimitedUpperAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); 2375 private final EnumLiteralDeclaration cAVGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
1401 private final Keyword cUnlimitedUpperAsteriskKeyword_2_1_0 = (Keyword)cUnlimitedUpperAssignment_2_1.eContents().get(0); 2376 private final Keyword cAVGAvgKeyword_3_0 = (Keyword)cAVGEnumLiteralDeclaration_3.eContents().get(0);
1402 2377 private final EnumLiteralDeclaration cMINEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
1403 //MultiplicityDefinition: 2378 private final Keyword cMINMinKeyword_4_0 = (Keyword)cMINEnumLiteralDeclaration_4.eContents().get(0);
1404 // lower=INT '..' (upper=INT | unlimitedUpper?='*'); 2379 private final EnumLiteralDeclaration cMAXEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
1405 @Override public ParserRule getRule() { return rule; } 2380 private final Keyword cMAXMaxKeyword_5_0 = (Keyword)cMAXEnumLiteralDeclaration_5.eContents().get(0);
2381
2382 //enum AggregationOp:
2383 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2384 public EnumRule getRule() { return rule; }
2385
2386 //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"
2387 public Alternatives getAlternatives() { return cAlternatives; }
1406 2388
1407 //lower=INT '..' (upper=INT | unlimitedUpper?='*') 2389 //ONLY="only"
1408 public Group getGroup() { return cGroup; } 2390 public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; }
1409 2391
1410 //lower=INT 2392 //"only"
1411 public Assignment getLowerAssignment_0() { return cLowerAssignment_0; } 2393 public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; }
1412 2394
1413 //INT 2395 //SUM="sum"
1414 public RuleCall getLowerINTTerminalRuleCall_0_0() { return cLowerINTTerminalRuleCall_0_0; } 2396 public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; }
1415 2397
1416 //'..' 2398 //"sum"
1417 public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; } 2399 public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; }
1418 2400
1419 //upper=INT | unlimitedUpper?='*' 2401 //PROD="prod"
1420 public Alternatives getAlternatives_2() { return cAlternatives_2; } 2402 public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; }
1421 2403
1422 //upper=INT 2404 //"prod"
1423 public Assignment getUpperAssignment_2_0() { return cUpperAssignment_2_0; } 2405 public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; }
1424 2406
1425 //INT 2407 //AVG="avg"
1426 public RuleCall getUpperINTTerminalRuleCall_2_0_0() { return cUpperINTTerminalRuleCall_2_0_0; } 2408 public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; }
2409
2410 //"avg"
2411 public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; }
2412
2413 //MIN="min"
2414 public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; }
1427 2415
1428 //unlimitedUpper?='*' 2416 //"min"
1429 public Assignment getUnlimitedUpperAssignment_2_1() { return cUnlimitedUpperAssignment_2_1; } 2417 public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; }
1430 2418
1431 //'*' 2419 //MAX="max"
1432 public Keyword getUnlimitedUpperAsteriskKeyword_2_1_0() { return cUnlimitedUpperAsteriskKeyword_2_1_0; } 2420 public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; }
2421
2422 //"max"
2423 public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; }
2424 }
2425 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2426 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
2427 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2428 private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2429 private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0);
2430 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2431 private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
2432 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2433 private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0);
2434 private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2435 private final Keyword cERRORErrorKeyword_3_0 = (Keyword)cERROREnumLiteralDeclaration_3.eContents().get(0);
2436
2437 //enum LogicValue:
2438 // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
2439 public EnumRule getRule() { return rule; }
2440
2441 //TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"
2442 public Alternatives getAlternatives() { return cAlternatives; }
2443
2444 //TRUE="true"
2445 public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; }
2446
2447 //"true"
2448 public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; }
2449
2450 //FALSE="false"
2451 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; }
2452
2453 //"false"
2454 public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; }
2455
2456 //UNKNOWN="unknown"
2457 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; }
2458
2459 //"unknown"
2460 public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; }
2461
2462 //ERROR="error"
2463 public EnumLiteralDeclaration getERROREnumLiteralDeclaration_3() { return cERROREnumLiteralDeclaration_3; }
2464
2465 //"error"
2466 public Keyword getERRORErrorKeyword_3_0() { return cERRORErrorKeyword_3_0; }
2467 }
2468 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder {
2469 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
2470 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2471 private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2472 private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0);
2473 private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2474 private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0);
2475
2476 //enum ObjectiveKind:
2477 // MINIMIZE="minimize" | MAXIMIZE="maximize";
2478 public EnumRule getRule() { return rule; }
2479
2480 //MINIMIZE="minimize" | MAXIMIZE="maximize"
2481 public Alternatives getAlternatives() { return cAlternatives; }
2482
2483 //MINIMIZE="minimize"
2484 public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; }
2485
2486 //"minimize"
2487 public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; }
2488
2489 //MAXIMIZE="maximize"
2490 public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; }
2491
2492 //"maximize"
2493 public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; }
1433 } 2494 }
1434
1435 2495
1436 private final ProblemElements pProblem; 2496 private final ProblemElements pProblem;
1437 private final StatementElements pStatement; 2497 private final StatementElements pStatement;
1438 private final TerminalRule tSTRING; 2498 private final AssertionOrDefinitionElements pAssertionOrDefinition;
1439 private final REALLiteralElements pREALLiteral; 2499 private final PredicateDefinitionElements pPredicateDefinition;
1440 private final INTLiteralElements pINTLiteral; 2500 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition;
1441 private final BooleanValueElements pBooleanValue; 2501 private final DefaultDefinitionElements pDefaultDefinition;
1442 private final TruthValueElements pTruthValue; 2502 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
1443 private final InterpretationElements pInterpretation; 2503 private final MetricTypeElements eMetricType;
1444 private final BasicInterpretationElements pBasicInterpretation; 2504 private final MetricDefinitionElements pMetricDefinition;
1445 private final SymbolElements pSymbol; 2505 private final ExternMetricDefinitionElements pExternMetricDefinition;
1446 private final ModelSymbolElements pModelSymbol; 2506 private final ExpressionElements pExpression;
1447 private final PartialitySymbolElements pPartialitySymbol; 2507 private final IfElseElements pIfElse;
1448 private final ExistSymbolElements pExistSymbol; 2508 private final DisjunctiveExpressionElements pDisjunctiveExpression;
1449 private final EqualsSymbolElements pEqualsSymbol; 2509 private final CaseElements pCase;
1450 private final DataSymbolElements pDataSymbol; 2510 private final ConjunctiveExpressionElements pConjunctiveExpression;
1451 private final BooleanSymbolElements pBooleanSymbol; 2511 private final BinaryOperatorElements eBinaryOperator;
1452 private final IntegerSymbolElements pIntegerSymbol; 2512 private final ComparisonOperatorElements eComparisonOperator;
1453 private final RealSymbolElements pRealSymbol; 2513 private final ComparisonExpressionElements pComparisonExpression;
1454 private final StringSymbolElements pStringSymbol; 2514 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator;
1455 private final ComplexObjectElements pComplexObject; 2515 private final AdditiveExpressionElements pAdditiveExpression;
1456 private final ObjectElements pObject; 2516 private final MultiplicativeBinaryOperatorElements eMultiplicativeBinaryOperator;
1457 private final NamedObjectElements pNamedObject; 2517 private final MultiplicativeExpressionElements pMultiplicativeExpression;
1458 private final UnnamedObjectElements pUnnamedObject; 2518 private final ExponentialOpElements eExponentialOp;
1459 private final DataObjectElements pDataObject; 2519 private final ExponentialExpressionElements pExponentialExpression;
1460 private final BooleanObjectElements pBooleanObject; 2520 private final UnaryOpElements eUnaryOp;
1461 private final IntObjectElements pIntObject; 2521 private final UnaryExpressionElements pUnaryExpression;
1462 private final RealObjectElements pRealObject; 2522 private final AggregationExpressionElements pAggregationExpression;
1463 private final StringObjectElements pStringObject; 2523 private final CountElements pCount;
1464 private final PredicateElements pPredicate; 2524 private final AggregationOpElements eAggregationOp;
1465 private final ParameterElements pParameter; 2525 private final AggregationElements pAggregation;
1466 private final PatternBodyElements pPatternBody; 2526 private final AtomicExpressionElements pAtomicExpression;
1467 private final PolarityElements pPolarity; 2527 private final CallElements pCall;
1468 private final ConstraintElements pConstraint; 2528 private final ArgumentListElements pArgumentList;
1469 private final ClosureTypeElements pClosureType; 2529 private final ArgumentElements pArgument;
2530 private final ExpressionArgumentElements pExpressionArgument;
2531 private final StarArgumentElements pStarArgument;
2532 private final TypedArgumentElements pTypedArgument;
2533 private final TypedStarArgumentElements pTypedStarArgument;
2534 private final ReferenceElements pReference;
2535 private final IntervalElements pInterval;
1470 private final LiteralElements pLiteral; 2536 private final LiteralElements pLiteral;
1471 private final VariableElements pVariable; 2537 private final LogicValueElements eLogicValue;
1472 private final AllInstancesElements pAllInstances; 2538 private final LogicLiteralElements pLogicLiteral;
1473 private final AllObjectsElements pAllObjects; 2539 private final NumericLiteralElements pNumericLiteral;
1474 private final DefaultInterpretationElements pDefaultInterpretation; 2540 private final InfinityLiteralElements pInfinityLiteral;
1475 private final CDInterpretationElements pCDInterpretation; 2541 private final EmptyIntervalLiteralElements pEmptyIntervalLiteral;
1476 private final ClassInterpretationElements pClassInterpretation; 2542 private final StringLiteralElements pStringLiteral;
1477 private final EnumInterpretationElements pEnumInterpretation; 2543 private final ClassDefinitionElements pClassDefinition;
1478 private final FieldRelationInterpretationElements pFieldRelationInterpretation; 2544 private final MemberDefinitionElements pMemberDefinition;
1479 private final GlobalRelationInterpretationElements pGlobalRelationInterpretation; 2545 private final MultiplicityElements pMultiplicity;
1480 private final MultiplicityDefinitionElements pMultiplicityDefinition; 2546 private final ManyMultiplicityElements pManyMultiplicity;
2547 private final ExactMultiplicityElements pExactMultiplicity;
2548 private final BoundedMultiplicityElements pBoundedMultiplicity;
2549 private final ScopeDefinitionElements pScopeDefinition;
2550 private final ExactScopeDefinitionElements pExactScopeDefinition;
2551 private final BoundedScopeDefinitionElements pBoundedScopeDefinition;
2552 private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition;
2553 private final ObjectiveKindElements eObjectiveKind;
2554 private final ObjectiveDefinitionElements pObjectiveDefinition;
2555 private final UpperMultiplictyElements pUpperMultiplicty;
2556 private final RealElements pReal;
2557 private final QualifiedNameElements pQualifiedName;
2558 private final TerminalRule tSTRING;
2559 private final TerminalRule tQUOTED_ID;
2560 private final TerminalRule tSL_COMMENT;
2561 private final TerminalRule tTRANSITIVE_CLOSURE;
2562 private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE;
2563 private final TerminalRule tFULL_STOP;
2564 private final NamedElementElements pNamedElement;
1481 2565
1482 private final Grammar grammar; 2566 private final Grammar grammar;
1483 2567
@@ -1490,49 +2574,73 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1490 this.gaTerminals = gaTerminals; 2574 this.gaTerminals = gaTerminals;
1491 this.pProblem = new ProblemElements(); 2575 this.pProblem = new ProblemElements();
1492 this.pStatement = new StatementElements(); 2576 this.pStatement = new StatementElements();
1493 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); 2577 this.pAssertionOrDefinition = new AssertionOrDefinitionElements();
1494 this.pREALLiteral = new REALLiteralElements(); 2578 this.pPredicateDefinition = new PredicateDefinitionElements();
1495 this.pINTLiteral = new INTLiteralElements(); 2579 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements();
1496 this.pBooleanValue = new BooleanValueElements(); 2580 this.pDefaultDefinition = new DefaultDefinitionElements();
1497 this.pTruthValue = new TruthValueElements(); 2581 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
1498 this.pInterpretation = new InterpretationElements(); 2582 this.eMetricType = new MetricTypeElements();
1499 this.pBasicInterpretation = new BasicInterpretationElements(); 2583 this.pMetricDefinition = new MetricDefinitionElements();
1500 this.pSymbol = new SymbolElements(); 2584 this.pExternMetricDefinition = new ExternMetricDefinitionElements();
1501 this.pModelSymbol = new ModelSymbolElements(); 2585 this.pExpression = new ExpressionElements();
1502 this.pPartialitySymbol = new PartialitySymbolElements(); 2586 this.pIfElse = new IfElseElements();
1503 this.pExistSymbol = new ExistSymbolElements(); 2587 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
1504 this.pEqualsSymbol = new EqualsSymbolElements(); 2588 this.pCase = new CaseElements();
1505 this.pDataSymbol = new DataSymbolElements(); 2589 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
1506 this.pBooleanSymbol = new BooleanSymbolElements(); 2590 this.eBinaryOperator = new BinaryOperatorElements();
1507 this.pIntegerSymbol = new IntegerSymbolElements(); 2591 this.eComparisonOperator = new ComparisonOperatorElements();
1508 this.pRealSymbol = new RealSymbolElements(); 2592 this.pComparisonExpression = new ComparisonExpressionElements();
1509 this.pStringSymbol = new StringSymbolElements(); 2593 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements();
1510 this.pComplexObject = new ComplexObjectElements(); 2594 this.pAdditiveExpression = new AdditiveExpressionElements();
1511 this.pObject = new ObjectElements(); 2595 this.eMultiplicativeBinaryOperator = new MultiplicativeBinaryOperatorElements();
1512 this.pNamedObject = new NamedObjectElements(); 2596 this.pMultiplicativeExpression = new MultiplicativeExpressionElements();
1513 this.pUnnamedObject = new UnnamedObjectElements(); 2597 this.eExponentialOp = new ExponentialOpElements();
1514 this.pDataObject = new DataObjectElements(); 2598 this.pExponentialExpression = new ExponentialExpressionElements();
1515 this.pBooleanObject = new BooleanObjectElements(); 2599 this.eUnaryOp = new UnaryOpElements();
1516 this.pIntObject = new IntObjectElements(); 2600 this.pUnaryExpression = new UnaryExpressionElements();
1517 this.pRealObject = new RealObjectElements(); 2601 this.pAggregationExpression = new AggregationExpressionElements();
1518 this.pStringObject = new StringObjectElements(); 2602 this.pCount = new CountElements();
1519 this.pPredicate = new PredicateElements(); 2603 this.eAggregationOp = new AggregationOpElements();
1520 this.pParameter = new ParameterElements(); 2604 this.pAggregation = new AggregationElements();
1521 this.pPatternBody = new PatternBodyElements(); 2605 this.pAtomicExpression = new AtomicExpressionElements();
1522 this.pPolarity = new PolarityElements(); 2606 this.pCall = new CallElements();
1523 this.pConstraint = new ConstraintElements(); 2607 this.pArgumentList = new ArgumentListElements();
1524 this.pClosureType = new ClosureTypeElements(); 2608 this.pArgument = new ArgumentElements();
2609 this.pExpressionArgument = new ExpressionArgumentElements();
2610 this.pStarArgument = new StarArgumentElements();
2611 this.pTypedArgument = new TypedArgumentElements();
2612 this.pTypedStarArgument = new TypedStarArgumentElements();
2613 this.pReference = new ReferenceElements();
2614 this.pInterval = new IntervalElements();
1525 this.pLiteral = new LiteralElements(); 2615 this.pLiteral = new LiteralElements();
1526 this.pVariable = new VariableElements(); 2616 this.eLogicValue = new LogicValueElements();
1527 this.pAllInstances = new AllInstancesElements(); 2617 this.pLogicLiteral = new LogicLiteralElements();
1528 this.pAllObjects = new AllObjectsElements(); 2618 this.pNumericLiteral = new NumericLiteralElements();
1529 this.pDefaultInterpretation = new DefaultInterpretationElements(); 2619 this.pInfinityLiteral = new InfinityLiteralElements();
1530 this.pCDInterpretation = new CDInterpretationElements(); 2620 this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements();
1531 this.pClassInterpretation = new ClassInterpretationElements(); 2621 this.pStringLiteral = new StringLiteralElements();
1532 this.pEnumInterpretation = new EnumInterpretationElements(); 2622 this.pClassDefinition = new ClassDefinitionElements();
1533 this.pFieldRelationInterpretation = new FieldRelationInterpretationElements(); 2623 this.pMemberDefinition = new MemberDefinitionElements();
1534 this.pGlobalRelationInterpretation = new GlobalRelationInterpretationElements(); 2624 this.pMultiplicity = new MultiplicityElements();
1535 this.pMultiplicityDefinition = new MultiplicityDefinitionElements(); 2625 this.pManyMultiplicity = new ManyMultiplicityElements();
2626 this.pExactMultiplicity = new ExactMultiplicityElements();
2627 this.pBoundedMultiplicity = new BoundedMultiplicityElements();
2628 this.pScopeDefinition = new ScopeDefinitionElements();
2629 this.pExactScopeDefinition = new ExactScopeDefinitionElements();
2630 this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements();
2631 this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements();
2632 this.eObjectiveKind = new ObjectiveKindElements();
2633 this.pObjectiveDefinition = new ObjectiveDefinitionElements();
2634 this.pUpperMultiplicty = new UpperMultiplictyElements();
2635 this.pReal = new RealElements();
2636 this.pQualifiedName = new QualifiedNameElements();
2637 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
2638 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID");
2639 this.tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.SL_COMMENT");
2640 this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
2641 this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
2642 this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP");
2643 this.pNamedElement = new NamedElementElements();
1536 } 2644 }
1537 2645
1538 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { 2646 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -1573,7 +2681,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1573 } 2681 }
1574 2682
1575 //Statement: 2683 //Statement:
1576 // Interpretation | Predicate; 2684 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
2685 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
2686 // ObjectiveDefinition) FULL_STOP;
1577 public StatementElements getStatementAccess() { 2687 public StatementElements getStatementAccess() {
1578 return pStatement; 2688 return pStatement;
1579 } 2689 }
@@ -1582,333 +2692,391 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1582 return getStatementAccess().getRule(); 2692 return getStatementAccess().getRule();
1583 } 2693 }
1584 2694
1585 //@Override 2695 //AssertionOrDefinition Statement:
1586 //terminal STRING: 2696 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
1587 // '"' ('\\' . | !('\\' | '"'))* '"'; 2697 // body=Expression | {MetricDefinition.head=current} "=" body=Expression);
1588 public TerminalRule getSTRINGRule() { 2698 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
1589 return tSTRING; 2699 return pAssertionOrDefinition;
1590 } 2700 }
1591 2701
1592 //REALLiteral ecore::EBigDecimal: 2702 public ParserRule getAssertionOrDefinitionRule() {
1593 // '-'? INT '.' INT; 2703 return getAssertionOrDefinitionAccess().getRule();
1594 public REALLiteralElements getREALLiteralAccess() {
1595 return pREALLiteral;
1596 } 2704 }
1597 2705
1598 public ParserRule getREALLiteralRule() { 2706 //PredicateDefinition:
1599 return getREALLiteralAccess().getRule(); 2707 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
2708 public PredicateDefinitionElements getPredicateDefinitionAccess() {
2709 return pPredicateDefinition;
1600 } 2710 }
1601 2711
1602 //INTLiteral ecore::EInt: 2712 public ParserRule getPredicateDefinitionRule() {
1603 // '-'? INT; 2713 return getPredicateDefinitionAccess().getRule();
1604 public INTLiteralElements getINTLiteralAccess() {
1605 return pINTLiteral;
1606 } 2714 }
1607 2715
1608 public ParserRule getINTLiteralRule() { 2716 //UnnamedErrorPrediateDefinition:
1609 return getINTLiteralAccess().getRule(); 2717 // "error" argumentList=ArgumentList ":-" body=Expression;
2718 public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() {
2719 return pUnnamedErrorPrediateDefinition;
1610 } 2720 }
1611 2721
1612 //BooleanValue: 2722 public ParserRule getUnnamedErrorPrediateDefinitionRule() {
1613 // {BooleanTrue} 'true' | 'false' {BooleanFalse}; 2723 return getUnnamedErrorPrediateDefinitionAccess().getRule();
1614 public BooleanValueElements getBooleanValueAccess() {
1615 return pBooleanValue;
1616 } 2724 }
1617 2725
1618 public ParserRule getBooleanValueRule() { 2726 //DefaultDefinition:
1619 return getBooleanValueAccess().getRule(); 2727 // "default" head=Call ":" range=Expression;
2728 public DefaultDefinitionElements getDefaultDefinitionAccess() {
2729 return pDefaultDefinition;
1620 } 2730 }
1621 2731
1622 //TruthValue: 2732 public ParserRule getDefaultDefinitionRule() {
1623 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'; 2733 return getDefaultDefinitionAccess().getRule();
1624 public TruthValueElements getTruthValueAccess() {
1625 return pTruthValue;
1626 } 2734 }
1627 2735
1628 public ParserRule getTruthValueRule() { 2736 //ExternPredicateDefinition:
1629 return getTruthValueAccess().getRule(); 2737 // "extern" head=Call;
2738 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() {
2739 return pExternPredicateDefinition;
1630 } 2740 }
1631 2741
1632 ///////////////////// 2742 public ParserRule getExternPredicateDefinitionRule() {
1633 //// Core grammar 2743 return getExternPredicateDefinitionAccess().getRule();
1634 // ///////////////////
1635 //Interpretation:
1636 // BasicInterpretation | DefaultInterpretation | CDInterpretation;
1637 public InterpretationElements getInterpretationAccess() {
1638 return pInterpretation;
1639 } 2744 }
1640 2745
1641 public ParserRule getInterpretationRule() { 2746 //enum MetricType:
1642 return getInterpretationAccess().getRule(); 2747 // INT="int" | REAL="real";
2748 public MetricTypeElements getMetricTypeAccess() {
2749 return eMetricType;
1643 } 2750 }
1644 2751
1645 //BasicInterpretation: 2752 public EnumRule getMetricTypeRule() {
1646 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; 2753 return getMetricTypeAccess().getRule();
1647 public BasicInterpretationElements getBasicInterpretationAccess() {
1648 return pBasicInterpretation;
1649 } 2754 }
1650 2755
1651 public ParserRule getBasicInterpretationRule() { 2756 //MetricDefinition:
1652 return getBasicInterpretationAccess().getRule(); 2757 // type=MetricType head=Expression "=" body=Expression;
2758 public MetricDefinitionElements getMetricDefinitionAccess() {
2759 return pMetricDefinition;
1653 } 2760 }
1654 2761
1655 //Symbol: 2762 public ParserRule getMetricDefinitionRule() {
1656 // ModelSymbol | PartialitySymbol | DataSymbol; 2763 return getMetricDefinitionAccess().getRule();
1657 public SymbolElements getSymbolAccess() {
1658 return pSymbol;
1659 } 2764 }
1660 2765
1661 public ParserRule getSymbolRule() { 2766 //ExternMetricDefinition:
1662 return getSymbolAccess().getRule(); 2767 // "extern" type=MetricType head=Call;
2768 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() {
2769 return pExternMetricDefinition;
1663 } 2770 }
1664 2771
1665 //ModelSymbol: 2772 public ParserRule getExternMetricDefinitionRule() {
1666 // name=ID; 2773 return getExternMetricDefinitionAccess().getRule();
1667 public ModelSymbolElements getModelSymbolAccess() {
1668 return pModelSymbol;
1669 } 2774 }
1670 2775
1671 public ParserRule getModelSymbolRule() { 2776 //Expression:
1672 return getModelSymbolAccess().getRule(); 2777 // IfElse | DisjunctiveExpression;
2778 public ExpressionElements getExpressionAccess() {
2779 return pExpression;
1673 } 2780 }
1674 2781
1675 //PartialitySymbol: 2782 public ParserRule getExpressionRule() {
1676 // ExistSymbol | EqualsSymbol; 2783 return getExpressionAccess().getRule();
1677 public PartialitySymbolElements getPartialitySymbolAccess() {
1678 return pPartialitySymbol;
1679 } 2784 }
1680 2785
1681 public ParserRule getPartialitySymbolRule() { 2786 //IfElse:
1682 return getPartialitySymbolAccess().getRule(); 2787 // "if" condition=Expression "then" then=Expression "else" else=Expression;
2788 public IfElseElements getIfElseAccess() {
2789 return pIfElse;
1683 } 2790 }
1684 2791
1685 //ExistSymbol: 2792 public ParserRule getIfElseRule() {
1686 // 'exists' {ExistSymbol}; 2793 return getIfElseAccess().getRule();
1687 public ExistSymbolElements getExistSymbolAccess() {
1688 return pExistSymbol;
1689 } 2794 }
1690 2795
1691 public ParserRule getExistSymbolRule() { 2796 //DisjunctiveExpression Expression:
1692 return getExistSymbolAccess().getRule(); 2797 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
2798 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
2799 public DisjunctiveExpressionElements getDisjunctiveExpressionAccess() {
2800 return pDisjunctiveExpression;
1693 } 2801 }
1694 2802
1695 //EqualsSymbol: 2803 public ParserRule getDisjunctiveExpressionRule() {
1696 // 'equals' {EqualsSymbol}; 2804 return getDisjunctiveExpressionAccess().getRule();
1697 public EqualsSymbolElements getEqualsSymbolAccess() {
1698 return pEqualsSymbol;
1699 } 2805 }
1700 2806
1701 public ParserRule getEqualsSymbolRule() { 2807 //Case:
1702 return getEqualsSymbolAccess().getRule(); 2808 // condition=ConjunctiveExpression "->" body=ConjunctiveExpression;
2809 public CaseElements getCaseAccess() {
2810 return pCase;
1703 } 2811 }
1704 2812
1705 //DataSymbol: 2813 public ParserRule getCaseRule() {
1706 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; 2814 return getCaseAccess().getRule();
1707 public DataSymbolElements getDataSymbolAccess() {
1708 return pDataSymbol;
1709 } 2815 }
1710 2816
1711 public ParserRule getDataSymbolRule() { 2817 //ConjunctiveExpression Expression:
1712 return getDataSymbolAccess().getRule(); 2818 // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
2819 public ConjunctiveExpressionElements getConjunctiveExpressionAccess() {
2820 return pConjunctiveExpression;
1713 } 2821 }
1714 2822
1715 //BooleanSymbol: 2823 public ParserRule getConjunctiveExpressionRule() {
1716 // 'bool' {BooleanSymbol}; 2824 return getConjunctiveExpressionAccess().getRule();
1717 public BooleanSymbolElements getBooleanSymbolAccess() {
1718 return pBooleanSymbol;
1719 } 2825 }
1720 2826
1721 public ParserRule getBooleanSymbolRule() { 2827 //enum BinaryOperator:
1722 return getBooleanSymbolAccess().getRule(); 2828 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2829 public BinaryOperatorElements getBinaryOperatorAccess() {
2830 return eBinaryOperator;
1723 } 2831 }
1724 2832
1725 //IntegerSymbol: 2833 public EnumRule getBinaryOperatorRule() {
1726 // 'int' {IntegerSymbol}; 2834 return getBinaryOperatorAccess().getRule();
1727 public IntegerSymbolElements getIntegerSymbolAccess() {
1728 return pIntegerSymbol;
1729 } 2835 }
1730 2836
1731 public ParserRule getIntegerSymbolRule() { 2837 //enum ComparisonOperator returns BinaryOperator:
1732 return getIntegerSymbolAccess().getRule(); 2838 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2839 public ComparisonOperatorElements getComparisonOperatorAccess() {
2840 return eComparisonOperator;
1733 } 2841 }
1734 2842
1735 //RealSymbol: 2843 public EnumRule getComparisonOperatorRule() {
1736 // 'real' {RealSymbol}; 2844 return getComparisonOperatorAccess().getRule();
1737 public RealSymbolElements getRealSymbolAccess() {
1738 return pRealSymbol;
1739 } 2845 }
1740 2846
1741 public ParserRule getRealSymbolRule() { 2847 //ComparisonExpression Expression:
1742 return getRealSymbolAccess().getRule(); 2848 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?;
2849 public ComparisonExpressionElements getComparisonExpressionAccess() {
2850 return pComparisonExpression;
1743 } 2851 }
1744 2852
1745 //StringSymbol: 2853 public ParserRule getComparisonExpressionRule() {
1746 // 'string' {StringSymbol}; 2854 return getComparisonExpressionAccess().getRule();
1747 public StringSymbolElements getStringSymbolAccess() {
1748 return pStringSymbol;
1749 } 2855 }
1750 2856
1751 public ParserRule getStringSymbolRule() { 2857 //enum AdditiveBinaryOperator returns BinaryOperator:
1752 return getStringSymbolAccess().getRule(); 2858 // ADD="+" | SUB="-";
2859 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() {
2860 return eAdditiveBinaryOperator;
1753 } 2861 }
1754 2862
1755 //ComplexObject: 2863 public EnumRule getAdditiveBinaryOperatorRule() {
1756 // Object | AllInstances | AllObjects; 2864 return getAdditiveBinaryOperatorAccess().getRule();
1757 public ComplexObjectElements getComplexObjectAccess() {
1758 return pComplexObject;
1759 } 2865 }
1760 2866
1761 public ParserRule getComplexObjectRule() { 2867 //AdditiveExpression Expression:
1762 return getComplexObjectAccess().getRule(); 2868 // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
2869 public AdditiveExpressionElements getAdditiveExpressionAccess() {
2870 return pAdditiveExpression;
1763 } 2871 }
1764 2872
1765 //Object: 2873 public ParserRule getAdditiveExpressionRule() {
1766 // NamedObject | UnnamedObject | DataObject; 2874 return getAdditiveExpressionAccess().getRule();
1767 public ObjectElements getObjectAccess() {
1768 return pObject;
1769 } 2875 }
1770 2876
1771 public ParserRule getObjectRule() { 2877 //enum MultiplicativeBinaryOperator returns BinaryOperator:
1772 return getObjectAccess().getRule(); 2878 // MUL="*" | DIV="/";
2879 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() {
2880 return eMultiplicativeBinaryOperator;
1773 } 2881 }
1774 2882
1775 //NamedObject: 2883 public EnumRule getMultiplicativeBinaryOperatorRule() {
1776 // "'" name=ID "'"; 2884 return getMultiplicativeBinaryOperatorAccess().getRule();
1777 public NamedObjectElements getNamedObjectAccess() {
1778 return pNamedObject;
1779 } 2885 }
1780 2886
1781 public ParserRule getNamedObjectRule() { 2887 //MultiplicativeExpression Expression:
1782 return getNamedObjectAccess().getRule(); 2888 // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
2889 public MultiplicativeExpressionElements getMultiplicativeExpressionAccess() {
2890 return pMultiplicativeExpression;
1783 } 2891 }
1784 2892
1785 //UnnamedObject: 2893 public ParserRule getMultiplicativeExpressionRule() {
1786 // name=ID; 2894 return getMultiplicativeExpressionAccess().getRule();
1787 public UnnamedObjectElements getUnnamedObjectAccess() {
1788 return pUnnamedObject;
1789 } 2895 }
1790 2896
1791 public ParserRule getUnnamedObjectRule() { 2897 //enum ExponentialOp returns BinaryOperator:
1792 return getUnnamedObjectAccess().getRule(); 2898 // POW="^";
2899 public ExponentialOpElements getExponentialOpAccess() {
2900 return eExponentialOp;
1793 } 2901 }
1794 2902
1795 //DataObject: 2903 public EnumRule getExponentialOpRule() {
1796 // BooleanObject | IntObject | RealObject | StringObject; 2904 return getExponentialOpAccess().getRule();
1797 public DataObjectElements getDataObjectAccess() {
1798 return pDataObject;
1799 } 2905 }
1800 2906
1801 public ParserRule getDataObjectRule() { 2907 //ExponentialExpression Expression:
1802 return getDataObjectAccess().getRule(); 2908 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?;
2909 public ExponentialExpressionElements getExponentialExpressionAccess() {
2910 return pExponentialExpression;
1803 } 2911 }
1804 2912
1805 //BooleanObject: 2913 public ParserRule getExponentialExpressionRule() {
1806 // value=BooleanValue; 2914 return getExponentialExpressionAccess().getRule();
1807 public BooleanObjectElements getBooleanObjectAccess() {
1808 return pBooleanObject;
1809 } 2915 }
1810 2916
1811 public ParserRule getBooleanObjectRule() { 2917 //enum UnaryOp:
1812 return getBooleanObjectAccess().getRule(); 2918 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2919 public UnaryOpElements getUnaryOpAccess() {
2920 return eUnaryOp;
1813 } 2921 }
1814 2922
1815 //IntObject: 2923 public EnumRule getUnaryOpRule() {
1816 // value=INTLiteral; 2924 return getUnaryOpAccess().getRule();
1817 public IntObjectElements getIntObjectAccess() {
1818 return pIntObject;
1819 } 2925 }
1820 2926
1821 public ParserRule getIntObjectRule() { 2927 //UnaryExpression Expression:
1822 return getIntObjectAccess().getRule(); 2928 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
2929 public UnaryExpressionElements getUnaryExpressionAccess() {
2930 return pUnaryExpression;
1823 } 2931 }
1824 2932
1825 //RealObject: 2933 public ParserRule getUnaryExpressionRule() {
1826 // value=REALLiteral; 2934 return getUnaryExpressionAccess().getRule();
1827 public RealObjectElements getRealObjectAccess() {
1828 return pRealObject;
1829 } 2935 }
1830 2936
1831 public ParserRule getRealObjectRule() { 2937 //AggregationExpression Expression:
1832 return getRealObjectAccess().getRule(); 2938 // AtomicExpression | Count | Aggregation;
2939 public AggregationExpressionElements getAggregationExpressionAccess() {
2940 return pAggregationExpression;
1833 } 2941 }
1834 2942
1835 //StringObject: 2943 public ParserRule getAggregationExpressionRule() {
1836 // value=STRING; 2944 return getAggregationExpressionAccess().getRule();
1837 public StringObjectElements getStringObjectAccess() { 2945 }
1838 return pStringObject; 2946
2947 //Count:
2948 // "count" "{" body=Expression "}";
2949 public CountElements getCountAccess() {
2950 return pCount;
2951 }
2952
2953 public ParserRule getCountRule() {
2954 return getCountAccess().getRule();
2955 }
2956
2957 //enum AggregationOp:
2958 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2959 public AggregationOpElements getAggregationOpAccess() {
2960 return eAggregationOp;
2961 }
2962
2963 public EnumRule getAggregationOpRule() {
2964 return getAggregationOpAccess().getRule();
2965 }
2966
2967 //Aggregation:
2968 // op=AggregationOp "{" body=Expression "|" condition=Expression "}";
2969 public AggregationElements getAggregationAccess() {
2970 return pAggregation;
2971 }
2972
2973 public ParserRule getAggregationRule() {
2974 return getAggregationAccess().getRule();
2975 }
2976
2977 //AtomicExpression Expression:
2978 // Reference | Call | Interval | Literal | "(" Expression ")";
2979 public AtomicExpressionElements getAtomicExpressionAccess() {
2980 return pAtomicExpression;
2981 }
2982
2983 public ParserRule getAtomicExpressionRule() {
2984 return getAtomicExpressionAccess().getRule();
1839 } 2985 }
1840 2986
1841 public ParserRule getStringObjectRule() { 2987 //Call:
1842 return getStringObjectAccess().getRule(); 2988 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
2989 // argumentList=ArgumentList;
2990 public CallElements getCallAccess() {
2991 return pCall;
1843 } 2992 }
1844 2993
1845 ///////////////////// 2994 public ParserRule getCallRule() {
1846 //// Predicte grammar 2995 return getCallAccess().getRule();
1847 /////////////////////
1848 //Predicate:
1849 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
1850 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
1851 public PredicateElements getPredicateAccess() {
1852 return pPredicate;
1853 } 2996 }
1854 2997
1855 public ParserRule getPredicateRule() { 2998 //ArgumentList:
1856 return getPredicateAccess().getRule(); 2999 // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
3000 public ArgumentListElements getArgumentListAccess() {
3001 return pArgumentList;
1857 } 3002 }
1858 3003
1859 //Parameter: 3004 public ParserRule getArgumentListRule() {
1860 // variable=Variable (':' type=Symbol)?; 3005 return getArgumentListAccess().getRule();
1861 public ParameterElements getParameterAccess() {
1862 return pParameter;
1863 } 3006 }
1864 3007
1865 public ParserRule getParameterRule() { 3008 //Argument:
1866 return getParameterAccess().getRule(); 3009 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument;
3010 public ArgumentElements getArgumentAccess() {
3011 return pArgument;
1867 } 3012 }
1868 3013
1869 //PatternBody: 3014 public ParserRule getArgumentRule() {
1870 // {PatternBody} ('true' | constraints+=Constraint*); 3015 return getArgumentAccess().getRule();
1871 public PatternBodyElements getPatternBodyAccess() {
1872 return pPatternBody;
1873 } 3016 }
1874 3017
1875 public ParserRule getPatternBodyRule() { 3018 //ExpressionArgument:
1876 return getPatternBodyAccess().getRule(); 3019 // body=ComparisonExpression;
3020 public ExpressionArgumentElements getExpressionArgumentAccess() {
3021 return pExpressionArgument;
1877 } 3022 }
1878 3023
1879 //Polarity: 3024 public ParserRule getExpressionArgumentRule() {
1880 // {Positive} '+' | {Negative} '-'; 3025 return getExpressionArgumentAccess().getRule();
1881 public PolarityElements getPolarityAccess() {
1882 return pPolarity;
1883 } 3026 }
1884 3027
1885 public ParserRule getPolarityRule() { 3028 //StarArgument:
1886 return getPolarityAccess().getRule(); 3029 // {StarArgument} "*";
3030 public StarArgumentElements getStarArgumentAccess() {
3031 return pStarArgument;
1887 } 3032 }
1888 3033
1889 //Constraint: 3034 public ParserRule getStarArgumentRule() {
1890 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType 3035 return getStarArgumentAccess().getRule();
1891 // '(' params+=Literal? (',' params+=Literal)* ')';
1892 public ConstraintElements getConstraintAccess() {
1893 return pConstraint;
1894 } 3036 }
1895 3037
1896 public ParserRule getConstraintRule() { 3038 //TypedArgument:
1897 return getConstraintAccess().getRule(); 3039 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName];
3040 public TypedArgumentElements getTypedArgumentAccess() {
3041 return pTypedArgument;
1898 } 3042 }
1899 3043
1900 //ClosureType: 3044 public ParserRule getTypedArgumentRule() {
1901 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 3045 return getTypedArgumentAccess().getRule();
1902 public ClosureTypeElements getClosureTypeAccess() {
1903 return pClosureType;
1904 } 3046 }
1905 3047
1906 public ParserRule getClosureTypeRule() { 3048 //TypedStarArgument:
1907 return getClosureTypeAccess().getRule(); 3049 // type=[NamedElement|QualifiedName] "*";
3050 public TypedStarArgumentElements getTypedStarArgumentAccess() {
3051 return pTypedStarArgument;
3052 }
3053
3054 public ParserRule getTypedStarArgumentRule() {
3055 return getTypedStarArgumentAccess().getRule();
3056 }
3057
3058 //Reference:
3059 // referred=[NamedElement|QualifiedName];
3060 public ReferenceElements getReferenceAccess() {
3061 return pReference;
3062 }
3063
3064 public ParserRule getReferenceRule() {
3065 return getReferenceAccess().getRule();
3066 }
3067
3068 //Interval:
3069 // "[" lowerBound=Expression ".." upperBound=Expression "]";
3070 public IntervalElements getIntervalAccess() {
3071 return pInterval;
3072 }
3073
3074 public ParserRule getIntervalRule() {
3075 return getIntervalAccess().getRule();
1908 } 3076 }
1909 3077
1910 //Literal: 3078 //Literal:
1911 // Variable | DataObject | NamedObject; 3079 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral;
1912 public LiteralElements getLiteralAccess() { 3080 public LiteralElements getLiteralAccess() {
1913 return pLiteral; 3081 return pLiteral;
1914 } 3082 }
@@ -1917,116 +3085,267 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1917 return getLiteralAccess().getRule(); 3085 return getLiteralAccess().getRule();
1918 } 3086 }
1919 3087
1920 //Variable: 3088 //enum LogicValue:
1921 // name=ID; 3089 // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
1922 public VariableElements getVariableAccess() { 3090 public LogicValueElements getLogicValueAccess() {
1923 return pVariable; 3091 return eLogicValue;
3092 }
3093
3094 public EnumRule getLogicValueRule() {
3095 return getLogicValueAccess().getRule();
3096 }
3097
3098 //LogicLiteral:
3099 // value=LogicValue;
3100 public LogicLiteralElements getLogicLiteralAccess() {
3101 return pLogicLiteral;
3102 }
3103
3104 public ParserRule getLogicLiteralRule() {
3105 return getLogicLiteralAccess().getRule();
3106 }
3107
3108 //NumericLiteral:
3109 // value=Real;
3110 public NumericLiteralElements getNumericLiteralAccess() {
3111 return pNumericLiteral;
3112 }
3113
3114 public ParserRule getNumericLiteralRule() {
3115 return getNumericLiteralAccess().getRule();
3116 }
3117
3118 //InfinityLiteral:
3119 // {InfinityLiteral} "inf";
3120 public InfinityLiteralElements getInfinityLiteralAccess() {
3121 return pInfinityLiteral;
3122 }
3123
3124 public ParserRule getInfinityLiteralRule() {
3125 return getInfinityLiteralAccess().getRule();
1924 } 3126 }
1925 3127
1926 public ParserRule getVariableRule() { 3128 //EmptyIntervalLiteral:
1927 return getVariableAccess().getRule(); 3129 // {EmptyIntervalLiteral} "empty";
3130 public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() {
3131 return pEmptyIntervalLiteral;
1928 } 3132 }
1929 3133
1930 ///////////////////// 3134 public ParserRule getEmptyIntervalLiteralRule() {
1931 //// Complex Interpretation grammar 3135 return getEmptyIntervalLiteralAccess().getRule();
1932 ///////////////////// 3136 }
1933 //AllInstances: 3137
1934 // ':' symbol=Symbol; 3138 //StringLiteral:
1935 public AllInstancesElements getAllInstancesAccess() { 3139 // value=STRING;
1936 return pAllInstances; 3140 public StringLiteralElements getStringLiteralAccess() {
3141 return pStringLiteral;
1937 } 3142 }
1938 3143
1939 public ParserRule getAllInstancesRule() { 3144 public ParserRule getStringLiteralRule() {
1940 return getAllInstancesAccess().getRule(); 3145 return getStringLiteralAccess().getRule();
1941 } 3146 }
1942 3147
1943 //AllObjects: 3148 //ClassDefinition:
1944 // {AllObjects} '*'; 3149 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
1945 public AllObjectsElements getAllObjectsAccess() { 3150 // superclasses+=[NamedElement|QualifiedName])*)?
1946 return pAllObjects; 3151 // "{" members+=MemberDefinition* "}";
3152 public ClassDefinitionElements getClassDefinitionAccess() {
3153 return pClassDefinition;
1947 } 3154 }
1948 3155
1949 public ParserRule getAllObjectsRule() { 3156 public ParserRule getClassDefinitionRule() {
1950 return getAllObjectsAccess().getRule(); 3157 return getClassDefinitionAccess().getRule();
1951 } 3158 }
1952 3159
1953 ///////////////////// 3160 //MemberDefinition:
1954 //// Defaul Interpretation grammar 3161 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
1955 ///////////////////// 3162 // opposite=[NamedElement|QualifiedName])? ";"?;
1956 //DefaultInterpretation: 3163 public MemberDefinitionElements getMemberDefinitionAccess() {
1957 // 'default' interpretation=BasicInterpretation; 3164 return pMemberDefinition;
1958 public DefaultInterpretationElements getDefaultInterpretationAccess() {
1959 return pDefaultInterpretation;
1960 } 3165 }
1961 3166
1962 public ParserRule getDefaultInterpretationRule() { 3167 public ParserRule getMemberDefinitionRule() {
1963 return getDefaultInterpretationAccess().getRule(); 3168 return getMemberDefinitionAccess().getRule();
1964 } 3169 }
1965 3170
1966 ///////////////////// 3171 //Multiplicity:
1967 //// Advanced Class-Diagram interpretations 3172 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity;
1968 ///////////////////// 3173 public MultiplicityElements getMultiplicityAccess() {
1969 //CDInterpretation: 3174 return pMultiplicity;
1970 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation;
1971 public CDInterpretationElements getCDInterpretationAccess() {
1972 return pCDInterpretation;
1973 } 3175 }
1974 3176
1975 public ParserRule getCDInterpretationRule() { 3177 public ParserRule getMultiplicityRule() {
1976 return getCDInterpretationAccess().getRule(); 3178 return getMultiplicityAccess().getRule();
1977 } 3179 }
1978 3180
1979 //ClassInterpretation: 3181 //ManyMultiplicity:
1980 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 3182 // {ManyMultiplicity} "[" "]";
1981 // fielt+=FieldRelationInterpretation* 3183 public ManyMultiplicityElements getManyMultiplicityAccess() {
1982 // '}'; 3184 return pManyMultiplicity;
1983 public ClassInterpretationElements getClassInterpretationAccess() {
1984 return pClassInterpretation;
1985 } 3185 }
1986 3186
1987 public ParserRule getClassInterpretationRule() { 3187 public ParserRule getManyMultiplicityRule() {
1988 return getClassInterpretationAccess().getRule(); 3188 return getManyMultiplicityAccess().getRule();
1989 } 3189 }
1990 3190
1991 //EnumInterpretation: 3191 //ExactMultiplicity:
1992 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; 3192 // "[" multiplicity=UpperMultiplicty "]";
1993 public EnumInterpretationElements getEnumInterpretationAccess() { 3193 public ExactMultiplicityElements getExactMultiplicityAccess() {
1994 return pEnumInterpretation; 3194 return pExactMultiplicity;
1995 } 3195 }
1996 3196
1997 public ParserRule getEnumInterpretationRule() { 3197 public ParserRule getExactMultiplicityRule() {
1998 return getEnumInterpretationAccess().getRule(); 3198 return getExactMultiplicityAccess().getRule();
1999 } 3199 }
2000 3200
2001 //FieldRelationInterpretation: 3201 //BoundedMultiplicity:
2002 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 3202 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]";
2003 public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() { 3203 public BoundedMultiplicityElements getBoundedMultiplicityAccess() {
2004 return pFieldRelationInterpretation; 3204 return pBoundedMultiplicity;
2005 } 3205 }
2006 3206
2007 public ParserRule getFieldRelationInterpretationRule() { 3207 public ParserRule getBoundedMultiplicityRule() {
2008 return getFieldRelationInterpretationAccess().getRule(); 3208 return getBoundedMultiplicityAccess().getRule();
2009 } 3209 }
2010 3210
2011 //GlobalRelationInterpretation: 3211 //ScopeDefinition:
2012 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? 3212 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition;
2013 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; 3213 public ScopeDefinitionElements getScopeDefinitionAccess() {
2014 public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() { 3214 return pScopeDefinition;
2015 return pGlobalRelationInterpretation;
2016 } 3215 }
2017 3216
2018 public ParserRule getGlobalRelationInterpretationRule() { 3217 public ParserRule getScopeDefinitionRule() {
2019 return getGlobalRelationInterpretationAccess().getRule(); 3218 return getScopeDefinitionAccess().getRule();
2020 } 3219 }
2021 3220
2022 //MultiplicityDefinition: 3221 //ExactScopeDefinition:
2023 // lower=INT '..' (upper=INT | unlimitedUpper?='*'); 3222 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT;
2024 public MultiplicityDefinitionElements getMultiplicityDefinitionAccess() { 3223 public ExactScopeDefinitionElements getExactScopeDefinitionAccess() {
2025 return pMultiplicityDefinition; 3224 return pExactScopeDefinition;
2026 } 3225 }
2027 3226
2028 public ParserRule getMultiplicityDefinitionRule() { 3227 public ParserRule getExactScopeDefinitionRule() {
2029 return getMultiplicityDefinitionAccess().getRule(); 3228 return getExactScopeDefinitionAccess().getRule();
3229 }
3230
3231 //BoundedScopeDefinition:
3232 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
3233 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?);
3234 public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() {
3235 return pBoundedScopeDefinition;
3236 }
3237
3238 public ParserRule getBoundedScopeDefinitionRule() {
3239 return getBoundedScopeDefinitionAccess().getRule();
3240 }
3241
3242 //LowerBoundedScopeDefinition:
3243 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">="
3244 // lowerBound=INT);
3245 public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() {
3246 return pLowerBoundedScopeDefinition;
3247 }
3248
3249 public ParserRule getLowerBoundedScopeDefinitionRule() {
3250 return getLowerBoundedScopeDefinitionAccess().getRule();
3251 }
3252
3253 //enum ObjectiveKind:
3254 // MINIMIZE="minimize" | MAXIMIZE="maximize";
3255 public ObjectiveKindElements getObjectiveKindAccess() {
3256 return eObjectiveKind;
3257 }
3258
3259 public EnumRule getObjectiveKindRule() {
3260 return getObjectiveKindAccess().getRule();
3261 }
3262
3263 //ObjectiveDefinition:
3264 // kind=ObjectiveKind objective=Expression;
3265 public ObjectiveDefinitionElements getObjectiveDefinitionAccess() {
3266 return pObjectiveDefinition;
3267 }
3268
3269 public ParserRule getObjectiveDefinitionRule() {
3270 return getObjectiveDefinitionAccess().getRule();
3271 }
3272
3273 //UpperMultiplicty ecore::EInt:
3274 // INT | "*";
3275 public UpperMultiplictyElements getUpperMultiplictyAccess() {
3276 return pUpperMultiplicty;
3277 }
3278
3279 public ParserRule getUpperMultiplictyRule() {
3280 return getUpperMultiplictyAccess().getRule();
3281 }
3282
3283 //Real ecore::EBigDecimal hidden():
3284 // INT ("." INT)?;
3285 public RealElements getRealAccess() {
3286 return pReal;
3287 }
3288
3289 public ParserRule getRealRule() {
3290 return getRealAccess().getRule();
3291 }
3292
3293 //QualifiedName hidden():
3294 // ID ("." ID)* | QUOTED_ID;
3295 public QualifiedNameElements getQualifiedNameAccess() {
3296 return pQualifiedName;
3297 }
3298
3299 public ParserRule getQualifiedNameRule() {
3300 return getQualifiedNameAccess().getRule();
3301 }
3302
3303 //@Override
3304 //terminal STRING:
3305 // '"' ('\\' . | !('\\' | '"'))* '"';
3306 public TerminalRule getSTRINGRule() {
3307 return tSTRING;
3308 }
3309
3310 //terminal QUOTED_ID:
3311 // '\'' ('\\' . | !('\\' | '\''))* '\'';
3312 public TerminalRule getQUOTED_IDRule() {
3313 return tQUOTED_ID;
3314 }
3315
3316 //@Override
3317 //terminal SL_COMMENT:
3318 // ('%' | '//') !('\n' | '\r')* ('\r'? '\n')?;
3319 public TerminalRule getSL_COMMENTRule() {
3320 return tSL_COMMENT;
3321 }
3322
3323 //terminal TRANSITIVE_CLOSURE:
3324 // "synthetic:TRANSITIVE_CLOSURE";
3325 public TerminalRule getTRANSITIVE_CLOSURERule() {
3326 return tTRANSITIVE_CLOSURE;
3327 }
3328
3329 //terminal REFLEXIVE_TRANSITIVE_CLOSURE:
3330 // "synthetic:REFLEXIVE_TRANSITIVE_CLOSURE";
3331 public TerminalRule getREFLEXIVE_TRANSITIVE_CLOSURERule() {
3332 return tREFLEXIVE_TRANSITIVE_CLOSURE;
3333 }
3334
3335 //terminal FULL_STOP:
3336 // "synthetic:FULL_STOP";
3337 public TerminalRule getFULL_STOPRule() {
3338 return tFULL_STOP;
3339 }
3340
3341 //NamedElement:
3342 // name=QualifiedName;
3343 public NamedElementElements getNamedElementAccess() {
3344 return pNamedElement;
3345 }
3346
3347 public ParserRule getNamedElementRule() {
3348 return getNamedElementAccess().getRule();
2030 } 3349 }
2031 3350
2032 //terminal ID: 3351 //terminal ID:
@@ -2047,12 +3366,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2047 return gaTerminals.getML_COMMENTRule(); 3366 return gaTerminals.getML_COMMENTRule();
2048 } 3367 }
2049 3368
2050 //terminal SL_COMMENT:
2051 // '//' !('\n' | '\r')* ('\r'? '\n')?;
2052 public TerminalRule getSL_COMMENTRule() {
2053 return gaTerminals.getSL_COMMENTRule();
2054 }
2055
2056 //terminal WS: 3369 //terminal WS:
2057 // ' ' | '\t' | '\r' | '\n'+; 3370 // ' ' | '\t' | '\r' | '\n'+;
2058 public TerminalRule getWSRule() { 3371 public TerminalRule getWSRule() {