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