/* * generated by Xtext */ package edu.ksu.cis.projects.mdcf.devicemodel.services; import com.google.inject.Singleton; import com.google.inject.Inject; import java.util.List; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; @Singleton public class DeviceModelingLanguageGrammarAccess extends AbstractGrammarElementFinder { public class ModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model"); private final Group cGroup = (Group)rule.eContents().get(1); private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); private final Assignment cSchemaAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); private final Keyword cSchemaSchemaKeyword_0_0_0 = (Keyword)cSchemaAssignment_0_0.eContents().get(0); private final Assignment cClassAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); private final Keyword cClassClassKeyword_0_1_0 = (Keyword)cClassAssignment_0_1.eContents().get(0); private final Assignment cProductAssignment_0_2 = (Assignment)cAlternatives_0.eContents().get(2); private final Keyword cProductProductKeyword_0_2_0 = (Keyword)cProductAssignment_0_2.eContents().get(0); private final Assignment cDeclsAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cDeclsDeclParserRuleCall_1_0 = (RuleCall)cDeclsAssignment_1.eContents().get(0); //Model: // (schema?="Schema" | class?="Class" | product?="Product")? decls+=Decl*; public ParserRule getRule() { return rule; } //(schema?="Schema" | class?="Class" | product?="Product")? decls+=Decl* public Group getGroup() { return cGroup; } //(schema?="Schema" | class?="Class" | product?="Product")? public Alternatives getAlternatives_0() { return cAlternatives_0; } //schema?="Schema" public Assignment getSchemaAssignment_0_0() { return cSchemaAssignment_0_0; } //"Schema" public Keyword getSchemaSchemaKeyword_0_0_0() { return cSchemaSchemaKeyword_0_0_0; } //class?="Class" public Assignment getClassAssignment_0_1() { return cClassAssignment_0_1; } //"Class" public Keyword getClassClassKeyword_0_1_0() { return cClassClassKeyword_0_1_0; } //product?="Product" public Assignment getProductAssignment_0_2() { return cProductAssignment_0_2; } //"Product" public Keyword getProductProductKeyword_0_2_0() { return cProductProductKeyword_0_2_0; } //decls+=Decl* public Assignment getDeclsAssignment_1() { return cDeclsAssignment_1; } //Decl public RuleCall getDeclsDeclParserRuleCall_1_0() { return cDeclsDeclParserRuleCall_1_0; } } public class DeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Decl"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cTypeDeclParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cFeatureDeclParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Decl: // TypeDecl | FeatureDecl; public ParserRule getRule() { return rule; } //TypeDecl | FeatureDecl public Alternatives getAlternatives() { return cAlternatives; } //TypeDecl public RuleCall getTypeDeclParserRuleCall_0() { return cTypeDeclParserRuleCall_0; } //FeatureDecl public RuleCall getFeatureDeclParserRuleCall_1() { return cFeatureDeclParserRuleCall_1; } } public class TypeDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypeDecl"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTypeKeyword_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 cSupersAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final CrossReference cSupersTypeDeclCrossReference_2_1_0 = (CrossReference)cSupersAssignment_2_1.eContents().get(0); private final RuleCall cSupersTypeDeclIDTerminalRuleCall_2_1_0_1 = (RuleCall)cSupersTypeDeclCrossReference_2_1_0.eContents().get(1); private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); private final Keyword cWithKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); private final Assignment cSupersAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); private final CrossReference cSupersTypeDeclCrossReference_2_2_1_0 = (CrossReference)cSupersAssignment_2_2_1.eContents().get(0); private final RuleCall cSupersTypeDeclIDTerminalRuleCall_2_2_1_0_1 = (RuleCall)cSupersTypeDeclCrossReference_2_2_1_0.eContents().get(1); //TypeDecl: // "type" name=ID ("extends" supers+=[TypeDecl] ("with" supers+=[TypeDecl])*)?; public ParserRule getRule() { return rule; } //"type" name=ID ("extends" supers+=[TypeDecl] ("with" supers+=[TypeDecl])*)? public Group getGroup() { return cGroup; } //"type" public Keyword getTypeKeyword_0() { return cTypeKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //("extends" supers+=[TypeDecl] ("with" supers+=[TypeDecl])*)? public Group getGroup_2() { return cGroup_2; } //"extends" public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } //supers+=[TypeDecl] public Assignment getSupersAssignment_2_1() { return cSupersAssignment_2_1; } //[TypeDecl] public CrossReference getSupersTypeDeclCrossReference_2_1_0() { return cSupersTypeDeclCrossReference_2_1_0; } //ID public RuleCall getSupersTypeDeclIDTerminalRuleCall_2_1_0_1() { return cSupersTypeDeclIDTerminalRuleCall_2_1_0_1; } //("with" supers+=[TypeDecl])* public Group getGroup_2_2() { return cGroup_2_2; } //"with" public Keyword getWithKeyword_2_2_0() { return cWithKeyword_2_2_0; } //supers+=[TypeDecl] public Assignment getSupersAssignment_2_2_1() { return cSupersAssignment_2_2_1; } //[TypeDecl] public CrossReference getSupersTypeDeclCrossReference_2_2_1_0() { return cSupersTypeDeclCrossReference_2_2_1_0; } //ID public RuleCall getSupersTypeDeclIDTerminalRuleCall_2_2_1_0_1() { return cSupersTypeDeclIDTerminalRuleCall_2_2_1_0_1; } } public class FeatureDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FeatureDecl"); private final Group cGroup = (Group)rule.eContents().get(1); private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); private final Keyword cFeatureKeyword_0_0_0 = (Keyword)cGroup_0_0.eContents().get(0); private final Action cFeatureAction_0_0_1 = (Action)cGroup_0_0.eContents().get(1); private final Alternatives cAlternatives_0_0_2 = (Alternatives)cGroup_0_0.eContents().get(2); private final Assignment cSchemaAssignment_0_0_2_0 = (Assignment)cAlternatives_0_0_2.eContents().get(0); private final Keyword cSchemaSchemaKeyword_0_0_2_0_0 = (Keyword)cSchemaAssignment_0_0_2_0.eContents().get(0); private final Assignment cClassAssignment_0_0_2_1 = (Assignment)cAlternatives_0_0_2.eContents().get(1); private final Keyword cClassClassKeyword_0_0_2_1_0 = (Keyword)cClassAssignment_0_0_2_1.eContents().get(0); private final Assignment cProductAssignment_0_0_2_2 = (Assignment)cAlternatives_0_0_2.eContents().get(2); private final Keyword cProductProductKeyword_0_0_2_2_0 = (Keyword)cProductAssignment_0_0_2_2.eContents().get(0); private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1); private final Keyword cDataKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0); private final Action cDataAction_0_1_1 = (Action)cGroup_0_1.eContents().get(1); private final Group cGroup_0_2 = (Group)cAlternatives_0.eContents().get(2); private final Keyword cDeviceKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); private final Action cDeviceAction_0_2_1 = (Action)cGroup_0_2.eContents().get(1); private final Group cGroup_0_3 = (Group)cAlternatives_0.eContents().get(3); private final Keyword cAppKeyword_0_3_0 = (Keyword)cGroup_0_3.eContents().get(0); private final Action cAppAction_0_3_1 = (Action)cGroup_0_3.eContents().get(1); 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 cSupersAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final CrossReference cSupersFeatureDeclCrossReference_2_1_0 = (CrossReference)cSupersAssignment_2_1.eContents().get(0); private final RuleCall cSupersFeatureDeclIDTerminalRuleCall_2_1_0_1 = (RuleCall)cSupersFeatureDeclCrossReference_2_1_0.eContents().get(1); private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); private final Keyword cWithKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); private final Assignment cSupersAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); private final CrossReference cSupersFeatureDeclCrossReference_2_2_1_0 = (CrossReference)cSupersAssignment_2_2_1.eContents().get(0); private final RuleCall cSupersFeatureDeclIDTerminalRuleCall_2_2_1_0_1 = (RuleCall)cSupersFeatureDeclCrossReference_2_2_1_0.eContents().get(1); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cMembersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cMembersMemberDeclParserRuleCall_3_1_0 = (RuleCall)cMembersAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cRequiresKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cDevicesAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final RuleCall cDevicesDeviceParserRuleCall_4_2_0 = (RuleCall)cDevicesAssignment_4_2.eContents().get(0); private final Assignment cAssignsAssignment_4_3 = (Assignment)cGroup_4.eContents().get(3); private final RuleCall cAssignsAssignmentParserRuleCall_4_3_0 = (RuleCall)cAssignsAssignment_4_3.eContents().get(0); private final Assignment cExpAssignment_4_4 = (Assignment)cGroup_4.eContents().get(4); private final RuleCall cExpExpParserRuleCall_4_4_0 = (RuleCall)cExpAssignment_4_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4_5 = (Keyword)cGroup_4.eContents().get(5); //FeatureDecl: // ("feature" {Feature} (schema?="schema" | class?="class" | product?="product")? | "data" {Data} | "device" {Device} | // "app" {App}) name=ID ("extends" supers+=[FeatureDecl] ("with" supers+=[FeatureDecl])*)? ("{" members+=MemberDecl* // "}")? ("requires" "{" devices+=Device* assigns+=Assignment* exp=Exp "}")?; public ParserRule getRule() { return rule; } //("feature" {Feature} (schema?="schema" | class?="class" | product?="product")? | "data" {Data} | "device" {Device} | //"app" {App}) name=ID ("extends" supers+=[FeatureDecl] ("with" supers+=[FeatureDecl])*)? ("{" members+=MemberDecl* "}")? //("requires" "{" devices+=Device* assigns+=Assignment* exp=Exp "}")? public Group getGroup() { return cGroup; } //"feature" {Feature} (schema?="schema" | class?="class" | product?="product")? | "data" {Data} | "device" {Device} | //"app" {App} public Alternatives getAlternatives_0() { return cAlternatives_0; } //"feature" {Feature} (schema?="schema" | class?="class" | product?="product")? public Group getGroup_0_0() { return cGroup_0_0; } //"feature" public Keyword getFeatureKeyword_0_0_0() { return cFeatureKeyword_0_0_0; } //{Feature} public Action getFeatureAction_0_0_1() { return cFeatureAction_0_0_1; } //(schema?="schema" | class?="class" | product?="product")? public Alternatives getAlternatives_0_0_2() { return cAlternatives_0_0_2; } //schema?="schema" public Assignment getSchemaAssignment_0_0_2_0() { return cSchemaAssignment_0_0_2_0; } //"schema" public Keyword getSchemaSchemaKeyword_0_0_2_0_0() { return cSchemaSchemaKeyword_0_0_2_0_0; } //class?="class" public Assignment getClassAssignment_0_0_2_1() { return cClassAssignment_0_0_2_1; } //"class" public Keyword getClassClassKeyword_0_0_2_1_0() { return cClassClassKeyword_0_0_2_1_0; } //product?="product" public Assignment getProductAssignment_0_0_2_2() { return cProductAssignment_0_0_2_2; } //"product" public Keyword getProductProductKeyword_0_0_2_2_0() { return cProductProductKeyword_0_0_2_2_0; } //"data" {Data} public Group getGroup_0_1() { return cGroup_0_1; } //"data" public Keyword getDataKeyword_0_1_0() { return cDataKeyword_0_1_0; } //{Data} public Action getDataAction_0_1_1() { return cDataAction_0_1_1; } //"device" {Device} public Group getGroup_0_2() { return cGroup_0_2; } //"device" public Keyword getDeviceKeyword_0_2_0() { return cDeviceKeyword_0_2_0; } //{Device} public Action getDeviceAction_0_2_1() { return cDeviceAction_0_2_1; } //"app" {App} public Group getGroup_0_3() { return cGroup_0_3; } //"app" public Keyword getAppKeyword_0_3_0() { return cAppKeyword_0_3_0; } //{App} public Action getAppAction_0_3_1() { return cAppAction_0_3_1; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //("extends" supers+=[FeatureDecl] ("with" supers+=[FeatureDecl])*)? public Group getGroup_2() { return cGroup_2; } //"extends" public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } //supers+=[FeatureDecl] public Assignment getSupersAssignment_2_1() { return cSupersAssignment_2_1; } //[FeatureDecl] public CrossReference getSupersFeatureDeclCrossReference_2_1_0() { return cSupersFeatureDeclCrossReference_2_1_0; } //ID public RuleCall getSupersFeatureDeclIDTerminalRuleCall_2_1_0_1() { return cSupersFeatureDeclIDTerminalRuleCall_2_1_0_1; } //("with" supers+=[FeatureDecl])* public Group getGroup_2_2() { return cGroup_2_2; } //"with" public Keyword getWithKeyword_2_2_0() { return cWithKeyword_2_2_0; } //supers+=[FeatureDecl] public Assignment getSupersAssignment_2_2_1() { return cSupersAssignment_2_2_1; } //[FeatureDecl] public CrossReference getSupersFeatureDeclCrossReference_2_2_1_0() { return cSupersFeatureDeclCrossReference_2_2_1_0; } //ID public RuleCall getSupersFeatureDeclIDTerminalRuleCall_2_2_1_0_1() { return cSupersFeatureDeclIDTerminalRuleCall_2_2_1_0_1; } //("{" members+=MemberDecl* "}")? public Group getGroup_3() { return cGroup_3; } //"{" public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; } //members+=MemberDecl* public Assignment getMembersAssignment_3_1() { return cMembersAssignment_3_1; } //MemberDecl public RuleCall getMembersMemberDeclParserRuleCall_3_1_0() { return cMembersMemberDeclParserRuleCall_3_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; } //("requires" "{" devices+=Device* assigns+=Assignment* exp=Exp "}")? public Group getGroup_4() { return cGroup_4; } //"requires" public Keyword getRequiresKeyword_4_0() { return cRequiresKeyword_4_0; } //"{" public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; } //devices+=Device* public Assignment getDevicesAssignment_4_2() { return cDevicesAssignment_4_2; } //Device public RuleCall getDevicesDeviceParserRuleCall_4_2_0() { return cDevicesDeviceParserRuleCall_4_2_0; } //assigns+=Assignment* public Assignment getAssignsAssignment_4_3() { return cAssignsAssignment_4_3; } //Assignment public RuleCall getAssignsAssignmentParserRuleCall_4_3_0() { return cAssignsAssignmentParserRuleCall_4_3_0; } //exp=Exp public Assignment getExpAssignment_4_4() { return cExpAssignment_4_4; } //Exp public RuleCall getExpExpParserRuleCall_4_4_0() { return cExpExpParserRuleCall_4_4_0; } //"}" public Keyword getRightCurlyBracketKeyword_4_5() { return cRightCurlyBracketKeyword_4_5; } } public class MemberDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MemberDecl"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cAttrDeclParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSubMemberDeclParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cInvariantDeclParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //MemberDecl: // AttrDecl | SubMemberDecl | InvariantDecl; public ParserRule getRule() { return rule; } //AttrDecl | SubMemberDecl | InvariantDecl public Alternatives getAlternatives() { return cAlternatives; } //AttrDecl public RuleCall getAttrDeclParserRuleCall_0() { return cAttrDeclParserRuleCall_0; } //SubMemberDecl public RuleCall getSubMemberDeclParserRuleCall_1() { return cSubMemberDeclParserRuleCall_1; } //InvariantDecl public RuleCall getInvariantDeclParserRuleCall_2() { return cInvariantDeclParserRuleCall_2; } } public class AttrDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrDecl"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cModifierAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cModifierModifierParserRuleCall_0_0 = (RuleCall)cModifierAssignment_0.eContents().get(0); private final Assignment cAttributeNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cAttributeNameIDTerminalRuleCall_1_0 = (RuleCall)cAttributeNameAssignment_1.eContents().get(0); private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); private final Keyword cColonKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); private final Assignment cTypeAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1); private final RuleCall cTypeTypeParserRuleCall_2_0_1_0 = (RuleCall)cTypeAssignment_2_0_1.eContents().get(0); private final Group cGroup_2_0_2 = (Group)cGroup_2_0.eContents().get(2); private final Keyword cEqualsSignKeyword_2_0_2_0 = (Keyword)cGroup_2_0_2.eContents().get(0); private final Assignment cLiteralAssignment_2_0_2_1 = (Assignment)cGroup_2_0_2.eContents().get(1); private final RuleCall cLiteralLiteralParserRuleCall_2_0_2_1_0 = (RuleCall)cLiteralAssignment_2_0_2_1.eContents().get(0); private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); private final Keyword cEqualsSignKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cLiteralAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cLiteralLiteralParserRuleCall_2_1_1_0 = (RuleCall)cLiteralAssignment_2_1_1.eContents().get(0); //AttrDecl: // modifier=Modifier attributeName=ID (":" type=Type ("=" literal=Literal)? | "=" literal=Literal); public ParserRule getRule() { return rule; } //modifier=Modifier attributeName=ID (":" type=Type ("=" literal=Literal)? | "=" literal=Literal) public Group getGroup() { return cGroup; } //modifier=Modifier public Assignment getModifierAssignment_0() { return cModifierAssignment_0; } //Modifier public RuleCall getModifierModifierParserRuleCall_0_0() { return cModifierModifierParserRuleCall_0_0; } //attributeName=ID public Assignment getAttributeNameAssignment_1() { return cAttributeNameAssignment_1; } //ID public RuleCall getAttributeNameIDTerminalRuleCall_1_0() { return cAttributeNameIDTerminalRuleCall_1_0; } //":" type=Type ("=" literal=Literal)? | "=" literal=Literal public Alternatives getAlternatives_2() { return cAlternatives_2; } //":" type=Type ("=" literal=Literal)? public Group getGroup_2_0() { return cGroup_2_0; } //":" public Keyword getColonKeyword_2_0_0() { return cColonKeyword_2_0_0; } //type=Type public Assignment getTypeAssignment_2_0_1() { return cTypeAssignment_2_0_1; } //Type public RuleCall getTypeTypeParserRuleCall_2_0_1_0() { return cTypeTypeParserRuleCall_2_0_1_0; } //("=" literal=Literal)? public Group getGroup_2_0_2() { return cGroup_2_0_2; } //"=" public Keyword getEqualsSignKeyword_2_0_2_0() { return cEqualsSignKeyword_2_0_2_0; } //literal=Literal public Assignment getLiteralAssignment_2_0_2_1() { return cLiteralAssignment_2_0_2_1; } //Literal public RuleCall getLiteralLiteralParserRuleCall_2_0_2_1_0() { return cLiteralLiteralParserRuleCall_2_0_2_1_0; } //"=" literal=Literal public Group getGroup_2_1() { return cGroup_2_1; } //"=" public Keyword getEqualsSignKeyword_2_1_0() { return cEqualsSignKeyword_2_1_0; } //literal=Literal public Assignment getLiteralAssignment_2_1_1() { return cLiteralAssignment_2_1_1; } //Literal public RuleCall getLiteralLiteralParserRuleCall_2_1_1_0() { return cLiteralLiteralParserRuleCall_2_1_1_0; } } public class ModifierElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Modifier"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cConstKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cConstAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Alternatives cAlternatives_0_2 = (Alternatives)cGroup_0.eContents().get(2); private final Assignment cSchemaAssignment_0_2_0 = (Assignment)cAlternatives_0_2.eContents().get(0); private final Keyword cSchemaSchemaKeyword_0_2_0_0 = (Keyword)cSchemaAssignment_0_2_0.eContents().get(0); private final Assignment cClassAssignment_0_2_1 = (Assignment)cAlternatives_0_2.eContents().get(1); private final Keyword cClassClassKeyword_0_2_1_0 = (Keyword)cClassAssignment_0_2_1.eContents().get(0); private final Assignment cProductAssignment_0_2_2 = (Assignment)cAlternatives_0_2.eContents().get(2); private final Keyword cProductProductKeyword_0_2_2_0 = (Keyword)cProductAssignment_0_2_2.eContents().get(0); private final Assignment cInstanceAssignment_0_2_3 = (Assignment)cAlternatives_0_2.eContents().get(3); private final Keyword cInstanceInstanceKeyword_0_2_3_0 = (Keyword)cInstanceAssignment_0_2_3.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cValKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cValAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cVarKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Action cVarAction_2_1 = (Action)cGroup_2.eContents().get(1); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cOverrideKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Action cOverrideAction_3_1 = (Action)cGroup_3.eContents().get(1); //Modifier: // "const" {Const} (schema?="schema" | class?="class" | product?="product" | instance?="instance")? | "val" {Val} | "var" // {Var} | "override" {Override}; public ParserRule getRule() { return rule; } //"const" {Const} (schema?="schema" | class?="class" | product?="product" | instance?="instance")? | "val" {Val} | "var" //{Var} | "override" {Override} public Alternatives getAlternatives() { return cAlternatives; } //"const" {Const} (schema?="schema" | class?="class" | product?="product" | instance?="instance")? public Group getGroup_0() { return cGroup_0; } //"const" public Keyword getConstKeyword_0_0() { return cConstKeyword_0_0; } //{Const} public Action getConstAction_0_1() { return cConstAction_0_1; } //(schema?="schema" | class?="class" | product?="product" | instance?="instance")? public Alternatives getAlternatives_0_2() { return cAlternatives_0_2; } //schema?="schema" public Assignment getSchemaAssignment_0_2_0() { return cSchemaAssignment_0_2_0; } //"schema" public Keyword getSchemaSchemaKeyword_0_2_0_0() { return cSchemaSchemaKeyword_0_2_0_0; } //class?="class" public Assignment getClassAssignment_0_2_1() { return cClassAssignment_0_2_1; } //"class" public Keyword getClassClassKeyword_0_2_1_0() { return cClassClassKeyword_0_2_1_0; } //product?="product" public Assignment getProductAssignment_0_2_2() { return cProductAssignment_0_2_2; } //"product" public Keyword getProductProductKeyword_0_2_2_0() { return cProductProductKeyword_0_2_2_0; } //instance?="instance" public Assignment getInstanceAssignment_0_2_3() { return cInstanceAssignment_0_2_3; } //"instance" public Keyword getInstanceInstanceKeyword_0_2_3_0() { return cInstanceInstanceKeyword_0_2_3_0; } //"val" {Val} public Group getGroup_1() { return cGroup_1; } //"val" public Keyword getValKeyword_1_0() { return cValKeyword_1_0; } //{Val} public Action getValAction_1_1() { return cValAction_1_1; } //"var" {Var} public Group getGroup_2() { return cGroup_2; } //"var" public Keyword getVarKeyword_2_0() { return cVarKeyword_2_0; } //{Var} public Action getVarAction_2_1() { return cVarAction_2_1; } //"override" {Override} public Group getGroup_3() { return cGroup_3; } //"override" public Keyword getOverrideKeyword_3_0() { return cOverrideKeyword_3_0; } //{Override} public Action getOverrideAction_3_1() { return cOverrideAction_3_1; } } public class SubMemberDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubMemberDecl"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cModifierAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cModifierMModifierParserRuleCall_0_0 = (RuleCall)cModifierAssignment_0.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 RuleCall cTypeFeatureTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); //SubMemberDecl: // modifier=MModifier? name=ID ":" type=FeatureType; public ParserRule getRule() { return rule; } //modifier=MModifier? name=ID ":" type=FeatureType public Group getGroup() { return cGroup; } //modifier=MModifier? public Assignment getModifierAssignment_0() { return cModifierAssignment_0; } //MModifier public RuleCall getModifierMModifierParserRuleCall_0_0() { return cModifierMModifierParserRuleCall_0_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=FeatureType public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } //FeatureType public RuleCall getTypeFeatureTypeParserRuleCall_3_0() { return cTypeFeatureTypeParserRuleCall_3_0; } } public class MModifierElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MModifier"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cConstKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cConstAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Alternatives cAlternatives_0_2 = (Alternatives)cGroup_0.eContents().get(2); private final Assignment cSchemaAssignment_0_2_0 = (Assignment)cAlternatives_0_2.eContents().get(0); private final Keyword cSchemaSchemaKeyword_0_2_0_0 = (Keyword)cSchemaAssignment_0_2_0.eContents().get(0); private final Assignment cClassAssignment_0_2_1 = (Assignment)cAlternatives_0_2.eContents().get(1); private final Keyword cClassClassKeyword_0_2_1_0 = (Keyword)cClassAssignment_0_2_1.eContents().get(0); private final Assignment cProductAssignment_0_2_2 = (Assignment)cAlternatives_0_2.eContents().get(2); private final Keyword cProductProductKeyword_0_2_2_0 = (Keyword)cProductAssignment_0_2_2.eContents().get(0); private final Assignment cInstanceAssignment_0_2_3 = (Assignment)cAlternatives_0_2.eContents().get(3); private final Keyword cInstanceInstanceKeyword_0_2_3_0 = (Keyword)cInstanceAssignment_0_2_3.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cValKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cValAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cVarKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Action cVarAction_2_1 = (Action)cGroup_2.eContents().get(1); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cOverrideKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Action cOverrideAction_3_1 = (Action)cGroup_3.eContents().get(1); private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4); private final Keyword cDataKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Action cDataAction_4_1 = (Action)cGroup_4.eContents().get(1); //MModifier: // "Const" {Const} (schema?="Schema" | class?="Class" | product?="Product" | instance?="Instance")? | "Val" {Val} | "Var" // {Var} | "Override" {Override} | "Data" {Data}; public ParserRule getRule() { return rule; } //"Const" {Const} (schema?="Schema" | class?="Class" | product?="Product" | instance?="Instance")? | "Val" {Val} | "Var" //{Var} | "Override" {Override} | "Data" {Data} public Alternatives getAlternatives() { return cAlternatives; } //"Const" {Const} (schema?="Schema" | class?="Class" | product?="Product" | instance?="Instance")? public Group getGroup_0() { return cGroup_0; } //"Const" public Keyword getConstKeyword_0_0() { return cConstKeyword_0_0; } //{Const} public Action getConstAction_0_1() { return cConstAction_0_1; } //(schema?="Schema" | class?="Class" | product?="Product" | instance?="Instance")? public Alternatives getAlternatives_0_2() { return cAlternatives_0_2; } //schema?="Schema" public Assignment getSchemaAssignment_0_2_0() { return cSchemaAssignment_0_2_0; } //"Schema" public Keyword getSchemaSchemaKeyword_0_2_0_0() { return cSchemaSchemaKeyword_0_2_0_0; } //class?="Class" public Assignment getClassAssignment_0_2_1() { return cClassAssignment_0_2_1; } //"Class" public Keyword getClassClassKeyword_0_2_1_0() { return cClassClassKeyword_0_2_1_0; } //product?="Product" public Assignment getProductAssignment_0_2_2() { return cProductAssignment_0_2_2; } //"Product" public Keyword getProductProductKeyword_0_2_2_0() { return cProductProductKeyword_0_2_2_0; } //instance?="Instance" public Assignment getInstanceAssignment_0_2_3() { return cInstanceAssignment_0_2_3; } //"Instance" public Keyword getInstanceInstanceKeyword_0_2_3_0() { return cInstanceInstanceKeyword_0_2_3_0; } //"Val" {Val} public Group getGroup_1() { return cGroup_1; } //"Val" public Keyword getValKeyword_1_0() { return cValKeyword_1_0; } //{Val} public Action getValAction_1_1() { return cValAction_1_1; } //"Var" {Var} public Group getGroup_2() { return cGroup_2; } //"Var" public Keyword getVarKeyword_2_0() { return cVarKeyword_2_0; } //{Var} public Action getVarAction_2_1() { return cVarAction_2_1; } //"Override" {Override} public Group getGroup_3() { return cGroup_3; } //"Override" public Keyword getOverrideKeyword_3_0() { return cOverrideKeyword_3_0; } //{Override} public Action getOverrideAction_3_1() { return cOverrideAction_3_1; } //"Data" {Data} public Group getGroup_4() { return cGroup_4; } //"Data" public Keyword getDataKeyword_4_0() { return cDataKeyword_4_0; } //{Data} public Action getDataAction_4_1() { return cDataAction_4_1; } } public class AssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Assignment"); 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 cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cExpAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cExpExpParserRuleCall_2_0 = (RuleCall)cExpAssignment_2.eContents().get(0); //Assignment: // name=ID "=" exp=Exp; public ParserRule getRule() { return rule; } //name=ID "=" exp=Exp 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 getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } //exp=Exp public Assignment getExpAssignment_2() { return cExpAssignment_2; } //Exp public RuleCall getExpExpParserRuleCall_2_0() { return cExpExpParserRuleCall_2_0; } } public class ReportElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Report"); 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 cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cArgsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cArgsExpParserRuleCall_2_0 = (RuleCall)cArgsAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cCommaKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cArgsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cArgsExpParserRuleCall_3_1_0 = (RuleCall)cArgsAssignment_3_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); //Report: // name=ID "(" args+=Exp ("," args+=Exp)+ ")"; public ParserRule getRule() { return rule; } //name=ID "(" args+=Exp ("," args+=Exp)+ ")" 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 getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //args+=Exp public Assignment getArgsAssignment_2() { return cArgsAssignment_2; } //Exp public RuleCall getArgsExpParserRuleCall_2_0() { return cArgsExpParserRuleCall_2_0; } //("," args+=Exp)+ public Group getGroup_3() { return cGroup_3; } //"," public Keyword getCommaKeyword_3_0() { return cCommaKeyword_3_0; } //args+=Exp public Assignment getArgsAssignment_3_1() { return cArgsAssignment_3_1; } //Exp public RuleCall getArgsExpParserRuleCall_3_1_0() { return cArgsExpParserRuleCall_3_1_0; } //")" public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } } public class FeatureTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FeatureType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBaseFeatureTypeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cOptionKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cOptionFeatureTypeAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); private final Assignment cBaseAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3); private final RuleCall cBaseBaseFeatureTypeParserRuleCall_1_3_0 = (RuleCall)cBaseAssignment_1_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); private final Group cGroup_1_5 = (Group)cGroup_1.eContents().get(5); private final Keyword cEqualsSignKeyword_1_5_0 = (Keyword)cGroup_1_5.eContents().get(0); private final Assignment cNoneAssignment_1_5_1 = (Assignment)cGroup_1_5.eContents().get(1); private final Keyword cNoneNoneKeyword_1_5_1_0 = (Keyword)cNoneAssignment_1_5_1.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cSomeKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Action cSomeFeatureTypeAction_2_1 = (Action)cGroup_2.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Assignment cBaseAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3); private final RuleCall cBaseBaseFeatureTypeParserRuleCall_2_3_0 = (RuleCall)cBaseAssignment_2_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4); private final Group cGroup_2_5 = (Group)cGroup_2.eContents().get(5); private final Keyword cEqualsSignKeyword_2_5_0 = (Keyword)cGroup_2_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2_5_1 = (Keyword)cGroup_2_5.eContents().get(1); private final Assignment cMembersAssignment_2_5_2 = (Assignment)cGroup_2_5.eContents().get(2); private final RuleCall cMembersMemberDeclParserRuleCall_2_5_2_0 = (RuleCall)cMembersAssignment_2_5_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_2_5_3 = (Keyword)cGroup_2_5.eContents().get(3); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cEitherKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Action cEitherFeatureTypeAction_3_1 = (Action)cGroup_3.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); private final Assignment cBasesAssignment_3_3 = (Assignment)cGroup_3.eContents().get(3); private final RuleCall cBasesBaseFeatureTypeParserRuleCall_3_3_0 = (RuleCall)cBasesAssignment_3_3.eContents().get(0); private final Group cGroup_3_4 = (Group)cGroup_3.eContents().get(4); private final Keyword cCommaKeyword_3_4_0 = (Keyword)cGroup_3_4.eContents().get(0); private final Assignment cBasesAssignment_3_4_1 = (Assignment)cGroup_3_4.eContents().get(1); private final RuleCall cBasesBaseFeatureTypeParserRuleCall_3_4_1_0 = (RuleCall)cBasesAssignment_3_4_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3_5 = (Keyword)cGroup_3.eContents().get(5); private final Group cGroup_3_6 = (Group)cGroup_3.eContents().get(6); private final Keyword cEqualsSignKeyword_3_6_0 = (Keyword)cGroup_3_6.eContents().get(0); private final Assignment cChoiceAssignment_3_6_1 = (Assignment)cGroup_3_6.eContents().get(1); private final RuleCall cChoiceNATTerminalRuleCall_3_6_1_0 = (RuleCall)cChoiceAssignment_3_6_1.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3_6_2 = (Keyword)cGroup_3_6.eContents().get(2); private final Assignment cMembersAssignment_3_6_3 = (Assignment)cGroup_3_6.eContents().get(3); private final RuleCall cMembersMemberDeclParserRuleCall_3_6_3_0 = (RuleCall)cMembersAssignment_3_6_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3_6_4 = (Keyword)cGroup_3_6.eContents().get(4); private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4); private final Keyword cSeqKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Action cSeqFeatureTypeAction_4_1 = (Action)cGroup_4.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); private final Assignment cBaseAssignment_4_3 = (Assignment)cGroup_4.eContents().get(3); private final RuleCall cBaseBaseFeatureTypeParserRuleCall_4_3_0 = (RuleCall)cBaseAssignment_4_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); private final Group cGroup_4_5 = (Group)cGroup_4.eContents().get(5); private final Keyword cEqualsSignKeyword_4_5_0 = (Keyword)cGroup_4_5.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_4_5_1 = (Keyword)cGroup_4_5.eContents().get(1); private final Group cGroup_4_5_2 = (Group)cGroup_4_5.eContents().get(2); private final Assignment cElementsAssignment_4_5_2_0 = (Assignment)cGroup_4_5_2.eContents().get(0); private final RuleCall cElementsBaseFeatureTypeParserRuleCall_4_5_2_0_0 = (RuleCall)cElementsAssignment_4_5_2_0.eContents().get(0); private final Group cGroup_4_5_2_1 = (Group)cGroup_4_5_2.eContents().get(1); private final Keyword cCommaKeyword_4_5_2_1_0 = (Keyword)cGroup_4_5_2_1.eContents().get(0); private final Assignment cElementsAssignment_4_5_2_1_1 = (Assignment)cGroup_4_5_2_1.eContents().get(1); private final RuleCall cElementsBaseFeatureTypeParserRuleCall_4_5_2_1_1_0 = (RuleCall)cElementsAssignment_4_5_2_1_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4_5_3 = (Keyword)cGroup_4_5.eContents().get(3); private final Group cGroup_5 = (Group)cAlternatives.eContents().get(5); private final Keyword cSetKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Action cSetFeatureTypeAction_5_1 = (Action)cGroup_5.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_5_2 = (Keyword)cGroup_5.eContents().get(2); private final Assignment cBaseAssignment_5_3 = (Assignment)cGroup_5.eContents().get(3); private final RuleCall cBaseBaseFeatureTypeParserRuleCall_5_3_0 = (RuleCall)cBaseAssignment_5_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); private final Group cGroup_5_5 = (Group)cGroup_5.eContents().get(5); private final Keyword cEqualsSignKeyword_5_5_0 = (Keyword)cGroup_5_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_5_5_1 = (Keyword)cGroup_5_5.eContents().get(1); private final Group cGroup_5_5_2 = (Group)cGroup_5_5.eContents().get(2); private final Assignment cElementsAssignment_5_5_2_0 = (Assignment)cGroup_5_5_2.eContents().get(0); private final RuleCall cElementsBaseFeatureTypeParserRuleCall_5_5_2_0_0 = (RuleCall)cElementsAssignment_5_5_2_0.eContents().get(0); private final Group cGroup_5_5_2_1 = (Group)cGroup_5_5_2.eContents().get(1); private final Keyword cCommaKeyword_5_5_2_1_0 = (Keyword)cGroup_5_5_2_1.eContents().get(0); private final Assignment cElementsAssignment_5_5_2_1_1 = (Assignment)cGroup_5_5_2_1.eContents().get(1); private final RuleCall cElementsBaseFeatureTypeParserRuleCall_5_5_2_1_1_0 = (RuleCall)cElementsAssignment_5_5_2_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5_5_3 = (Keyword)cGroup_5_5.eContents().get(3); //FeatureType: // BaseFeatureType | "Option" {OptionFeatureType} "[" base=BaseFeatureType "]" ("=" none?="None")? | "Some" // {SomeFeatureType} "[" base=BaseFeatureType "]" ("=" "{" members+=MemberDecl* "}")? | "Either" {EitherFeatureType} "[" // bases+=BaseFeatureType ("," bases+=BaseFeatureType)+ "]" ("=" choice=NAT "{" members+=MemberDecl* "}")? | "Seq" // {SeqFeatureType} "[" base=BaseFeatureType "]" ("=" "[" (elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? // "]")? | "Set" {SetFeatureType} "[" base=BaseFeatureType "]" ("=" "{" (elements+=BaseFeatureType ("," // elements+=BaseFeatureType)*)? "}")?; public ParserRule getRule() { return rule; } //BaseFeatureType | "Option" {OptionFeatureType} "[" base=BaseFeatureType "]" ("=" none?="None")? | "Some" //{SomeFeatureType} "[" base=BaseFeatureType "]" ("=" "{" members+=MemberDecl* "}")? | "Either" {EitherFeatureType} "[" //bases+=BaseFeatureType ("," bases+=BaseFeatureType)+ "]" ("=" choice=NAT "{" members+=MemberDecl* "}")? | "Seq" //{SeqFeatureType} "[" base=BaseFeatureType "]" ("=" "[" (elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? //"]")? | "Set" {SetFeatureType} "[" base=BaseFeatureType "]" ("=" "{" (elements+=BaseFeatureType ("," //elements+=BaseFeatureType)*)? "}")? public Alternatives getAlternatives() { return cAlternatives; } //BaseFeatureType public RuleCall getBaseFeatureTypeParserRuleCall_0() { return cBaseFeatureTypeParserRuleCall_0; } //"Option" {OptionFeatureType} "[" base=BaseFeatureType "]" ("=" none?="None")? public Group getGroup_1() { return cGroup_1; } //"Option" public Keyword getOptionKeyword_1_0() { return cOptionKeyword_1_0; } //{OptionFeatureType} public Action getOptionFeatureTypeAction_1_1() { return cOptionFeatureTypeAction_1_1; } //"[" public Keyword getLeftSquareBracketKeyword_1_2() { return cLeftSquareBracketKeyword_1_2; } //base=BaseFeatureType public Assignment getBaseAssignment_1_3() { return cBaseAssignment_1_3; } //BaseFeatureType public RuleCall getBaseBaseFeatureTypeParserRuleCall_1_3_0() { return cBaseBaseFeatureTypeParserRuleCall_1_3_0; } //"]" public Keyword getRightSquareBracketKeyword_1_4() { return cRightSquareBracketKeyword_1_4; } //("=" none?="None")? public Group getGroup_1_5() { return cGroup_1_5; } //"=" public Keyword getEqualsSignKeyword_1_5_0() { return cEqualsSignKeyword_1_5_0; } //none?="None" public Assignment getNoneAssignment_1_5_1() { return cNoneAssignment_1_5_1; } //"None" public Keyword getNoneNoneKeyword_1_5_1_0() { return cNoneNoneKeyword_1_5_1_0; } //"Some" {SomeFeatureType} "[" base=BaseFeatureType "]" ("=" "{" members+=MemberDecl* "}")? public Group getGroup_2() { return cGroup_2; } //"Some" public Keyword getSomeKeyword_2_0() { return cSomeKeyword_2_0; } //{SomeFeatureType} public Action getSomeFeatureTypeAction_2_1() { return cSomeFeatureTypeAction_2_1; } //"[" public Keyword getLeftSquareBracketKeyword_2_2() { return cLeftSquareBracketKeyword_2_2; } //base=BaseFeatureType public Assignment getBaseAssignment_2_3() { return cBaseAssignment_2_3; } //BaseFeatureType public RuleCall getBaseBaseFeatureTypeParserRuleCall_2_3_0() { return cBaseBaseFeatureTypeParserRuleCall_2_3_0; } //"]" public Keyword getRightSquareBracketKeyword_2_4() { return cRightSquareBracketKeyword_2_4; } //("=" "{" members+=MemberDecl* "}")? public Group getGroup_2_5() { return cGroup_2_5; } //"=" public Keyword getEqualsSignKeyword_2_5_0() { return cEqualsSignKeyword_2_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2_5_1() { return cLeftCurlyBracketKeyword_2_5_1; } //members+=MemberDecl* public Assignment getMembersAssignment_2_5_2() { return cMembersAssignment_2_5_2; } //MemberDecl public RuleCall getMembersMemberDeclParserRuleCall_2_5_2_0() { return cMembersMemberDeclParserRuleCall_2_5_2_0; } //"}" public Keyword getRightCurlyBracketKeyword_2_5_3() { return cRightCurlyBracketKeyword_2_5_3; } //"Either" {EitherFeatureType} "[" bases+=BaseFeatureType ("," bases+=BaseFeatureType)+ "]" ("=" choice=NAT "{" //members+=MemberDecl* "}")? public Group getGroup_3() { return cGroup_3; } //"Either" public Keyword getEitherKeyword_3_0() { return cEitherKeyword_3_0; } //{EitherFeatureType} public Action getEitherFeatureTypeAction_3_1() { return cEitherFeatureTypeAction_3_1; } //"[" public Keyword getLeftSquareBracketKeyword_3_2() { return cLeftSquareBracketKeyword_3_2; } //bases+=BaseFeatureType public Assignment getBasesAssignment_3_3() { return cBasesAssignment_3_3; } //BaseFeatureType public RuleCall getBasesBaseFeatureTypeParserRuleCall_3_3_0() { return cBasesBaseFeatureTypeParserRuleCall_3_3_0; } //("," bases+=BaseFeatureType)+ public Group getGroup_3_4() { return cGroup_3_4; } //"," public Keyword getCommaKeyword_3_4_0() { return cCommaKeyword_3_4_0; } //bases+=BaseFeatureType public Assignment getBasesAssignment_3_4_1() { return cBasesAssignment_3_4_1; } //BaseFeatureType public RuleCall getBasesBaseFeatureTypeParserRuleCall_3_4_1_0() { return cBasesBaseFeatureTypeParserRuleCall_3_4_1_0; } //"]" public Keyword getRightSquareBracketKeyword_3_5() { return cRightSquareBracketKeyword_3_5; } //("=" choice=NAT "{" members+=MemberDecl* "}")? public Group getGroup_3_6() { return cGroup_3_6; } //"=" public Keyword getEqualsSignKeyword_3_6_0() { return cEqualsSignKeyword_3_6_0; } //choice=NAT public Assignment getChoiceAssignment_3_6_1() { return cChoiceAssignment_3_6_1; } //NAT public RuleCall getChoiceNATTerminalRuleCall_3_6_1_0() { return cChoiceNATTerminalRuleCall_3_6_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_3_6_2() { return cLeftCurlyBracketKeyword_3_6_2; } //members+=MemberDecl* public Assignment getMembersAssignment_3_6_3() { return cMembersAssignment_3_6_3; } //MemberDecl public RuleCall getMembersMemberDeclParserRuleCall_3_6_3_0() { return cMembersMemberDeclParserRuleCall_3_6_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_3_6_4() { return cRightCurlyBracketKeyword_3_6_4; } //"Seq" {SeqFeatureType} "[" base=BaseFeatureType "]" ("=" "[" (elements+=BaseFeatureType ("," //elements+=BaseFeatureType)*)? "]")? public Group getGroup_4() { return cGroup_4; } //"Seq" public Keyword getSeqKeyword_4_0() { return cSeqKeyword_4_0; } //{SeqFeatureType} public Action getSeqFeatureTypeAction_4_1() { return cSeqFeatureTypeAction_4_1; } //"[" public Keyword getLeftSquareBracketKeyword_4_2() { return cLeftSquareBracketKeyword_4_2; } //base=BaseFeatureType public Assignment getBaseAssignment_4_3() { return cBaseAssignment_4_3; } //BaseFeatureType public RuleCall getBaseBaseFeatureTypeParserRuleCall_4_3_0() { return cBaseBaseFeatureTypeParserRuleCall_4_3_0; } //"]" public Keyword getRightSquareBracketKeyword_4_4() { return cRightSquareBracketKeyword_4_4; } //("=" "[" (elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? "]")? public Group getGroup_4_5() { return cGroup_4_5; } //"=" public Keyword getEqualsSignKeyword_4_5_0() { return cEqualsSignKeyword_4_5_0; } //"[" public Keyword getLeftSquareBracketKeyword_4_5_1() { return cLeftSquareBracketKeyword_4_5_1; } //(elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? public Group getGroup_4_5_2() { return cGroup_4_5_2; } //elements+=BaseFeatureType public Assignment getElementsAssignment_4_5_2_0() { return cElementsAssignment_4_5_2_0; } //BaseFeatureType public RuleCall getElementsBaseFeatureTypeParserRuleCall_4_5_2_0_0() { return cElementsBaseFeatureTypeParserRuleCall_4_5_2_0_0; } //("," elements+=BaseFeatureType)* public Group getGroup_4_5_2_1() { return cGroup_4_5_2_1; } //"," public Keyword getCommaKeyword_4_5_2_1_0() { return cCommaKeyword_4_5_2_1_0; } //elements+=BaseFeatureType public Assignment getElementsAssignment_4_5_2_1_1() { return cElementsAssignment_4_5_2_1_1; } //BaseFeatureType public RuleCall getElementsBaseFeatureTypeParserRuleCall_4_5_2_1_1_0() { return cElementsBaseFeatureTypeParserRuleCall_4_5_2_1_1_0; } //"]" public Keyword getRightSquareBracketKeyword_4_5_3() { return cRightSquareBracketKeyword_4_5_3; } //"Set" {SetFeatureType} "[" base=BaseFeatureType "]" ("=" "{" (elements+=BaseFeatureType ("," //elements+=BaseFeatureType)*)? "}")? public Group getGroup_5() { return cGroup_5; } //"Set" public Keyword getSetKeyword_5_0() { return cSetKeyword_5_0; } //{SetFeatureType} public Action getSetFeatureTypeAction_5_1() { return cSetFeatureTypeAction_5_1; } //"[" public Keyword getLeftSquareBracketKeyword_5_2() { return cLeftSquareBracketKeyword_5_2; } //base=BaseFeatureType public Assignment getBaseAssignment_5_3() { return cBaseAssignment_5_3; } //BaseFeatureType public RuleCall getBaseBaseFeatureTypeParserRuleCall_5_3_0() { return cBaseBaseFeatureTypeParserRuleCall_5_3_0; } //"]" public Keyword getRightSquareBracketKeyword_5_4() { return cRightSquareBracketKeyword_5_4; } //("=" "{" (elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? "}")? public Group getGroup_5_5() { return cGroup_5_5; } //"=" public Keyword getEqualsSignKeyword_5_5_0() { return cEqualsSignKeyword_5_5_0; } //"{" public Keyword getLeftCurlyBracketKeyword_5_5_1() { return cLeftCurlyBracketKeyword_5_5_1; } //(elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? public Group getGroup_5_5_2() { return cGroup_5_5_2; } //elements+=BaseFeatureType public Assignment getElementsAssignment_5_5_2_0() { return cElementsAssignment_5_5_2_0; } //BaseFeatureType public RuleCall getElementsBaseFeatureTypeParserRuleCall_5_5_2_0_0() { return cElementsBaseFeatureTypeParserRuleCall_5_5_2_0_0; } //("," elements+=BaseFeatureType)* public Group getGroup_5_5_2_1() { return cGroup_5_5_2_1; } //"," public Keyword getCommaKeyword_5_5_2_1_0() { return cCommaKeyword_5_5_2_1_0; } //elements+=BaseFeatureType public Assignment getElementsAssignment_5_5_2_1_1() { return cElementsAssignment_5_5_2_1_1; } //BaseFeatureType public RuleCall getElementsBaseFeatureTypeParserRuleCall_5_5_2_1_1_0() { return cElementsBaseFeatureTypeParserRuleCall_5_5_2_1_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_5_5_3() { return cRightCurlyBracketKeyword_5_5_3; } } public class BaseFeatureTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BaseFeatureType"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cComponentsAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cComponentsFeatureDeclCrossReference_0_0 = (CrossReference)cComponentsAssignment_0.eContents().get(0); private final RuleCall cComponentsFeatureDeclIDTerminalRuleCall_0_0_1 = (RuleCall)cComponentsFeatureDeclCrossReference_0_0.eContents().get(1); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cWithKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cComponentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final CrossReference cComponentsFeatureDeclCrossReference_1_1_0 = (CrossReference)cComponentsAssignment_1_1.eContents().get(0); private final RuleCall cComponentsFeatureDeclIDTerminalRuleCall_1_1_0_1 = (RuleCall)cComponentsFeatureDeclCrossReference_1_1_0.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cEqualsSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); private final Assignment cMembersAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2); private final RuleCall cMembersMemberDeclParserRuleCall_2_2_0 = (RuleCall)cMembersAssignment_2_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3); //BaseFeatureType: // components+=[FeatureDecl] ("with" components+=[FeatureDecl])* ("=" "{" members+=MemberDecl* "}")?; public ParserRule getRule() { return rule; } //components+=[FeatureDecl] ("with" components+=[FeatureDecl])* ("=" "{" members+=MemberDecl* "}")? public Group getGroup() { return cGroup; } //components+=[FeatureDecl] public Assignment getComponentsAssignment_0() { return cComponentsAssignment_0; } //[FeatureDecl] public CrossReference getComponentsFeatureDeclCrossReference_0_0() { return cComponentsFeatureDeclCrossReference_0_0; } //ID public RuleCall getComponentsFeatureDeclIDTerminalRuleCall_0_0_1() { return cComponentsFeatureDeclIDTerminalRuleCall_0_0_1; } //("with" components+=[FeatureDecl])* public Group getGroup_1() { return cGroup_1; } //"with" public Keyword getWithKeyword_1_0() { return cWithKeyword_1_0; } //components+=[FeatureDecl] public Assignment getComponentsAssignment_1_1() { return cComponentsAssignment_1_1; } //[FeatureDecl] public CrossReference getComponentsFeatureDeclCrossReference_1_1_0() { return cComponentsFeatureDeclCrossReference_1_1_0; } //ID public RuleCall getComponentsFeatureDeclIDTerminalRuleCall_1_1_0_1() { return cComponentsFeatureDeclIDTerminalRuleCall_1_1_0_1; } //("=" "{" members+=MemberDecl* "}")? public Group getGroup_2() { return cGroup_2; } //"=" public Keyword getEqualsSignKeyword_2_0() { return cEqualsSignKeyword_2_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2_1() { return cLeftCurlyBracketKeyword_2_1; } //members+=MemberDecl* public Assignment getMembersAssignment_2_2() { return cMembersAssignment_2_2; } //MemberDecl public RuleCall getMembersMemberDeclParserRuleCall_2_2_0() { return cMembersMemberDeclParserRuleCall_2_2_0; } //"}" public Keyword getRightCurlyBracketKeyword_2_3() { return cRightCurlyBracketKeyword_2_3; } } public class InvariantDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InvariantDecl"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cMultiplicityInvariantParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cGeneralInvariantParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //InvariantDecl: // MultiplicityInvariant | GeneralInvariant; public ParserRule getRule() { return rule; } //MultiplicityInvariant | GeneralInvariant public Alternatives getAlternatives() { return cAlternatives; } //MultiplicityInvariant public RuleCall getMultiplicityInvariantParserRuleCall_0() { return cMultiplicityInvariantParserRuleCall_0; } //GeneralInvariant public RuleCall getGeneralInvariantParserRuleCall_1() { return cGeneralInvariantParserRuleCall_1; } } public class MultiplicityInvariantElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MultiplicityInvariant"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cInvKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Assignment cInvNameAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final RuleCall cInvNameIDTerminalRuleCall_1_0_0 = (RuleCall)cInvNameAssignment_1_0.eContents().get(0); private final Keyword cColonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cLoAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cLoConstraintNatParserRuleCall_2_0_0 = (RuleCall)cLoAssignment_2_0.eContents().get(0); private final Keyword cFullStopFullStopKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); private final Assignment cHiAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2); private final RuleCall cHiConstraintNatParserRuleCall_2_2_0 = (RuleCall)cHiAssignment_2_2.eContents().get(0); private final Assignment cMatchAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cMatchSubMemberMatchParserRuleCall_3_0 = (RuleCall)cMatchAssignment_3.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cColonKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cTypeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final CrossReference cTypeFeatureDeclCrossReference_4_1_0 = (CrossReference)cTypeAssignment_4_1.eContents().get(0); private final RuleCall cTypeFeatureDeclIDTerminalRuleCall_4_1_0_1 = (RuleCall)cTypeFeatureDeclCrossReference_4_1_0.eContents().get(1); //MultiplicityInvariant: // "inv" (invName=ID ":")? (lo=ConstraintNat ".." hi=ConstraintNat) match=SubMemberMatch (":" type=[FeatureDecl])?; public ParserRule getRule() { return rule; } //"inv" (invName=ID ":")? (lo=ConstraintNat ".." hi=ConstraintNat) match=SubMemberMatch (":" type=[FeatureDecl])? public Group getGroup() { return cGroup; } //"inv" public Keyword getInvKeyword_0() { return cInvKeyword_0; } //(invName=ID ":")? public Group getGroup_1() { return cGroup_1; } //invName=ID public Assignment getInvNameAssignment_1_0() { return cInvNameAssignment_1_0; } //ID public RuleCall getInvNameIDTerminalRuleCall_1_0_0() { return cInvNameIDTerminalRuleCall_1_0_0; } //":" public Keyword getColonKeyword_1_1() { return cColonKeyword_1_1; } //lo=ConstraintNat ".." hi=ConstraintNat public Group getGroup_2() { return cGroup_2; } //lo=ConstraintNat public Assignment getLoAssignment_2_0() { return cLoAssignment_2_0; } //ConstraintNat public RuleCall getLoConstraintNatParserRuleCall_2_0_0() { return cLoConstraintNatParserRuleCall_2_0_0; } //".." public Keyword getFullStopFullStopKeyword_2_1() { return cFullStopFullStopKeyword_2_1; } //hi=ConstraintNat public Assignment getHiAssignment_2_2() { return cHiAssignment_2_2; } //ConstraintNat public RuleCall getHiConstraintNatParserRuleCall_2_2_0() { return cHiConstraintNatParserRuleCall_2_2_0; } //match=SubMemberMatch public Assignment getMatchAssignment_3() { return cMatchAssignment_3; } //SubMemberMatch public RuleCall getMatchSubMemberMatchParserRuleCall_3_0() { return cMatchSubMemberMatchParserRuleCall_3_0; } //(":" type=[FeatureDecl])? public Group getGroup_4() { return cGroup_4; } //":" public Keyword getColonKeyword_4_0() { return cColonKeyword_4_0; } //type=[FeatureDecl] public Assignment getTypeAssignment_4_1() { return cTypeAssignment_4_1; } //[FeatureDecl] public CrossReference getTypeFeatureDeclCrossReference_4_1_0() { return cTypeFeatureDeclCrossReference_4_1_0; } //ID public RuleCall getTypeFeatureDeclIDTerminalRuleCall_4_1_0_1() { return cTypeFeatureDeclIDTerminalRuleCall_4_1_0_1; } } public class GeneralInvariantElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "GeneralInvariant"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cInvKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Assignment cInvNameAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final RuleCall cInvNameIDTerminalRuleCall_1_0_0 = (RuleCall)cInvNameAssignment_1_0.eContents().get(0); private final Keyword cColonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cExpAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cExpExpParserRuleCall_2_0 = (RuleCall)cExpAssignment_2.eContents().get(0); //GeneralInvariant: // "inv" (invName=ID ":")? exp=Exp; public ParserRule getRule() { return rule; } //"inv" (invName=ID ":")? exp=Exp public Group getGroup() { return cGroup; } //"inv" public Keyword getInvKeyword_0() { return cInvKeyword_0; } //(invName=ID ":")? public Group getGroup_1() { return cGroup_1; } //invName=ID public Assignment getInvNameAssignment_1_0() { return cInvNameAssignment_1_0; } //ID public RuleCall getInvNameIDTerminalRuleCall_1_0_0() { return cInvNameIDTerminalRuleCall_1_0_0; } //":" public Keyword getColonKeyword_1_1() { return cColonKeyword_1_1; } //exp=Exp public Assignment getExpAssignment_2() { return cExpAssignment_2; } //Exp public RuleCall getExpExpParserRuleCall_2_0() { return cExpExpParserRuleCall_2_0; } } public class SubMemberMatchElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubMemberMatch"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Assignment cQNamesAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); private final RuleCall cQNamesIDTerminalRuleCall_0_0_0 = (RuleCall)cQNamesAssignment_0_0.eContents().get(0); private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Assignment cNameAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_1_0_0 = (RuleCall)cNameAssignment_1_0.eContents().get(0); private final Assignment cAnyAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); private final Keyword cAnyAsteriskKeyword_1_1_0 = (Keyword)cAnyAssignment_1_1.eContents().get(0); //SubMemberMatch: // (qNames+=ID ".")* (name=ID | any="*"); public ParserRule getRule() { return rule; } //(qNames+=ID ".")* (name=ID | any="*") public Group getGroup() { return cGroup; } //(qNames+=ID ".")* public Group getGroup_0() { return cGroup_0; } //qNames+=ID public Assignment getQNamesAssignment_0_0() { return cQNamesAssignment_0_0; } //ID public RuleCall getQNamesIDTerminalRuleCall_0_0_0() { return cQNamesIDTerminalRuleCall_0_0_0; } //"." public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; } //name=ID | any="*" public Alternatives getAlternatives_1() { return cAlternatives_1; } //name=ID public Assignment getNameAssignment_1_0() { return cNameAssignment_1_0; } //ID public RuleCall getNameIDTerminalRuleCall_1_0_0() { return cNameIDTerminalRuleCall_1_0_0; } //any="*" public Assignment getAnyAssignment_1_1() { return cAnyAssignment_1_1; } //"*" public Keyword getAnyAsteriskKeyword_1_1_0() { return cAnyAsteriskKeyword_1_1_0; } } public class ConstraintNatElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConstraintNat"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Action cNumNatConstraintAction_0_0 = (Action)cGroup_0.eContents().get(0); private final Assignment cNumAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cNumNATTerminalRuleCall_0_1_0 = (RuleCall)cNumAssignment_0_1.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cAnyNatConstraintAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); //ConstraintNat: // {NumNatConstraint} num=NAT | {AnyNatConstraint} "*"; public ParserRule getRule() { return rule; } //{NumNatConstraint} num=NAT | {AnyNatConstraint} "*" public Alternatives getAlternatives() { return cAlternatives; } //{NumNatConstraint} num=NAT public Group getGroup_0() { return cGroup_0; } //{NumNatConstraint} public Action getNumNatConstraintAction_0_0() { return cNumNatConstraintAction_0_0; } //num=NAT public Assignment getNumAssignment_0_1() { return cNumAssignment_0_1; } //NAT public RuleCall getNumNATTerminalRuleCall_0_1_0() { return cNumNATTerminalRuleCall_0_1_0; } //{AnyNatConstraint} "*" public Group getGroup_1() { return cGroup_1; } //{AnyNatConstraint} public Action getAnyNatConstraintAction_1_0() { return cAnyNatConstraintAction_1_0; } //"*" public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; } } public class DeviceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Device"); private final Group cGroup = (Group)rule.eContents().get(1); private final 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 cComponentsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cComponentsFeatureDeclCrossReference_2_0 = (CrossReference)cComponentsAssignment_2.eContents().get(0); private final RuleCall cComponentsFeatureDeclIDTerminalRuleCall_2_0_1 = (RuleCall)cComponentsFeatureDeclCrossReference_2_0.eContents().get(1); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cWithKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cComponentsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final CrossReference cComponentsFeatureDeclCrossReference_3_1_0 = (CrossReference)cComponentsAssignment_3_1.eContents().get(0); private final RuleCall cComponentsFeatureDeclIDTerminalRuleCall_3_1_0_1 = (RuleCall)cComponentsFeatureDeclCrossReference_3_1_0.eContents().get(1); private final Assignment cConstraintAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cConstraintConstraintExpParserRuleCall_4_0 = (RuleCall)cConstraintAssignment_4.eContents().get(0); //Device: // name=ID ":" components+=[FeatureDecl] ("with" components+=[FeatureDecl])* constraint=ConstraintExp?; public ParserRule getRule() { return rule; } //name=ID ":" components+=[FeatureDecl] ("with" components+=[FeatureDecl])* constraint=ConstraintExp? 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; } //components+=[FeatureDecl] public Assignment getComponentsAssignment_2() { return cComponentsAssignment_2; } //[FeatureDecl] public CrossReference getComponentsFeatureDeclCrossReference_2_0() { return cComponentsFeatureDeclCrossReference_2_0; } //ID public RuleCall getComponentsFeatureDeclIDTerminalRuleCall_2_0_1() { return cComponentsFeatureDeclIDTerminalRuleCall_2_0_1; } //("with" components+=[FeatureDecl])* public Group getGroup_3() { return cGroup_3; } //"with" public Keyword getWithKeyword_3_0() { return cWithKeyword_3_0; } //components+=[FeatureDecl] public Assignment getComponentsAssignment_3_1() { return cComponentsAssignment_3_1; } //[FeatureDecl] public CrossReference getComponentsFeatureDeclCrossReference_3_1_0() { return cComponentsFeatureDeclCrossReference_3_1_0; } //ID public RuleCall getComponentsFeatureDeclIDTerminalRuleCall_3_1_0_1() { return cComponentsFeatureDeclIDTerminalRuleCall_3_1_0_1; } //constraint=ConstraintExp? public Assignment getConstraintAssignment_4() { return cConstraintAssignment_4; } //ConstraintExp public RuleCall getConstraintConstraintExpParserRuleCall_4_0() { return cConstraintConstraintExpParserRuleCall_4_0; } } public class ConstraintExpElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConstraintExp"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cConstraintKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cCondAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cCondExpParserRuleCall_1_0 = (RuleCall)cCondAssignment_1.eContents().get(0); //ConstraintExp: // "constraint" cond=Exp; public ParserRule getRule() { return rule; } //"constraint" cond=Exp public Group getGroup() { return cGroup; } //"constraint" public Keyword getConstraintKeyword_0() { return cConstraintKeyword_0; } //cond=Exp public Assignment getCondAssignment_1() { return cCondAssignment_1; } //Exp public RuleCall getCondExpParserRuleCall_1_0() { return cCondExpParserRuleCall_1_0; } } public class ParamElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Param"); 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 cTypeBaseFeatureTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); //Param: // name=ID ":" type=BaseFeatureType; public ParserRule getRule() { return rule; } //name=ID ":" type=BaseFeatureType 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=BaseFeatureType public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } //BaseFeatureType public RuleCall getTypeBaseFeatureTypeParserRuleCall_2_0() { return cTypeBaseFeatureTypeParserRuleCall_2_0; } } public class ReportMemberDeclElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReportMemberDecl"); 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 cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cBindingNameAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final CrossReference cBindingNameAccessorCrossReference_2_0_0 = (CrossReference)cBindingNameAssignment_2_0.eContents().get(0); private final RuleCall cBindingNameAccessorIDTerminalRuleCall_2_0_0_1 = (RuleCall)cBindingNameAccessorCrossReference_2_0_0.eContents().get(1); private final Keyword cFullStopKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); private final Assignment cBindingNameAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cBindingNameAccessorCrossReference_3_0 = (CrossReference)cBindingNameAssignment_3.eContents().get(0); private final RuleCall cBindingNameAccessorIDTerminalRuleCall_3_0_1 = (RuleCall)cBindingNameAccessorCrossReference_3_0.eContents().get(1); //ReportMemberDecl: // name=ID "=" (bindingName+=[Accessor] ".")+ bindingName+=[Accessor]; public ParserRule getRule() { return rule; } //name=ID "=" (bindingName+=[Accessor] ".")+ bindingName+=[Accessor] 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 getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } //(bindingName+=[Accessor] ".")+ public Group getGroup_2() { return cGroup_2; } //bindingName+=[Accessor] public Assignment getBindingNameAssignment_2_0() { return cBindingNameAssignment_2_0; } //[Accessor] public CrossReference getBindingNameAccessorCrossReference_2_0_0() { return cBindingNameAccessorCrossReference_2_0_0; } //ID public RuleCall getBindingNameAccessorIDTerminalRuleCall_2_0_0_1() { return cBindingNameAccessorIDTerminalRuleCall_2_0_0_1; } //"." public Keyword getFullStopKeyword_2_1() { return cFullStopKeyword_2_1; } //bindingName+=[Accessor] public Assignment getBindingNameAssignment_3() { return cBindingNameAssignment_3; } //[Accessor] public CrossReference getBindingNameAccessorCrossReference_3_0() { return cBindingNameAccessorCrossReference_3_0; } //ID public RuleCall getBindingNameAccessorIDTerminalRuleCall_3_0_1() { return cBindingNameAccessorIDTerminalRuleCall_3_0_1; } } public class AccessorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Accessor"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cAttrDeclParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSubMemberDeclParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Accessor: // AttrDecl | SubMemberDecl; public ParserRule getRule() { return rule; } //AttrDecl | SubMemberDecl public Alternatives getAlternatives() { return cAlternatives; } //AttrDecl public RuleCall getAttrDeclParserRuleCall_0() { return cAttrDeclParserRuleCall_0; } //SubMemberDecl public RuleCall getSubMemberDeclParserRuleCall_1() { return cSubMemberDeclParserRuleCall_1; } } public class ExpElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Exp"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cBinaryExpAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Assignment cLeftAssignment_0_2 = (Assignment)cGroup_0.eContents().get(2); private final RuleCall cLeftExpParserRuleCall_0_2_0 = (RuleCall)cLeftAssignment_0_2.eContents().get(0); private final Assignment cOpAssignment_0_3 = (Assignment)cGroup_0.eContents().get(3); private final RuleCall cOpBinaryOpParserRuleCall_0_3_0 = (RuleCall)cOpAssignment_0_3.eContents().get(0); private final Assignment cRightAssignment_0_4 = (Assignment)cGroup_0.eContents().get(4); private final RuleCall cRightExpParserRuleCall_0_4_0 = (RuleCall)cRightAssignment_0_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_0_5 = (Keyword)cGroup_0.eContents().get(5); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cUnaryExpAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cOpAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cOpUnaryOpParserRuleCall_1_2_0 = (RuleCall)cOpAssignment_1_2.eContents().get(0); private final Assignment cArgAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3); private final RuleCall cArgExpParserRuleCall_1_3_0 = (RuleCall)cArgAssignment_1_3.eContents().get(0); private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Action cPrimaryExpAction_2_0 = (Action)cGroup_2.eContents().get(0); private final Assignment cPrimaryAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cPrimaryPrimaryParserRuleCall_2_1_0 = (RuleCall)cPrimaryAssignment_2_1.eContents().get(0); private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); private final Keyword cFullStopKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); private final Action cAccessExpBaseAction_2_2_1 = (Action)cGroup_2_2.eContents().get(1); private final Assignment cAccessorAssignment_2_2_2 = (Assignment)cGroup_2_2.eContents().get(2); private final CrossReference cAccessorAccessorCrossReference_2_2_2_0 = (CrossReference)cAccessorAssignment_2_2_2.eContents().get(0); private final RuleCall cAccessorAccessorIDTerminalRuleCall_2_2_2_0_1 = (RuleCall)cAccessorAccessorCrossReference_2_2_2_0.eContents().get(1); //Exp: // "(" {BinaryExp} left=Exp op=BinaryOp right=Exp ")" | "(" {UnaryExp} op=UnaryOp arg=Exp ")" | {PrimaryExp} // primary=Primary ("." {AccessExp.base=current} accessor=[Accessor])*; public ParserRule getRule() { return rule; } //"(" {BinaryExp} left=Exp op=BinaryOp right=Exp ")" | "(" {UnaryExp} op=UnaryOp arg=Exp ")" | {PrimaryExp} //primary=Primary ("." {AccessExp.base=current} accessor=[Accessor])* public Alternatives getAlternatives() { return cAlternatives; } //"(" {BinaryExp} left=Exp op=BinaryOp right=Exp ")" public Group getGroup_0() { return cGroup_0; } //"(" public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; } //{BinaryExp} public Action getBinaryExpAction_0_1() { return cBinaryExpAction_0_1; } //left=Exp public Assignment getLeftAssignment_0_2() { return cLeftAssignment_0_2; } //Exp public RuleCall getLeftExpParserRuleCall_0_2_0() { return cLeftExpParserRuleCall_0_2_0; } //op=BinaryOp public Assignment getOpAssignment_0_3() { return cOpAssignment_0_3; } //BinaryOp public RuleCall getOpBinaryOpParserRuleCall_0_3_0() { return cOpBinaryOpParserRuleCall_0_3_0; } //right=Exp public Assignment getRightAssignment_0_4() { return cRightAssignment_0_4; } //Exp public RuleCall getRightExpParserRuleCall_0_4_0() { return cRightExpParserRuleCall_0_4_0; } //")" public Keyword getRightParenthesisKeyword_0_5() { return cRightParenthesisKeyword_0_5; } //"(" {UnaryExp} op=UnaryOp arg=Exp ")" public Group getGroup_1() { return cGroup_1; } //"(" public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } //{UnaryExp} public Action getUnaryExpAction_1_1() { return cUnaryExpAction_1_1; } //op=UnaryOp public Assignment getOpAssignment_1_2() { return cOpAssignment_1_2; } //UnaryOp public RuleCall getOpUnaryOpParserRuleCall_1_2_0() { return cOpUnaryOpParserRuleCall_1_2_0; } //arg=Exp public Assignment getArgAssignment_1_3() { return cArgAssignment_1_3; } //Exp public RuleCall getArgExpParserRuleCall_1_3_0() { return cArgExpParserRuleCall_1_3_0; } //")" public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; } //{PrimaryExp} primary=Primary ("." {AccessExp.base=current} accessor=[Accessor])* public Group getGroup_2() { return cGroup_2; } //{PrimaryExp} public Action getPrimaryExpAction_2_0() { return cPrimaryExpAction_2_0; } //primary=Primary public Assignment getPrimaryAssignment_2_1() { return cPrimaryAssignment_2_1; } //Primary public RuleCall getPrimaryPrimaryParserRuleCall_2_1_0() { return cPrimaryPrimaryParserRuleCall_2_1_0; } //("." {AccessExp.base=current} accessor=[Accessor])* public Group getGroup_2_2() { return cGroup_2_2; } //"." public Keyword getFullStopKeyword_2_2_0() { return cFullStopKeyword_2_2_0; } //{AccessExp.base=current} public Action getAccessExpBaseAction_2_2_1() { return cAccessExpBaseAction_2_2_1; } //accessor=[Accessor] public Assignment getAccessorAssignment_2_2_2() { return cAccessorAssignment_2_2_2; } //[Accessor] public CrossReference getAccessorAccessorCrossReference_2_2_2_0() { return cAccessorAccessorCrossReference_2_2_2_0; } //ID public RuleCall getAccessorAccessorIDTerminalRuleCall_2_2_2_0_1() { return cAccessorAccessorIDTerminalRuleCall_2_2_2_0_1; } } public class PrimaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Primary"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Action cNameExpAction_0_0 = (Action)cGroup_0.eContents().get(0); private final Assignment cIdAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cIdIDTerminalRuleCall_0_1_0 = (RuleCall)cIdAssignment_0_1.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cLiteralExpAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cLitAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cLitBasicLiteralParserRuleCall_1_1_0 = (RuleCall)cLitAssignment_1_1.eContents().get(0); //Primary: // {NameExp} id=ID | {LiteralExp} lit=BasicLiteral; public ParserRule getRule() { return rule; } //{NameExp} id=ID | {LiteralExp} lit=BasicLiteral public Alternatives getAlternatives() { return cAlternatives; } //{NameExp} id=ID public Group getGroup_0() { return cGroup_0; } //{NameExp} public Action getNameExpAction_0_0() { return cNameExpAction_0_0; } //id=ID public Assignment getIdAssignment_0_1() { return cIdAssignment_0_1; } //ID public RuleCall getIdIDTerminalRuleCall_0_1_0() { return cIdIDTerminalRuleCall_0_1_0; } //{LiteralExp} lit=BasicLiteral public Group getGroup_1() { return cGroup_1; } //{LiteralExp} public Action getLiteralExpAction_1_0() { return cLiteralExpAction_1_0; } //lit=BasicLiteral public Assignment getLitAssignment_1_1() { return cLitAssignment_1_1; } //BasicLiteral public RuleCall getLitBasicLiteralParserRuleCall_1_1_0() { return cLitBasicLiteralParserRuleCall_1_1_0; } } public class BinaryOpElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BinaryOp"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cEqualsSignEqualsSignKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cExclamationMarkEqualsSignKeyword_1 = (Keyword)cAlternatives.eContents().get(1); private final Keyword cGreaterThanSignEqualsSignKeyword_2 = (Keyword)cAlternatives.eContents().get(2); private final Keyword cLessThanSignEqualsSignKeyword_3 = (Keyword)cAlternatives.eContents().get(3); private final Keyword cGreaterThanSignKeyword_4 = (Keyword)cAlternatives.eContents().get(4); private final Keyword cLessThanSignKeyword_5 = (Keyword)cAlternatives.eContents().get(5); private final Keyword cAmpersandAmpersandKeyword_6 = (Keyword)cAlternatives.eContents().get(6); private final Keyword cVerticalLineVerticalLineKeyword_7 = (Keyword)cAlternatives.eContents().get(7); private final Keyword cEqualsSignEqualsSignGreaterThanSignKeyword_8 = (Keyword)cAlternatives.eContents().get(8); private final Keyword cLessThanSignEqualsSignEqualsSignKeyword_9 = (Keyword)cAlternatives.eContents().get(9); private final Keyword cPlusSignKeyword_10 = (Keyword)cAlternatives.eContents().get(10); private final Keyword cHyphenMinusKeyword_11 = (Keyword)cAlternatives.eContents().get(11); private final Keyword cAsteriskKeyword_12 = (Keyword)cAlternatives.eContents().get(12); private final Keyword cSolidusKeyword_13 = (Keyword)cAlternatives.eContents().get(13); private final Keyword cPercentSignKeyword_14 = (Keyword)cAlternatives.eContents().get(14); //BinaryOp: // "==" | "!=" | ">=" | "<=" | ">" | "<" | "&&" | "||" | "==>" | "<==" | "+" | "-" | "*" | "/" | "%"; public ParserRule getRule() { return rule; } //"==" | "!=" | ">=" | "<=" | ">" | "<" | "&&" | "||" | "==>" | "<==" | "+" | "-" | "*" | "/" | "%" public Alternatives getAlternatives() { return cAlternatives; } //"==" public Keyword getEqualsSignEqualsSignKeyword_0() { return cEqualsSignEqualsSignKeyword_0; } //"!=" public Keyword getExclamationMarkEqualsSignKeyword_1() { return cExclamationMarkEqualsSignKeyword_1; } //">=" public Keyword getGreaterThanSignEqualsSignKeyword_2() { return cGreaterThanSignEqualsSignKeyword_2; } //"<=" public Keyword getLessThanSignEqualsSignKeyword_3() { return cLessThanSignEqualsSignKeyword_3; } //">" public Keyword getGreaterThanSignKeyword_4() { return cGreaterThanSignKeyword_4; } //"<" public Keyword getLessThanSignKeyword_5() { return cLessThanSignKeyword_5; } //"&&" public Keyword getAmpersandAmpersandKeyword_6() { return cAmpersandAmpersandKeyword_6; } //"||" public Keyword getVerticalLineVerticalLineKeyword_7() { return cVerticalLineVerticalLineKeyword_7; } //"==>" public Keyword getEqualsSignEqualsSignGreaterThanSignKeyword_8() { return cEqualsSignEqualsSignGreaterThanSignKeyword_8; } //"<==" public Keyword getLessThanSignEqualsSignEqualsSignKeyword_9() { return cLessThanSignEqualsSignEqualsSignKeyword_9; } //"+" public Keyword getPlusSignKeyword_10() { return cPlusSignKeyword_10; } //"-" public Keyword getHyphenMinusKeyword_11() { return cHyphenMinusKeyword_11; } //"*" public Keyword getAsteriskKeyword_12() { return cAsteriskKeyword_12; } //"/" public Keyword getSolidusKeyword_13() { return cSolidusKeyword_13; } //"%" public Keyword getPercentSignKeyword_14() { return cPercentSignKeyword_14; } } public class UnaryOpElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryOp"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cPlusSignKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cHyphenMinusKeyword_1 = (Keyword)cAlternatives.eContents().get(1); private final Keyword cExclamationMarkKeyword_2 = (Keyword)cAlternatives.eContents().get(2); private final Keyword cCircumflexAccentKeyword_3 = (Keyword)cAlternatives.eContents().get(3); private final Keyword cTildeKeyword_4 = (Keyword)cAlternatives.eContents().get(4); //UnaryOp: // "+" | "-" | "!" | "^" | "~"; public ParserRule getRule() { return rule; } //"+" | "-" | "!" | "^" | "~" public Alternatives getAlternatives() { return cAlternatives; } //"+" public Keyword getPlusSignKeyword_0() { return cPlusSignKeyword_0; } //"-" public Keyword getHyphenMinusKeyword_1() { return cHyphenMinusKeyword_1; } //"!" public Keyword getExclamationMarkKeyword_2() { return cExclamationMarkKeyword_2; } //"^" public Keyword getCircumflexAccentKeyword_3() { return cCircumflexAccentKeyword_3; } //"~" public Keyword getTildeKeyword_4() { return cTildeKeyword_4; } } 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 Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cSeqKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cSeqTypeAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Assignment cBaseAssignment_0_3 = (Assignment)cGroup_0.eContents().get(3); private final RuleCall cBaseTypeParserRuleCall_0_3_0 = (RuleCall)cBaseAssignment_0_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cSetKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cSetTypeAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); private final Assignment cBaseAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3); private final RuleCall cBaseTypeParserRuleCall_1_3_0 = (RuleCall)cBaseAssignment_1_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); private final RuleCall cBaseTypeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Type: // "Seq" {SeqType} "[" base=Type "]" | "Set" {SetType} "[" base=Type "]" | BaseType; public ParserRule getRule() { return rule; } //"Seq" {SeqType} "[" base=Type "]" | "Set" {SetType} "[" base=Type "]" | BaseType public Alternatives getAlternatives() { return cAlternatives; } //"Seq" {SeqType} "[" base=Type "]" public Group getGroup_0() { return cGroup_0; } //"Seq" public Keyword getSeqKeyword_0_0() { return cSeqKeyword_0_0; } //{SeqType} public Action getSeqTypeAction_0_1() { return cSeqTypeAction_0_1; } //"[" public Keyword getLeftSquareBracketKeyword_0_2() { return cLeftSquareBracketKeyword_0_2; } //base=Type public Assignment getBaseAssignment_0_3() { return cBaseAssignment_0_3; } //Type public RuleCall getBaseTypeParserRuleCall_0_3_0() { return cBaseTypeParserRuleCall_0_3_0; } //"]" public Keyword getRightSquareBracketKeyword_0_4() { return cRightSquareBracketKeyword_0_4; } //"Set" {SetType} "[" base=Type "]" public Group getGroup_1() { return cGroup_1; } //"Set" public Keyword getSetKeyword_1_0() { return cSetKeyword_1_0; } //{SetType} public Action getSetTypeAction_1_1() { return cSetTypeAction_1_1; } //"[" public Keyword getLeftSquareBracketKeyword_1_2() { return cLeftSquareBracketKeyword_1_2; } //base=Type public Assignment getBaseAssignment_1_3() { return cBaseAssignment_1_3; } //Type public RuleCall getBaseTypeParserRuleCall_1_3_0() { return cBaseTypeParserRuleCall_1_3_0; } //"]" public Keyword getRightSquareBracketKeyword_1_4() { return cRightSquareBracketKeyword_1_4; } //BaseType public RuleCall getBaseTypeParserRuleCall_2() { return cBaseTypeParserRuleCall_2; } } public class BaseTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BaseType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cTypeAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final CrossReference cTypeTypeDeclCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); private final RuleCall cTypeTypeDeclIDTerminalRuleCall_0_0_1 = (RuleCall)cTypeTypeDeclCrossReference_0_0.eContents().get(1); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cLessThanSignKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cTupleTypeAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cElemTypesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cElemTypesTypeParserRuleCall_1_2_0 = (RuleCall)cElemTypesAssignment_1_2.eContents().get(0); private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3); private final Keyword cAsteriskKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); private final Assignment cElemTypesAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1); private final RuleCall cElemTypesTypeParserRuleCall_1_3_1_0 = (RuleCall)cElemTypesAssignment_1_3_1.eContents().get(0); private final Keyword cGreaterThanSignKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cOptionKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Action cOptionTypeAction_2_1 = (Action)cGroup_2.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Assignment cBaseAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3); private final RuleCall cBaseTypeParserRuleCall_2_3_0 = (RuleCall)cBaseAssignment_2_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cSomeKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Action cSomeTypeAction_3_1 = (Action)cGroup_3.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); private final Assignment cBaseAssignment_3_3 = (Assignment)cGroup_3.eContents().get(3); private final RuleCall cBaseTypeParserRuleCall_3_3_0 = (RuleCall)cBaseAssignment_3_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4); private final Keyword cNoneKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Action cNoneTypeAction_4_1 = (Action)cGroup_4.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); private final Assignment cBaseAssignment_4_3 = (Assignment)cGroup_4.eContents().get(3); private final RuleCall cBaseTypeParserRuleCall_4_3_0 = (RuleCall)cBaseAssignment_4_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); //BaseType: // type=[TypeDecl] | "<" {TupleType} elemTypes+=Type ("*" elemTypes+=Type)+ ">" | "Option" {OptionType} "[" base=Type "]" // | "Some" {SomeType} "[" base=Type "]" | "None" {NoneType} "[" base=Type "]"; public ParserRule getRule() { return rule; } //type=[TypeDecl] | "<" {TupleType} elemTypes+=Type ("*" elemTypes+=Type)+ ">" | "Option" {OptionType} "[" base=Type "]" | //"Some" {SomeType} "[" base=Type "]" | "None" {NoneType} "[" base=Type "]" public Alternatives getAlternatives() { return cAlternatives; } //type=[TypeDecl] public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //[TypeDecl] public CrossReference getTypeTypeDeclCrossReference_0_0() { return cTypeTypeDeclCrossReference_0_0; } //ID public RuleCall getTypeTypeDeclIDTerminalRuleCall_0_0_1() { return cTypeTypeDeclIDTerminalRuleCall_0_0_1; } //"<" {TupleType} elemTypes+=Type ("*" elemTypes+=Type)+ ">" public Group getGroup_1() { return cGroup_1; } //"<" public Keyword getLessThanSignKeyword_1_0() { return cLessThanSignKeyword_1_0; } //{TupleType} public Action getTupleTypeAction_1_1() { return cTupleTypeAction_1_1; } //elemTypes+=Type public Assignment getElemTypesAssignment_1_2() { return cElemTypesAssignment_1_2; } //Type public RuleCall getElemTypesTypeParserRuleCall_1_2_0() { return cElemTypesTypeParserRuleCall_1_2_0; } //("*" elemTypes+=Type)+ public Group getGroup_1_3() { return cGroup_1_3; } //"*" public Keyword getAsteriskKeyword_1_3_0() { return cAsteriskKeyword_1_3_0; } //elemTypes+=Type public Assignment getElemTypesAssignment_1_3_1() { return cElemTypesAssignment_1_3_1; } //Type public RuleCall getElemTypesTypeParserRuleCall_1_3_1_0() { return cElemTypesTypeParserRuleCall_1_3_1_0; } //">" public Keyword getGreaterThanSignKeyword_1_4() { return cGreaterThanSignKeyword_1_4; } //"Option" {OptionType} "[" base=Type "]" public Group getGroup_2() { return cGroup_2; } //"Option" public Keyword getOptionKeyword_2_0() { return cOptionKeyword_2_0; } //{OptionType} public Action getOptionTypeAction_2_1() { return cOptionTypeAction_2_1; } //"[" public Keyword getLeftSquareBracketKeyword_2_2() { return cLeftSquareBracketKeyword_2_2; } //base=Type public Assignment getBaseAssignment_2_3() { return cBaseAssignment_2_3; } //Type public RuleCall getBaseTypeParserRuleCall_2_3_0() { return cBaseTypeParserRuleCall_2_3_0; } //"]" public Keyword getRightSquareBracketKeyword_2_4() { return cRightSquareBracketKeyword_2_4; } //"Some" {SomeType} "[" base=Type "]" public Group getGroup_3() { return cGroup_3; } //"Some" public Keyword getSomeKeyword_3_0() { return cSomeKeyword_3_0; } //{SomeType} public Action getSomeTypeAction_3_1() { return cSomeTypeAction_3_1; } //"[" public Keyword getLeftSquareBracketKeyword_3_2() { return cLeftSquareBracketKeyword_3_2; } //base=Type public Assignment getBaseAssignment_3_3() { return cBaseAssignment_3_3; } //Type public RuleCall getBaseTypeParserRuleCall_3_3_0() { return cBaseTypeParserRuleCall_3_3_0; } //"]" public Keyword getRightSquareBracketKeyword_3_4() { return cRightSquareBracketKeyword_3_4; } //"None" {NoneType} "[" base=Type "]" public Group getGroup_4() { return cGroup_4; } //"None" public Keyword getNoneKeyword_4_0() { return cNoneKeyword_4_0; } //{NoneType} public Action getNoneTypeAction_4_1() { return cNoneTypeAction_4_1; } //"[" public Keyword getLeftSquareBracketKeyword_4_2() { return cLeftSquareBracketKeyword_4_2; } //base=Type public Assignment getBaseAssignment_4_3() { return cBaseAssignment_4_3; } //Type public RuleCall getBaseTypeParserRuleCall_4_3_0() { return cBaseTypeParserRuleCall_4_3_0; } //"]" public Keyword getRightSquareBracketKeyword_4_4() { return cRightSquareBracketKeyword_4_4; } } public class LiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBasicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cTupleLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cOptionLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cSeqLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cSetLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //Literal: // BasicLiteral | TupleLiteral | OptionLiteral | SeqLiteral | SetLiteral; public ParserRule getRule() { return rule; } //BasicLiteral | TupleLiteral | OptionLiteral | SeqLiteral | SetLiteral public Alternatives getAlternatives() { return cAlternatives; } //BasicLiteral public RuleCall getBasicLiteralParserRuleCall_0() { return cBasicLiteralParserRuleCall_0; } //TupleLiteral public RuleCall getTupleLiteralParserRuleCall_1() { return cTupleLiteralParserRuleCall_1; } //OptionLiteral public RuleCall getOptionLiteralParserRuleCall_2() { return cOptionLiteralParserRuleCall_2; } //SeqLiteral public RuleCall getSeqLiteralParserRuleCall_3() { return cSeqLiteralParserRuleCall_3; } //SetLiteral public RuleCall getSetLiteralParserRuleCall_4() { return cSetLiteralParserRuleCall_4; } } public class BasicLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BasicLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cTypeConsAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cTypeConsTypeDeclCrossReference_0_0 = (CrossReference)cTypeConsAssignment_0.eContents().get(0); private final RuleCall cTypeConsTypeDeclIDTerminalRuleCall_0_0_1 = (RuleCall)cTypeConsTypeDeclCrossReference_0_0.eContents().get(1); private final Assignment cLitAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cLitLITTerminalRuleCall_1_0 = (RuleCall)cLitAssignment_1.eContents().get(0); //BasicLiteral: // typeCons=[TypeDecl] lit=LIT; public ParserRule getRule() { return rule; } //typeCons=[TypeDecl] lit=LIT public Group getGroup() { return cGroup; } //typeCons=[TypeDecl] public Assignment getTypeConsAssignment_0() { return cTypeConsAssignment_0; } //[TypeDecl] public CrossReference getTypeConsTypeDeclCrossReference_0_0() { return cTypeConsTypeDeclCrossReference_0_0; } //ID public RuleCall getTypeConsTypeDeclIDTerminalRuleCall_0_0_1() { return cTypeConsTypeDeclIDTerminalRuleCall_0_0_1; } //lit=LIT public Assignment getLitAssignment_1() { return cLitAssignment_1; } //LIT public RuleCall getLitLITTerminalRuleCall_1_0() { return cLitLITTerminalRuleCall_1_0; } } public class TupleLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TupleLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cTupleLiteralAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cElemsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cElemsLiteralParserRuleCall_2_0_0 = (RuleCall)cElemsAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cElemsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cElemsLiteralParserRuleCall_2_1_1_0 = (RuleCall)cElemsAssignment_2_1_1.eContents().get(0); private final Keyword cGreaterThanSignKeyword_3 = (Keyword)cGroup.eContents().get(3); //TupleLiteral: // "<" {TupleLiteral} (elems+=Literal ("," elems+=Literal)*)? ">"; public ParserRule getRule() { return rule; } //"<" {TupleLiteral} (elems+=Literal ("," elems+=Literal)*)? ">" public Group getGroup() { return cGroup; } //"<" public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; } //{TupleLiteral} public Action getTupleLiteralAction_1() { return cTupleLiteralAction_1; } //(elems+=Literal ("," elems+=Literal)*)? public Group getGroup_2() { return cGroup_2; } //elems+=Literal public Assignment getElemsAssignment_2_0() { return cElemsAssignment_2_0; } //Literal public RuleCall getElemsLiteralParserRuleCall_2_0_0() { return cElemsLiteralParserRuleCall_2_0_0; } //("," elems+=Literal)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //elems+=Literal public Assignment getElemsAssignment_2_1_1() { return cElemsAssignment_2_1_1; } //Literal public RuleCall getElemsLiteralParserRuleCall_2_1_1_0() { return cElemsLiteralParserRuleCall_2_1_1_0; } //">" public Keyword getGreaterThanSignKeyword_3() { return cGreaterThanSignKeyword_3; } } public class SeqLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SeqLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSeqKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cElementTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cElementTypeTypeParserRuleCall_2_0 = (RuleCall)cElementTypeAssignment_2.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Keyword cLeftSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Assignment cElemsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); private final RuleCall cElemsSimpleLiteralParserRuleCall_5_0_0 = (RuleCall)cElemsAssignment_5_0.eContents().get(0); private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1); private final Keyword cCommaKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); private final Assignment cElemsAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); private final RuleCall cElemsSimpleLiteralParserRuleCall_5_1_1_0 = (RuleCall)cElemsAssignment_5_1_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //SeqLiteral: // "Seq" "[" elementType=Type "]" "[" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]"; public ParserRule getRule() { return rule; } //"Seq" "[" elementType=Type "]" "[" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]" public Group getGroup() { return cGroup; } //"Seq" public Keyword getSeqKeyword_0() { return cSeqKeyword_0; } //"[" public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } //elementType=Type public Assignment getElementTypeAssignment_2() { return cElementTypeAssignment_2; } //Type public RuleCall getElementTypeTypeParserRuleCall_2_0() { return cElementTypeTypeParserRuleCall_2_0; } //"]" public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } //"[" public Keyword getLeftSquareBracketKeyword_4() { return cLeftSquareBracketKeyword_4; } //(elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? public Group getGroup_5() { return cGroup_5; } //elems+=SimpleLiteral public Assignment getElemsAssignment_5_0() { return cElemsAssignment_5_0; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_5_0_0() { return cElemsSimpleLiteralParserRuleCall_5_0_0; } //("," elems+=SimpleLiteral)* public Group getGroup_5_1() { return cGroup_5_1; } //"," public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; } //elems+=SimpleLiteral public Assignment getElemsAssignment_5_1_1() { return cElemsAssignment_5_1_1; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_5_1_1_0() { return cElemsSimpleLiteralParserRuleCall_5_1_1_0; } //"]" public Keyword getRightSquareBracketKeyword_6() { return cRightSquareBracketKeyword_6; } } public class SetLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SetLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSetKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cElementTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cElementTypeTypeParserRuleCall_2_0 = (RuleCall)cElementTypeAssignment_2.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Assignment cElemsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); private final RuleCall cElemsSimpleLiteralParserRuleCall_5_0_0 = (RuleCall)cElemsAssignment_5_0.eContents().get(0); private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1); private final Keyword cCommaKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); private final Assignment cElemsAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); private final RuleCall cElemsSimpleLiteralParserRuleCall_5_1_1_0 = (RuleCall)cElemsAssignment_5_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //SetLiteral: // "Set" "[" elementType=Type "]" "{" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}"; public ParserRule getRule() { return rule; } //"Set" "[" elementType=Type "]" "{" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}" public Group getGroup() { return cGroup; } //"Set" public Keyword getSetKeyword_0() { return cSetKeyword_0; } //"[" public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } //elementType=Type public Assignment getElementTypeAssignment_2() { return cElementTypeAssignment_2; } //Type public RuleCall getElementTypeTypeParserRuleCall_2_0() { return cElementTypeTypeParserRuleCall_2_0; } //"]" public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } //"{" public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //(elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? public Group getGroup_5() { return cGroup_5; } //elems+=SimpleLiteral public Assignment getElemsAssignment_5_0() { return cElemsAssignment_5_0; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_5_0_0() { return cElemsSimpleLiteralParserRuleCall_5_0_0; } //("," elems+=SimpleLiteral)* public Group getGroup_5_1() { return cGroup_5_1; } //"," public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; } //elems+=SimpleLiteral public Assignment getElemsAssignment_5_1_1() { return cElemsAssignment_5_1_1; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_5_1_1_0() { return cElemsSimpleLiteralParserRuleCall_5_1_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class OptionLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OptionLiteral"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cNoneKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cNoneLiteralAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Assignment cTypeAssignment_0_3 = (Assignment)cGroup_0.eContents().get(3); private final RuleCall cTypeTypeParserRuleCall_0_3_0 = (RuleCall)cTypeAssignment_0_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cSomeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cSomeLiteralAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cLitAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cLitLiteralParserRuleCall_1_2_0 = (RuleCall)cLitAssignment_1_2.eContents().get(0); //OptionLiteral: // "None" {NoneLiteral} "[" type=Type "]" | "Some" {SomeLiteral} lit=Literal; public ParserRule getRule() { return rule; } //"None" {NoneLiteral} "[" type=Type "]" | "Some" {SomeLiteral} lit=Literal public Alternatives getAlternatives() { return cAlternatives; } //"None" {NoneLiteral} "[" type=Type "]" public Group getGroup_0() { return cGroup_0; } //"None" public Keyword getNoneKeyword_0_0() { return cNoneKeyword_0_0; } //{NoneLiteral} public Action getNoneLiteralAction_0_1() { return cNoneLiteralAction_0_1; } //"[" public Keyword getLeftSquareBracketKeyword_0_2() { return cLeftSquareBracketKeyword_0_2; } //type=Type public Assignment getTypeAssignment_0_3() { return cTypeAssignment_0_3; } //Type public RuleCall getTypeTypeParserRuleCall_0_3_0() { return cTypeTypeParserRuleCall_0_3_0; } //"]" public Keyword getRightSquareBracketKeyword_0_4() { return cRightSquareBracketKeyword_0_4; } //"Some" {SomeLiteral} lit=Literal public Group getGroup_1() { return cGroup_1; } //"Some" public Keyword getSomeKeyword_1_0() { return cSomeKeyword_1_0; } //{SomeLiteral} public Action getSomeLiteralAction_1_1() { return cSomeLiteralAction_1_1; } //lit=Literal public Assignment getLitAssignment_1_2() { return cLitAssignment_1_2; } //Literal public RuleCall getLitLiteralParserRuleCall_1_2_0() { return cLitLiteralParserRuleCall_1_2_0; } } public class SimpleLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleLiteral"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cSimpleBasicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSimpleTupleLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cSimpleSeqLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cSimpleSetLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cSimpleOptionLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //SimpleLiteral: // SimpleBasicLiteral | SimpleTupleLiteral | SimpleSeqLiteral | SimpleSetLiteral | SimpleOptionLiteral; public ParserRule getRule() { return rule; } //SimpleBasicLiteral | SimpleTupleLiteral | SimpleSeqLiteral | SimpleSetLiteral | SimpleOptionLiteral public Alternatives getAlternatives() { return cAlternatives; } //SimpleBasicLiteral public RuleCall getSimpleBasicLiteralParserRuleCall_0() { return cSimpleBasicLiteralParserRuleCall_0; } //SimpleTupleLiteral public RuleCall getSimpleTupleLiteralParserRuleCall_1() { return cSimpleTupleLiteralParserRuleCall_1; } //SimpleSeqLiteral public RuleCall getSimpleSeqLiteralParserRuleCall_2() { return cSimpleSeqLiteralParserRuleCall_2; } //SimpleSetLiteral public RuleCall getSimpleSetLiteralParserRuleCall_3() { return cSimpleSetLiteralParserRuleCall_3; } //SimpleOptionLiteral public RuleCall getSimpleOptionLiteralParserRuleCall_4() { return cSimpleOptionLiteralParserRuleCall_4; } } public class SimpleBasicLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleBasicLiteral"); private final Assignment cLitAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cLitLITTerminalRuleCall_0 = (RuleCall)cLitAssignment.eContents().get(0); //SimpleBasicLiteral: // lit=LIT; public ParserRule getRule() { return rule; } //lit=LIT public Assignment getLitAssignment() { return cLitAssignment; } //LIT public RuleCall getLitLITTerminalRuleCall_0() { return cLitLITTerminalRuleCall_0; } } public class SimpleTupleLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleTupleLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cSimpleTupleLiteralAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cElemsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_0_0 = (RuleCall)cElemsAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cElemsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_1_1_0 = (RuleCall)cElemsAssignment_2_1_1.eContents().get(0); private final Keyword cGreaterThanSignKeyword_3 = (Keyword)cGroup.eContents().get(3); //SimpleTupleLiteral: // "<" {SimpleTupleLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? ">"; public ParserRule getRule() { return rule; } //"<" {SimpleTupleLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? ">" public Group getGroup() { return cGroup; } //"<" public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; } //{SimpleTupleLiteral} public Action getSimpleTupleLiteralAction_1() { return cSimpleTupleLiteralAction_1; } //(elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? public Group getGroup_2() { return cGroup_2; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_0() { return cElemsAssignment_2_0; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_0_0() { return cElemsSimpleLiteralParserRuleCall_2_0_0; } //("," elems+=SimpleLiteral)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_1_1() { return cElemsAssignment_2_1_1; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_1_1_0() { return cElemsSimpleLiteralParserRuleCall_2_1_1_0; } //">" public Keyword getGreaterThanSignKeyword_3() { return cGreaterThanSignKeyword_3; } } public class SimpleOptionLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleOptionLiteral"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cNoneKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Action cSimpleNoneLiteralAction_0_1 = (Action)cGroup_0.eContents().get(1); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Keyword cSomeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Action cSimpleSomeLiteralAction_1_1 = (Action)cGroup_1.eContents().get(1); private final Assignment cLitAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cLitSimpleLiteralParserRuleCall_1_2_0 = (RuleCall)cLitAssignment_1_2.eContents().get(0); //SimpleOptionLiteral: // "None" {SimpleNoneLiteral} | "Some" {SimpleSomeLiteral} lit=SimpleLiteral; public ParserRule getRule() { return rule; } //"None" {SimpleNoneLiteral} | "Some" {SimpleSomeLiteral} lit=SimpleLiteral public Alternatives getAlternatives() { return cAlternatives; } //"None" {SimpleNoneLiteral} public Group getGroup_0() { return cGroup_0; } //"None" public Keyword getNoneKeyword_0_0() { return cNoneKeyword_0_0; } //{SimpleNoneLiteral} public Action getSimpleNoneLiteralAction_0_1() { return cSimpleNoneLiteralAction_0_1; } //"Some" {SimpleSomeLiteral} lit=SimpleLiteral public Group getGroup_1() { return cGroup_1; } //"Some" public Keyword getSomeKeyword_1_0() { return cSomeKeyword_1_0; } //{SimpleSomeLiteral} public Action getSimpleSomeLiteralAction_1_1() { return cSimpleSomeLiteralAction_1_1; } //lit=SimpleLiteral public Assignment getLitAssignment_1_2() { return cLitAssignment_1_2; } //SimpleLiteral public RuleCall getLitSimpleLiteralParserRuleCall_1_2_0() { return cLitSimpleLiteralParserRuleCall_1_2_0; } } public class SimpleSeqLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleSeqLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cSimpleSeqLiteralAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cElemsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_0_0 = (RuleCall)cElemsAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cElemsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_1_1_0 = (RuleCall)cElemsAssignment_2_1_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //SimpleSeqLiteral: // "[" {SimpleSeqLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]"; public ParserRule getRule() { return rule; } //"[" {SimpleSeqLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]" public Group getGroup() { return cGroup; } //"[" public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } //{SimpleSeqLiteral} public Action getSimpleSeqLiteralAction_1() { return cSimpleSeqLiteralAction_1; } //(elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? public Group getGroup_2() { return cGroup_2; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_0() { return cElemsAssignment_2_0; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_0_0() { return cElemsSimpleLiteralParserRuleCall_2_0_0; } //("," elems+=SimpleLiteral)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_1_1() { return cElemsAssignment_2_1_1; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_1_1_0() { return cElemsSimpleLiteralParserRuleCall_2_1_1_0; } //"]" public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } } public class SimpleSetLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleSetLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Action cSimpleSetLiteralAction_1 = (Action)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cElemsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_0_0 = (RuleCall)cElemsAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cElemsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cElemsSimpleLiteralParserRuleCall_2_1_1_0 = (RuleCall)cElemsAssignment_2_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //SimpleSetLiteral: // "{" {SimpleSetLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}"; public ParserRule getRule() { return rule; } //"{" {SimpleSetLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}" public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //{SimpleSetLiteral} public Action getSimpleSetLiteralAction_1() { return cSimpleSetLiteralAction_1; } //(elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? public Group getGroup_2() { return cGroup_2; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_0() { return cElemsAssignment_2_0; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_0_0() { return cElemsSimpleLiteralParserRuleCall_2_0_0; } //("," elems+=SimpleLiteral)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //elems+=SimpleLiteral public Assignment getElemsAssignment_2_1_1() { return cElemsAssignment_2_1_1; } //SimpleLiteral public RuleCall getElemsSimpleLiteralParserRuleCall_2_1_1_0() { return cElemsSimpleLiteralParserRuleCall_2_1_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } private ModelElements pModel; private DeclElements pDecl; private TypeDeclElements pTypeDecl; private FeatureDeclElements pFeatureDecl; private MemberDeclElements pMemberDecl; private AttrDeclElements pAttrDecl; private ModifierElements pModifier; private SubMemberDeclElements pSubMemberDecl; private MModifierElements pMModifier; private AssignmentElements pAssignment; private ReportElements pReport; private FeatureTypeElements pFeatureType; private BaseFeatureTypeElements pBaseFeatureType; private InvariantDeclElements pInvariantDecl; private MultiplicityInvariantElements pMultiplicityInvariant; private GeneralInvariantElements pGeneralInvariant; private SubMemberMatchElements pSubMemberMatch; private ConstraintNatElements pConstraintNat; private DeviceElements pDevice; private ConstraintExpElements pConstraintExp; private ParamElements pParam; private ReportMemberDeclElements pReportMemberDecl; private AccessorElements pAccessor; private ExpElements pExp; private PrimaryElements pPrimary; private BinaryOpElements pBinaryOp; private UnaryOpElements pUnaryOp; private TypeElements pType; private BaseTypeElements pBaseType; private LiteralElements pLiteral; private BasicLiteralElements pBasicLiteral; private TupleLiteralElements pTupleLiteral; private SeqLiteralElements pSeqLiteral; private SetLiteralElements pSetLiteral; private OptionLiteralElements pOptionLiteral; private SimpleLiteralElements pSimpleLiteral; private SimpleBasicLiteralElements pSimpleBasicLiteral; private SimpleTupleLiteralElements pSimpleTupleLiteral; private SimpleOptionLiteralElements pSimpleOptionLiteral; private SimpleSeqLiteralElements pSimpleSeqLiteral; private SimpleSetLiteralElements pSimpleSetLiteral; private TerminalRule tID; private TerminalRule tLIT; private TerminalRule tNAT; private TerminalRule tML_COMMENT; private TerminalRule tSL_COMMENT; private TerminalRule tWS; private final Grammar grammar; @Inject public DeviceModelingLanguageGrammarAccess(GrammarProvider grammarProvider) { this.grammar = internalFindGrammar(grammarProvider); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("edu.ksu.cis.projects.mdcf.devicemodel.DeviceModelingLanguage".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } public Grammar getGrammar() { return grammar; } //Model: // (schema?="Schema" | class?="Class" | product?="Product")? decls+=Decl*; public ModelElements getModelAccess() { return (pModel != null) ? pModel : (pModel = new ModelElements()); } public ParserRule getModelRule() { return getModelAccess().getRule(); } //Decl: // TypeDecl | FeatureDecl; public DeclElements getDeclAccess() { return (pDecl != null) ? pDecl : (pDecl = new DeclElements()); } public ParserRule getDeclRule() { return getDeclAccess().getRule(); } //TypeDecl: // "type" name=ID ("extends" supers+=[TypeDecl] ("with" supers+=[TypeDecl])*)?; public TypeDeclElements getTypeDeclAccess() { return (pTypeDecl != null) ? pTypeDecl : (pTypeDecl = new TypeDeclElements()); } public ParserRule getTypeDeclRule() { return getTypeDeclAccess().getRule(); } //FeatureDecl: // ("feature" {Feature} (schema?="schema" | class?="class" | product?="product")? | "data" {Data} | "device" {Device} | // "app" {App}) name=ID ("extends" supers+=[FeatureDecl] ("with" supers+=[FeatureDecl])*)? ("{" members+=MemberDecl* // "}")? ("requires" "{" devices+=Device* assigns+=Assignment* exp=Exp "}")?; public FeatureDeclElements getFeatureDeclAccess() { return (pFeatureDecl != null) ? pFeatureDecl : (pFeatureDecl = new FeatureDeclElements()); } public ParserRule getFeatureDeclRule() { return getFeatureDeclAccess().getRule(); } //MemberDecl: // AttrDecl | SubMemberDecl | InvariantDecl; public MemberDeclElements getMemberDeclAccess() { return (pMemberDecl != null) ? pMemberDecl : (pMemberDecl = new MemberDeclElements()); } public ParserRule getMemberDeclRule() { return getMemberDeclAccess().getRule(); } //AttrDecl: // modifier=Modifier attributeName=ID (":" type=Type ("=" literal=Literal)? | "=" literal=Literal); public AttrDeclElements getAttrDeclAccess() { return (pAttrDecl != null) ? pAttrDecl : (pAttrDecl = new AttrDeclElements()); } public ParserRule getAttrDeclRule() { return getAttrDeclAccess().getRule(); } //Modifier: // "const" {Const} (schema?="schema" | class?="class" | product?="product" | instance?="instance")? | "val" {Val} | "var" // {Var} | "override" {Override}; public ModifierElements getModifierAccess() { return (pModifier != null) ? pModifier : (pModifier = new ModifierElements()); } public ParserRule getModifierRule() { return getModifierAccess().getRule(); } //SubMemberDecl: // modifier=MModifier? name=ID ":" type=FeatureType; public SubMemberDeclElements getSubMemberDeclAccess() { return (pSubMemberDecl != null) ? pSubMemberDecl : (pSubMemberDecl = new SubMemberDeclElements()); } public ParserRule getSubMemberDeclRule() { return getSubMemberDeclAccess().getRule(); } //MModifier: // "Const" {Const} (schema?="Schema" | class?="Class" | product?="Product" | instance?="Instance")? | "Val" {Val} | "Var" // {Var} | "Override" {Override} | "Data" {Data}; public MModifierElements getMModifierAccess() { return (pMModifier != null) ? pMModifier : (pMModifier = new MModifierElements()); } public ParserRule getMModifierRule() { return getMModifierAccess().getRule(); } //Assignment: // name=ID "=" exp=Exp; public AssignmentElements getAssignmentAccess() { return (pAssignment != null) ? pAssignment : (pAssignment = new AssignmentElements()); } public ParserRule getAssignmentRule() { return getAssignmentAccess().getRule(); } //Report: // name=ID "(" args+=Exp ("," args+=Exp)+ ")"; public ReportElements getReportAccess() { return (pReport != null) ? pReport : (pReport = new ReportElements()); } public ParserRule getReportRule() { return getReportAccess().getRule(); } //FeatureType: // BaseFeatureType | "Option" {OptionFeatureType} "[" base=BaseFeatureType "]" ("=" none?="None")? | "Some" // {SomeFeatureType} "[" base=BaseFeatureType "]" ("=" "{" members+=MemberDecl* "}")? | "Either" {EitherFeatureType} "[" // bases+=BaseFeatureType ("," bases+=BaseFeatureType)+ "]" ("=" choice=NAT "{" members+=MemberDecl* "}")? | "Seq" // {SeqFeatureType} "[" base=BaseFeatureType "]" ("=" "[" (elements+=BaseFeatureType ("," elements+=BaseFeatureType)*)? // "]")? | "Set" {SetFeatureType} "[" base=BaseFeatureType "]" ("=" "{" (elements+=BaseFeatureType ("," // elements+=BaseFeatureType)*)? "}")?; public FeatureTypeElements getFeatureTypeAccess() { return (pFeatureType != null) ? pFeatureType : (pFeatureType = new FeatureTypeElements()); } public ParserRule getFeatureTypeRule() { return getFeatureTypeAccess().getRule(); } //BaseFeatureType: // components+=[FeatureDecl] ("with" components+=[FeatureDecl])* ("=" "{" members+=MemberDecl* "}")?; public BaseFeatureTypeElements getBaseFeatureTypeAccess() { return (pBaseFeatureType != null) ? pBaseFeatureType : (pBaseFeatureType = new BaseFeatureTypeElements()); } public ParserRule getBaseFeatureTypeRule() { return getBaseFeatureTypeAccess().getRule(); } //InvariantDecl: // MultiplicityInvariant | GeneralInvariant; public InvariantDeclElements getInvariantDeclAccess() { return (pInvariantDecl != null) ? pInvariantDecl : (pInvariantDecl = new InvariantDeclElements()); } public ParserRule getInvariantDeclRule() { return getInvariantDeclAccess().getRule(); } //MultiplicityInvariant: // "inv" (invName=ID ":")? (lo=ConstraintNat ".." hi=ConstraintNat) match=SubMemberMatch (":" type=[FeatureDecl])?; public MultiplicityInvariantElements getMultiplicityInvariantAccess() { return (pMultiplicityInvariant != null) ? pMultiplicityInvariant : (pMultiplicityInvariant = new MultiplicityInvariantElements()); } public ParserRule getMultiplicityInvariantRule() { return getMultiplicityInvariantAccess().getRule(); } //GeneralInvariant: // "inv" (invName=ID ":")? exp=Exp; public GeneralInvariantElements getGeneralInvariantAccess() { return (pGeneralInvariant != null) ? pGeneralInvariant : (pGeneralInvariant = new GeneralInvariantElements()); } public ParserRule getGeneralInvariantRule() { return getGeneralInvariantAccess().getRule(); } //SubMemberMatch: // (qNames+=ID ".")* (name=ID | any="*"); public SubMemberMatchElements getSubMemberMatchAccess() { return (pSubMemberMatch != null) ? pSubMemberMatch : (pSubMemberMatch = new SubMemberMatchElements()); } public ParserRule getSubMemberMatchRule() { return getSubMemberMatchAccess().getRule(); } //ConstraintNat: // {NumNatConstraint} num=NAT | {AnyNatConstraint} "*"; public ConstraintNatElements getConstraintNatAccess() { return (pConstraintNat != null) ? pConstraintNat : (pConstraintNat = new ConstraintNatElements()); } public ParserRule getConstraintNatRule() { return getConstraintNatAccess().getRule(); } //Device: // name=ID ":" components+=[FeatureDecl] ("with" components+=[FeatureDecl])* constraint=ConstraintExp?; public DeviceElements getDeviceAccess() { return (pDevice != null) ? pDevice : (pDevice = new DeviceElements()); } public ParserRule getDeviceRule() { return getDeviceAccess().getRule(); } //ConstraintExp: // "constraint" cond=Exp; public ConstraintExpElements getConstraintExpAccess() { return (pConstraintExp != null) ? pConstraintExp : (pConstraintExp = new ConstraintExpElements()); } public ParserRule getConstraintExpRule() { return getConstraintExpAccess().getRule(); } //Param: // name=ID ":" type=BaseFeatureType; public ParamElements getParamAccess() { return (pParam != null) ? pParam : (pParam = new ParamElements()); } public ParserRule getParamRule() { return getParamAccess().getRule(); } //ReportMemberDecl: // name=ID "=" (bindingName+=[Accessor] ".")+ bindingName+=[Accessor]; public ReportMemberDeclElements getReportMemberDeclAccess() { return (pReportMemberDecl != null) ? pReportMemberDecl : (pReportMemberDecl = new ReportMemberDeclElements()); } public ParserRule getReportMemberDeclRule() { return getReportMemberDeclAccess().getRule(); } //Accessor: // AttrDecl | SubMemberDecl; public AccessorElements getAccessorAccess() { return (pAccessor != null) ? pAccessor : (pAccessor = new AccessorElements()); } public ParserRule getAccessorRule() { return getAccessorAccess().getRule(); } //Exp: // "(" {BinaryExp} left=Exp op=BinaryOp right=Exp ")" | "(" {UnaryExp} op=UnaryOp arg=Exp ")" | {PrimaryExp} // primary=Primary ("." {AccessExp.base=current} accessor=[Accessor])*; public ExpElements getExpAccess() { return (pExp != null) ? pExp : (pExp = new ExpElements()); } public ParserRule getExpRule() { return getExpAccess().getRule(); } //Primary: // {NameExp} id=ID | {LiteralExp} lit=BasicLiteral; public PrimaryElements getPrimaryAccess() { return (pPrimary != null) ? pPrimary : (pPrimary = new PrimaryElements()); } public ParserRule getPrimaryRule() { return getPrimaryAccess().getRule(); } //BinaryOp: // "==" | "!=" | ">=" | "<=" | ">" | "<" | "&&" | "||" | "==>" | "<==" | "+" | "-" | "*" | "/" | "%"; public BinaryOpElements getBinaryOpAccess() { return (pBinaryOp != null) ? pBinaryOp : (pBinaryOp = new BinaryOpElements()); } public ParserRule getBinaryOpRule() { return getBinaryOpAccess().getRule(); } //UnaryOp: // "+" | "-" | "!" | "^" | "~"; public UnaryOpElements getUnaryOpAccess() { return (pUnaryOp != null) ? pUnaryOp : (pUnaryOp = new UnaryOpElements()); } public ParserRule getUnaryOpRule() { return getUnaryOpAccess().getRule(); } //Type: // "Seq" {SeqType} "[" base=Type "]" | "Set" {SetType} "[" base=Type "]" | BaseType; public TypeElements getTypeAccess() { return (pType != null) ? pType : (pType = new TypeElements()); } public ParserRule getTypeRule() { return getTypeAccess().getRule(); } //BaseType: // type=[TypeDecl] | "<" {TupleType} elemTypes+=Type ("*" elemTypes+=Type)+ ">" | "Option" {OptionType} "[" base=Type "]" // | "Some" {SomeType} "[" base=Type "]" | "None" {NoneType} "[" base=Type "]"; public BaseTypeElements getBaseTypeAccess() { return (pBaseType != null) ? pBaseType : (pBaseType = new BaseTypeElements()); } public ParserRule getBaseTypeRule() { return getBaseTypeAccess().getRule(); } //Literal: // BasicLiteral | TupleLiteral | OptionLiteral | SeqLiteral | SetLiteral; public LiteralElements getLiteralAccess() { return (pLiteral != null) ? pLiteral : (pLiteral = new LiteralElements()); } public ParserRule getLiteralRule() { return getLiteralAccess().getRule(); } //BasicLiteral: // typeCons=[TypeDecl] lit=LIT; public BasicLiteralElements getBasicLiteralAccess() { return (pBasicLiteral != null) ? pBasicLiteral : (pBasicLiteral = new BasicLiteralElements()); } public ParserRule getBasicLiteralRule() { return getBasicLiteralAccess().getRule(); } //TupleLiteral: // "<" {TupleLiteral} (elems+=Literal ("," elems+=Literal)*)? ">"; public TupleLiteralElements getTupleLiteralAccess() { return (pTupleLiteral != null) ? pTupleLiteral : (pTupleLiteral = new TupleLiteralElements()); } public ParserRule getTupleLiteralRule() { return getTupleLiteralAccess().getRule(); } //SeqLiteral: // "Seq" "[" elementType=Type "]" "[" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]"; public SeqLiteralElements getSeqLiteralAccess() { return (pSeqLiteral != null) ? pSeqLiteral : (pSeqLiteral = new SeqLiteralElements()); } public ParserRule getSeqLiteralRule() { return getSeqLiteralAccess().getRule(); } //SetLiteral: // "Set" "[" elementType=Type "]" "{" (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}"; public SetLiteralElements getSetLiteralAccess() { return (pSetLiteral != null) ? pSetLiteral : (pSetLiteral = new SetLiteralElements()); } public ParserRule getSetLiteralRule() { return getSetLiteralAccess().getRule(); } //OptionLiteral: // "None" {NoneLiteral} "[" type=Type "]" | "Some" {SomeLiteral} lit=Literal; public OptionLiteralElements getOptionLiteralAccess() { return (pOptionLiteral != null) ? pOptionLiteral : (pOptionLiteral = new OptionLiteralElements()); } public ParserRule getOptionLiteralRule() { return getOptionLiteralAccess().getRule(); } //SimpleLiteral: // SimpleBasicLiteral | SimpleTupleLiteral | SimpleSeqLiteral | SimpleSetLiteral | SimpleOptionLiteral; public SimpleLiteralElements getSimpleLiteralAccess() { return (pSimpleLiteral != null) ? pSimpleLiteral : (pSimpleLiteral = new SimpleLiteralElements()); } public ParserRule getSimpleLiteralRule() { return getSimpleLiteralAccess().getRule(); } //SimpleBasicLiteral: // lit=LIT; public SimpleBasicLiteralElements getSimpleBasicLiteralAccess() { return (pSimpleBasicLiteral != null) ? pSimpleBasicLiteral : (pSimpleBasicLiteral = new SimpleBasicLiteralElements()); } public ParserRule getSimpleBasicLiteralRule() { return getSimpleBasicLiteralAccess().getRule(); } //SimpleTupleLiteral: // "<" {SimpleTupleLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? ">"; public SimpleTupleLiteralElements getSimpleTupleLiteralAccess() { return (pSimpleTupleLiteral != null) ? pSimpleTupleLiteral : (pSimpleTupleLiteral = new SimpleTupleLiteralElements()); } public ParserRule getSimpleTupleLiteralRule() { return getSimpleTupleLiteralAccess().getRule(); } //SimpleOptionLiteral: // "None" {SimpleNoneLiteral} | "Some" {SimpleSomeLiteral} lit=SimpleLiteral; public SimpleOptionLiteralElements getSimpleOptionLiteralAccess() { return (pSimpleOptionLiteral != null) ? pSimpleOptionLiteral : (pSimpleOptionLiteral = new SimpleOptionLiteralElements()); } public ParserRule getSimpleOptionLiteralRule() { return getSimpleOptionLiteralAccess().getRule(); } //SimpleSeqLiteral: // "[" {SimpleSeqLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "]"; public SimpleSeqLiteralElements getSimpleSeqLiteralAccess() { return (pSimpleSeqLiteral != null) ? pSimpleSeqLiteral : (pSimpleSeqLiteral = new SimpleSeqLiteralElements()); } public ParserRule getSimpleSeqLiteralRule() { return getSimpleSeqLiteralAccess().getRule(); } //SimpleSetLiteral: // "{" {SimpleSetLiteral} (elems+=SimpleLiteral ("," elems+=SimpleLiteral)*)? "}"; public SimpleSetLiteralElements getSimpleSetLiteralAccess() { return (pSimpleSetLiteral != null) ? pSimpleSetLiteral : (pSimpleSetLiteral = new SimpleSetLiteralElements()); } public ParserRule getSimpleSetLiteralRule() { return getSimpleSetLiteralAccess().getRule(); } //terminal ID: // "\'"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return (tID != null) ? tID : (tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ID")); } //terminal LIT: // "\'" ("("->")"); public TerminalRule getLITRule() { return (tLIT != null) ? tLIT : (tLIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LIT")); } //terminal NAT: // "0" | "1".."9" "0".."9"*; public TerminalRule getNATRule() { return (tNAT != null) ? tNAT : (tNAT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "NAT")); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return (tML_COMMENT != null) ? tML_COMMENT : (tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ML_COMMENT")); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return (tSL_COMMENT != null) ? tSL_COMMENT : (tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SL_COMMENT")); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return (tWS != null) ? tWS : (tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "WS")); } }