/*******************************************************************************
* Copyright (c) 2010-2015 Henshin developers. All rights reserved.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* TU Berlin, University of Luxembourg, SES S.A.
*******************************************************************************/
/*
* generated by Xtext
*/
package lu.uni.snt.whileDSL.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 lu.uni.snt.whileDSL.services.WHILEGrammarAccess;
public class WHILEParser extends AbstractContentAssistParser {
@Inject
private WHILEGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected lu.uni.snt.whileDSL.ui.contentassist.antlr.internal.InternalWHILEParser createParser() {
lu.uni.snt.whileDSL.ui.contentassist.antlr.internal.InternalWHILEParser result = new lu.uni.snt.whileDSL.ui.contentassist.antlr.internal.InternalWHILEParser(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.getFgmnt_LST_ElemAccess().getAlternatives_0(), "rule__Fgmnt_LST_Elem__Alternatives_0");
put(grammarAccess.getExpr_TAccess().getAlternatives(), "rule__Expr_T__Alternatives");
put(grammarAccess.getUnaryAccess().getAlternatives(), "rule__Unary__Alternatives");
put(grammarAccess.getBinaryAccess().getOperatorAlternatives_2_0(), "rule__Binary__OperatorAlternatives_2_0");
put(grammarAccess.getTargetAccess().getAlternatives(), "rule__Target__Alternatives");
put(grammarAccess.getFgmnt_LST_ElemAccess().getGroup(), "rule__Fgmnt_LST_Elem__Group__0");
put(grammarAccess.getWhileAccess().getGroup(), "rule__While__Group__0");
put(grammarAccess.getVar_DefAccess().getGroup(), "rule__Var_Def__Group__0");
put(grammarAccess.getFn_CallAccess().getGroup(), "rule__Fn_Call__Group__0");
put(grammarAccess.getFn_DefAccess().getGroup(), "rule__Fn_Def__Group__0");
put(grammarAccess.getCommentAccess().getGroup(), "rule__Comment__Group__0");
put(grammarAccess.getBinaryAccess().getGroup(), "rule__Binary__Group__0");
put(grammarAccess.getNegAccess().getGroup(), "rule__Neg__Group__0");
put(grammarAccess.getInputAccess().getGroup(), "rule__Input__Group__0");
put(grammarAccess.getWProgramAccess().getFstAssignment(), "rule__WProgram__FstAssignment");
put(grammarAccess.getFgmnt_LST_ElemAccess().getNextAssignment_1(), "rule__Fgmnt_LST_Elem__NextAssignment_1");
put(grammarAccess.getWhileAccess().getExprAssignment_2(), "rule__While__ExprAssignment_2");
put(grammarAccess.getWhileAccess().getFgmntAssignment_5(), "rule__While__FgmntAssignment_5");
put(grammarAccess.getVar_DefAccess().getLeftAssignment_0(), "rule__Var_Def__LeftAssignment_0");
put(grammarAccess.getVar_DefAccess().getRightAssignment_2(), "rule__Var_Def__RightAssignment_2");
put(grammarAccess.getFn_CallAccess().getNameFAssignment_0(), "rule__Fn_Call__NameFAssignment_0");
put(grammarAccess.getFn_DefAccess().getNameFAssignment_1(), "rule__Fn_Def__NameFAssignment_1");
put(grammarAccess.getFn_DefAccess().getBodyAssignment_5(), "rule__Fn_Def__BodyAssignment_5");
put(grammarAccess.getCommentAccess().getCommentAssignment_1(), "rule__Comment__CommentAssignment_1");
put(grammarAccess.getExprAccess().getTypeAssignment(), "rule__Expr__TypeAssignment");
put(grammarAccess.getBinaryAccess().getFstAssignment_1(), "rule__Binary__FstAssignment_1");
put(grammarAccess.getBinaryAccess().getOperatorAssignment_2(), "rule__Binary__OperatorAssignment_2");
put(grammarAccess.getBinaryAccess().getSndAssignment_3(), "rule__Binary__SndAssignment_3");
put(grammarAccess.getNegAccess().getExprAssignment_1(), "rule__Neg__ExprAssignment_1");
put(grammarAccess.getVarAccess().getLabelAssignment(), "rule__Var__LabelAssignment");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
lu.uni.snt.whileDSL.ui.contentassist.antlr.internal.InternalWHILEParser typedParser = (lu.uni.snt.whileDSL.ui.contentassist.antlr.internal.InternalWHILEParser) parser;
typedParser.entryRuleWProgram();
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 WHILEGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(WHILEGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}