/* * generated by Xtext */ package fr.inria.diverse.iot.xtext.services; import com.google.inject.Singleton; import com.google.inject.Inject; import java.util.List; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; import org.eclipse.xtext.xbase.services.XbaseGrammarAccess; import org.eclipse.xtext.xbase.services.XtypeGrammarAccess; @Singleton public class IoTGrammarAccess extends AbstractGrammarElementFinder { public class SystemElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "System"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSystemKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameValidIDParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cEClassifiersAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cEClassifiersDeviceParserRuleCall_3_0 = (RuleCall)cEClassifiersAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //System returns EPackage: // "system" name=ValidID "{" eClassifiers+=Device* "}"; @Override public ParserRule getRule() { return rule; } //"system" name=ValidID "{" eClassifiers+=Device* "}" public Group getGroup() { return cGroup; } //"system" public Keyword getSystemKeyword_0() { return cSystemKeyword_0; } //name=ValidID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ValidID public RuleCall getNameValidIDParserRuleCall_1_0() { return cNameValidIDParserRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //eClassifiers+=Device* public Assignment getEClassifiersAssignment_3() { return cEClassifiersAssignment_3; } //Device public RuleCall getEClassifiersDeviceParserRuleCall_3_0() { return cEClassifiersDeviceParserRuleCall_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class DeviceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Device"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cDeviceKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameValidIDParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cEOperationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cEOperationsServiceParserRuleCall_3_0 = (RuleCall)cEOperationsAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //Device returns EClass: // "device" name=ValidID "{" eOperations+=Service* "}"; @Override public ParserRule getRule() { return rule; } //"device" name=ValidID "{" eOperations+=Service* "}" public Group getGroup() { return cGroup; } //"device" public Keyword getDeviceKeyword_0() { return cDeviceKeyword_0; } //name=ValidID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ValidID public RuleCall getNameValidIDParserRuleCall_1_0() { return cNameValidIDParserRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //eOperations+=Service* public Assignment getEOperationsAssignment_3() { return cEOperationsAssignment_3; } //Service public RuleCall getEOperationsServiceParserRuleCall_3_0() { return cEOperationsServiceParserRuleCall_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class ServiceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Service"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cServiceKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameValidIDParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cActivityAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cActivityActivityParserRuleCall_3_0 = (RuleCall)cActivityAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //Service returns EOperation: // "service" name=ValidID "{" activity=Activity "}"; @Override public ParserRule getRule() { return rule; } //"service" name=ValidID "{" activity=Activity "}" public Group getGroup() { return cGroup; } //"service" public Keyword getServiceKeyword_0() { return cServiceKeyword_0; } //name=ValidID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ValidID public RuleCall getNameValidIDParserRuleCall_1_0() { return cNameValidIDParserRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //activity=Activity public Assignment getActivityAssignment_3() { return cActivityAssignment_3; } //Activity public RuleCall getActivityActivityParserRuleCall_3_0() { return cActivityActivityParserRuleCall_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class ActivityElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Activity"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cActivityAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cActivityKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cInputsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cInputsVariableParserRuleCall_3_1_0 = (RuleCall)cInputsAssignment_3_1.eContents().get(0); private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); private final Assignment cInputsAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); private final RuleCall cInputsVariableParserRuleCall_3_2_1_0 = (RuleCall)cInputsAssignment_3_2_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Assignment cLocalsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); private final RuleCall cLocalsVariableParserRuleCall_5_0_0 = (RuleCall)cLocalsAssignment_5_0.eContents().get(0); private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1); private final Keyword cCommaKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); private final Assignment cLocalsAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); private final RuleCall cLocalsVariableParserRuleCall_5_1_1_0 = (RuleCall)cLocalsAssignment_5_1_1.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cNodesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); private final Assignment cNodesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); private final RuleCall cNodesActivityNodeParserRuleCall_6_2_0 = (RuleCall)cNodesAssignment_6_2.eContents().get(0); private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); private final Assignment cNodesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); private final RuleCall cNodesActivityNodeParserRuleCall_6_3_1_0 = (RuleCall)cNodesAssignment_6_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cEdgesKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); private final Assignment cEdgesAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); private final RuleCall cEdgesActivityEdgeParserRuleCall_7_2_0 = (RuleCall)cEdgesAssignment_7_2.eContents().get(0); private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); private final Assignment cEdgesAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); private final RuleCall cEdgesActivityEdgeParserRuleCall_7_3_1_0 = (RuleCall)cEdgesAssignment_7_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); //Activity: // {Activity} "activity" name=ValidID ("(" inputs+=Variable ("," inputs+=Variable)* ")")? "{" (locals+=Variable ("," // locals+=Variable)*)? ("nodes" "{" nodes+=ActivityNode ("," nodes+=ActivityNode)* "}")? ("edges" "{" // edges+=ActivityEdge ("," edges+=ActivityEdge)* "}")? "}"; @Override public ParserRule getRule() { return rule; } //{Activity} "activity" name=ValidID ("(" inputs+=Variable ("," inputs+=Variable)* ")")? "{" (locals+=Variable ("," //locals+=Variable)*)? ("nodes" "{" nodes+=ActivityNode ("," nodes+=ActivityNode)* "}")? ("edges" "{" edges+=ActivityEdge //("," edges+=ActivityEdge)* "}")? "}" public Group getGroup() { return cGroup; } //{Activity} public Action getActivityAction_0() { return cActivityAction_0; } //"activity" public Keyword getActivityKeyword_1() { return cActivityKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("(" inputs+=Variable ("," inputs+=Variable)* ")")? public Group getGroup_3() { return cGroup_3; } //"(" public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } //inputs+=Variable public Assignment getInputsAssignment_3_1() { return cInputsAssignment_3_1; } //Variable public RuleCall getInputsVariableParserRuleCall_3_1_0() { return cInputsVariableParserRuleCall_3_1_0; } //("," inputs+=Variable)* public Group getGroup_3_2() { return cGroup_3_2; } //"," public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } //inputs+=Variable public Assignment getInputsAssignment_3_2_1() { return cInputsAssignment_3_2_1; } //Variable public RuleCall getInputsVariableParserRuleCall_3_2_1_0() { return cInputsVariableParserRuleCall_3_2_1_0; } //")" public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; } //"{" public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //(locals+=Variable ("," locals+=Variable)*)? public Group getGroup_5() { return cGroup_5; } //locals+=Variable public Assignment getLocalsAssignment_5_0() { return cLocalsAssignment_5_0; } //Variable public RuleCall getLocalsVariableParserRuleCall_5_0_0() { return cLocalsVariableParserRuleCall_5_0_0; } //("," locals+=Variable)* public Group getGroup_5_1() { return cGroup_5_1; } //"," public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; } //locals+=Variable public Assignment getLocalsAssignment_5_1_1() { return cLocalsAssignment_5_1_1; } //Variable public RuleCall getLocalsVariableParserRuleCall_5_1_1_0() { return cLocalsVariableParserRuleCall_5_1_1_0; } //("nodes" "{" nodes+=ActivityNode ("," nodes+=ActivityNode)* "}")? public Group getGroup_6() { return cGroup_6; } //"nodes" public Keyword getNodesKeyword_6_0() { return cNodesKeyword_6_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } //nodes+=ActivityNode public Assignment getNodesAssignment_6_2() { return cNodesAssignment_6_2; } //ActivityNode public RuleCall getNodesActivityNodeParserRuleCall_6_2_0() { return cNodesActivityNodeParserRuleCall_6_2_0; } //("," nodes+=ActivityNode)* public Group getGroup_6_3() { return cGroup_6_3; } //"," public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } //nodes+=ActivityNode public Assignment getNodesAssignment_6_3_1() { return cNodesAssignment_6_3_1; } //ActivityNode public RuleCall getNodesActivityNodeParserRuleCall_6_3_1_0() { return cNodesActivityNodeParserRuleCall_6_3_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } //("edges" "{" edges+=ActivityEdge ("," edges+=ActivityEdge)* "}")? public Group getGroup_7() { return cGroup_7; } //"edges" public Keyword getEdgesKeyword_7_0() { return cEdgesKeyword_7_0; } //"{" public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } //edges+=ActivityEdge public Assignment getEdgesAssignment_7_2() { return cEdgesAssignment_7_2; } //ActivityEdge public RuleCall getEdgesActivityEdgeParserRuleCall_7_2_0() { return cEdgesActivityEdgeParserRuleCall_7_2_0; } //("," edges+=ActivityEdge)* public Group getGroup_7_3() { return cGroup_7_3; } //"," public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } //edges+=ActivityEdge public Assignment getEdgesAssignment_7_3_1() { return cEdgesAssignment_7_3_1; } //ActivityEdge public RuleCall getEdgesActivityEdgeParserRuleCall_7_3_1_0() { return cEdgesActivityEdgeParserRuleCall_7_3_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } //"}" public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } } public class ActivityNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActivityNode"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cOpaqueActionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cInitialNodeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cActivityFinalNodeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cForkNodeParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cJoinNodeParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cMergeNodeParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cDecisionNodeParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); //ActivityNode: // OpaqueAction | InitialNode | ActivityFinalNode | ForkNode | JoinNode | MergeNode | DecisionNode; @Override public ParserRule getRule() { return rule; } //OpaqueAction | InitialNode | ActivityFinalNode | ForkNode | JoinNode | MergeNode | DecisionNode public Alternatives getAlternatives() { return cAlternatives; } //OpaqueAction public RuleCall getOpaqueActionParserRuleCall_0() { return cOpaqueActionParserRuleCall_0; } //InitialNode public RuleCall getInitialNodeParserRuleCall_1() { return cInitialNodeParserRuleCall_1; } //ActivityFinalNode public RuleCall getActivityFinalNodeParserRuleCall_2() { return cActivityFinalNodeParserRuleCall_2; } //ForkNode public RuleCall getForkNodeParserRuleCall_3() { return cForkNodeParserRuleCall_3; } //JoinNode public RuleCall getJoinNodeParserRuleCall_4() { return cJoinNodeParserRuleCall_4; } //MergeNode public RuleCall getMergeNodeParserRuleCall_5() { return cMergeNodeParserRuleCall_5; } //DecisionNode public RuleCall getDecisionNodeParserRuleCall_6() { return cDecisionNodeParserRuleCall_6; } } public class ActivityEdgeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActivityEdge"); private final RuleCall cControlFlowParserRuleCall = (RuleCall)rule.eContents().get(1); //ActivityEdge: // ControlFlow; @Override public ParserRule getRule() { return rule; } //ControlFlow public RuleCall getControlFlowParserRuleCall() { return cControlFlowParserRuleCall; } } public class VariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Variable"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cIntegerVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cBooleanVariableParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Variable: // IntegerVariable | BooleanVariable; @Override public ParserRule getRule() { return rule; } //IntegerVariable | BooleanVariable public Alternatives getAlternatives() { return cAlternatives; } //IntegerVariable public RuleCall getIntegerVariableParserRuleCall_0() { return cIntegerVariableParserRuleCall_0; } //BooleanVariable public RuleCall getBooleanVariableParserRuleCall_1() { return cBooleanVariableParserRuleCall_1; } } public class ValueElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Value"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBooleanValueParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIntegerValueParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Value: // BooleanValue | IntegerValue; @Override public ParserRule getRule() { return rule; } //BooleanValue | IntegerValue public Alternatives getAlternatives() { return cAlternatives; } //BooleanValue public RuleCall getBooleanValueParserRuleCall_0() { return cBooleanValueParserRuleCall_0; } //IntegerValue public RuleCall getIntegerValueParserRuleCall_1() { return cIntegerValueParserRuleCall_1; } } public class OpaqueActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OpaqueAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cOpaqueActionAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cLuaActionKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); private final Assignment cIncomingAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); private final CrossReference cIncomingActivityEdgeCrossReference_3_3_1_0 = (CrossReference)cIncomingAssignment_3_3_1.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOutKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cOutgoingAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_4_2_0 = (CrossReference)cOutgoingAssignment_4_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_2_0.eContents().get(1); private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); private final Assignment cOutgoingAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); private final CrossReference cOutgoingActivityEdgeCrossReference_4_3_1_0 = (CrossReference)cOutgoingAssignment_4_3_1.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cLeftCurlyBracketKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cLuaAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cLuaBlockParserRuleCall_5_1_0 = (RuleCall)cLuaAssignment_5_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5_2 = (Keyword)cGroup_5.eContents().get(2); //OpaqueAction: // {OpaqueAction} "luaAction" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? // ("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? ("{" lua=Block "}")?; @Override public ParserRule getRule() { return rule; } //{OpaqueAction} "luaAction" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" //"(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? ("{" lua=Block "}")? public Group getGroup() { return cGroup; } //{OpaqueAction} public Action getOpaqueActionAction_0() { return cOpaqueActionAction_0; } //"luaAction" public Keyword getLuaActionKeyword_1() { return cLuaActionKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //("," incoming+=[ActivityEdge])* public Group getGroup_3_3() { return cGroup_3_3; } //"," public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_3_1() { return cIncomingAssignment_3_3_1; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_3_1_0() { return cIncomingActivityEdgeCrossReference_3_3_1_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } //("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? public Group getGroup_4() { return cGroup_4; } //"out" public Keyword getOutKeyword_4_0() { return cOutKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_2() { return cOutgoingAssignment_4_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_2_0() { return cOutgoingActivityEdgeCrossReference_4_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1; } //("," outgoing+=[ActivityEdge])* public Group getGroup_4_3() { return cGroup_4_3; } //"," public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_3_1() { return cOutgoingAssignment_4_3_1; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_3_1_0() { return cOutgoingActivityEdgeCrossReference_4_3_1_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_4_4() { return cRightParenthesisKeyword_4_4; } //("{" lua=Block "}")? public Group getGroup_5() { return cGroup_5; } //"{" public Keyword getLeftCurlyBracketKeyword_5_0() { return cLeftCurlyBracketKeyword_5_0; } //lua=Block public Assignment getLuaAssignment_5_1() { return cLuaAssignment_5_1; } //Block public RuleCall getLuaBlockParserRuleCall_5_1_0() { return cLuaBlockParserRuleCall_5_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_5_2() { return cRightCurlyBracketKeyword_5_2; } } public class InitialNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InitialNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cInitialNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInitialKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cOutKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cOutgoingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_3_2_0 = (CrossReference)cOutgoingAssignment_3_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); private final Assignment cOutgoingAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); private final CrossReference cOutgoingActivityEdgeCrossReference_3_3_1_0 = (CrossReference)cOutgoingAssignment_3_3_1.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_3_3_1_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_3_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); //InitialNode: // {InitialNode} "initial" name=ValidID ("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")"); @Override public ParserRule getRule() { return rule; } //{InitialNode} "initial" name=ValidID ("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")") public Group getGroup() { return cGroup; } //{InitialNode} public Action getInitialNodeAction_0() { return cInitialNodeAction_0; } //"initial" public Keyword getInitialKeyword_1() { return cInitialKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //"out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")" public Group getGroup_3() { return cGroup_3; } //"out" public Keyword getOutKeyword_3_0() { return cOutKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_3_2() { return cOutgoingAssignment_3_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_3_2_0() { return cOutgoingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //("," outgoing+=[ActivityEdge])* public Group getGroup_3_3() { return cGroup_3_3; } //"," public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_3_3_1() { return cOutgoingAssignment_3_3_1; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_3_3_1_0() { return cOutgoingActivityEdgeCrossReference_3_3_1_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_3_3_1_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_3_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } } public class ActivityFinalNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActivityFinalNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cActivityFinalNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFinalKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); private final Assignment cIncomingAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); private final CrossReference cIncomingActivityEdgeCrossReference_3_3_1_0 = (CrossReference)cIncomingAssignment_3_3_1.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); //ActivityFinalNode: // {ActivityFinalNode} "final" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")"); @Override public ParserRule getRule() { return rule; } //{ActivityFinalNode} "final" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")") public Group getGroup() { return cGroup; } //{ActivityFinalNode} public Action getActivityFinalNodeAction_0() { return cActivityFinalNodeAction_0; } //"final" public Keyword getFinalKeyword_1() { return cFinalKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //"in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")" public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //("," incoming+=[ActivityEdge])* public Group getGroup_3_3() { return cGroup_3_3; } //"," public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_3_1() { return cIncomingAssignment_3_3_1; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_3_1_0() { return cIncomingActivityEdgeCrossReference_3_3_1_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } } public class ForkNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForkNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cForkNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cForkKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOutKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cOutgoingAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_4_2_0 = (CrossReference)cOutgoingAssignment_4_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_2_0.eContents().get(1); private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); private final Assignment cOutgoingAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); private final CrossReference cOutgoingActivityEdgeCrossReference_4_3_1_0 = (CrossReference)cOutgoingAssignment_4_3_1.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); //ForkNode: // {ForkNode} "fork" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] ("," // outgoing+=[ActivityEdge])* ")")?; @Override public ParserRule getRule() { return rule; } //{ForkNode} "fork" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] ("," //outgoing+=[ActivityEdge])* ")")? public Group getGroup() { return cGroup; } //{ForkNode} public Action getForkNodeAction_0() { return cForkNodeAction_0; } //"fork" public Keyword getForkKeyword_1() { return cForkKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //"in" "(" incoming+=[ActivityEdge] ")" public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //")" public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; } //("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? public Group getGroup_4() { return cGroup_4; } //"out" public Keyword getOutKeyword_4_0() { return cOutKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_2() { return cOutgoingAssignment_4_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_2_0() { return cOutgoingActivityEdgeCrossReference_4_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1; } //("," outgoing+=[ActivityEdge])* public Group getGroup_4_3() { return cGroup_4_3; } //"," public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_3_1() { return cOutgoingAssignment_4_3_1; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_3_1_0() { return cOutgoingActivityEdgeCrossReference_4_3_1_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_4_4() { return cRightParenthesisKeyword_4_4; } } public class JoinNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "JoinNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cJoinNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cJoinKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); private final Assignment cIncomingAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); private final CrossReference cIncomingActivityEdgeCrossReference_3_3_1_0 = (CrossReference)cIncomingAssignment_3_3_1.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOutKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cOutgoingAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_4_2_0 = (CrossReference)cOutgoingAssignment_4_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_2_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_4_3 = (Keyword)cGroup_4.eContents().get(3); //JoinNode: // {JoinNode} "join" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" // outgoing+=[ActivityEdge] ")"); @Override public ParserRule getRule() { return rule; } //{JoinNode} "join" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" //outgoing+=[ActivityEdge] ")") public Group getGroup() { return cGroup; } //{JoinNode} public Action getJoinNodeAction_0() { return cJoinNodeAction_0; } //"join" public Keyword getJoinKeyword_1() { return cJoinKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //("," incoming+=[ActivityEdge])* public Group getGroup_3_3() { return cGroup_3_3; } //"," public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_3_1() { return cIncomingAssignment_3_3_1; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_3_1_0() { return cIncomingActivityEdgeCrossReference_3_3_1_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } //"out" "(" outgoing+=[ActivityEdge] ")" public Group getGroup_4() { return cGroup_4; } //"out" public Keyword getOutKeyword_4_0() { return cOutKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_2() { return cOutgoingAssignment_4_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_2_0() { return cOutgoingActivityEdgeCrossReference_4_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1; } //")" public Keyword getRightParenthesisKeyword_4_3() { return cRightParenthesisKeyword_4_3; } } public class MergeNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MergeNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cMergeNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cMergeKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); private final Assignment cIncomingAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); private final CrossReference cIncomingActivityEdgeCrossReference_3_3_1_0 = (CrossReference)cIncomingAssignment_3_3_1.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOutKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cOutgoingAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_4_2_0 = (CrossReference)cOutgoingAssignment_4_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_2_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_4_3 = (Keyword)cGroup_4.eContents().get(3); //MergeNode: // {MergeNode} "merge" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" // outgoing+=[ActivityEdge] ")"); @Override public ParserRule getRule() { return rule; } //{MergeNode} "merge" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" //outgoing+=[ActivityEdge] ")") public Group getGroup() { return cGroup; } //{MergeNode} public Action getMergeNodeAction_0() { return cMergeNodeAction_0; } //"merge" public Keyword getMergeKeyword_1() { return cMergeKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //("," incoming+=[ActivityEdge])* public Group getGroup_3_3() { return cGroup_3_3; } //"," public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_3_1() { return cIncomingAssignment_3_3_1; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_3_1_0() { return cIncomingActivityEdgeCrossReference_3_3_1_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } //"out" "(" outgoing+=[ActivityEdge] ")" public Group getGroup_4() { return cGroup_4; } //"out" public Keyword getOutKeyword_4_0() { return cOutKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_2() { return cOutgoingAssignment_4_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_2_0() { return cOutgoingActivityEdgeCrossReference_4_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1; } //")" public Keyword getRightParenthesisKeyword_4_3() { return cRightParenthesisKeyword_4_3; } } public class DecisionNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecisionNode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cDecisionNodeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cDecisionKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cInKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cIncomingAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final CrossReference cIncomingActivityEdgeCrossReference_3_2_0 = (CrossReference)cIncomingAssignment_3_2.eContents().get(0); private final RuleCall cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1 = (RuleCall)cIncomingActivityEdgeCrossReference_3_2_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOutKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cOutgoingAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final CrossReference cOutgoingActivityEdgeCrossReference_4_2_0 = (CrossReference)cOutgoingAssignment_4_2.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_2_0.eContents().get(1); private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); private final Assignment cOutgoingAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); private final CrossReference cOutgoingActivityEdgeCrossReference_4_3_1_0 = (CrossReference)cOutgoingAssignment_4_3_1.eContents().get(0); private final RuleCall cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1 = (RuleCall)cOutgoingActivityEdgeCrossReference_4_3_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); //DecisionNode: // {DecisionNode} "decision" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] // ("," outgoing+=[ActivityEdge])* ")")?; @Override public ParserRule getRule() { return rule; } //{DecisionNode} "decision" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] ("," //outgoing+=[ActivityEdge])* ")")? public Group getGroup() { return cGroup; } //{DecisionNode} public Action getDecisionNodeAction_0() { return cDecisionNodeAction_0; } //"decision" public Keyword getDecisionKeyword_1() { return cDecisionKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //"in" "(" incoming+=[ActivityEdge] ")" public Group getGroup_3() { return cGroup_3; } //"in" public Keyword getInKeyword_3_0() { return cInKeyword_3_0; } //"(" public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } //incoming+=[ActivityEdge] public Assignment getIncomingAssignment_3_2() { return cIncomingAssignment_3_2; } //[ActivityEdge] public CrossReference getIncomingActivityEdgeCrossReference_3_2_0() { return cIncomingActivityEdgeCrossReference_3_2_0; } //ID public RuleCall getIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1() { return cIncomingActivityEdgeIDTerminalRuleCall_3_2_0_1; } //")" public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; } //("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? public Group getGroup_4() { return cGroup_4; } //"out" public Keyword getOutKeyword_4_0() { return cOutKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_2() { return cOutgoingAssignment_4_2; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_2_0() { return cOutgoingActivityEdgeCrossReference_4_2_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_2_0_1; } //("," outgoing+=[ActivityEdge])* public Group getGroup_4_3() { return cGroup_4_3; } //"," public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } //outgoing+=[ActivityEdge] public Assignment getOutgoingAssignment_4_3_1() { return cOutgoingAssignment_4_3_1; } //[ActivityEdge] public CrossReference getOutgoingActivityEdgeCrossReference_4_3_1_0() { return cOutgoingActivityEdgeCrossReference_4_3_1_0; } //ID public RuleCall getOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1() { return cOutgoingActivityEdgeIDTerminalRuleCall_4_3_1_0_1; } //")" public Keyword getRightParenthesisKeyword_4_4() { return cRightParenthesisKeyword_4_4; } } public class IntegerVariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntegerVariable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cIntegerVariableAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cIntKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cInitialValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cInitialValueValueParserRuleCall_3_1_0 = (RuleCall)cInitialValueAssignment_3_1.eContents().get(0); //IntegerVariable: // {IntegerVariable} "int" name=ValidID ("=" initialValue=Value)?; @Override public ParserRule getRule() { return rule; } //{IntegerVariable} "int" name=ValidID ("=" initialValue=Value)? public Group getGroup() { return cGroup; } //{IntegerVariable} public Action getIntegerVariableAction_0() { return cIntegerVariableAction_0; } //"int" public Keyword getIntKeyword_1() { return cIntKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("=" initialValue=Value)? public Group getGroup_3() { return cGroup_3; } //"=" public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //initialValue=Value public Assignment getInitialValueAssignment_3_1() { return cInitialValueAssignment_3_1; } //Value public RuleCall getInitialValueValueParserRuleCall_3_1_0() { return cInitialValueValueParserRuleCall_3_1_0; } } public class BooleanVariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanVariable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cBooleanVariableAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBoolKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cInitialValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cInitialValueValueParserRuleCall_3_1_0 = (RuleCall)cInitialValueAssignment_3_1.eContents().get(0); //BooleanVariable: // {BooleanVariable} "bool" name=ValidID ("=" initialValue=Value)?; @Override public ParserRule getRule() { return rule; } //{BooleanVariable} "bool" name=ValidID ("=" initialValue=Value)? public Group getGroup() { return cGroup; } //{BooleanVariable} public Action getBooleanVariableAction_0() { return cBooleanVariableAction_0; } //"bool" public Keyword getBoolKeyword_1() { return cBoolKeyword_1; } //name=ValidID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ValidID public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; } //("=" initialValue=Value)? public Group getGroup_3() { return cGroup_3; } //"=" public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //initialValue=Value public Assignment getInitialValueAssignment_3_1() { return cInitialValueAssignment_3_1; } //Value public RuleCall getInitialValueValueParserRuleCall_3_1_0() { return cInitialValueValueParserRuleCall_3_1_0; } } public class BooleanValueElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanValue"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueEBooleanParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //BooleanValue: // value=EBoolean; @Override public ParserRule getRule() { return rule; } //value=EBoolean public Assignment getValueAssignment() { return cValueAssignment; } //EBoolean public RuleCall getValueEBooleanParserRuleCall_0() { return cValueEBooleanParserRuleCall_0; } } public class IntegerValueElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntegerValue"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //IntegerValue: // value=INT; @Override public ParserRule getRule() { return rule; } //value=INT public Assignment getValueAssignment() { return cValueAssignment; } //INT public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; } } public class EBooleanElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1); //EBoolean returns ecore::EBoolean: // "true" | "false"; @Override public ParserRule getRule() { return rule; } //"true" | "false" public Alternatives getAlternatives() { return cAlternatives; } //"true" public Keyword getTrueKeyword_0() { return cTrueKeyword_0; } //"false" public Keyword getFalseKeyword_1() { return cFalseKeyword_1; } } public class ControlFlowElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ControlFlow"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFlowKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameValidIDParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cFromKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cSourceAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cSourceActivityNodeCrossReference_3_0 = (CrossReference)cSourceAssignment_3.eContents().get(0); private final RuleCall cSourceActivityNodeIDTerminalRuleCall_3_0_1 = (RuleCall)cSourceActivityNodeCrossReference_3_0.eContents().get(1); private final Keyword cToKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cTargetAssignment_5 = (Assignment)cGroup.eContents().get(5); private final CrossReference cTargetActivityNodeCrossReference_5_0 = (CrossReference)cTargetAssignment_5.eContents().get(0); private final RuleCall cTargetActivityNodeIDTerminalRuleCall_5_0_1 = (RuleCall)cTargetActivityNodeCrossReference_5_0.eContents().get(1); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cLeftSquareBracketKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cGuardAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final CrossReference cGuardBooleanVariableCrossReference_6_1_0 = (CrossReference)cGuardAssignment_6_1.eContents().get(0); private final RuleCall cGuardBooleanVariableIDTerminalRuleCall_6_1_0_1 = (RuleCall)cGuardBooleanVariableCrossReference_6_1_0.eContents().get(1); private final Keyword cRightSquareBracketKeyword_6_2 = (Keyword)cGroup_6.eContents().get(2); //ControlFlow: // "flow" name=ValidID "from" source=[ActivityNode] "to" target=[ActivityNode] ("[" guard=[BooleanVariable] "]")?; @Override public ParserRule getRule() { return rule; } //"flow" name=ValidID "from" source=[ActivityNode] "to" target=[ActivityNode] ("[" guard=[BooleanVariable] "]")? public Group getGroup() { return cGroup; } //"flow" public Keyword getFlowKeyword_0() { return cFlowKeyword_0; } //name=ValidID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ValidID public RuleCall getNameValidIDParserRuleCall_1_0() { return cNameValidIDParserRuleCall_1_0; } //"from" public Keyword getFromKeyword_2() { return cFromKeyword_2; } //source=[ActivityNode] public Assignment getSourceAssignment_3() { return cSourceAssignment_3; } //[ActivityNode] public CrossReference getSourceActivityNodeCrossReference_3_0() { return cSourceActivityNodeCrossReference_3_0; } //ID public RuleCall getSourceActivityNodeIDTerminalRuleCall_3_0_1() { return cSourceActivityNodeIDTerminalRuleCall_3_0_1; } //"to" public Keyword getToKeyword_4() { return cToKeyword_4; } //target=[ActivityNode] public Assignment getTargetAssignment_5() { return cTargetAssignment_5; } //[ActivityNode] public CrossReference getTargetActivityNodeCrossReference_5_0() { return cTargetActivityNodeCrossReference_5_0; } //ID public RuleCall getTargetActivityNodeIDTerminalRuleCall_5_0_1() { return cTargetActivityNodeIDTerminalRuleCall_5_0_1; } //("[" guard=[BooleanVariable] "]")? public Group getGroup_6() { return cGroup_6; } //"[" public Keyword getLeftSquareBracketKeyword_6_0() { return cLeftSquareBracketKeyword_6_0; } //guard=[BooleanVariable] public Assignment getGuardAssignment_6_1() { return cGuardAssignment_6_1; } //[BooleanVariable] public CrossReference getGuardBooleanVariableCrossReference_6_1_0() { return cGuardBooleanVariableCrossReference_6_1_0; } //ID public RuleCall getGuardBooleanVariableIDTerminalRuleCall_6_1_0_1() { return cGuardBooleanVariableIDTerminalRuleCall_6_1_0_1; } //"]" public Keyword getRightSquareBracketKeyword_6_2() { return cRightSquareBracketKeyword_6_2; } } public class ChunkElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Chunk"); private final RuleCall cBlockParserRuleCall = (RuleCall)rule.eContents().get(1); //Chunk: // Block; @Override public ParserRule getRule() { return rule; } //Block public RuleCall getBlockParserRuleCall() { return cBlockParserRuleCall; } } public class BlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Block"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cBlockAction_0 = (Action)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Assignment cStatementsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final RuleCall cStatementsStatementParserRuleCall_1_0_0 = (RuleCall)cStatementsAssignment_1_0.eContents().get(0); private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cReturnValueAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cReturnValueLastStatementParserRuleCall_2_0_0 = (RuleCall)cReturnValueAssignment_2_0.eContents().get(0); private final Keyword cSemicolonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); //Block: // {Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)?; @Override public ParserRule getRule() { return rule; } //{Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)? public Group getGroup() { return cGroup; } //{Block} public Action getBlockAction_0() { return cBlockAction_0; } //(statements+=Statement ";"?)* public Group getGroup_1() { return cGroup_1; } //statements+=Statement public Assignment getStatementsAssignment_1_0() { return cStatementsAssignment_1_0; } //Statement public RuleCall getStatementsStatementParserRuleCall_1_0_0() { return cStatementsStatementParserRuleCall_1_0_0; } //";"? public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; } //(returnValue=LastStatement ";"?)? public Group getGroup_2() { return cGroup_2; } //returnValue=LastStatement public Assignment getReturnValueAssignment_2_0() { return cReturnValueAssignment_2_0; } //LastStatement public RuleCall getReturnValueLastStatementParserRuleCall_2_0_0() { return cReturnValueLastStatementParserRuleCall_2_0_0; } //";"? public Keyword getSemicolonKeyword_2_1() { return cSemicolonKeyword_2_1; } } public class LastStatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cLastStatement_ReturnParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cLastStatement_BreakParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //// **************************************************** //// LAST STATEMENT //// **************************************************** //LastStatement: // LastStatement_Return | LastStatement_Break; @Override public ParserRule getRule() { return rule; } //LastStatement_Return | LastStatement_Break public Alternatives getAlternatives() { return cAlternatives; } //LastStatement_Return public RuleCall getLastStatement_ReturnParserRuleCall_0() { return cLastStatement_ReturnParserRuleCall_0; } //LastStatement_Break public RuleCall getLastStatement_BreakParserRuleCall_1() { return cLastStatement_BreakParserRuleCall_1; } } public class LastStatement_ReturnElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement_Return"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cReturnKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cLastStatement_ReturnWithValueAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cReturnValuesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cReturnValuesExpressionParserRuleCall_2_0_0 = (RuleCall)cReturnValuesAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cReturnValuesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cReturnValuesExpressionParserRuleCall_2_1_1_0 = (RuleCall)cReturnValuesAssignment_2_1_1.eContents().get(0); //// The return statement is used to return values from a function or a chunk //LastStatement_Return: // "return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)?; @Override public ParserRule getRule() { return rule; } //"return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)? public Group getGroup() { return cGroup; } //"return" public Keyword getReturnKeyword_0() { return cReturnKeyword_0; } //{LastStatement_ReturnWithValue} public Action getLastStatement_ReturnWithValueAction_1() { return cLastStatement_ReturnWithValueAction_1; } //(returnValues+=Expression ("," returnValues+=Expression)*)? public Group getGroup_2() { return cGroup_2; } //returnValues+=Expression public Assignment getReturnValuesAssignment_2_0() { return cReturnValuesAssignment_2_0; } //Expression public RuleCall getReturnValuesExpressionParserRuleCall_2_0_0() { return cReturnValuesExpressionParserRuleCall_2_0_0; } //("," returnValues+=Expression)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //returnValues+=Expression public Assignment getReturnValuesAssignment_2_1_1() { return cReturnValuesAssignment_2_1_1; } //Expression public RuleCall getReturnValuesExpressionParserRuleCall_2_1_1_0() { return cReturnValuesExpressionParserRuleCall_2_1_1_0; } } public class LastStatement_BreakElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement_Break"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cBreakKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cLastStatement_BreakAction_1 = (Action)cGroup.eContents().get(1); //// The break statement is used to terminate the execution of a while, repeat, or for loop, skipping to the next statement after the loop //LastStatement_Break: // "break" {LastStatement_Break}; @Override public ParserRule getRule() { return rule; } //"break" {LastStatement_Break} public Group getGroup() { return cGroup; } //"break" public Keyword getBreakKeyword_0() { return cBreakKeyword_0; } //{LastStatement_Break} public Action getLastStatement_BreakAction_1() { return cLastStatement_BreakAction_1; } } public class StatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cStatement_BlockParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cStatement_WhileParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cStatement_RepeatParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cStatement_If_Then_ElseParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cStatement_For_NumericParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cStatement_For_GenericParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cStatement_GlobalFunction_DeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cStatement_LocalFunction_DeclarationParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); private final RuleCall cStatement_Local_Variable_DeclarationParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); private final RuleCall cStatement_FunctioncallOrAssignmentParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); //// **************************************************** //// STATEMENT //// **************************************************** //Statement: // Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric | // Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration | // Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment; @Override public ParserRule getRule() { return rule; } //Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric | //Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration | //Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment public Alternatives getAlternatives() { return cAlternatives; } //Statement_Block public RuleCall getStatement_BlockParserRuleCall_0() { return cStatement_BlockParserRuleCall_0; } //Statement_While public RuleCall getStatement_WhileParserRuleCall_1() { return cStatement_WhileParserRuleCall_1; } //Statement_Repeat public RuleCall getStatement_RepeatParserRuleCall_2() { return cStatement_RepeatParserRuleCall_2; } //Statement_If_Then_Else public RuleCall getStatement_If_Then_ElseParserRuleCall_3() { return cStatement_If_Then_ElseParserRuleCall_3; } //Statement_For_Numeric public RuleCall getStatement_For_NumericParserRuleCall_4() { return cStatement_For_NumericParserRuleCall_4; } //Statement_For_Generic public RuleCall getStatement_For_GenericParserRuleCall_5() { return cStatement_For_GenericParserRuleCall_5; } //Statement_GlobalFunction_Declaration public RuleCall getStatement_GlobalFunction_DeclarationParserRuleCall_6() { return cStatement_GlobalFunction_DeclarationParserRuleCall_6; } //Statement_LocalFunction_Declaration public RuleCall getStatement_LocalFunction_DeclarationParserRuleCall_7() { return cStatement_LocalFunction_DeclarationParserRuleCall_7; } //Statement_Local_Variable_Declaration public RuleCall getStatement_Local_Variable_DeclarationParserRuleCall_8() { return cStatement_Local_Variable_DeclarationParserRuleCall_8; } //Statement_FunctioncallOrAssignment public RuleCall getStatement_FunctioncallOrAssignmentParserRuleCall_9() { return cStatement_FunctioncallOrAssignmentParserRuleCall_9; } } public class Statement_BlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Block"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cDoKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0); private final Keyword cEndKeyword_2 = (Keyword)cGroup.eContents().get(2); //// A block can be explicitly delimited to produce a single statement. "do ... end" //Statement_Block: // "do" block=Block "end"; @Override public ParserRule getRule() { return rule; } //"do" block=Block "end" public Group getGroup() { return cGroup; } //"do" public Keyword getDoKeyword_0() { return cDoKeyword_0; } //block=Block public Assignment getBlockAssignment_1() { return cBlockAssignment_1; } //Block public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; } //"end" public Keyword getEndKeyword_2() { return cEndKeyword_2; } } public class Statement_WhileElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_While"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0); private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cBlockAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cBlockBlockParserRuleCall_3_0 = (RuleCall)cBlockAssignment_3.eContents().get(0); private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4); //// Control structure. "while ... do ... end" //Statement_While: // "while" expression=Expression "do" block=Block "end"; @Override public ParserRule getRule() { return rule; } //"while" expression=Expression "do" block=Block "end" public Group getGroup() { return cGroup; } //"while" public Keyword getWhileKeyword_0() { return cWhileKeyword_0; } //expression=Expression public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; } //Expression public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; } //"do" public Keyword getDoKeyword_2() { return cDoKeyword_2; } //block=Block public Assignment getBlockAssignment_3() { return cBlockAssignment_3; } //Block public RuleCall getBlockBlockParserRuleCall_3_0() { return cBlockBlockParserRuleCall_3_0; } //"end" public Keyword getEndKeyword_4() { return cEndKeyword_4; } } public class Statement_RepeatElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Repeat"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRepeatKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0); private final Keyword cUntilKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cExpressionAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cExpressionExpressionParserRuleCall_3_0 = (RuleCall)cExpressionAssignment_3.eContents().get(0); //// Control structure. "repeat ... until ..." //Statement_Repeat: // "repeat" block=Block "until" expression=Expression; @Override public ParserRule getRule() { return rule; } //"repeat" block=Block "until" expression=Expression public Group getGroup() { return cGroup; } //"repeat" public Keyword getRepeatKeyword_0() { return cRepeatKeyword_0; } //block=Block public Assignment getBlockAssignment_1() { return cBlockAssignment_1; } //Block public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; } //"until" public Keyword getUntilKeyword_2() { return cUntilKeyword_2; } //expression=Expression public Assignment getExpressionAssignment_3() { return cExpressionAssignment_3; } //Expression public RuleCall getExpressionExpressionParserRuleCall_3_0() { return cExpressionExpressionParserRuleCall_3_0; } } public class Statement_If_Then_ElseElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_If_Then_Else"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cIfExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cIfExpressionExpressionParserRuleCall_1_0 = (RuleCall)cIfExpressionAssignment_1.eContents().get(0); private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cIfBlockAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cIfBlockBlockParserRuleCall_3_0 = (RuleCall)cIfBlockAssignment_3.eContents().get(0); private final Assignment cElseIfAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0 = (RuleCall)cElseIfAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cElseKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cElseBlockAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cElseBlockBlockParserRuleCall_5_1_0 = (RuleCall)cElseBlockAssignment_5_1.eContents().get(0); private final Keyword cEndKeyword_6 = (Keyword)cGroup.eContents().get(6); //// Control structure. "if ... then ... elseif ... elseif ... else ... end" //Statement_If_Then_Else: // "if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)? // "end"; @Override public ParserRule getRule() { return rule; } //"if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)? //"end" public Group getGroup() { return cGroup; } //"if" public Keyword getIfKeyword_0() { return cIfKeyword_0; } //ifExpression=Expression public Assignment getIfExpressionAssignment_1() { return cIfExpressionAssignment_1; } //Expression public RuleCall getIfExpressionExpressionParserRuleCall_1_0() { return cIfExpressionExpressionParserRuleCall_1_0; } //"then" public Keyword getThenKeyword_2() { return cThenKeyword_2; } //ifBlock=Block public Assignment getIfBlockAssignment_3() { return cIfBlockAssignment_3; } //Block public RuleCall getIfBlockBlockParserRuleCall_3_0() { return cIfBlockBlockParserRuleCall_3_0; } //elseIf+=Statement_If_Then_Else_ElseIfPart* public Assignment getElseIfAssignment_4() { return cElseIfAssignment_4; } //Statement_If_Then_Else_ElseIfPart public RuleCall getElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0() { return cElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0; } //("else" elseBlock=Block)? public Group getGroup_5() { return cGroup_5; } //"else" public Keyword getElseKeyword_5_0() { return cElseKeyword_5_0; } //elseBlock=Block public Assignment getElseBlockAssignment_5_1() { return cElseBlockAssignment_5_1; } //Block public RuleCall getElseBlockBlockParserRuleCall_5_1_0() { return cElseBlockBlockParserRuleCall_5_1_0; } //"end" public Keyword getEndKeyword_6() { return cEndKeyword_6; } } public class Statement_If_Then_Else_ElseIfPartElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_If_Then_Else_ElseIfPart"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cElseifKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cElseifExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cElseifExpressionExpressionParserRuleCall_1_0 = (RuleCall)cElseifExpressionAssignment_1.eContents().get(0); private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cElseifBlockAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cElseifBlockBlockParserRuleCall_3_0 = (RuleCall)cElseifBlockAssignment_3.eContents().get(0); //Statement_If_Then_Else_ElseIfPart: // "elseif" elseifExpression=Expression "then" elseifBlock=Block; @Override public ParserRule getRule() { return rule; } //"elseif" elseifExpression=Expression "then" elseifBlock=Block public Group getGroup() { return cGroup; } //"elseif" public Keyword getElseifKeyword_0() { return cElseifKeyword_0; } //elseifExpression=Expression public Assignment getElseifExpressionAssignment_1() { return cElseifExpressionAssignment_1; } //Expression public RuleCall getElseifExpressionExpressionParserRuleCall_1_0() { return cElseifExpressionExpressionParserRuleCall_1_0; } //"then" public Keyword getThenKeyword_2() { return cThenKeyword_2; } //elseifBlock=Block public Assignment getElseifBlockAssignment_3() { return cElseifBlockAssignment_3; } //Block public RuleCall getElseifBlockBlockParserRuleCall_3_0() { return cElseifBlockBlockParserRuleCall_3_0; } } public class Statement_For_NumericElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_For_Numeric"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cIteratorNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cIteratorNameValidIDParserRuleCall_1_0 = (RuleCall)cIteratorNameAssignment_1.eContents().get(0); private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cStartExprAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cStartExprExpressionParserRuleCall_3_0 = (RuleCall)cStartExprAssignment_3.eContents().get(0); private final Keyword cCommaKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cUntilExprAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cUntilExprExpressionParserRuleCall_5_0 = (RuleCall)cUntilExprAssignment_5.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cStepExprAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final RuleCall cStepExprExpressionParserRuleCall_6_1_0 = (RuleCall)cStepExprAssignment_6_1.eContents().get(0); private final Keyword cDoKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cBlockAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cBlockBlockParserRuleCall_8_0 = (RuleCall)cBlockAssignment_8.eContents().get(0); private final Keyword cEndKeyword_9 = (Keyword)cGroup.eContents().get(9); //// The numeric for loop repeats a block of code while a control variable runs through an arithmetic progression "for ...=..., ... [,...] do ... end" //Statement_For_Numeric: // "for" iteratorName=ValidID "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do" // block=Block "end"; @Override public ParserRule getRule() { return rule; } //"for" iteratorName=ValidID "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do" block=Block //"end" public Group getGroup() { return cGroup; } //"for" public Keyword getForKeyword_0() { return cForKeyword_0; } //iteratorName=ValidID public Assignment getIteratorNameAssignment_1() { return cIteratorNameAssignment_1; } //ValidID public RuleCall getIteratorNameValidIDParserRuleCall_1_0() { return cIteratorNameValidIDParserRuleCall_1_0; } //"=" public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } //startExpr=Expression public Assignment getStartExprAssignment_3() { return cStartExprAssignment_3; } //Expression public RuleCall getStartExprExpressionParserRuleCall_3_0() { return cStartExprExpressionParserRuleCall_3_0; } //"," public Keyword getCommaKeyword_4() { return cCommaKeyword_4; } //untilExpr=Expression public Assignment getUntilExprAssignment_5() { return cUntilExprAssignment_5; } //Expression public RuleCall getUntilExprExpressionParserRuleCall_5_0() { return cUntilExprExpressionParserRuleCall_5_0; } //("," stepExpr=Expression)? public Group getGroup_6() { return cGroup_6; } //"," public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; } //stepExpr=Expression public Assignment getStepExprAssignment_6_1() { return cStepExprAssignment_6_1; } //Expression public RuleCall getStepExprExpressionParserRuleCall_6_1_0() { return cStepExprExpressionParserRuleCall_6_1_0; } //"do" public Keyword getDoKeyword_7() { return cDoKeyword_7; } //block=Block public Assignment getBlockAssignment_8() { return cBlockAssignment_8; } //Block public RuleCall getBlockBlockParserRuleCall_8_0() { return cBlockBlockParserRuleCall_8_0; } //"end" public Keyword getEndKeyword_9() { return cEndKeyword_9; } } public class Statement_For_GenericElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_For_Generic"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNamesAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNamesValidIDParserRuleCall_1_0 = (RuleCall)cNamesAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cNamesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cNamesValidIDParserRuleCall_2_1_0 = (RuleCall)cNamesAssignment_2_1.eContents().get(0); private final Keyword cInKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cExpressionsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cExpressionsExpressionParserRuleCall_4_0 = (RuleCall)cExpressionsAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cCommaKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cExpressionsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cExpressionsExpressionParserRuleCall_5_1_0 = (RuleCall)cExpressionsAssignment_5_1.eContents().get(0); private final Keyword cDoKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Assignment cBlockAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cBlockBlockParserRuleCall_7_0 = (RuleCall)cBlockAssignment_7.eContents().get(0); private final Keyword cEndKeyword_8 = (Keyword)cGroup.eContents().get(8); //// The generic for statement works over functions, called iterators. On each iteration, the iterator function is called to produce a new value, stopping when this new value is nil "for ... in ... do ... end" //Statement_For_Generic: // "for" names+=ValidID ("," names+=ValidID)* "in" expressions+=Expression ("," expressions+=Expression)* "do" // block=Block "end"; @Override public ParserRule getRule() { return rule; } //"for" names+=ValidID ("," names+=ValidID)* "in" expressions+=Expression ("," expressions+=Expression)* "do" block=Block //"end" public Group getGroup() { return cGroup; } //"for" public Keyword getForKeyword_0() { return cForKeyword_0; } //names+=ValidID public Assignment getNamesAssignment_1() { return cNamesAssignment_1; } //ValidID public RuleCall getNamesValidIDParserRuleCall_1_0() { return cNamesValidIDParserRuleCall_1_0; } //("," names+=ValidID)* public Group getGroup_2() { return cGroup_2; } //"," public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } //names+=ValidID public Assignment getNamesAssignment_2_1() { return cNamesAssignment_2_1; } //ValidID public RuleCall getNamesValidIDParserRuleCall_2_1_0() { return cNamesValidIDParserRuleCall_2_1_0; } //"in" public Keyword getInKeyword_3() { return cInKeyword_3; } //expressions+=Expression public Assignment getExpressionsAssignment_4() { return cExpressionsAssignment_4; } //Expression public RuleCall getExpressionsExpressionParserRuleCall_4_0() { return cExpressionsExpressionParserRuleCall_4_0; } //("," expressions+=Expression)* public Group getGroup_5() { return cGroup_5; } //"," public Keyword getCommaKeyword_5_0() { return cCommaKeyword_5_0; } //expressions+=Expression public Assignment getExpressionsAssignment_5_1() { return cExpressionsAssignment_5_1; } //Expression public RuleCall getExpressionsExpressionParserRuleCall_5_1_0() { return cExpressionsExpressionParserRuleCall_5_1_0; } //"do" public Keyword getDoKeyword_6() { return cDoKeyword_6; } //block=Block public Assignment getBlockAssignment_7() { return cBlockAssignment_7; } //Block public RuleCall getBlockBlockParserRuleCall_7_0() { return cBlockBlockParserRuleCall_7_0; } //"end" public Keyword getEndKeyword_8() { return cEndKeyword_8; } } public class Statement_GlobalFunction_DeclarationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_GlobalFunction_Declaration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPrefixAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPrefixValidIDParserRuleCall_1_0 = (RuleCall)cPrefixAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cFullStopKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cPrefixAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cPrefixValidIDParserRuleCall_2_1_0 = (RuleCall)cPrefixAssignment_2_1.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cColonKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cFunctionNameAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cFunctionNameValidIDParserRuleCall_3_1_0 = (RuleCall)cFunctionNameAssignment_3_1.eContents().get(0); private final Assignment cFunctionAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cFunctionFunctionParserRuleCall_4_0 = (RuleCall)cFunctionAssignment_4.eContents().get(0); private final Keyword cEndKeyword_5 = (Keyword)cGroup.eContents().get(5); //Statement_GlobalFunction_Declaration: // "function" prefix+=ValidID ("." prefix+=ValidID)* (":" functionName=ValidID)? function=Function "end"; @Override public ParserRule getRule() { return rule; } //"function" prefix+=ValidID ("." prefix+=ValidID)* (":" functionName=ValidID)? function=Function "end" public Group getGroup() { return cGroup; } //"function" public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; } //prefix+=ValidID public Assignment getPrefixAssignment_1() { return cPrefixAssignment_1; } //ValidID public RuleCall getPrefixValidIDParserRuleCall_1_0() { return cPrefixValidIDParserRuleCall_1_0; } //("." prefix+=ValidID)* public Group getGroup_2() { return cGroup_2; } //"." public Keyword getFullStopKeyword_2_0() { return cFullStopKeyword_2_0; } //prefix+=ValidID public Assignment getPrefixAssignment_2_1() { return cPrefixAssignment_2_1; } //ValidID public RuleCall getPrefixValidIDParserRuleCall_2_1_0() { return cPrefixValidIDParserRuleCall_2_1_0; } //(":" functionName=ValidID)? public Group getGroup_3() { return cGroup_3; } //":" public Keyword getColonKeyword_3_0() { return cColonKeyword_3_0; } //functionName=ValidID public Assignment getFunctionNameAssignment_3_1() { return cFunctionNameAssignment_3_1; } //ValidID public RuleCall getFunctionNameValidIDParserRuleCall_3_1_0() { return cFunctionNameValidIDParserRuleCall_3_1_0; } //function=Function public Assignment getFunctionAssignment_4() { return cFunctionAssignment_4; } //Function public RuleCall getFunctionFunctionParserRuleCall_4_0() { return cFunctionFunctionParserRuleCall_4_0; } //"end" public Keyword getEndKeyword_5() { return cEndKeyword_5; } } public class Statement_LocalFunction_DeclarationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_LocalFunction_Declaration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLocalKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cFunctionNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cFunctionNameValidIDParserRuleCall_2_0 = (RuleCall)cFunctionNameAssignment_2.eContents().get(0); private final Assignment cFunctionAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cFunctionFunctionParserRuleCall_3_0 = (RuleCall)cFunctionAssignment_3.eContents().get(0); private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4); //Statement_LocalFunction_Declaration: // "local" "function" functionName=ValidID function=Function "end"; @Override public ParserRule getRule() { return rule; } //"local" "function" functionName=ValidID function=Function "end" public Group getGroup() { return cGroup; } //"local" public Keyword getLocalKeyword_0() { return cLocalKeyword_0; } //"function" public Keyword getFunctionKeyword_1() { return cFunctionKeyword_1; } //functionName=ValidID public Assignment getFunctionNameAssignment_2() { return cFunctionNameAssignment_2; } //ValidID public RuleCall getFunctionNameValidIDParserRuleCall_2_0() { return cFunctionNameValidIDParserRuleCall_2_0; } //function=Function public Assignment getFunctionAssignment_3() { return cFunctionAssignment_3; } //Function public RuleCall getFunctionFunctionParserRuleCall_3_0() { return cFunctionFunctionParserRuleCall_3_0; } //"end" public Keyword getEndKeyword_4() { return cEndKeyword_4; } } public class Statement_Local_Variable_DeclarationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Local_Variable_Declaration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLocalKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cVariableNamesAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cVariableNamesValidIDParserRuleCall_1_0 = (RuleCall)cVariableNamesAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cVariableNamesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cVariableNamesValidIDParserRuleCall_2_1_0 = (RuleCall)cVariableNamesAssignment_2_1.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cInitialValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cInitialValueExpressionParserRuleCall_3_1_0 = (RuleCall)cInitialValueAssignment_3_1.eContents().get(0); private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); private final Assignment cInitialValueAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); private final RuleCall cInitialValueExpressionParserRuleCall_3_2_1_0 = (RuleCall)cInitialValueAssignment_3_2_1.eContents().get(0); //// Local variables can be declared anywhere inside a block. The declaration can include an initial assignment "local ... [= ...]" //Statement_Local_Variable_Declaration: // "local" variableNames+=ValidID ("," variableNames+=ValidID)* ("=" initialValue+=Expression ("," // initialValue+=Expression)*)?; @Override public ParserRule getRule() { return rule; } //"local" variableNames+=ValidID ("," variableNames+=ValidID)* ("=" initialValue+=Expression ("," //initialValue+=Expression)*)? public Group getGroup() { return cGroup; } //"local" public Keyword getLocalKeyword_0() { return cLocalKeyword_0; } //variableNames+=ValidID public Assignment getVariableNamesAssignment_1() { return cVariableNamesAssignment_1; } //ValidID public RuleCall getVariableNamesValidIDParserRuleCall_1_0() { return cVariableNamesValidIDParserRuleCall_1_0; } //("," variableNames+=ValidID)* public Group getGroup_2() { return cGroup_2; } //"," public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } //variableNames+=ValidID public Assignment getVariableNamesAssignment_2_1() { return cVariableNamesAssignment_2_1; } //ValidID public RuleCall getVariableNamesValidIDParserRuleCall_2_1_0() { return cVariableNamesValidIDParserRuleCall_2_1_0; } //("=" initialValue+=Expression ("," initialValue+=Expression)*)? public Group getGroup_3() { return cGroup_3; } //"=" public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //initialValue+=Expression public Assignment getInitialValueAssignment_3_1() { return cInitialValueAssignment_3_1; } //Expression public RuleCall getInitialValueExpressionParserRuleCall_3_1_0() { return cInitialValueExpressionParserRuleCall_3_1_0; } //("," initialValue+=Expression)* public Group getGroup_3_2() { return cGroup_3_2; } //"," public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } //initialValue+=Expression public Assignment getInitialValueAssignment_3_2_1() { return cInitialValueAssignment_3_2_1; } //Expression public RuleCall getInitialValueExpressionParserRuleCall_3_2_1_0() { return cInitialValueExpressionParserRuleCall_3_2_1_0; } } public class Statement_FunctioncallOrAssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_FunctioncallOrAssignment"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_AccessMemberOrArrayElementParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cStatement_AssignmentVariableAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); private final Keyword cCommaKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); private final Assignment cVariableAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); private final RuleCall cVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0 = (RuleCall)cVariableAssignment_1_0_1_1.eContents().get(0); private final Keyword cEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); private final Assignment cValuesAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); private final RuleCall cValuesExpressionParserRuleCall_1_0_3_0 = (RuleCall)cValuesAssignment_1_0_3.eContents().get(0); private final Group cGroup_1_0_4 = (Group)cGroup_1_0.eContents().get(4); private final Keyword cCommaKeyword_1_0_4_0 = (Keyword)cGroup_1_0_4.eContents().get(0); private final Assignment cValuesAssignment_1_0_4_1 = (Assignment)cGroup_1_0_4.eContents().get(1); private final RuleCall cValuesExpressionParserRuleCall_1_0_4_1_0 = (RuleCall)cValuesAssignment_1_0_4_1.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Keyword cColonKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Action cStatement_CallMemberFunctionObjectAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); private final Assignment cMemberFunctionNameAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cMemberFunctionNameValidIDParserRuleCall_1_1_2_0 = (RuleCall)cMemberFunctionNameAssignment_1_1_2.eContents().get(0); private final Assignment cArgumentsAssignment_1_1_3 = (Assignment)cGroup_1_1.eContents().get(3); private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0 = (RuleCall)cArgumentsAssignment_1_1_3.eContents().get(0); private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); private final Action cStatement_CallFunctionObjectAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); private final Assignment cArgumentsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1); private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0 = (RuleCall)cArgumentsAssignment_1_2_1.eContents().get(0); //Statement_FunctioncallOrAssignment: // Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} ("," // variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment // // Call of a member function // // Call of a function pointer // | ":" {Statement_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments | // {Statement_CallFunction.object=current} arguments=Functioncall_Arguments); @Override public ParserRule getRule() { return rule; } //Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} ("," //variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment //// Call of a member function //// Call of a function pointer //| ":" {Statement_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments | //{Statement_CallFunction.object=current} arguments=Functioncall_Arguments) public Group getGroup() { return cGroup; } //Expression_AccessMemberOrArrayElement public RuleCall getExpression_AccessMemberOrArrayElementParserRuleCall_0() { return cExpression_AccessMemberOrArrayElementParserRuleCall_0; } //{Statement_Assignment.variable+=current} ("," variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression //("," values+=Expression)* // Assignment //// Call of a member function //// Call of a function pointer //| ":" {Statement_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments | //{Statement_CallFunction.object=current} arguments=Functioncall_Arguments public Alternatives getAlternatives_1() { return cAlternatives_1; } //{Statement_Assignment.variable+=current} ("," variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression //("," values+=Expression)* public Group getGroup_1_0() { return cGroup_1_0; } //{Statement_Assignment.variable+=current} public Action getStatement_AssignmentVariableAction_1_0_0() { return cStatement_AssignmentVariableAction_1_0_0; } //(=> "," variable+=Expression_AccessMemberOrArrayElement)* public Group getGroup_1_0_1() { return cGroup_1_0_1; } //=> "," public Keyword getCommaKeyword_1_0_1_0() { return cCommaKeyword_1_0_1_0; } //variable+=Expression_AccessMemberOrArrayElement public Assignment getVariableAssignment_1_0_1_1() { return cVariableAssignment_1_0_1_1; } //Expression_AccessMemberOrArrayElement public RuleCall getVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0() { return cVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0; } //"=" public Keyword getEqualsSignKeyword_1_0_2() { return cEqualsSignKeyword_1_0_2; } //values+=Expression public Assignment getValuesAssignment_1_0_3() { return cValuesAssignment_1_0_3; } //Expression public RuleCall getValuesExpressionParserRuleCall_1_0_3_0() { return cValuesExpressionParserRuleCall_1_0_3_0; } //("," values+=Expression)* public Group getGroup_1_0_4() { return cGroup_1_0_4; } //"," public Keyword getCommaKeyword_1_0_4_0() { return cCommaKeyword_1_0_4_0; } //values+=Expression public Assignment getValuesAssignment_1_0_4_1() { return cValuesAssignment_1_0_4_1; } //Expression public RuleCall getValuesExpressionParserRuleCall_1_0_4_1_0() { return cValuesExpressionParserRuleCall_1_0_4_1_0; } //":" {Statement_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments public Group getGroup_1_1() { return cGroup_1_1; } //":" public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; } //{Statement_CallMemberFunction.object=current} public Action getStatement_CallMemberFunctionObjectAction_1_1_1() { return cStatement_CallMemberFunctionObjectAction_1_1_1; } //memberFunctionName=ValidID public Assignment getMemberFunctionNameAssignment_1_1_2() { return cMemberFunctionNameAssignment_1_1_2; } //ValidID public RuleCall getMemberFunctionNameValidIDParserRuleCall_1_1_2_0() { return cMemberFunctionNameValidIDParserRuleCall_1_1_2_0; } //arguments=Functioncall_Arguments public Assignment getArgumentsAssignment_1_1_3() { return cArgumentsAssignment_1_1_3; } //Functioncall_Arguments public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0; } //{Statement_CallFunction.object=current} arguments=Functioncall_Arguments public Group getGroup_1_2() { return cGroup_1_2; } //{Statement_CallFunction.object=current} public Action getStatement_CallFunctionObjectAction_1_2_0() { return cStatement_CallFunctionObjectAction_1_2_0; } //arguments=Functioncall_Arguments public Assignment getArgumentsAssignment_1_2_1() { return cArgumentsAssignment_1_2_1; } //Functioncall_Arguments public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0; } } public class ExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression"); private final RuleCall cExpression_OrParserRuleCall = (RuleCall)rule.eContents().get(1); //// **************************************************** //// EXPRESSIONS //// **************************************************** //// Delegate to the priority chain of operators by calling the rule for the lowest priority operator //Expression: // Expression_Or; @Override public ParserRule getRule() { return rule; } //Expression_Or public RuleCall getExpression_OrParserRuleCall() { return cExpression_OrParserRuleCall; } } public class Expression_OrElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Or"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_AndParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cOrKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cExpression_OrLeftAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightExpression_AndParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //// Or: left associative, priority 0 //Expression_Or returns Expression: // Expression_And ("or" {Expression_Or.left=current} right=Expression_And)*; @Override public ParserRule getRule() { return rule; } //Expression_And ("or" {Expression_Or.left=current} right=Expression_And)* public Group getGroup() { return cGroup; } //Expression_And public RuleCall getExpression_AndParserRuleCall_0() { return cExpression_AndParserRuleCall_0; } //("or" {Expression_Or.left=current} right=Expression_And)* public Group getGroup_1() { return cGroup_1; } //"or" public Keyword getOrKeyword_1_0() { return cOrKeyword_1_0; } //{Expression_Or.left=current} public Action getExpression_OrLeftAction_1_1() { return cExpression_OrLeftAction_1_1; } //right=Expression_And public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Expression_And public RuleCall getRightExpression_AndParserRuleCall_1_2_0() { return cRightExpression_AndParserRuleCall_1_2_0; } } public class Expression_AndElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_And"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_CompareParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cAndKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cExpression_AndLeftAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightExpression_CompareParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //// And: left associative, priority 1 //Expression_And returns Expression: // Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)*; @Override public ParserRule getRule() { return rule; } //Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)* public Group getGroup() { return cGroup; } //Expression_Compare public RuleCall getExpression_CompareParserRuleCall_0() { return cExpression_CompareParserRuleCall_0; } //("and" {Expression_And.left=current} right=Expression_Compare)* public Group getGroup_1() { return cGroup_1; } //"and" public Keyword getAndKeyword_1_0() { return cAndKeyword_1_0; } //{Expression_And.left=current} public Action getExpression_AndLeftAction_1_1() { return cExpression_AndLeftAction_1_1; } //right=Expression_Compare public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Expression_Compare public RuleCall getRightExpression_CompareParserRuleCall_1_2_0() { return cRightExpression_CompareParserRuleCall_1_2_0; } } public class Expression_CompareElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Compare"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_ConcatenationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cGreaterThanSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Action cExpression_LargerLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Action cExpression_Larger_EqualLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); private final Keyword cLessThanSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0); private final Action cExpression_SmallerLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1); private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0); private final Group cGroup_1_3 = (Group)cAlternatives_1.eContents().get(3); private final Keyword cLessThanSignEqualsSignKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); private final Action cExpression_Smaller_EqualLeftAction_1_3_1 = (Action)cGroup_1_3.eContents().get(1); private final Assignment cRightAssignment_1_3_2 = (Assignment)cGroup_1_3.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_3_2_0 = (RuleCall)cRightAssignment_1_3_2.eContents().get(0); private final Group cGroup_1_4 = (Group)cAlternatives_1.eContents().get(4); private final Keyword cEqualsSignEqualsSignKeyword_1_4_0 = (Keyword)cGroup_1_4.eContents().get(0); private final Action cExpression_EqualLeftAction_1_4_1 = (Action)cGroup_1_4.eContents().get(1); private final Assignment cRightAssignment_1_4_2 = (Assignment)cGroup_1_4.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_4_2_0 = (RuleCall)cRightAssignment_1_4_2.eContents().get(0); private final Group cGroup_1_5 = (Group)cAlternatives_1.eContents().get(5); private final Keyword cTildeEqualsSignKeyword_1_5_0 = (Keyword)cGroup_1_5.eContents().get(0); private final Action cExpression_Not_EqualLeftAction_1_5_1 = (Action)cGroup_1_5.eContents().get(1); private final Assignment cRightAssignment_1_5_2 = (Assignment)cGroup_1_5.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_5_2_0 = (RuleCall)cRightAssignment_1_5_2.eContents().get(0); //// Comparisons: left associative, priority 2 //Expression_Compare returns Expression: // Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">=" // {Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current} // right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "==" // {Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current} // right=Expression_Concatenation)*; @Override public ParserRule getRule() { return rule; } //Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">=" //{Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current} //right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "==" //{Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current} //right=Expression_Concatenation)* public Group getGroup() { return cGroup; } //Expression_Concatenation public RuleCall getExpression_ConcatenationParserRuleCall_0() { return cExpression_ConcatenationParserRuleCall_0; } //(">" {Expression_Larger.left=current} right=Expression_Concatenation | ">=" {Expression_Larger_Equal.left=current} //right=Expression_Concatenation | "<" {Expression_Smaller.left=current} right=Expression_Concatenation | "<=" //{Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "==" {Expression_Equal.left=current} //right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current} right=Expression_Concatenation)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //">" {Expression_Larger.left=current} right=Expression_Concatenation public Group getGroup_1_0() { return cGroup_1_0; } //">" public Keyword getGreaterThanSignKeyword_1_0_0() { return cGreaterThanSignKeyword_1_0_0; } //{Expression_Larger.left=current} public Action getExpression_LargerLeftAction_1_0_1() { return cExpression_LargerLeftAction_1_0_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_0_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_0_2_0; } //">=" {Expression_Larger_Equal.left=current} right=Expression_Concatenation public Group getGroup_1_1() { return cGroup_1_1; } //">=" public Keyword getGreaterThanSignEqualsSignKeyword_1_1_0() { return cGreaterThanSignEqualsSignKeyword_1_1_0; } //{Expression_Larger_Equal.left=current} public Action getExpression_Larger_EqualLeftAction_1_1_1() { return cExpression_Larger_EqualLeftAction_1_1_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_1_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_1_2_0; } //"<" {Expression_Smaller.left=current} right=Expression_Concatenation public Group getGroup_1_2() { return cGroup_1_2; } //"<" public Keyword getLessThanSignKeyword_1_2_0() { return cLessThanSignKeyword_1_2_0; } //{Expression_Smaller.left=current} public Action getExpression_SmallerLeftAction_1_2_1() { return cExpression_SmallerLeftAction_1_2_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_2_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_2_2_0; } //"<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation public Group getGroup_1_3() { return cGroup_1_3; } //"<=" public Keyword getLessThanSignEqualsSignKeyword_1_3_0() { return cLessThanSignEqualsSignKeyword_1_3_0; } //{Expression_Smaller_Equal.left=current} public Action getExpression_Smaller_EqualLeftAction_1_3_1() { return cExpression_Smaller_EqualLeftAction_1_3_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_3_2() { return cRightAssignment_1_3_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_3_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_3_2_0; } //"==" {Expression_Equal.left=current} right=Expression_Concatenation public Group getGroup_1_4() { return cGroup_1_4; } //"==" public Keyword getEqualsSignEqualsSignKeyword_1_4_0() { return cEqualsSignEqualsSignKeyword_1_4_0; } //{Expression_Equal.left=current} public Action getExpression_EqualLeftAction_1_4_1() { return cExpression_EqualLeftAction_1_4_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_4_2() { return cRightAssignment_1_4_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_4_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_4_2_0; } //"~=" {Expression_Not_Equal.left=current} right=Expression_Concatenation public Group getGroup_1_5() { return cGroup_1_5; } //"~=" public Keyword getTildeEqualsSignKeyword_1_5_0() { return cTildeEqualsSignKeyword_1_5_0; } //{Expression_Not_Equal.left=current} public Action getExpression_Not_EqualLeftAction_1_5_1() { return cExpression_Not_EqualLeftAction_1_5_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_5_2() { return cRightAssignment_1_5_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_5_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_5_2_0; } } public class Expression_ConcatenationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Concatenation"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_PlusMinusParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cExpression_ConcatenationLeftAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //// Concatenation: right associative, priority 3 //Expression_Concatenation returns Expression: // Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?; @Override public ParserRule getRule() { return rule; } //Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)? public Group getGroup() { return cGroup; } //Expression_PlusMinus public RuleCall getExpression_PlusMinusParserRuleCall_0() { return cExpression_PlusMinusParserRuleCall_0; } //(".." {Expression_Concatenation.left=current} right=Expression_Concatenation)? public Group getGroup_1() { return cGroup_1; } //".." public Keyword getFullStopFullStopKeyword_1_0() { return cFullStopFullStopKeyword_1_0; } //{Expression_Concatenation.left=current} public Action getExpression_ConcatenationLeftAction_1_1() { return cExpression_ConcatenationLeftAction_1_1; } //right=Expression_Concatenation public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Expression_Concatenation public RuleCall getRightExpression_ConcatenationParserRuleCall_1_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_2_0; } } public class Expression_PlusMinusElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_PlusMinus"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_MultiplicationDivisionModuloParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cPlusSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Action cExpression_PlusLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Keyword cHyphenMinusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Action cExpression_MinusLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); //// addition/subtraction: left associative, priority 4 //Expression_PlusMinus returns Expression: // Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current} // right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current} // right=Expression_MultiplicationDivisionModulo)*; @Override public ParserRule getRule() { return rule; } //Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current} //right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current} //right=Expression_MultiplicationDivisionModulo)* public Group getGroup() { return cGroup; } //Expression_MultiplicationDivisionModulo public RuleCall getExpression_MultiplicationDivisionModuloParserRuleCall_0() { return cExpression_MultiplicationDivisionModuloParserRuleCall_0; } //("+" {Expression_Plus.left=current} right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current} //right=Expression_MultiplicationDivisionModulo)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //"+" {Expression_Plus.left=current} right=Expression_MultiplicationDivisionModulo public Group getGroup_1_0() { return cGroup_1_0; } //"+" public Keyword getPlusSignKeyword_1_0_0() { return cPlusSignKeyword_1_0_0; } //{Expression_Plus.left=current} public Action getExpression_PlusLeftAction_1_0_1() { return cExpression_PlusLeftAction_1_0_1; } //right=Expression_MultiplicationDivisionModulo public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //Expression_MultiplicationDivisionModulo public RuleCall getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0() { return cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0; } //"-" {Expression_Minus.left=current} right=Expression_MultiplicationDivisionModulo public Group getGroup_1_1() { return cGroup_1_1; } //"-" public Keyword getHyphenMinusKeyword_1_1_0() { return cHyphenMinusKeyword_1_1_0; } //{Expression_Minus.left=current} public Action getExpression_MinusLeftAction_1_1_1() { return cExpression_MinusLeftAction_1_1_1; } //right=Expression_MultiplicationDivisionModulo public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //Expression_MultiplicationDivisionModulo public RuleCall getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0() { return cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0; } } public class Expression_MultiplicationDivisionModuloElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_MultiplicationDivisionModulo"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_UnaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cAsteriskKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Action cExpression_MultiplicationLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightExpression_UnaryParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Keyword cSolidusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Action cExpression_DivisionLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightExpression_UnaryParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); private final Keyword cPercentSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0); private final Action cExpression_ModuloLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1); private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); private final RuleCall cRightExpression_UnaryParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0); //// multiplication/division, left associative, priority 5 //Expression_MultiplicationDivisionModulo returns Expression: // Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/" // {Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current} // right=Expression_Unary)*; @Override public ParserRule getRule() { return rule; } //Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/" //{Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current} //right=Expression_Unary)* public Group getGroup() { return cGroup; } //Expression_Unary public RuleCall getExpression_UnaryParserRuleCall_0() { return cExpression_UnaryParserRuleCall_0; } //("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/" {Expression_Division.left=current} //right=Expression_Unary | "%" {Expression_Modulo.left=current} right=Expression_Unary)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //"*" {Expression_Multiplication.left=current} right=Expression_Unary public Group getGroup_1_0() { return cGroup_1_0; } //"*" public Keyword getAsteriskKeyword_1_0_0() { return cAsteriskKeyword_1_0_0; } //{Expression_Multiplication.left=current} public Action getExpression_MultiplicationLeftAction_1_0_1() { return cExpression_MultiplicationLeftAction_1_0_1; } //right=Expression_Unary public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //Expression_Unary public RuleCall getRightExpression_UnaryParserRuleCall_1_0_2_0() { return cRightExpression_UnaryParserRuleCall_1_0_2_0; } //"/" {Expression_Division.left=current} right=Expression_Unary public Group getGroup_1_1() { return cGroup_1_1; } //"/" public Keyword getSolidusKeyword_1_1_0() { return cSolidusKeyword_1_1_0; } //{Expression_Division.left=current} public Action getExpression_DivisionLeftAction_1_1_1() { return cExpression_DivisionLeftAction_1_1_1; } //right=Expression_Unary public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //Expression_Unary public RuleCall getRightExpression_UnaryParserRuleCall_1_1_2_0() { return cRightExpression_UnaryParserRuleCall_1_1_2_0; } //"%" {Expression_Modulo.left=current} right=Expression_Unary public Group getGroup_1_2() { return cGroup_1_2; } //"%" public Keyword getPercentSignKeyword_1_2_0() { return cPercentSignKeyword_1_2_0; } //{Expression_Modulo.left=current} public Action getExpression_ModuloLeftAction_1_2_1() { return cExpression_ModuloLeftAction_1_2_1; } //right=Expression_Unary public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; } //Expression_Unary public RuleCall getRightExpression_UnaryParserRuleCall_1_2_2_0() { return cRightExpression_UnaryParserRuleCall_1_2_2_0; } } public class Expression_UnaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Unary"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cExpression_ExponentiationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cNotKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cExpression_NegateAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cExpAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cExpExpression_UnaryParserRuleCall_1_2_0 = (RuleCall)cExpAssignment_1_2.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cNumberSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Action cExpression_LengthAction_2_1 = (Action)cGroup_2.eContents().get(1); private final Assignment cExpAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2); private final RuleCall cExpExpression_UnaryParserRuleCall_2_2_0 = (RuleCall)cExpAssignment_2_2.eContents().get(0); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cHyphenMinusKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Action cExpression_InvertAction_3_1 = (Action)cGroup_3.eContents().get(1); private final Assignment cExpAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final RuleCall cExpExpression_UnaryParserRuleCall_3_2_0 = (RuleCall)cExpAssignment_3_2.eContents().get(0); //// Unary operators: right associative, priority 6 //Expression_Unary returns Expression: // Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length} // exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary; @Override public ParserRule getRule() { return rule; } //Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length} //exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary public Alternatives getAlternatives() { return cAlternatives; } //Expression_Exponentiation public RuleCall getExpression_ExponentiationParserRuleCall_0() { return cExpression_ExponentiationParserRuleCall_0; } //"not" {Expression_Negate} exp=Expression_Unary public Group getGroup_1() { return cGroup_1; } //"not" public Keyword getNotKeyword_1_0() { return cNotKeyword_1_0; } //{Expression_Negate} public Action getExpression_NegateAction_1_1() { return cExpression_NegateAction_1_1; } //exp=Expression_Unary public Assignment getExpAssignment_1_2() { return cExpAssignment_1_2; } //Expression_Unary public RuleCall getExpExpression_UnaryParserRuleCall_1_2_0() { return cExpExpression_UnaryParserRuleCall_1_2_0; } //"#" {Expression_Length} exp=Expression_Unary public Group getGroup_2() { return cGroup_2; } //"#" public Keyword getNumberSignKeyword_2_0() { return cNumberSignKeyword_2_0; } //{Expression_Length} public Action getExpression_LengthAction_2_1() { return cExpression_LengthAction_2_1; } //exp=Expression_Unary public Assignment getExpAssignment_2_2() { return cExpAssignment_2_2; } //Expression_Unary public RuleCall getExpExpression_UnaryParserRuleCall_2_2_0() { return cExpExpression_UnaryParserRuleCall_2_2_0; } //"-" {Expression_Invert} exp=Expression_Unary public Group getGroup_3() { return cGroup_3; } //"-" public Keyword getHyphenMinusKeyword_3_0() { return cHyphenMinusKeyword_3_0; } //{Expression_Invert} public Action getExpression_InvertAction_3_1() { return cExpression_InvertAction_3_1; } //exp=Expression_Unary public Assignment getExpAssignment_3_2() { return cExpAssignment_3_2; } //Expression_Unary public RuleCall getExpExpression_UnaryParserRuleCall_3_2_0() { return cExpExpression_UnaryParserRuleCall_3_2_0; } } public class Expression_ExponentiationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Exponentiation"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_TerminalParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cCircumflexAccentKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cExpression_ExponentiationLeftAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightExpression_ExponentiationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //// exponentiation: right associative, priority 7 //Expression_Exponentiation returns Expression: // Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?; @Override public ParserRule getRule() { return rule; } //Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)? public Group getGroup() { return cGroup; } //Expression_Terminal public RuleCall getExpression_TerminalParserRuleCall_0() { return cExpression_TerminalParserRuleCall_0; } //("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)? public Group getGroup_1() { return cGroup_1; } //"^" public Keyword getCircumflexAccentKeyword_1_0() { return cCircumflexAccentKeyword_1_0; } //{Expression_Exponentiation.left=current} public Action getExpression_ExponentiationLeftAction_1_1() { return cExpression_ExponentiationLeftAction_1_1; } //right=Expression_Exponentiation public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Expression_Exponentiation public RuleCall getRightExpression_ExponentiationParserRuleCall_1_2_0() { return cRightExpression_ExponentiationParserRuleCall_1_2_0; } } public class Expression_TerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Terminal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cExpression_NilParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExpression_TrueParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cExpression_FalseParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cExpression_NumberParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cExpression_VarArgsParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cExpression_StringParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cExpression_FunctionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cExpression_TableConstructorParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); private final RuleCall cExpression_FunctioncallParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); //Expression_Terminal returns Expression: // Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String | // Expression_Function | Expression_TableConstructor | Expression_Functioncall; @Override public ParserRule getRule() { return rule; } //Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String | //Expression_Function | Expression_TableConstructor | Expression_Functioncall public Alternatives getAlternatives() { return cAlternatives; } //Expression_Nil public RuleCall getExpression_NilParserRuleCall_0() { return cExpression_NilParserRuleCall_0; } //Expression_True public RuleCall getExpression_TrueParserRuleCall_1() { return cExpression_TrueParserRuleCall_1; } //Expression_False public RuleCall getExpression_FalseParserRuleCall_2() { return cExpression_FalseParserRuleCall_2; } //Expression_Number public RuleCall getExpression_NumberParserRuleCall_3() { return cExpression_NumberParserRuleCall_3; } //Expression_VarArgs public RuleCall getExpression_VarArgsParserRuleCall_4() { return cExpression_VarArgsParserRuleCall_4; } //Expression_String public RuleCall getExpression_StringParserRuleCall_5() { return cExpression_StringParserRuleCall_5; } //Expression_Function public RuleCall getExpression_FunctionParserRuleCall_6() { return cExpression_FunctionParserRuleCall_6; } //Expression_TableConstructor public RuleCall getExpression_TableConstructorParserRuleCall_7() { return cExpression_TableConstructorParserRuleCall_7; } //Expression_Functioncall public RuleCall getExpression_FunctioncallParserRuleCall_8() { return cExpression_FunctioncallParserRuleCall_8; } } public class Expression_NilElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Nil"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cNilKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cExpression_NilAction_1 = (Action)cGroup.eContents().get(1); //Expression_Nil: // "nil" {Expression_Nil}; @Override public ParserRule getRule() { return rule; } //"nil" {Expression_Nil} public Group getGroup() { return cGroup; } //"nil" public Keyword getNilKeyword_0() { return cNilKeyword_0; } //{Expression_Nil} public Action getExpression_NilAction_1() { return cExpression_NilAction_1; } } public class Expression_TrueElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_True"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTrueKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cExpression_TrueAction_1 = (Action)cGroup.eContents().get(1); //Expression_True: // "true" {Expression_True}; @Override public ParserRule getRule() { return rule; } //"true" {Expression_True} public Group getGroup() { return cGroup; } //"true" public Keyword getTrueKeyword_0() { return cTrueKeyword_0; } //{Expression_True} public Action getExpression_TrueAction_1() { return cExpression_TrueAction_1; } } public class Expression_FalseElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_False"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFalseKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cExpression_FalseAction_1 = (Action)cGroup.eContents().get(1); //Expression_False: // "false" {Expression_False}; @Override public ParserRule getRule() { return rule; } //"false" {Expression_False} public Group getGroup() { return cGroup; } //"false" public Keyword getFalseKeyword_0() { return cFalseKeyword_0; } //{Expression_False} public Action getExpression_FalseAction_1() { return cExpression_FalseAction_1; } } public class Expression_NumberElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Number"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueDOUBLETerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //Expression_Number: // value=DOUBLE; @Override public ParserRule getRule() { return rule; } //value=DOUBLE public Assignment getValueAssignment() { return cValueAssignment; } //DOUBLE public RuleCall getValueDOUBLETerminalRuleCall_0() { return cValueDOUBLETerminalRuleCall_0; } } public class Expression_VarArgsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_VarArgs"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFullStopFullStopFullStopKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cExpression_VarArgsAction_1 = (Action)cGroup.eContents().get(1); //Expression_VarArgs: // "..." {Expression_VarArgs}; @Override public ParserRule getRule() { return rule; } //"..." {Expression_VarArgs} public Group getGroup() { return cGroup; } //"..." public Keyword getFullStopFullStopFullStopKeyword_0() { return cFullStopFullStopFullStopKeyword_0; } //{Expression_VarArgs} public Action getExpression_VarArgsAction_1() { return cExpression_VarArgsAction_1; } } public class Expression_StringElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_String"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //Expression_String: // value=STRING; @Override public ParserRule getRule() { return rule; } //value=STRING public Assignment getValueAssignment() { return cValueAssignment; } //STRING public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } } public class Expression_FunctionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Function"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cFunctionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cFunctionFunctionParserRuleCall_1_0 = (RuleCall)cFunctionAssignment_1.eContents().get(0); private final Keyword cEndKeyword_2 = (Keyword)cGroup.eContents().get(2); //Expression_Function: // "function" function=Function "end"; @Override public ParserRule getRule() { return rule; } //"function" function=Function "end" public Group getGroup() { return cGroup; } //"function" public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; } //function=Function public Assignment getFunctionAssignment_1() { return cFunctionAssignment_1; } //Function public RuleCall getFunctionFunctionParserRuleCall_1_0() { return cFunctionFunctionParserRuleCall_1_0; } //"end" public Keyword getEndKeyword_2() { return cEndKeyword_2; } } public class Expression_TableConstructorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_TableConstructor"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cExpression_TableConstructorAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cFieldsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cFieldsFieldParserRuleCall_2_0_0 = (RuleCall)cFieldsAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Alternatives cAlternatives_2_1_0 = (Alternatives)cGroup_2_1.eContents().get(0); private final Keyword cCommaKeyword_2_1_0_0 = (Keyword)cAlternatives_2_1_0.eContents().get(0); private final Keyword cSemicolonKeyword_2_1_0_1 = (Keyword)cAlternatives_2_1_0.eContents().get(1); private final Assignment cFieldsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cFieldsFieldParserRuleCall_2_1_1_0 = (RuleCall)cFieldsAssignment_2_1_1.eContents().get(0); private final Alternatives cAlternatives_2_2 = (Alternatives)cGroup_2.eContents().get(2); private final Keyword cCommaKeyword_2_2_0 = (Keyword)cAlternatives_2_2.eContents().get(0); private final Keyword cSemicolonKeyword_2_2_1 = (Keyword)cAlternatives_2_2.eContents().get(1); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //Expression_TableConstructor: // "{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}"; @Override public ParserRule getRule() { return rule; } //"{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}" public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //{Expression_TableConstructor} public Action getExpression_TableConstructorAction_1() { return cExpression_TableConstructorAction_1; } //(fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? public Group getGroup_2() { return cGroup_2; } //fields+=Field public Assignment getFieldsAssignment_2_0() { return cFieldsAssignment_2_0; } //Field public RuleCall getFieldsFieldParserRuleCall_2_0_0() { return cFieldsFieldParserRuleCall_2_0_0; } //(("," | ";") fields+=Field)* public Group getGroup_2_1() { return cGroup_2_1; } //"," | ";" public Alternatives getAlternatives_2_1_0() { return cAlternatives_2_1_0; } //"," public Keyword getCommaKeyword_2_1_0_0() { return cCommaKeyword_2_1_0_0; } //";" public Keyword getSemicolonKeyword_2_1_0_1() { return cSemicolonKeyword_2_1_0_1; } //fields+=Field public Assignment getFieldsAssignment_2_1_1() { return cFieldsAssignment_2_1_1; } //Field public RuleCall getFieldsFieldParserRuleCall_2_1_1_0() { return cFieldsFieldParserRuleCall_2_1_1_0; } //("," | ";")? public Alternatives getAlternatives_2_2() { return cAlternatives_2_2; } //"," public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; } //";" public Keyword getSemicolonKeyword_2_2_1() { return cSemicolonKeyword_2_2_1; } //"}" public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class Expression_FunctioncallElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Functioncall"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_AccessMemberOrArrayElementParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cColonKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Action cExpression_CallMemberFunctionObjectAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); private final Assignment cMemberFunctionNameAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cMemberFunctionNameValidIDParserRuleCall_1_0_2_0 = (RuleCall)cMemberFunctionNameAssignment_1_0_2.eContents().get(0); private final Assignment cArgumentsAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0 = (RuleCall)cArgumentsAssignment_1_0_3.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cExpression_CallFunctionObjectAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Assignment cArgumentsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1); private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0 = (RuleCall)cArgumentsAssignment_1_1_1.eContents().get(0); //// Function calls, left associative, single call only, priority 9 //Expression_Functioncall returns Expression: // Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=ValidID // arguments=Functioncall_Arguments // Member-Funktionsaufruf // // Aufruf eines Funktionspointer: // | {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?; @Override public ParserRule getRule() { return rule; } //Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=ValidID //arguments=Functioncall_Arguments // Member-Funktionsaufruf //// Aufruf eines Funktionspointer: //| {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)? public Group getGroup() { return cGroup; } //Expression_AccessMemberOrArrayElement public RuleCall getExpression_AccessMemberOrArrayElementParserRuleCall_0() { return cExpression_AccessMemberOrArrayElementParserRuleCall_0; } //(=> ":" {Expression_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments // Member-Funktionsaufruf //// Aufruf eines Funktionspointer: //| {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)? public Alternatives getAlternatives_1() { return cAlternatives_1; } //=> ":" {Expression_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments public Group getGroup_1_0() { return cGroup_1_0; } //=> ":" public Keyword getColonKeyword_1_0_0() { return cColonKeyword_1_0_0; } //{Expression_CallMemberFunction.object=current} public Action getExpression_CallMemberFunctionObjectAction_1_0_1() { return cExpression_CallMemberFunctionObjectAction_1_0_1; } //memberFunctionName=ValidID public Assignment getMemberFunctionNameAssignment_1_0_2() { return cMemberFunctionNameAssignment_1_0_2; } //ValidID public RuleCall getMemberFunctionNameValidIDParserRuleCall_1_0_2_0() { return cMemberFunctionNameValidIDParserRuleCall_1_0_2_0; } //arguments=Functioncall_Arguments public Assignment getArgumentsAssignment_1_0_3() { return cArgumentsAssignment_1_0_3; } //Functioncall_Arguments public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0; } //{Expression_CallFunction.object=current} arguments=Functioncall_Arguments public Group getGroup_1_1() { return cGroup_1_1; } //{Expression_CallFunction.object=current} public Action getExpression_CallFunctionObjectAction_1_1_0() { return cExpression_CallFunctionObjectAction_1_1_0; } //arguments=Functioncall_Arguments public Assignment getArgumentsAssignment_1_1_1() { return cArgumentsAssignment_1_1_1; } //Functioncall_Arguments public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0; } } public class Expression_AccessMemberOrArrayElementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_AccessMemberOrArrayElement"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cExpression_VariableNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Action cExpression_AccessArrayArrayAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); private final Assignment cIndexAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cIndexExpressionParserRuleCall_1_0_2_0 = (RuleCall)cIndexAssignment_1_0_2.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Keyword cFullStopKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Action cExpression_AccessMemberObjectAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); private final Assignment cMemberNameAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cMemberNameValidIDParserRuleCall_1_1_2_0 = (RuleCall)cMemberNameAssignment_1_1_2.eContents().get(0); //// Access a member or array element, left associative, chaining possible, priority 10 //Expression_AccessMemberOrArrayElement returns Expression: // Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array // // Access a member variable using multiple parts separated by "." // | "." {Expression_AccessMember.object=current} memberName=ValidID)*; @Override public ParserRule getRule() { return rule; } //Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array //// Access a member variable using multiple parts separated by "." //| "." {Expression_AccessMember.object=current} memberName=ValidID)* public Group getGroup() { return cGroup; } //Expression_VariableName public RuleCall getExpression_VariableNameParserRuleCall_0() { return cExpression_VariableNameParserRuleCall_0; } //("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array //// Access a member variable using multiple parts separated by "." //| "." {Expression_AccessMember.object=current} memberName=ValidID)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //"[" {Expression_AccessArray.array=current} index=Expression "]" public Group getGroup_1_0() { return cGroup_1_0; } //"[" public Keyword getLeftSquareBracketKeyword_1_0_0() { return cLeftSquareBracketKeyword_1_0_0; } //{Expression_AccessArray.array=current} public Action getExpression_AccessArrayArrayAction_1_0_1() { return cExpression_AccessArrayArrayAction_1_0_1; } //index=Expression public Assignment getIndexAssignment_1_0_2() { return cIndexAssignment_1_0_2; } //Expression public RuleCall getIndexExpressionParserRuleCall_1_0_2_0() { return cIndexExpressionParserRuleCall_1_0_2_0; } //"]" public Keyword getRightSquareBracketKeyword_1_0_3() { return cRightSquareBracketKeyword_1_0_3; } //"." {Expression_AccessMember.object=current} memberName=ValidID public Group getGroup_1_1() { return cGroup_1_1; } //"." public Keyword getFullStopKeyword_1_1_0() { return cFullStopKeyword_1_1_0; } //{Expression_AccessMember.object=current} public Action getExpression_AccessMemberObjectAction_1_1_1() { return cExpression_AccessMemberObjectAction_1_1_1; } //memberName=ValidID public Assignment getMemberNameAssignment_1_1_2() { return cMemberNameAssignment_1_1_2; } //ValidID public RuleCall getMemberNameValidIDParserRuleCall_1_1_2_0() { return cMemberNameValidIDParserRuleCall_1_1_2_0; } } public class Expression_VariableNameElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_VariableName"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final RuleCall cExpressionParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cExpression_VariableNameAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cVariableAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cVariableValidIDParserRuleCall_1_1_0 = (RuleCall)cVariableAssignment_1_1.eContents().get(0); //// access a variable, terminal expression, priority 11 //// Delegate to top of expression rule chain for bracketed expressions //Expression_VariableName returns Expression: // "(" Expression ")" | {Expression_VariableName} variable=ValidID; @Override public ParserRule getRule() { return rule; } //"(" Expression ")" | {Expression_VariableName} variable=ValidID public Alternatives getAlternatives() { return cAlternatives; } //"(" Expression ")" public Group getGroup_0() { return cGroup_0; } //"(" public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; } //Expression public RuleCall getExpressionParserRuleCall_0_1() { return cExpressionParserRuleCall_0_1; } //")" public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; } //{Expression_VariableName} variable=ValidID public Group getGroup_1() { return cGroup_1; } //{Expression_VariableName} public Action getExpression_VariableNameAction_1_0() { return cExpression_VariableNameAction_1_0; } //variable=ValidID public Assignment getVariableAssignment_1_1() { return cVariableAssignment_1_1; } //ValidID public RuleCall getVariableValidIDParserRuleCall_1_1_0() { return cVariableValidIDParserRuleCall_1_1_0; } } public class FunctionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Assignment cParametersAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final RuleCall cParametersValidIDParserRuleCall_1_0_0 = (RuleCall)cParametersAssignment_1_0.eContents().get(0); private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); private final Assignment cParametersAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1); private final RuleCall cParametersValidIDParserRuleCall_1_1_1_0 = (RuleCall)cParametersAssignment_1_1_1.eContents().get(0); private final Keyword cCommaKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); private final Assignment cVarArgsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final Keyword cVarArgsFullStopFullStopFullStopKeyword_2_0 = (Keyword)cVarArgsAssignment_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cBodyBlockParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0); //// **************************************************** //// FUNCTIONS //// **************************************************** //Function: // "(" (parameters+=ValidID ("," parameters+=ValidID)* ","?)? varArgs?="..."? ")" body=Block; @Override public ParserRule getRule() { return rule; } //"(" (parameters+=ValidID ("," parameters+=ValidID)* ","?)? varArgs?="..."? ")" body=Block public Group getGroup() { return cGroup; } //"(" public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; } //(parameters+=ValidID ("," parameters+=ValidID)* ","?)? public Group getGroup_1() { return cGroup_1; } //parameters+=ValidID public Assignment getParametersAssignment_1_0() { return cParametersAssignment_1_0; } //ValidID public RuleCall getParametersValidIDParserRuleCall_1_0_0() { return cParametersValidIDParserRuleCall_1_0_0; } //("," parameters+=ValidID)* public Group getGroup_1_1() { return cGroup_1_1; } //"," public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; } //parameters+=ValidID public Assignment getParametersAssignment_1_1_1() { return cParametersAssignment_1_1_1; } //ValidID public RuleCall getParametersValidIDParserRuleCall_1_1_1_0() { return cParametersValidIDParserRuleCall_1_1_1_0; } //","? public Keyword getCommaKeyword_1_2() { return cCommaKeyword_1_2; } //varArgs?="..."? public Assignment getVarArgsAssignment_2() { return cVarArgsAssignment_2; } //"..." public Keyword getVarArgsFullStopFullStopFullStopKeyword_2_0() { return cVarArgsFullStopFullStopFullStopKeyword_2_0; } //")" public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } //body=Block public Assignment getBodyAssignment_4() { return cBodyAssignment_4; } //Block public RuleCall getBodyBlockParserRuleCall_4_0() { return cBodyBlockParserRuleCall_4_0; } } public class Functioncall_ArgumentsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Functioncall_Arguments"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cFunctioncall_ArgumentsAction_0 = (Action)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); private final Assignment cArgumentsAssignment_1_0_1_0 = (Assignment)cGroup_1_0_1.eContents().get(0); private final RuleCall cArgumentsExpressionParserRuleCall_1_0_1_0_0 = (RuleCall)cArgumentsAssignment_1_0_1_0.eContents().get(0); private final Group cGroup_1_0_1_1 = (Group)cGroup_1_0_1.eContents().get(1); private final Keyword cCommaKeyword_1_0_1_1_0 = (Keyword)cGroup_1_0_1_1.eContents().get(0); private final Assignment cArgumentsAssignment_1_0_1_1_1 = (Assignment)cGroup_1_0_1_1.eContents().get(1); private final RuleCall cArgumentsExpressionParserRuleCall_1_0_1_1_1_0 = (RuleCall)cArgumentsAssignment_1_0_1_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); private final Assignment cArgumentsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); private final RuleCall cArgumentsExpression_TableConstructorParserRuleCall_1_1_0 = (RuleCall)cArgumentsAssignment_1_1.eContents().get(0); private final Assignment cArgumentsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2); private final RuleCall cArgumentsExpression_StringParserRuleCall_1_2_0 = (RuleCall)cArgumentsAssignment_1_2.eContents().get(0); //// Some syntactic sugar: strings and field can be passed as parameters without bracket //Functioncall_Arguments: // {Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" | // arguments+=Expression_TableConstructor | arguments+=Expression_String); @Override public ParserRule getRule() { return rule; } //{Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" | //arguments+=Expression_TableConstructor | arguments+=Expression_String) public Group getGroup() { return cGroup; } //{Functioncall_Arguments} public Action getFunctioncall_ArgumentsAction_0() { return cFunctioncall_ArgumentsAction_0; } //"(" (arguments+=Expression ("," arguments+=Expression)*)? ")" | arguments+=Expression_TableConstructor | //arguments+=Expression_String public Alternatives getAlternatives_1() { return cAlternatives_1; } //"(" (arguments+=Expression ("," arguments+=Expression)*)? ")" public Group getGroup_1_0() { return cGroup_1_0; } //"(" public Keyword getLeftParenthesisKeyword_1_0_0() { return cLeftParenthesisKeyword_1_0_0; } //(arguments+=Expression ("," arguments+=Expression)*)? public Group getGroup_1_0_1() { return cGroup_1_0_1; } //arguments+=Expression public Assignment getArgumentsAssignment_1_0_1_0() { return cArgumentsAssignment_1_0_1_0; } //Expression public RuleCall getArgumentsExpressionParserRuleCall_1_0_1_0_0() { return cArgumentsExpressionParserRuleCall_1_0_1_0_0; } //("," arguments+=Expression)* public Group getGroup_1_0_1_1() { return cGroup_1_0_1_1; } //"," public Keyword getCommaKeyword_1_0_1_1_0() { return cCommaKeyword_1_0_1_1_0; } //arguments+=Expression public Assignment getArgumentsAssignment_1_0_1_1_1() { return cArgumentsAssignment_1_0_1_1_1; } //Expression public RuleCall getArgumentsExpressionParserRuleCall_1_0_1_1_1_0() { return cArgumentsExpressionParserRuleCall_1_0_1_1_1_0; } //")" public Keyword getRightParenthesisKeyword_1_0_2() { return cRightParenthesisKeyword_1_0_2; } //arguments+=Expression_TableConstructor public Assignment getArgumentsAssignment_1_1() { return cArgumentsAssignment_1_1; } //Expression_TableConstructor public RuleCall getArgumentsExpression_TableConstructorParserRuleCall_1_1_0() { return cArgumentsExpression_TableConstructorParserRuleCall_1_1_0; } //arguments+=Expression_String public Assignment getArgumentsAssignment_1_2() { return cArgumentsAssignment_1_2; } //Expression_String public RuleCall getArgumentsExpression_StringParserRuleCall_1_2_0() { return cArgumentsExpression_StringParserRuleCall_1_2_0; } } public class FieldElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cField_AddEntryToTable_BracketsParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cField_AddEntryToTableParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cField_AppendEntryToTableParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //// **************************************************** //// TABLES/FIELDS //// **************************************************** //Field: // Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable; @Override public ParserRule getRule() { return rule; } //Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable public Alternatives getAlternatives() { return cAlternatives; } //Field_AddEntryToTable_Brackets public RuleCall getField_AddEntryToTable_BracketsParserRuleCall_0() { return cField_AddEntryToTable_BracketsParserRuleCall_0; } //Field_AddEntryToTable public RuleCall getField_AddEntryToTableParserRuleCall_1() { return cField_AddEntryToTableParserRuleCall_1; } //Field_AppendEntryToTable public RuleCall getField_AppendEntryToTableParserRuleCall_2() { return cField_AppendEntryToTableParserRuleCall_2; } } public class Field_AddEntryToTable_BracketsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AddEntryToTable_Brackets"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cIndexExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cIndexExpressionExpressionParserRuleCall_1_0 = (RuleCall)cIndexExpressionAssignment_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Keyword cEqualsSignKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cValueAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cValueExpressionParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0); //// Each field of the form "[exp1] = exp2" adds to the new table an entry with key exp1 and value exp2 //Field_AddEntryToTable_Brackets: // "[" indexExpression=Expression "]" "=" value=Expression; @Override public ParserRule getRule() { return rule; } //"[" indexExpression=Expression "]" "=" value=Expression public Group getGroup() { return cGroup; } //"[" public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } //indexExpression=Expression public Assignment getIndexExpressionAssignment_1() { return cIndexExpressionAssignment_1; } //Expression public RuleCall getIndexExpressionExpressionParserRuleCall_1_0() { return cIndexExpressionExpressionParserRuleCall_1_0; } //"]" public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } //"=" public Keyword getEqualsSignKeyword_3() { return cEqualsSignKeyword_3; } //value=Expression public Assignment getValueAssignment_4() { return cValueAssignment_4; } //Expression public RuleCall getValueExpressionParserRuleCall_4_0() { return cValueExpressionParserRuleCall_4_0; } } public class Field_AddEntryToTableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AddEntryToTable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cKeyAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cKeyValidIDParserRuleCall_0_0 = (RuleCall)cKeyAssignment_0.eContents().get(0); private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); //// A field of the form "name = exp" is equivalent to ["name"] = exp //Field_AddEntryToTable: // key=ValidID "=" value=Expression; @Override public ParserRule getRule() { return rule; } //key=ValidID "=" value=Expression public Group getGroup() { return cGroup; } //key=ValidID public Assignment getKeyAssignment_0() { return cKeyAssignment_0; } //ValidID public RuleCall getKeyValidIDParserRuleCall_0_0() { return cKeyValidIDParserRuleCall_0_0; } //"=" public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } //value=Expression public Assignment getValueAssignment_2() { return cValueAssignment_2; } //Expression public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; } } public class Field_AppendEntryToTableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AppendEntryToTable"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueExpressionParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //// fields of the form "exp" are equivalent to [i] = exp //Field_AppendEntryToTable: // value=Expression; @Override public ParserRule getRule() { return rule; } //value=Expression public Assignment getValueAssignment() { return cValueAssignment; } //Expression public RuleCall getValueExpressionParserRuleCall_0() { return cValueExpressionParserRuleCall_0; } } private final SystemElements pSystem; private final DeviceElements pDevice; private final ServiceElements pService; private final ActivityElements pActivity; private final ActivityNodeElements pActivityNode; private final ActivityEdgeElements pActivityEdge; private final VariableElements pVariable; private final ValueElements pValue; private final OpaqueActionElements pOpaqueAction; private final InitialNodeElements pInitialNode; private final ActivityFinalNodeElements pActivityFinalNode; private final ForkNodeElements pForkNode; private final JoinNodeElements pJoinNode; private final MergeNodeElements pMergeNode; private final DecisionNodeElements pDecisionNode; private final IntegerVariableElements pIntegerVariable; private final BooleanVariableElements pBooleanVariable; private final BooleanValueElements pBooleanValue; private final IntegerValueElements pIntegerValue; private final EBooleanElements pEBoolean; private final ControlFlowElements pControlFlow; private final ChunkElements pChunk; private final BlockElements pBlock; private final LastStatementElements pLastStatement; private final LastStatement_ReturnElements pLastStatement_Return; private final LastStatement_BreakElements pLastStatement_Break; private final StatementElements pStatement; private final Statement_BlockElements pStatement_Block; private final Statement_WhileElements pStatement_While; private final Statement_RepeatElements pStatement_Repeat; private final Statement_If_Then_ElseElements pStatement_If_Then_Else; private final Statement_If_Then_Else_ElseIfPartElements pStatement_If_Then_Else_ElseIfPart; private final Statement_For_NumericElements pStatement_For_Numeric; private final Statement_For_GenericElements pStatement_For_Generic; private final Statement_GlobalFunction_DeclarationElements pStatement_GlobalFunction_Declaration; private final Statement_LocalFunction_DeclarationElements pStatement_LocalFunction_Declaration; private final Statement_Local_Variable_DeclarationElements pStatement_Local_Variable_Declaration; private final Statement_FunctioncallOrAssignmentElements pStatement_FunctioncallOrAssignment; private final ExpressionElements pExpression; private final Expression_OrElements pExpression_Or; private final Expression_AndElements pExpression_And; private final Expression_CompareElements pExpression_Compare; private final Expression_ConcatenationElements pExpression_Concatenation; private final Expression_PlusMinusElements pExpression_PlusMinus; private final Expression_MultiplicationDivisionModuloElements pExpression_MultiplicationDivisionModulo; private final Expression_UnaryElements pExpression_Unary; private final Expression_ExponentiationElements pExpression_Exponentiation; private final Expression_TerminalElements pExpression_Terminal; private final Expression_NilElements pExpression_Nil; private final Expression_TrueElements pExpression_True; private final Expression_FalseElements pExpression_False; private final Expression_NumberElements pExpression_Number; private final Expression_VarArgsElements pExpression_VarArgs; private final Expression_StringElements pExpression_String; private final Expression_FunctionElements pExpression_Function; private final Expression_TableConstructorElements pExpression_TableConstructor; private final Expression_FunctioncallElements pExpression_Functioncall; private final Expression_AccessMemberOrArrayElementElements pExpression_AccessMemberOrArrayElement; private final Expression_VariableNameElements pExpression_VariableName; private final FunctionElements pFunction; private final Functioncall_ArgumentsElements pFunctioncall_Arguments; private final FieldElements pField; private final Field_AddEntryToTable_BracketsElements pField_AddEntryToTable_Brackets; private final Field_AddEntryToTableElements pField_AddEntryToTable; private final Field_AppendEntryToTableElements pField_AppendEntryToTable; private final TerminalRule tDOUBLE; private final Grammar grammar; private final XbaseGrammarAccess gaXbase; @Inject public IoTGrammarAccess(GrammarProvider grammarProvider, XbaseGrammarAccess gaXbase) { this.grammar = internalFindGrammar(grammarProvider); this.gaXbase = gaXbase; this.pSystem = new SystemElements(); this.pDevice = new DeviceElements(); this.pService = new ServiceElements(); this.pActivity = new ActivityElements(); this.pActivityNode = new ActivityNodeElements(); this.pActivityEdge = new ActivityEdgeElements(); this.pVariable = new VariableElements(); this.pValue = new ValueElements(); this.pOpaqueAction = new OpaqueActionElements(); this.pInitialNode = new InitialNodeElements(); this.pActivityFinalNode = new ActivityFinalNodeElements(); this.pForkNode = new ForkNodeElements(); this.pJoinNode = new JoinNodeElements(); this.pMergeNode = new MergeNodeElements(); this.pDecisionNode = new DecisionNodeElements(); this.pIntegerVariable = new IntegerVariableElements(); this.pBooleanVariable = new BooleanVariableElements(); this.pBooleanValue = new BooleanValueElements(); this.pIntegerValue = new IntegerValueElements(); this.pEBoolean = new EBooleanElements(); this.pControlFlow = new ControlFlowElements(); this.pChunk = new ChunkElements(); this.pBlock = new BlockElements(); this.pLastStatement = new LastStatementElements(); this.pLastStatement_Return = new LastStatement_ReturnElements(); this.pLastStatement_Break = new LastStatement_BreakElements(); this.pStatement = new StatementElements(); this.pStatement_Block = new Statement_BlockElements(); this.pStatement_While = new Statement_WhileElements(); this.pStatement_Repeat = new Statement_RepeatElements(); this.pStatement_If_Then_Else = new Statement_If_Then_ElseElements(); this.pStatement_If_Then_Else_ElseIfPart = new Statement_If_Then_Else_ElseIfPartElements(); this.pStatement_For_Numeric = new Statement_For_NumericElements(); this.pStatement_For_Generic = new Statement_For_GenericElements(); this.pStatement_GlobalFunction_Declaration = new Statement_GlobalFunction_DeclarationElements(); this.pStatement_LocalFunction_Declaration = new Statement_LocalFunction_DeclarationElements(); this.pStatement_Local_Variable_Declaration = new Statement_Local_Variable_DeclarationElements(); this.pStatement_FunctioncallOrAssignment = new Statement_FunctioncallOrAssignmentElements(); this.pExpression = new ExpressionElements(); this.pExpression_Or = new Expression_OrElements(); this.pExpression_And = new Expression_AndElements(); this.pExpression_Compare = new Expression_CompareElements(); this.pExpression_Concatenation = new Expression_ConcatenationElements(); this.pExpression_PlusMinus = new Expression_PlusMinusElements(); this.pExpression_MultiplicationDivisionModulo = new Expression_MultiplicationDivisionModuloElements(); this.pExpression_Unary = new Expression_UnaryElements(); this.pExpression_Exponentiation = new Expression_ExponentiationElements(); this.pExpression_Terminal = new Expression_TerminalElements(); this.pExpression_Nil = new Expression_NilElements(); this.pExpression_True = new Expression_TrueElements(); this.pExpression_False = new Expression_FalseElements(); this.pExpression_Number = new Expression_NumberElements(); this.pExpression_VarArgs = new Expression_VarArgsElements(); this.pExpression_String = new Expression_StringElements(); this.pExpression_Function = new Expression_FunctionElements(); this.pExpression_TableConstructor = new Expression_TableConstructorElements(); this.pExpression_Functioncall = new Expression_FunctioncallElements(); this.pExpression_AccessMemberOrArrayElement = new Expression_AccessMemberOrArrayElementElements(); this.pExpression_VariableName = new Expression_VariableNameElements(); this.pFunction = new FunctionElements(); this.pFunctioncall_Arguments = new Functioncall_ArgumentsElements(); this.pField = new FieldElements(); this.pField_AddEntryToTable_Brackets = new Field_AddEntryToTable_BracketsElements(); this.pField_AddEntryToTable = new Field_AddEntryToTableElements(); this.pField_AppendEntryToTable = new Field_AppendEntryToTableElements(); this.tDOUBLE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "DOUBLE"); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("fr.inria.diverse.iot.xtext.IoT".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } @Override public Grammar getGrammar() { return grammar; } public XbaseGrammarAccess getXbaseGrammarAccess() { return gaXbase; } //System returns EPackage: // "system" name=ValidID "{" eClassifiers+=Device* "}"; public SystemElements getSystemAccess() { return pSystem; } public ParserRule getSystemRule() { return getSystemAccess().getRule(); } //Device returns EClass: // "device" name=ValidID "{" eOperations+=Service* "}"; public DeviceElements getDeviceAccess() { return pDevice; } public ParserRule getDeviceRule() { return getDeviceAccess().getRule(); } //Service returns EOperation: // "service" name=ValidID "{" activity=Activity "}"; public ServiceElements getServiceAccess() { return pService; } public ParserRule getServiceRule() { return getServiceAccess().getRule(); } //Activity: // {Activity} "activity" name=ValidID ("(" inputs+=Variable ("," inputs+=Variable)* ")")? "{" (locals+=Variable ("," // locals+=Variable)*)? ("nodes" "{" nodes+=ActivityNode ("," nodes+=ActivityNode)* "}")? ("edges" "{" // edges+=ActivityEdge ("," edges+=ActivityEdge)* "}")? "}"; public ActivityElements getActivityAccess() { return pActivity; } public ParserRule getActivityRule() { return getActivityAccess().getRule(); } //ActivityNode: // OpaqueAction | InitialNode | ActivityFinalNode | ForkNode | JoinNode | MergeNode | DecisionNode; public ActivityNodeElements getActivityNodeAccess() { return pActivityNode; } public ParserRule getActivityNodeRule() { return getActivityNodeAccess().getRule(); } //ActivityEdge: // ControlFlow; public ActivityEdgeElements getActivityEdgeAccess() { return pActivityEdge; } public ParserRule getActivityEdgeRule() { return getActivityEdgeAccess().getRule(); } //Variable: // IntegerVariable | BooleanVariable; public VariableElements getVariableAccess() { return pVariable; } public ParserRule getVariableRule() { return getVariableAccess().getRule(); } //Value: // BooleanValue | IntegerValue; public ValueElements getValueAccess() { return pValue; } public ParserRule getValueRule() { return getValueAccess().getRule(); } //OpaqueAction: // {OpaqueAction} "luaAction" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? // ("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")")? ("{" lua=Block "}")?; public OpaqueActionElements getOpaqueActionAccess() { return pOpaqueAction; } public ParserRule getOpaqueActionRule() { return getOpaqueActionAccess().getRule(); } //InitialNode: // {InitialNode} "initial" name=ValidID ("out" "(" outgoing+=[ActivityEdge] ("," outgoing+=[ActivityEdge])* ")"); public InitialNodeElements getInitialNodeAccess() { return pInitialNode; } public ParserRule getInitialNodeRule() { return getInitialNodeAccess().getRule(); } //ActivityFinalNode: // {ActivityFinalNode} "final" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")"); public ActivityFinalNodeElements getActivityFinalNodeAccess() { return pActivityFinalNode; } public ParserRule getActivityFinalNodeRule() { return getActivityFinalNodeAccess().getRule(); } //ForkNode: // {ForkNode} "fork" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] ("," // outgoing+=[ActivityEdge])* ")")?; public ForkNodeElements getForkNodeAccess() { return pForkNode; } public ParserRule getForkNodeRule() { return getForkNodeAccess().getRule(); } //JoinNode: // {JoinNode} "join" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" // outgoing+=[ActivityEdge] ")"); public JoinNodeElements getJoinNodeAccess() { return pJoinNode; } public ParserRule getJoinNodeRule() { return getJoinNodeAccess().getRule(); } //MergeNode: // {MergeNode} "merge" name=ValidID ("in" "(" incoming+=[ActivityEdge] ("," incoming+=[ActivityEdge])* ")")? ("out" "(" // outgoing+=[ActivityEdge] ")"); public MergeNodeElements getMergeNodeAccess() { return pMergeNode; } public ParserRule getMergeNodeRule() { return getMergeNodeAccess().getRule(); } //DecisionNode: // {DecisionNode} "decision" name=ValidID ("in" "(" incoming+=[ActivityEdge] ")") ("out" "(" outgoing+=[ActivityEdge] // ("," outgoing+=[ActivityEdge])* ")")?; public DecisionNodeElements getDecisionNodeAccess() { return pDecisionNode; } public ParserRule getDecisionNodeRule() { return getDecisionNodeAccess().getRule(); } //IntegerVariable: // {IntegerVariable} "int" name=ValidID ("=" initialValue=Value)?; public IntegerVariableElements getIntegerVariableAccess() { return pIntegerVariable; } public ParserRule getIntegerVariableRule() { return getIntegerVariableAccess().getRule(); } //BooleanVariable: // {BooleanVariable} "bool" name=ValidID ("=" initialValue=Value)?; public BooleanVariableElements getBooleanVariableAccess() { return pBooleanVariable; } public ParserRule getBooleanVariableRule() { return getBooleanVariableAccess().getRule(); } //BooleanValue: // value=EBoolean; public BooleanValueElements getBooleanValueAccess() { return pBooleanValue; } public ParserRule getBooleanValueRule() { return getBooleanValueAccess().getRule(); } //IntegerValue: // value=INT; public IntegerValueElements getIntegerValueAccess() { return pIntegerValue; } public ParserRule getIntegerValueRule() { return getIntegerValueAccess().getRule(); } //EBoolean returns ecore::EBoolean: // "true" | "false"; public EBooleanElements getEBooleanAccess() { return pEBoolean; } public ParserRule getEBooleanRule() { return getEBooleanAccess().getRule(); } //ControlFlow: // "flow" name=ValidID "from" source=[ActivityNode] "to" target=[ActivityNode] ("[" guard=[BooleanVariable] "]")?; public ControlFlowElements getControlFlowAccess() { return pControlFlow; } public ParserRule getControlFlowRule() { return getControlFlowAccess().getRule(); } //Chunk: // Block; public ChunkElements getChunkAccess() { return pChunk; } public ParserRule getChunkRule() { return getChunkAccess().getRule(); } //Block: // {Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)?; public BlockElements getBlockAccess() { return pBlock; } public ParserRule getBlockRule() { return getBlockAccess().getRule(); } //// **************************************************** //// LAST STATEMENT //// **************************************************** //LastStatement: // LastStatement_Return | LastStatement_Break; public LastStatementElements getLastStatementAccess() { return pLastStatement; } public ParserRule getLastStatementRule() { return getLastStatementAccess().getRule(); } //// The return statement is used to return values from a function or a chunk //LastStatement_Return: // "return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)?; public LastStatement_ReturnElements getLastStatement_ReturnAccess() { return pLastStatement_Return; } public ParserRule getLastStatement_ReturnRule() { return getLastStatement_ReturnAccess().getRule(); } //// The break statement is used to terminate the execution of a while, repeat, or for loop, skipping to the next statement after the loop //LastStatement_Break: // "break" {LastStatement_Break}; public LastStatement_BreakElements getLastStatement_BreakAccess() { return pLastStatement_Break; } public ParserRule getLastStatement_BreakRule() { return getLastStatement_BreakAccess().getRule(); } //// **************************************************** //// STATEMENT //// **************************************************** //Statement: // Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric | // Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration | // Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment; public StatementElements getStatementAccess() { return pStatement; } public ParserRule getStatementRule() { return getStatementAccess().getRule(); } //// A block can be explicitly delimited to produce a single statement. "do ... end" //Statement_Block: // "do" block=Block "end"; public Statement_BlockElements getStatement_BlockAccess() { return pStatement_Block; } public ParserRule getStatement_BlockRule() { return getStatement_BlockAccess().getRule(); } //// Control structure. "while ... do ... end" //Statement_While: // "while" expression=Expression "do" block=Block "end"; public Statement_WhileElements getStatement_WhileAccess() { return pStatement_While; } public ParserRule getStatement_WhileRule() { return getStatement_WhileAccess().getRule(); } //// Control structure. "repeat ... until ..." //Statement_Repeat: // "repeat" block=Block "until" expression=Expression; public Statement_RepeatElements getStatement_RepeatAccess() { return pStatement_Repeat; } public ParserRule getStatement_RepeatRule() { return getStatement_RepeatAccess().getRule(); } //// Control structure. "if ... then ... elseif ... elseif ... else ... end" //Statement_If_Then_Else: // "if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)? // "end"; public Statement_If_Then_ElseElements getStatement_If_Then_ElseAccess() { return pStatement_If_Then_Else; } public ParserRule getStatement_If_Then_ElseRule() { return getStatement_If_Then_ElseAccess().getRule(); } //Statement_If_Then_Else_ElseIfPart: // "elseif" elseifExpression=Expression "then" elseifBlock=Block; public Statement_If_Then_Else_ElseIfPartElements getStatement_If_Then_Else_ElseIfPartAccess() { return pStatement_If_Then_Else_ElseIfPart; } public ParserRule getStatement_If_Then_Else_ElseIfPartRule() { return getStatement_If_Then_Else_ElseIfPartAccess().getRule(); } //// The numeric for loop repeats a block of code while a control variable runs through an arithmetic progression "for ...=..., ... [,...] do ... end" //Statement_For_Numeric: // "for" iteratorName=ValidID "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do" // block=Block "end"; public Statement_For_NumericElements getStatement_For_NumericAccess() { return pStatement_For_Numeric; } public ParserRule getStatement_For_NumericRule() { return getStatement_For_NumericAccess().getRule(); } //// The generic for statement works over functions, called iterators. On each iteration, the iterator function is called to produce a new value, stopping when this new value is nil "for ... in ... do ... end" //Statement_For_Generic: // "for" names+=ValidID ("," names+=ValidID)* "in" expressions+=Expression ("," expressions+=Expression)* "do" // block=Block "end"; public Statement_For_GenericElements getStatement_For_GenericAccess() { return pStatement_For_Generic; } public ParserRule getStatement_For_GenericRule() { return getStatement_For_GenericAccess().getRule(); } //Statement_GlobalFunction_Declaration: // "function" prefix+=ValidID ("." prefix+=ValidID)* (":" functionName=ValidID)? function=Function "end"; public Statement_GlobalFunction_DeclarationElements getStatement_GlobalFunction_DeclarationAccess() { return pStatement_GlobalFunction_Declaration; } public ParserRule getStatement_GlobalFunction_DeclarationRule() { return getStatement_GlobalFunction_DeclarationAccess().getRule(); } //Statement_LocalFunction_Declaration: // "local" "function" functionName=ValidID function=Function "end"; public Statement_LocalFunction_DeclarationElements getStatement_LocalFunction_DeclarationAccess() { return pStatement_LocalFunction_Declaration; } public ParserRule getStatement_LocalFunction_DeclarationRule() { return getStatement_LocalFunction_DeclarationAccess().getRule(); } //// Local variables can be declared anywhere inside a block. The declaration can include an initial assignment "local ... [= ...]" //Statement_Local_Variable_Declaration: // "local" variableNames+=ValidID ("," variableNames+=ValidID)* ("=" initialValue+=Expression ("," // initialValue+=Expression)*)?; public Statement_Local_Variable_DeclarationElements getStatement_Local_Variable_DeclarationAccess() { return pStatement_Local_Variable_Declaration; } public ParserRule getStatement_Local_Variable_DeclarationRule() { return getStatement_Local_Variable_DeclarationAccess().getRule(); } //Statement_FunctioncallOrAssignment: // Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} ("," // variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment // // Call of a member function // // Call of a function pointer // | ":" {Statement_CallMemberFunction.object=current} memberFunctionName=ValidID arguments=Functioncall_Arguments | // {Statement_CallFunction.object=current} arguments=Functioncall_Arguments); public Statement_FunctioncallOrAssignmentElements getStatement_FunctioncallOrAssignmentAccess() { return pStatement_FunctioncallOrAssignment; } public ParserRule getStatement_FunctioncallOrAssignmentRule() { return getStatement_FunctioncallOrAssignmentAccess().getRule(); } //// **************************************************** //// EXPRESSIONS //// **************************************************** //// Delegate to the priority chain of operators by calling the rule for the lowest priority operator //Expression: // Expression_Or; public ExpressionElements getExpressionAccess() { return pExpression; } public ParserRule getExpressionRule() { return getExpressionAccess().getRule(); } //// Or: left associative, priority 0 //Expression_Or returns Expression: // Expression_And ("or" {Expression_Or.left=current} right=Expression_And)*; public Expression_OrElements getExpression_OrAccess() { return pExpression_Or; } public ParserRule getExpression_OrRule() { return getExpression_OrAccess().getRule(); } //// And: left associative, priority 1 //Expression_And returns Expression: // Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)*; public Expression_AndElements getExpression_AndAccess() { return pExpression_And; } public ParserRule getExpression_AndRule() { return getExpression_AndAccess().getRule(); } //// Comparisons: left associative, priority 2 //Expression_Compare returns Expression: // Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">=" // {Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current} // right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "==" // {Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current} // right=Expression_Concatenation)*; public Expression_CompareElements getExpression_CompareAccess() { return pExpression_Compare; } public ParserRule getExpression_CompareRule() { return getExpression_CompareAccess().getRule(); } //// Concatenation: right associative, priority 3 //Expression_Concatenation returns Expression: // Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?; public Expression_ConcatenationElements getExpression_ConcatenationAccess() { return pExpression_Concatenation; } public ParserRule getExpression_ConcatenationRule() { return getExpression_ConcatenationAccess().getRule(); } //// addition/subtraction: left associative, priority 4 //Expression_PlusMinus returns Expression: // Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current} // right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current} // right=Expression_MultiplicationDivisionModulo)*; public Expression_PlusMinusElements getExpression_PlusMinusAccess() { return pExpression_PlusMinus; } public ParserRule getExpression_PlusMinusRule() { return getExpression_PlusMinusAccess().getRule(); } //// multiplication/division, left associative, priority 5 //Expression_MultiplicationDivisionModulo returns Expression: // Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/" // {Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current} // right=Expression_Unary)*; public Expression_MultiplicationDivisionModuloElements getExpression_MultiplicationDivisionModuloAccess() { return pExpression_MultiplicationDivisionModulo; } public ParserRule getExpression_MultiplicationDivisionModuloRule() { return getExpression_MultiplicationDivisionModuloAccess().getRule(); } //// Unary operators: right associative, priority 6 //Expression_Unary returns Expression: // Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length} // exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary; public Expression_UnaryElements getExpression_UnaryAccess() { return pExpression_Unary; } public ParserRule getExpression_UnaryRule() { return getExpression_UnaryAccess().getRule(); } //// exponentiation: right associative, priority 7 //Expression_Exponentiation returns Expression: // Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?; public Expression_ExponentiationElements getExpression_ExponentiationAccess() { return pExpression_Exponentiation; } public ParserRule getExpression_ExponentiationRule() { return getExpression_ExponentiationAccess().getRule(); } //Expression_Terminal returns Expression: // Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String | // Expression_Function | Expression_TableConstructor | Expression_Functioncall; public Expression_TerminalElements getExpression_TerminalAccess() { return pExpression_Terminal; } public ParserRule getExpression_TerminalRule() { return getExpression_TerminalAccess().getRule(); } //Expression_Nil: // "nil" {Expression_Nil}; public Expression_NilElements getExpression_NilAccess() { return pExpression_Nil; } public ParserRule getExpression_NilRule() { return getExpression_NilAccess().getRule(); } //Expression_True: // "true" {Expression_True}; public Expression_TrueElements getExpression_TrueAccess() { return pExpression_True; } public ParserRule getExpression_TrueRule() { return getExpression_TrueAccess().getRule(); } //Expression_False: // "false" {Expression_False}; public Expression_FalseElements getExpression_FalseAccess() { return pExpression_False; } public ParserRule getExpression_FalseRule() { return getExpression_FalseAccess().getRule(); } //Expression_Number: // value=DOUBLE; public Expression_NumberElements getExpression_NumberAccess() { return pExpression_Number; } public ParserRule getExpression_NumberRule() { return getExpression_NumberAccess().getRule(); } //Expression_VarArgs: // "..." {Expression_VarArgs}; public Expression_VarArgsElements getExpression_VarArgsAccess() { return pExpression_VarArgs; } public ParserRule getExpression_VarArgsRule() { return getExpression_VarArgsAccess().getRule(); } //Expression_String: // value=STRING; public Expression_StringElements getExpression_StringAccess() { return pExpression_String; } public ParserRule getExpression_StringRule() { return getExpression_StringAccess().getRule(); } //Expression_Function: // "function" function=Function "end"; public Expression_FunctionElements getExpression_FunctionAccess() { return pExpression_Function; } public ParserRule getExpression_FunctionRule() { return getExpression_FunctionAccess().getRule(); } //Expression_TableConstructor: // "{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}"; public Expression_TableConstructorElements getExpression_TableConstructorAccess() { return pExpression_TableConstructor; } public ParserRule getExpression_TableConstructorRule() { return getExpression_TableConstructorAccess().getRule(); } //// Function calls, left associative, single call only, priority 9 //Expression_Functioncall returns Expression: // Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=ValidID // arguments=Functioncall_Arguments // Member-Funktionsaufruf // // Aufruf eines Funktionspointer: // | {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?; public Expression_FunctioncallElements getExpression_FunctioncallAccess() { return pExpression_Functioncall; } public ParserRule getExpression_FunctioncallRule() { return getExpression_FunctioncallAccess().getRule(); } //// Access a member or array element, left associative, chaining possible, priority 10 //Expression_AccessMemberOrArrayElement returns Expression: // Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array // // Access a member variable using multiple parts separated by "." // | "." {Expression_AccessMember.object=current} memberName=ValidID)*; public Expression_AccessMemberOrArrayElementElements getExpression_AccessMemberOrArrayElementAccess() { return pExpression_AccessMemberOrArrayElement; } public ParserRule getExpression_AccessMemberOrArrayElementRule() { return getExpression_AccessMemberOrArrayElementAccess().getRule(); } //// access a variable, terminal expression, priority 11 //// Delegate to top of expression rule chain for bracketed expressions //Expression_VariableName returns Expression: // "(" Expression ")" | {Expression_VariableName} variable=ValidID; public Expression_VariableNameElements getExpression_VariableNameAccess() { return pExpression_VariableName; } public ParserRule getExpression_VariableNameRule() { return getExpression_VariableNameAccess().getRule(); } //// **************************************************** //// FUNCTIONS //// **************************************************** //Function: // "(" (parameters+=ValidID ("," parameters+=ValidID)* ","?)? varArgs?="..."? ")" body=Block; public FunctionElements getFunctionAccess() { return pFunction; } public ParserRule getFunctionRule() { return getFunctionAccess().getRule(); } //// Some syntactic sugar: strings and field can be passed as parameters without bracket //Functioncall_Arguments: // {Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" | // arguments+=Expression_TableConstructor | arguments+=Expression_String); public Functioncall_ArgumentsElements getFunctioncall_ArgumentsAccess() { return pFunctioncall_Arguments; } public ParserRule getFunctioncall_ArgumentsRule() { return getFunctioncall_ArgumentsAccess().getRule(); } //// **************************************************** //// TABLES/FIELDS //// **************************************************** //Field: // Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable; public FieldElements getFieldAccess() { return pField; } public ParserRule getFieldRule() { return getFieldAccess().getRule(); } //// Each field of the form "[exp1] = exp2" adds to the new table an entry with key exp1 and value exp2 //Field_AddEntryToTable_Brackets: // "[" indexExpression=Expression "]" "=" value=Expression; public Field_AddEntryToTable_BracketsElements getField_AddEntryToTable_BracketsAccess() { return pField_AddEntryToTable_Brackets; } public ParserRule getField_AddEntryToTable_BracketsRule() { return getField_AddEntryToTable_BracketsAccess().getRule(); } //// A field of the form "name = exp" is equivalent to ["name"] = exp //Field_AddEntryToTable: // key=ValidID "=" value=Expression; public Field_AddEntryToTableElements getField_AddEntryToTableAccess() { return pField_AddEntryToTable; } public ParserRule getField_AddEntryToTableRule() { return getField_AddEntryToTableAccess().getRule(); } //// fields of the form "exp" are equivalent to [i] = exp //Field_AppendEntryToTable: // value=Expression; public Field_AppendEntryToTableElements getField_AppendEntryToTableAccess() { return pField_AppendEntryToTable; } public ParserRule getField_AppendEntryToTableRule() { return getField_AppendEntryToTableAccess().getRule(); } //terminal DOUBLE returns ecore::EDouble: // "0".."9" ("0".."9" | "_")*; public TerminalRule getDOUBLERule() { return tDOUBLE; } //XExpression: // XAssignment; public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() { return gaXbase.getXExpressionAccess(); } public ParserRule getXExpressionRule() { return getXExpressionAccess().getRule(); } //XAssignment returns XExpression: // {XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | XOrExpression // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) // rightOperand=XAssignment)?; public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() { return gaXbase.getXAssignmentAccess(); } public ParserRule getXAssignmentRule() { return getXAssignmentAccess().getRule(); } //OpSingleAssign: // "="; public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() { return gaXbase.getOpSingleAssignAccess(); } public ParserRule getOpSingleAssignRule() { return getOpSingleAssignAccess().getRule(); } //OpMultiAssign: // "+=" | "-=" | "*=" | "/=" | "%=" | "<" "<" "=" | ">" ">"? ">="; public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() { return gaXbase.getOpMultiAssignAccess(); } public ParserRule getOpMultiAssignRule() { return getOpMultiAssignAccess().getRule(); } //XOrExpression returns XExpression: // XAndExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) // rightOperand=XAndExpression)*; public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() { return gaXbase.getXOrExpressionAccess(); } public ParserRule getXOrExpressionRule() { return getXOrExpressionAccess().getRule(); } //OpOr: // "||"; public XbaseGrammarAccess.OpOrElements getOpOrAccess() { return gaXbase.getOpOrAccess(); } public ParserRule getOpOrRule() { return getOpOrAccess().getRule(); } //XAndExpression returns XExpression: // XEqualityExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) // rightOperand=XEqualityExpression)*; public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() { return gaXbase.getXAndExpressionAccess(); } public ParserRule getXAndExpressionRule() { return getXAndExpressionAccess().getRule(); } //OpAnd: // "&&"; public XbaseGrammarAccess.OpAndElements getOpAndAccess() { return gaXbase.getOpAndAccess(); } public ParserRule getOpAndRule() { return getOpAndAccess().getRule(); } //XEqualityExpression returns XExpression: // XRelationalExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) // rightOperand=XRelationalExpression)*; public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() { return gaXbase.getXEqualityExpressionAccess(); } public ParserRule getXEqualityExpressionRule() { return getXEqualityExpressionAccess().getRule(); } //OpEquality: // "==" | "!=" | "===" | "!=="; public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() { return gaXbase.getOpEqualityAccess(); } public ParserRule getOpEqualityRule() { return getOpEqualityAccess().getRule(); } //XRelationalExpression returns XExpression: // XOtherOperatorExpression (=> ({XInstanceOfExpression.expression=current} "instanceof") type=JvmTypeReference | => // ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) // rightOperand=XOtherOperatorExpression)*; public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() { return gaXbase.getXRelationalExpressionAccess(); } public ParserRule getXRelationalExpressionRule() { return getXRelationalExpressionAccess().getRule(); } //OpCompare: // ">=" | "<" "=" | ">" | "<"; public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() { return gaXbase.getOpCompareAccess(); } public ParserRule getOpCompareRule() { return getOpCompareAccess().getRule(); } //XOtherOperatorExpression returns XExpression: // XAdditiveExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) // rightOperand=XAdditiveExpression)*; public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() { return gaXbase.getXOtherOperatorExpressionAccess(); } public ParserRule getXOtherOperatorExpressionRule() { return getXOtherOperatorExpressionAccess().getRule(); } //OpOther: // "->" | "..<" | ">" ".." | ".." | "=>" | ">" (=> (">" ">") | ">") | "<" (=> ("<" "<") | "<" | "=>") | "<>" | "?:"; public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() { return gaXbase.getOpOtherAccess(); } public ParserRule getOpOtherRule() { return getOpOtherAccess().getRule(); } //XAdditiveExpression returns XExpression: // XMultiplicativeExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) // rightOperand=XMultiplicativeExpression)*; public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() { return gaXbase.getXAdditiveExpressionAccess(); } public ParserRule getXAdditiveExpressionRule() { return getXAdditiveExpressionAccess().getRule(); } //OpAdd: // "+" | "-"; public XbaseGrammarAccess.OpAddElements getOpAddAccess() { return gaXbase.getOpAddAccess(); } public ParserRule getOpAddRule() { return getOpAddAccess().getRule(); } //XMultiplicativeExpression returns XExpression: // XUnaryOperation (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) // rightOperand=XUnaryOperation)*; public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() { return gaXbase.getXMultiplicativeExpressionAccess(); } public ParserRule getXMultiplicativeExpressionRule() { return getXMultiplicativeExpressionAccess().getRule(); } //OpMulti: // "*" | "**" | "/" | "%"; public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() { return gaXbase.getOpMultiAccess(); } public ParserRule getOpMultiRule() { return getOpMultiAccess().getRule(); } //XUnaryOperation returns XExpression: // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation | XCastedExpression; public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() { return gaXbase.getXUnaryOperationAccess(); } public ParserRule getXUnaryOperationRule() { return getXUnaryOperationAccess().getRule(); } //OpUnary: // "!" | "-" | "+"; public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() { return gaXbase.getOpUnaryAccess(); } public ParserRule getOpUnaryRule() { return getOpUnaryAccess().getRule(); } //XCastedExpression returns XExpression: // XPostfixOperation (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)*; public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() { return gaXbase.getXCastedExpressionAccess(); } public ParserRule getXCastedExpressionRule() { return getXCastedExpressionAccess().getRule(); } //XPostfixOperation returns XExpression: // XMemberFeatureCall => ({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])?; public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() { return gaXbase.getXPostfixOperationAccess(); } public ParserRule getXPostfixOperationRule() { return getXPostfixOperationAccess().getRule(); } //OpPostfix: // "++" | "--"; public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() { return gaXbase.getOpPostfixAccess(); } public ParserRule getOpPostfixRule() { return getOpPostfixAccess().getRule(); } //XMemberFeatureCall returns XExpression: // XPrimaryExpression (=> ({XAssignment.assignable=current} ("." | explicitStatic?="::") // feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment | => // ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | explicitStatic?="::")) ("<" // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? // feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | // memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")? memberCallArguments+=XClosure?)*; public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() { return gaXbase.getXMemberFeatureCallAccess(); } public ParserRule getXMemberFeatureCallRule() { return getXMemberFeatureCallAccess().getRule(); } //XPrimaryExpression returns XExpression: // XConstructorCall | XBlockExpression | XSwitchExpression | XSynchronizedExpression | XFeatureCall | XLiteral | // XIfExpression | XForLoopExpression | XBasicForLoopExpression | XWhileExpression | XDoWhileExpression | // XThrowExpression | XReturnExpression | XTryCatchFinallyExpression | XParenthesizedExpression; public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() { return gaXbase.getXPrimaryExpressionAccess(); } public ParserRule getXPrimaryExpressionRule() { return getXPrimaryExpressionAccess().getRule(); } //XLiteral returns XExpression: // XCollectionLiteral | XClosure | XBooleanLiteral | XNumberLiteral | XNullLiteral | XStringLiteral | XTypeLiteral; public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() { return gaXbase.getXLiteralAccess(); } public ParserRule getXLiteralRule() { return getXLiteralAccess().getRule(); } //XCollectionLiteral: // XSetLiteral | XListLiteral; public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() { return gaXbase.getXCollectionLiteralAccess(); } public ParserRule getXCollectionLiteralRule() { return getXCollectionLiteralAccess().getRule(); } //XSetLiteral: // {XSetLiteral} "#" "{" (elements+=XExpression ("," elements+=XExpression)*)? "}"; public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() { return gaXbase.getXSetLiteralAccess(); } public ParserRule getXSetLiteralRule() { return getXSetLiteralAccess().getRule(); } //XListLiteral: // {XListLiteral} "#" "[" (elements+=XExpression ("," elements+=XExpression)*)? "]"; public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() { return gaXbase.getXListLiteralAccess(); } public ParserRule getXListLiteralRule() { return getXListLiteralAccess().getRule(); } //XClosure returns XExpression: // => ({XClosure} "[") => ((declaredFormalParameters+=JvmFormalParameter ("," // declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?="|")? expression=XExpressionInClosure "]"; public XbaseGrammarAccess.XClosureElements getXClosureAccess() { return gaXbase.getXClosureAccess(); } public ParserRule getXClosureRule() { return getXClosureAccess().getRule(); } //XExpressionInClosure returns XExpression: // {XBlockExpression} (expressions+=XExpressionOrVarDeclaration ";"?)*; public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() { return gaXbase.getXExpressionInClosureAccess(); } public ParserRule getXExpressionInClosureRule() { return getXExpressionInClosureAccess().getRule(); } //XShortClosure returns XExpression: // => ({XClosure} (declaredFormalParameters+=JvmFormalParameter ("," declaredFormalParameters+=JvmFormalParameter)*)? // explicitSyntax?="|") expression=XExpression; public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() { return gaXbase.getXShortClosureAccess(); } public ParserRule getXShortClosureRule() { return getXShortClosureAccess().getRule(); } //XParenthesizedExpression returns XExpression: // "(" XExpression ")"; public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() { return gaXbase.getXParenthesizedExpressionAccess(); } public ParserRule getXParenthesizedExpressionRule() { return getXParenthesizedExpressionAccess().getRule(); } //XIfExpression returns XExpression: // {XIfExpression} "if" "(" if=XExpression ")" then=XExpression ("else" else=XExpression)?; public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() { return gaXbase.getXIfExpressionAccess(); } public ParserRule getXIfExpressionRule() { return getXIfExpressionAccess().getRule(); } //XSwitchExpression returns XExpression: // {XSwitchExpression} "switch" (=> ("(" declaredParam=JvmFormalParameter ":") switch=XExpression ")" | => // (declaredParam=JvmFormalParameter ":")? switch=XExpression) "{" cases+=XCasePart* ("default" ":" default=XExpression)? // "}"; public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() { return gaXbase.getXSwitchExpressionAccess(); } public ParserRule getXSwitchExpressionRule() { return getXSwitchExpressionAccess().getRule(); } //XCasePart: // {XCasePart} typeGuard=JvmTypeReference? ("case" case=XExpression)? (":" then=XExpression | fallThrough?=","); public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() { return gaXbase.getXCasePartAccess(); } public ParserRule getXCasePartRule() { return getXCasePartAccess().getRule(); } //XForLoopExpression returns XExpression: // => ({XForLoopExpression} "for" "(" declaredParam=JvmFormalParameter ":") forExpression=XExpression ")" // eachExpression=XExpression; public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() { return gaXbase.getXForLoopExpressionAccess(); } public ParserRule getXForLoopExpressionRule() { return getXForLoopExpressionAccess().getRule(); } //XBasicForLoopExpression returns XExpression: // {XBasicForLoopExpression} "for" "(" (initExpressions+=XExpressionOrVarDeclaration ("," // initExpressions+=XExpressionOrVarDeclaration)*)? ";" expression=XExpression? ";" (updateExpressions+=XExpression ("," // updateExpressions+=XExpression)*)? ")" eachExpression=XExpression; public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() { return gaXbase.getXBasicForLoopExpressionAccess(); } public ParserRule getXBasicForLoopExpressionRule() { return getXBasicForLoopExpressionAccess().getRule(); } //XWhileExpression returns XExpression: // {XWhileExpression} "while" "(" predicate=XExpression ")" body=XExpression; public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() { return gaXbase.getXWhileExpressionAccess(); } public ParserRule getXWhileExpressionRule() { return getXWhileExpressionAccess().getRule(); } //XDoWhileExpression returns XExpression: // {XDoWhileExpression} "do" body=XExpression "while" "(" predicate=XExpression ")"; public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() { return gaXbase.getXDoWhileExpressionAccess(); } public ParserRule getXDoWhileExpressionRule() { return getXDoWhileExpressionAccess().getRule(); } //XBlockExpression returns XExpression: // {XBlockExpression} "{" (expressions+=XExpressionOrVarDeclaration ";"?)* "}"; public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() { return gaXbase.getXBlockExpressionAccess(); } public ParserRule getXBlockExpressionRule() { return getXBlockExpressionAccess().getRule(); } //XExpressionOrVarDeclaration returns XExpression: // XVariableDeclaration | XExpression; public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() { return gaXbase.getXExpressionOrVarDeclarationAccess(); } public ParserRule getXExpressionOrVarDeclarationRule() { return getXExpressionOrVarDeclarationAccess().getRule(); } //XVariableDeclaration returns XExpression: // {XVariableDeclaration} (writeable?="var" | "val") (=> (type=JvmTypeReference name=ValidID) | name=ValidID) ("=" // right=XExpression)?; public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() { return gaXbase.getXVariableDeclarationAccess(); } public ParserRule getXVariableDeclarationRule() { return getXVariableDeclarationAccess().getRule(); } //JvmFormalParameter returns types::JvmFormalParameter: // parameterType=JvmTypeReference? name=ValidID; public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() { return gaXbase.getJvmFormalParameterAccess(); } public ParserRule getJvmFormalParameterRule() { return getJvmFormalParameterAccess().getRule(); } //FullJvmFormalParameter returns types::JvmFormalParameter: // parameterType=JvmTypeReference name=ValidID; public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() { return gaXbase.getFullJvmFormalParameterAccess(); } public ParserRule getFullJvmFormalParameterRule() { return getFullJvmFormalParameterAccess().getRule(); } //XFeatureCall returns XExpression: // {XFeatureCall} ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? // feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (featureCallArguments+=XShortClosure // | featureCallArguments+=XExpression ("," featureCallArguments+=XExpression)*)? ")")? featureCallArguments+=XClosure?; public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() { return gaXbase.getXFeatureCallAccess(); } public ParserRule getXFeatureCallRule() { return getXFeatureCallAccess().getRule(); } //FeatureCallID: // ValidID | "extends" | "static" | "import" | "extension"; public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() { return gaXbase.getFeatureCallIDAccess(); } public ParserRule getFeatureCallIDRule() { return getFeatureCallIDAccess().getRule(); } //IdOrSuper: // FeatureCallID | "super"; public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() { return gaXbase.getIdOrSuperAccess(); } public ParserRule getIdOrSuperRule() { return getIdOrSuperAccess().getRule(); } //XConstructorCall returns XExpression: // {XConstructorCall} "new" constructor=[types::JvmConstructor|QualifiedName] ("<" // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? (=> // explicitConstructorCall?="(" (arguments+=XShortClosure | arguments+=XExpression ("," arguments+=XExpression)*)? ")")? // arguments+=XClosure?; public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() { return gaXbase.getXConstructorCallAccess(); } public ParserRule getXConstructorCallRule() { return getXConstructorCallAccess().getRule(); } //XBooleanLiteral returns XExpression: // {XBooleanLiteral} ("false" | isTrue?="true"); public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() { return gaXbase.getXBooleanLiteralAccess(); } public ParserRule getXBooleanLiteralRule() { return getXBooleanLiteralAccess().getRule(); } //XNullLiteral returns XExpression: // {XNullLiteral} "null"; public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() { return gaXbase.getXNullLiteralAccess(); } public ParserRule getXNullLiteralRule() { return getXNullLiteralAccess().getRule(); } //XNumberLiteral returns XExpression: // {XNumberLiteral} value=Number; public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() { return gaXbase.getXNumberLiteralAccess(); } public ParserRule getXNumberLiteralRule() { return getXNumberLiteralAccess().getRule(); } //XStringLiteral returns XExpression: // {XStringLiteral} value=STRING; public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() { return gaXbase.getXStringLiteralAccess(); } public ParserRule getXStringLiteralRule() { return getXStringLiteralAccess().getRule(); } //XTypeLiteral returns XExpression: // {XTypeLiteral} "typeof" "(" type=[types::JvmType|QualifiedName] arrayDimensions+=ArrayBrackets* ")"; public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() { return gaXbase.getXTypeLiteralAccess(); } public ParserRule getXTypeLiteralRule() { return getXTypeLiteralAccess().getRule(); } //XThrowExpression returns XExpression: // {XThrowExpression} "throw" expression=XExpression; public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() { return gaXbase.getXThrowExpressionAccess(); } public ParserRule getXThrowExpressionRule() { return getXThrowExpressionAccess().getRule(); } //XReturnExpression returns XExpression: // {XReturnExpression} "return" -> expression=XExpression?; public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() { return gaXbase.getXReturnExpressionAccess(); } public ParserRule getXReturnExpressionRule() { return getXReturnExpressionAccess().getRule(); } //XTryCatchFinallyExpression returns XExpression: // {XTryCatchFinallyExpression} "try" expression=XExpression (catchClauses+=XCatchClause+ ("finally" // finallyExpression=XExpression)? | "finally" finallyExpression=XExpression); public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() { return gaXbase.getXTryCatchFinallyExpressionAccess(); } public ParserRule getXTryCatchFinallyExpressionRule() { return getXTryCatchFinallyExpressionAccess().getRule(); } //XSynchronizedExpression returns XExpression: // => ({XSynchronizedExpression} "synchronized" "(") param=XExpression ")" expression=XExpression; public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() { return gaXbase.getXSynchronizedExpressionAccess(); } public ParserRule getXSynchronizedExpressionRule() { return getXSynchronizedExpressionAccess().getRule(); } //XCatchClause: // "catch" "(" declaredParam=FullJvmFormalParameter ")" expression=XExpression; public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() { return gaXbase.getXCatchClauseAccess(); } public ParserRule getXCatchClauseRule() { return getXCatchClauseAccess().getRule(); } //QualifiedName: // ValidID ("." ValidID)*; public XbaseGrammarAccess.QualifiedNameElements getQualifiedNameAccess() { return gaXbase.getQualifiedNameAccess(); } public ParserRule getQualifiedNameRule() { return getQualifiedNameAccess().getRule(); } //Number hidden(): // HEX | (INT | DECIMAL) ("." (INT | DECIMAL))?; public XbaseGrammarAccess.NumberElements getNumberAccess() { return gaXbase.getNumberAccess(); } public ParserRule getNumberRule() { return getNumberAccess().getRule(); } /// ** // * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes, // * which makes downstream grammars break on classloading, when a rule is removed. // * / StaticQualifier: // (ValidID "::")+; public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() { return gaXbase.getStaticQualifierAccess(); } public ParserRule getStaticQualifierRule() { return getStaticQualifierAccess().getRule(); } //terminal HEX: // ("0x" | "0X") ("0".."9" | "a".."f" | "A".."F" | "_")+ ("#" (("b" | "B") ("i" | "I") | ("l" | "L")))?; public TerminalRule getHEXRule() { return gaXbase.getHEXRule(); } //terminal INT returns ecore::EInt: // "0".."9" ("0".."9" | "_")*; public TerminalRule getINTRule() { return gaXbase.getINTRule(); } //terminal DECIMAL: // INT (("e" | "E") ("+" | "-")? INT)? (("b" | "B") ("i" | "I" | "d" | "D") | ("l" | "L" | "d" | "D" | "f" | "F"))?; public TerminalRule getDECIMALRule() { return gaXbase.getDECIMALRule(); } //JvmTypeReference: // JvmParameterizedTypeReference => ({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* | // XFunctionTypeRef; public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() { return gaXbase.getJvmTypeReferenceAccess(); } public ParserRule getJvmTypeReferenceRule() { return getJvmTypeReferenceAccess().getRule(); } //ArrayBrackets: // "[" "]"; public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() { return gaXbase.getArrayBracketsAccess(); } public ParserRule getArrayBracketsRule() { return getArrayBracketsAccess().getRule(); } //XFunctionTypeRef: // ("(" (paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)*)? ")")? "=>" returnType=JvmTypeReference; public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() { return gaXbase.getXFunctionTypeRefAccess(); } public ParserRule getXFunctionTypeRefRule() { return getXFunctionTypeRefAccess().getRule(); } //JvmParameterizedTypeReference: // type=[JvmType|QualifiedName] ("<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* ">" // (=> ({JvmInnerTypeReference.outer=current} ".") type=[JvmType|ValidID] ("<" arguments+=JvmArgumentTypeReference ("," // arguments+=JvmArgumentTypeReference)* ">")?)*)?; public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() { return gaXbase.getJvmParameterizedTypeReferenceAccess(); } public ParserRule getJvmParameterizedTypeReferenceRule() { return getJvmParameterizedTypeReferenceAccess().getRule(); } //JvmArgumentTypeReference returns JvmTypeReference: // JvmTypeReference | JvmWildcardTypeReference; public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() { return gaXbase.getJvmArgumentTypeReferenceAccess(); } public ParserRule getJvmArgumentTypeReferenceRule() { return getJvmArgumentTypeReferenceAccess().getRule(); } //JvmWildcardTypeReference: // {JvmWildcardTypeReference} "?" (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* | // constraints+=JvmLowerBound constraints+=JvmLowerBoundAnded*)?; public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() { return gaXbase.getJvmWildcardTypeReferenceAccess(); } public ParserRule getJvmWildcardTypeReferenceRule() { return getJvmWildcardTypeReferenceAccess().getRule(); } //JvmUpperBound: // "extends" typeReference=JvmTypeReference; public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() { return gaXbase.getJvmUpperBoundAccess(); } public ParserRule getJvmUpperBoundRule() { return getJvmUpperBoundAccess().getRule(); } //JvmUpperBoundAnded returns JvmUpperBound: // "&" typeReference=JvmTypeReference; public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() { return gaXbase.getJvmUpperBoundAndedAccess(); } public ParserRule getJvmUpperBoundAndedRule() { return getJvmUpperBoundAndedAccess().getRule(); } //JvmLowerBound: // "super" typeReference=JvmTypeReference; public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() { return gaXbase.getJvmLowerBoundAccess(); } public ParserRule getJvmLowerBoundRule() { return getJvmLowerBoundAccess().getRule(); } //JvmLowerBoundAnded returns JvmLowerBound: // "&" typeReference=JvmTypeReference; public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() { return gaXbase.getJvmLowerBoundAndedAccess(); } public ParserRule getJvmLowerBoundAndedRule() { return getJvmLowerBoundAndedAccess().getRule(); } //JvmTypeParameter: // name=ValidID (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded*)?; public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() { return gaXbase.getJvmTypeParameterAccess(); } public ParserRule getJvmTypeParameterRule() { return getJvmTypeParameterAccess().getRule(); } //QualifiedNameWithWildcard: // QualifiedName "." "*"; public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() { return gaXbase.getQualifiedNameWithWildcardAccess(); } public ParserRule getQualifiedNameWithWildcardRule() { return getQualifiedNameWithWildcardAccess().getRule(); } //ValidID: // ID; public XtypeGrammarAccess.ValidIDElements getValidIDAccess() { return gaXbase.getValidIDAccess(); } public ParserRule getValidIDRule() { return getValidIDAccess().getRule(); } //XImportSection: // importDeclarations+=XImportDeclaration+; public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() { return gaXbase.getXImportSectionAccess(); } public ParserRule getXImportSectionRule() { return getXImportSectionAccess().getRule(); } //XImportDeclaration: // "import" (static?="static" extension?="extension"? importedType=[JvmDeclaredType|QualifiedNameInStaticImport] // (wildcard?="*" | memberName=ValidID) | importedType=[JvmDeclaredType|QualifiedName] | // importedNamespace=QualifiedNameWithWildcard) ";"?; public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() { return gaXbase.getXImportDeclarationAccess(); } public ParserRule getXImportDeclarationRule() { return getXImportDeclarationAccess().getRule(); } //QualifiedNameInStaticImport: // (ValidID ".")+; public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() { return gaXbase.getQualifiedNameInStaticImportAccess(); } public ParserRule getQualifiedNameInStaticImportRule() { return getQualifiedNameInStaticImportAccess().getRule(); } //terminal ID: // "^"? ("a".."z" | "A".."Z" | "$" | "_") ("a".."z" | "A".."Z" | "$" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaXbase.getIDRule(); } //terminal STRING: // "\"" ("\\" . / * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\""))* "\""? | "\'" ("\\" . // / * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\'"))* "\'"?; public TerminalRule getSTRINGRule() { return gaXbase.getSTRINGRule(); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return gaXbase.getML_COMMENTRule(); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return gaXbase.getSL_COMMENTRule(); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return gaXbase.getWSRule(); } //terminal ANY_OTHER: // .; public TerminalRule getANY_OTHERRule() { return gaXbase.getANY_OTHERRule(); } }