/* * generated by Xtext */ package monoge.dsl.services; import com.google.inject.Singleton; import com.google.inject.Inject; import java.util.List; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; @Singleton public class ExtensionGrammarAccess 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 Keyword cDefineKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cExtensionNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cExtensionNameIDTerminalRuleCall_1_0 = (RuleCall)cExtensionNameAssignment_1.eContents().get(0); private final Keyword cExtendingKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cMetamodelAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cMetamodelMetamodelParserRuleCall_3_0 = (RuleCall)cMetamodelAssignment_3.eContents().get(0); private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cPrefixAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cPrefixPrefixParserRuleCall_5_0 = (RuleCall)cPrefixAssignment_5.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cMetamodelAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final RuleCall cMetamodelMetamodelParserRuleCall_6_1_0 = (RuleCall)cMetamodelAssignment_6_1.eContents().get(0); private final Keyword cColonKeyword_6_2 = (Keyword)cGroup_6.eContents().get(2); private final Assignment cPrefixAssignment_6_3 = (Assignment)cGroup_6.eContents().get(3); private final RuleCall cPrefixPrefixParserRuleCall_6_3_0 = (RuleCall)cPrefixAssignment_6_3.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cExtensionsAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cExtensionsExtensionParserRuleCall_8_0 = (RuleCall)cExtensionsAssignment_8.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); ////Specific grammar to define MM extensions //Model: // "define" extensionName=ID "extending" metamodel+=Metamodel ":" prefix+=Prefix ("," metamodel+=Metamodel ":" // prefix+=Prefix)* "{" extensions+=Extension* "}"; public ParserRule getRule() { return rule; } //"define" extensionName=ID "extending" metamodel+=Metamodel ":" prefix+=Prefix ("," metamodel+=Metamodel ":" //prefix+=Prefix)* "{" extensions+=Extension* "}" public Group getGroup() { return cGroup; } //"define" public Keyword getDefineKeyword_0() { return cDefineKeyword_0; } //extensionName=ID public Assignment getExtensionNameAssignment_1() { return cExtensionNameAssignment_1; } //ID public RuleCall getExtensionNameIDTerminalRuleCall_1_0() { return cExtensionNameIDTerminalRuleCall_1_0; } //"extending" public Keyword getExtendingKeyword_2() { return cExtendingKeyword_2; } //metamodel+=Metamodel public Assignment getMetamodelAssignment_3() { return cMetamodelAssignment_3; } //Metamodel public RuleCall getMetamodelMetamodelParserRuleCall_3_0() { return cMetamodelMetamodelParserRuleCall_3_0; } //":" public Keyword getColonKeyword_4() { return cColonKeyword_4; } //prefix+=Prefix public Assignment getPrefixAssignment_5() { return cPrefixAssignment_5; } //Prefix public RuleCall getPrefixPrefixParserRuleCall_5_0() { return cPrefixPrefixParserRuleCall_5_0; } //("," metamodel+=Metamodel ":" prefix+=Prefix)* public Group getGroup_6() { return cGroup_6; } //"," public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; } //metamodel+=Metamodel public Assignment getMetamodelAssignment_6_1() { return cMetamodelAssignment_6_1; } //Metamodel public RuleCall getMetamodelMetamodelParserRuleCall_6_1_0() { return cMetamodelMetamodelParserRuleCall_6_1_0; } //":" public Keyword getColonKeyword_6_2() { return cColonKeyword_6_2; } //prefix+=Prefix public Assignment getPrefixAssignment_6_3() { return cPrefixAssignment_6_3; } //Prefix public RuleCall getPrefixPrefixParserRuleCall_6_3_0() { return cPrefixPrefixParserRuleCall_6_3_0; } //"{" public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; } //extensions+=Extension* public Assignment getExtensionsAssignment_8() { return cExtensionsAssignment_8; } //Extension public RuleCall getExtensionsExtensionParserRuleCall_8_0() { return cExtensionsExtensionParserRuleCall_8_0; } //"}" public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } } public class ExtensionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Extension"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cCreateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cRefineParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cGeneralizeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cModifyClassParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cFilterClassParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //Extension: // Create | Refine | Generalize | ModifyClass | FilterClass; public ParserRule getRule() { return rule; } //Create | Refine | Generalize | ModifyClass | FilterClass public Alternatives getAlternatives() { return cAlternatives; } //Create public RuleCall getCreateParserRuleCall_0() { return cCreateParserRuleCall_0; } //Refine public RuleCall getRefineParserRuleCall_1() { return cRefineParserRuleCall_1; } //Generalize public RuleCall getGeneralizeParserRuleCall_2() { return cGeneralizeParserRuleCall_2; } //ModifyClass public RuleCall getModifyClassParserRuleCall_3() { return cModifyClassParserRuleCall_3; } //FilterClass public RuleCall getFilterClassParserRuleCall_4() { return cFilterClassParserRuleCall_4; } } public class MetamodelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Metamodel"); private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); //Metamodel: // name=ID; public ParserRule getRule() { return rule; } //name=ID public Assignment getNameAssignment() { return cNameAssignment; } //ID public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } } public class PrefixElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Prefix"); private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); //Prefix: // name=ID; public ParserRule getRule() { return rule; } //name=ID public Assignment getNameAssignment() { return cNameAssignment; } //ID public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } } public class CreateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Create"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAddClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cClassAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cClassIDTerminalRuleCall_1_0 = (RuleCall)cClassAssignment_1.eContents().get(0); ////1- Create from scratch: Create Class classA //Create: // "add class" class=ID; public ParserRule getRule() { return rule; } //"add class" class=ID public Group getGroup() { return cGroup; } //"add class" public Keyword getAddClassKeyword_0() { return cAddClassKeyword_0; } //class=ID public Assignment getClassAssignment_1() { return cClassAssignment_1; } //ID public RuleCall getClassIDTerminalRuleCall_1_0() { return cClassIDTerminalRuleCall_1_0; } } public class RefineElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Refine"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAddClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cClassNewAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cClassNewIDTerminalRuleCall_1_0 = (RuleCall)cClassNewAssignment_1.eContents().get(0); private final Keyword cSpecializingKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cPrefixAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cPrefixPrefixCrossReference_3_0 = (CrossReference)cPrefixAssignment_3.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_3_0_1 = (RuleCall)cPrefixPrefixCrossReference_3_0.eContents().get(1); private final Keyword cFullStopKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cClassOriginalAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cClassOriginalIDTerminalRuleCall_5_0 = (RuleCall)cClassOriginalAssignment_5.eContents().get(0); ////2- Refining: Create Class classB extending classX //Refine: // "add class" classNew=ID "specializing" prefix=[Prefix] "." classOriginal=ID; public ParserRule getRule() { return rule; } //"add class" classNew=ID "specializing" prefix=[Prefix] "." classOriginal=ID public Group getGroup() { return cGroup; } //"add class" public Keyword getAddClassKeyword_0() { return cAddClassKeyword_0; } //classNew=ID public Assignment getClassNewAssignment_1() { return cClassNewAssignment_1; } //ID public RuleCall getClassNewIDTerminalRuleCall_1_0() { return cClassNewIDTerminalRuleCall_1_0; } //"specializing" public Keyword getSpecializingKeyword_2() { return cSpecializingKeyword_2; } //prefix=[Prefix] public Assignment getPrefixAssignment_3() { return cPrefixAssignment_3; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_3_0() { return cPrefixPrefixCrossReference_3_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_3_0_1() { return cPrefixPrefixIDTerminalRuleCall_3_0_1; } //"." public Keyword getFullStopKeyword_4() { return cFullStopKeyword_4; } //classOriginal=ID public Assignment getClassOriginalAssignment_5() { return cClassOriginalAssignment_5; } //ID public RuleCall getClassOriginalIDTerminalRuleCall_5_0() { return cClassOriginalIDTerminalRuleCall_5_0; } } public class GeneralizeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Generalize"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAddClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cClassNewAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cClassNewIDTerminalRuleCall_1_0 = (RuleCall)cClassNewAssignment_1.eContents().get(0); private final Keyword cSupertypingKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cPrefixAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cPrefixPrefixCrossReference_3_0 = (CrossReference)cPrefixAssignment_3.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_3_0_1 = (RuleCall)cPrefixPrefixCrossReference_3_0.eContents().get(1); private final Keyword cFullStopKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cClassAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cClassIDTerminalRuleCall_5_0 = (RuleCall)cClassAssignment_5.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cPrefixAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final CrossReference cPrefixPrefixCrossReference_6_1_0 = (CrossReference)cPrefixAssignment_6_1.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_6_1_0_1 = (RuleCall)cPrefixPrefixCrossReference_6_1_0.eContents().get(1); private final Keyword cFullStopKeyword_6_2 = (Keyword)cGroup_6.eContents().get(2); private final Assignment cClassAssignment_6_3 = (Assignment)cGroup_6.eContents().get(3); private final RuleCall cClassIDTerminalRuleCall_6_3_0 = (RuleCall)cClassAssignment_6_3.eContents().get(0); ////3- Generalize: Create Class Z supertyping A, B //Generalize: // "add class" classNew=ID "supertyping" prefix+=[Prefix] "." class+=ID ("," prefix+=[Prefix] "." class+=ID)*; public ParserRule getRule() { return rule; } //"add class" classNew=ID "supertyping" prefix+=[Prefix] "." class+=ID ("," prefix+=[Prefix] "." class+=ID)* public Group getGroup() { return cGroup; } //"add class" public Keyword getAddClassKeyword_0() { return cAddClassKeyword_0; } //classNew=ID public Assignment getClassNewAssignment_1() { return cClassNewAssignment_1; } //ID public RuleCall getClassNewIDTerminalRuleCall_1_0() { return cClassNewIDTerminalRuleCall_1_0; } //"supertyping" public Keyword getSupertypingKeyword_2() { return cSupertypingKeyword_2; } //prefix+=[Prefix] public Assignment getPrefixAssignment_3() { return cPrefixAssignment_3; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_3_0() { return cPrefixPrefixCrossReference_3_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_3_0_1() { return cPrefixPrefixIDTerminalRuleCall_3_0_1; } //"." public Keyword getFullStopKeyword_4() { return cFullStopKeyword_4; } //class+=ID public Assignment getClassAssignment_5() { return cClassAssignment_5; } //ID public RuleCall getClassIDTerminalRuleCall_5_0() { return cClassIDTerminalRuleCall_5_0; } //("," prefix+=[Prefix] "." class+=ID)* public Group getGroup_6() { return cGroup_6; } //"," public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; } //prefix+=[Prefix] public Assignment getPrefixAssignment_6_1() { return cPrefixAssignment_6_1; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_6_1_0() { return cPrefixPrefixCrossReference_6_1_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_6_1_0_1() { return cPrefixPrefixIDTerminalRuleCall_6_1_0_1; } //"." public Keyword getFullStopKeyword_6_2() { return cFullStopKeyword_6_2; } //class+=ID public Assignment getClassAssignment_6_3() { return cClassAssignment_6_3; } //ID public RuleCall getClassIDTerminalRuleCall_6_3_0() { return cClassIDTerminalRuleCall_6_3_0; } } public class ModifyClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModifyClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cModifyClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPrefixAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cPrefixPrefixCrossReference_1_0 = (CrossReference)cPrefixAssignment_1.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_1_0_1 = (RuleCall)cPrefixPrefixCrossReference_1_0.eContents().get(1); private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cClassAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cClassIDTerminalRuleCall_3_0 = (RuleCall)cClassAssignment_3.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cModifyOperatorsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cModifyOperatorsModifyOperatorParserRuleCall_5_0 = (RuleCall)cModifyOperatorsAssignment_5.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); ////Covers AddProperty, ModifyProperty, FilterProperty AddConstraint and FilterConstraint //ModifyClass: // "modify class" prefix=[Prefix] "." class=ID "{" modifyOperators+=ModifyOperator* "}"; public ParserRule getRule() { return rule; } //"modify class" prefix=[Prefix] "." class=ID "{" modifyOperators+=ModifyOperator* "}" public Group getGroup() { return cGroup; } //"modify class" public Keyword getModifyClassKeyword_0() { return cModifyClassKeyword_0; } //prefix=[Prefix] public Assignment getPrefixAssignment_1() { return cPrefixAssignment_1; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_1_0() { return cPrefixPrefixCrossReference_1_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_1_0_1() { return cPrefixPrefixIDTerminalRuleCall_1_0_1; } //"." public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } //class=ID public Assignment getClassAssignment_3() { return cClassAssignment_3; } //ID public RuleCall getClassIDTerminalRuleCall_3_0() { return cClassIDTerminalRuleCall_3_0; } //"{" public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //modifyOperators+=ModifyOperator* public Assignment getModifyOperatorsAssignment_5() { return cModifyOperatorsAssignment_5; } //ModifyOperator public RuleCall getModifyOperatorsModifyOperatorParserRuleCall_5_0() { return cModifyOperatorsModifyOperatorParserRuleCall_5_0; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class ModifyOperatorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModifyOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cAddPropertyParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cModifyPropertyParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cFilterPropertyParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cAddConstraintParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cFilterConstraintParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //ModifyOperator: // AddProperty | ModifyProperty | FilterProperty | AddConstraint | FilterConstraint; public ParserRule getRule() { return rule; } //AddProperty | ModifyProperty | FilterProperty | AddConstraint | FilterConstraint public Alternatives getAlternatives() { return cAlternatives; } //AddProperty public RuleCall getAddPropertyParserRuleCall_0() { return cAddPropertyParserRuleCall_0; } //ModifyProperty public RuleCall getModifyPropertyParserRuleCall_1() { return cModifyPropertyParserRuleCall_1; } //FilterProperty public RuleCall getFilterPropertyParserRuleCall_2() { return cFilterPropertyParserRuleCall_2; } //AddConstraint public RuleCall getAddConstraintParserRuleCall_3() { return cAddConstraintParserRuleCall_3; } //FilterConstraint public RuleCall getFilterConstraintParserRuleCall_4() { return cFilterConstraintParserRuleCall_4; } } public class AddPropertyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AddProperty"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAddPropertyKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPropertyIDTerminalRuleCall_1_0 = (RuleCall)cPropertyAssignment_1.eContents().get(0); private final Keyword cTypeKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); private final Assignment cCardinalityAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cCardinalityCardinalityParserRuleCall_4_0 = (RuleCall)cCardinalityAssignment_4.eContents().get(0); private final Assignment cRelationTypeAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cRelationTypeRelationTypeParserRuleCall_5_0 = (RuleCall)cRelationTypeAssignment_5.eContents().get(0); ////4- Add property: Alter Class classC Add propertyA [optional attributes] //AddProperty: // "add property" property=ID "type" type+=Type cardinality+=Cardinality? relationType+=RelationType?; public ParserRule getRule() { return rule; } //"add property" property=ID "type" type+=Type cardinality+=Cardinality? relationType+=RelationType? public Group getGroup() { return cGroup; } //"add property" public Keyword getAddPropertyKeyword_0() { return cAddPropertyKeyword_0; } //property=ID public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } //ID public RuleCall getPropertyIDTerminalRuleCall_1_0() { return cPropertyIDTerminalRuleCall_1_0; } //"type" public Keyword getTypeKeyword_2() { return cTypeKeyword_2; } //type+=Type public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } //Type public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } //cardinality+=Cardinality? public Assignment getCardinalityAssignment_4() { return cCardinalityAssignment_4; } //Cardinality public RuleCall getCardinalityCardinalityParserRuleCall_4_0() { return cCardinalityCardinalityParserRuleCall_4_0; } //relationType+=RelationType? public Assignment getRelationTypeAssignment_5() { return cRelationTypeAssignment_5; } //RelationType public RuleCall getRelationTypeRelationTypeParserRuleCall_5_0() { return cRelationTypeRelationTypeParserRuleCall_5_0; } } public class TypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Type"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cTypeAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cTypeIDTerminalRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Assignment cPrefixAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final CrossReference cPrefixPrefixCrossReference_1_0_0 = (CrossReference)cPrefixAssignment_1_0.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_1_0_0_1 = (RuleCall)cPrefixPrefixCrossReference_1_0_0.eContents().get(1); private final Keyword cFullStopKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cClassAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cClassIDTerminalRuleCall_1_2_0 = (RuleCall)cClassAssignment_1_2.eContents().get(0); //Type: // type+=ID | prefix+=[Prefix] "." class+=ID; public ParserRule getRule() { return rule; } //type+=ID | prefix+=[Prefix] "." class+=ID public Alternatives getAlternatives() { return cAlternatives; } //type+=ID public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //ID public RuleCall getTypeIDTerminalRuleCall_0_0() { return cTypeIDTerminalRuleCall_0_0; } //prefix+=[Prefix] "." class+=ID public Group getGroup_1() { return cGroup_1; } //prefix+=[Prefix] public Assignment getPrefixAssignment_1_0() { return cPrefixAssignment_1_0; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_1_0_0() { return cPrefixPrefixCrossReference_1_0_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_1_0_0_1() { return cPrefixPrefixIDTerminalRuleCall_1_0_0_1; } //"." public Keyword getFullStopKeyword_1_1() { return cFullStopKeyword_1_1; } //class+=ID public Assignment getClassAssignment_1_2() { return cClassAssignment_1_2; } //ID public RuleCall getClassIDTerminalRuleCall_1_2_0() { return cClassIDTerminalRuleCall_1_2_0; } } public class ModifyPropertyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModifyProperty"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cModifyPropertyKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPropertyIDTerminalRuleCall_1_0 = (RuleCall)cPropertyAssignment_1.eContents().get(0); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueValueAssignmentParserRuleCall_2_0 = (RuleCall)cValueAssignment_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 cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cValueValueAssignmentParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); ////5- Modify property: Alter Class classA Modify propertyB [attribute1=value1, ...] //ModifyProperty: // "modify property" property=ID value+=ValueAssignment ("," value+=ValueAssignment)*; public ParserRule getRule() { return rule; } //"modify property" property=ID value+=ValueAssignment ("," value+=ValueAssignment)* public Group getGroup() { return cGroup; } //"modify property" public Keyword getModifyPropertyKeyword_0() { return cModifyPropertyKeyword_0; } //property=ID public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } //ID public RuleCall getPropertyIDTerminalRuleCall_1_0() { return cPropertyIDTerminalRuleCall_1_0; } //value+=ValueAssignment public Assignment getValueAssignment_2() { return cValueAssignment_2; } //ValueAssignment public RuleCall getValueValueAssignmentParserRuleCall_2_0() { return cValueValueAssignmentParserRuleCall_2_0; } //("," value+=ValueAssignment)* public Group getGroup_3() { return cGroup_3; } //"," public Keyword getCommaKeyword_3_0() { return cCommaKeyword_3_0; } //value+=ValueAssignment public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; } //ValueAssignment public RuleCall getValueValueAssignmentParserRuleCall_3_1_0() { return cValueValueAssignmentParserRuleCall_3_1_0; } } public class ValueAssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueAssignment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cAttributeAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cAttributeIDTerminalRuleCall_0_0 = (RuleCall)cAttributeAssignment_0.eContents().get(0); private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueEStringParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); //ValueAssignment: // attribute=ID "=" value=EString; public ParserRule getRule() { return rule; } //attribute=ID "=" value=EString public Group getGroup() { return cGroup; } //attribute=ID public Assignment getAttributeAssignment_0() { return cAttributeAssignment_0; } //ID public RuleCall getAttributeIDTerminalRuleCall_0_0() { return cAttributeIDTerminalRuleCall_0_0; } //"=" public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } //value=EString public Assignment getValueAssignment_2() { return cValueAssignment_2; } //EString public RuleCall getValueEStringParserRuleCall_2_0() { return cValueEStringParserRuleCall_2_0; } } public class FilterPropertyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FilterProperty"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFilterPropertyKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPropertyIDTerminalRuleCall_1_0 = (RuleCall)cPropertyAssignment_1.eContents().get(0); ////6- Filter property: Alter Class classE Drop propertyC //FilterProperty: // "filter property" property=ID; public ParserRule getRule() { return rule; } //"filter property" property=ID public Group getGroup() { return cGroup; } //"filter property" public Keyword getFilterPropertyKeyword_0() { return cFilterPropertyKeyword_0; } //property=ID public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } //ID public RuleCall getPropertyIDTerminalRuleCall_1_0() { return cPropertyIDTerminalRuleCall_1_0; } } public class FilterClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FilterClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFilterClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPrefixAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cPrefixPrefixCrossReference_1_0 = (CrossReference)cPrefixAssignment_1.eContents().get(0); private final RuleCall cPrefixPrefixIDTerminalRuleCall_1_0_1 = (RuleCall)cPrefixPrefixCrossReference_1_0.eContents().get(1); private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cClassAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cClassIDTerminalRuleCall_3_0 = (RuleCall)cClassAssignment_3.eContents().get(0); ////7- Filter class: Drop Class classA //FilterClass: // "filter class" prefix=[Prefix] "." class=ID; public ParserRule getRule() { return rule; } //"filter class" prefix=[Prefix] "." class=ID public Group getGroup() { return cGroup; } //"filter class" public Keyword getFilterClassKeyword_0() { return cFilterClassKeyword_0; } //prefix=[Prefix] public Assignment getPrefixAssignment_1() { return cPrefixAssignment_1; } //[Prefix] public CrossReference getPrefixPrefixCrossReference_1_0() { return cPrefixPrefixCrossReference_1_0; } //ID public RuleCall getPrefixPrefixIDTerminalRuleCall_1_0_1() { return cPrefixPrefixIDTerminalRuleCall_1_0_1; } //"." public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } //class=ID public Assignment getClassAssignment_3() { return cClassAssignment_3; } //ID public RuleCall getClassIDTerminalRuleCall_3_0() { return cClassIDTerminalRuleCall_3_0; } } public class AddConstraintElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AddConstraint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAddConstraintKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cConstraintAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cConstraintIDTerminalRuleCall_1_0 = (RuleCall)cConstraintAssignment_1.eContents().get(0); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueEStringParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); ////8- Add constraint: Alter Class classG Add Constraint constraintA value //AddConstraint: // "add constraint" constraint=ID value=EString; public ParserRule getRule() { return rule; } //"add constraint" constraint=ID value=EString public Group getGroup() { return cGroup; } //"add constraint" public Keyword getAddConstraintKeyword_0() { return cAddConstraintKeyword_0; } //constraint=ID public Assignment getConstraintAssignment_1() { return cConstraintAssignment_1; } //ID public RuleCall getConstraintIDTerminalRuleCall_1_0() { return cConstraintIDTerminalRuleCall_1_0; } //value=EString public Assignment getValueAssignment_2() { return cValueAssignment_2; } //EString public RuleCall getValueEStringParserRuleCall_2_0() { return cValueEStringParserRuleCall_2_0; } } public class FilterConstraintElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FilterConstraint"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFilterConstraintKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cConstraintAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cConstraintEStringParserRuleCall_1_0 = (RuleCall)cConstraintAssignment_1.eContents().get(0); ////9- Filter constraint: Alter Class classH Drop Constraint constraintB //FilterConstraint: // "filter constraint" constraint=EString; public ParserRule getRule() { return rule; } //"filter constraint" constraint=EString public Group getGroup() { return cGroup; } //"filter constraint" public Keyword getFilterConstraintKeyword_0() { return cFilterConstraintKeyword_0; } //constraint=EString public Assignment getConstraintAssignment_1() { return cConstraintAssignment_1; } //EString public RuleCall getConstraintEStringParserRuleCall_1_0() { return cConstraintEStringParserRuleCall_1_0; } } public class CardinalityElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Cardinality"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cAsteriskFullStopFullStopDigitOneKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cDigitZeroFullStopFullStopDigitOneKeyword_1 = (Keyword)cAlternatives.eContents().get(1); private final Keyword cDigitOneFullStopFullStopDigitOneKeyword_2 = (Keyword)cAlternatives.eContents().get(2); private final Keyword cDigitOneFullStopFullStopAsteriskKeyword_3 = (Keyword)cAlternatives.eContents().get(3); private final Keyword cAsteriskFullStopFullStopAsteriskKeyword_4 = (Keyword)cAlternatives.eContents().get(4); private final Keyword cAsteriskKeyword_5 = (Keyword)cAlternatives.eContents().get(5); private final Keyword cDigitZeroFullStopFullStopAsteriskKeyword_6 = (Keyword)cAlternatives.eContents().get(6); //Cardinality: // "*..1" | "0..1" | "1..1" | "1..*" | "*..*" | "*" | "0..*"; public ParserRule getRule() { return rule; } //"*..1" | "0..1" | "1..1" | "1..*" | "*..*" | "*" | "0..*" public Alternatives getAlternatives() { return cAlternatives; } //"*..1" public Keyword getAsteriskFullStopFullStopDigitOneKeyword_0() { return cAsteriskFullStopFullStopDigitOneKeyword_0; } //"0..1" public Keyword getDigitZeroFullStopFullStopDigitOneKeyword_1() { return cDigitZeroFullStopFullStopDigitOneKeyword_1; } //"1..1" public Keyword getDigitOneFullStopFullStopDigitOneKeyword_2() { return cDigitOneFullStopFullStopDigitOneKeyword_2; } //"1..*" public Keyword getDigitOneFullStopFullStopAsteriskKeyword_3() { return cDigitOneFullStopFullStopAsteriskKeyword_3; } //"*..*" public Keyword getAsteriskFullStopFullStopAsteriskKeyword_4() { return cAsteriskFullStopFullStopAsteriskKeyword_4; } //"*" public Keyword getAsteriskKeyword_5() { return cAsteriskKeyword_5; } //"0..*" public Keyword getDigitZeroFullStopFullStopAsteriskKeyword_6() { return cDigitZeroFullStopFullStopAsteriskKeyword_6; } } public class RelationTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelationType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cCompositionKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cAssociationKeyword_1 = (Keyword)cAlternatives.eContents().get(1); //RelationType: // "composition" | "association"; public ParserRule getRule() { return rule; } //"composition" | "association" public Alternatives getAlternatives() { return cAlternatives; } //"composition" public Keyword getCompositionKeyword_0() { return cCompositionKeyword_0; } //"association" public Keyword getAssociationKeyword_1() { return cAssociationKeyword_1; } } public class EStringElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //EString returns ecore::EString: // STRING | ID; public ParserRule getRule() { return rule; } //STRING | ID public Alternatives getAlternatives() { return cAlternatives; } //STRING public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } //ID public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } } private final ModelElements pModel; private final ExtensionElements pExtension; private final MetamodelElements pMetamodel; private final PrefixElements pPrefix; private final CreateElements pCreate; private final RefineElements pRefine; private final GeneralizeElements pGeneralize; private final ModifyClassElements pModifyClass; private final ModifyOperatorElements pModifyOperator; private final AddPropertyElements pAddProperty; private final TypeElements pType; private final ModifyPropertyElements pModifyProperty; private final ValueAssignmentElements pValueAssignment; private final FilterPropertyElements pFilterProperty; private final FilterClassElements pFilterClass; private final AddConstraintElements pAddConstraint; private final FilterConstraintElements pFilterConstraint; private final CardinalityElements pCardinality; private final RelationTypeElements pRelationType; private final EStringElements pEString; private final Grammar grammar; private final TerminalsGrammarAccess gaTerminals; @Inject public ExtensionGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; this.pModel = new ModelElements(); this.pExtension = new ExtensionElements(); this.pMetamodel = new MetamodelElements(); this.pPrefix = new PrefixElements(); this.pCreate = new CreateElements(); this.pRefine = new RefineElements(); this.pGeneralize = new GeneralizeElements(); this.pModifyClass = new ModifyClassElements(); this.pModifyOperator = new ModifyOperatorElements(); this.pAddProperty = new AddPropertyElements(); this.pType = new TypeElements(); this.pModifyProperty = new ModifyPropertyElements(); this.pValueAssignment = new ValueAssignmentElements(); this.pFilterProperty = new FilterPropertyElements(); this.pFilterClass = new FilterClassElements(); this.pAddConstraint = new AddConstraintElements(); this.pFilterConstraint = new FilterConstraintElements(); this.pCardinality = new CardinalityElements(); this.pRelationType = new RelationTypeElements(); this.pEString = new EStringElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("monoge.dsl.Extension".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; } public TerminalsGrammarAccess getTerminalsGrammarAccess() { return gaTerminals; } ////Specific grammar to define MM extensions //Model: // "define" extensionName=ID "extending" metamodel+=Metamodel ":" prefix+=Prefix ("," metamodel+=Metamodel ":" // prefix+=Prefix)* "{" extensions+=Extension* "}"; public ModelElements getModelAccess() { return pModel; } public ParserRule getModelRule() { return getModelAccess().getRule(); } //Extension: // Create | Refine | Generalize | ModifyClass | FilterClass; public ExtensionElements getExtensionAccess() { return pExtension; } public ParserRule getExtensionRule() { return getExtensionAccess().getRule(); } //Metamodel: // name=ID; public MetamodelElements getMetamodelAccess() { return pMetamodel; } public ParserRule getMetamodelRule() { return getMetamodelAccess().getRule(); } //Prefix: // name=ID; public PrefixElements getPrefixAccess() { return pPrefix; } public ParserRule getPrefixRule() { return getPrefixAccess().getRule(); } ////1- Create from scratch: Create Class classA //Create: // "add class" class=ID; public CreateElements getCreateAccess() { return pCreate; } public ParserRule getCreateRule() { return getCreateAccess().getRule(); } ////2- Refining: Create Class classB extending classX //Refine: // "add class" classNew=ID "specializing" prefix=[Prefix] "." classOriginal=ID; public RefineElements getRefineAccess() { return pRefine; } public ParserRule getRefineRule() { return getRefineAccess().getRule(); } ////3- Generalize: Create Class Z supertyping A, B //Generalize: // "add class" classNew=ID "supertyping" prefix+=[Prefix] "." class+=ID ("," prefix+=[Prefix] "." class+=ID)*; public GeneralizeElements getGeneralizeAccess() { return pGeneralize; } public ParserRule getGeneralizeRule() { return getGeneralizeAccess().getRule(); } ////Covers AddProperty, ModifyProperty, FilterProperty AddConstraint and FilterConstraint //ModifyClass: // "modify class" prefix=[Prefix] "." class=ID "{" modifyOperators+=ModifyOperator* "}"; public ModifyClassElements getModifyClassAccess() { return pModifyClass; } public ParserRule getModifyClassRule() { return getModifyClassAccess().getRule(); } //ModifyOperator: // AddProperty | ModifyProperty | FilterProperty | AddConstraint | FilterConstraint; public ModifyOperatorElements getModifyOperatorAccess() { return pModifyOperator; } public ParserRule getModifyOperatorRule() { return getModifyOperatorAccess().getRule(); } ////4- Add property: Alter Class classC Add propertyA [optional attributes] //AddProperty: // "add property" property=ID "type" type+=Type cardinality+=Cardinality? relationType+=RelationType?; public AddPropertyElements getAddPropertyAccess() { return pAddProperty; } public ParserRule getAddPropertyRule() { return getAddPropertyAccess().getRule(); } //Type: // type+=ID | prefix+=[Prefix] "." class+=ID; public TypeElements getTypeAccess() { return pType; } public ParserRule getTypeRule() { return getTypeAccess().getRule(); } ////5- Modify property: Alter Class classA Modify propertyB [attribute1=value1, ...] //ModifyProperty: // "modify property" property=ID value+=ValueAssignment ("," value+=ValueAssignment)*; public ModifyPropertyElements getModifyPropertyAccess() { return pModifyProperty; } public ParserRule getModifyPropertyRule() { return getModifyPropertyAccess().getRule(); } //ValueAssignment: // attribute=ID "=" value=EString; public ValueAssignmentElements getValueAssignmentAccess() { return pValueAssignment; } public ParserRule getValueAssignmentRule() { return getValueAssignmentAccess().getRule(); } ////6- Filter property: Alter Class classE Drop propertyC //FilterProperty: // "filter property" property=ID; public FilterPropertyElements getFilterPropertyAccess() { return pFilterProperty; } public ParserRule getFilterPropertyRule() { return getFilterPropertyAccess().getRule(); } ////7- Filter class: Drop Class classA //FilterClass: // "filter class" prefix=[Prefix] "." class=ID; public FilterClassElements getFilterClassAccess() { return pFilterClass; } public ParserRule getFilterClassRule() { return getFilterClassAccess().getRule(); } ////8- Add constraint: Alter Class classG Add Constraint constraintA value //AddConstraint: // "add constraint" constraint=ID value=EString; public AddConstraintElements getAddConstraintAccess() { return pAddConstraint; } public ParserRule getAddConstraintRule() { return getAddConstraintAccess().getRule(); } ////9- Filter constraint: Alter Class classH Drop Constraint constraintB //FilterConstraint: // "filter constraint" constraint=EString; public FilterConstraintElements getFilterConstraintAccess() { return pFilterConstraint; } public ParserRule getFilterConstraintRule() { return getFilterConstraintAccess().getRule(); } //Cardinality: // "*..1" | "0..1" | "1..1" | "1..*" | "*..*" | "*" | "0..*"; public CardinalityElements getCardinalityAccess() { return pCardinality; } public ParserRule getCardinalityRule() { return getCardinalityAccess().getRule(); } //RelationType: // "composition" | "association"; public RelationTypeElements getRelationTypeAccess() { return pRelationType; } public ParserRule getRelationTypeRule() { return getRelationTypeAccess().getRule(); } //EString returns ecore::EString: // STRING | ID; public EStringElements getEStringAccess() { return pEString; } public ParserRule getEStringRule() { return getEStringAccess().getRule(); } //terminal ID: // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } //terminal INT returns ecore::EInt: // "0".."9"+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: // "\"" ("\\" . / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\""))* "\"" | "\'" ("\\" . // / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\'"))* "\'"; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } //terminal ANY_OTHER: // .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); } }