4 package org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr;
6 import java.util.Collection;
8 import java.util.HashMap;
10 import org.antlr.runtime.RecognitionException;
11 import org.eclipse.xtext.AbstractElement;
12 import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
13 import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
14 import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
16 import com.google.inject.Inject;
18 import org.opendaylight.nemo.tool.eclipse.plugin.services.EditorGrammarAccess;
20 public class EditorParser extends AbstractContentAssistParser {
23 private EditorGrammarAccess grammarAccess;
25 private Map<AbstractElement, String> nameMappings;
28 protected org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr.internal.InternalEditorParser createParser() {
29 org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr.internal.InternalEditorParser result = new org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr.internal.InternalEditorParser(null);
30 result.setGrammarAccess(grammarAccess);
35 protected String getRuleName(AbstractElement element) {
36 if (nameMappings == null) {
37 nameMappings = new HashMap<AbstractElement, String>() {
38 private static final long serialVersionUID = 1L;
40 put(grammarAccess.getSentenceAccess().getAlternatives(), "rule__Sentence__Alternatives");
41 put(grammarAccess.getNodeOperatingAccess().getAlternatives_0(), "rule__NodeOperating__Alternatives_0");
42 put(grammarAccess.getConnectionUpdateAccess().getAlternatives_0(), "rule__ConnectionUpdate__Alternatives_0");
43 put(grammarAccess.getFlowUpdateAccess().getAlternatives_0(), "rule__FlowUpdate__Alternatives_0");
44 put(grammarAccess.getOperationAccess().getAlternatives_8(), "rule__Operation__Alternatives_8");
45 put(grammarAccess.getOnePropertyAccess().getAlternatives_2(), "rule__OneProperty__Alternatives_2");
46 put(grammarAccess.getOneModelPropertyAccess().getAlternatives_0(), "rule__OneModelProperty__Alternatives_0");
47 put(grammarAccess.getNewObjAccess().getAlternatives(), "rule__NewObj__Alternatives");
48 put(grammarAccess.getSenEnginesAccess().getGroup(), "rule__SenEngines__Group__0");
49 put(grammarAccess.getSenEnginesAccess().getGroup_2(), "rule__SenEngines__Group_2__0");
50 put(grammarAccess.getIpv4Access().getGroup(), "rule__Ipv4__Group__0");
51 put(grammarAccess.getUserAccess().getGroup(), "rule__User__Group__0");
52 put(grammarAccess.getNodeAccess().getGroup(), "rule__Node__Group__0");
53 put(grammarAccess.getNodeAccess().getGroup_3(), "rule__Node__Group_3__0");
54 put(grammarAccess.getNodeAccess().getGroup_4(), "rule__Node__Group_4__0");
55 put(grammarAccess.getNodeAccess().getGroup_4_2(), "rule__Node__Group_4_2__0");
56 put(grammarAccess.getNodeModelAccess().getGroup(), "rule__NodeModel__Group__0");
57 put(grammarAccess.getNodeOperatingAccess().getGroup(), "rule__NodeOperating__Group__0");
58 put(grammarAccess.getNodeOperatingAccess().getGroup_3(), "rule__NodeOperating__Group_3__0");
59 put(grammarAccess.getNodeOperatingAccess().getGroup_4(), "rule__NodeOperating__Group_4__0");
60 put(grammarAccess.getNodeOperatingAccess().getGroup_4_2(), "rule__NodeOperating__Group_4_2__0");
61 put(grammarAccess.getConnectionAccess().getGroup(), "rule__Connection__Group__0");
62 put(grammarAccess.getConnectionAccess().getGroup_5(), "rule__Connection__Group_5__0");
63 put(grammarAccess.getConnectionAccess().getGroup_5_2(), "rule__Connection__Group_5_2__0");
64 put(grammarAccess.getConnectionUpdateAccess().getGroup(), "rule__ConnectionUpdate__Group__0");
65 put(grammarAccess.getConnectionUpdateAccess().getGroup_3(), "rule__ConnectionUpdate__Group_3__0");
66 put(grammarAccess.getConnectionUpdateAccess().getGroup_4(), "rule__ConnectionUpdate__Group_4__0");
67 put(grammarAccess.getConnectionUpdateAccess().getGroup_4_2(), "rule__ConnectionUpdate__Group_4_2__0");
68 put(grammarAccess.getFlowAccess().getGroup(), "rule__Flow__Group__0");
69 put(grammarAccess.getFlowUpdateAccess().getGroup(), "rule__FlowUpdate__Group__0");
70 put(grammarAccess.getMatchesAccess().getGroup(), "rule__Matches__Group__0");
71 put(grammarAccess.getMatchesAccess().getGroup_2(), "rule__Matches__Group_2__0");
72 put(grammarAccess.getMatchAccess().getGroup(), "rule__Match__Group__0");
73 put(grammarAccess.getOperationAccess().getGroup(), "rule__Operation__Group__0");
74 put(grammarAccess.getOperationAccess().getGroup_3(), "rule__Operation__Group_3__0");
75 put(grammarAccess.getOperationAccess().getGroup_8_1(), "rule__Operation__Group_8_1__0");
76 put(grammarAccess.getConditionAccess().getGroup(), "rule__Condition__Group__0");
77 put(grammarAccess.getConditionAccess().getGroup_2(), "rule__Condition__Group_2__0");
78 put(grammarAccess.getPropertyAccess().getGroup(), "rule__Property__Group__0");
79 put(grammarAccess.getPropertyAccess().getGroup_2(), "rule__Property__Group_2__0");
80 put(grammarAccess.getOnePropertyAccess().getGroup(), "rule__OneProperty__Group__0");
81 put(grammarAccess.getModelPropertyAccess().getGroup(), "rule__ModelProperty__Group__0");
82 put(grammarAccess.getModelPropertyAccess().getGroup_2(), "rule__ModelProperty__Group_2__0");
83 put(grammarAccess.getOneModelPropertyAccess().getGroup(), "rule__OneModelProperty__Group__0");
84 put(grammarAccess.getModelAccess().getSentencesAssignment(), "rule__Model__SentencesAssignment");
85 put(grammarAccess.getNodeAccess().getNameAssignment_2(), "rule__Node__NameAssignment_2");
86 put(grammarAccess.getNodeAccess().getNodesAssignment_4_1(), "rule__Node__NodesAssignment_4_1");
87 put(grammarAccess.getNodeAccess().getNodesAssignment_4_2_1(), "rule__Node__NodesAssignment_4_2_1");
88 put(grammarAccess.getNodeModelAccess().getNameAssignment_1(), "rule__NodeModel__NameAssignment_1");
89 put(grammarAccess.getNodeOperatingAccess().getNodenameAssignment_2(), "rule__NodeOperating__NodenameAssignment_2");
90 put(grammarAccess.getNodeOperatingAccess().getNodesAssignment_4_1(), "rule__NodeOperating__NodesAssignment_4_1");
91 put(grammarAccess.getNodeOperatingAccess().getNodesAssignment_4_2_1(), "rule__NodeOperating__NodesAssignment_4_2_1");
92 put(grammarAccess.getConnectionAccess().getNameAssignment_2(), "rule__Connection__NameAssignment_2");
93 put(grammarAccess.getConnectionAccess().getEndnodeAssignment_5_1(), "rule__Connection__EndnodeAssignment_5_1");
94 put(grammarAccess.getConnectionAccess().getEndnodeAssignment_5_2_1(), "rule__Connection__EndnodeAssignment_5_2_1");
95 put(grammarAccess.getConnectionUpdateAccess().getConnectionnameAssignment_2(), "rule__ConnectionUpdate__ConnectionnameAssignment_2");
96 put(grammarAccess.getConnectionUpdateAccess().getEndnodeAssignment_4_1(), "rule__ConnectionUpdate__EndnodeAssignment_4_1");
97 put(grammarAccess.getConnectionUpdateAccess().getEndnodeAssignment_4_2_1(), "rule__ConnectionUpdate__EndnodeAssignment_4_2_1");
98 put(grammarAccess.getFlowAccess().getNameAssignment_2(), "rule__Flow__NameAssignment_2");
99 put(grammarAccess.getFlowUpdateAccess().getFlowIdAssignment_2(), "rule__FlowUpdate__FlowIdAssignment_2");
100 put(grammarAccess.getOperationAccess().getNameAssignment_2(), "rule__Operation__NameAssignment_2");
101 put(grammarAccess.getOperationAccess().getValueAssignment_3_1(), "rule__Operation__ValueAssignment_3_1");
102 put(grammarAccess.getOperationAccess().getTargetIdAssignment_5(), "rule__Operation__TargetIdAssignment_5");
103 put(grammarAccess.getOperationAccess().getTargetNodeAssignment_8_1_2(), "rule__Operation__TargetNodeAssignment_8_1_2");
107 return nameMappings.get(element);
111 protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
113 org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr.internal.InternalEditorParser typedParser = (org.opendaylight.nemo.tool.eclipse.plugin.ui.contentassist.antlr.internal.InternalEditorParser) parser;
114 typedParser.entryRuleModel();
115 return typedParser.getFollowElements();
116 } catch(RecognitionException ex) {
117 throw new RuntimeException(ex);
122 protected String[] getInitialHiddenTokens() {
123 return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
126 public EditorGrammarAccess getGrammarAccess() {
127 return this.grammarAccess;
130 public void setGrammarAccess(EditorGrammarAccess grammarAccess) {
131 this.grammarAccess = grammarAccess;