/*
* generated by Xtext
*/
package org.example.expressions.ui.contentassist.antlr;
import java.util.Collection;
import java.util.Map;
import java.util.HashMap;
import org.antlr.runtime.RecognitionException;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import com.google.inject.Inject;
import org.example.expressions.services.ExpressionsGrammarAccess;
public class ExpressionsParser extends AbstractContentAssistParser {
@Inject
private ExpressionsGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected org.example.expressions.ui.contentassist.antlr.internal.InternalExpressionsParser createParser() {
org.example.expressions.ui.contentassist.antlr.internal.InternalExpressionsParser result = new org.example.expressions.ui.contentassist.antlr.internal.InternalExpressionsParser(null);
result.setGrammarAccess(grammarAccess);
return result;
}
@Override
protected String getRuleName(AbstractElement element) {
if (nameMappings == null) {
nameMappings = new HashMap<AbstractElement, String>() {
private static final long serialVersionUID = 1L;
{
put(grammarAccess.getAbstractElementAccess().getAlternatives(), "rule__AbstractElement__Alternatives");
put(grammarAccess.getEqualityAccess().getOpAlternatives_1_1_0(), "rule__Equality__OpAlternatives_1_1_0");
put(grammarAccess.getComparisonAccess().getOpAlternatives_1_1_0(), "rule__Comparison__OpAlternatives_1_1_0");
put(grammarAccess.getPlusOrMinusAccess().getAlternatives_1_0(), "rule__PlusOrMinus__Alternatives_1_0");
put(grammarAccess.getMulOrDivAccess().getOpAlternatives_1_1_0(), "rule__MulOrDiv__OpAlternatives_1_1_0");
put(grammarAccess.getPrimaryAccess().getAlternatives(), "rule__Primary__Alternatives");
put(grammarAccess.getAtomicAccess().getAlternatives(), "rule__Atomic__Alternatives");
put(grammarAccess.getAtomicAccess().getValueAlternatives_2_1_0(), "rule__Atomic__ValueAlternatives_2_1_0");
put(grammarAccess.getVariableAccess().getGroup(), "rule__Variable__Group__0");
put(grammarAccess.getOrAccess().getGroup(), "rule__Or__Group__0");
put(grammarAccess.getOrAccess().getGroup_1(), "rule__Or__Group_1__0");
put(grammarAccess.getAndAccess().getGroup(), "rule__And__Group__0");
put(grammarAccess.getAndAccess().getGroup_1(), "rule__And__Group_1__0");
put(grammarAccess.getEqualityAccess().getGroup(), "rule__Equality__Group__0");
put(grammarAccess.getEqualityAccess().getGroup_1(), "rule__Equality__Group_1__0");
put(grammarAccess.getComparisonAccess().getGroup(), "rule__Comparison__Group__0");
put(grammarAccess.getComparisonAccess().getGroup_1(), "rule__Comparison__Group_1__0");
put(grammarAccess.getPlusOrMinusAccess().getGroup(), "rule__PlusOrMinus__Group__0");
put(grammarAccess.getPlusOrMinusAccess().getGroup_1(), "rule__PlusOrMinus__Group_1__0");
put(grammarAccess.getPlusOrMinusAccess().getGroup_1_0_0(), "rule__PlusOrMinus__Group_1_0_0__0");
put(grammarAccess.getPlusOrMinusAccess().getGroup_1_0_1(), "rule__PlusOrMinus__Group_1_0_1__0");
put(grammarAccess.getMulOrDivAccess().getGroup(), "rule__MulOrDiv__Group__0");
put(grammarAccess.getMulOrDivAccess().getGroup_1(), "rule__MulOrDiv__Group_1__0");
put(grammarAccess.getPrimaryAccess().getGroup_0(), "rule__Primary__Group_0__0");
put(grammarAccess.getPrimaryAccess().getGroup_1(), "rule__Primary__Group_1__0");
put(grammarAccess.getAtomicAccess().getGroup_0(), "rule__Atomic__Group_0__0");
put(grammarAccess.getAtomicAccess().getGroup_1(), "rule__Atomic__Group_1__0");
put(grammarAccess.getAtomicAccess().getGroup_2(), "rule__Atomic__Group_2__0");
put(grammarAccess.getAtomicAccess().getGroup_3(), "rule__Atomic__Group_3__0");
put(grammarAccess.getExpressionsModelAccess().getElementsAssignment(), "rule__ExpressionsModel__ElementsAssignment");
put(grammarAccess.getVariableAccess().getNameAssignment_0(), "rule__Variable__NameAssignment_0");
put(grammarAccess.getVariableAccess().getExpressionAssignment_2(), "rule__Variable__ExpressionAssignment_2");
put(grammarAccess.getOrAccess().getRightAssignment_1_2(), "rule__Or__RightAssignment_1_2");
put(grammarAccess.getAndAccess().getRightAssignment_1_2(), "rule__And__RightAssignment_1_2");
put(grammarAccess.getEqualityAccess().getOpAssignment_1_1(), "rule__Equality__OpAssignment_1_1");
put(grammarAccess.getEqualityAccess().getRightAssignment_1_2(), "rule__Equality__RightAssignment_1_2");
put(grammarAccess.getComparisonAccess().getOpAssignment_1_1(), "rule__Comparison__OpAssignment_1_1");
put(grammarAccess.getComparisonAccess().getRightAssignment_1_2(), "rule__Comparison__RightAssignment_1_2");
put(grammarAccess.getPlusOrMinusAccess().getRightAssignment_1_1(), "rule__PlusOrMinus__RightAssignment_1_1");
put(grammarAccess.getMulOrDivAccess().getOpAssignment_1_1(), "rule__MulOrDiv__OpAssignment_1_1");
put(grammarAccess.getMulOrDivAccess().getRightAssignment_1_2(), "rule__MulOrDiv__RightAssignment_1_2");
put(grammarAccess.getPrimaryAccess().getExpressionAssignment_1_2(), "rule__Primary__ExpressionAssignment_1_2");
put(grammarAccess.getAtomicAccess().getValueAssignment_0_1(), "rule__Atomic__ValueAssignment_0_1");
put(grammarAccess.getAtomicAccess().getValueAssignment_1_1(), "rule__Atomic__ValueAssignment_1_1");
put(grammarAccess.getAtomicAccess().getValueAssignment_2_1(), "rule__Atomic__ValueAssignment_2_1");
put(grammarAccess.getAtomicAccess().getVariableAssignment_3_1(), "rule__Atomic__VariableAssignment_3_1");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
org.example.expressions.ui.contentassist.antlr.internal.InternalExpressionsParser typedParser = (org.example.expressions.ui.contentassist.antlr.internal.InternalExpressionsParser) parser;
typedParser.entryRuleExpressionsModel();
return typedParser.getFollowElements();
} catch(RecognitionException ex) {
throw new RuntimeException(ex);
}
}
@Override
protected String[] getInitialHiddenTokens() {
return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
}
public ExpressionsGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(ExpressionsGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}