/*
* generated by Xtext
*/
package insa.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 insa.services.ExpArithmGrammarAccess;
public class ExpArithmParser extends AbstractContentAssistParser {
@Inject
private ExpArithmGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected insa.ui.contentassist.antlr.internal.InternalExpArithmParser createParser() {
insa.ui.contentassist.antlr.internal.InternalExpArithmParser result = new insa.ui.contentassist.antlr.internal.InternalExpArithmParser(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.getEltExpAccess().getAlternatives(), "rule__EltExp__Alternatives");
put(grammarAccess.getPlusAccess().getGroup(), "rule__Plus__Group__0");
put(grammarAccess.getMoinsAccess().getGroup(), "rule__Moins__Group__0");
put(grammarAccess.getMultAccess().getGroup(), "rule__Mult__Group__0");
put(grammarAccess.getDivisionAccess().getGroup(), "rule__Division__Group__0");
put(grammarAccess.getExpressionArithmAccess().getRacineAssignment(), "rule__ExpressionArithm__RacineAssignment");
put(grammarAccess.getValeurAccess().getValeurAssignment(), "rule__Valeur__ValeurAssignment");
put(grammarAccess.getPlusAccess().getEltGaucheAssignment_1(), "rule__Plus__EltGaucheAssignment_1");
put(grammarAccess.getPlusAccess().getEltDroitAssignment_2(), "rule__Plus__EltDroitAssignment_2");
put(grammarAccess.getMoinsAccess().getEltGaucheAssignment_1(), "rule__Moins__EltGaucheAssignment_1");
put(grammarAccess.getMoinsAccess().getEltDroitAssignment_2(), "rule__Moins__EltDroitAssignment_2");
put(grammarAccess.getMultAccess().getEltGaucheAssignment_1(), "rule__Mult__EltGaucheAssignment_1");
put(grammarAccess.getMultAccess().getEltDroitAssignment_2(), "rule__Mult__EltDroitAssignment_2");
put(grammarAccess.getDivisionAccess().getEltGaucheAssignment_1(), "rule__Division__EltGaucheAssignment_1");
put(grammarAccess.getDivisionAccess().getEltDroitAssignment_2(), "rule__Division__EltDroitAssignment_2");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
insa.ui.contentassist.antlr.internal.InternalExpArithmParser typedParser = (insa.ui.contentassist.antlr.internal.InternalExpArithmParser) parser;
typedParser.entryRuleExpressionArithm();
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 ExpArithmGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(ExpArithmGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}