aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java
blob: a84662a22289ea40b8dcb3d19b0cfaadb9b67210 (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
/*
 * 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_0(), "rule__Statement__Alternatives_0");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1(), "rule__AssertionOrDefinition__Alternatives_1");
			builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
			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.getAggregationExpressionAccess().getAlternatives(), "rule__AggregationExpression__Alternatives");
			builder.put(grammarAccess.getAtomicExpressionAccess().getAlternatives(), "rule__AtomicExpression__Alternatives");
			builder.put(grammarAccess.getCallAccess().getAlternatives_1(), "rule__Call__Alternatives_1");
			builder.put(grammarAccess.getArgumentAccess().getAlternatives(), "rule__Argument__Alternatives");
			builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
			builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
			builder.put(grammarAccess.getScopeDefinitionAccess().getAlternatives(), "rule__ScopeDefinition__Alternatives");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__BoundedScopeDefinition__Alternatives_1");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__LowerBoundedScopeDefinition__Alternatives_1");
			builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives");
			builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__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.getUnaryOpAccess().getAlternatives(), "rule__UnaryOp__Alternatives");
			builder.put(grammarAccess.getQuantifierAccess().getAlternatives(), "rule__Quantifier__Alternatives");
			builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
			builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives");
			builder.put(grammarAccess.getStatementAccess().getGroup(), "rule__Statement__Group__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_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.getUnnamedErrorPrediateDefinitionAccess().getGroup(), "rule__UnnamedErrorPrediateDefinition__Group__0");
			builder.put(grammarAccess.getDefaultDefinitionAccess().getGroup(), "rule__DefaultDefinition__Group__0");
			builder.put(grammarAccess.getMetricDefinitionAccess().getGroup(), "rule__MetricDefinition__Group__0");
			builder.put(grammarAccess.getExternPredicateDefinitionAccess().getGroup(), "rule__ExternPredicateDefinition__Group__0");
			builder.put(grammarAccess.getExternMetricDefinitionAccess().getGroup(), "rule__ExternMetricDefinition__Group__0");
			builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getGroup(), "rule__ExternAggregatorDefinition__Group__0");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup(), "rule__ExternDatatypeDefinition__Group__0");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3(), "rule__ExternDatatypeDefinition__Group_3__0");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2(), "rule__ExternDatatypeDefinition__Group_3_2__0");
			builder.put(grammarAccess.getVariableAccess().getGroup(), "rule__Variable__Group__0");
			builder.put(grammarAccess.getIfElseAccess().getGroup(), "rule__IfElse__Group__0");
			builder.put(grammarAccess.getLetAccess().getGroup(), "rule__Let__Group__0");
			builder.put(grammarAccess.getLetAccess().getGroup_2(), "rule__Let__Group_2__0");
			builder.put(grammarAccess.getLetBindingAccess().getGroup(), "rule__LetBinding__Group__0");
			builder.put(grammarAccess.getImplicationExpressionAccess().getGroup(), "rule__ImplicationExpression__Group__0");
			builder.put(grammarAccess.getImplicationExpressionAccess().getGroup_1(), "rule__ImplicationExpression__Group_1__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.getLocalVariablesAccess().getGroup(), "rule__LocalVariables__Group__0");
			builder.put(grammarAccess.getLocalVariablesAccess().getGroup_2(), "rule__LocalVariables__Group_2__0");
			builder.put(grammarAccess.getLocalVariablesAccess().getGroup_2_1(), "rule__LocalVariables__Group_2_1__0");
			builder.put(grammarAccess.getQuantifiedExpressionAccess().getGroup(), "rule__QuantifiedExpression__Group__0");
			builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0");
			builder.put(grammarAccess.getAggregationAccess().getGroup_4(), "rule__Aggregation__Group_4__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.getTypedArgumentAccess().getGroup(), "rule__TypedArgument__Group__0");
			builder.put(grammarAccess.getTypedStarArgumentAccess().getGroup(), "rule__TypedStarArgument__Group__0");
			builder.put(grammarAccess.getIntervalAccess().getGroup(), "rule__Interval__Group__0");
			builder.put(grammarAccess.getInfinityLiteralAccess().getGroup(), "rule__InfinityLiteral__Group__0");
			builder.put(grammarAccess.getEmptyIntervalLiteralAccess().getGroup(), "rule__EmptyIntervalLiteral__Group__0");
			builder.put(grammarAccess.getClassDefinitionAccess().getGroup(), "rule__ClassDefinition__Group__0");
			builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3(), "rule__ClassDefinition__Group_3__0");
			builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3_2(), "rule__ClassDefinition__Group_3_2__0");
			builder.put(grammarAccess.getMemberDefinitionAccess().getGroup(), "rule__MemberDefinition__Group__0");
			builder.put(grammarAccess.getMemberDefinitionAccess().getGroup_4(), "rule__MemberDefinition__Group_4__0");
			builder.put(grammarAccess.getManyMultiplicityAccess().getGroup(), "rule__ManyMultiplicity__Group__0");
			builder.put(grammarAccess.getExactMultiplicityAccess().getGroup(), "rule__ExactMultiplicity__Group__0");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getGroup(), "rule__BoundedMultiplicity__Group__0");
			builder.put(grammarAccess.getExactScopeDefinitionAccess().getGroup(), "rule__ExactScopeDefinition__Group__0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup(), "rule__BoundedScopeDefinition__Group__0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__BoundedScopeDefinition__Group_1_0__0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0(), "rule__BoundedScopeDefinition__Group_1_0_0__0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__BoundedScopeDefinition__Group_1_1__0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3(), "rule__BoundedScopeDefinition__Group_1_1_3__0");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup(), "rule__LowerBoundedScopeDefinition__Group__0");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__LowerBoundedScopeDefinition__Group_1_0__0");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__LowerBoundedScopeDefinition__Group_1_1__0");
			builder.put(grammarAccess.getObjectiveDefinitionAccess().getGroup(), "rule__ObjectiveDefinition__Group__0");
			builder.put(grammarAccess.getRealAccess().getGroup(), "rule__Real__Group__0");
			builder.put(grammarAccess.getRealAccess().getGroup_1(), "rule__Real__Group_1__0");
			builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0(), "rule__QualifiedName__Group_0__0");
			builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0_1(), "rule__QualifiedName__Group_0_1__0");
			builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment");
			builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2(), "rule__AssertionOrDefinition__RangeAssignment_1_0_2");
			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.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1(), "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1");
			builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3");
			builder.put(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1(), "rule__DefaultDefinition__HeadAssignment_1");
			builder.put(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3(), "rule__DefaultDefinition__RangeAssignment_3");
			builder.put(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0(), "rule__MetricDefinition__TypeAssignment_0");
			builder.put(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1(), "rule__MetricDefinition__HeadAssignment_1");
			builder.put(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3(), "rule__MetricDefinition__BodyAssignment_3");
			builder.put(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1(), "rule__ExternPredicateDefinition__NameAssignment_1");
			builder.put(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2(), "rule__ExternPredicateDefinition__ArgumentListAssignment_2");
			builder.put(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1(), "rule__ExternMetricDefinition__TypeAssignment_1");
			builder.put(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2(), "rule__ExternMetricDefinition__NameAssignment_2");
			builder.put(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3(), "rule__ExternMetricDefinition__ArgumentListAssignment_3");
			builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1(), "rule__ExternAggregatorDefinition__TypeAssignment_1");
			builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2(), "rule__ExternAggregatorDefinition__NameAssignment_2");
			builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4(), "rule__ExternAggregatorDefinition__InputTypeAssignment_4");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2(), "rule__ExternDatatypeDefinition__NameAssignment_2");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1(), "rule__ExternDatatypeDefinition__SupertypesAssignment_3_1");
			builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1(), "rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1");
			builder.put(grammarAccess.getVariableAccess().getTypeAssignment_0(), "rule__Variable__TypeAssignment_0");
			builder.put(grammarAccess.getVariableAccess().getNameAssignment_1(), "rule__Variable__NameAssignment_1");
			builder.put(grammarAccess.getIfElseAccess().getConditionAssignment_1(), "rule__IfElse__ConditionAssignment_1");
			builder.put(grammarAccess.getIfElseAccess().getThenAssignment_3(), "rule__IfElse__ThenAssignment_3");
			builder.put(grammarAccess.getIfElseAccess().getElseAssignment_5(), "rule__IfElse__ElseAssignment_5");
			builder.put(grammarAccess.getLetAccess().getBindingsAssignment_1(), "rule__Let__BindingsAssignment_1");
			builder.put(grammarAccess.getLetAccess().getBindingsAssignment_2_1(), "rule__Let__BindingsAssignment_2_1");
			builder.put(grammarAccess.getLetAccess().getBodyAssignment_4(), "rule__Let__BodyAssignment_4");
			builder.put(grammarAccess.getLetBindingAccess().getVariableAssignment_0(), "rule__LetBinding__VariableAssignment_0");
			builder.put(grammarAccess.getLetBindingAccess().getValueAssignment_2(), "rule__LetBinding__ValueAssignment_2");
			builder.put(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1(), "rule__ImplicationExpression__OpAssignment_1_1");
			builder.put(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2(), "rule__ImplicationExpression__RightAssignment_1_2");
			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().getTypeAssignment_1_2(), "rule__CastExpression__TypeAssignment_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.getLocalVariablesAccess().getVariablesAssignment_2_0(), "rule__LocalVariables__VariablesAssignment_2_0");
			builder.put(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1(), "rule__LocalVariables__VariablesAssignment_2_1_1");
			builder.put(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0(), "rule__QuantifiedExpression__QuantifierAssignment_0");
			builder.put(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1(), "rule__QuantifiedExpression__LocalVariablesAssignment_1");
			builder.put(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3(), "rule__QuantifiedExpression__BodyAssignment_3");
			builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0");
			builder.put(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1(), "rule__Aggregation__LocalVariablesAssignment_1");
			builder.put(grammarAccess.getAggregationAccess().getBodyAssignment_3(), "rule__Aggregation__BodyAssignment_3");
			builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4_1(), "rule__Aggregation__ConditionAssignment_4_1");
			builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0");
			builder.put(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0(), "rule__Call__TransitiveClosureAssignment_1_0");
			builder.put(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1(), "rule__Call__ReflexiveTransitiveClosureAssignment_1_1");
			builder.put(grammarAccess.getCallAccess().getArgumentListAssignment_2(), "rule__Call__ArgumentListAssignment_2");
			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().getBodyAssignment(), "rule__ExpressionArgument__BodyAssignment");
			builder.put(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0(), "rule__TypedArgument__TypeAssignment_0");
			builder.put(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1(), "rule__TypedArgument__VariableAssignment_1");
			builder.put(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0(), "rule__TypedStarArgument__TypeAssignment_0");
			builder.put(grammarAccess.getReferenceAccess().getReferredAssignment(), "rule__Reference__ReferredAssignment");
			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.getNumericLiteralAccess().getValueAssignment(), "rule__NumericLiteral__ValueAssignment");
			builder.put(grammarAccess.getStringLiteralAccess().getValueAssignment(), "rule__StringLiteral__ValueAssignment");
			builder.put(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0(), "rule__ClassDefinition__AbstractAssignment_0");
			builder.put(grammarAccess.getClassDefinitionAccess().getNameAssignment_2(), "rule__ClassDefinition__NameAssignment_2");
			builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1(), "rule__ClassDefinition__SuperclassesAssignment_3_1");
			builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1(), "rule__ClassDefinition__SuperclassesAssignment_3_2_1");
			builder.put(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5(), "rule__ClassDefinition__MembersAssignment_5");
			builder.put(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0(), "rule__MemberDefinition__ContainmentAssignment_0");
			builder.put(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1(), "rule__MemberDefinition__TypeAssignment_1");
			builder.put(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2(), "rule__MemberDefinition__MultiplicityAssignment_2");
			builder.put(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3(), "rule__MemberDefinition__NameAssignment_3");
			builder.put(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1(), "rule__MemberDefinition__OppositeAssignment_4_1");
			builder.put(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1(), "rule__ExactMultiplicity__MultiplicityAssignment_1");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1(), "rule__BoundedMultiplicity__LowerBoundAssignment_1");
			builder.put(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3(), "rule__BoundedMultiplicity__UpperBoundAssignment_3");
			builder.put(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1(), "rule__ExactScopeDefinition__TypeAssignment_1");
			builder.put(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3(), "rule__ExactScopeDefinition__ExactScopeAssignment_3");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1(), "rule__BoundedScopeDefinition__TypeAssignment_1_0_1");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2(), "rule__BoundedScopeDefinition__TypeAssignment_1_1_2");
			builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0");
			builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2");
			builder.put(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0(), "rule__ObjectiveDefinition__KindAssignment_0");
			builder.put(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1(), "rule__ObjectiveDefinition__ObjectiveAssignment_1");
		}
	}
	
	@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;
	}
}