/*
* generated by Xtext 2.9.2
*/
package fr.inria.diverse.ide.contentassist.antlr;
import com.google.inject.Inject;
import fr.inria.diverse.ide.contentassist.antlr.internal.InternalMiniFSMParser;
import fr.inria.diverse.services.MiniFSMGrammarAccess;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.antlr.runtime.RecognitionException;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
public class MiniFSMParser extends AbstractContentAssistParser {
@Inject
private MiniFSMGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected InternalMiniFSMParser createParser() {
InternalMiniFSMParser result = new InternalMiniFSMParser(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.getStateAccess().getAlternatives(), "rule__State__Alternatives");
put(grammarAccess.getVariableAccess().getAlternatives(), "rule__Variable__Alternatives");
put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives");
put(grammarAccess.getAndOrAccess().getAlternatives_1(), "rule__AndOr__Alternatives_1");
put(grammarAccess.getTermBoolAccess().getAlternatives(), "rule__TermBool__Alternatives");
put(grammarAccess.getEBooleanAccess().getAlternatives(), "rule__EBoolean__Alternatives");
put(grammarAccess.getIntComparisonAccess().getAlternatives(), "rule__IntComparison__Alternatives");
put(grammarAccess.getPlusMinusAccess().getAlternatives_1(), "rule__PlusMinus__Alternatives_1");
put(grammarAccess.getMultDivAccess().getAlternatives_1(), "rule__MultDiv__Alternatives_1");
put(grammarAccess.getTermIntAccess().getAlternatives(), "rule__TermInt__Alternatives");
put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
put(grammarAccess.getFSMAccess().getGroup(), "rule__FSM__Group__0");
put(grammarAccess.getFSMAccess().getGroup_2(), "rule__FSM__Group_2__0");
put(grammarAccess.getFSMAccess().getGroup_5(), "rule__FSM__Group_5__0");
put(grammarAccess.getState_ImplAccess().getGroup(), "rule__State_Impl__Group__0");
put(grammarAccess.getTransitionAccess().getGroup(), "rule__Transition__Group__0");
put(grammarAccess.getTransitionAccess().getGroup_3(), "rule__Transition__Group_3__0");
put(grammarAccess.getContextAccess().getGroup(), "rule__Context__Group__0");
put(grammarAccess.getContextAccess().getGroup_3(), "rule__Context__Group_3__0");
put(grammarAccess.getBlockAccess().getGroup(), "rule__Block__Group__0");
put(grammarAccess.getBlockAccess().getGroup_2(), "rule__Block__Group_2__0");
put(grammarAccess.getFinalStateAccess().getGroup(), "rule__FinalState__Group__0");
put(grammarAccess.getBooleanAssignmentAccess().getGroup(), "rule__BooleanAssignment__Group__0");
put(grammarAccess.getIntAssignmentAccess().getGroup(), "rule__IntAssignment__Group__0");
put(grammarAccess.getPrintVarAccess().getGroup(), "rule__PrintVar__Group__0");
put(grammarAccess.getPrintStrAccess().getGroup(), "rule__PrintStr__Group__0");
put(grammarAccess.getAndOrAccess().getGroup(), "rule__AndOr__Group__0");
put(grammarAccess.getAndOrAccess().getGroup_1_0(), "rule__AndOr__Group_1_0__0");
put(grammarAccess.getAndOrAccess().getGroup_1_1(), "rule__AndOr__Group_1_1__0");
put(grammarAccess.getTermBoolAccess().getGroup_3(), "rule__TermBool__Group_3__0");
put(grammarAccess.getNotAccess().getGroup(), "rule__Not__Group__0");
put(grammarAccess.getBooleanVariableRefAccess().getGroup(), "rule__BooleanVariableRef__Group__0");
put(grammarAccess.getBooleanAccess().getGroup(), "rule__Boolean__Group__0");
put(grammarAccess.getEqualAccess().getGroup(), "rule__Equal__Group__0");
put(grammarAccess.getGreaterAccess().getGroup(), "rule__Greater__Group__0");
put(grammarAccess.getGreaterOrEqualAccess().getGroup(), "rule__GreaterOrEqual__Group__0");
put(grammarAccess.getLessAccess().getGroup(), "rule__Less__Group__0");
put(grammarAccess.getLessOrEqualAccess().getGroup(), "rule__LessOrEqual__Group__0");
put(grammarAccess.getPlusMinusAccess().getGroup(), "rule__PlusMinus__Group__0");
put(grammarAccess.getPlusMinusAccess().getGroup_1_0(), "rule__PlusMinus__Group_1_0__0");
put(grammarAccess.getPlusMinusAccess().getGroup_1_1(), "rule__PlusMinus__Group_1_1__0");
put(grammarAccess.getMultDivAccess().getGroup(), "rule__MultDiv__Group__0");
put(grammarAccess.getMultDivAccess().getGroup_1_0(), "rule__MultDiv__Group_1_0__0");
put(grammarAccess.getMultDivAccess().getGroup_1_1(), "rule__MultDiv__Group_1_1__0");
put(grammarAccess.getTermIntAccess().getGroup_2(), "rule__TermInt__Group_2__0");
put(grammarAccess.getIntVariableRefAccess().getGroup(), "rule__IntVariableRef__Group__0");
put(grammarAccess.getEIntAccess().getGroup(), "rule__EInt__Group__0");
put(grammarAccess.getIntegerVarAccess().getGroup(), "rule__IntegerVar__Group__0");
put(grammarAccess.getIntegerVarAccess().getGroup_3(), "rule__IntegerVar__Group_3__0");
put(grammarAccess.getBooleanVarAccess().getGroup(), "rule__BooleanVar__Group__0");
put(grammarAccess.getBooleanVarAccess().getGroup_3(), "rule__BooleanVar__Group_3__0");
put(grammarAccess.getFSMAccess().getStatesAssignment_2_0(), "rule__FSM__StatesAssignment_2_0");
put(grammarAccess.getFSMAccess().getStatesAssignment_2_1(), "rule__FSM__StatesAssignment_2_1");
put(grammarAccess.getFSMAccess().getInitialStateAssignment_4(), "rule__FSM__InitialStateAssignment_4");
put(grammarAccess.getFSMAccess().getTransitionsAssignment_5_0(), "rule__FSM__TransitionsAssignment_5_0");
put(grammarAccess.getFSMAccess().getTransitionsAssignment_5_1(), "rule__FSM__TransitionsAssignment_5_1");
put(grammarAccess.getFSMAccess().getContextAssignment_6(), "rule__FSM__ContextAssignment_6");
put(grammarAccess.getState_ImplAccess().getNameAssignment_2(), "rule__State_Impl__NameAssignment_2");
put(grammarAccess.getState_ImplAccess().getBlockAssignment_3(), "rule__State_Impl__BlockAssignment_3");
put(grammarAccess.getTransitionAccess().getInputAssignment_0(), "rule__Transition__InputAssignment_0");
put(grammarAccess.getTransitionAccess().getOutputAssignment_2(), "rule__Transition__OutputAssignment_2");
put(grammarAccess.getTransitionAccess().getExpressionAssignment_3_1(), "rule__Transition__ExpressionAssignment_3_1");
put(grammarAccess.getContextAccess().getVariablesAssignment_3_0(), "rule__Context__VariablesAssignment_3_0");
put(grammarAccess.getContextAccess().getVariablesAssignment_3_1(), "rule__Context__VariablesAssignment_3_1");
put(grammarAccess.getBlockAccess().getStatementAssignment_2_0(), "rule__Block__StatementAssignment_2_0");
put(grammarAccess.getBlockAccess().getStatementAssignment_2_1(), "rule__Block__StatementAssignment_2_1");
put(grammarAccess.getFinalStateAccess().getNameAssignment_2(), "rule__FinalState__NameAssignment_2");
put(grammarAccess.getFinalStateAccess().getBlockAssignment_3(), "rule__FinalState__BlockAssignment_3");
put(grammarAccess.getBooleanAssignmentAccess().getVariableAssignment_2(), "rule__BooleanAssignment__VariableAssignment_2");
put(grammarAccess.getBooleanAssignmentAccess().getValueAssignment_4(), "rule__BooleanAssignment__ValueAssignment_4");
put(grammarAccess.getIntAssignmentAccess().getVariableAssignment_2(), "rule__IntAssignment__VariableAssignment_2");
put(grammarAccess.getIntAssignmentAccess().getValueAssignment_4(), "rule__IntAssignment__ValueAssignment_4");
put(grammarAccess.getPrintVarAccess().getValueAssignment_2(), "rule__PrintVar__ValueAssignment_2");
put(grammarAccess.getPrintStrAccess().getValueAssignment_2(), "rule__PrintStr__ValueAssignment_2");
put(grammarAccess.getAndOrAccess().getRightAssignment_1_0_2(), "rule__AndOr__RightAssignment_1_0_2");
put(grammarAccess.getAndOrAccess().getRightAssignment_1_1_2(), "rule__AndOr__RightAssignment_1_1_2");
put(grammarAccess.getTermBoolAccess().getExpressionAssignment_3_2(), "rule__TermBool__ExpressionAssignment_3_2");
put(grammarAccess.getNotAccess().getExpressionAssignment_1(), "rule__Not__ExpressionAssignment_1");
put(grammarAccess.getBooleanVariableRefAccess().getNameAssignment_1(), "rule__BooleanVariableRef__NameAssignment_1");
put(grammarAccess.getBooleanAccess().getValueAssignment_0(), "rule__Boolean__ValueAssignment_0");
put(grammarAccess.getEqualAccess().getLeftAssignment_2(), "rule__Equal__LeftAssignment_2");
put(grammarAccess.getEqualAccess().getRightAssignment_4(), "rule__Equal__RightAssignment_4");
put(grammarAccess.getGreaterAccess().getLeftAssignment_2(), "rule__Greater__LeftAssignment_2");
put(grammarAccess.getGreaterAccess().getRightAssignment_4(), "rule__Greater__RightAssignment_4");
put(grammarAccess.getGreaterOrEqualAccess().getLeftAssignment_2(), "rule__GreaterOrEqual__LeftAssignment_2");
put(grammarAccess.getGreaterOrEqualAccess().getRightAssignment_4(), "rule__GreaterOrEqual__RightAssignment_4");
put(grammarAccess.getLessAccess().getLeftAssignment_2(), "rule__Less__LeftAssignment_2");
put(grammarAccess.getLessAccess().getRightAssignment_4(), "rule__Less__RightAssignment_4");
put(grammarAccess.getLessOrEqualAccess().getLeftAssignment_2(), "rule__LessOrEqual__LeftAssignment_2");
put(grammarAccess.getLessOrEqualAccess().getRightAssignment_4(), "rule__LessOrEqual__RightAssignment_4");
put(grammarAccess.getPlusMinusAccess().getRightAssignment_1_0_2(), "rule__PlusMinus__RightAssignment_1_0_2");
put(grammarAccess.getPlusMinusAccess().getRightAssignment_1_1_2(), "rule__PlusMinus__RightAssignment_1_1_2");
put(grammarAccess.getMultDivAccess().getRightAssignment_1_0_2(), "rule__MultDiv__RightAssignment_1_0_2");
put(grammarAccess.getMultDivAccess().getRightAssignment_1_1_2(), "rule__MultDiv__RightAssignment_1_1_2");
put(grammarAccess.getIntegerAccess().getValueAssignment(), "rule__Integer__ValueAssignment");
put(grammarAccess.getIntVariableRefAccess().getNameAssignment_1(), "rule__IntVariableRef__NameAssignment_1");
put(grammarAccess.getIntegerVarAccess().getNameAssignment_2(), "rule__IntegerVar__NameAssignment_2");
put(grammarAccess.getIntegerVarAccess().getValueAssignment_3_1(), "rule__IntegerVar__ValueAssignment_3_1");
put(grammarAccess.getBooleanVarAccess().getNameAssignment_2(), "rule__BooleanVar__NameAssignment_2");
put(grammarAccess.getBooleanVarAccess().getValueAssignment_3_1(), "rule__BooleanVar__ValueAssignment_3_1");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
InternalMiniFSMParser typedParser = (InternalMiniFSMParser) parser;
typedParser.entryRuleFSM();
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 MiniFSMGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(MiniFSMGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}