/* * 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; } }