/*
* generated by Xtext
*/
package net.certware.argument.analysis.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 net.certware.argument.analysis.services.AnalysisDSLGrammarAccess;
public class AnalysisDSLParser extends AbstractContentAssistParser {
@Inject
private AnalysisDSLGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected net.certware.argument.analysis.ui.contentassist.antlr.internal.InternalAnalysisDSLParser createParser() {
net.certware.argument.analysis.ui.contentassist.antlr.internal.InternalAnalysisDSLParser result = new net.certware.argument.analysis.ui.contentassist.antlr.internal.InternalAnalysisDSLParser(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.getOutputAccess().getAlternatives_1(), "rule__Output__Alternatives_1");
put(grammarAccess.getTermAccess().getAlternatives(), "rule__Term__Alternatives");
put(grammarAccess.getOutputAccess().getGroup(), "rule__Output__Group__0");
put(grammarAccess.getClassicLiteralAccess().getGroup(), "rule__ClassicLiteral__Group__0");
put(grammarAccess.getAtomAccess().getGroup(), "rule__Atom__Group__0");
put(grammarAccess.getAtomAccess().getGroup_1(), "rule__Atom__Group_1__0");
put(grammarAccess.getTermsAccess().getGroup(), "rule__Terms__Group__0");
put(grammarAccess.getTermsAccess().getGroup_1(), "rule__Terms__Group_1__0");
put(grammarAccess.getTermAccess().getGroup_1(), "rule__Term__Group_1__0");
put(grammarAccess.getTermAccess().getGroup_2(), "rule__Term__Group_2__0");
put(grammarAccess.getOutputAccess().getLinesAssignment_0(), "rule__Output__LinesAssignment_0");
put(grammarAccess.getLineAccess().getItemsAssignment(), "rule__Line__ItemsAssignment");
put(grammarAccess.getClassicLiteralAccess().getNegAssignment_0(), "rule__ClassicLiteral__NegAssignment_0");
put(grammarAccess.getClassicLiteralAccess().getAtomAssignment_1(), "rule__ClassicLiteral__AtomAssignment_1");
put(grammarAccess.getAtomAccess().getNameAssignment_0(), "rule__Atom__NameAssignment_0");
put(grammarAccess.getAtomAccess().getTermsAssignment_1_1(), "rule__Atom__TermsAssignment_1_1");
put(grammarAccess.getTermsAccess().getCarAssignment_0(), "rule__Terms__CarAssignment_0");
put(grammarAccess.getTermsAccess().getCdrAssignment_1_1(), "rule__Terms__CdrAssignment_1_1");
put(grammarAccess.getTermAccess().getCsAssignment_0(), "rule__Term__CsAssignment_0");
put(grammarAccess.getTermAccess().getSignAssignment_1_0(), "rule__Term__SignAssignment_1_0");
put(grammarAccess.getTermAccess().getNAssignment_1_1(), "rule__Term__NAssignment_1_1");
put(grammarAccess.getTermAccess().getFsAssignment_2_0(), "rule__Term__FsAssignment_2_0");
put(grammarAccess.getTermAccess().getTermsAssignment_2_2(), "rule__Term__TermsAssignment_2_2");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
net.certware.argument.analysis.ui.contentassist.antlr.internal.InternalAnalysisDSLParser typedParser = (net.certware.argument.analysis.ui.contentassist.antlr.internal.InternalAnalysisDSLParser) parser;
typedParser.entryRuleOutput();
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 AnalysisDSLGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(AnalysisDSLGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}