Go to the documentation of this file.00001
00002
00003
00004 package org.best.of.robotics.ui.contentassist.antlr;
00005
00006 import java.util.Collection;
00007 import java.util.Map;
00008 import java.util.HashMap;
00009
00010 import org.antlr.runtime.RecognitionException;
00011 import org.eclipse.xtext.AbstractElement;
00012 import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
00013 import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
00014 import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
00015
00016 import com.google.inject.Inject;
00017
00018 import org.best.of.robotics.services.SmachDSLGrammarAccess;
00019
00020 public class SmachDSLParser extends AbstractContentAssistParser {
00021
00022 @Inject
00023 private SmachDSLGrammarAccess grammarAccess;
00024
00025 private Map<AbstractElement, String> nameMappings;
00026
00027 @Override
00028 protected org.best.of.robotics.ui.contentassist.antlr.internal.InternalSmachDSLParser createParser() {
00029 org.best.of.robotics.ui.contentassist.antlr.internal.InternalSmachDSLParser result = new org.best.of.robotics.ui.contentassist.antlr.internal.InternalSmachDSLParser(null);
00030 result.setGrammarAccess(grammarAccess);
00031 return result;
00032 }
00033
00034 @Override
00035 protected String getRuleName(AbstractElement element) {
00036 if (nameMappings == null) {
00037 nameMappings = new HashMap<AbstractElement, String>() {
00038 private static final long serialVersionUID = 1L;
00039 {
00040 put(grammarAccess.getOUTCOMEAccess().getAlternatives(), "rule__OUTCOME__Alternatives");
00041 put(grammarAccess.getStateMachineAccess().getGroup(), "rule__StateMachine__Group__0");
00042 put(grammarAccess.getActionClientAccess().getGroup(), "rule__ActionClient__Group__0");
00043 put(grammarAccess.getServiceClientAccess().getGroup(), "rule__ServiceClient__Group__0");
00044 put(grammarAccess.getActionStateAccess().getGroup(), "rule__ActionState__Group__0");
00045 put(grammarAccess.getActionStateAccess().getGroup_6(), "rule__ActionState__Group_6__0");
00046 put(grammarAccess.getTransitionAccess().getGroup(), "rule__Transition__Group__0");
00047 put(grammarAccess.getPrimitivePackageAccess().getStatemachinesAssignment(), "rule__PrimitivePackage__StatemachinesAssignment");
00048 put(grammarAccess.getTestAccess().getRosAssignment(), "rule__Test__RosAssignment");
00049 put(grammarAccess.getStateMachineAccess().getNameAssignment_1(), "rule__StateMachine__NameAssignment_1");
00050 put(grammarAccess.getStateMachineAccess().getActionclientsAssignment_3(), "rule__StateMachine__ActionclientsAssignment_3");
00051 put(grammarAccess.getStateMachineAccess().getServiceclientsAssignment_4(), "rule__StateMachine__ServiceclientsAssignment_4");
00052 put(grammarAccess.getStateMachineAccess().getActionsstatesAssignment_5(), "rule__StateMachine__ActionsstatesAssignment_5");
00053 put(grammarAccess.getActionClientAccess().getNameAssignment_1(), "rule__ActionClient__NameAssignment_1");
00054 put(grammarAccess.getActionClientAccess().getActionnameAssignment_4(), "rule__ActionClient__ActionnameAssignment_4");
00055 put(grammarAccess.getActionClientAccess().getActiontypeAssignment_7(), "rule__ActionClient__ActiontypeAssignment_7");
00056 put(grammarAccess.getServiceClientAccess().getNameAssignment_1(), "rule__ServiceClient__NameAssignment_1");
00057 put(grammarAccess.getServiceClientAccess().getServicenameAssignment_4(), "rule__ServiceClient__ServicenameAssignment_4");
00058 put(grammarAccess.getServiceClientAccess().getServicesrvAssignment_7(), "rule__ServiceClient__ServicesrvAssignment_7");
00059 put(grammarAccess.getActionStateAccess().getNameAssignment_1(), "rule__ActionState__NameAssignment_1");
00060 put(grammarAccess.getActionStateAccess().getClientnameAssignment_4(), "rule__ActionState__ClientnameAssignment_4");
00061 put(grammarAccess.getActionStateAccess().getTransitionsAssignment_6_0(), "rule__ActionState__TransitionsAssignment_6_0");
00062 put(grammarAccess.getTransitionAccess().getOutcomeAssignment_0(), "rule__Transition__OutcomeAssignment_0");
00063 put(grammarAccess.getTransitionAccess().getStateAssignment_2(), "rule__Transition__StateAssignment_2");
00064 }
00065 };
00066 }
00067 return nameMappings.get(element);
00068 }
00069
00070 @Override
00071 protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
00072 try {
00073 org.best.of.robotics.ui.contentassist.antlr.internal.InternalSmachDSLParser typedParser = (org.best.of.robotics.ui.contentassist.antlr.internal.InternalSmachDSLParser) parser;
00074 typedParser.entryRulePrimitivePackage();
00075 return typedParser.getFollowElements();
00076 } catch(RecognitionException ex) {
00077 throw new RuntimeException(ex);
00078 }
00079 }
00080
00081 @Override
00082 protected String[] getInitialHiddenTokens() {
00083 return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
00084 }
00085
00086 public SmachDSLGrammarAccess getGrammarAccess() {
00087 return this.grammarAccess;
00088 }
00089
00090 public void setGrammarAccess(SmachDSLGrammarAccess grammarAccess) {
00091 this.grammarAccess = grammarAccess;
00092 }
00093 }