aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java1411
1 files changed, 1411 insertions, 0 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
new file mode 100644
index 00000000..7d6b7013
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
@@ -0,0 +1,1411 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.services;
5
6import com.google.inject.Inject;
7import com.google.inject.Singleton;
8import java.util.List;
9import org.eclipse.xtext.Alternatives;
10import org.eclipse.xtext.Assignment;
11import org.eclipse.xtext.CrossReference;
12import org.eclipse.xtext.EnumLiteralDeclaration;
13import org.eclipse.xtext.EnumRule;
14import org.eclipse.xtext.Grammar;
15import org.eclipse.xtext.GrammarUtil;
16import org.eclipse.xtext.Group;
17import org.eclipse.xtext.Keyword;
18import org.eclipse.xtext.ParserRule;
19import org.eclipse.xtext.RuleCall;
20import org.eclipse.xtext.TerminalRule;
21import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
22import org.eclipse.xtext.service.AbstractElementFinder;
23import org.eclipse.xtext.service.GrammarProvider;
24
25@Singleton
26public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder {
27
28 public class ProblemElements extends AbstractParserRuleElementFinder {
29 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Problem");
30 private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1);
31 private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0);
32
33 //Problem:
34 // statements+=Statement*;
35 @Override public ParserRule getRule() { return rule; }
36
37 //statements+=Statement*
38 public Assignment getStatementsAssignment() { return cStatementsAssignment; }
39
40 //Statement
41 public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; }
42 }
43 public class StatementElements extends AbstractParserRuleElementFinder {
44 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Statement");
45 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
46 private final RuleCall cClassDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
47 private final RuleCall cPredicateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
48 private final RuleCall cAssertionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
49 private final RuleCall cScopeDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
50
51 //Statement:
52 // ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
53 @Override public ParserRule getRule() { return rule; }
54
55 //ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration
56 public Alternatives getAlternatives() { return cAlternatives; }
57
58 //ClassDeclaration
59 public RuleCall getClassDeclarationParserRuleCall_0() { return cClassDeclarationParserRuleCall_0; }
60
61 //PredicateDefinition
62 public RuleCall getPredicateDefinitionParserRuleCall_1() { return cPredicateDefinitionParserRuleCall_1; }
63
64 //Assertion
65 public RuleCall getAssertionParserRuleCall_2() { return cAssertionParserRuleCall_2; }
66
67 //ScopeDeclaration
68 public RuleCall getScopeDeclarationParserRuleCall_3() { return cScopeDeclarationParserRuleCall_3; }
69 }
70 public class ClassDeclarationElements extends AbstractParserRuleElementFinder {
71 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ClassDeclaration");
72 private final Group cGroup = (Group)rule.eContents().get(1);
73 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
74 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
75 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
76 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
77 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
78 private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
79 private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0);
80 private final Keyword cExtendsKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
81 private final Alternatives cAlternatives_3_0_1 = (Alternatives)cGroup_3_0.eContents().get(1);
82 private final Assignment cSuperTypesAssignment_3_0_1_0 = (Assignment)cAlternatives_3_0_1.eContents().get(0);
83 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_0_0 = (CrossReference)cSuperTypesAssignment_3_0_1_0.eContents().get(0);
84 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_0_0.eContents().get(1);
85 private final Group cGroup_3_0_1_1 = (Group)cAlternatives_3_0_1.eContents().get(1);
86 private final Keyword cLeftSquareBracketKeyword_3_0_1_1_0 = (Keyword)cGroup_3_0_1_1.eContents().get(0);
87 private final Group cGroup_3_0_1_1_1 = (Group)cGroup_3_0_1_1.eContents().get(1);
88 private final Assignment cSuperTypesAssignment_3_0_1_1_1_0 = (Assignment)cGroup_3_0_1_1_1.eContents().get(0);
89 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0 = (CrossReference)cSuperTypesAssignment_3_0_1_1_1_0.eContents().get(0);
90 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0.eContents().get(1);
91 private final Group cGroup_3_0_1_1_1_1 = (Group)cGroup_3_0_1_1_1.eContents().get(1);
92 private final Keyword cCommaKeyword_3_0_1_1_1_1_0 = (Keyword)cGroup_3_0_1_1_1_1.eContents().get(0);
93 private final Assignment cSuperTypesAssignment_3_0_1_1_1_1_1 = (Assignment)cGroup_3_0_1_1_1_1.eContents().get(1);
94 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0 = (CrossReference)cSuperTypesAssignment_3_0_1_1_1_1_1.eContents().get(0);
95 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0.eContents().get(1);
96 private final Keyword cRightSquareBracketKeyword_3_0_1_1_2 = (Keyword)cGroup_3_0_1_1.eContents().get(2);
97 private final Assignment cReferenceDeclarationsAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
98 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0 = (RuleCall)cReferenceDeclarationsAssignment_3_1.eContents().get(0);
99 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
100 private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
101 private final Assignment cReferenceDeclarationsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
102 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0 = (RuleCall)cReferenceDeclarationsAssignment_4_1.eContents().get(0);
103 private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
104
105 //ClassDeclaration:
106 // abstract?="abstract"? "class"
107 // name=ID
108 // ("extends" (superTypes+=[ClassDeclaration] |
109 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") |
110 // referenceDeclarations+=ReferenceDeclaration)?
111 // ("," referenceDeclarations+=ReferenceDeclaration)*
112 // ".";
113 @Override public ParserRule getRule() { return rule; }
114
115 //abstract?="abstract"? "class"
116 //name=ID
117 //("extends" (superTypes+=[ClassDeclaration] |
118 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") |
119 //referenceDeclarations+=ReferenceDeclaration)?
120 //("," referenceDeclarations+=ReferenceDeclaration)*
121 //"."
122 public Group getGroup() { return cGroup; }
123
124 //abstract?="abstract"?
125 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
126
127 //"abstract"
128 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
129
130 //"class"
131 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
132
133 //name=ID
134 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
135
136 //ID
137 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
138
139 //("extends" (superTypes+=[ClassDeclaration] |
140 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") |
141 //referenceDeclarations+=ReferenceDeclaration)?
142 public Alternatives getAlternatives_3() { return cAlternatives_3; }
143
144 //"extends" (superTypes+=[ClassDeclaration] |
145 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]")
146 public Group getGroup_3_0() { return cGroup_3_0; }
147
148 //"extends"
149 public Keyword getExtendsKeyword_3_0_0() { return cExtendsKeyword_3_0_0; }
150
151 //(superTypes+=[ClassDeclaration] |
152 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]")
153 public Alternatives getAlternatives_3_0_1() { return cAlternatives_3_0_1; }
154
155 //superTypes+=[ClassDeclaration]
156 public Assignment getSuperTypesAssignment_3_0_1_0() { return cSuperTypesAssignment_3_0_1_0; }
157
158 //[ClassDeclaration]
159 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_0_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_0_0; }
160
161 //ID
162 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1; }
163
164 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]"
165 public Group getGroup_3_0_1_1() { return cGroup_3_0_1_1; }
166
167 //"["
168 public Keyword getLeftSquareBracketKeyword_3_0_1_1_0() { return cLeftSquareBracketKeyword_3_0_1_1_0; }
169
170 //(superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)?
171 public Group getGroup_3_0_1_1_1() { return cGroup_3_0_1_1_1; }
172
173 //superTypes+=[ClassDeclaration]
174 public Assignment getSuperTypesAssignment_3_0_1_1_1_0() { return cSuperTypesAssignment_3_0_1_1_1_0; }
175
176 //[ClassDeclaration]
177 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0; }
178
179 //ID
180 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1; }
181
182 //("," superTypes+=[ClassDeclaration])*
183 public Group getGroup_3_0_1_1_1_1() { return cGroup_3_0_1_1_1_1; }
184
185 //","
186 public Keyword getCommaKeyword_3_0_1_1_1_1_0() { return cCommaKeyword_3_0_1_1_1_1_0; }
187
188 //superTypes+=[ClassDeclaration]
189 public Assignment getSuperTypesAssignment_3_0_1_1_1_1_1() { return cSuperTypesAssignment_3_0_1_1_1_1_1; }
190
191 //[ClassDeclaration]
192 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0; }
193
194 //ID
195 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1; }
196
197 //"]"
198 public Keyword getRightSquareBracketKeyword_3_0_1_1_2() { return cRightSquareBracketKeyword_3_0_1_1_2; }
199
200 //referenceDeclarations+=ReferenceDeclaration
201 public Assignment getReferenceDeclarationsAssignment_3_1() { return cReferenceDeclarationsAssignment_3_1; }
202
203 //ReferenceDeclaration
204 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0; }
205
206 //("," referenceDeclarations+=ReferenceDeclaration)*
207 public Group getGroup_4() { return cGroup_4; }
208
209 //","
210 public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }
211
212 //referenceDeclarations+=ReferenceDeclaration
213 public Assignment getReferenceDeclarationsAssignment_4_1() { return cReferenceDeclarationsAssignment_4_1; }
214
215 //ReferenceDeclaration
216 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0; }
217
218 //"."
219 public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; }
220 }
221 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder {
222 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
223 private final Group cGroup = (Group)rule.eContents().get(1);
224 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
225 private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0);
226 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0);
227 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
228 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
229 private final CrossReference cReferenceTypeClassDeclarationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0);
230 private final RuleCall cReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cReferenceTypeClassDeclarationCrossReference_1_0.eContents().get(1);
231 private final Keyword cLeftSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
232 private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3);
233 private final RuleCall cMultiplicityMultiplicityParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0);
234 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
235 private final Assignment cNameAssignment_5 = (Assignment)cGroup.eContents().get(5);
236 private final RuleCall cNameIDTerminalRuleCall_5_0 = (RuleCall)cNameAssignment_5.eContents().get(0);
237 private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
238 private final Keyword cOppositeKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
239 private final Assignment cOppositeAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
240 private final CrossReference cOppositeReferenceDeclarationCrossReference_6_1_0 = (CrossReference)cOppositeAssignment_6_1.eContents().get(0);
241 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_6_1_0.eContents().get(1);
242
243 //ReferenceDeclaration:
244 // (containment?="contains" | "refers")
245 // referenceType=[ClassDeclaration]
246 // "[" multiplicity=Multiplicity "]"
247 // name=ID
248 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
249 @Override public ParserRule getRule() { return rule; }
250
251 //(containment?="contains" | "refers")
252 //referenceType=[ClassDeclaration]
253 //"[" multiplicity=Multiplicity "]"
254 //name=ID
255 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
256 public Group getGroup() { return cGroup; }
257
258 //(containment?="contains" | "refers")
259 public Alternatives getAlternatives_0() { return cAlternatives_0; }
260
261 //containment?="contains"
262 public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; }
263
264 //"contains"
265 public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; }
266
267 //"refers"
268 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; }
269
270 //referenceType=[ClassDeclaration]
271 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; }
272
273 //[ClassDeclaration]
274 public CrossReference getReferenceTypeClassDeclarationCrossReference_1_0() { return cReferenceTypeClassDeclarationCrossReference_1_0; }
275
276 //ID
277 public RuleCall getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1() { return cReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1; }
278
279 //"["
280 public Keyword getLeftSquareBracketKeyword_2() { return cLeftSquareBracketKeyword_2; }
281
282 //multiplicity=Multiplicity
283 public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; }
284
285 //Multiplicity
286 public RuleCall getMultiplicityMultiplicityParserRuleCall_3_0() { return cMultiplicityMultiplicityParserRuleCall_3_0; }
287
288 //"]"
289 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
290
291 //name=ID
292 public Assignment getNameAssignment_5() { return cNameAssignment_5; }
293
294 //ID
295 public RuleCall getNameIDTerminalRuleCall_5_0() { return cNameIDTerminalRuleCall_5_0; }
296
297 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
298 public Group getGroup_6() { return cGroup_6; }
299
300 //"opposite"
301 public Keyword getOppositeKeyword_6_0() { return cOppositeKeyword_6_0; }
302
303 //opposite=[ReferenceDeclaration|QualifiedName]
304 public Assignment getOppositeAssignment_6_1() { return cOppositeAssignment_6_1; }
305
306 //[ReferenceDeclaration|QualifiedName]
307 public CrossReference getOppositeReferenceDeclarationCrossReference_6_1_0() { return cOppositeReferenceDeclarationCrossReference_6_1_0; }
308
309 //QualifiedName
310 public RuleCall getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1() { return cOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1; }
311 }
312 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
313 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.PredicateDefinition");
314 private final Group cGroup = (Group)rule.eContents().get(1);
315 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
316 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
317 private final Assignment cErrorAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
318 private final Keyword cErrorErrorKeyword_0_0_0_0 = (Keyword)cErrorAssignment_0_0_0.eContents().get(0);
319 private final Keyword cPredKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
320 private final Keyword cPredKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
321 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
322 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
323 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
324 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
325 private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
326 private final RuleCall cParametersParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0);
327 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
328 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
329 private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
330 private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0);
331 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
332 private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
333 private final Keyword cColonEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
334 private final Assignment cBodiesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
335 private final RuleCall cBodiesConjunctionParserRuleCall_5_1_0 = (RuleCall)cBodiesAssignment_5_1.eContents().get(0);
336 private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2);
337 private final Keyword cSemicolonKeyword_5_2_0 = (Keyword)cGroup_5_2.eContents().get(0);
338 private final Assignment cBodiesAssignment_5_2_1 = (Assignment)cGroup_5_2.eContents().get(1);
339 private final RuleCall cBodiesConjunctionParserRuleCall_5_2_1_0 = (RuleCall)cBodiesAssignment_5_2_1.eContents().get(0);
340 private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6);
341
342 //PredicateDefinition:
343 // (error?="error" "pred"? | "pred")
344 // name=ID
345 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
346 // (":=" bodies+=Conjunction (";" bodies+=Conjunction)*)?
347 // ".";
348 @Override public ParserRule getRule() { return rule; }
349
350 //(error?="error" "pred"? | "pred")
351 //name=ID
352 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
353 //(":=" bodies+=Conjunction (";" bodies+=Conjunction)*)?
354 //"."
355 public Group getGroup() { return cGroup; }
356
357 //(error?="error" "pred"? | "pred")
358 public Alternatives getAlternatives_0() { return cAlternatives_0; }
359
360 //error?="error" "pred"?
361 public Group getGroup_0_0() { return cGroup_0_0; }
362
363 //error?="error"
364 public Assignment getErrorAssignment_0_0_0() { return cErrorAssignment_0_0_0; }
365
366 //"error"
367 public Keyword getErrorErrorKeyword_0_0_0_0() { return cErrorErrorKeyword_0_0_0_0; }
368
369 //"pred"?
370 public Keyword getPredKeyword_0_0_1() { return cPredKeyword_0_0_1; }
371
372 //"pred"
373 public Keyword getPredKeyword_0_1() { return cPredKeyword_0_1; }
374
375 //name=ID
376 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
377
378 //ID
379 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
380
381 //"("
382 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
383
384 //(parameters+=Parameter ("," parameters+=Parameter)*)?
385 public Group getGroup_3() { return cGroup_3; }
386
387 //parameters+=Parameter
388 public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; }
389
390 //Parameter
391 public RuleCall getParametersParameterParserRuleCall_3_0_0() { return cParametersParameterParserRuleCall_3_0_0; }
392
393 //("," parameters+=Parameter)*
394 public Group getGroup_3_1() { return cGroup_3_1; }
395
396 //","
397 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
398
399 //parameters+=Parameter
400 public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; }
401
402 //Parameter
403 public RuleCall getParametersParameterParserRuleCall_3_1_1_0() { return cParametersParameterParserRuleCall_3_1_1_0; }
404
405 //")"
406 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
407
408 //(":=" bodies+=Conjunction (";" bodies+=Conjunction)*)?
409 public Group getGroup_5() { return cGroup_5; }
410
411 //":="
412 public Keyword getColonEqualsSignKeyword_5_0() { return cColonEqualsSignKeyword_5_0; }
413
414 //bodies+=Conjunction
415 public Assignment getBodiesAssignment_5_1() { return cBodiesAssignment_5_1; }
416
417 //Conjunction
418 public RuleCall getBodiesConjunctionParserRuleCall_5_1_0() { return cBodiesConjunctionParserRuleCall_5_1_0; }
419
420 //(";" bodies+=Conjunction)*
421 public Group getGroup_5_2() { return cGroup_5_2; }
422
423 //";"
424 public Keyword getSemicolonKeyword_5_2_0() { return cSemicolonKeyword_5_2_0; }
425
426 //bodies+=Conjunction
427 public Assignment getBodiesAssignment_5_2_1() { return cBodiesAssignment_5_2_1; }
428
429 //Conjunction
430 public RuleCall getBodiesConjunctionParserRuleCall_5_2_1_0() { return cBodiesConjunctionParserRuleCall_5_2_1_0; }
431
432 //"."
433 public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; }
434 }
435 public class ParameterElements extends AbstractParserRuleElementFinder {
436 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Parameter");
437 private final Group cGroup = (Group)rule.eContents().get(1);
438 private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
439 private final CrossReference cParameterTypeClassDeclarationCrossReference_0_0 = (CrossReference)cParameterTypeAssignment_0.eContents().get(0);
440 private final RuleCall cParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cParameterTypeClassDeclarationCrossReference_0_0.eContents().get(1);
441 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
442 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
443
444 //Parameter:
445 // parameterType=[ClassDeclaration] name=ID;
446 @Override public ParserRule getRule() { return rule; }
447
448 //parameterType=[ClassDeclaration] name=ID
449 public Group getGroup() { return cGroup; }
450
451 //parameterType=[ClassDeclaration]
452 public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; }
453
454 //[ClassDeclaration]
455 public CrossReference getParameterTypeClassDeclarationCrossReference_0_0() { return cParameterTypeClassDeclarationCrossReference_0_0; }
456
457 //ID
458 public RuleCall getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1() { return cParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1; }
459
460 //name=ID
461 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
462
463 //ID
464 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
465 }
466 public class ConjunctionElements extends AbstractParserRuleElementFinder {
467 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Conjunction");
468 private final Group cGroup = (Group)rule.eContents().get(1);
469 private final Assignment cLiteralsAssignment_0 = (Assignment)cGroup.eContents().get(0);
470 private final RuleCall cLiteralsLiteralParserRuleCall_0_0 = (RuleCall)cLiteralsAssignment_0.eContents().get(0);
471 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
472 private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
473 private final Assignment cLiteralsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
474 private final RuleCall cLiteralsLiteralParserRuleCall_1_1_0 = (RuleCall)cLiteralsAssignment_1_1.eContents().get(0);
475
476 //Conjunction:
477 // literals+=Literal ("," literals+=Literal)*;
478 @Override public ParserRule getRule() { return rule; }
479
480 //literals+=Literal ("," literals+=Literal)*
481 public Group getGroup() { return cGroup; }
482
483 //literals+=Literal
484 public Assignment getLiteralsAssignment_0() { return cLiteralsAssignment_0; }
485
486 //Literal
487 public RuleCall getLiteralsLiteralParserRuleCall_0_0() { return cLiteralsLiteralParserRuleCall_0_0; }
488
489 //("," literals+=Literal)*
490 public Group getGroup_1() { return cGroup_1; }
491
492 //","
493 public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
494
495 //literals+=Literal
496 public Assignment getLiteralsAssignment_1_1() { return cLiteralsAssignment_1_1; }
497
498 //Literal
499 public RuleCall getLiteralsLiteralParserRuleCall_1_1_0() { return cLiteralsLiteralParserRuleCall_1_1_0; }
500 }
501 public class LiteralElements extends AbstractParserRuleElementFinder {
502 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Literal");
503 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
504 private final RuleCall cAtomParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
505 private final RuleCall cNegativeLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
506
507 //Literal:
508 // Atom | NegativeLiteral;
509 @Override public ParserRule getRule() { return rule; }
510
511 //Atom | NegativeLiteral
512 public Alternatives getAlternatives() { return cAlternatives; }
513
514 //Atom
515 public RuleCall getAtomParserRuleCall_0() { return cAtomParserRuleCall_0; }
516
517 //NegativeLiteral
518 public RuleCall getNegativeLiteralParserRuleCall_1() { return cNegativeLiteralParserRuleCall_1; }
519 }
520 public class NegativeLiteralElements extends AbstractParserRuleElementFinder {
521 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.NegativeLiteral");
522 private final Group cGroup = (Group)rule.eContents().get(1);
523 private final Keyword cExclamationMarkKeyword_0 = (Keyword)cGroup.eContents().get(0);
524 private final Assignment cAtomAssignment_1 = (Assignment)cGroup.eContents().get(1);
525 private final RuleCall cAtomAtomParserRuleCall_1_0 = (RuleCall)cAtomAssignment_1.eContents().get(0);
526
527 //NegativeLiteral:
528 // "!" atom=Atom;
529 @Override public ParserRule getRule() { return rule; }
530
531 //"!" atom=Atom
532 public Group getGroup() { return cGroup; }
533
534 //"!"
535 public Keyword getExclamationMarkKeyword_0() { return cExclamationMarkKeyword_0; }
536
537 //atom=Atom
538 public Assignment getAtomAssignment_1() { return cAtomAssignment_1; }
539
540 //Atom
541 public RuleCall getAtomAtomParserRuleCall_1_0() { return cAtomAtomParserRuleCall_1_0; }
542 }
543 public class AtomElements extends AbstractParserRuleElementFinder {
544 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Atom");
545 private final Group cGroup = (Group)rule.eContents().get(1);
546 private final Assignment cRelationAssignment_0 = (Assignment)cGroup.eContents().get(0);
547 private final CrossReference cRelationRelationCrossReference_0_0 = (CrossReference)cRelationAssignment_0.eContents().get(0);
548 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0.eContents().get(1);
549 private final Assignment cTransitiveClosureAssignment_1 = (Assignment)cGroup.eContents().get(1);
550 private final Keyword cTransitiveClosurePlusSignKeyword_1_0 = (Keyword)cTransitiveClosureAssignment_1.eContents().get(0);
551 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
552 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
553 private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
554 private final CrossReference cArgumentsVariableCrossReference_3_0_0 = (CrossReference)cArgumentsAssignment_3_0.eContents().get(0);
555 private final RuleCall cArgumentsVariableIDTerminalRuleCall_3_0_0_1 = (RuleCall)cArgumentsVariableCrossReference_3_0_0.eContents().get(1);
556 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
557 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
558 private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
559 private final CrossReference cArgumentsVariableCrossReference_3_1_1_0 = (CrossReference)cArgumentsAssignment_3_1_1.eContents().get(0);
560 private final RuleCall cArgumentsVariableIDTerminalRuleCall_3_1_1_0_1 = (RuleCall)cArgumentsVariableCrossReference_3_1_1_0.eContents().get(1);
561 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
562
563 //Atom:
564 // relation=[Relation|QualifiedName]
565 // transitiveClosure?="+"?
566 // "(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")";
567 @Override public ParserRule getRule() { return rule; }
568
569 //relation=[Relation|QualifiedName]
570 //transitiveClosure?="+"?
571 //"(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")"
572 public Group getGroup() { return cGroup; }
573
574 //relation=[Relation|QualifiedName]
575 public Assignment getRelationAssignment_0() { return cRelationAssignment_0; }
576
577 //[Relation|QualifiedName]
578 public CrossReference getRelationRelationCrossReference_0_0() { return cRelationRelationCrossReference_0_0; }
579
580 //QualifiedName
581 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_1; }
582
583 //transitiveClosure?="+"?
584 public Assignment getTransitiveClosureAssignment_1() { return cTransitiveClosureAssignment_1; }
585
586 //"+"
587 public Keyword getTransitiveClosurePlusSignKeyword_1_0() { return cTransitiveClosurePlusSignKeyword_1_0; }
588
589 //"("
590 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
591
592 //(arguments+=[Variable] ("," arguments+=[Variable])*)?
593 public Group getGroup_3() { return cGroup_3; }
594
595 //arguments+=[Variable]
596 public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
597
598 //[Variable]
599 public CrossReference getArgumentsVariableCrossReference_3_0_0() { return cArgumentsVariableCrossReference_3_0_0; }
600
601 //ID
602 public RuleCall getArgumentsVariableIDTerminalRuleCall_3_0_0_1() { return cArgumentsVariableIDTerminalRuleCall_3_0_0_1; }
603
604 //("," arguments+=[Variable])*
605 public Group getGroup_3_1() { return cGroup_3_1; }
606
607 //","
608 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
609
610 //arguments+=[Variable]
611 public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
612
613 //[Variable]
614 public CrossReference getArgumentsVariableCrossReference_3_1_1_0() { return cArgumentsVariableCrossReference_3_1_1_0; }
615
616 //ID
617 public RuleCall getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1() { return cArgumentsVariableIDTerminalRuleCall_3_1_1_0_1; }
618
619 //")"
620 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
621 }
622 public class AssertionElements extends AbstractParserRuleElementFinder {
623 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion");
624 private final Group cGroup = (Group)rule.eContents().get(1);
625 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
626 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
627 private final Assignment cRelationAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
628 private final CrossReference cRelationRelationCrossReference_0_0_0_0 = (CrossReference)cRelationAssignment_0_0_0.eContents().get(0);
629 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0_0_0.eContents().get(1);
630 private final Keyword cLeftParenthesisKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
631 private final Group cGroup_0_0_2 = (Group)cGroup_0_0.eContents().get(2);
632 private final Assignment cArgumentsAssignment_0_0_2_0 = (Assignment)cGroup_0_0_2.eContents().get(0);
633 private final CrossReference cArgumentsNodeCrossReference_0_0_2_0_0 = (CrossReference)cArgumentsAssignment_0_0_2_0.eContents().get(0);
634 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_0_0.eContents().get(1);
635 private final Group cGroup_0_0_2_1 = (Group)cGroup_0_0_2.eContents().get(1);
636 private final Keyword cCommaKeyword_0_0_2_1_0 = (Keyword)cGroup_0_0_2_1.eContents().get(0);
637 private final Assignment cArgumentsAssignment_0_0_2_1_1 = (Assignment)cGroup_0_0_2_1.eContents().get(1);
638 private final CrossReference cArgumentsNodeCrossReference_0_0_2_1_1_0 = (CrossReference)cArgumentsAssignment_0_0_2_1_1.eContents().get(0);
639 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_1_1_0.eContents().get(1);
640 private final Keyword cRightParenthesisKeyword_0_0_3 = (Keyword)cGroup_0_0.eContents().get(3);
641 private final Keyword cColonKeyword_0_0_4 = (Keyword)cGroup_0_0.eContents().get(4);
642 private final Assignment cValueAssignment_0_0_5 = (Assignment)cGroup_0_0.eContents().get(5);
643 private final RuleCall cValueLogicValueEnumRuleCall_0_0_5_0 = (RuleCall)cValueAssignment_0_0_5.eContents().get(0);
644 private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
645 private final Assignment cValueAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
646 private final RuleCall cValueShortLogicValueEnumRuleCall_0_1_0_0 = (RuleCall)cValueAssignment_0_1_0.eContents().get(0);
647 private final Assignment cRelationAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
648 private final CrossReference cRelationRelationCrossReference_0_1_1_0 = (CrossReference)cRelationAssignment_0_1_1.eContents().get(0);
649 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1 = (RuleCall)cRelationRelationCrossReference_0_1_1_0.eContents().get(1);
650 private final Keyword cLeftParenthesisKeyword_0_1_2 = (Keyword)cGroup_0_1.eContents().get(2);
651 private final Group cGroup_0_1_3 = (Group)cGroup_0_1.eContents().get(3);
652 private final Assignment cArgumentsAssignment_0_1_3_0 = (Assignment)cGroup_0_1_3.eContents().get(0);
653 private final CrossReference cArgumentsNodeCrossReference_0_1_3_0_0 = (CrossReference)cArgumentsAssignment_0_1_3_0.eContents().get(0);
654 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_0_0.eContents().get(1);
655 private final Group cGroup_0_1_3_1 = (Group)cGroup_0_1_3.eContents().get(1);
656 private final Keyword cCommaKeyword_0_1_3_1_0 = (Keyword)cGroup_0_1_3_1.eContents().get(0);
657 private final Assignment cArgumentsAssignment_0_1_3_1_1 = (Assignment)cGroup_0_1_3_1.eContents().get(1);
658 private final CrossReference cArgumentsNodeCrossReference_0_1_3_1_1_0 = (CrossReference)cArgumentsAssignment_0_1_3_1_1.eContents().get(0);
659 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_1_1_0.eContents().get(1);
660 private final Keyword cRightParenthesisKeyword_0_1_4 = (Keyword)cGroup_0_1.eContents().get(4);
661 private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
662
663 //Assertion:
664 // (relation=[Relation|QualifiedName]
665 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
666 // ":" value=LogicValue |
667 // value=ShortLogicValue?
668 // relation=[Relation|QualifiedName]
669 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
670 // ".";
671 @Override public ParserRule getRule() { return rule; }
672
673 //(relation=[Relation|QualifiedName]
674 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
675 //":" value=LogicValue |
676 //value=ShortLogicValue?
677 //relation=[Relation|QualifiedName]
678 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
679 //"."
680 public Group getGroup() { return cGroup; }
681
682 //(relation=[Relation|QualifiedName]
683 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
684 //":" value=LogicValue |
685 //value=ShortLogicValue?
686 //relation=[Relation|QualifiedName]
687 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
688 public Alternatives getAlternatives_0() { return cAlternatives_0; }
689
690 //relation=[Relation|QualifiedName]
691 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
692 // ":" value=LogicValue
693 public Group getGroup_0_0() { return cGroup_0_0; }
694
695 //relation=[Relation|QualifiedName]
696 public Assignment getRelationAssignment_0_0_0() { return cRelationAssignment_0_0_0; }
697
698 //[Relation|QualifiedName]
699 public CrossReference getRelationRelationCrossReference_0_0_0_0() { return cRelationRelationCrossReference_0_0_0_0; }
700
701 //QualifiedName
702 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1; }
703
704 //"("
705 public Keyword getLeftParenthesisKeyword_0_0_1() { return cLeftParenthesisKeyword_0_0_1; }
706
707 //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)?
708 public Group getGroup_0_0_2() { return cGroup_0_0_2; }
709
710 //arguments+=[Node|QualifiedName]
711 public Assignment getArgumentsAssignment_0_0_2_0() { return cArgumentsAssignment_0_0_2_0; }
712
713 //[Node|QualifiedName]
714 public CrossReference getArgumentsNodeCrossReference_0_0_2_0_0() { return cArgumentsNodeCrossReference_0_0_2_0_0; }
715
716 //QualifiedName
717 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1; }
718
719 //("," arguments+=[Node|QualifiedName])*
720 public Group getGroup_0_0_2_1() { return cGroup_0_0_2_1; }
721
722 //","
723 public Keyword getCommaKeyword_0_0_2_1_0() { return cCommaKeyword_0_0_2_1_0; }
724
725 //arguments+=[Node|QualifiedName]
726 public Assignment getArgumentsAssignment_0_0_2_1_1() { return cArgumentsAssignment_0_0_2_1_1; }
727
728 //[Node|QualifiedName]
729 public CrossReference getArgumentsNodeCrossReference_0_0_2_1_1_0() { return cArgumentsNodeCrossReference_0_0_2_1_1_0; }
730
731 //QualifiedName
732 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1; }
733
734 //")"
735 public Keyword getRightParenthesisKeyword_0_0_3() { return cRightParenthesisKeyword_0_0_3; }
736
737 //":"
738 public Keyword getColonKeyword_0_0_4() { return cColonKeyword_0_0_4; }
739
740 //value=LogicValue
741 public Assignment getValueAssignment_0_0_5() { return cValueAssignment_0_0_5; }
742
743 //LogicValue
744 public RuleCall getValueLogicValueEnumRuleCall_0_0_5_0() { return cValueLogicValueEnumRuleCall_0_0_5_0; }
745
746 //value=ShortLogicValue?
747 //relation=[Relation|QualifiedName]
748 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
749 public Group getGroup_0_1() { return cGroup_0_1; }
750
751 //value=ShortLogicValue?
752 public Assignment getValueAssignment_0_1_0() { return cValueAssignment_0_1_0; }
753
754 //ShortLogicValue
755 public RuleCall getValueShortLogicValueEnumRuleCall_0_1_0_0() { return cValueShortLogicValueEnumRuleCall_0_1_0_0; }
756
757 //relation=[Relation|QualifiedName]
758 public Assignment getRelationAssignment_0_1_1() { return cRelationAssignment_0_1_1; }
759
760 //[Relation|QualifiedName]
761 public CrossReference getRelationRelationCrossReference_0_1_1_0() { return cRelationRelationCrossReference_0_1_1_0; }
762
763 //QualifiedName
764 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1; }
765
766 //"("
767 public Keyword getLeftParenthesisKeyword_0_1_2() { return cLeftParenthesisKeyword_0_1_2; }
768
769 //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)?
770 public Group getGroup_0_1_3() { return cGroup_0_1_3; }
771
772 //arguments+=[Node|QualifiedName]
773 public Assignment getArgumentsAssignment_0_1_3_0() { return cArgumentsAssignment_0_1_3_0; }
774
775 //[Node|QualifiedName]
776 public CrossReference getArgumentsNodeCrossReference_0_1_3_0_0() { return cArgumentsNodeCrossReference_0_1_3_0_0; }
777
778 //QualifiedName
779 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1; }
780
781 //("," arguments+=[Node|QualifiedName])*
782 public Group getGroup_0_1_3_1() { return cGroup_0_1_3_1; }
783
784 //","
785 public Keyword getCommaKeyword_0_1_3_1_0() { return cCommaKeyword_0_1_3_1_0; }
786
787 //arguments+=[Node|QualifiedName]
788 public Assignment getArgumentsAssignment_0_1_3_1_1() { return cArgumentsAssignment_0_1_3_1_1; }
789
790 //[Node|QualifiedName]
791 public CrossReference getArgumentsNodeCrossReference_0_1_3_1_1_0() { return cArgumentsNodeCrossReference_0_1_3_1_1_0; }
792
793 //QualifiedName
794 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1; }
795
796 //")"
797 public Keyword getRightParenthesisKeyword_0_1_4() { return cRightParenthesisKeyword_0_1_4; }
798
799 //"."
800 public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
801 }
802 public class ScopeDeclarationElements extends AbstractParserRuleElementFinder {
803 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ScopeDeclaration");
804 private final Group cGroup = (Group)rule.eContents().get(1);
805 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
806 private final Assignment cTypeScopesAssignment_1 = (Assignment)cGroup.eContents().get(1);
807 private final RuleCall cTypeScopesTypeScopeParserRuleCall_1_0 = (RuleCall)cTypeScopesAssignment_1.eContents().get(0);
808 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
809 private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
810 private final Assignment cTypeScopesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
811 private final RuleCall cTypeScopesTypeScopeParserRuleCall_2_1_0 = (RuleCall)cTypeScopesAssignment_2_1.eContents().get(0);
812 private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3);
813
814 //ScopeDeclaration:
815 // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* ".";
816 @Override public ParserRule getRule() { return rule; }
817
818 //"scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."
819 public Group getGroup() { return cGroup; }
820
821 //"scope"
822 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
823
824 //typeScopes+=TypeScope
825 public Assignment getTypeScopesAssignment_1() { return cTypeScopesAssignment_1; }
826
827 //TypeScope
828 public RuleCall getTypeScopesTypeScopeParserRuleCall_1_0() { return cTypeScopesTypeScopeParserRuleCall_1_0; }
829
830 //("," typeScopes+=TypeScope)*
831 public Group getGroup_2() { return cGroup_2; }
832
833 //","
834 public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
835
836 //typeScopes+=TypeScope
837 public Assignment getTypeScopesAssignment_2_1() { return cTypeScopesAssignment_2_1; }
838
839 //TypeScope
840 public RuleCall getTypeScopesTypeScopeParserRuleCall_2_1_0() { return cTypeScopesTypeScopeParserRuleCall_2_1_0; }
841
842 //"."
843 public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; }
844 }
845 public class TypeScopeElements extends AbstractParserRuleElementFinder {
846 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.TypeScope");
847 private final Group cGroup = (Group)rule.eContents().get(1);
848 private final Assignment cTargetTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
849 private final CrossReference cTargetTypeClassDeclarationCrossReference_0_0 = (CrossReference)cTargetTypeAssignment_0.eContents().get(0);
850 private final RuleCall cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cTargetTypeClassDeclarationCrossReference_0_0.eContents().get(1);
851 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
852 private final Assignment cIncrementAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
853 private final Keyword cIncrementPlusSignEqualsSignKeyword_1_0_0 = (Keyword)cIncrementAssignment_1_0.eContents().get(0);
854 private final Keyword cEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
855 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
856 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
857
858 //TypeScope:
859 // targetType=[ClassDeclaration]
860 // (increment?="+=" | "=")
861 // multiplicity=Multiplicity;
862 @Override public ParserRule getRule() { return rule; }
863
864 //targetType=[ClassDeclaration]
865 //(increment?="+=" | "=")
866 //multiplicity=Multiplicity
867 public Group getGroup() { return cGroup; }
868
869 //targetType=[ClassDeclaration]
870 public Assignment getTargetTypeAssignment_0() { return cTargetTypeAssignment_0; }
871
872 //[ClassDeclaration]
873 public CrossReference getTargetTypeClassDeclarationCrossReference_0_0() { return cTargetTypeClassDeclarationCrossReference_0_0; }
874
875 //ID
876 public RuleCall getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1() { return cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1; }
877
878 //(increment?="+=" | "=")
879 public Alternatives getAlternatives_1() { return cAlternatives_1; }
880
881 //increment?="+="
882 public Assignment getIncrementAssignment_1_0() { return cIncrementAssignment_1_0; }
883
884 //"+="
885 public Keyword getIncrementPlusSignEqualsSignKeyword_1_0_0() { return cIncrementPlusSignEqualsSignKeyword_1_0_0; }
886
887 //"="
888 public Keyword getEqualsSignKeyword_1_1() { return cEqualsSignKeyword_1_1; }
889
890 //multiplicity=Multiplicity
891 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
892
893 //Multiplicity
894 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_0() { return cMultiplicityMultiplicityParserRuleCall_2_0; }
895 }
896 public class MultiplicityElements extends AbstractParserRuleElementFinder {
897 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Multiplicity");
898 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
899 private final RuleCall cRangeMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
900 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
901
902 //Multiplicity:
903 // RangeMultiplicity | ExactMultiplicity;
904 @Override public ParserRule getRule() { return rule; }
905
906 //RangeMultiplicity | ExactMultiplicity
907 public Alternatives getAlternatives() { return cAlternatives; }
908
909 //RangeMultiplicity
910 public RuleCall getRangeMultiplicityParserRuleCall_0() { return cRangeMultiplicityParserRuleCall_0; }
911
912 //ExactMultiplicity
913 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
914 }
915 public class RangeMultiplicityElements extends AbstractParserRuleElementFinder {
916 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.RangeMultiplicity");
917 private final Group cGroup = (Group)rule.eContents().get(1);
918 private final Assignment cLowerBoundAssignment_0 = (Assignment)cGroup.eContents().get(0);
919 private final RuleCall cLowerBoundINTTerminalRuleCall_0_0 = (RuleCall)cLowerBoundAssignment_0.eContents().get(0);
920 private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
921 private final Assignment cUpperBoundAssignment_2 = (Assignment)cGroup.eContents().get(2);
922 private final RuleCall cUpperBoundUpperBoundParserRuleCall_2_0 = (RuleCall)cUpperBoundAssignment_2.eContents().get(0);
923
924 //RangeMultiplicity:
925 // lowerBound=INT ".." upperBound=UpperBound;
926 @Override public ParserRule getRule() { return rule; }
927
928 //lowerBound=INT ".." upperBound=UpperBound
929 public Group getGroup() { return cGroup; }
930
931 //lowerBound=INT
932 public Assignment getLowerBoundAssignment_0() { return cLowerBoundAssignment_0; }
933
934 //INT
935 public RuleCall getLowerBoundINTTerminalRuleCall_0_0() { return cLowerBoundINTTerminalRuleCall_0_0; }
936
937 //".."
938 public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; }
939
940 //upperBound=UpperBound
941 public Assignment getUpperBoundAssignment_2() { return cUpperBoundAssignment_2; }
942
943 //UpperBound
944 public RuleCall getUpperBoundUpperBoundParserRuleCall_2_0() { return cUpperBoundUpperBoundParserRuleCall_2_0; }
945 }
946 public class ExactMultiplicityElements extends AbstractParserRuleElementFinder {
947 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ExactMultiplicity");
948 private final Assignment cExactValueAssignment = (Assignment)rule.eContents().get(1);
949 private final RuleCall cExactValueINTTerminalRuleCall_0 = (RuleCall)cExactValueAssignment.eContents().get(0);
950
951 //ExactMultiplicity:
952 // exactValue=INT;
953 @Override public ParserRule getRule() { return rule; }
954
955 //exactValue=INT
956 public Assignment getExactValueAssignment() { return cExactValueAssignment; }
957
958 //INT
959 public RuleCall getExactValueINTTerminalRuleCall_0() { return cExactValueINTTerminalRuleCall_0; }
960 }
961 public class UpperBoundElements extends AbstractParserRuleElementFinder {
962 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UpperBound");
963 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
964 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
965 private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
966
967 //UpperBound returns ecore::EInt:
968 // INT | "*";
969 @Override public ParserRule getRule() { return rule; }
970
971 //INT | "*"
972 public Alternatives getAlternatives() { return cAlternatives; }
973
974 //INT
975 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
976
977 //"*"
978 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
979 }
980 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
981 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName");
982 private final Group cGroup = (Group)rule.eContents().get(1);
983 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
984 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
985 private final Keyword cColonColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
986 private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
987
988 //QualifiedName:
989 // ID ("::" ID)*;
990 @Override public ParserRule getRule() { return rule; }
991
992 //ID ("::" ID)*
993 public Group getGroup() { return cGroup; }
994
995 //ID
996 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
997
998 //("::" ID)*
999 public Group getGroup_1() { return cGroup_1; }
1000
1001 //"::"
1002 public Keyword getColonColonKeyword_1_0() { return cColonColonKeyword_1_0; }
1003
1004 //ID
1005 public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
1006 }
1007
1008 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
1009 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.LogicValue");
1010 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1011 private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1012 private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0);
1013 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1014 private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
1015 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1016 private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0);
1017
1018 //enum LogicValue:
1019 // TRUE="true" | FALSE="false" | UNKNOWN="unknown";
1020 public EnumRule getRule() { return rule; }
1021
1022 //TRUE="true" | FALSE="false" | UNKNOWN="unknown"
1023 public Alternatives getAlternatives() { return cAlternatives; }
1024
1025 //TRUE="true"
1026 public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; }
1027
1028 //"true"
1029 public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; }
1030
1031 //FALSE="false"
1032 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; }
1033
1034 //"false"
1035 public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; }
1036
1037 //UNKNOWN="unknown"
1038 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; }
1039
1040 //"unknown"
1041 public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; }
1042 }
1043 public class ShortLogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
1044 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ShortLogicValue");
1045 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1046 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1047 private final Keyword cFALSEExclamationMarkKeyword_0_0 = (Keyword)cFALSEEnumLiteralDeclaration_0.eContents().get(0);
1048 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1049 private final Keyword cUNKNOWNQuestionMarkKeyword_1_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_1.eContents().get(0);
1050
1051 //enum ShortLogicValue returns LogicValue:
1052 // FALSE="!" | UNKNOWN="?";
1053 public EnumRule getRule() { return rule; }
1054
1055 //FALSE="!" | UNKNOWN="?"
1056 public Alternatives getAlternatives() { return cAlternatives; }
1057
1058 //FALSE="!"
1059 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_0() { return cFALSEEnumLiteralDeclaration_0; }
1060
1061 //"!"
1062 public Keyword getFALSEExclamationMarkKeyword_0_0() { return cFALSEExclamationMarkKeyword_0_0; }
1063
1064 //UNKNOWN="?"
1065 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_1() { return cUNKNOWNEnumLiteralDeclaration_1; }
1066
1067 //"?"
1068 public Keyword getUNKNOWNQuestionMarkKeyword_1_0() { return cUNKNOWNQuestionMarkKeyword_1_0; }
1069 }
1070
1071 private final ProblemElements pProblem;
1072 private final StatementElements pStatement;
1073 private final ClassDeclarationElements pClassDeclaration;
1074 private final ReferenceDeclarationElements pReferenceDeclaration;
1075 private final PredicateDefinitionElements pPredicateDefinition;
1076 private final ParameterElements pParameter;
1077 private final ConjunctionElements pConjunction;
1078 private final LiteralElements pLiteral;
1079 private final NegativeLiteralElements pNegativeLiteral;
1080 private final AtomElements pAtom;
1081 private final AssertionElements pAssertion;
1082 private final LogicValueElements eLogicValue;
1083 private final ShortLogicValueElements eShortLogicValue;
1084 private final ScopeDeclarationElements pScopeDeclaration;
1085 private final TypeScopeElements pTypeScope;
1086 private final MultiplicityElements pMultiplicity;
1087 private final RangeMultiplicityElements pRangeMultiplicity;
1088 private final ExactMultiplicityElements pExactMultiplicity;
1089 private final UpperBoundElements pUpperBound;
1090 private final QualifiedNameElements pQualifiedName;
1091
1092 private final Grammar grammar;
1093
1094 private final TerminalsGrammarAccess gaTerminals;
1095
1096 @Inject
1097 public ProblemGrammarAccess(GrammarProvider grammarProvider,
1098 TerminalsGrammarAccess gaTerminals) {
1099 this.grammar = internalFindGrammar(grammarProvider);
1100 this.gaTerminals = gaTerminals;
1101 this.pProblem = new ProblemElements();
1102 this.pStatement = new StatementElements();
1103 this.pClassDeclaration = new ClassDeclarationElements();
1104 this.pReferenceDeclaration = new ReferenceDeclarationElements();
1105 this.pPredicateDefinition = new PredicateDefinitionElements();
1106 this.pParameter = new ParameterElements();
1107 this.pConjunction = new ConjunctionElements();
1108 this.pLiteral = new LiteralElements();
1109 this.pNegativeLiteral = new NegativeLiteralElements();
1110 this.pAtom = new AtomElements();
1111 this.pAssertion = new AssertionElements();
1112 this.eLogicValue = new LogicValueElements();
1113 this.eShortLogicValue = new ShortLogicValueElements();
1114 this.pScopeDeclaration = new ScopeDeclarationElements();
1115 this.pTypeScope = new TypeScopeElements();
1116 this.pMultiplicity = new MultiplicityElements();
1117 this.pRangeMultiplicity = new RangeMultiplicityElements();
1118 this.pExactMultiplicity = new ExactMultiplicityElements();
1119 this.pUpperBound = new UpperBoundElements();
1120 this.pQualifiedName = new QualifiedNameElements();
1121 }
1122
1123 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
1124 Grammar grammar = grammarProvider.getGrammar(this);
1125 while (grammar != null) {
1126 if ("org.eclipse.viatra.solver.language.Problem".equals(grammar.getName())) {
1127 return grammar;
1128 }
1129 List<Grammar> grammars = grammar.getUsedGrammars();
1130 if (!grammars.isEmpty()) {
1131 grammar = grammars.iterator().next();
1132 } else {
1133 return null;
1134 }
1135 }
1136 return grammar;
1137 }
1138
1139 @Override
1140 public Grammar getGrammar() {
1141 return grammar;
1142 }
1143
1144
1145 public TerminalsGrammarAccess getTerminalsGrammarAccess() {
1146 return gaTerminals;
1147 }
1148
1149
1150 //Problem:
1151 // statements+=Statement*;
1152 public ProblemElements getProblemAccess() {
1153 return pProblem;
1154 }
1155
1156 public ParserRule getProblemRule() {
1157 return getProblemAccess().getRule();
1158 }
1159
1160 //Statement:
1161 // ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
1162 public StatementElements getStatementAccess() {
1163 return pStatement;
1164 }
1165
1166 public ParserRule getStatementRule() {
1167 return getStatementAccess().getRule();
1168 }
1169
1170 //ClassDeclaration:
1171 // abstract?="abstract"? "class"
1172 // name=ID
1173 // ("extends" (superTypes+=[ClassDeclaration] |
1174 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") |
1175 // referenceDeclarations+=ReferenceDeclaration)?
1176 // ("," referenceDeclarations+=ReferenceDeclaration)*
1177 // ".";
1178 public ClassDeclarationElements getClassDeclarationAccess() {
1179 return pClassDeclaration;
1180 }
1181
1182 public ParserRule getClassDeclarationRule() {
1183 return getClassDeclarationAccess().getRule();
1184 }
1185
1186 //ReferenceDeclaration:
1187 // (containment?="contains" | "refers")
1188 // referenceType=[ClassDeclaration]
1189 // "[" multiplicity=Multiplicity "]"
1190 // name=ID
1191 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
1192 public ReferenceDeclarationElements getReferenceDeclarationAccess() {
1193 return pReferenceDeclaration;
1194 }
1195
1196 public ParserRule getReferenceDeclarationRule() {
1197 return getReferenceDeclarationAccess().getRule();
1198 }
1199
1200 //PredicateDefinition:
1201 // (error?="error" "pred"? | "pred")
1202 // name=ID
1203 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
1204 // (":=" bodies+=Conjunction (";" bodies+=Conjunction)*)?
1205 // ".";
1206 public PredicateDefinitionElements getPredicateDefinitionAccess() {
1207 return pPredicateDefinition;
1208 }
1209
1210 public ParserRule getPredicateDefinitionRule() {
1211 return getPredicateDefinitionAccess().getRule();
1212 }
1213
1214 //Parameter:
1215 // parameterType=[ClassDeclaration] name=ID;
1216 public ParameterElements getParameterAccess() {
1217 return pParameter;
1218 }
1219
1220 public ParserRule getParameterRule() {
1221 return getParameterAccess().getRule();
1222 }
1223
1224 //Conjunction:
1225 // literals+=Literal ("," literals+=Literal)*;
1226 public ConjunctionElements getConjunctionAccess() {
1227 return pConjunction;
1228 }
1229
1230 public ParserRule getConjunctionRule() {
1231 return getConjunctionAccess().getRule();
1232 }
1233
1234 //Literal:
1235 // Atom | NegativeLiteral;
1236 public LiteralElements getLiteralAccess() {
1237 return pLiteral;
1238 }
1239
1240 public ParserRule getLiteralRule() {
1241 return getLiteralAccess().getRule();
1242 }
1243
1244 //NegativeLiteral:
1245 // "!" atom=Atom;
1246 public NegativeLiteralElements getNegativeLiteralAccess() {
1247 return pNegativeLiteral;
1248 }
1249
1250 public ParserRule getNegativeLiteralRule() {
1251 return getNegativeLiteralAccess().getRule();
1252 }
1253
1254 //Atom:
1255 // relation=[Relation|QualifiedName]
1256 // transitiveClosure?="+"?
1257 // "(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")";
1258 public AtomElements getAtomAccess() {
1259 return pAtom;
1260 }
1261
1262 public ParserRule getAtomRule() {
1263 return getAtomAccess().getRule();
1264 }
1265
1266 //Assertion:
1267 // (relation=[Relation|QualifiedName]
1268 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
1269 // ":" value=LogicValue |
1270 // value=ShortLogicValue?
1271 // relation=[Relation|QualifiedName]
1272 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
1273 // ".";
1274 public AssertionElements getAssertionAccess() {
1275 return pAssertion;
1276 }
1277
1278 public ParserRule getAssertionRule() {
1279 return getAssertionAccess().getRule();
1280 }
1281
1282 //enum LogicValue:
1283 // TRUE="true" | FALSE="false" | UNKNOWN="unknown";
1284 public LogicValueElements getLogicValueAccess() {
1285 return eLogicValue;
1286 }
1287
1288 public EnumRule getLogicValueRule() {
1289 return getLogicValueAccess().getRule();
1290 }
1291
1292 //enum ShortLogicValue returns LogicValue:
1293 // FALSE="!" | UNKNOWN="?";
1294 public ShortLogicValueElements getShortLogicValueAccess() {
1295 return eShortLogicValue;
1296 }
1297
1298 public EnumRule getShortLogicValueRule() {
1299 return getShortLogicValueAccess().getRule();
1300 }
1301
1302 //ScopeDeclaration:
1303 // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* ".";
1304 public ScopeDeclarationElements getScopeDeclarationAccess() {
1305 return pScopeDeclaration;
1306 }
1307
1308 public ParserRule getScopeDeclarationRule() {
1309 return getScopeDeclarationAccess().getRule();
1310 }
1311
1312 //TypeScope:
1313 // targetType=[ClassDeclaration]
1314 // (increment?="+=" | "=")
1315 // multiplicity=Multiplicity;
1316 public TypeScopeElements getTypeScopeAccess() {
1317 return pTypeScope;
1318 }
1319
1320 public ParserRule getTypeScopeRule() {
1321 return getTypeScopeAccess().getRule();
1322 }
1323
1324 //Multiplicity:
1325 // RangeMultiplicity | ExactMultiplicity;
1326 public MultiplicityElements getMultiplicityAccess() {
1327 return pMultiplicity;
1328 }
1329
1330 public ParserRule getMultiplicityRule() {
1331 return getMultiplicityAccess().getRule();
1332 }
1333
1334 //RangeMultiplicity:
1335 // lowerBound=INT ".." upperBound=UpperBound;
1336 public RangeMultiplicityElements getRangeMultiplicityAccess() {
1337 return pRangeMultiplicity;
1338 }
1339
1340 public ParserRule getRangeMultiplicityRule() {
1341 return getRangeMultiplicityAccess().getRule();
1342 }
1343
1344 //ExactMultiplicity:
1345 // exactValue=INT;
1346 public ExactMultiplicityElements getExactMultiplicityAccess() {
1347 return pExactMultiplicity;
1348 }
1349
1350 public ParserRule getExactMultiplicityRule() {
1351 return getExactMultiplicityAccess().getRule();
1352 }
1353
1354 //UpperBound returns ecore::EInt:
1355 // INT | "*";
1356 public UpperBoundElements getUpperBoundAccess() {
1357 return pUpperBound;
1358 }
1359
1360 public ParserRule getUpperBoundRule() {
1361 return getUpperBoundAccess().getRule();
1362 }
1363
1364 //QualifiedName:
1365 // ID ("::" ID)*;
1366 public QualifiedNameElements getQualifiedNameAccess() {
1367 return pQualifiedName;
1368 }
1369
1370 public ParserRule getQualifiedNameRule() {
1371 return getQualifiedNameAccess().getRule();
1372 }
1373
1374 //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
1375 public TerminalRule getIDRule() {
1376 return gaTerminals.getIDRule();
1377 }
1378
1379 //terminal INT returns ecore::EInt: ('0'..'9')+;
1380 public TerminalRule getINTRule() {
1381 return gaTerminals.getINTRule();
1382 }
1383
1384 //terminal STRING:
1385 // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' |
1386 // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"
1387 // ;
1388 public TerminalRule getSTRINGRule() {
1389 return gaTerminals.getSTRINGRule();
1390 }
1391
1392 //terminal ML_COMMENT : '/*' -> '*/';
1393 public TerminalRule getML_COMMENTRule() {
1394 return gaTerminals.getML_COMMENTRule();
1395 }
1396
1397 //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?;
1398 public TerminalRule getSL_COMMENTRule() {
1399 return gaTerminals.getSL_COMMENTRule();
1400 }
1401
1402 //terminal WS : (' '|'\t'|'\r'|'\n')+;
1403 public TerminalRule getWSRule() {
1404 return gaTerminals.getWSRule();
1405 }
1406
1407 //terminal ANY_OTHER: .;
1408 public TerminalRule getANY_OTHERRule() {
1409 return gaTerminals.getANY_OTHERRule();
1410 }
1411}