aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java
blob: 584cec3805cdc9467d98c708629775c72316aded (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
/*
 * generated by Xtext 2.21.0
 */
package org.eclipse.viatra.solver.language.ide.contentassist.antlr;

import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.util.Map;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.TokenSource;
import org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal.InternalSolverLanguageParser;
import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;

public class SolverLanguageParser extends AbstractContentAssistParser {

	@Singleton
	public static final class NameMappings {
		
		private final Map<AbstractElement, String> mappings;
		
		@Inject
		public NameMappings(SolverLanguageGrammarAccess grammarAccess) {
			ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
			init(builder, grammarAccess);
			this.mappings = builder.build();
		}
		
		public String getRuleName(AbstractElement element) {
			return mappings.get(element);
		}
		
		private static void init(ImmutableMap.Builder<AbstractElement, String> builder, SolverLanguageGrammarAccess grammarAccess) {
			builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives");
			builder.put(grammarAccess.getImportAccess().getAlternatives(), "rule__Import__Alternatives");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1(), "rule__AssertionOrDefinition__Alternatives_1");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
			builder.put(grammarAccess.getExternDeclarationAccess().getAlternatives(), "rule__ExternDeclaration__Alternatives");
			builder.put(grammarAccess.getExpressionAccess().getAlternatives(), "rule__Expression__Alternatives");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1(), "rule__DisjunctiveExpression__Alternatives_1");
			builder.put(grammarAccess.getUnaryExpressionAccess().getAlternatives(), "rule__UnaryExpression__Alternatives");
			builder.put(grammarAccess.getBracedAggregateExpressionAccess().getAlternatives(), "rule__BracedAggregateExpression__Alternatives");
			builder.put(grammarAccess.getAtomicExpressionAccess().getAlternatives(), "rule__AtomicExpression__Alternatives");
			builder.put(grammarAccess.getArgumentAccess().getAlternatives(), "rule__Argument__Alternatives");
			builder.put(grammarAccess.getPathComponentAccess().getAlternatives_2(), "rule__PathComponent__Alternatives_2");
			builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
			builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_4(), "rule__ClassDeclaration__Alternatives_4");
			builder.put(grammarAccess.getFieldAccess().getAlternatives_0(), "rule__Field__Alternatives_0");
			builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
			builder.put(grammarAccess.getEnumDeclarationAccess().getAlternatives_2(), "rule__EnumDeclaration__Alternatives_2");
			builder.put(grammarAccess.getScopeDeclarationAccess().getAlternatives(), "rule__ScopeDeclaration__Alternatives");
			builder.put(grammarAccess.getBoundedScopeAccess().getAlternatives_1(), "rule__BoundedScope__Alternatives_1");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getAlternatives_1(), "rule__LowerBoundedScope__Alternatives_1");
			builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives");
			builder.put(grammarAccess.getQualifiedNameSegmentAccess().getAlternatives(), "rule__QualifiedNameSegment__Alternatives");
			builder.put(grammarAccess.getAttributeKindAccess().getAlternatives(), "rule__AttributeKind__Alternatives");
			builder.put(grammarAccess.getComparisonOperatorAccess().getAlternatives(), "rule__ComparisonOperator__Alternatives");
			builder.put(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives(), "rule__AdditiveBinaryOperator__Alternatives");
			builder.put(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives(), "rule__MultiplicativeBinaryOperator__Alternatives");
			builder.put(grammarAccess.getUnaryOperatorAccess().getAlternatives(), "rule__UnaryOperator__Alternatives");
			builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
			builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives");
			builder.put(grammarAccess.getProblemAccess().getGroup(), "rule__Problem__Group__0");
			builder.put(grammarAccess.getProblemAccess().getGroup_0(), "rule__Problem__Group_0__0");
			builder.put(grammarAccess.getUriImportAccess().getGroup(), "rule__UriImport__Group__0");
			builder.put(grammarAccess.getUriImportAccess().getGroup_2(), "rule__UriImport__Group_2__0");
			builder.put(grammarAccess.getNamespaceImportAccess().getGroup(), "rule__NamespaceImport__Group__0");
			builder.put(grammarAccess.getNamespaceImportAccess().getGroup_2(), "rule__NamespaceImport__Group_2__0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup(), "rule__AssertionOrDefinition__Group__0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0(), "rule__AssertionOrDefinition__Group_1_0__0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1(), "rule__AssertionOrDefinition__Group_1_0_1__0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1(), "rule__AssertionOrDefinition__Group_1_1__0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2(), "rule__AssertionOrDefinition__Group_1_2__0");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1(), "rule__PredicateDefinition__Group_0_1__0");
			builder.put(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getGroup(), "rule__UnnamedErrorPredicateDefintion__Group__0");
			builder.put(grammarAccess.getDefaultAssertionAccess().getGroup(), "rule__DefaultAssertion__Group__0");
			builder.put(grammarAccess.getDefaultAssertionAccess().getGroup_2(), "rule__DefaultAssertion__Group_2__0");
			builder.put(grammarAccess.getFunctionDefinitionAccess().getGroup(), "rule__FunctionDefinition__Group__0");
			builder.put(grammarAccess.getTypeReferenceAccess().getGroup(), "rule__TypeReference__Group__0");
			builder.put(grammarAccess.getAttributeAccess().getGroup(), "rule__Attribute__Group__0");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getGroup(), "rule__ExternPredicateDeclaration__Group__0");
			builder.put(grammarAccess.getExternFunctionDeclarationAccess().getGroup(), "rule__ExternFunctionDeclaration__Group__0");
			builder.put(grammarAccess.getExternAggregationOperatorDeclarationAccess().getGroup(), "rule__ExternAggregationOperatorDeclaration__Group__0");
			builder.put(grammarAccess.getExternDatatypeDeclarationAccess().getGroup(), "rule__ExternDatatypeDeclaration__Group__0");
			builder.put(grammarAccess.getExpressionAccess().getGroup_2(), "rule__Expression__Group_2__0");
			builder.put(grammarAccess.getExpressionAccess().getGroup_2_1(), "rule__Expression__Group_2_1__0");
			builder.put(grammarAccess.getConditionalExpressionAccess().getGroup(), "rule__ConditionalExpression__Group__0");
			builder.put(grammarAccess.getLetExpressionAccess().getGroup(), "rule__LetExpression__Group__0");
			builder.put(grammarAccess.getLetExpressionAccess().getGroup_2(), "rule__LetExpression__Group_2__0");
			builder.put(grammarAccess.getLetBindingAccess().getGroup(), "rule__LetBinding__Group__0");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup(), "rule__DisjunctiveExpression__Group__0");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0(), "rule__DisjunctiveExpression__Group_1_0__0");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1(), "rule__DisjunctiveExpression__Group_1_0_1__0");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1(), "rule__DisjunctiveExpression__Group_1_1__0");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4(), "rule__DisjunctiveExpression__Group_1_1_4__0");
			builder.put(grammarAccess.getCaseAccess().getGroup(), "rule__Case__Group__0");
			builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup(), "rule__ConjunctiveExpression__Group__0");
			builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1(), "rule__ConjunctiveExpression__Group_1__0");
			builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1(), "rule__ConjunctiveExpression__Group_1_1__0");
			builder.put(grammarAccess.getComparisonExpressionAccess().getGroup(), "rule__ComparisonExpression__Group__0");
			builder.put(grammarAccess.getComparisonExpressionAccess().getGroup_1(), "rule__ComparisonExpression__Group_1__0");
			builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup(), "rule__AdditiveExpression__Group__0");
			builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup_1(), "rule__AdditiveExpression__Group_1__0");
			builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup(), "rule__MultiplicativeExpression__Group__0");
			builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1(), "rule__MultiplicativeExpression__Group_1__0");
			builder.put(grammarAccess.getExponentialExpressionAccess().getGroup(), "rule__ExponentialExpression__Group__0");
			builder.put(grammarAccess.getExponentialExpressionAccess().getGroup_1(), "rule__ExponentialExpression__Group_1__0");
			builder.put(grammarAccess.getCastExpressionAccess().getGroup(), "rule__CastExpression__Group__0");
			builder.put(grammarAccess.getCastExpressionAccess().getGroup_1(), "rule__CastExpression__Group_1__0");
			builder.put(grammarAccess.getUnaryExpressionAccess().getGroup_1(), "rule__UnaryExpression__Group_1__0");
			builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0");
			builder.put(grammarAccess.getCountAccess().getGroup(), "rule__Count__Group__0");
			builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_4(), "rule__AtomicExpression__Group_4__0");
			builder.put(grammarAccess.getCallAccess().getGroup(), "rule__Call__Group__0");
			builder.put(grammarAccess.getArgumentListAccess().getGroup(), "rule__ArgumentList__Group__0");
			builder.put(grammarAccess.getArgumentListAccess().getGroup_2(), "rule__ArgumentList__Group_2__0");
			builder.put(grammarAccess.getArgumentListAccess().getGroup_2_1(), "rule__ArgumentList__Group_2_1__0");
			builder.put(grammarAccess.getStarArgumentAccess().getGroup(), "rule__StarArgument__Group__0");
			builder.put(grammarAccess.getTypedVariableArgumentAccess().getGroup(), "rule__TypedVariableArgument__Group__0");
			builder.put(grammarAccess.getTypedStarArgumentAccess().getGroup(), "rule__TypedStarArgument__Group__0");
			builder.put(grammarAccess.getReferenceAccess().getGroup(), "rule__Reference__Group__0");
			builder.put(grammarAccess.getReferenceAccess().getGroup_1(), "rule__Reference__Group_1__0");
			builder.put(grammarAccess.getPathComponentAccess().getGroup(), "rule__PathComponent__Group__0");
			builder.put(grammarAccess.getIntervalAccess().getGroup(), "rule__Interval__Group__0");
			builder.put(grammarAccess.getInfinityLiteralAccess().getGroup(), "rule__InfinityLiteral__Group__0");
			builder.put(grammarAccess.getEmptyLiteralAccess().getGroup(), "rule__EmptyLiteral__Group__0");
			builder.put(grammarAccess.getClassDeclarationAccess().getGroup(), "rule__ClassDeclaration__Group__0");
			builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3(), "rule__ClassDeclaration__Group_3__0");
			builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_2(), "rule__ClassDeclaration__Group_3_2__0");
			builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0(), "rule__ClassDeclaration__Group_4_0__0");
			builder.put(grammarAccess.getFieldAccess().getGroup(), "rule__Field__Group__0");
			builder.put(grammarAccess.getFieldAccess().getGroup_4(), "rule__Field__Group_4__0");
			builder.put(grammarAccess.getUnboundedMultiplicityAccess().getGroup(), "rule__UnboundedMultiplicity__Group__0");
			builder.put(grammarAccess.getExactMultiplicityAccess().getGroup(), "rule__ExactMultiplicity__Group__0");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getGroup(), "rule__BoundedMultiplicity__Group__0");
			builder.put(grammarAccess.getEnumDeclarationAccess().getGroup(), "rule__EnumDeclaration__Group__0");
			builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0(), "rule__EnumDeclaration__Group_2_0__0");
			builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1(), "rule__EnumDeclaration__Group_2_0_1__0");
			builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1(), "rule__EnumDeclaration__Group_2_0_1_1__0");
			builder.put(grammarAccess.getExactScopeAccess().getGroup(), "rule__ExactScope__Group__0");
			builder.put(grammarAccess.getBoundedScopeAccess().getGroup(), "rule__BoundedScope__Group__0");
			builder.put(grammarAccess.getBoundedScopeAccess().getGroup_1_0(), "rule__BoundedScope__Group_1_0__0");
			builder.put(grammarAccess.getBoundedScopeAccess().getGroup_1_0_0(), "rule__BoundedScope__Group_1_0_0__0");
			builder.put(grammarAccess.getBoundedScopeAccess().getGroup_1_1(), "rule__BoundedScope__Group_1_1__0");
			builder.put(grammarAccess.getBoundedScopeAccess().getGroup_1_1_3(), "rule__BoundedScope__Group_1_1_3__0");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getGroup(), "rule__LowerBoundedScope__Group__0");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getGroup_1_0(), "rule__LowerBoundedScope__Group_1_0__0");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getGroup_1_1(), "rule__LowerBoundedScope__Group_1_1__0");
			builder.put(grammarAccess.getObjectiveDeclarationAccess().getGroup(), "rule__ObjectiveDeclaration__Group__0");
			builder.put(grammarAccess.getRealAccess().getGroup(), "rule__Real__Group__0");
			builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
			builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
			builder.put(grammarAccess.getProblemAccess().getNameAssignment_0_1(), "rule__Problem__NameAssignment_0_1");
			builder.put(grammarAccess.getProblemAccess().getImportsAssignment_1(), "rule__Problem__ImportsAssignment_1");
			builder.put(grammarAccess.getProblemAccess().getStatementsAssignment_2(), "rule__Problem__StatementsAssignment_2");
			builder.put(grammarAccess.getUriImportAccess().getUriAssignment_1(), "rule__UriImport__UriAssignment_1");
			builder.put(grammarAccess.getUriImportAccess().getAliasAssignment_2_1(), "rule__UriImport__AliasAssignment_2_1");
			builder.put(grammarAccess.getNamespaceImportAccess().getImportedNamespaceAssignment_1(), "rule__NamespaceImport__ImportedNamespaceAssignment_1");
			builder.put(grammarAccess.getNamespaceImportAccess().getAliasAssignment_2_1(), "rule__NamespaceImport__AliasAssignment_2_1");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1(), "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2(), "rule__AssertionOrDefinition__BodyAssignment_1_1_2");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2(), "rule__AssertionOrDefinition__BodyAssignment_1_2_2");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0(), "rule__PredicateDefinition__FunctionalAssignment_0_0_0");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1(), "rule__PredicateDefinition__ErrorAssignment_0_0_1");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0(), "rule__PredicateDefinition__ErrorAssignment_0_1_0");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1(), "rule__PredicateDefinition__FunctionalAssignment_0_1_1");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1(), "rule__PredicateDefinition__HeadAssignment_1");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3(), "rule__PredicateDefinition__BodyAssignment_3");
			builder.put(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListAssignment_1(), "rule__UnnamedErrorPredicateDefintion__ArgumentListAssignment_1");
			builder.put(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPredicateDefintion__BodyAssignment_3");
			builder.put(grammarAccess.getDefaultAssertionAccess().getExpressionAssignment_1(), "rule__DefaultAssertion__ExpressionAssignment_1");
			builder.put(grammarAccess.getDefaultAssertionAccess().getRangeAssignment_2_1(), "rule__DefaultAssertion__RangeAssignment_2_1");
			builder.put(grammarAccess.getFunctionDefinitionAccess().getResultTypeAssignment_0(), "rule__FunctionDefinition__ResultTypeAssignment_0");
			builder.put(grammarAccess.getFunctionDefinitionAccess().getHeadAssignment_1(), "rule__FunctionDefinition__HeadAssignment_1");
			builder.put(grammarAccess.getFunctionDefinitionAccess().getBodyAssignment_3(), "rule__FunctionDefinition__BodyAssignment_3");
			builder.put(grammarAccess.getTypeReferenceAccess().getTypeAssignment_0(), "rule__TypeReference__TypeAssignment_0");
			builder.put(grammarAccess.getTypeReferenceAccess().getForceObjectTypeAssignment_1(), "rule__TypeReference__ForceObjectTypeAssignment_1");
			builder.put(grammarAccess.getAttributeAccess().getKindAssignment_0(), "rule__Attribute__KindAssignment_0");
			builder.put(grammarAccess.getAttributeAccess().getTargetAssignment_1(), "rule__Attribute__TargetAssignment_1");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getFunctionalAssignment_1_0(), "rule__ExternPredicateDeclaration__FunctionalAssignment_1_0");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getErrorAssignment_1_1(), "rule__ExternPredicateDeclaration__ErrorAssignment_1_1");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getNameAssignment_2(), "rule__ExternPredicateDeclaration__NameAssignment_2");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListAssignment_3(), "rule__ExternPredicateDeclaration__ArgumentListAssignment_3");
			builder.put(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeAssignment_1(), "rule__ExternFunctionDeclaration__ResultTypeAssignment_1");
			builder.put(grammarAccess.getExternFunctionDeclarationAccess().getNameAssignment_2(), "rule__ExternFunctionDeclaration__NameAssignment_2");
			builder.put(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListAssignment_3(), "rule__ExternFunctionDeclaration__ArgumentListAssignment_3");
			builder.put(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeAssignment_1(), "rule__ExternAggregationOperatorDeclaration__ResultTypeAssignment_1");
			builder.put(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameAssignment_2(), "rule__ExternAggregationOperatorDeclaration__NameAssignment_2");
			builder.put(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeAssignment_4(), "rule__ExternAggregationOperatorDeclaration__ArgumentTypeAssignment_4");
			builder.put(grammarAccess.getExternDatatypeDeclarationAccess().getNameAssignment_2(), "rule__ExternDatatypeDeclaration__NameAssignment_2");
			builder.put(grammarAccess.getExpressionAccess().getBodyAssignment_2_1_2(), "rule__Expression__BodyAssignment_2_1_2");
			builder.put(grammarAccess.getConditionalExpressionAccess().getConditionAssignment_1(), "rule__ConditionalExpression__ConditionAssignment_1");
			builder.put(grammarAccess.getConditionalExpressionAccess().getThenAssignment_3(), "rule__ConditionalExpression__ThenAssignment_3");
			builder.put(grammarAccess.getConditionalExpressionAccess().getElseAssignment_5(), "rule__ConditionalExpression__ElseAssignment_5");
			builder.put(grammarAccess.getLetExpressionAccess().getBindingsAssignment_1(), "rule__LetExpression__BindingsAssignment_1");
			builder.put(grammarAccess.getLetExpressionAccess().getBindingsAssignment_2_1(), "rule__LetExpression__BindingsAssignment_2_1");
			builder.put(grammarAccess.getLetExpressionAccess().getBodyAssignment_4(), "rule__LetExpression__BodyAssignment_4");
			builder.put(grammarAccess.getLetBindingAccess().getTypeAssignment_0(), "rule__LetBinding__TypeAssignment_0");
			builder.put(grammarAccess.getLetBindingAccess().getNameAssignment_1(), "rule__LetBinding__NameAssignment_1");
			builder.put(grammarAccess.getLetBindingAccess().getValueAssignment_3(), "rule__LetBinding__ValueAssignment_3");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1(), "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2(), "rule__DisjunctiveExpression__BodyAssignment_1_1_2");
			builder.put(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1(), "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1");
			builder.put(grammarAccess.getCaseAccess().getConditionAssignment_0(), "rule__Case__ConditionAssignment_0");
			builder.put(grammarAccess.getCaseAccess().getBodyAssignment_2(), "rule__Case__BodyAssignment_2");
			builder.put(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1(), "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1");
			builder.put(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1(), "rule__ComparisonExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2(), "rule__ComparisonExpression__RightAssignment_1_2");
			builder.put(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1(), "rule__AdditiveExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2(), "rule__AdditiveExpression__RightAssignment_1_2");
			builder.put(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1(), "rule__MultiplicativeExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2(), "rule__MultiplicativeExpression__RightAssignment_1_2");
			builder.put(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1(), "rule__ExponentialExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2(), "rule__ExponentialExpression__RightAssignment_1_2");
			builder.put(grammarAccess.getCastExpressionAccess().getTargetTypeAssignment_1_2(), "rule__CastExpression__TargetTypeAssignment_1_2");
			builder.put(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1(), "rule__UnaryExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2(), "rule__UnaryExpression__BodyAssignment_1_2");
			builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0");
			builder.put(grammarAccess.getAggregationAccess().getValueAssignment_2(), "rule__Aggregation__ValueAssignment_2");
			builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4(), "rule__Aggregation__ConditionAssignment_4");
			builder.put(grammarAccess.getCountAccess().getConditionAssignment_2(), "rule__Count__ConditionAssignment_2");
			builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0");
			builder.put(grammarAccess.getCallAccess().getArgumentListAssignment_1(), "rule__Call__ArgumentListAssignment_1");
			builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0(), "rule__ArgumentList__ArgumentsAssignment_2_0");
			builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1(), "rule__ArgumentList__ArgumentsAssignment_2_1_1");
			builder.put(grammarAccess.getExpressionArgumentAccess().getExpressionAssignment(), "rule__ExpressionArgument__ExpressionAssignment");
			builder.put(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceAssignment_0(), "rule__TypedVariableArgument__TypeReferenceAssignment_0");
			builder.put(grammarAccess.getTypedVariableArgumentAccess().getNameAssignment_1(), "rule__TypedVariableArgument__NameAssignment_1");
			builder.put(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceAssignment_0(), "rule__TypedStarArgument__TypeReferenceAssignment_0");
			builder.put(grammarAccess.getReferenceAccess().getComponentsAssignment_0(), "rule__Reference__ComponentsAssignment_0");
			builder.put(grammarAccess.getReferenceAccess().getComponentsAssignment_1_1(), "rule__Reference__ComponentsAssignment_1_1");
			builder.put(grammarAccess.getPathComponentAccess().getInverseAssignment_0(), "rule__PathComponent__InverseAssignment_0");
			builder.put(grammarAccess.getPathComponentAccess().getSymbolAssignment_1(), "rule__PathComponent__SymbolAssignment_1");
			builder.put(grammarAccess.getPathComponentAccess().getTransitiveClosureAssignment_2_0(), "rule__PathComponent__TransitiveClosureAssignment_2_0");
			builder.put(grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureAssignment_2_1(), "rule__PathComponent__ReflexiveTransitiveClosureAssignment_2_1");
			builder.put(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1(), "rule__Interval__LowerBoundAssignment_1");
			builder.put(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3(), "rule__Interval__UpperBoundAssignment_3");
			builder.put(grammarAccess.getLogicLiteralAccess().getValueAssignment(), "rule__LogicLiteral__ValueAssignment");
			builder.put(grammarAccess.getIntLiteralAccess().getValueAssignment(), "rule__IntLiteral__ValueAssignment");
			builder.put(grammarAccess.getRealLiteralAccess().getValueAssignment(), "rule__RealLiteral__ValueAssignment");
			builder.put(grammarAccess.getStringLiteralAccess().getValueAssignment(), "rule__StringLiteral__ValueAssignment");
			builder.put(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0_0(), "rule__ClassDeclaration__AbstractAssignment_0_0");
			builder.put(grammarAccess.getClassDeclarationAccess().getRootAssignment_0_1(), "rule__ClassDeclaration__RootAssignment_0_1");
			builder.put(grammarAccess.getClassDeclarationAccess().getNameAssignment_2(), "rule__ClassDeclaration__NameAssignment_2");
			builder.put(grammarAccess.getClassDeclarationAccess().getSupertypesAssignment_3_1(), "rule__ClassDeclaration__SupertypesAssignment_3_1");
			builder.put(grammarAccess.getClassDeclarationAccess().getSupertypesAssignment_3_2_1(), "rule__ClassDeclaration__SupertypesAssignment_3_2_1");
			builder.put(grammarAccess.getClassDeclarationAccess().getFieldsAssignment_4_0_1(), "rule__ClassDeclaration__FieldsAssignment_4_0_1");
			builder.put(grammarAccess.getFieldAccess().getContainmentAssignment_0_0(), "rule__Field__ContainmentAssignment_0_0");
			builder.put(grammarAccess.getFieldAccess().getCrossReferenceAssignment_0_1(), "rule__Field__CrossReferenceAssignment_0_1");
			builder.put(grammarAccess.getFieldAccess().getTypeAssignment_1(), "rule__Field__TypeAssignment_1");
			builder.put(grammarAccess.getFieldAccess().getMultiplicityAssignment_2(), "rule__Field__MultiplicityAssignment_2");
			builder.put(grammarAccess.getFieldAccess().getNameAssignment_3(), "rule__Field__NameAssignment_3");
			builder.put(grammarAccess.getFieldAccess().getOppositeAssignment_4_1(), "rule__Field__OppositeAssignment_4_1");
			builder.put(grammarAccess.getExactMultiplicityAccess().getValueAssignment_1(), "rule__ExactMultiplicity__ValueAssignment_1");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1(), "rule__BoundedMultiplicity__LowerBoundAssignment_1");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3(), "rule__BoundedMultiplicity__UpperBoundAssignment_3");
			builder.put(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1(), "rule__EnumDeclaration__NameAssignment_1");
			builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0");
			builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1");
			builder.put(grammarAccess.getEnumLiteralAccess().getNameAssignment(), "rule__EnumLiteral__NameAssignment");
			builder.put(grammarAccess.getExactScopeAccess().getTypeAssignment_1(), "rule__ExactScope__TypeAssignment_1");
			builder.put(grammarAccess.getExactScopeAccess().getSizeAssignment_3(), "rule__ExactScope__SizeAssignment_3");
			builder.put(grammarAccess.getBoundedScopeAccess().getLowerBoundAssignment_1_0_0_0(), "rule__BoundedScope__LowerBoundAssignment_1_0_0_0");
			builder.put(grammarAccess.getBoundedScopeAccess().getTypeAssignment_1_0_1(), "rule__BoundedScope__TypeAssignment_1_0_1");
			builder.put(grammarAccess.getBoundedScopeAccess().getUpperBoundAssignment_1_0_3(), "rule__BoundedScope__UpperBoundAssignment_1_0_3");
			builder.put(grammarAccess.getBoundedScopeAccess().getUpperBoundAssignment_1_1_0(), "rule__BoundedScope__UpperBoundAssignment_1_1_0");
			builder.put(grammarAccess.getBoundedScopeAccess().getTypeAssignment_1_1_2(), "rule__BoundedScope__TypeAssignment_1_1_2");
			builder.put(grammarAccess.getBoundedScopeAccess().getLowerBoundAssignment_1_1_3_1(), "rule__BoundedScope__LowerBoundAssignment_1_1_3_1");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getLowerBoundAssignment_1_0_0(), "rule__LowerBoundedScope__LowerBoundAssignment_1_0_0");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getTypeAssignment_1_0_2(), "rule__LowerBoundedScope__TypeAssignment_1_0_2");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getTypeAssignment_1_1_0(), "rule__LowerBoundedScope__TypeAssignment_1_1_0");
			builder.put(grammarAccess.getLowerBoundedScopeAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScope__LowerBoundAssignment_1_1_2");
			builder.put(grammarAccess.getObjectiveDeclarationAccess().getKindAssignment_0(), "rule__ObjectiveDeclaration__KindAssignment_0");
			builder.put(grammarAccess.getObjectiveDeclarationAccess().getObjectiveAssignment_1(), "rule__ObjectiveDeclaration__ObjectiveAssignment_1");
			builder.put(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), "rule__ExternPredicateDeclaration__UnorderedGroup_1");
			builder.put(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), "rule__ClassDeclaration__UnorderedGroup_0");
		}
	}
	
	@Inject
	private NameMappings nameMappings;

	@Inject
	private SolverLanguageGrammarAccess grammarAccess;

	@Override
	protected InternalSolverLanguageParser createParser() {
		InternalSolverLanguageParser result = new InternalSolverLanguageParser(null);
		result.setGrammarAccess(grammarAccess);
		return result;
	}

	@Override
	protected TokenSource createLexer(CharStream stream) {
		return new SolverLanguageTokenSource(super.createLexer(stream));
	}
	
	@Override
	protected String getRuleName(AbstractElement element) {
		return nameMappings.getRuleName(element);
	}

	@Override
	protected String[] getInitialHiddenTokens() {
		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
	}

	public SolverLanguageGrammarAccess getGrammarAccess() {
		return this.grammarAccess;
	}

	public void setGrammarAccess(SolverLanguageGrammarAccess grammarAccess) {
		this.grammarAccess = grammarAccess;
	}
	
	public NameMappings getNameMappings() {
		return nameMappings;
	}
	
	public void setNameMappings(NameMappings nameMappings) {
		this.nameMappings = nameMappings;
	}
}