/*
* 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();
}
}