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