/* * generated by Xtext */ package org.eclipse.etrice.core.services; import com.google.inject.Singleton; import com.google.inject.Inject; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; @Singleton public class RoomGrammarAccess extends AbstractGrammarElementFinder { public class RoomModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomModel"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRoomModelKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameFQNParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cImportsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cImportsImportParserRuleCall_3_0 = (RuleCall)cImportsAssignment_3.eContents().get(0); private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); private final Assignment cDataClassesAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0); private final RuleCall cDataClassesDataClassParserRuleCall_4_0_0 = (RuleCall)cDataClassesAssignment_4_0.eContents().get(0); private final Assignment cProtocolClassesAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1); private final RuleCall cProtocolClassesProtocolClassParserRuleCall_4_1_0 = (RuleCall)cProtocolClassesAssignment_4_1.eContents().get(0); private final Assignment cActorClassesAssignment_4_2 = (Assignment)cAlternatives_4.eContents().get(2); private final RuleCall cActorClassesActorClassParserRuleCall_4_2_0 = (RuleCall)cActorClassesAssignment_4_2.eContents().get(0); private final Assignment cSubSystemClassesAssignment_4_3 = (Assignment)cAlternatives_4.eContents().get(3); private final RuleCall cSubSystemClassesSubSystemClassParserRuleCall_4_3_0 = (RuleCall)cSubSystemClassesAssignment_4_3.eContents().get(0); private final Assignment cSystemsAssignment_4_4 = (Assignment)cAlternatives_4.eContents().get(4); private final RuleCall cSystemsLogicalSystemParserRuleCall_4_4_0 = (RuleCall)cSystemsAssignment_4_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //RoomModel: // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"; public ParserRule getRule() { return rule; } //"RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | //actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}" public Group getGroup() { return cGroup; } //"RoomModel" public Keyword getRoomModelKeyword_0() { return cRoomModelKeyword_0; } //name=FQN public Assignment getNameAssignment_1() { return cNameAssignment_1; } //FQN public RuleCall getNameFQNParserRuleCall_1_0() { return cNameFQNParserRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //imports+=Import* public Assignment getImportsAssignment_3() { return cImportsAssignment_3; } //Import public RuleCall getImportsImportParserRuleCall_3_0() { return cImportsImportParserRuleCall_3_0; } //(dataClasses+=DataClass | protocolClasses+=ProtocolClass | actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | //systems+=LogicalSystem)+ public Alternatives getAlternatives_4() { return cAlternatives_4; } //dataClasses+=DataClass public Assignment getDataClassesAssignment_4_0() { return cDataClassesAssignment_4_0; } //DataClass public RuleCall getDataClassesDataClassParserRuleCall_4_0_0() { return cDataClassesDataClassParserRuleCall_4_0_0; } //protocolClasses+=ProtocolClass public Assignment getProtocolClassesAssignment_4_1() { return cProtocolClassesAssignment_4_1; } //ProtocolClass public RuleCall getProtocolClassesProtocolClassParserRuleCall_4_1_0() { return cProtocolClassesProtocolClassParserRuleCall_4_1_0; } //actorClasses+=ActorClass public Assignment getActorClassesAssignment_4_2() { return cActorClassesAssignment_4_2; } //ActorClass public RuleCall getActorClassesActorClassParserRuleCall_4_2_0() { return cActorClassesActorClassParserRuleCall_4_2_0; } //subSystemClasses+=SubSystemClass public Assignment getSubSystemClassesAssignment_4_3() { return cSubSystemClassesAssignment_4_3; } //SubSystemClass public RuleCall getSubSystemClassesSubSystemClassParserRuleCall_4_3_0() { return cSubSystemClassesSubSystemClassParserRuleCall_4_3_0; } //systems+=LogicalSystem public Assignment getSystemsAssignment_4_4() { return cSystemsAssignment_4_4; } //LogicalSystem public RuleCall getSystemsLogicalSystemParserRuleCall_4_4_0() { return cSystemsLogicalSystemParserRuleCall_4_4_0; } //"}" public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class RoomClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomClass"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cDataClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cProtocolClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cStructureClassParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //RoomClass: // DataClass | ProtocolClass | StructureClass; public ParserRule getRule() { return rule; } //DataClass | ProtocolClass | StructureClass public Alternatives getAlternatives() { return cAlternatives; } //DataClass public RuleCall getDataClassParserRuleCall_0() { return cDataClassParserRuleCall_0; } //ProtocolClass public RuleCall getProtocolClassParserRuleCall_1() { return cProtocolClassParserRuleCall_1; } //StructureClass public RuleCall getStructureClassParserRuleCall_2() { return cStructureClassParserRuleCall_2; } } public class StructureClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StructureClass"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cActorContainerClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cLogicalSystemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //StructureClass: // ActorContainerClass | LogicalSystem; public ParserRule getRule() { return rule; } //ActorContainerClass | LogicalSystem public Alternatives getAlternatives() { return cAlternatives; } //ActorContainerClass public RuleCall getActorContainerClassParserRuleCall_0() { return cActorContainerClassParserRuleCall_0; } //LogicalSystem public RuleCall getLogicalSystemParserRuleCall_1() { return cLogicalSystemParserRuleCall_1; } } public class ActorContainerClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerClass"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cActorClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSubSystemClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //ActorContainerClass: // ActorClass | SubSystemClass; public ParserRule getRule() { return rule; } //ActorClass | SubSystemClass public Alternatives getAlternatives() { return cAlternatives; } //ActorClass public RuleCall getActorClassParserRuleCall_0() { return cActorClassParserRuleCall_0; } //SubSystemClass public RuleCall getSubSystemClassParserRuleCall_1() { return cSubSystemClassParserRuleCall_1; } } public class TypedIDElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypedID"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cTypeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); //TypedID: // name=ID ":" type=Type; public ParserRule getRule() { return rule; } //name=ID ":" type=Type public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //":" public Keyword getColonKeyword_1() { return cColonKeyword_1; } //type=Type public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } //Type public RuleCall getTypeTypeParserRuleCall_2_0() { return cTypeTypeParserRuleCall_2_0; } } public class FreeTypedIDElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeTypedID"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cTypeFreeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); //FreeTypedID: // name=ID ":" type=FreeType; public ParserRule getRule() { return rule; } //name=ID ":" type=FreeType public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //":" public Keyword getColonKeyword_1() { return cColonKeyword_1; } //type=FreeType public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } //FreeType public RuleCall getTypeFreeTypeParserRuleCall_2_0() { return cTypeFreeTypeParserRuleCall_2_0; } } public class TypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Type"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0); private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final CrossReference cTypeDataClassCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); private final RuleCall cTypeDataClassFQNParserRuleCall_1_0_1 = (RuleCall)cTypeDataClassCrossReference_1_0.eContents().get(1); //Type: // prim=PrimitiveType | type=[DataClass|FQN]; public ParserRule getRule() { return rule; } //prim=PrimitiveType | type=[DataClass|FQN] public Alternatives getAlternatives() { return cAlternatives; } //prim=PrimitiveType public Assignment getPrimAssignment_0() { return cPrimAssignment_0; } //PrimitiveType public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; } //type=[DataClass|FQN] public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } //[DataClass|FQN] public CrossReference getTypeDataClassCrossReference_1_0() { return cTypeDataClassCrossReference_1_0; } //FQN public RuleCall getTypeDataClassFQNParserRuleCall_1_0_1() { return cTypeDataClassFQNParserRuleCall_1_0_1; } } public class FreeTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0); private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cTypeIDTerminalRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); //FreeType: // prim=PrimitiveType | type=ID; public ParserRule getRule() { return rule; } //prim=PrimitiveType | type=ID public Alternatives getAlternatives() { return cAlternatives; } //prim=PrimitiveType public Assignment getPrimAssignment_0() { return cPrimAssignment_0; } //PrimitiveType public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; } //type=ID public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } //ID public RuleCall getTypeIDTerminalRuleCall_1_0() { return cTypeIDTerminalRuleCall_1_0; } } public class DataClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cDataClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final CrossReference cBaseDataClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0); private final RuleCall cBaseDataClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseDataClassCrossReference_2_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cImportsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cImportsImportParserRuleCall_4_0 = (RuleCall)cImportsAssignment_4.eContents().get(0); private final Assignment cAttributesAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAttributesAttributeParserRuleCall_5_0 = (RuleCall)cAttributesAssignment_5.eContents().get(0); private final Assignment cOperationsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cOperationsOperationParserRuleCall_6_0 = (RuleCall)cOperationsAssignment_6.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); //// TODOHRR: define detail level language? // //DataClass: // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ // operations+=Operation* "}"; public ParserRule getRule() { return rule; } //"DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ operations+=Operation* //"}" public Group getGroup() { return cGroup; } //"DataClass" public Keyword getDataClassKeyword_0() { return cDataClassKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //("extends" base=[DataClass|FQN])? public Group getGroup_2() { return cGroup_2; } //"extends" public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } //base=[DataClass|FQN] public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; } //[DataClass|FQN] public CrossReference getBaseDataClassCrossReference_2_1_0() { return cBaseDataClassCrossReference_2_1_0; } //FQN public RuleCall getBaseDataClassFQNParserRuleCall_2_1_0_1() { return cBaseDataClassFQNParserRuleCall_2_1_0_1; } //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //imports+=Import* public Assignment getImportsAssignment_4() { return cImportsAssignment_4; } //Import public RuleCall getImportsImportParserRuleCall_4_0() { return cImportsImportParserRuleCall_4_0; } //attributes+=Attribute+ public Assignment getAttributesAssignment_5() { return cAttributesAssignment_5; } //Attribute public RuleCall getAttributesAttributeParserRuleCall_5_0() { return cAttributesAttributeParserRuleCall_5_0; } //operations+=Operation* public Assignment getOperationsAssignment_6() { return cOperationsAssignment_6; } //Operation public RuleCall getOperationsOperationParserRuleCall_6_0() { return cOperationsOperationParserRuleCall_6_0; } //"}" public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } } public class AttributeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Attribute"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAttributeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cSizeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cSizeINTTerminalRuleCall_2_1_0 = (RuleCall)cSizeAssignment_2_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cTypeTypeParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0); //Attribute: // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type; public ParserRule getRule() { return rule; } //"Attribute" name=ID ("[" size=INT "]")? ":" type=Type public Group getGroup() { return cGroup; } //"Attribute" public Keyword getAttributeKeyword_0() { return cAttributeKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //("[" size=INT "]")? public Group getGroup_2() { return cGroup_2; } //"[" public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } //size=INT public Assignment getSizeAssignment_2_1() { return cSizeAssignment_2_1; } //INT public RuleCall getSizeINTTerminalRuleCall_2_1_0() { return cSizeINTTerminalRuleCall_2_1_0; } //"]" public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; } //":" public Keyword getColonKeyword_3() { return cColonKeyword_3; } //type=Type public Assignment getTypeAssignment_4() { return cTypeAssignment_4; } //Type public RuleCall getTypeTypeParserRuleCall_4_0() { return cTypeTypeParserRuleCall_4_0; } } public class OperationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operation"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cOperationKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cColonKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cReturntypeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cReturntypeFreeTypeParserRuleCall_5_1_0 = (RuleCall)cReturntypeAssignment_5_1.eContents().get(0); private final Assignment cDetailCodeAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cDetailCodeDetailCodeParserRuleCall_6_0 = (RuleCall)cDetailCodeAssignment_6.eContents().get(0); //// TODOHRR: pass arguments and return value by value/reference // //Operation: // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? // detailCode=DetailCode; public ParserRule getRule() { return rule; } //"Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? //detailCode=DetailCode public Group getGroup() { return cGroup; } //"Operation" public Keyword getOperationKeyword_0() { return cOperationKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"(" public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? public Group getGroup_3() { return cGroup_3; } //arguments+=FreeTypedID public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } //FreeTypedID public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_0_0() { return cArgumentsFreeTypedIDParserRuleCall_3_0_0; } //("," arguments+=FreeTypedID)* public Group getGroup_3_1() { return cGroup_3_1; } //"," public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //arguments+=FreeTypedID public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } //FreeTypedID public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_1_1_0() { return cArgumentsFreeTypedIDParserRuleCall_3_1_1_0; } //")" public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } //(":" returntype=FreeType)? public Group getGroup_5() { return cGroup_5; } //":" public Keyword getColonKeyword_5_0() { return cColonKeyword_5_0; } //returntype=FreeType public Assignment getReturntypeAssignment_5_1() { return cReturntypeAssignment_5_1; } //FreeType public RuleCall getReturntypeFreeTypeParserRuleCall_5_1_0() { return cReturntypeFreeTypeParserRuleCall_5_1_0; } //detailCode=DetailCode public Assignment getDetailCodeAssignment_6() { return cDetailCodeAssignment_6; } //DetailCode public RuleCall getDetailCodeDetailCodeParserRuleCall_6_0() { return cDetailCodeDetailCodeParserRuleCall_6_0; } } public class ProtocolClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cProtocolClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final CrossReference cBaseProtocolClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0); private final RuleCall cBaseProtocolClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseProtocolClassCrossReference_2_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cUsercode1Keyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cUserCode1Assignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cUserCode1DetailCodeParserRuleCall_4_1_0 = (RuleCall)cUserCode1Assignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cUsercode2Keyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cUserCode2Assignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cUserCode2DetailCodeParserRuleCall_5_1_0 = (RuleCall)cUserCode2Assignment_5_1.eContents().get(0); private final Keyword cIncomingKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cIncomingMessagesAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cIncomingMessagesMessageParserRuleCall_8_0 = (RuleCall)cIncomingMessagesAssignment_8.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); private final Keyword cOutgoingKeyword_10 = (Keyword)cGroup.eContents().get(10); private final Keyword cLeftCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); private final Assignment cOutgoingMessagesAssignment_12 = (Assignment)cGroup.eContents().get(12); private final RuleCall cOutgoingMessagesMessageParserRuleCall_12_0 = (RuleCall)cOutgoingMessagesAssignment_12.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); private final Group cGroup_14 = (Group)cGroup.eContents().get(14); private final Keyword cRegularKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0); private final Keyword cPortClassKeyword_14_1 = (Keyword)cGroup_14.eContents().get(1); private final Assignment cRegularAssignment_14_2 = (Assignment)cGroup_14.eContents().get(2); private final RuleCall cRegularPortClassParserRuleCall_14_2_0 = (RuleCall)cRegularAssignment_14_2.eContents().get(0); private final Group cGroup_15 = (Group)cGroup.eContents().get(15); private final Keyword cConjugateKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0); private final Keyword cPortClassKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1); private final Assignment cConjugateAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2); private final RuleCall cConjugatePortClassParserRuleCall_15_2_0 = (RuleCall)cConjugateAssignment_15_2.eContents().get(0); private final Assignment cSemanticsAssignment_16 = (Assignment)cGroup.eContents().get(16); private final RuleCall cSemanticsProtocolSemanticsParserRuleCall_16_0 = (RuleCall)cSemanticsAssignment_16.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_17 = (Keyword)cGroup.eContents().get(17); //// ************************************************************** // //// protocol class // //ProtocolClass: // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? // "}"; public ParserRule getRule() { return rule; } //"ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" //userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" //("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? //"}" public Group getGroup() { return cGroup; } //"ProtocolClass" public Keyword getProtocolClassKeyword_0() { return cProtocolClassKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //("extends" base=[ProtocolClass|FQN])? public Group getGroup_2() { return cGroup_2; } //"extends" public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } //base=[ProtocolClass|FQN] public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; } //[ProtocolClass|FQN] public CrossReference getBaseProtocolClassCrossReference_2_1_0() { return cBaseProtocolClassCrossReference_2_1_0; } //FQN public RuleCall getBaseProtocolClassFQNParserRuleCall_2_1_0_1() { return cBaseProtocolClassFQNParserRuleCall_2_1_0_1; } //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //("usercode1" userCode1=DetailCode)? public Group getGroup_4() { return cGroup_4; } //"usercode1" public Keyword getUsercode1Keyword_4_0() { return cUsercode1Keyword_4_0; } //userCode1=DetailCode public Assignment getUserCode1Assignment_4_1() { return cUserCode1Assignment_4_1; } //DetailCode public RuleCall getUserCode1DetailCodeParserRuleCall_4_1_0() { return cUserCode1DetailCodeParserRuleCall_4_1_0; } //("usercode2" userCode2=DetailCode)? public Group getGroup_5() { return cGroup_5; } //"usercode2" public Keyword getUsercode2Keyword_5_0() { return cUsercode2Keyword_5_0; } //userCode2=DetailCode public Assignment getUserCode2Assignment_5_1() { return cUserCode2Assignment_5_1; } //DetailCode public RuleCall getUserCode2DetailCodeParserRuleCall_5_1_0() { return cUserCode2DetailCodeParserRuleCall_5_1_0; } //"incoming" public Keyword getIncomingKeyword_6() { return cIncomingKeyword_6; } //"{" public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; } //incomingMessages+=Message* public Assignment getIncomingMessagesAssignment_8() { return cIncomingMessagesAssignment_8; } //Message public RuleCall getIncomingMessagesMessageParserRuleCall_8_0() { return cIncomingMessagesMessageParserRuleCall_8_0; } //"}" public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } //"outgoing" public Keyword getOutgoingKeyword_10() { return cOutgoingKeyword_10; } //"{" public Keyword getLeftCurlyBracketKeyword_11() { return cLeftCurlyBracketKeyword_11; } //outgoingMessages+=Message* public Assignment getOutgoingMessagesAssignment_12() { return cOutgoingMessagesAssignment_12; } //Message public RuleCall getOutgoingMessagesMessageParserRuleCall_12_0() { return cOutgoingMessagesMessageParserRuleCall_12_0; } //"}" public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } //("regular" "PortClass" regular=PortClass)? public Group getGroup_14() { return cGroup_14; } //"regular" public Keyword getRegularKeyword_14_0() { return cRegularKeyword_14_0; } //"PortClass" public Keyword getPortClassKeyword_14_1() { return cPortClassKeyword_14_1; } //regular=PortClass public Assignment getRegularAssignment_14_2() { return cRegularAssignment_14_2; } //PortClass public RuleCall getRegularPortClassParserRuleCall_14_2_0() { return cRegularPortClassParserRuleCall_14_2_0; } //("conjugate" "PortClass" conjugate=PortClass)? public Group getGroup_15() { return cGroup_15; } //"conjugate" public Keyword getConjugateKeyword_15_0() { return cConjugateKeyword_15_0; } //"PortClass" public Keyword getPortClassKeyword_15_1() { return cPortClassKeyword_15_1; } //conjugate=PortClass public Assignment getConjugateAssignment_15_2() { return cConjugateAssignment_15_2; } //PortClass public RuleCall getConjugatePortClassParserRuleCall_15_2_0() { return cConjugatePortClassParserRuleCall_15_2_0; } //semantics=ProtocolSemantics? public Assignment getSemanticsAssignment_16() { return cSemanticsAssignment_16; } //ProtocolSemantics public RuleCall getSemanticsProtocolSemanticsParserRuleCall_16_0() { return cSemanticsProtocolSemanticsParserRuleCall_16_0; } //"}" public Keyword getRightCurlyBracketKeyword_17() { return cRightCurlyBracketKeyword_17; } } public class MessageElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Message"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cMessageKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cArgumentsTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cArgumentsTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); //Message: // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"; public ParserRule getRule() { return rule; } //"Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")" public Group getGroup() { return cGroup; } //"Message" public Keyword getMessageKeyword_0() { return cMessageKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"(" public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(arguments+=TypedID ("," arguments+=TypedID)*)? public Group getGroup_3() { return cGroup_3; } //arguments+=TypedID public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } //TypedID public RuleCall getArgumentsTypedIDParserRuleCall_3_0_0() { return cArgumentsTypedIDParserRuleCall_3_0_0; } //("," arguments+=TypedID)* public Group getGroup_3_1() { return cGroup_3_1; } //"," public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //arguments+=TypedID public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } //TypedID public RuleCall getArgumentsTypedIDParserRuleCall_3_1_1_0() { return cArgumentsTypedIDParserRuleCall_3_1_1_0; } //")" public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } } public class PortClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PortClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cUsercodeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cUserCodeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cUserCodeDetailCodeParserRuleCall_1_1_0 = (RuleCall)cUserCodeAssignment_1_1.eContents().get(0); private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); private final Assignment cAttributesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); private final RuleCall cAttributesAttributeParserRuleCall_2_0_0 = (RuleCall)cAttributesAssignment_2_0.eContents().get(0); private final Assignment cOperationsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); private final RuleCall cOperationsOperationParserRuleCall_2_1_0 = (RuleCall)cOperationsAssignment_2_1.eContents().get(0); private final Assignment cMsgHandlersAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2); private final RuleCall cMsgHandlersMessageHandlerParserRuleCall_2_2_0 = (RuleCall)cMsgHandlersAssignment_2_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //PortClass: // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ // "}"; public ParserRule getRule() { return rule; } //"{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ "}" public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //("usercode" userCode=DetailCode)? public Group getGroup_1() { return cGroup_1; } //"usercode" public Keyword getUsercodeKeyword_1_0() { return cUsercodeKeyword_1_0; } //userCode=DetailCode public Assignment getUserCodeAssignment_1_1() { return cUserCodeAssignment_1_1; } //DetailCode public RuleCall getUserCodeDetailCodeParserRuleCall_1_1_0() { return cUserCodeDetailCodeParserRuleCall_1_1_0; } //(attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ public Alternatives getAlternatives_2() { return cAlternatives_2; } //attributes+=Attribute public Assignment getAttributesAssignment_2_0() { return cAttributesAssignment_2_0; } //Attribute public RuleCall getAttributesAttributeParserRuleCall_2_0_0() { return cAttributesAttributeParserRuleCall_2_0_0; } //operations+=Operation public Assignment getOperationsAssignment_2_1() { return cOperationsAssignment_2_1; } //Operation public RuleCall getOperationsOperationParserRuleCall_2_1_0() { return cOperationsOperationParserRuleCall_2_1_0; } //msgHandlers+=MessageHandler public Assignment getMsgHandlersAssignment_2_2() { return cMsgHandlersAssignment_2_2; } //MessageHandler public RuleCall getMsgHandlersMessageHandlerParserRuleCall_2_2_0() { return cMsgHandlersMessageHandlerParserRuleCall_2_2_0; } //"}" public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class MessageHandlerElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageHandler"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cHandleKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); private final Assignment cDetailCodeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cDetailCodeDetailCodeParserRuleCall_2_0 = (RuleCall)cDetailCodeAssignment_2.eContents().get(0); //MessageHandler: // "handle" msg=[Message] detailCode=DetailCode; public ParserRule getRule() { return rule; } //"handle" msg=[Message] detailCode=DetailCode public Group getGroup() { return cGroup; } //"handle" public Keyword getHandleKeyword_0() { return cHandleKeyword_0; } //msg=[Message] public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } //[Message] public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } //ID public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } //detailCode=DetailCode public Assignment getDetailCodeAssignment_2() { return cDetailCodeAssignment_2; } //DetailCode public RuleCall getDetailCodeDetailCodeParserRuleCall_2_0() { return cDetailCodeDetailCodeParserRuleCall_2_0; } } public class ProtocolSemanticsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolSemantics"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSemanticsKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cRulesAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cRulesSemanticsRuleParserRuleCall_2_0 = (RuleCall)cRulesAssignment_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //ProtocolSemantics: // "semantics" "{" rules+=SemanticsRule+ "}"; public ParserRule getRule() { return rule; } //"semantics" "{" rules+=SemanticsRule+ "}" public Group getGroup() { return cGroup; } //"semantics" public Keyword getSemanticsKeyword_0() { return cSemanticsKeyword_0; } //"{" public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } //rules+=SemanticsRule+ public Assignment getRulesAssignment_2() { return cRulesAssignment_2; } //SemanticsRule public RuleCall getRulesSemanticsRuleParserRuleCall_2_0() { return cRulesSemanticsRuleParserRuleCall_2_0; } //"}" public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class SemanticsRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsRule"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cSemanticsInRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSemanticsOutRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //SemanticsRule: // SemanticsInRule | SemanticsOutRule; public ParserRule getRule() { return rule; } //SemanticsInRule | SemanticsOutRule public Alternatives getAlternatives() { return cAlternatives; } //SemanticsInRule public RuleCall getSemanticsInRuleParserRuleCall_0() { return cSemanticsInRuleParserRuleCall_0; } //SemanticsOutRule public RuleCall getSemanticsOutRuleParserRuleCall_1() { return cSemanticsOutRuleParserRuleCall_1; } } public class SemanticsInRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsInRule"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cInKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //SemanticsInRule: // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; public ParserRule getRule() { return rule; } //"in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" public Group getGroup() { return cGroup; } //"in" public Keyword getInKeyword_0() { return cInKeyword_0; } //msg=[Message] public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } //[Message] public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } //ID public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; } //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //followUps+=SemanticsRule* public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; } //SemanticsRule public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; } //"}" public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class SemanticsOutRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsOutRule"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cOutKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //SemanticsOutRule: // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; public ParserRule getRule() { return rule; } //"out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" public Group getGroup() { return cGroup; } //"out" public Keyword getOutKeyword_0() { return cOutKeyword_0; } //msg=[Message] public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } //[Message] public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } //ID public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; } //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //followUps+=SemanticsRule* public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; } //SemanticsRule public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; } //"}" public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class ActorClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); private final Keyword cActorClassKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cBaseAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final CrossReference cBaseActorClassCrossReference_3_1_0 = (CrossReference)cBaseAssignment_3_1.eContents().get(0); private final RuleCall cBaseActorClassFQNParserRuleCall_3_1_0_1 = (RuleCall)cBaseActorClassCrossReference_3_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cInterfaceKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); private final Assignment cIfPortsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); private final RuleCall cIfPortsPortParserRuleCall_5_2_0 = (RuleCall)cIfPortsAssignment_5_2.eContents().get(0); private final Assignment cIfSPPsAssignment_5_3 = (Assignment)cGroup_5.eContents().get(3); private final RuleCall cIfSPPsSPPRefParserRuleCall_5_3_0 = (RuleCall)cIfSPPsAssignment_5_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cStructureKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); private final Keyword cUsercode1Keyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0); private final Assignment cUserCode1Assignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1); private final RuleCall cUserCode1DetailCodeParserRuleCall_6_2_1_0 = (RuleCall)cUserCode1Assignment_6_2_1.eContents().get(0); private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); private final Keyword cUsercode2Keyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); private final Assignment cUserCode2Assignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); private final RuleCall cUserCode2DetailCodeParserRuleCall_6_3_1_0 = (RuleCall)cUserCode2Assignment_6_3_1.eContents().get(0); private final Alternatives cAlternatives_6_4 = (Alternatives)cGroup_6.eContents().get(4); private final Assignment cIntPortsAssignment_6_4_0 = (Assignment)cAlternatives_6_4.eContents().get(0); private final RuleCall cIntPortsPortParserRuleCall_6_4_0_0 = (RuleCall)cIntPortsAssignment_6_4_0.eContents().get(0); private final Assignment cExtPortsAssignment_6_4_1 = (Assignment)cAlternatives_6_4.eContents().get(1); private final RuleCall cExtPortsExternalPortParserRuleCall_6_4_1_0 = (RuleCall)cExtPortsAssignment_6_4_1.eContents().get(0); private final Assignment cServiceImplementationsAssignment_6_5 = (Assignment)cGroup_6.eContents().get(5); private final RuleCall cServiceImplementationsServiceImplementationParserRuleCall_6_5_0 = (RuleCall)cServiceImplementationsAssignment_6_5.eContents().get(0); private final Assignment cStrSAPsAssignment_6_6 = (Assignment)cGroup_6.eContents().get(6); private final RuleCall cStrSAPsSAPRefParserRuleCall_6_6_0 = (RuleCall)cStrSAPsAssignment_6_6.eContents().get(0); private final Assignment cAttributesAssignment_6_7 = (Assignment)cGroup_6.eContents().get(7); private final RuleCall cAttributesAttributeParserRuleCall_6_7_0 = (RuleCall)cAttributesAssignment_6_7.eContents().get(0); private final Assignment cActorRefsAssignment_6_8 = (Assignment)cGroup_6.eContents().get(8); private final RuleCall cActorRefsActorRefParserRuleCall_6_8_0 = (RuleCall)cActorRefsAssignment_6_8.eContents().get(0); private final Assignment cBindingsAssignment_6_9 = (Assignment)cGroup_6.eContents().get(9); private final RuleCall cBindingsBindingParserRuleCall_6_9_0 = (RuleCall)cBindingsAssignment_6_9.eContents().get(0); private final Assignment cConnectionsAssignment_6_10 = (Assignment)cGroup_6.eContents().get(10); private final RuleCall cConnectionsLayerConnectionParserRuleCall_6_10_0 = (RuleCall)cConnectionsAssignment_6_10.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6_11 = (Keyword)cGroup_6.eContents().get(11); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); private final Assignment cOperationsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); private final RuleCall cOperationsOperationParserRuleCall_7_2_0 = (RuleCall)cOperationsAssignment_7_2.eContents().get(0); private final Assignment cStateMachineAssignment_7_3 = (Assignment)cGroup_7.eContents().get(3); private final RuleCall cStateMachineStateMachineParserRuleCall_7_3_0 = (RuleCall)cStateMachineAssignment_7_3.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); //// ************************************************************** // //// actor class // //// some notes on ports // //// // //// in ROOM ports can be contained in the structure and/or the interface // //// p in s ==> internal end port // //// p in i ==> relay port // //// p in i and p in s ==> external end port // //// since double containment is not supported we decided to define external ports as reference to interface ports // //ActorClass: // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" // operations+=Operation* stateMachine=StateMachine? "}")? "}"; public ParserRule getRule() { return rule; } //abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* //ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? //(intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* //attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" //operations+=Operation* stateMachine=StateMachine? "}")? "}" public Group getGroup() { return cGroup; } //abstract?="abstract"? public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } //"abstract" public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } //"ActorClass" public Keyword getActorClassKeyword_1() { return cActorClassKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //("extends" base=[ActorClass|FQN])? public Group getGroup_3() { return cGroup_3; } //"extends" public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } //base=[ActorClass|FQN] public Assignment getBaseAssignment_3_1() { return cBaseAssignment_3_1; } //[ActorClass|FQN] public CrossReference getBaseActorClassCrossReference_3_1_0() { return cBaseActorClassCrossReference_3_1_0; } //FQN public RuleCall getBaseActorClassFQNParserRuleCall_3_1_0_1() { return cBaseActorClassFQNParserRuleCall_3_1_0_1; } //"{" public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //("Interface" "{" ifPorts+=Port* ifSPPs+=SPPRef* "}")? public Group getGroup_5() { return cGroup_5; } //"Interface" public Keyword getInterfaceKeyword_5_0() { return cInterfaceKeyword_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } //ifPorts+=Port* public Assignment getIfPortsAssignment_5_2() { return cIfPortsAssignment_5_2; } //Port public RuleCall getIfPortsPortParserRuleCall_5_2_0() { return cIfPortsPortParserRuleCall_5_2_0; } //ifSPPs+=SPPRef* public Assignment getIfSPPsAssignment_5_3() { return cIfSPPsAssignment_5_3; } //SPPRef public RuleCall getIfSPPsSPPRefParserRuleCall_5_3_0() { return cIfSPPsSPPRefParserRuleCall_5_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } //("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? (intPorts+=Port | //extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* attributes+=Attribute* //actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? public Group getGroup_6() { return cGroup_6; } //"Structure" public Keyword getStructureKeyword_6_0() { return cStructureKeyword_6_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } //("usercode1" userCode1=DetailCode)? public Group getGroup_6_2() { return cGroup_6_2; } //"usercode1" public Keyword getUsercode1Keyword_6_2_0() { return cUsercode1Keyword_6_2_0; } //userCode1=DetailCode public Assignment getUserCode1Assignment_6_2_1() { return cUserCode1Assignment_6_2_1; } //DetailCode public RuleCall getUserCode1DetailCodeParserRuleCall_6_2_1_0() { return cUserCode1DetailCodeParserRuleCall_6_2_1_0; } //("usercode2" userCode2=DetailCode)? public Group getGroup_6_3() { return cGroup_6_3; } //"usercode2" public Keyword getUsercode2Keyword_6_3_0() { return cUsercode2Keyword_6_3_0; } //userCode2=DetailCode public Assignment getUserCode2Assignment_6_3_1() { return cUserCode2Assignment_6_3_1; } //DetailCode public RuleCall getUserCode2DetailCodeParserRuleCall_6_3_1_0() { return cUserCode2DetailCodeParserRuleCall_6_3_1_0; } //(intPorts+=Port | extPorts+=ExternalPort)* public Alternatives getAlternatives_6_4() { return cAlternatives_6_4; } //intPorts+=Port public Assignment getIntPortsAssignment_6_4_0() { return cIntPortsAssignment_6_4_0; } //Port public RuleCall getIntPortsPortParserRuleCall_6_4_0_0() { return cIntPortsPortParserRuleCall_6_4_0_0; } //extPorts+=ExternalPort public Assignment getExtPortsAssignment_6_4_1() { return cExtPortsAssignment_6_4_1; } //ExternalPort public RuleCall getExtPortsExternalPortParserRuleCall_6_4_1_0() { return cExtPortsExternalPortParserRuleCall_6_4_1_0; } //serviceImplementations+=ServiceImplementation* public Assignment getServiceImplementationsAssignment_6_5() { return cServiceImplementationsAssignment_6_5; } //ServiceImplementation public RuleCall getServiceImplementationsServiceImplementationParserRuleCall_6_5_0() { return cServiceImplementationsServiceImplementationParserRuleCall_6_5_0; } //strSAPs+=SAPRef* public Assignment getStrSAPsAssignment_6_6() { return cStrSAPsAssignment_6_6; } //SAPRef public RuleCall getStrSAPsSAPRefParserRuleCall_6_6_0() { return cStrSAPsSAPRefParserRuleCall_6_6_0; } //attributes+=Attribute* public Assignment getAttributesAssignment_6_7() { return cAttributesAssignment_6_7; } //Attribute public RuleCall getAttributesAttributeParserRuleCall_6_7_0() { return cAttributesAttributeParserRuleCall_6_7_0; } //actorRefs+=ActorRef* public Assignment getActorRefsAssignment_6_8() { return cActorRefsAssignment_6_8; } //ActorRef public RuleCall getActorRefsActorRefParserRuleCall_6_8_0() { return cActorRefsActorRefParserRuleCall_6_8_0; } //bindings+=Binding* public Assignment getBindingsAssignment_6_9() { return cBindingsAssignment_6_9; } //Binding public RuleCall getBindingsBindingParserRuleCall_6_9_0() { return cBindingsBindingParserRuleCall_6_9_0; } //connections+=LayerConnection* public Assignment getConnectionsAssignment_6_10() { return cConnectionsAssignment_6_10; } //LayerConnection public RuleCall getConnectionsLayerConnectionParserRuleCall_6_10_0() { return cConnectionsLayerConnectionParserRuleCall_6_10_0; } //"}" public Keyword getRightCurlyBracketKeyword_6_11() { return cRightCurlyBracketKeyword_6_11; } //("Behavior" "{" operations+=Operation* stateMachine=StateMachine? "}")? public Group getGroup_7() { return cGroup_7; } //"Behavior" public Keyword getBehaviorKeyword_7_0() { return cBehaviorKeyword_7_0; } //"{" public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } //operations+=Operation* public Assignment getOperationsAssignment_7_2() { return cOperationsAssignment_7_2; } //Operation public RuleCall getOperationsOperationParserRuleCall_7_2_0() { return cOperationsOperationParserRuleCall_7_2_0; } //stateMachine=StateMachine? public Assignment getStateMachineAssignment_7_3() { return cStateMachineAssignment_7_3; } //StateMachine public RuleCall getStateMachineStateMachineParserRuleCall_7_3_0() { return cStateMachineStateMachineParserRuleCall_7_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } //"}" public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } } public class InterfaceItemElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceItem"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cPortParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSAPRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cSPPRefParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //InterfaceItem: // Port | SAPRef | SPPRef; public ParserRule getRule() { return rule; } //Port | SAPRef | SPPRef public Alternatives getAlternatives() { return cAlternatives; } //Port public RuleCall getPortParserRuleCall_0() { return cPortParserRuleCall_0; } //SAPRef public RuleCall getSAPRefParserRuleCall_1() { return cSAPRefParserRuleCall_1; } //SPPRef public RuleCall getSPPRefParserRuleCall_2() { return cSPPRefParserRuleCall_2; } } public class PortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Port"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cConjugatedAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cConjugatedConjugatedKeyword_0_0 = (Keyword)cConjugatedAssignment_0.eContents().get(0); private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cMultiplicityAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cMultiplicityINTTerminalRuleCall_3_1_0 = (RuleCall)cMultiplicityAssignment_3_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cProtocolAssignment_5 = (Assignment)cGroup.eContents().get(5); private final CrossReference cProtocolProtocolClassCrossReference_5_0 = (CrossReference)cProtocolAssignment_5.eContents().get(0); private final RuleCall cProtocolProtocolClassFQNParserRuleCall_5_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_5_0.eContents().get(1); //Port: // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]; public ParserRule getRule() { return rule; } //conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN] public Group getGroup() { return cGroup; } //conjugated?="conjugated"? public Assignment getConjugatedAssignment_0() { return cConjugatedAssignment_0; } //"conjugated" public Keyword getConjugatedConjugatedKeyword_0_0() { return cConjugatedConjugatedKeyword_0_0; } //"Port" public Keyword getPortKeyword_1() { return cPortKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //("[" multiplicity=INT "]")? public Group getGroup_3() { return cGroup_3; } //"[" public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; } //multiplicity=INT public Assignment getMultiplicityAssignment_3_1() { return cMultiplicityAssignment_3_1; } //INT public RuleCall getMultiplicityINTTerminalRuleCall_3_1_0() { return cMultiplicityINTTerminalRuleCall_3_1_0; } //"]" public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; } //":" public Keyword getColonKeyword_4() { return cColonKeyword_4; } //protocol=[ProtocolClass|FQN] public Assignment getProtocolAssignment_5() { return cProtocolAssignment_5; } //[ProtocolClass|FQN] public CrossReference getProtocolProtocolClassCrossReference_5_0() { return cProtocolProtocolClassCrossReference_5_0; } //FQN public RuleCall getProtocolProtocolClassFQNParserRuleCall_5_0_1() { return cProtocolProtocolClassFQNParserRuleCall_5_0_1; } } public class ExternalPortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalPort"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cExternalKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cIfportAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cIfportPortCrossReference_2_0 = (CrossReference)cIfportAssignment_2.eContents().get(0); private final RuleCall cIfportPortIDTerminalRuleCall_2_0_1 = (RuleCall)cIfportPortCrossReference_2_0.eContents().get(1); //ExternalPort: // "external" "Port" ifport=[Port]; public ParserRule getRule() { return rule; } //"external" "Port" ifport=[Port] public Group getGroup() { return cGroup; } //"external" public Keyword getExternalKeyword_0() { return cExternalKeyword_0; } //"Port" public Keyword getPortKeyword_1() { return cPortKeyword_1; } //ifport=[Port] public Assignment getIfportAssignment_2() { return cIfportAssignment_2; } //[Port] public CrossReference getIfportPortCrossReference_2_0() { return cIfportPortCrossReference_2_0; } //ID public RuleCall getIfportPortIDTerminalRuleCall_2_0_1() { return cIfportPortIDTerminalRuleCall_2_0_1; } } public class SAPRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSAPKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0); private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1); //SAPRef: // we omitted the SAP type (Timing/Frame/Exception) // // "SAP" name=ID ":" protocol=[ProtocolClass|FQN]; public ParserRule getRule() { return rule; } //// we omitted the SAP type (Timing/Frame/Exception) // //"SAP" name=ID ":" protocol=[ProtocolClass|FQN] public Group getGroup() { return cGroup; } //// we omitted the SAP type (Timing/Frame/Exception) // //"SAP" public Keyword getSAPKeyword_0() { return cSAPKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //protocol=[ProtocolClass|FQN] public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; } //[ProtocolClass|FQN] public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; } //FQN public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; } } public class SPPRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSPPKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0); private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1); //SPPRef: // "SPP" name=ID ":" protocol=[ProtocolClass|FQN]; public ParserRule getRule() { return rule; } //"SPP" name=ID ":" protocol=[ProtocolClass|FQN] public Group getGroup() { return cGroup; } //"SPP" public Keyword getSPPKeyword_0() { return cSPPKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //protocol=[ProtocolClass|FQN] public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; } //[ProtocolClass|FQN] public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; } //FQN public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; } } public class ServiceImplementationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceImplementation"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cServiceImplementationKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cSppAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cSppSPPRefCrossReference_2_0 = (CrossReference)cSppAssignment_2.eContents().get(0); private final RuleCall cSppSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cSppSPPRefCrossReference_2_0.eContents().get(1); //ServiceImplementation: // "ServiceImplementation" "of" spp=[SPPRef]; public ParserRule getRule() { return rule; } //"ServiceImplementation" "of" spp=[SPPRef] public Group getGroup() { return cGroup; } //"ServiceImplementation" public Keyword getServiceImplementationKeyword_0() { return cServiceImplementationKeyword_0; } //"of" public Keyword getOfKeyword_1() { return cOfKeyword_1; } //spp=[SPPRef] public Assignment getSppAssignment_2() { return cSppAssignment_2; } //[SPPRef] public CrossReference getSppSPPRefCrossReference_2_0() { return cSppSPPRefCrossReference_2_0; } //ID public RuleCall getSppSPPRefIDTerminalRuleCall_2_0_1() { return cSppSPPRefIDTerminalRuleCall_2_0_1; } } public class LogicalSystemElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalSystem"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLogicalSystemKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cSubSystemsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cSubSystemsSubSystemRefParserRuleCall_3_0 = (RuleCall)cSubSystemsAssignment_3.eContents().get(0); private final Assignment cBindingsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cBindingsBindingParserRuleCall_4_0 = (RuleCall)cBindingsAssignment_4.eContents().get(0); private final Assignment cConnectionsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cConnectionsLayerConnectionParserRuleCall_5_0 = (RuleCall)cConnectionsAssignment_5.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //LogicalSystem: // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"; public ParserRule getRule() { return rule; } //"LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}" public Group getGroup() { return cGroup; } //"LogicalSystem" public Keyword getLogicalSystemKeyword_0() { return cLogicalSystemKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //subSystems+=SubSystemRef+ public Assignment getSubSystemsAssignment_3() { return cSubSystemsAssignment_3; } //SubSystemRef public RuleCall getSubSystemsSubSystemRefParserRuleCall_3_0() { return cSubSystemsSubSystemRefParserRuleCall_3_0; } //bindings+=Binding* public Assignment getBindingsAssignment_4() { return cBindingsAssignment_4; } //Binding public RuleCall getBindingsBindingParserRuleCall_4_0() { return cBindingsBindingParserRuleCall_4_0; } //connections+=LayerConnection* public Assignment getConnectionsAssignment_5() { return cConnectionsAssignment_5; } //LayerConnection public RuleCall getConnectionsLayerConnectionParserRuleCall_5_0() { return cConnectionsLayerConnectionParserRuleCall_5_0; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class ActorContainerRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerRef"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cSubSystemRefParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cActorRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //ActorContainerRef: // SubSystemRef | ActorRef; public ParserRule getRule() { return rule; } //SubSystemRef | ActorRef public Alternatives getAlternatives() { return cAlternatives; } //SubSystemRef public RuleCall getSubSystemRefParserRuleCall_0() { return cSubSystemRefParserRuleCall_0; } //ActorRef public RuleCall getActorRefParserRuleCall_1() { return cActorRefParserRuleCall_1; } } public class SubSystemRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSubSystemRefKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cTypeSubSystemClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0); private final RuleCall cTypeSubSystemClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeSubSystemClassCrossReference_3_0.eContents().get(1); //SubSystemRef: // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]; public ParserRule getRule() { return rule; } //"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] public Group getGroup() { return cGroup; } //"SubSystemRef" public Keyword getSubSystemRefKeyword_0() { return cSubSystemRefKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //type=[SubSystemClass|FQN] public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } //[SubSystemClass|FQN] public CrossReference getTypeSubSystemClassCrossReference_3_0() { return cTypeSubSystemClassCrossReference_3_0; } //FQN public RuleCall getTypeSubSystemClassFQNParserRuleCall_3_0_1() { return cTypeSubSystemClassFQNParserRuleCall_3_0_1; } } public class SubSystemClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSubSystemClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cRelayPortsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cRelayPortsPortParserRuleCall_3_0 = (RuleCall)cRelayPortsAssignment_3.eContents().get(0); private final Assignment cIfSPPsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cIfSPPsSPPRefParserRuleCall_4_0 = (RuleCall)cIfSPPsAssignment_4.eContents().get(0); private final Assignment cActorRefsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cActorRefsActorRefParserRuleCall_5_0 = (RuleCall)cActorRefsAssignment_5.eContents().get(0); private final Assignment cBindingsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cBindingsBindingParserRuleCall_6_0 = (RuleCall)cBindingsAssignment_6.eContents().get(0); private final Assignment cConnectionsAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cConnectionsLayerConnectionParserRuleCall_7_0 = (RuleCall)cConnectionsAssignment_7.eContents().get(0); private final Assignment cThreadsAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cThreadsLogicalThreadParserRuleCall_8_0 = (RuleCall)cThreadsAssignment_8.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); //SubSystemClass: // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* // connections+=LayerConnection* threads+=LogicalThread* "}"; public ParserRule getRule() { return rule; } //"SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* //connections+=LayerConnection* threads+=LogicalThread* "}" public Group getGroup() { return cGroup; } //"SubSystemClass" public Keyword getSubSystemClassKeyword_0() { return cSubSystemClassKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //relayPorts+=Port* public Assignment getRelayPortsAssignment_3() { return cRelayPortsAssignment_3; } //Port public RuleCall getRelayPortsPortParserRuleCall_3_0() { return cRelayPortsPortParserRuleCall_3_0; } //ifSPPs+=SPPRef* public Assignment getIfSPPsAssignment_4() { return cIfSPPsAssignment_4; } //SPPRef public RuleCall getIfSPPsSPPRefParserRuleCall_4_0() { return cIfSPPsSPPRefParserRuleCall_4_0; } //actorRefs+=ActorRef+ public Assignment getActorRefsAssignment_5() { return cActorRefsAssignment_5; } //ActorRef public RuleCall getActorRefsActorRefParserRuleCall_5_0() { return cActorRefsActorRefParserRuleCall_5_0; } //bindings+=Binding* public Assignment getBindingsAssignment_6() { return cBindingsAssignment_6; } //Binding public RuleCall getBindingsBindingParserRuleCall_6_0() { return cBindingsBindingParserRuleCall_6_0; } //connections+=LayerConnection* public Assignment getConnectionsAssignment_7() { return cConnectionsAssignment_7; } //LayerConnection public RuleCall getConnectionsLayerConnectionParserRuleCall_7_0() { return cConnectionsLayerConnectionParserRuleCall_7_0; } //threads+=LogicalThread* public Assignment getThreadsAssignment_8() { return cThreadsAssignment_8; } //LogicalThread public RuleCall getThreadsLogicalThreadParserRuleCall_8_0() { return cThreadsLogicalThreadParserRuleCall_8_0; } //"}" public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } } public class LogicalThreadElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalThread"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLogicalThreadKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cInstancesAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cInstancesActorInstancePathParserRuleCall_3_0 = (RuleCall)cInstancesAssignment_3.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cInstancesAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cInstancesActorInstancePathParserRuleCall_4_1_0 = (RuleCall)cInstancesAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //LogicalThread: // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"; public ParserRule getRule() { return rule; } //"LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}" public Group getGroup() { return cGroup; } //"LogicalThread" public Keyword getLogicalThreadKeyword_0() { return cLogicalThreadKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //instances+=ActorInstancePath public Assignment getInstancesAssignment_3() { return cInstancesAssignment_3; } //ActorInstancePath public RuleCall getInstancesActorInstancePathParserRuleCall_3_0() { return cInstancesActorInstancePathParserRuleCall_3_0; } //("," instances+=ActorInstancePath)* public Group getGroup_4() { return cGroup_4; } //"," public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; } //instances+=ActorInstancePath public Assignment getInstancesAssignment_4_1() { return cInstancesAssignment_4_1; } //ActorInstancePath public RuleCall getInstancesActorInstancePathParserRuleCall_4_1_0() { return cInstancesActorInstancePathParserRuleCall_4_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class ActorInstancePathElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorInstancePath"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cSegmentsAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cSegmentsIDTerminalRuleCall_0_0 = (RuleCall)cSegmentsAssignment_0.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cSegmentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cSegmentsIDTerminalRuleCall_1_1_0 = (RuleCall)cSegmentsAssignment_1_1.eContents().get(0); //ActorInstancePath: // segments+=ID ("." segments+=ID)*; public ParserRule getRule() { return rule; } //segments+=ID ("." segments+=ID)* public Group getGroup() { return cGroup; } //segments+=ID public Assignment getSegmentsAssignment_0() { return cSegmentsAssignment_0; } //ID public RuleCall getSegmentsIDTerminalRuleCall_0_0() { return cSegmentsIDTerminalRuleCall_0_0; } //("." segments+=ID)* public Group getGroup_1() { return cGroup_1; } //"." public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } //segments+=ID public Assignment getSegmentsAssignment_1_1() { return cSegmentsAssignment_1_1; } //ID public RuleCall getSegmentsIDTerminalRuleCall_1_1_0() { return cSegmentsIDTerminalRuleCall_1_1_0; } } public class BindingElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Binding"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cBindingKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEndpoint1Assignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cEndpoint1BindingEndPointParserRuleCall_1_0 = (RuleCall)cEndpoint1Assignment_1.eContents().get(0); private final Keyword cAndKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cEndpoint2Assignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cEndpoint2BindingEndPointParserRuleCall_3_0 = (RuleCall)cEndpoint2Assignment_3.eContents().get(0); //// TODOHRR: bindings for replicated ports // //// (1) declare several bindings // //// (2) use a notation with 1 to n bindings // //Binding: // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint; public ParserRule getRule() { return rule; } //"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint public Group getGroup() { return cGroup; } //"Binding" public Keyword getBindingKeyword_0() { return cBindingKeyword_0; } //endpoint1=BindingEndPoint public Assignment getEndpoint1Assignment_1() { return cEndpoint1Assignment_1; } //BindingEndPoint public RuleCall getEndpoint1BindingEndPointParserRuleCall_1_0() { return cEndpoint1BindingEndPointParserRuleCall_1_0; } //"and" public Keyword getAndKeyword_2() { return cAndKeyword_2; } //endpoint2=BindingEndPoint public Assignment getEndpoint2Assignment_3() { return cEndpoint2Assignment_3; } //BindingEndPoint public RuleCall getEndpoint2BindingEndPointParserRuleCall_3_0() { return cEndpoint2BindingEndPointParserRuleCall_3_0; } } public class BindingEndPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BindingEndPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Assignment cActorRefAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); private final CrossReference cActorRefActorContainerRefCrossReference_0_0_0 = (CrossReference)cActorRefAssignment_0_0.eContents().get(0); private final RuleCall cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1 = (RuleCall)cActorRefActorContainerRefCrossReference_0_0_0.eContents().get(1); private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Assignment cPortAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cPortPortCrossReference_1_0 = (CrossReference)cPortAssignment_1.eContents().get(0); private final RuleCall cPortPortIDTerminalRuleCall_1_0_1 = (RuleCall)cPortPortCrossReference_1_0.eContents().get(1); //BindingEndPoint: // (actorRef=[ActorContainerRef] ".")? port=[Port]; public ParserRule getRule() { return rule; } //(actorRef=[ActorContainerRef] ".")? port=[Port] public Group getGroup() { return cGroup; } //(actorRef=[ActorContainerRef] ".")? public Group getGroup_0() { return cGroup_0; } //actorRef=[ActorContainerRef] public Assignment getActorRefAssignment_0_0() { return cActorRefAssignment_0_0; } //[ActorContainerRef] public CrossReference getActorRefActorContainerRefCrossReference_0_0_0() { return cActorRefActorContainerRefCrossReference_0_0_0; } //ID public RuleCall getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1() { return cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1; } //"." public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; } //port=[Port] public Assignment getPortAssignment_1() { return cPortAssignment_1; } //[Port] public CrossReference getPortPortCrossReference_1_0() { return cPortPortCrossReference_1_0; } //ID public RuleCall getPortPortIDTerminalRuleCall_1_0_1() { return cPortPortIDTerminalRuleCall_1_0_1; } } public class LayerConnectionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LayerConnection"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLayerConnectionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cFromSAPointParserRuleCall_1_0 = (RuleCall)cFromAssignment_1.eContents().get(0); private final Keyword cSatisfied_byKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cToAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cToSPPointParserRuleCall_3_0 = (RuleCall)cToAssignment_3.eContents().get(0); //LayerConnection: // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint; public ParserRule getRule() { return rule; } //"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint public Group getGroup() { return cGroup; } //"LayerConnection" public Keyword getLayerConnectionKeyword_0() { return cLayerConnectionKeyword_0; } //from=SAPoint public Assignment getFromAssignment_1() { return cFromAssignment_1; } //SAPoint public RuleCall getFromSAPointParserRuleCall_1_0() { return cFromSAPointParserRuleCall_1_0; } //"satisfied_by" public Keyword getSatisfied_byKeyword_2() { return cSatisfied_byKeyword_2; } //to=SPPoint public Assignment getToAssignment_3() { return cToAssignment_3; } //SPPoint public RuleCall getToSPPointParserRuleCall_3_0() { return cToSPPointParserRuleCall_3_0; } } public class SAPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPoint"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cRefSAPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cRelaySAPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //SAPoint: // RefSAPoint | RelaySAPoint; public ParserRule getRule() { return rule; } //RefSAPoint | RelaySAPoint public Alternatives getAlternatives() { return cAlternatives; } //RefSAPoint public RuleCall getRefSAPointParserRuleCall_0() { return cRefSAPointParserRuleCall_0; } //RelaySAPoint public RuleCall getRelaySAPointParserRuleCall_1() { return cRelaySAPointParserRuleCall_1; } } public class RefSAPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefSAPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRefKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cRefActorContainerRefCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0); private final RuleCall cRefActorContainerRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRefActorContainerRefCrossReference_1_0.eContents().get(1); //RefSAPoint: // satisfies a sub actor // // "ref" ref=[ActorContainerRef]; public ParserRule getRule() { return rule; } //// satisfies a sub actor // //"ref" ref=[ActorContainerRef] public Group getGroup() { return cGroup; } //// satisfies a sub actor // //"ref" public Keyword getRefKeyword_0() { return cRefKeyword_0; } //ref=[ActorContainerRef] public Assignment getRefAssignment_1() { return cRefAssignment_1; } //[ActorContainerRef] public CrossReference getRefActorContainerRefCrossReference_1_0() { return cRefActorContainerRefCrossReference_1_0; } //ID public RuleCall getRefActorContainerRefIDTerminalRuleCall_1_0_1() { return cRefActorContainerRefIDTerminalRuleCall_1_0_1; } } public class RelaySAPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelaySAPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRelay_sapKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cRelayAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cRelaySPPRefCrossReference_1_0 = (CrossReference)cRelayAssignment_1.eContents().get(0); private final RuleCall cRelaySPPRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRelaySPPRefCrossReference_1_0.eContents().get(1); //RelaySAPoint: // relays from own interface // // "relay_sap" relay=[SPPRef]; public ParserRule getRule() { return rule; } //// relays from own interface // //"relay_sap" relay=[SPPRef] public Group getGroup() { return cGroup; } //// relays from own interface // //"relay_sap" public Keyword getRelay_sapKeyword_0() { return cRelay_sapKeyword_0; } //relay=[SPPRef] public Assignment getRelayAssignment_1() { return cRelayAssignment_1; } //[SPPRef] public CrossReference getRelaySPPRefCrossReference_1_0() { return cRelaySPPRefCrossReference_1_0; } //ID public RuleCall getRelaySPPRefIDTerminalRuleCall_1_0_1() { return cRelaySPPRefIDTerminalRuleCall_1_0_1; } } public class SPPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cRefAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cRefActorContainerRefCrossReference_0_0 = (CrossReference)cRefAssignment_0.eContents().get(0); private final RuleCall cRefActorContainerRefIDTerminalRuleCall_0_0_1 = (RuleCall)cRefActorContainerRefCrossReference_0_0.eContents().get(1); private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cServiceAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cServiceSPPRefCrossReference_2_0 = (CrossReference)cServiceAssignment_2.eContents().get(0); private final RuleCall cServiceSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cServiceSPPRefCrossReference_2_0.eContents().get(1); //SPPoint: // ref=[ActorContainerRef] "." service=[SPPRef]; public ParserRule getRule() { return rule; } //ref=[ActorContainerRef] "." service=[SPPRef] public Group getGroup() { return cGroup; } //ref=[ActorContainerRef] public Assignment getRefAssignment_0() { return cRefAssignment_0; } //[ActorContainerRef] public CrossReference getRefActorContainerRefCrossReference_0_0() { return cRefActorContainerRefCrossReference_0_0; } //ID public RuleCall getRefActorContainerRefIDTerminalRuleCall_0_0_1() { return cRefActorContainerRefIDTerminalRuleCall_0_0_1; } //"." public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } //service=[SPPRef] public Assignment getServiceAssignment_2() { return cServiceAssignment_2; } //[SPPRef] public CrossReference getServiceSPPRefCrossReference_2_0() { return cServiceSPPRefCrossReference_2_0; } //ID public RuleCall getServiceSPPRefIDTerminalRuleCall_2_0_1() { return cServiceSPPRefIDTerminalRuleCall_2_0_1; } } public class ActorRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cActorRefKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cTypeActorClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0); private final RuleCall cTypeActorClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeActorClassCrossReference_3_0.eContents().get(1); //// TODOHRR: support replicated actors // //ActorRef: // "ActorRef" name=ID ":" type=[ActorClass|FQN]; public ParserRule getRule() { return rule; } //"ActorRef" name=ID ":" type=[ActorClass|FQN] public Group getGroup() { return cGroup; } //"ActorRef" public Keyword getActorRefKeyword_0() { return cActorRefKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //type=[ActorClass|FQN] public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } //[ActorClass|FQN] public CrossReference getTypeActorClassCrossReference_3_0() { return cTypeActorClassCrossReference_3_0; } //FQN public RuleCall getTypeActorClassFQNParserRuleCall_3_0_1() { return cTypeActorClassFQNParserRuleCall_3_0_1; } } public class StateGraphNodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphNode"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cChoicePointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cTrPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //// ************************************************************** // //// state machine // //StateGraphNode: // State | ChoicePoint | TrPoint; public ParserRule getRule() { return rule; } //State | ChoicePoint | TrPoint public Alternatives getAlternatives() { return cAlternatives; } //State public RuleCall getStateParserRuleCall_0() { return cStateParserRuleCall_0; } //ChoicePoint public RuleCall getChoicePointParserRuleCall_1() { return cChoicePointParserRuleCall_1; } //TrPoint public RuleCall getTrPointParserRuleCall_2() { return cTrPointParserRuleCall_2; } } public class StateGraphItemElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphItem"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cStateGraphNodeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //StateGraphItem: // StateGraphNode | Transition; public ParserRule getRule() { return rule; } //StateGraphNode | Transition public Alternatives getAlternatives() { return cAlternatives; } //StateGraphNode public RuleCall getStateGraphNodeParserRuleCall_0() { return cStateGraphNodeParserRuleCall_0; } //Transition public RuleCall getTransitionParserRuleCall_1() { return cTransitionParserRuleCall_1; } } public class StateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "State"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBaseStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cRefinedStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //State: // BaseState | RefinedState; public ParserRule getRule() { return rule; } //BaseState | RefinedState public Alternatives getAlternatives() { return cAlternatives; } //BaseState public RuleCall getBaseStateParserRuleCall_0() { return cBaseStateParserRuleCall_0; } //RefinedState public RuleCall getRefinedStateParserRuleCall_1() { return cRefinedStateParserRuleCall_1; } } public class StateGraphElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraph"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Assignment cStatesAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); private final RuleCall cStatesStateParserRuleCall_1_0_0 = (RuleCall)cStatesAssignment_1_0.eContents().get(0); private final Assignment cTrPointsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); private final RuleCall cTrPointsTrPointParserRuleCall_1_1_0 = (RuleCall)cTrPointsAssignment_1_1.eContents().get(0); private final Assignment cChPointsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2); private final RuleCall cChPointsChoicePointParserRuleCall_1_2_0 = (RuleCall)cChPointsAssignment_1_2.eContents().get(0); private final Assignment cTransitionsAssignment_1_3 = (Assignment)cAlternatives_1.eContents().get(3); private final RuleCall cTransitionsTransitionParserRuleCall_1_3_0 = (RuleCall)cTransitionsAssignment_1_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); //StateGraph: // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; public ParserRule getRule() { return rule; } //"{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ public Alternatives getAlternatives_1() { return cAlternatives_1; } //states+=State public Assignment getStatesAssignment_1_0() { return cStatesAssignment_1_0; } //State public RuleCall getStatesStateParserRuleCall_1_0_0() { return cStatesStateParserRuleCall_1_0_0; } //trPoints+=TrPoint public Assignment getTrPointsAssignment_1_1() { return cTrPointsAssignment_1_1; } //TrPoint public RuleCall getTrPointsTrPointParserRuleCall_1_1_0() { return cTrPointsTrPointParserRuleCall_1_1_0; } //chPoints+=ChoicePoint public Assignment getChPointsAssignment_1_2() { return cChPointsAssignment_1_2; } //ChoicePoint public RuleCall getChPointsChoicePointParserRuleCall_1_2_0() { return cChPointsChoicePointParserRuleCall_1_2_0; } //transitions+=Transition public Assignment getTransitionsAssignment_1_3() { return cTransitionsAssignment_1_3; } //Transition public RuleCall getTransitionsTransitionParserRuleCall_1_3_0() { return cTransitionsTransitionParserRuleCall_1_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; } } public class StateMachineElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateMachine"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cStateMachineKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); private final Assignment cStatesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); private final RuleCall cStatesStateParserRuleCall_2_0_0 = (RuleCall)cStatesAssignment_2_0.eContents().get(0); private final Assignment cTrPointsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); private final RuleCall cTrPointsTrPointParserRuleCall_2_1_0 = (RuleCall)cTrPointsAssignment_2_1.eContents().get(0); private final Assignment cChPointsAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2); private final RuleCall cChPointsChoicePointParserRuleCall_2_2_0 = (RuleCall)cChPointsAssignment_2_2.eContents().get(0); private final Assignment cTransitionsAssignment_2_3 = (Assignment)cAlternatives_2.eContents().get(3); private final RuleCall cTransitionsTransitionParserRuleCall_2_3_0 = (RuleCall)cTransitionsAssignment_2_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //StateMachine returns StateGraph: // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; public ParserRule getRule() { return rule; } //"StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" public Group getGroup() { return cGroup; } //"StateMachine" public Keyword getStateMachineKeyword_0() { return cStateMachineKeyword_0; } //"{" public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ public Alternatives getAlternatives_2() { return cAlternatives_2; } //states+=State public Assignment getStatesAssignment_2_0() { return cStatesAssignment_2_0; } //State public RuleCall getStatesStateParserRuleCall_2_0_0() { return cStatesStateParserRuleCall_2_0_0; } //trPoints+=TrPoint public Assignment getTrPointsAssignment_2_1() { return cTrPointsAssignment_2_1; } //TrPoint public RuleCall getTrPointsTrPointParserRuleCall_2_1_0() { return cTrPointsTrPointParserRuleCall_2_1_0; } //chPoints+=ChoicePoint public Assignment getChPointsAssignment_2_2() { return cChPointsAssignment_2_2; } //ChoicePoint public RuleCall getChPointsChoicePointParserRuleCall_2_2_0() { return cChPointsChoicePointParserRuleCall_2_2_0; } //transitions+=Transition public Assignment getTransitionsAssignment_2_3() { return cTransitionsAssignment_2_3; } //Transition public RuleCall getTransitionsTransitionParserRuleCall_2_3_0() { return cTransitionsTransitionParserRuleCall_2_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class BaseStateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BaseState"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cStateKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here, // //// in RefinedState to still have both features in the common base class State // //BaseState: // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? // "}"; public ParserRule getRule() { return rule; } //"State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}" public Group getGroup() { return cGroup; } //"State" public Keyword getStateKeyword_0() { return cStateKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //("entry" entryCode=DetailCode)? public Group getGroup_3() { return cGroup_3; } //"entry" public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; } //entryCode=DetailCode public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; } //DetailCode public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; } //("exit" exitCode=DetailCode)? public Group getGroup_4() { return cGroup_4; } //"exit" public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; } //exitCode=DetailCode public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; } //DetailCode public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; } //("subgraph" subgraph=StateGraph)? public Group getGroup_5() { return cGroup_5; } //"subgraph" public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; } //subgraph=StateGraph public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; } //StateGraph public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class RefinedStateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefinedState"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRefinedStateKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cBaseAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cBaseBaseStateCrossReference_1_0 = (CrossReference)cBaseAssignment_1.eContents().get(0); private final RuleCall cBaseBaseStateFQNParserRuleCall_1_0_1 = (RuleCall)cBaseBaseStateCrossReference_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //RefinedState: // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" // subgraph=StateGraph)? "}"; public ParserRule getRule() { return rule; } //"RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" //subgraph=StateGraph)? "}" public Group getGroup() { return cGroup; } //"RefinedState" public Keyword getRefinedStateKeyword_0() { return cRefinedStateKeyword_0; } //base=[BaseState|FQN] public Assignment getBaseAssignment_1() { return cBaseAssignment_1; } //[BaseState|FQN] public CrossReference getBaseBaseStateCrossReference_1_0() { return cBaseBaseStateCrossReference_1_0; } //FQN public RuleCall getBaseBaseStateFQNParserRuleCall_1_0_1() { return cBaseBaseStateFQNParserRuleCall_1_0_1; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //("entry" entryCode=DetailCode)? public Group getGroup_3() { return cGroup_3; } //"entry" public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; } //entryCode=DetailCode public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; } //DetailCode public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; } //("exit" exitCode=DetailCode)? public Group getGroup_4() { return cGroup_4; } //"exit" public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; } //exitCode=DetailCode public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; } //DetailCode public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; } //("subgraph" subgraph=StateGraph)? public Group getGroup_5() { return cGroup_5; } //"subgraph" public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; } //subgraph=StateGraph public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; } //StateGraph public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class DetailCodeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DetailCode"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cCommandsAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cCommandsSTRINGTerminalRuleCall_1_0 = (RuleCall)cCommandsAssignment_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f) // //// super() keyword or flag like in Trice // //DetailCode: // "{" commands+=STRING+ "}"; public ParserRule getRule() { return rule; } //"{" commands+=STRING+ "}" public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //commands+=STRING+ public Assignment getCommandsAssignment_1() { return cCommandsAssignment_1; } //STRING public RuleCall getCommandsSTRINGTerminalRuleCall_1_0() { return cCommandsSTRINGTerminalRuleCall_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; } } public class TrPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPoint"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cTransitionPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cEntryPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cExitPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //TrPoint: // TransitionPoint | EntryPoint | ExitPoint; public ParserRule getRule() { return rule; } //TransitionPoint | EntryPoint | ExitPoint public Alternatives getAlternatives() { return cAlternatives; } //TransitionPoint public RuleCall getTransitionPointParserRuleCall_0() { return cTransitionPointParserRuleCall_0; } //EntryPoint public RuleCall getEntryPointParserRuleCall_1() { return cEntryPointParserRuleCall_1; } //ExitPoint public RuleCall getExitPointParserRuleCall_2() { return cExitPointParserRuleCall_2; } } public class TransitionPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cHandlerAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cHandlerHandlerKeyword_0_0 = (Keyword)cHandlerAssignment_0.eContents().get(0); private final Keyword cTransitionPointKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); //TransitionPoint: // handler?="handler"? "TransitionPoint" name=ID; public ParserRule getRule() { return rule; } //handler?="handler"? "TransitionPoint" name=ID public Group getGroup() { return cGroup; } //handler?="handler"? public Assignment getHandlerAssignment_0() { return cHandlerAssignment_0; } //"handler" public Keyword getHandlerHandlerKeyword_0_0() { return cHandlerHandlerKeyword_0_0; } //"TransitionPoint" public Keyword getTransitionPointKeyword_1() { return cTransitionPointKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } } public class EntryPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntryPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cEntryPointKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); //EntryPoint: // "EntryPoint" name=ID; public ParserRule getRule() { return rule; } //"EntryPoint" name=ID public Group getGroup() { return cGroup; } //"EntryPoint" public Keyword getEntryPointKeyword_0() { return cEntryPointKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } } public class ExitPointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExitPoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cExitPointKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); //ExitPoint: // "ExitPoint" name=ID; public ParserRule getRule() { return rule; } //"ExitPoint" name=ID public Group getGroup() { return cGroup; } //"ExitPoint" public Keyword getExitPointKeyword_0() { return cExitPointKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } } public class ChoicePointElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicePoint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cChoicePointKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); //ChoicePoint: // "ChoicePoint" name=ID; public ParserRule getRule() { return rule; } //"ChoicePoint" name=ID public Group getGroup() { return cGroup; } //"ChoicePoint" public Keyword getChoicePointKeyword_0() { return cChoicePointKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } } public class TransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Transition"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cInitialTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cNonInitialTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Transition: // InitialTransition | NonInitialTransition; public ParserRule getRule() { return rule; } //InitialTransition | NonInitialTransition public Alternatives getAlternatives() { return cAlternatives; } //InitialTransition public RuleCall getInitialTransitionParserRuleCall_0() { return cInitialTransitionParserRuleCall_0; } //NonInitialTransition public RuleCall getNonInitialTransitionParserRuleCall_1() { return cNonInitialTransitionParserRuleCall_1; } } public class NonInitialTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonInitialTransition"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cTriggeredTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cContinuationTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cCPBranchTransitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //NonInitialTransition: // TriggeredTransition | ContinuationTransition | CPBranchTransition; public ParserRule getRule() { return rule; } //TriggeredTransition | ContinuationTransition | CPBranchTransition public Alternatives getAlternatives() { return cAlternatives; } //TriggeredTransition public RuleCall getTriggeredTransitionParserRuleCall_0() { return cTriggeredTransitionParserRuleCall_0; } //ContinuationTransition public RuleCall getContinuationTransitionParserRuleCall_1() { return cContinuationTransitionParserRuleCall_1; } //CPBranchTransition public RuleCall getCPBranchTransitionParserRuleCall_2() { return cCPBranchTransitionParserRuleCall_2; } } public class InitialTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InitialTransition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Keyword cInitialKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); //InitialTransition: // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; public ParserRule getRule() { return rule; } //"Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" public Group getGroup() { return cGroup; } //"Transition" public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //"initial" public Keyword getInitialKeyword_3() { return cInitialKeyword_3; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } //to=TransitionTerminal public Assignment getToAssignment_5() { return cToAssignment_5; } //TransitionTerminal public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //("action" action=DetailCode)? public Group getGroup_7() { return cGroup_7; } //"action" public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; } //action=DetailCode public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; } //DetailCode public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } } public class ContinuationTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuationTransition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); //ContinuationTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; public ParserRule getRule() { return rule; } //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" public Group getGroup() { return cGroup; } //"Transition" public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //from=TransitionTerminal public Assignment getFromAssignment_3() { return cFromAssignment_3; } //TransitionTerminal public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } //to=TransitionTerminal public Assignment getToAssignment_5() { return cToAssignment_5; } //TransitionTerminal public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //("action" action=DetailCode)? public Group getGroup_7() { return cGroup_7; } //"action" public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; } //action=DetailCode public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; } //DetailCode public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } } public class TriggeredTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TriggeredTransition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Keyword cTriggersKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Keyword cLeftCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); private final Assignment cTriggersAssignment_9 = (Assignment)cGroup.eContents().get(9); private final RuleCall cTriggersTriggerParserRuleCall_9_0 = (RuleCall)cTriggersAssignment_9.eContents().get(0); private final Group cGroup_10 = (Group)cGroup.eContents().get(10); private final Keyword cOrKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); private final Assignment cTriggersAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1); private final RuleCall cTriggersTriggerParserRuleCall_10_1_0 = (RuleCall)cTriggersAssignment_10_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); private final Group cGroup_12 = (Group)cGroup.eContents().get(12); private final Keyword cActionKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); private final Assignment cActionAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1); private final RuleCall cActionDetailCodeParserRuleCall_12_1_0 = (RuleCall)cActionAssignment_12_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); //TriggeredTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"; public ParserRule getRule() { return rule; } //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger ("or" //triggers+=Trigger)* "}" ("action" action=DetailCode)? "}" public Group getGroup() { return cGroup; } //"Transition" public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //from=TransitionTerminal public Assignment getFromAssignment_3() { return cFromAssignment_3; } //TransitionTerminal public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } //to=TransitionTerminal public Assignment getToAssignment_5() { return cToAssignment_5; } //TransitionTerminal public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //"triggers" public Keyword getTriggersKeyword_7() { return cTriggersKeyword_7; } //"{" public Keyword getLeftCurlyBracketKeyword_8() { return cLeftCurlyBracketKeyword_8; } //triggers+=Trigger public Assignment getTriggersAssignment_9() { return cTriggersAssignment_9; } //Trigger public RuleCall getTriggersTriggerParserRuleCall_9_0() { return cTriggersTriggerParserRuleCall_9_0; } //("or" triggers+=Trigger)* public Group getGroup_10() { return cGroup_10; } //"or" public Keyword getOrKeyword_10_0() { return cOrKeyword_10_0; } //triggers+=Trigger public Assignment getTriggersAssignment_10_1() { return cTriggersAssignment_10_1; } //Trigger public RuleCall getTriggersTriggerParserRuleCall_10_1_0() { return cTriggersTriggerParserRuleCall_10_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; } //("action" action=DetailCode)? public Group getGroup_12() { return cGroup_12; } //"action" public Keyword getActionKeyword_12_0() { return cActionKeyword_12_0; } //action=DetailCode public Assignment getActionAssignment_12_1() { return cActionAssignment_12_1; } //DetailCode public RuleCall getActionDetailCodeParserRuleCall_12_1_0() { return cActionDetailCodeParserRuleCall_12_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } } public class CPBranchTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CPBranchTransition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Keyword cCondKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cConditionAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cConditionDetailCodeParserRuleCall_8_0 = (RuleCall)cConditionAssignment_8.eContents().get(0); private final Group cGroup_9 = (Group)cGroup.eContents().get(9); private final Keyword cActionKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); private final Assignment cActionAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1); private final RuleCall cActionDetailCodeParserRuleCall_9_1_0 = (RuleCall)cActionAssignment_9_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10); //CPBranchTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" // action=DetailCode)? "}"; public ParserRule getRule() { return rule; } //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" //action=DetailCode)? "}" public Group getGroup() { return cGroup; } //"Transition" public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //":" public Keyword getColonKeyword_2() { return cColonKeyword_2; } //from=TransitionTerminal public Assignment getFromAssignment_3() { return cFromAssignment_3; } //TransitionTerminal public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } //"->" public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } //to=TransitionTerminal public Assignment getToAssignment_5() { return cToAssignment_5; } //TransitionTerminal public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //"cond" public Keyword getCondKeyword_7() { return cCondKeyword_7; } //condition=DetailCode public Assignment getConditionAssignment_8() { return cConditionAssignment_8; } //DetailCode public RuleCall getConditionDetailCodeParserRuleCall_8_0() { return cConditionDetailCodeParserRuleCall_8_0; } //("action" action=DetailCode)? public Group getGroup_9() { return cGroup_9; } //"action" public Keyword getActionKeyword_9_0() { return cActionKeyword_9_0; } //action=DetailCode public Assignment getActionAssignment_9_1() { return cActionAssignment_9_1; } //DetailCode public RuleCall getActionDetailCodeParserRuleCall_9_1_0() { return cActionDetailCodeParserRuleCall_9_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; } } public class TransitionTerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionTerminal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cStateTerminalParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cTrPointTerminalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cSubStateTrPointTerminalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cChoicepointTerminalParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); //TransitionTerminal: // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal; public ParserRule getRule() { return rule; } //StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal public Alternatives getAlternatives() { return cAlternatives; } //StateTerminal public RuleCall getStateTerminalParserRuleCall_0() { return cStateTerminalParserRuleCall_0; } //TrPointTerminal public RuleCall getTrPointTerminalParserRuleCall_1() { return cTrPointTerminalParserRuleCall_1; } //SubStateTrPointTerminal public RuleCall getSubStateTrPointTerminalParserRuleCall_2() { return cSubStateTrPointTerminalParserRuleCall_2; } //ChoicepointTerminal public RuleCall getChoicepointTerminalParserRuleCall_3() { return cChoicepointTerminalParserRuleCall_3; } } public class StateTerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateTerminal"); private final Assignment cStateAssignment = (Assignment)rule.eContents().get(1); private final CrossReference cStateBaseStateCrossReference_0 = (CrossReference)cStateAssignment.eContents().get(0); private final RuleCall cStateBaseStateIDTerminalRuleCall_0_1 = (RuleCall)cStateBaseStateCrossReference_0.eContents().get(1); //StateTerminal: // state=[BaseState]; public ParserRule getRule() { return rule; } //state=[BaseState] public Assignment getStateAssignment() { return cStateAssignment; } //[BaseState] public CrossReference getStateBaseStateCrossReference_0() { return cStateBaseStateCrossReference_0; } //ID public RuleCall getStateBaseStateIDTerminalRuleCall_0_1() { return cStateBaseStateIDTerminalRuleCall_0_1; } } public class TrPointTerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPointTerminal"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cMyKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cTrPointAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cTrPointTrPointCrossReference_1_0 = (CrossReference)cTrPointAssignment_1.eContents().get(0); private final RuleCall cTrPointTrPointIDTerminalRuleCall_1_0_1 = (RuleCall)cTrPointTrPointCrossReference_1_0.eContents().get(1); //TrPointTerminal: // "my" trPoint=[TrPoint]; public ParserRule getRule() { return rule; } //"my" trPoint=[TrPoint] public Group getGroup() { return cGroup; } //"my" public Keyword getMyKeyword_0() { return cMyKeyword_0; } //trPoint=[TrPoint] public Assignment getTrPointAssignment_1() { return cTrPointAssignment_1; } //[TrPoint] public CrossReference getTrPointTrPointCrossReference_1_0() { return cTrPointTrPointCrossReference_1_0; } //ID public RuleCall getTrPointTrPointIDTerminalRuleCall_1_0_1() { return cTrPointTrPointIDTerminalRuleCall_1_0_1; } } public class SubStateTrPointTerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubStateTrPointTerminal"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cTrPointAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cTrPointTrPointCrossReference_0_0 = (CrossReference)cTrPointAssignment_0.eContents().get(0); private final RuleCall cTrPointTrPointIDTerminalRuleCall_0_0_1 = (RuleCall)cTrPointTrPointCrossReference_0_0.eContents().get(1); private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cStateAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cStateBaseStateCrossReference_2_0 = (CrossReference)cStateAssignment_2.eContents().get(0); private final RuleCall cStateBaseStateIDTerminalRuleCall_2_0_1 = (RuleCall)cStateBaseStateCrossReference_2_0.eContents().get(1); //SubStateTrPointTerminal: // trPoint=[TrPoint] "of" state=[BaseState]; public ParserRule getRule() { return rule; } //trPoint=[TrPoint] "of" state=[BaseState] public Group getGroup() { return cGroup; } //trPoint=[TrPoint] public Assignment getTrPointAssignment_0() { return cTrPointAssignment_0; } //[TrPoint] public CrossReference getTrPointTrPointCrossReference_0_0() { return cTrPointTrPointCrossReference_0_0; } //ID public RuleCall getTrPointTrPointIDTerminalRuleCall_0_0_1() { return cTrPointTrPointIDTerminalRuleCall_0_0_1; } //"of" public Keyword getOfKeyword_1() { return cOfKeyword_1; } //state=[BaseState] public Assignment getStateAssignment_2() { return cStateAssignment_2; } //[BaseState] public CrossReference getStateBaseStateCrossReference_2_0() { return cStateBaseStateCrossReference_2_0; } //ID public RuleCall getStateBaseStateIDTerminalRuleCall_2_0_1() { return cStateBaseStateIDTerminalRuleCall_2_0_1; } } public class ChoicepointTerminalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicepointTerminal"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cCpKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cCpAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cCpChoicePointCrossReference_1_0 = (CrossReference)cCpAssignment_1.eContents().get(0); private final RuleCall cCpChoicePointIDTerminalRuleCall_1_0_1 = (RuleCall)cCpChoicePointCrossReference_1_0.eContents().get(1); //ChoicepointTerminal: // "cp" cp=[ChoicePoint]; public ParserRule getRule() { return rule; } //"cp" cp=[ChoicePoint] public Group getGroup() { return cGroup; } //"cp" public Keyword getCpKeyword_0() { return cCpKeyword_0; } //cp=[ChoicePoint] public Assignment getCpAssignment_1() { return cCpAssignment_1; } //[ChoicePoint] public CrossReference getCpChoicePointCrossReference_1_0() { return cCpChoicePointCrossReference_1_0; } //ID public RuleCall getCpChoicePointIDTerminalRuleCall_1_0_1() { return cCpChoicePointIDTerminalRuleCall_1_0_1; } } public class TriggerElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Trigger"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgFromIfPairsAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_1_0 = (RuleCall)cMsgFromIfPairsAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cVerticalLineKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cMsgFromIfPairsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0 = (RuleCall)cMsgFromIfPairsAssignment_2_1.eContents().get(0); private final Assignment cGuardAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cGuardGuardParserRuleCall_3_0 = (RuleCall)cGuardAssignment_3.eContents().get(0); private final Keyword cGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef; // ////TransitionSource: TransitionTerminal|ChoicePointRef; // ////TransitionDest: TransitionTerminal|ChoicePointRef; // ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID]; // ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default'; // ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID]; // //Trigger: // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"; public ParserRule getRule() { return rule; } //"<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">" public Group getGroup() { return cGroup; } //"<" public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; } //msgFromIfPairs+=MessageFromIf public Assignment getMsgFromIfPairsAssignment_1() { return cMsgFromIfPairsAssignment_1; } //MessageFromIf public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_1_0; } //("|" msgFromIfPairs+=MessageFromIf)* public Group getGroup_2() { return cGroup_2; } //"|" public Keyword getVerticalLineKeyword_2_0() { return cVerticalLineKeyword_2_0; } //msgFromIfPairs+=MessageFromIf public Assignment getMsgFromIfPairsAssignment_2_1() { return cMsgFromIfPairsAssignment_2_1; } //MessageFromIf public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0; } //guard=Guard? public Assignment getGuardAssignment_3() { return cGuardAssignment_3; } //Guard public RuleCall getGuardGuardParserRuleCall_3_0() { return cGuardGuardParserRuleCall_3_0; } //">" public Keyword getGreaterThanSignKeyword_4() { return cGreaterThanSignKeyword_4; } } public class MessageFromIfElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageFromIf"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cMessageAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cMessageMessageCrossReference_0_0 = (CrossReference)cMessageAssignment_0.eContents().get(0); private final RuleCall cMessageMessageIDTerminalRuleCall_0_0_1 = (RuleCall)cMessageMessageCrossReference_0_0.eContents().get(1); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cFromAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cFromInterfaceItemCrossReference_2_0 = (CrossReference)cFromAssignment_2.eContents().get(0); private final RuleCall cFromInterfaceItemIDTerminalRuleCall_2_0_1 = (RuleCall)cFromInterfaceItemCrossReference_2_0.eContents().get(1); //MessageFromIf: // message=[Message] ":" from=[InterfaceItem]; public ParserRule getRule() { return rule; } //message=[Message] ":" from=[InterfaceItem] public Group getGroup() { return cGroup; } //message=[Message] public Assignment getMessageAssignment_0() { return cMessageAssignment_0; } //[Message] public CrossReference getMessageMessageCrossReference_0_0() { return cMessageMessageCrossReference_0_0; } //ID public RuleCall getMessageMessageIDTerminalRuleCall_0_0_1() { return cMessageMessageIDTerminalRuleCall_0_0_1; } //":" public Keyword getColonKeyword_1() { return cColonKeyword_1; } //from=[InterfaceItem] public Assignment getFromAssignment_2() { return cFromAssignment_2; } //[InterfaceItem] public CrossReference getFromInterfaceItemCrossReference_2_0() { return cFromInterfaceItemCrossReference_2_0; } //ID public RuleCall getFromInterfaceItemIDTerminalRuleCall_2_0_1() { return cFromInterfaceItemIDTerminalRuleCall_2_0_1; } } public class GuardElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Guard"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cGuardKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cGuardAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cGuardDetailCodeParserRuleCall_1_0 = (RuleCall)cGuardAssignment_1.eContents().get(0); //Guard: // "guard" guard=DetailCode; public ParserRule getRule() { return rule; } //"guard" guard=DetailCode public Group getGroup() { return cGroup; } //"guard" public Keyword getGuardKeyword_0() { return cGuardKeyword_0; } //guard=DetailCode public Assignment getGuardAssignment_1() { return cGuardAssignment_1; } //DetailCode public RuleCall getGuardDetailCodeParserRuleCall_1_0() { return cGuardDetailCodeParserRuleCall_1_0; } } public class ImportElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cImportedNamespaceImportedFQNParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0); //// ************************************************************** // //// general // //Import: // "import" importedNamespace=ImportedFQN; public ParserRule getRule() { return rule; } //"import" importedNamespace=ImportedFQN public Group getGroup() { return cGroup; } //"import" public Keyword getImportKeyword_0() { return cImportKeyword_0; } //importedNamespace=ImportedFQN public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; } //ImportedFQN public RuleCall getImportedNamespaceImportedFQNParserRuleCall_1_0() { return cImportedNamespaceImportedFQNParserRuleCall_1_0; } } public class ImportedFQNElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportedFQN"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cFQNParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); //ImportedFQN returns ecore::EString: // FQN ("." "*")?; public ParserRule getRule() { return rule; } //FQN ("." "*")? public Group getGroup() { return cGroup; } //FQN public RuleCall getFQNParserRuleCall_0() { return cFQNParserRuleCall_0; } //("." "*")? public Group getGroup_1() { return cGroup_1; } //"." public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } //"*" public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; } } public class FQNElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FQN"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); //FQN returns ecore::EString: // ID ("." ID)*; public ParserRule getRule() { return rule; } //ID ("." ID)* public Group getGroup() { return cGroup; } //ID public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } //("." ID)* public Group getGroup_1() { return cGroup_1; } //"." public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } //ID public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } } public class PrimitiveTypeElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cVoidEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cVoidVoidKeyword_0_0 = (Keyword)cVoidEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cInt8EnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cInt8Int8Keyword_1_0 = (Keyword)cInt8EnumLiteralDeclaration_1.eContents().get(0); private final EnumLiteralDeclaration cInt16EnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); private final Keyword cInt16Int16Keyword_2_0 = (Keyword)cInt16EnumLiteralDeclaration_2.eContents().get(0); private final EnumLiteralDeclaration cInt32EnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); private final Keyword cInt32Int32Keyword_3_0 = (Keyword)cInt32EnumLiteralDeclaration_3.eContents().get(0); private final EnumLiteralDeclaration cUint8EnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); private final Keyword cUint8Uint8Keyword_4_0 = (Keyword)cUint8EnumLiteralDeclaration_4.eContents().get(0); private final EnumLiteralDeclaration cUint16EnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); private final Keyword cUint16Uint16Keyword_5_0 = (Keyword)cUint16EnumLiteralDeclaration_5.eContents().get(0); private final EnumLiteralDeclaration cUint32EnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); private final Keyword cUint32Uint32Keyword_6_0 = (Keyword)cUint32EnumLiteralDeclaration_6.eContents().get(0); private final EnumLiteralDeclaration cFloat32EnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7); private final Keyword cFloat32Float32Keyword_7_0 = (Keyword)cFloat32EnumLiteralDeclaration_7.eContents().get(0); private final EnumLiteralDeclaration cFloat64EnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8); private final Keyword cFloat64Float64Keyword_8_0 = (Keyword)cFloat64EnumLiteralDeclaration_8.eContents().get(0); private final EnumLiteralDeclaration cBooleanEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9); private final Keyword cBooleanBooleanKeyword_9_0 = (Keyword)cBooleanEnumLiteralDeclaration_9.eContents().get(0); private final EnumLiteralDeclaration cStringEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10); private final Keyword cStringStringKeyword_10_0 = (Keyword)cStringEnumLiteralDeclaration_10.eContents().get(0); private final EnumLiteralDeclaration cCharEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11); private final Keyword cCharCharKeyword_11_0 = (Keyword)cCharEnumLiteralDeclaration_11.eContents().get(0); //// ************************************************************** // //// data class // //// cf. decision DSL2: fixed size data types // //// convert appropriately for Java and issue an error if size not available // //enum PrimitiveType: // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char; public EnumRule getRule() { return rule; } //void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char public Alternatives getAlternatives() { return cAlternatives; } //void public EnumLiteralDeclaration getVoidEnumLiteralDeclaration_0() { return cVoidEnumLiteralDeclaration_0; } //"void" public Keyword getVoidVoidKeyword_0_0() { return cVoidVoidKeyword_0_0; } //int8 public EnumLiteralDeclaration getInt8EnumLiteralDeclaration_1() { return cInt8EnumLiteralDeclaration_1; } //"int8" public Keyword getInt8Int8Keyword_1_0() { return cInt8Int8Keyword_1_0; } //int16 public EnumLiteralDeclaration getInt16EnumLiteralDeclaration_2() { return cInt16EnumLiteralDeclaration_2; } //"int16" public Keyword getInt16Int16Keyword_2_0() { return cInt16Int16Keyword_2_0; } //int32 public EnumLiteralDeclaration getInt32EnumLiteralDeclaration_3() { return cInt32EnumLiteralDeclaration_3; } //"int32" public Keyword getInt32Int32Keyword_3_0() { return cInt32Int32Keyword_3_0; } //uint8 public EnumLiteralDeclaration getUint8EnumLiteralDeclaration_4() { return cUint8EnumLiteralDeclaration_4; } //"uint8" public Keyword getUint8Uint8Keyword_4_0() { return cUint8Uint8Keyword_4_0; } //uint16 public EnumLiteralDeclaration getUint16EnumLiteralDeclaration_5() { return cUint16EnumLiteralDeclaration_5; } //"uint16" public Keyword getUint16Uint16Keyword_5_0() { return cUint16Uint16Keyword_5_0; } //uint32 public EnumLiteralDeclaration getUint32EnumLiteralDeclaration_6() { return cUint32EnumLiteralDeclaration_6; } //"uint32" public Keyword getUint32Uint32Keyword_6_0() { return cUint32Uint32Keyword_6_0; } //float32 public EnumLiteralDeclaration getFloat32EnumLiteralDeclaration_7() { return cFloat32EnumLiteralDeclaration_7; } //"float32" public Keyword getFloat32Float32Keyword_7_0() { return cFloat32Float32Keyword_7_0; } //float64 public EnumLiteralDeclaration getFloat64EnumLiteralDeclaration_8() { return cFloat64EnumLiteralDeclaration_8; } //"float64" public Keyword getFloat64Float64Keyword_8_0() { return cFloat64Float64Keyword_8_0; } //boolean public EnumLiteralDeclaration getBooleanEnumLiteralDeclaration_9() { return cBooleanEnumLiteralDeclaration_9; } //"boolean" public Keyword getBooleanBooleanKeyword_9_0() { return cBooleanBooleanKeyword_9_0; } //string public EnumLiteralDeclaration getStringEnumLiteralDeclaration_10() { return cStringEnumLiteralDeclaration_10; } //"string" public Keyword getStringStringKeyword_10_0() { return cStringStringKeyword_10_0; } //char public EnumLiteralDeclaration getCharEnumLiteralDeclaration_11() { return cCharEnumLiteralDeclaration_11; } //"char" public Keyword getCharCharKeyword_11_0() { return cCharCharKeyword_11_0; } } private RoomModelElements pRoomModel; private RoomClassElements pRoomClass; private StructureClassElements pStructureClass; private ActorContainerClassElements pActorContainerClass; private PrimitiveTypeElements unknownRulePrimitiveType; private TypedIDElements pTypedID; private FreeTypedIDElements pFreeTypedID; private TypeElements pType; private FreeTypeElements pFreeType; private DataClassElements pDataClass; private AttributeElements pAttribute; private OperationElements pOperation; private ProtocolClassElements pProtocolClass; private MessageElements pMessage; private PortClassElements pPortClass; private MessageHandlerElements pMessageHandler; private ProtocolSemanticsElements pProtocolSemantics; private SemanticsRuleElements pSemanticsRule; private SemanticsInRuleElements pSemanticsInRule; private SemanticsOutRuleElements pSemanticsOutRule; private ActorClassElements pActorClass; private InterfaceItemElements pInterfaceItem; private PortElements pPort; private ExternalPortElements pExternalPort; private SAPRefElements pSAPRef; private SPPRefElements pSPPRef; private ServiceImplementationElements pServiceImplementation; private LogicalSystemElements pLogicalSystem; private ActorContainerRefElements pActorContainerRef; private SubSystemRefElements pSubSystemRef; private SubSystemClassElements pSubSystemClass; private LogicalThreadElements pLogicalThread; private ActorInstancePathElements pActorInstancePath; private BindingElements pBinding; private BindingEndPointElements pBindingEndPoint; private LayerConnectionElements pLayerConnection; private SAPointElements pSAPoint; private RefSAPointElements pRefSAPoint; private RelaySAPointElements pRelaySAPoint; private SPPointElements pSPPoint; private ActorRefElements pActorRef; private StateGraphNodeElements pStateGraphNode; private StateGraphItemElements pStateGraphItem; private StateElements pState; private StateGraphElements pStateGraph; private StateMachineElements pStateMachine; private BaseStateElements pBaseState; private RefinedStateElements pRefinedState; private DetailCodeElements pDetailCode; private TrPointElements pTrPoint; private TransitionPointElements pTransitionPoint; private EntryPointElements pEntryPoint; private ExitPointElements pExitPoint; private ChoicePointElements pChoicePoint; private TransitionElements pTransition; private NonInitialTransitionElements pNonInitialTransition; private InitialTransitionElements pInitialTransition; private ContinuationTransitionElements pContinuationTransition; private TriggeredTransitionElements pTriggeredTransition; private CPBranchTransitionElements pCPBranchTransition; private TransitionTerminalElements pTransitionTerminal; private StateTerminalElements pStateTerminal; private TrPointTerminalElements pTrPointTerminal; private SubStateTrPointTerminalElements pSubStateTrPointTerminal; private ChoicepointTerminalElements pChoicepointTerminal; private TriggerElements pTrigger; private MessageFromIfElements pMessageFromIf; private GuardElements pGuard; private ImportElements pImport; private ImportedFQNElements pImportedFQN; private FQNElements pFQN; private final GrammarProvider grammarProvider; private TerminalsGrammarAccess gaTerminals; @Inject public RoomGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammarProvider = grammarProvider; this.gaTerminals = gaTerminals; } public Grammar getGrammar() { return grammarProvider.getGrammar(this); } public TerminalsGrammarAccess getTerminalsGrammarAccess() { return gaTerminals; } //RoomModel: // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"; public RoomModelElements getRoomModelAccess() { return (pRoomModel != null) ? pRoomModel : (pRoomModel = new RoomModelElements()); } public ParserRule getRoomModelRule() { return getRoomModelAccess().getRule(); } //RoomClass: // DataClass | ProtocolClass | StructureClass; public RoomClassElements getRoomClassAccess() { return (pRoomClass != null) ? pRoomClass : (pRoomClass = new RoomClassElements()); } public ParserRule getRoomClassRule() { return getRoomClassAccess().getRule(); } //StructureClass: // ActorContainerClass | LogicalSystem; public StructureClassElements getStructureClassAccess() { return (pStructureClass != null) ? pStructureClass : (pStructureClass = new StructureClassElements()); } public ParserRule getStructureClassRule() { return getStructureClassAccess().getRule(); } //ActorContainerClass: // ActorClass | SubSystemClass; public ActorContainerClassElements getActorContainerClassAccess() { return (pActorContainerClass != null) ? pActorContainerClass : (pActorContainerClass = new ActorContainerClassElements()); } public ParserRule getActorContainerClassRule() { return getActorContainerClassAccess().getRule(); } //// ************************************************************** // //// data class // //// cf. decision DSL2: fixed size data types // //// convert appropriately for Java and issue an error if size not available // //enum PrimitiveType: // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char; public PrimitiveTypeElements getPrimitiveTypeAccess() { return (unknownRulePrimitiveType != null) ? unknownRulePrimitiveType : (unknownRulePrimitiveType = new PrimitiveTypeElements()); } public EnumRule getPrimitiveTypeRule() { return getPrimitiveTypeAccess().getRule(); } //TypedID: // name=ID ":" type=Type; public TypedIDElements getTypedIDAccess() { return (pTypedID != null) ? pTypedID : (pTypedID = new TypedIDElements()); } public ParserRule getTypedIDRule() { return getTypedIDAccess().getRule(); } //FreeTypedID: // name=ID ":" type=FreeType; public FreeTypedIDElements getFreeTypedIDAccess() { return (pFreeTypedID != null) ? pFreeTypedID : (pFreeTypedID = new FreeTypedIDElements()); } public ParserRule getFreeTypedIDRule() { return getFreeTypedIDAccess().getRule(); } //Type: // prim=PrimitiveType | type=[DataClass|FQN]; public TypeElements getTypeAccess() { return (pType != null) ? pType : (pType = new TypeElements()); } public ParserRule getTypeRule() { return getTypeAccess().getRule(); } //FreeType: // prim=PrimitiveType | type=ID; public FreeTypeElements getFreeTypeAccess() { return (pFreeType != null) ? pFreeType : (pFreeType = new FreeTypeElements()); } public ParserRule getFreeTypeRule() { return getFreeTypeAccess().getRule(); } //// TODOHRR: define detail level language? // //DataClass: // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ // operations+=Operation* "}"; public DataClassElements getDataClassAccess() { return (pDataClass != null) ? pDataClass : (pDataClass = new DataClassElements()); } public ParserRule getDataClassRule() { return getDataClassAccess().getRule(); } //Attribute: // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type; public AttributeElements getAttributeAccess() { return (pAttribute != null) ? pAttribute : (pAttribute = new AttributeElements()); } public ParserRule getAttributeRule() { return getAttributeAccess().getRule(); } //// TODOHRR: pass arguments and return value by value/reference // //Operation: // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? // detailCode=DetailCode; public OperationElements getOperationAccess() { return (pOperation != null) ? pOperation : (pOperation = new OperationElements()); } public ParserRule getOperationRule() { return getOperationAccess().getRule(); } //// ************************************************************** // //// protocol class // //ProtocolClass: // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? // "}"; public ProtocolClassElements getProtocolClassAccess() { return (pProtocolClass != null) ? pProtocolClass : (pProtocolClass = new ProtocolClassElements()); } public ParserRule getProtocolClassRule() { return getProtocolClassAccess().getRule(); } //Message: // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"; public MessageElements getMessageAccess() { return (pMessage != null) ? pMessage : (pMessage = new MessageElements()); } public ParserRule getMessageRule() { return getMessageAccess().getRule(); } //PortClass: // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ // "}"; public PortClassElements getPortClassAccess() { return (pPortClass != null) ? pPortClass : (pPortClass = new PortClassElements()); } public ParserRule getPortClassRule() { return getPortClassAccess().getRule(); } //MessageHandler: // "handle" msg=[Message] detailCode=DetailCode; public MessageHandlerElements getMessageHandlerAccess() { return (pMessageHandler != null) ? pMessageHandler : (pMessageHandler = new MessageHandlerElements()); } public ParserRule getMessageHandlerRule() { return getMessageHandlerAccess().getRule(); } //ProtocolSemantics: // "semantics" "{" rules+=SemanticsRule+ "}"; public ProtocolSemanticsElements getProtocolSemanticsAccess() { return (pProtocolSemantics != null) ? pProtocolSemantics : (pProtocolSemantics = new ProtocolSemanticsElements()); } public ParserRule getProtocolSemanticsRule() { return getProtocolSemanticsAccess().getRule(); } //SemanticsRule: // SemanticsInRule | SemanticsOutRule; public SemanticsRuleElements getSemanticsRuleAccess() { return (pSemanticsRule != null) ? pSemanticsRule : (pSemanticsRule = new SemanticsRuleElements()); } public ParserRule getSemanticsRuleRule() { return getSemanticsRuleAccess().getRule(); } //SemanticsInRule: // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; public SemanticsInRuleElements getSemanticsInRuleAccess() { return (pSemanticsInRule != null) ? pSemanticsInRule : (pSemanticsInRule = new SemanticsInRuleElements()); } public ParserRule getSemanticsInRuleRule() { return getSemanticsInRuleAccess().getRule(); } //SemanticsOutRule: // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; public SemanticsOutRuleElements getSemanticsOutRuleAccess() { return (pSemanticsOutRule != null) ? pSemanticsOutRule : (pSemanticsOutRule = new SemanticsOutRuleElements()); } public ParserRule getSemanticsOutRuleRule() { return getSemanticsOutRuleAccess().getRule(); } //// ************************************************************** // //// actor class // //// some notes on ports // //// // //// in ROOM ports can be contained in the structure and/or the interface // //// p in s ==> internal end port // //// p in i ==> relay port // //// p in i and p in s ==> external end port // //// since double containment is not supported we decided to define external ports as reference to interface ports // //ActorClass: // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" // operations+=Operation* stateMachine=StateMachine? "}")? "}"; public ActorClassElements getActorClassAccess() { return (pActorClass != null) ? pActorClass : (pActorClass = new ActorClassElements()); } public ParserRule getActorClassRule() { return getActorClassAccess().getRule(); } //InterfaceItem: // Port | SAPRef | SPPRef; public InterfaceItemElements getInterfaceItemAccess() { return (pInterfaceItem != null) ? pInterfaceItem : (pInterfaceItem = new InterfaceItemElements()); } public ParserRule getInterfaceItemRule() { return getInterfaceItemAccess().getRule(); } //Port: // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]; public PortElements getPortAccess() { return (pPort != null) ? pPort : (pPort = new PortElements()); } public ParserRule getPortRule() { return getPortAccess().getRule(); } //ExternalPort: // "external" "Port" ifport=[Port]; public ExternalPortElements getExternalPortAccess() { return (pExternalPort != null) ? pExternalPort : (pExternalPort = new ExternalPortElements()); } public ParserRule getExternalPortRule() { return getExternalPortAccess().getRule(); } //SAPRef: // we omitted the SAP type (Timing/Frame/Exception) // // "SAP" name=ID ":" protocol=[ProtocolClass|FQN]; public SAPRefElements getSAPRefAccess() { return (pSAPRef != null) ? pSAPRef : (pSAPRef = new SAPRefElements()); } public ParserRule getSAPRefRule() { return getSAPRefAccess().getRule(); } //SPPRef: // "SPP" name=ID ":" protocol=[ProtocolClass|FQN]; public SPPRefElements getSPPRefAccess() { return (pSPPRef != null) ? pSPPRef : (pSPPRef = new SPPRefElements()); } public ParserRule getSPPRefRule() { return getSPPRefAccess().getRule(); } //ServiceImplementation: // "ServiceImplementation" "of" spp=[SPPRef]; public ServiceImplementationElements getServiceImplementationAccess() { return (pServiceImplementation != null) ? pServiceImplementation : (pServiceImplementation = new ServiceImplementationElements()); } public ParserRule getServiceImplementationRule() { return getServiceImplementationAccess().getRule(); } //LogicalSystem: // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"; public LogicalSystemElements getLogicalSystemAccess() { return (pLogicalSystem != null) ? pLogicalSystem : (pLogicalSystem = new LogicalSystemElements()); } public ParserRule getLogicalSystemRule() { return getLogicalSystemAccess().getRule(); } //ActorContainerRef: // SubSystemRef | ActorRef; public ActorContainerRefElements getActorContainerRefAccess() { return (pActorContainerRef != null) ? pActorContainerRef : (pActorContainerRef = new ActorContainerRefElements()); } public ParserRule getActorContainerRefRule() { return getActorContainerRefAccess().getRule(); } //SubSystemRef: // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]; public SubSystemRefElements getSubSystemRefAccess() { return (pSubSystemRef != null) ? pSubSystemRef : (pSubSystemRef = new SubSystemRefElements()); } public ParserRule getSubSystemRefRule() { return getSubSystemRefAccess().getRule(); } //SubSystemClass: // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* // connections+=LayerConnection* threads+=LogicalThread* "}"; public SubSystemClassElements getSubSystemClassAccess() { return (pSubSystemClass != null) ? pSubSystemClass : (pSubSystemClass = new SubSystemClassElements()); } public ParserRule getSubSystemClassRule() { return getSubSystemClassAccess().getRule(); } //LogicalThread: // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"; public LogicalThreadElements getLogicalThreadAccess() { return (pLogicalThread != null) ? pLogicalThread : (pLogicalThread = new LogicalThreadElements()); } public ParserRule getLogicalThreadRule() { return getLogicalThreadAccess().getRule(); } //ActorInstancePath: // segments+=ID ("." segments+=ID)*; public ActorInstancePathElements getActorInstancePathAccess() { return (pActorInstancePath != null) ? pActorInstancePath : (pActorInstancePath = new ActorInstancePathElements()); } public ParserRule getActorInstancePathRule() { return getActorInstancePathAccess().getRule(); } //// TODOHRR: bindings for replicated ports // //// (1) declare several bindings // //// (2) use a notation with 1 to n bindings // //Binding: // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint; public BindingElements getBindingAccess() { return (pBinding != null) ? pBinding : (pBinding = new BindingElements()); } public ParserRule getBindingRule() { return getBindingAccess().getRule(); } //BindingEndPoint: // (actorRef=[ActorContainerRef] ".")? port=[Port]; public BindingEndPointElements getBindingEndPointAccess() { return (pBindingEndPoint != null) ? pBindingEndPoint : (pBindingEndPoint = new BindingEndPointElements()); } public ParserRule getBindingEndPointRule() { return getBindingEndPointAccess().getRule(); } //LayerConnection: // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint; public LayerConnectionElements getLayerConnectionAccess() { return (pLayerConnection != null) ? pLayerConnection : (pLayerConnection = new LayerConnectionElements()); } public ParserRule getLayerConnectionRule() { return getLayerConnectionAccess().getRule(); } //SAPoint: // RefSAPoint | RelaySAPoint; public SAPointElements getSAPointAccess() { return (pSAPoint != null) ? pSAPoint : (pSAPoint = new SAPointElements()); } public ParserRule getSAPointRule() { return getSAPointAccess().getRule(); } //RefSAPoint: // satisfies a sub actor // // "ref" ref=[ActorContainerRef]; public RefSAPointElements getRefSAPointAccess() { return (pRefSAPoint != null) ? pRefSAPoint : (pRefSAPoint = new RefSAPointElements()); } public ParserRule getRefSAPointRule() { return getRefSAPointAccess().getRule(); } //RelaySAPoint: // relays from own interface // // "relay_sap" relay=[SPPRef]; public RelaySAPointElements getRelaySAPointAccess() { return (pRelaySAPoint != null) ? pRelaySAPoint : (pRelaySAPoint = new RelaySAPointElements()); } public ParserRule getRelaySAPointRule() { return getRelaySAPointAccess().getRule(); } //SPPoint: // ref=[ActorContainerRef] "." service=[SPPRef]; public SPPointElements getSPPointAccess() { return (pSPPoint != null) ? pSPPoint : (pSPPoint = new SPPointElements()); } public ParserRule getSPPointRule() { return getSPPointAccess().getRule(); } //// TODOHRR: support replicated actors // //ActorRef: // "ActorRef" name=ID ":" type=[ActorClass|FQN]; public ActorRefElements getActorRefAccess() { return (pActorRef != null) ? pActorRef : (pActorRef = new ActorRefElements()); } public ParserRule getActorRefRule() { return getActorRefAccess().getRule(); } //// ************************************************************** // //// state machine // //StateGraphNode: // State | ChoicePoint | TrPoint; public StateGraphNodeElements getStateGraphNodeAccess() { return (pStateGraphNode != null) ? pStateGraphNode : (pStateGraphNode = new StateGraphNodeElements()); } public ParserRule getStateGraphNodeRule() { return getStateGraphNodeAccess().getRule(); } //StateGraphItem: // StateGraphNode | Transition; public StateGraphItemElements getStateGraphItemAccess() { return (pStateGraphItem != null) ? pStateGraphItem : (pStateGraphItem = new StateGraphItemElements()); } public ParserRule getStateGraphItemRule() { return getStateGraphItemAccess().getRule(); } //State: // BaseState | RefinedState; public StateElements getStateAccess() { return (pState != null) ? pState : (pState = new StateElements()); } public ParserRule getStateRule() { return getStateAccess().getRule(); } //StateGraph: // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; public StateGraphElements getStateGraphAccess() { return (pStateGraph != null) ? pStateGraph : (pStateGraph = new StateGraphElements()); } public ParserRule getStateGraphRule() { return getStateGraphAccess().getRule(); } //StateMachine returns StateGraph: // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; public StateMachineElements getStateMachineAccess() { return (pStateMachine != null) ? pStateMachine : (pStateMachine = new StateMachineElements()); } public ParserRule getStateMachineRule() { return getStateMachineAccess().getRule(); } //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here, // //// in RefinedState to still have both features in the common base class State // //BaseState: // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? // "}"; public BaseStateElements getBaseStateAccess() { return (pBaseState != null) ? pBaseState : (pBaseState = new BaseStateElements()); } public ParserRule getBaseStateRule() { return getBaseStateAccess().getRule(); } //RefinedState: // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" // subgraph=StateGraph)? "}"; public RefinedStateElements getRefinedStateAccess() { return (pRefinedState != null) ? pRefinedState : (pRefinedState = new RefinedStateElements()); } public ParserRule getRefinedStateRule() { return getRefinedStateAccess().getRule(); } //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f) // //// super() keyword or flag like in Trice // //DetailCode: // "{" commands+=STRING+ "}"; public DetailCodeElements getDetailCodeAccess() { return (pDetailCode != null) ? pDetailCode : (pDetailCode = new DetailCodeElements()); } public ParserRule getDetailCodeRule() { return getDetailCodeAccess().getRule(); } //TrPoint: // TransitionPoint | EntryPoint | ExitPoint; public TrPointElements getTrPointAccess() { return (pTrPoint != null) ? pTrPoint : (pTrPoint = new TrPointElements()); } public ParserRule getTrPointRule() { return getTrPointAccess().getRule(); } //TransitionPoint: // handler?="handler"? "TransitionPoint" name=ID; public TransitionPointElements getTransitionPointAccess() { return (pTransitionPoint != null) ? pTransitionPoint : (pTransitionPoint = new TransitionPointElements()); } public ParserRule getTransitionPointRule() { return getTransitionPointAccess().getRule(); } //EntryPoint: // "EntryPoint" name=ID; public EntryPointElements getEntryPointAccess() { return (pEntryPoint != null) ? pEntryPoint : (pEntryPoint = new EntryPointElements()); } public ParserRule getEntryPointRule() { return getEntryPointAccess().getRule(); } //ExitPoint: // "ExitPoint" name=ID; public ExitPointElements getExitPointAccess() { return (pExitPoint != null) ? pExitPoint : (pExitPoint = new ExitPointElements()); } public ParserRule getExitPointRule() { return getExitPointAccess().getRule(); } //ChoicePoint: // "ChoicePoint" name=ID; public ChoicePointElements getChoicePointAccess() { return (pChoicePoint != null) ? pChoicePoint : (pChoicePoint = new ChoicePointElements()); } public ParserRule getChoicePointRule() { return getChoicePointAccess().getRule(); } //Transition: // InitialTransition | NonInitialTransition; public TransitionElements getTransitionAccess() { return (pTransition != null) ? pTransition : (pTransition = new TransitionElements()); } public ParserRule getTransitionRule() { return getTransitionAccess().getRule(); } //NonInitialTransition: // TriggeredTransition | ContinuationTransition | CPBranchTransition; public NonInitialTransitionElements getNonInitialTransitionAccess() { return (pNonInitialTransition != null) ? pNonInitialTransition : (pNonInitialTransition = new NonInitialTransitionElements()); } public ParserRule getNonInitialTransitionRule() { return getNonInitialTransitionAccess().getRule(); } //InitialTransition: // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; public InitialTransitionElements getInitialTransitionAccess() { return (pInitialTransition != null) ? pInitialTransition : (pInitialTransition = new InitialTransitionElements()); } public ParserRule getInitialTransitionRule() { return getInitialTransitionAccess().getRule(); } //ContinuationTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; public ContinuationTransitionElements getContinuationTransitionAccess() { return (pContinuationTransition != null) ? pContinuationTransition : (pContinuationTransition = new ContinuationTransitionElements()); } public ParserRule getContinuationTransitionRule() { return getContinuationTransitionAccess().getRule(); } //TriggeredTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"; public TriggeredTransitionElements getTriggeredTransitionAccess() { return (pTriggeredTransition != null) ? pTriggeredTransition : (pTriggeredTransition = new TriggeredTransitionElements()); } public ParserRule getTriggeredTransitionRule() { return getTriggeredTransitionAccess().getRule(); } //CPBranchTransition: // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" // action=DetailCode)? "}"; public CPBranchTransitionElements getCPBranchTransitionAccess() { return (pCPBranchTransition != null) ? pCPBranchTransition : (pCPBranchTransition = new CPBranchTransitionElements()); } public ParserRule getCPBranchTransitionRule() { return getCPBranchTransitionAccess().getRule(); } //TransitionTerminal: // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal; public TransitionTerminalElements getTransitionTerminalAccess() { return (pTransitionTerminal != null) ? pTransitionTerminal : (pTransitionTerminal = new TransitionTerminalElements()); } public ParserRule getTransitionTerminalRule() { return getTransitionTerminalAccess().getRule(); } //StateTerminal: // state=[BaseState]; public StateTerminalElements getStateTerminalAccess() { return (pStateTerminal != null) ? pStateTerminal : (pStateTerminal = new StateTerminalElements()); } public ParserRule getStateTerminalRule() { return getStateTerminalAccess().getRule(); } //TrPointTerminal: // "my" trPoint=[TrPoint]; public TrPointTerminalElements getTrPointTerminalAccess() { return (pTrPointTerminal != null) ? pTrPointTerminal : (pTrPointTerminal = new TrPointTerminalElements()); } public ParserRule getTrPointTerminalRule() { return getTrPointTerminalAccess().getRule(); } //SubStateTrPointTerminal: // trPoint=[TrPoint] "of" state=[BaseState]; public SubStateTrPointTerminalElements getSubStateTrPointTerminalAccess() { return (pSubStateTrPointTerminal != null) ? pSubStateTrPointTerminal : (pSubStateTrPointTerminal = new SubStateTrPointTerminalElements()); } public ParserRule getSubStateTrPointTerminalRule() { return getSubStateTrPointTerminalAccess().getRule(); } //ChoicepointTerminal: // "cp" cp=[ChoicePoint]; public ChoicepointTerminalElements getChoicepointTerminalAccess() { return (pChoicepointTerminal != null) ? pChoicepointTerminal : (pChoicepointTerminal = new ChoicepointTerminalElements()); } public ParserRule getChoicepointTerminalRule() { return getChoicepointTerminalAccess().getRule(); } ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef; // ////TransitionSource: TransitionTerminal|ChoicePointRef; // ////TransitionDest: TransitionTerminal|ChoicePointRef; // ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID]; // ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default'; // ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID]; // //Trigger: // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"; public TriggerElements getTriggerAccess() { return (pTrigger != null) ? pTrigger : (pTrigger = new TriggerElements()); } public ParserRule getTriggerRule() { return getTriggerAccess().getRule(); } //MessageFromIf: // message=[Message] ":" from=[InterfaceItem]; public MessageFromIfElements getMessageFromIfAccess() { return (pMessageFromIf != null) ? pMessageFromIf : (pMessageFromIf = new MessageFromIfElements()); } public ParserRule getMessageFromIfRule() { return getMessageFromIfAccess().getRule(); } //Guard: // "guard" guard=DetailCode; public GuardElements getGuardAccess() { return (pGuard != null) ? pGuard : (pGuard = new GuardElements()); } public ParserRule getGuardRule() { return getGuardAccess().getRule(); } //// ************************************************************** // //// general // //Import: // "import" importedNamespace=ImportedFQN; public ImportElements getImportAccess() { return (pImport != null) ? pImport : (pImport = new ImportElements()); } public ParserRule getImportRule() { return getImportAccess().getRule(); } //ImportedFQN returns ecore::EString: // FQN ("." "*")?; public ImportedFQNElements getImportedFQNAccess() { return (pImportedFQN != null) ? pImportedFQN : (pImportedFQN = new ImportedFQNElements()); } public ParserRule getImportedFQNRule() { return getImportedFQNAccess().getRule(); } //FQN returns ecore::EString: // ID ("." ID)*; public FQNElements getFQNAccess() { return (pFQN != null) ? pFQN : (pFQN = new FQNElements()); } public ParserRule getFQNRule() { return getFQNAccess().getRule(); } //terminal ID: // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } //terminal INT returns ecore::EInt: // "0".."9"+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | "n" | // "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } //terminal ANY_OTHER: // .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); } }