AttrMMGrammarAccess.java :  » UML » model-analysis-framework » de » uniAugsburg » MAF » xText » services » Java Open Source

Java Open Source » UML » model analysis framework 
model analysis framework » de » uniAugsburg » MAF » xText » services » AttrMMGrammarAccess.java
/*
* generated by Xtext
*/

package de.uniAugsburg.MAF.xText.services;

import com.google.inject.Singleton;
import com.google.inject.Inject;

import org.eclipse.xtext.*;
import org.eclipse.xtext.service.GrammarProvider;
import org.eclipse.xtext.service.AbstractElementFinder.*;

import org.eclipse.xtext.common.services.TerminalsGrammarAccess;

@Singleton
public class AttrMMGrammarAccess extends AbstractGrammarElementFinder {
  
  
  public class AttributionCollectionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttributionCollection");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Assignment cImportsAssignment_0 = (Assignment)cGroup.eContents().get(0);
    private final RuleCall cImportsImportParserRuleCall_0_0 = (RuleCall)cImportsAssignment_0.eContents().get(0);
    private final Assignment cAttributionsAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cAttributionsAttributionParserRuleCall_1_0 = (RuleCall)cAttributionsAssignment_1.eContents().get(0);
    
    //AttributionCollection returns attribution::AttributionCollection:
    //  imports+=Import* attributions+=Attribution*;
    public ParserRule getRule() { return rule; }

    //imports+=Import* attributions+=Attribution*
    public Group getGroup() { return cGroup; }

    //imports+=Import*
    public Assignment getImportsAssignment_0() { return cImportsAssignment_0; }

    //Import
    public RuleCall getImportsImportParserRuleCall_0_0() { return cImportsImportParserRuleCall_0_0; }

    //attributions+=Attribution*
    public Assignment getAttributionsAssignment_1() { return cAttributionsAssignment_1; }

    //Attribution
    public RuleCall getAttributionsAttributionParserRuleCall_1_0() { return cAttributionsAttributionParserRuleCall_1_0; }
  }

  public class ImportElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cImportURISTRINGTerminalRuleCall_1_0 = (RuleCall)cImportURIAssignment_1.eContents().get(0);
    private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
    
    //// -------
    //// IMPORTS
    //// -------
    //Import returns attribution::Import:
    //  "import" importURI=STRING ";";
    public ParserRule getRule() { return rule; }

    //"import" importURI=STRING ";"
    public Group getGroup() { return cGroup; }

    //"import"
    public Keyword getImportKeyword_0() { return cImportKeyword_0; }

    //importURI=STRING
    public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; }

    //STRING
    public RuleCall getImportURISTRINGTerminalRuleCall_1_0() { return cImportURISTRINGTerminalRuleCall_1_0; }

    //";"
    public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
  }

  public class AttributionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Attribution");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cAttributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
    private final UnorderedGroup cUnorderedGroup_3 = (UnorderedGroup)cGroup.eContents().get(3);
    private final Group cGroup_3_0 = (Group)cUnorderedGroup_3.eContents().get(0);
    private final Keyword cNameKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
    private final Assignment cNameAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1);
    private final RuleCall cNameSTRINGTerminalRuleCall_3_0_1_0 = (RuleCall)cNameAssignment_3_0_1.eContents().get(0);
    private final Keyword cSemicolonKeyword_3_0_2 = (Keyword)cGroup_3_0.eContents().get(2);
    private final Group cGroup_3_1 = (Group)cUnorderedGroup_3.eContents().get(1);
    private final Keyword cVersionKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
    private final Assignment cVersionAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
    private final RuleCall cVersionSTRINGTerminalRuleCall_3_1_1_0 = (RuleCall)cVersionAssignment_3_1_1.eContents().get(0);
    private final Keyword cSemicolonKeyword_3_1_2 = (Keyword)cGroup_3_1.eContents().get(2);
    private final Group cGroup_3_2 = (Group)cUnorderedGroup_3.eContents().get(2);
    private final Keyword cDescriptionKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_2_1_0 = (RuleCall)cDescriptionAssignment_3_2_1.eContents().get(0);
    private final Keyword cSemicolonKeyword_3_2_2 = (Keyword)cGroup_3_2.eContents().get(2);
    private final UnorderedGroup cUnorderedGroup_4 = (UnorderedGroup)cGroup.eContents().get(4);
    private final Assignment cAttrDefinitionsAssignment_4_0 = (Assignment)cUnorderedGroup_4.eContents().get(0);
    private final RuleCall cAttrDefinitionsAttributeDefinitionParserRuleCall_4_0_0 = (RuleCall)cAttrDefinitionsAssignment_4_0.eContents().get(0);
    private final Assignment cAttrSemanticRulesAssignment_4_1 = (Assignment)cUnorderedGroup_4.eContents().get(1);
    private final RuleCall cAttrSemanticRulesSemanticRuleParserRuleCall_4_1_0 = (RuleCall)cAttrSemanticRulesAssignment_4_1.eContents().get(0);
    private final Assignment cAttrDataTypesAssignment_4_2 = (Assignment)cUnorderedGroup_4.eContents().get(2);
    private final RuleCall cAttrDataTypesAttrDataTypeParserRuleCall_4_2_0 = (RuleCall)cAttrDataTypesAssignment_4_2.eContents().get(0);
    private final Assignment cAttrExtensionsAssignment_4_3 = (Assignment)cUnorderedGroup_4.eContents().get(3);
    private final RuleCall cAttrExtensionsAttrExtensionParserRuleCall_4_3_0 = (RuleCall)cAttrExtensionsAssignment_4_3.eContents().get(0);
    private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
    
    //// ------------
    //// ATTRIBUTIONS
    //// ------------
    //Attribution returns attribution::Attribution:
    //  "attribution" id=ID "{" // unordered group of info definitions
    //  (("name" name=STRING ";")? & ("version" version=STRING ";")? & ("description" description=STRING ";")?) // unordered group of main definitions
    //  (attrDefinitions+=AttributeDefinition* & attrSemanticRules+=SemanticRule* & attrDataTypes+=AttrDataType* &
    //  attrExtensions+=AttrExtension*) "}";
    public ParserRule getRule() { return rule; }

    //"attribution" id=ID "{" // unordered group of info definitions
    //(("name" name=STRING ";")? & ("version" version=STRING ";")? & ("description" description=STRING ";")?) // unordered group of main definitions
    //(attrDefinitions+=AttributeDefinition* & attrSemanticRules+=SemanticRule* & attrDataTypes+=AttrDataType* &
    //attrExtensions+=AttrExtension*) "}"
    public Group getGroup() { return cGroup; }

    //"attribution"
    public Keyword getAttributionKeyword_0() { return cAttributionKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //"{"
    public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }

    //("name" name=STRING ";")? & ("version" version=STRING ";")? & ("description" description=STRING ";")?
    public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }

    //("name" name=STRING ";")?
    public Group getGroup_3_0() { return cGroup_3_0; }

    //"name"
    public Keyword getNameKeyword_3_0_0() { return cNameKeyword_3_0_0; }

    //name=STRING
    public Assignment getNameAssignment_3_0_1() { return cNameAssignment_3_0_1; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_3_0_1_0() { return cNameSTRINGTerminalRuleCall_3_0_1_0; }

    //";"
    public Keyword getSemicolonKeyword_3_0_2() { return cSemicolonKeyword_3_0_2; }

    //("version" version=STRING ";")?
    public Group getGroup_3_1() { return cGroup_3_1; }

    //"version"
    public Keyword getVersionKeyword_3_1_0() { return cVersionKeyword_3_1_0; }

    //version=STRING
    public Assignment getVersionAssignment_3_1_1() { return cVersionAssignment_3_1_1; }

    //STRING
    public RuleCall getVersionSTRINGTerminalRuleCall_3_1_1_0() { return cVersionSTRINGTerminalRuleCall_3_1_1_0; }

    //";"
    public Keyword getSemicolonKeyword_3_1_2() { return cSemicolonKeyword_3_1_2; }

    //("description" description=STRING ";")?
    public Group getGroup_3_2() { return cGroup_3_2; }

    //"description"
    public Keyword getDescriptionKeyword_3_2_0() { return cDescriptionKeyword_3_2_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_2_1() { return cDescriptionAssignment_3_2_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_2_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_2_1_0; }

    //";"
    public Keyword getSemicolonKeyword_3_2_2() { return cSemicolonKeyword_3_2_2; }

    //attrDefinitions+=AttributeDefinition* & attrSemanticRules+=SemanticRule* & attrDataTypes+=AttrDataType* &
    //attrExtensions+=AttrExtension*
    public UnorderedGroup getUnorderedGroup_4() { return cUnorderedGroup_4; }

    //attrDefinitions+=AttributeDefinition*
    public Assignment getAttrDefinitionsAssignment_4_0() { return cAttrDefinitionsAssignment_4_0; }

    //AttributeDefinition
    public RuleCall getAttrDefinitionsAttributeDefinitionParserRuleCall_4_0_0() { return cAttrDefinitionsAttributeDefinitionParserRuleCall_4_0_0; }

    //attrSemanticRules+=SemanticRule*
    public Assignment getAttrSemanticRulesAssignment_4_1() { return cAttrSemanticRulesAssignment_4_1; }

    //SemanticRule
    public RuleCall getAttrSemanticRulesSemanticRuleParserRuleCall_4_1_0() { return cAttrSemanticRulesSemanticRuleParserRuleCall_4_1_0; }

    //attrDataTypes+=AttrDataType*
    public Assignment getAttrDataTypesAssignment_4_2() { return cAttrDataTypesAssignment_4_2; }

    //AttrDataType
    public RuleCall getAttrDataTypesAttrDataTypeParserRuleCall_4_2_0() { return cAttrDataTypesAttrDataTypeParserRuleCall_4_2_0; }

    //attrExtensions+=AttrExtension*
    public Assignment getAttrExtensionsAssignment_4_3() { return cAttrExtensionsAssignment_4_3; }

    //AttrExtension
    public RuleCall getAttrExtensionsAttrExtensionParserRuleCall_4_3_0() { return cAttrExtensionsAttrExtensionParserRuleCall_4_3_0; }

    //"}"
    public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
  }

  public class AttributeDefinitionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttributeDefinition");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cAttributeKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
    private final RuleCall cAttrAssignDefinitionParserRuleCall_1_0 = (RuleCall)cAlternatives_1.eContents().get(0);
    private final RuleCall cAttrConstDefinitionParserRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
    
    //// ---------------------
    //// ATTRIBUTE DEFINITIONS
    //// ---------------------
    //AttributeDefinition returns attributes::AttrDefinition:
    //  "attribute" (AttrAssignDefinition | AttrConstDefinition);
    public ParserRule getRule() { return rule; }

    //"attribute" (AttrAssignDefinition | AttrConstDefinition)
    public Group getGroup() { return cGroup; }

    //"attribute"
    public Keyword getAttributeKeyword_0() { return cAttributeKeyword_0; }

    //AttrAssignDefinition | AttrConstDefinition
    public Alternatives getAlternatives_1() { return cAlternatives_1; }

    //AttrAssignDefinition
    public RuleCall getAttrAssignDefinitionParserRuleCall_1_0() { return cAttrAssignDefinitionParserRuleCall_1_0; }

    //AttrConstDefinition
    public RuleCall getAttrConstDefinitionParserRuleCall_1_1() { return cAttrConstDefinitionParserRuleCall_1_1; }
  }

  public class AttrAssignDefinitionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrAssignDefinition");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cAssignmentKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cDataTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final CrossReference cDataTypeAttrDataTypeCrossReference_5_0 = (CrossReference)cDataTypeAssignment_5.eContents().get(0);
    private final RuleCall cDataTypeAttrDataTypeIDTerminalRuleCall_5_0_1 = (RuleCall)cDataTypeAttrDataTypeCrossReference_5_0.eContents().get(1);
    private final Keyword cInitWithKeyword_6 = (Keyword)cGroup.eContents().get(6);
    private final Assignment cInitializationRuleAssignment_7 = (Assignment)cGroup.eContents().get(7);
    private final CrossReference cInitializationRuleAttrSemanticRuleCrossReference_7_0 = (CrossReference)cInitializationRuleAssignment_7.eContents().get(0);
    private final RuleCall cInitializationRuleAttrSemanticRuleIDTerminalRuleCall_7_0_1 = (RuleCall)cInitializationRuleAttrSemanticRuleCrossReference_7_0.eContents().get(1);
    private final Keyword cSemicolonKeyword_8 = (Keyword)cGroup.eContents().get(8);
    
    //AttrAssignDefinition returns attributes::AttrAssignDefinition:
    //  "assignment" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=[datatypes::AttrDataType] "initWith"
    //  initializationRule=[semanticrules::AttrSemanticRule] ";";
    public ParserRule getRule() { return rule; }

    //"assignment" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=[datatypes::AttrDataType] "initWith"
    //initializationRule=[semanticrules::AttrSemanticRule] ";"
    public Group getGroup() { return cGroup; }

    //"assignment"
    public Keyword getAssignmentKeyword_0() { return cAssignmentKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //dataType=[datatypes::AttrDataType]
    public Assignment getDataTypeAssignment_5() { return cDataTypeAssignment_5; }

    //[datatypes::AttrDataType]
    public CrossReference getDataTypeAttrDataTypeCrossReference_5_0() { return cDataTypeAttrDataTypeCrossReference_5_0; }

    //ID
    public RuleCall getDataTypeAttrDataTypeIDTerminalRuleCall_5_0_1() { return cDataTypeAttrDataTypeIDTerminalRuleCall_5_0_1; }

    //"initWith"
    public Keyword getInitWithKeyword_6() { return cInitWithKeyword_6; }

    //initializationRule=[semanticrules::AttrSemanticRule]
    public Assignment getInitializationRuleAssignment_7() { return cInitializationRuleAssignment_7; }

    //[semanticrules::AttrSemanticRule]
    public CrossReference getInitializationRuleAttrSemanticRuleCrossReference_7_0() { return cInitializationRuleAttrSemanticRuleCrossReference_7_0; }

    //ID
    public RuleCall getInitializationRuleAttrSemanticRuleIDTerminalRuleCall_7_0_1() { return cInitializationRuleAttrSemanticRuleIDTerminalRuleCall_7_0_1; }

    //";"
    public Keyword getSemicolonKeyword_8() { return cSemicolonKeyword_8; }
  }

  public class AttrConstDefinitionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrConstDefinition");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cConstraintKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cSeverityAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final RuleCall cSeverityConstSeverityEnumRuleCall_5_0 = (RuleCall)cSeverityAssignment_5.eContents().get(0);
    private final Assignment cViolationIDAssignment_6 = (Assignment)cGroup.eContents().get(6);
    private final RuleCall cViolationIDSTRINGTerminalRuleCall_6_0 = (RuleCall)cViolationIDAssignment_6.eContents().get(0);
    private final Keyword cSemicolonKeyword_7 = (Keyword)cGroup.eContents().get(7);
    
    //AttrConstDefinition returns attributes::AttrConstDefinition:
    //  "constraint" id=ID name=STRING? ("[" description=STRING "]")? ":" severity=ConstSeverity violationID=STRING? ";";
    public ParserRule getRule() { return rule; }

    //"constraint" id=ID name=STRING? ("[" description=STRING "]")? ":" severity=ConstSeverity violationID=STRING? ";"
    public Group getGroup() { return cGroup; }

    //"constraint"
    public Keyword getConstraintKeyword_0() { return cConstraintKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //severity=ConstSeverity
    public Assignment getSeverityAssignment_5() { return cSeverityAssignment_5; }

    //ConstSeverity
    public RuleCall getSeverityConstSeverityEnumRuleCall_5_0() { return cSeverityConstSeverityEnumRuleCall_5_0; }

    //violationID=STRING?
    public Assignment getViolationIDAssignment_6() { return cViolationIDAssignment_6; }

    //STRING
    public RuleCall getViolationIDSTRINGTerminalRuleCall_6_0() { return cViolationIDSTRINGTerminalRuleCall_6_0; }

    //";"
    public Keyword getSemicolonKeyword_7() { return cSemicolonKeyword_7; }
  }

  public class AttrExtensionElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrExtension");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cExtendKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cAttributedClassAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final CrossReference cAttributedClassEClassCrossReference_1_0 = (CrossReference)cAttributedClassAssignment_1.eContents().get(0);
    private final RuleCall cAttributedClassEClassIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributedClassEClassCrossReference_1_0.eContents().get(1);
    private final Keyword cWithKeyword_2 = (Keyword)cGroup.eContents().get(2);
    private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
    private final Assignment cAttributesAssignment_4 = (Assignment)cGroup.eContents().get(4);
    private final RuleCall cAttributesAttrOccurrenceParserRuleCall_4_0 = (RuleCall)cAttributesAssignment_4.eContents().get(0);
    private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
    
    //// ---------------------
    //// ATTRIBUTE OCCURRENCES
    //// ---------------------
    //AttrExtension returns attributes::AttrExtension:
    //  "extend" attributedClass=[ecore::EClass] "with" "{" attributes+=AttrOccurrence* "}";
    public ParserRule getRule() { return rule; }

    //"extend" attributedClass=[ecore::EClass] "with" "{" attributes+=AttrOccurrence* "}"
    public Group getGroup() { return cGroup; }

    //"extend"
    public Keyword getExtendKeyword_0() { return cExtendKeyword_0; }

    //attributedClass=[ecore::EClass]
    public Assignment getAttributedClassAssignment_1() { return cAttributedClassAssignment_1; }

    //[ecore::EClass]
    public CrossReference getAttributedClassEClassCrossReference_1_0() { return cAttributedClassEClassCrossReference_1_0; }

    //ID
    public RuleCall getAttributedClassEClassIDTerminalRuleCall_1_0_1() { return cAttributedClassEClassIDTerminalRuleCall_1_0_1; }

    //"with"
    public Keyword getWithKeyword_2() { return cWithKeyword_2; }

    //"{"
    public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }

    //attributes+=AttrOccurrence*
    public Assignment getAttributesAssignment_4() { return cAttributesAssignment_4; }

    //AttrOccurrence
    public RuleCall getAttributesAttrOccurrenceParserRuleCall_4_0() { return cAttributesAttrOccurrenceParserRuleCall_4_0; }

    //"}"
    public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
  }

  public class AttrOccurrenceElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrOccurrence");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cOccurrenceOfKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cDefinedByAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final CrossReference cDefinedByAttrDefinitionCrossReference_1_0 = (CrossReference)cDefinedByAssignment_1.eContents().get(0);
    private final RuleCall cDefinedByAttrDefinitionIDTerminalRuleCall_1_0_1 = (RuleCall)cDefinedByAttrDefinitionCrossReference_1_0.eContents().get(1);
    private final Keyword cCalculateWithKeyword_2 = (Keyword)cGroup.eContents().get(2);
    private final Assignment cCalculatedByAssignment_3 = (Assignment)cGroup.eContents().get(3);
    private final CrossReference cCalculatedByAttrSemanticRuleCrossReference_3_0 = (CrossReference)cCalculatedByAssignment_3.eContents().get(0);
    private final RuleCall cCalculatedByAttrSemanticRuleIDTerminalRuleCall_3_0_1 = (RuleCall)cCalculatedByAttrSemanticRuleCrossReference_3_0.eContents().get(1);
    private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    
    //AttrOccurrence returns attributes::AttrOccurrence:
    //  "occurrenceOf" definedBy=[attributes::AttrDefinition] "calculateWith" calculatedBy=[semanticrules::AttrSemanticRule]
    //  ";";
    public ParserRule getRule() { return rule; }

    //"occurrenceOf" definedBy=[attributes::AttrDefinition] "calculateWith" calculatedBy=[semanticrules::AttrSemanticRule] ";"
    public Group getGroup() { return cGroup; }

    //"occurrenceOf"
    public Keyword getOccurrenceOfKeyword_0() { return cOccurrenceOfKeyword_0; }

    //definedBy=[attributes::AttrDefinition]
    public Assignment getDefinedByAssignment_1() { return cDefinedByAssignment_1; }

    //[attributes::AttrDefinition]
    public CrossReference getDefinedByAttrDefinitionCrossReference_1_0() { return cDefinedByAttrDefinitionCrossReference_1_0; }

    //ID
    public RuleCall getDefinedByAttrDefinitionIDTerminalRuleCall_1_0_1() { return cDefinedByAttrDefinitionIDTerminalRuleCall_1_0_1; }

    //"calculateWith"
    public Keyword getCalculateWithKeyword_2() { return cCalculateWithKeyword_2; }

    //calculatedBy=[semanticrules::AttrSemanticRule]
    public Assignment getCalculatedByAssignment_3() { return cCalculatedByAssignment_3; }

    //[semanticrules::AttrSemanticRule]
    public CrossReference getCalculatedByAttrSemanticRuleCrossReference_3_0() { return cCalculatedByAttrSemanticRuleCrossReference_3_0; }

    //ID
    public RuleCall getCalculatedByAttrSemanticRuleIDTerminalRuleCall_3_0_1() { return cCalculatedByAttrSemanticRuleIDTerminalRuleCall_3_0_1; }

    //";"
    public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
  }

  public class SemanticRuleElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRule");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cRuleKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
    private final RuleCall cSemanticRuleJavaParserRuleCall_1_0 = (RuleCall)cAlternatives_1.eContents().get(0);
    private final RuleCall cSemanticRuleOCLParserRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
    private final RuleCall cSemanticRuleAutoParserRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2);
    private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
    
    //// --------------
    //// SEMANTIC RULES
    //// --------------
    //SemanticRule returns semanticrules::AttrSemanticRule:
    //  "rule" (SemanticRuleJava | SemanticRuleOCL | SemanticRuleAuto) ";";
    public ParserRule getRule() { return rule; }

    //"rule" (SemanticRuleJava | SemanticRuleOCL | SemanticRuleAuto) ";"
    public Group getGroup() { return cGroup; }

    //"rule"
    public Keyword getRuleKeyword_0() { return cRuleKeyword_0; }

    //SemanticRuleJava | SemanticRuleOCL | SemanticRuleAuto
    public Alternatives getAlternatives_1() { return cAlternatives_1; }

    //SemanticRuleJava
    public RuleCall getSemanticRuleJavaParserRuleCall_1_0() { return cSemanticRuleJavaParserRuleCall_1_0; }

    //SemanticRuleOCL
    public RuleCall getSemanticRuleOCLParserRuleCall_1_1() { return cSemanticRuleOCLParserRuleCall_1_1; }

    //SemanticRuleAuto
    public RuleCall getSemanticRuleAutoParserRuleCall_1_2() { return cSemanticRuleAutoParserRuleCall_1_2; }

    //";"
    public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
  }

  public class SemanticRuleJavaElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleJava");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cJavaKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cRuleTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final RuleCall cRuleTypeSemanticRuleTypeJavaEnumRuleCall_5_0 = (RuleCall)cRuleTypeAssignment_5.eContents().get(0);
    private final Assignment cRuleAssignment_6 = (Assignment)cGroup.eContents().get(6);
    private final RuleCall cRuleSTRINGTerminalRuleCall_6_0 = (RuleCall)cRuleAssignment_6.eContents().get(0);
    
    //SemanticRuleJava returns semanticrules::AttrSemanticRule:
    //  "java" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeJava rule=STRING;
    public ParserRule getRule() { return rule; }

    //"java" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeJava rule=STRING
    public Group getGroup() { return cGroup; }

    //"java"
    public Keyword getJavaKeyword_0() { return cJavaKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //ruleType=SemanticRuleTypeJava
    public Assignment getRuleTypeAssignment_5() { return cRuleTypeAssignment_5; }

    //SemanticRuleTypeJava
    public RuleCall getRuleTypeSemanticRuleTypeJavaEnumRuleCall_5_0() { return cRuleTypeSemanticRuleTypeJavaEnumRuleCall_5_0; }

    //rule=STRING
    public Assignment getRuleAssignment_6() { return cRuleAssignment_6; }

    //STRING
    public RuleCall getRuleSTRINGTerminalRuleCall_6_0() { return cRuleSTRINGTerminalRuleCall_6_0; }
  }

  public class SemanticRuleOCLElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleOCL");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cOclKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cRuleTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final RuleCall cRuleTypeSemanticRuleTypeOCLEnumRuleCall_5_0 = (RuleCall)cRuleTypeAssignment_5.eContents().get(0);
    private final Assignment cRuleAssignment_6 = (Assignment)cGroup.eContents().get(6);
    private final RuleCall cRuleSTRINGTerminalRuleCall_6_0 = (RuleCall)cRuleAssignment_6.eContents().get(0);
    
    //SemanticRuleOCL returns semanticrules::AttrSemanticRule:
    //  "ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeOCL rule=STRING;
    public ParserRule getRule() { return rule; }

    //"ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeOCL rule=STRING
    public Group getGroup() { return cGroup; }

    //"ocl"
    public Keyword getOclKeyword_0() { return cOclKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //ruleType=SemanticRuleTypeOCL
    public Assignment getRuleTypeAssignment_5() { return cRuleTypeAssignment_5; }

    //SemanticRuleTypeOCL
    public RuleCall getRuleTypeSemanticRuleTypeOCLEnumRuleCall_5_0() { return cRuleTypeSemanticRuleTypeOCLEnumRuleCall_5_0; }

    //rule=STRING
    public Assignment getRuleAssignment_6() { return cRuleAssignment_6; }

    //STRING
    public RuleCall getRuleSTRINGTerminalRuleCall_6_0() { return cRuleSTRINGTerminalRuleCall_6_0; }
  }

  public class SemanticRuleAutoElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleAuto");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cAutoKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cRuleTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final RuleCall cRuleTypeSemanticRuleTypeAutoEnumRuleCall_5_0 = (RuleCall)cRuleTypeAssignment_5.eContents().get(0);
    
    //SemanticRuleAuto returns semanticrules::AttrSemanticRule:
    //  "auto" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeAuto;
    public ParserRule getRule() { return rule; }

    //"auto" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeAuto
    public Group getGroup() { return cGroup; }

    //"auto"
    public Keyword getAutoKeyword_0() { return cAutoKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //ruleType=SemanticRuleTypeAuto
    public Assignment getRuleTypeAssignment_5() { return cRuleTypeAssignment_5; }

    //SemanticRuleTypeAuto
    public RuleCall getRuleTypeSemanticRuleTypeAutoEnumRuleCall_5_0() { return cRuleTypeSemanticRuleTypeAutoEnumRuleCall_5_0; }
  }

  public class AttrDataTypeElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrDataType");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
    private final RuleCall cAttrDataTypeJavaParserRuleCall_1_0 = (RuleCall)cAlternatives_1.eContents().get(0);
    private final RuleCall cAttrDataTypeOCLParserRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
    private final RuleCall cAttrDataTypeOCLManualParserRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2);
    private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
    
    //// ---------
    //// DATATYPES
    //// ---------
    //AttrDataType returns datatypes::AttrDataType:
    //  "type" (AttrDataTypeJava | AttrDataTypeOCL | AttrDataTypeOCLManual) ";";
    public ParserRule getRule() { return rule; }

    //"type" (AttrDataTypeJava | AttrDataTypeOCL | AttrDataTypeOCLManual) ";"
    public Group getGroup() { return cGroup; }

    //"type"
    public Keyword getTypeKeyword_0() { return cTypeKeyword_0; }

    //AttrDataTypeJava | AttrDataTypeOCL | AttrDataTypeOCLManual
    public Alternatives getAlternatives_1() { return cAlternatives_1; }

    //AttrDataTypeJava
    public RuleCall getAttrDataTypeJavaParserRuleCall_1_0() { return cAttrDataTypeJavaParserRuleCall_1_0; }

    //AttrDataTypeOCL
    public RuleCall getAttrDataTypeOCLParserRuleCall_1_1() { return cAttrDataTypeOCLParserRuleCall_1_1; }

    //AttrDataTypeOCLManual
    public RuleCall getAttrDataTypeOCLManualParserRuleCall_1_2() { return cAttrDataTypeOCLManualParserRuleCall_1_2; }

    //";"
    public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
  }

  public class AttrDataTypeJavaElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrDataTypeJava");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cJavaKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Assignment cDataTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
    private final RuleCall cDataTypeDataTypeJavaEnumRuleCall_5_0 = (RuleCall)cDataTypeAssignment_5.eContents().get(0);
    
    //AttrDataTypeJava returns datatypes::AttrDataType:
    //  "java" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=DataTypeJava;
    public ParserRule getRule() { return rule; }

    //"java" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=DataTypeJava
    public Group getGroup() { return cGroup; }

    //"java"
    public Keyword getJavaKeyword_0() { return cJavaKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //dataType=DataTypeJava
    public Assignment getDataTypeAssignment_5() { return cDataTypeAssignment_5; }

    //DataTypeJava
    public RuleCall getDataTypeDataTypeJavaEnumRuleCall_5_0() { return cDataTypeDataTypeJavaEnumRuleCall_5_0; }
  }

  public class AttrDataTypeOCLElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrDataTypeOCL");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cOclKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
    private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5);
    private final Assignment cDataTypeAssignment_5_0 = (Assignment)cAlternatives_5.eContents().get(0);
    private final RuleCall cDataTypeDataTypeOCLEnumRuleCall_5_0_0 = (RuleCall)cDataTypeAssignment_5_0.eContents().get(0);
    private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1);
    private final Assignment cDataTypeAssignment_5_1_0 = (Assignment)cGroup_5_1.eContents().get(0);
    private final RuleCall cDataTypeDataTypeOCLManualEnumRuleCall_5_1_0_0 = (RuleCall)cDataTypeAssignment_5_1_0.eContents().get(0);
    private final Assignment cDataTypeManualAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1);
    private final RuleCall cDataTypeManualSTRINGTerminalRuleCall_5_1_1_0 = (RuleCall)cDataTypeManualAssignment_5_1_1.eContents().get(0);
    
    //AttrDataTypeOCL returns datatypes::AttrDataType:
    //  "ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" (dataType=DataTypeOCL | dataType=DataTypeOCLManual
    //  dataTypeManual=STRING);
    public ParserRule getRule() { return rule; }

    //"ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" (dataType=DataTypeOCL | dataType=DataTypeOCLManual
    //dataTypeManual=STRING)
    public Group getGroup() { return cGroup; }

    //"ocl"
    public Keyword getOclKeyword_0() { return cOclKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }

    //":"
    public Keyword getColonKeyword_4() { return cColonKeyword_4; }

    //dataType=DataTypeOCL | dataType=DataTypeOCLManual dataTypeManual=STRING
    public Alternatives getAlternatives_5() { return cAlternatives_5; }

    //dataType=DataTypeOCL
    public Assignment getDataTypeAssignment_5_0() { return cDataTypeAssignment_5_0; }

    //DataTypeOCL
    public RuleCall getDataTypeDataTypeOCLEnumRuleCall_5_0_0() { return cDataTypeDataTypeOCLEnumRuleCall_5_0_0; }

    //dataType=DataTypeOCLManual dataTypeManual=STRING
    public Group getGroup_5_1() { return cGroup_5_1; }

    //dataType=DataTypeOCLManual
    public Assignment getDataTypeAssignment_5_1_0() { return cDataTypeAssignment_5_1_0; }

    //DataTypeOCLManual
    public RuleCall getDataTypeDataTypeOCLManualEnumRuleCall_5_1_0_0() { return cDataTypeDataTypeOCLManualEnumRuleCall_5_1_0_0; }

    //dataTypeManual=STRING
    public Assignment getDataTypeManualAssignment_5_1_1() { return cDataTypeManualAssignment_5_1_1; }

    //STRING
    public RuleCall getDataTypeManualSTRINGTerminalRuleCall_5_1_1_0() { return cDataTypeManualSTRINGTerminalRuleCall_5_1_1_0; }
  }

  public class AttrDataTypeOCLManualElements extends AbstractParserRuleElementFinder {
    private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrDataTypeOCLManual");
    private final Group cGroup = (Group)rule.eContents().get(1);
    private final Keyword cOclKeyword_0 = (Keyword)cGroup.eContents().get(0);
    private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
    private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
    private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
    private final RuleCall cNameSTRINGTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
    private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
    private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
    private final Assignment cDescriptionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
    private final RuleCall cDescriptionSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cDescriptionAssignment_3_1.eContents().get(0);
    private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
    
    //AttrDataTypeOCLManual returns datatypes::AttrDataType:
    //  "ocl" id=ID name=STRING? ("[" description=STRING "]")?;
    public ParserRule getRule() { return rule; }

    //"ocl" id=ID name=STRING? ("[" description=STRING "]")?
    public Group getGroup() { return cGroup; }

    //"ocl"
    public Keyword getOclKeyword_0() { return cOclKeyword_0; }

    //id=ID
    public Assignment getIdAssignment_1() { return cIdAssignment_1; }

    //ID
    public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }

    //name=STRING?
    public Assignment getNameAssignment_2() { return cNameAssignment_2; }

    //STRING
    public RuleCall getNameSTRINGTerminalRuleCall_2_0() { return cNameSTRINGTerminalRuleCall_2_0; }

    //("[" description=STRING "]")?
    public Group getGroup_3() { return cGroup_3; }

    //"["
    public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }

    //description=STRING
    public Assignment getDescriptionAssignment_3_1() { return cDescriptionAssignment_3_1; }

    //STRING
    public RuleCall getDescriptionSTRINGTerminalRuleCall_3_1_0() { return cDescriptionSTRINGTerminalRuleCall_3_1_0; }

    //"]"
    public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }
  }
  
  
  public class ConstSeverityElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ConstSeverity");
    private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
    private final EnumLiteralDeclaration cInfoEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
    private final Keyword cInfoInfoKeyword_0_0 = (Keyword)cInfoEnumLiteralDeclaration_0.eContents().get(0);
    private final EnumLiteralDeclaration cAdviceEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
    private final Keyword cAdviceAdviceKeyword_1_0 = (Keyword)cAdviceEnumLiteralDeclaration_1.eContents().get(0);
    private final EnumLiteralDeclaration cWarningEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
    private final Keyword cWarningWarningKeyword_2_0 = (Keyword)cWarningEnumLiteralDeclaration_2.eContents().get(0);
    private final EnumLiteralDeclaration cErrorEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
    private final Keyword cErrorErrorKeyword_3_0 = (Keyword)cErrorEnumLiteralDeclaration_3.eContents().get(0);
    
    //enum ConstSeverity returns attributes::ConstSeverity:
    //  info | advice | warning | error;
    public EnumRule getRule() { return rule; }

    //info | advice | warning | error
    public Alternatives getAlternatives() { return cAlternatives; }

    //info
    public EnumLiteralDeclaration getInfoEnumLiteralDeclaration_0() { return cInfoEnumLiteralDeclaration_0; }

    //"info"
    public Keyword getInfoInfoKeyword_0_0() { return cInfoInfoKeyword_0_0; }

    //advice
    public EnumLiteralDeclaration getAdviceEnumLiteralDeclaration_1() { return cAdviceEnumLiteralDeclaration_1; }

    //"advice"
    public Keyword getAdviceAdviceKeyword_1_0() { return cAdviceAdviceKeyword_1_0; }

    //warning
    public EnumLiteralDeclaration getWarningEnumLiteralDeclaration_2() { return cWarningEnumLiteralDeclaration_2; }

    //"warning"
    public Keyword getWarningWarningKeyword_2_0() { return cWarningWarningKeyword_2_0; }

    //error
    public EnumLiteralDeclaration getErrorEnumLiteralDeclaration_3() { return cErrorEnumLiteralDeclaration_3; }

    //"error"
    public Keyword getErrorErrorKeyword_3_0() { return cErrorErrorKeyword_3_0; }
  }

  public class SemanticRuleTypeJavaElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleTypeJava");
    private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
    private final EnumLiteralDeclaration cJava_callEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
    private final Keyword cJava_callCallKeyword_0_0 = (Keyword)cJava_callEnumLiteralDeclaration_0.eContents().get(0);
    private final EnumLiteralDeclaration cJava_constructorEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
    private final Keyword cJava_constructorConstructorKeyword_1_0 = (Keyword)cJava_constructorEnumLiteralDeclaration_1.eContents().get(0);
    private final EnumLiteralDeclaration cJava_inlineEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
    private final Keyword cJava_inlineInlineKeyword_2_0 = (Keyword)cJava_inlineEnumLiteralDeclaration_2.eContents().get(0);
    
    //enum SemanticRuleTypeJava returns semanticrules::SemanticRuleType:
    //  java_call="call" | java_constructor="constructor" | java_inline="inline";
    public EnumRule getRule() { return rule; }

    //java_call="call" | java_constructor="constructor" | java_inline="inline"
    public Alternatives getAlternatives() { return cAlternatives; }

    //java_call="call"
    public EnumLiteralDeclaration getJava_callEnumLiteralDeclaration_0() { return cJava_callEnumLiteralDeclaration_0; }

    //"call"
    public Keyword getJava_callCallKeyword_0_0() { return cJava_callCallKeyword_0_0; }

    //java_constructor="constructor"
    public EnumLiteralDeclaration getJava_constructorEnumLiteralDeclaration_1() { return cJava_constructorEnumLiteralDeclaration_1; }

    //"constructor"
    public Keyword getJava_constructorConstructorKeyword_1_0() { return cJava_constructorConstructorKeyword_1_0; }

    //java_inline="inline"
    public EnumLiteralDeclaration getJava_inlineEnumLiteralDeclaration_2() { return cJava_inlineEnumLiteralDeclaration_2; }

    //"inline"
    public Keyword getJava_inlineInlineKeyword_2_0() { return cJava_inlineInlineKeyword_2_0; }
  }

  public class SemanticRuleTypeOCLElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleTypeOCL");
    private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
    private final EnumLiteralDeclaration cOclEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
    private final Keyword cOclStandardKeyword_0_0 = (Keyword)cOclEnumLiteralDeclaration_0.eContents().get(0);
    private final EnumLiteralDeclaration cImpoclEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
    private final Keyword cImpoclImperativeKeyword_1_0 = (Keyword)cImpoclEnumLiteralDeclaration_1.eContents().get(0);
    
    //enum SemanticRuleTypeOCL returns semanticrules::SemanticRuleType:
    //  ocl="standard" | impocl="imperative";
    public EnumRule getRule() { return rule; }

    //ocl="standard" | impocl="imperative"
    public Alternatives getAlternatives() { return cAlternatives; }

    //ocl="standard"
    public EnumLiteralDeclaration getOclEnumLiteralDeclaration_0() { return cOclEnumLiteralDeclaration_0; }

    //"standard"
    public Keyword getOclStandardKeyword_0_0() { return cOclStandardKeyword_0_0; }

    //impocl="imperative"
    public EnumLiteralDeclaration getImpoclEnumLiteralDeclaration_1() { return cImpoclEnumLiteralDeclaration_1; }

    //"imperative"
    public Keyword getImpoclImperativeKeyword_1_0() { return cImpoclImperativeKeyword_1_0; }
  }

  public class SemanticRuleTypeAutoElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticRuleTypeAuto");
    private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
    private final EnumLiteralDeclaration cConstEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
    private final Keyword cConstConstantKeyword_0_0 = (Keyword)cConstEnumLiteralDeclaration_0.eContents().get(0);
    private final EnumLiteralDeclaration cNullEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
    private final Keyword cNullNullKeyword_1_0 = (Keyword)cNullEnumLiteralDeclaration_1.eContents().get(0);
    
    //enum SemanticRuleTypeAuto returns semanticrules::SemanticRuleType:
    //  const="constant" | null;
    public EnumRule getRule() { return rule; }

    //const="constant" | null
    public Alternatives getAlternatives() { return cAlternatives; }

    //const="constant"
    public EnumLiteralDeclaration getConstEnumLiteralDeclaration_0() { return cConstEnumLiteralDeclaration_0; }

    //"constant"
    public Keyword getConstConstantKeyword_0_0() { return cConstConstantKeyword_0_0; }

    //null
    public EnumLiteralDeclaration getNullEnumLiteralDeclaration_1() { return cNullEnumLiteralDeclaration_1; }

    //"null"
    public Keyword getNullNullKeyword_1_0() { return cNullNullKeyword_1_0; }
  }

  public class DataTypeJavaElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "DataTypeJava");
    private final EnumLiteralDeclaration cJava_ObjectEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
    private final Keyword cJava_ObjectObjectKeyword_0 = (Keyword)cJava_ObjectEnumLiteralDeclaration.eContents().get(0);
    
    //enum DataTypeJava returns datatypes::DataType:
    //  Java_Object="object";
    public EnumRule getRule() { return rule; }

    //Java_Object="object"
    public EnumLiteralDeclaration getJava_ObjectEnumLiteralDeclaration() { return cJava_ObjectEnumLiteralDeclaration; }

    //"object"
    public Keyword getJava_ObjectObjectKeyword_0() { return cJava_ObjectObjectKeyword_0; }
  }

  public class DataTypeOCLElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "DataTypeOCL");
    private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
    private final EnumLiteralDeclaration cOCL_IntegerEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
    private final Keyword cOCL_IntegerIntegerKeyword_0_0 = (Keyword)cOCL_IntegerEnumLiteralDeclaration_0.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_BooleanEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
    private final Keyword cOCL_BooleanBooleanKeyword_1_0 = (Keyword)cOCL_BooleanEnumLiteralDeclaration_1.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_RealEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
    private final Keyword cOCL_RealRealKeyword_2_0 = (Keyword)cOCL_RealEnumLiteralDeclaration_2.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_StringEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
    private final Keyword cOCL_StringStringKeyword_3_0 = (Keyword)cOCL_StringEnumLiteralDeclaration_3.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Set_String_EnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
    private final Keyword cOCL_Set_String_SetStringKeyword_4_0 = (Keyword)cOCL_Set_String_EnumLiteralDeclaration_4.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Set_Integer_EnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
    private final Keyword cOCL_Set_Integer_SetIntegerKeyword_5_0 = (Keyword)cOCL_Set_Integer_EnumLiteralDeclaration_5.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Set_Any_EnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
    private final Keyword cOCL_Set_Any_SetAnyKeyword_6_0 = (Keyword)cOCL_Set_Any_EnumLiteralDeclaration_6.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_OrderedSet_String_EnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
    private final Keyword cOCL_OrderedSet_String_OrderedsetStringKeyword_7_0 = (Keyword)cOCL_OrderedSet_String_EnumLiteralDeclaration_7.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_OrderedSet_Integer_EnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
    private final Keyword cOCL_OrderedSet_Integer_OrderedsetIntegerKeyword_8_0 = (Keyword)cOCL_OrderedSet_Integer_EnumLiteralDeclaration_8.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_OrderedSet_Any_EnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
    private final Keyword cOCL_OrderedSet_Any_OrderedsetAnyKeyword_9_0 = (Keyword)cOCL_OrderedSet_Any_EnumLiteralDeclaration_9.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Sequence_String_EnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
    private final Keyword cOCL_Sequence_String_SequenceStringKeyword_10_0 = (Keyword)cOCL_Sequence_String_EnumLiteralDeclaration_10.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Sequence_Integer_EnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
    private final Keyword cOCL_Sequence_Integer_SequenceIntegerKeyword_11_0 = (Keyword)cOCL_Sequence_Integer_EnumLiteralDeclaration_11.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Sequence_Any_EnumLiteralDeclaration_12 = (EnumLiteralDeclaration)cAlternatives.eContents().get(12);
    private final Keyword cOCL_Sequence_Any_SequenceAnyKeyword_12_0 = (Keyword)cOCL_Sequence_Any_EnumLiteralDeclaration_12.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Bag_String_EnumLiteralDeclaration_13 = (EnumLiteralDeclaration)cAlternatives.eContents().get(13);
    private final Keyword cOCL_Bag_String_BagStringKeyword_13_0 = (Keyword)cOCL_Bag_String_EnumLiteralDeclaration_13.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Bag_Integer_EnumLiteralDeclaration_14 = (EnumLiteralDeclaration)cAlternatives.eContents().get(14);
    private final Keyword cOCL_Bag_Integer_BagIntegerKeyword_14_0 = (Keyword)cOCL_Bag_Integer_EnumLiteralDeclaration_14.eContents().get(0);
    private final EnumLiteralDeclaration cOCL_Bag_Any_EnumLiteralDeclaration_15 = (EnumLiteralDeclaration)cAlternatives.eContents().get(15);
    private final Keyword cOCL_Bag_Any_BagAnyKeyword_15_0 = (Keyword)cOCL_Bag_Any_EnumLiteralDeclaration_15.eContents().get(0);
    
    //enum DataTypeOCL returns datatypes::DataType:
    //  OCL_Integer="integer" | OCL_Boolean="boolean" | OCL_Real="real" | OCL_String="string" | OCL_Set_String_="set(string)"
    //  | OCL_Set_Integer_="set(integer)" | OCL_Set_Any_="set(any)" | OCL_OrderedSet_String_="orderedset(string)" |
    //  OCL_OrderedSet_Integer_="orderedset(integer)" | OCL_OrderedSet_Any_="orderedset(any)" |
    //  OCL_Sequence_String_="sequence(string)" | OCL_Sequence_Integer_="sequence(integer)" |
    //  OCL_Sequence_Any_="sequence(any)" | OCL_Bag_String_="bag(string)" | OCL_Bag_Integer_="bag(integer)" |
    //  OCL_Bag_Any_="bag(any)";
    public EnumRule getRule() { return rule; }

    //OCL_Integer="integer" | OCL_Boolean="boolean" | OCL_Real="real" | OCL_String="string" | OCL_Set_String_="set(string)" |
    //OCL_Set_Integer_="set(integer)" | OCL_Set_Any_="set(any)" | OCL_OrderedSet_String_="orderedset(string)" |
    //OCL_OrderedSet_Integer_="orderedset(integer)" | OCL_OrderedSet_Any_="orderedset(any)" |
    //OCL_Sequence_String_="sequence(string)" | OCL_Sequence_Integer_="sequence(integer)" | OCL_Sequence_Any_="sequence(any)"
    //| OCL_Bag_String_="bag(string)" | OCL_Bag_Integer_="bag(integer)" | OCL_Bag_Any_="bag(any)"
    public Alternatives getAlternatives() { return cAlternatives; }

    //OCL_Integer="integer"
    public EnumLiteralDeclaration getOCL_IntegerEnumLiteralDeclaration_0() { return cOCL_IntegerEnumLiteralDeclaration_0; }

    //"integer"
    public Keyword getOCL_IntegerIntegerKeyword_0_0() { return cOCL_IntegerIntegerKeyword_0_0; }

    //OCL_Boolean="boolean"
    public EnumLiteralDeclaration getOCL_BooleanEnumLiteralDeclaration_1() { return cOCL_BooleanEnumLiteralDeclaration_1; }

    //"boolean"
    public Keyword getOCL_BooleanBooleanKeyword_1_0() { return cOCL_BooleanBooleanKeyword_1_0; }

    //OCL_Real="real"
    public EnumLiteralDeclaration getOCL_RealEnumLiteralDeclaration_2() { return cOCL_RealEnumLiteralDeclaration_2; }

    //"real"
    public Keyword getOCL_RealRealKeyword_2_0() { return cOCL_RealRealKeyword_2_0; }

    //OCL_String="string"
    public EnumLiteralDeclaration getOCL_StringEnumLiteralDeclaration_3() { return cOCL_StringEnumLiteralDeclaration_3; }

    //"string"
    public Keyword getOCL_StringStringKeyword_3_0() { return cOCL_StringStringKeyword_3_0; }

    //OCL_Set_String_="set(string)"
    public EnumLiteralDeclaration getOCL_Set_String_EnumLiteralDeclaration_4() { return cOCL_Set_String_EnumLiteralDeclaration_4; }

    //"set(string)"
    public Keyword getOCL_Set_String_SetStringKeyword_4_0() { return cOCL_Set_String_SetStringKeyword_4_0; }

    //OCL_Set_Integer_="set(integer)"
    public EnumLiteralDeclaration getOCL_Set_Integer_EnumLiteralDeclaration_5() { return cOCL_Set_Integer_EnumLiteralDeclaration_5; }

    //"set(integer)"
    public Keyword getOCL_Set_Integer_SetIntegerKeyword_5_0() { return cOCL_Set_Integer_SetIntegerKeyword_5_0; }

    //OCL_Set_Any_="set(any)"
    public EnumLiteralDeclaration getOCL_Set_Any_EnumLiteralDeclaration_6() { return cOCL_Set_Any_EnumLiteralDeclaration_6; }

    //"set(any)"
    public Keyword getOCL_Set_Any_SetAnyKeyword_6_0() { return cOCL_Set_Any_SetAnyKeyword_6_0; }

    //OCL_OrderedSet_String_="orderedset(string)"
    public EnumLiteralDeclaration getOCL_OrderedSet_String_EnumLiteralDeclaration_7() { return cOCL_OrderedSet_String_EnumLiteralDeclaration_7; }

    //"orderedset(string)"
    public Keyword getOCL_OrderedSet_String_OrderedsetStringKeyword_7_0() { return cOCL_OrderedSet_String_OrderedsetStringKeyword_7_0; }

    //OCL_OrderedSet_Integer_="orderedset(integer)"
    public EnumLiteralDeclaration getOCL_OrderedSet_Integer_EnumLiteralDeclaration_8() { return cOCL_OrderedSet_Integer_EnumLiteralDeclaration_8; }

    //"orderedset(integer)"
    public Keyword getOCL_OrderedSet_Integer_OrderedsetIntegerKeyword_8_0() { return cOCL_OrderedSet_Integer_OrderedsetIntegerKeyword_8_0; }

    //OCL_OrderedSet_Any_="orderedset(any)"
    public EnumLiteralDeclaration getOCL_OrderedSet_Any_EnumLiteralDeclaration_9() { return cOCL_OrderedSet_Any_EnumLiteralDeclaration_9; }

    //"orderedset(any)"
    public Keyword getOCL_OrderedSet_Any_OrderedsetAnyKeyword_9_0() { return cOCL_OrderedSet_Any_OrderedsetAnyKeyword_9_0; }

    //OCL_Sequence_String_="sequence(string)"
    public EnumLiteralDeclaration getOCL_Sequence_String_EnumLiteralDeclaration_10() { return cOCL_Sequence_String_EnumLiteralDeclaration_10; }

    //"sequence(string)"
    public Keyword getOCL_Sequence_String_SequenceStringKeyword_10_0() { return cOCL_Sequence_String_SequenceStringKeyword_10_0; }

    //OCL_Sequence_Integer_="sequence(integer)"
    public EnumLiteralDeclaration getOCL_Sequence_Integer_EnumLiteralDeclaration_11() { return cOCL_Sequence_Integer_EnumLiteralDeclaration_11; }

    //"sequence(integer)"
    public Keyword getOCL_Sequence_Integer_SequenceIntegerKeyword_11_0() { return cOCL_Sequence_Integer_SequenceIntegerKeyword_11_0; }

    //OCL_Sequence_Any_="sequence(any)"
    public EnumLiteralDeclaration getOCL_Sequence_Any_EnumLiteralDeclaration_12() { return cOCL_Sequence_Any_EnumLiteralDeclaration_12; }

    //"sequence(any)"
    public Keyword getOCL_Sequence_Any_SequenceAnyKeyword_12_0() { return cOCL_Sequence_Any_SequenceAnyKeyword_12_0; }

    //OCL_Bag_String_="bag(string)"
    public EnumLiteralDeclaration getOCL_Bag_String_EnumLiteralDeclaration_13() { return cOCL_Bag_String_EnumLiteralDeclaration_13; }

    //"bag(string)"
    public Keyword getOCL_Bag_String_BagStringKeyword_13_0() { return cOCL_Bag_String_BagStringKeyword_13_0; }

    //OCL_Bag_Integer_="bag(integer)"
    public EnumLiteralDeclaration getOCL_Bag_Integer_EnumLiteralDeclaration_14() { return cOCL_Bag_Integer_EnumLiteralDeclaration_14; }

    //"bag(integer)"
    public Keyword getOCL_Bag_Integer_BagIntegerKeyword_14_0() { return cOCL_Bag_Integer_BagIntegerKeyword_14_0; }

    //OCL_Bag_Any_="bag(any)"
    public EnumLiteralDeclaration getOCL_Bag_Any_EnumLiteralDeclaration_15() { return cOCL_Bag_Any_EnumLiteralDeclaration_15; }

    //"bag(any)"
    public Keyword getOCL_Bag_Any_BagAnyKeyword_15_0() { return cOCL_Bag_Any_BagAnyKeyword_15_0; }
  }

  public class DataTypeOCLManualElements extends AbstractEnumRuleElementFinder {
    private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "DataTypeOCLManual");
    private final EnumLiteralDeclaration cOCL_ManualDeclarationEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
    private final Keyword cOCL_ManualDeclarationManualKeyword_0 = (Keyword)cOCL_ManualDeclarationEnumLiteralDeclaration.eContents().get(0);
    
    //enum DataTypeOCLManual returns datatypes::DataType:
    //  OCL_ManualDeclaration="manual";
    public EnumRule getRule() { return rule; }

    //OCL_ManualDeclaration="manual"
    public EnumLiteralDeclaration getOCL_ManualDeclarationEnumLiteralDeclaration() { return cOCL_ManualDeclarationEnumLiteralDeclaration; }

    //"manual"
    public Keyword getOCL_ManualDeclarationManualKeyword_0() { return cOCL_ManualDeclarationManualKeyword_0; }
  }
  
  private AttributionCollectionElements pAttributionCollection;
  private ImportElements pImport;
  private AttributionElements pAttribution;
  private AttributeDefinitionElements pAttributeDefinition;
  private AttrAssignDefinitionElements pAttrAssignDefinition;
  private AttrConstDefinitionElements pAttrConstDefinition;
  private ConstSeverityElements unknownRuleConstSeverity;
  private AttrExtensionElements pAttrExtension;
  private AttrOccurrenceElements pAttrOccurrence;
  private SemanticRuleElements pSemanticRule;
  private SemanticRuleJavaElements pSemanticRuleJava;
  private SemanticRuleOCLElements pSemanticRuleOCL;
  private SemanticRuleAutoElements pSemanticRuleAuto;
  private SemanticRuleTypeJavaElements unknownRuleSemanticRuleTypeJava;
  private SemanticRuleTypeOCLElements unknownRuleSemanticRuleTypeOCL;
  private SemanticRuleTypeAutoElements unknownRuleSemanticRuleTypeAuto;
  private AttrDataTypeElements pAttrDataType;
  private AttrDataTypeJavaElements pAttrDataTypeJava;
  private AttrDataTypeOCLElements pAttrDataTypeOCL;
  private AttrDataTypeOCLManualElements pAttrDataTypeOCLManual;
  private DataTypeJavaElements unknownRuleDataTypeJava;
  private DataTypeOCLElements unknownRuleDataTypeOCL;
  private DataTypeOCLManualElements unknownRuleDataTypeOCLManual;
  private TerminalRule tML_COMMENT;
  private TerminalRule tSL_COMMENT;
  private TerminalRule tWS;
  private TerminalRule tSINGLE_QUOTED_STRING;
  
  private final GrammarProvider grammarProvider;

  private TerminalsGrammarAccess gaTerminals;

  @Inject
  public AttrMMGrammarAccess(GrammarProvider grammarProvider,
    TerminalsGrammarAccess gaTerminals) {
    this.grammarProvider = grammarProvider;
    this.gaTerminals = gaTerminals;
  }
  
  public Grammar getGrammar() {  
    return grammarProvider.getGrammar(this);
  }
  

  public TerminalsGrammarAccess getTerminalsGrammarAccess() {
    return gaTerminals;
  }

  
  //AttributionCollection returns attribution::AttributionCollection:
  //  imports+=Import* attributions+=Attribution*;
  public AttributionCollectionElements getAttributionCollectionAccess() {
    return (pAttributionCollection != null) ? pAttributionCollection : (pAttributionCollection = new AttributionCollectionElements());
  }
  
  public ParserRule getAttributionCollectionRule() {
    return getAttributionCollectionAccess().getRule();
  }

  //// -------
  //// IMPORTS
  //// -------
  //Import returns attribution::Import:
  //  "import" importURI=STRING ";";
  public ImportElements getImportAccess() {
    return (pImport != null) ? pImport : (pImport = new ImportElements());
  }
  
  public ParserRule getImportRule() {
    return getImportAccess().getRule();
  }

  //// ------------
  //// ATTRIBUTIONS
  //// ------------
  //Attribution returns attribution::Attribution:
  //  "attribution" id=ID "{" // unordered group of info definitions
  //  (("name" name=STRING ";")? & ("version" version=STRING ";")? & ("description" description=STRING ";")?) // unordered group of main definitions
  //  (attrDefinitions+=AttributeDefinition* & attrSemanticRules+=SemanticRule* & attrDataTypes+=AttrDataType* &
  //  attrExtensions+=AttrExtension*) "}";
  public AttributionElements getAttributionAccess() {
    return (pAttribution != null) ? pAttribution : (pAttribution = new AttributionElements());
  }
  
  public ParserRule getAttributionRule() {
    return getAttributionAccess().getRule();
  }

  //// ---------------------
  //// ATTRIBUTE DEFINITIONS
  //// ---------------------
  //AttributeDefinition returns attributes::AttrDefinition:
  //  "attribute" (AttrAssignDefinition | AttrConstDefinition);
  public AttributeDefinitionElements getAttributeDefinitionAccess() {
    return (pAttributeDefinition != null) ? pAttributeDefinition : (pAttributeDefinition = new AttributeDefinitionElements());
  }
  
  public ParserRule getAttributeDefinitionRule() {
    return getAttributeDefinitionAccess().getRule();
  }

  //AttrAssignDefinition returns attributes::AttrAssignDefinition:
  //  "assignment" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=[datatypes::AttrDataType] "initWith"
  //  initializationRule=[semanticrules::AttrSemanticRule] ";";
  public AttrAssignDefinitionElements getAttrAssignDefinitionAccess() {
    return (pAttrAssignDefinition != null) ? pAttrAssignDefinition : (pAttrAssignDefinition = new AttrAssignDefinitionElements());
  }
  
  public ParserRule getAttrAssignDefinitionRule() {
    return getAttrAssignDefinitionAccess().getRule();
  }

  //AttrConstDefinition returns attributes::AttrConstDefinition:
  //  "constraint" id=ID name=STRING? ("[" description=STRING "]")? ":" severity=ConstSeverity violationID=STRING? ";";
  public AttrConstDefinitionElements getAttrConstDefinitionAccess() {
    return (pAttrConstDefinition != null) ? pAttrConstDefinition : (pAttrConstDefinition = new AttrConstDefinitionElements());
  }
  
  public ParserRule getAttrConstDefinitionRule() {
    return getAttrConstDefinitionAccess().getRule();
  }

  //enum ConstSeverity returns attributes::ConstSeverity:
  //  info | advice | warning | error;
  public ConstSeverityElements getConstSeverityAccess() {
    return (unknownRuleConstSeverity != null) ? unknownRuleConstSeverity : (unknownRuleConstSeverity = new ConstSeverityElements());
  }
  
  public EnumRule getConstSeverityRule() {
    return getConstSeverityAccess().getRule();
  }

  //// ---------------------
  //// ATTRIBUTE OCCURRENCES
  //// ---------------------
  //AttrExtension returns attributes::AttrExtension:
  //  "extend" attributedClass=[ecore::EClass] "with" "{" attributes+=AttrOccurrence* "}";
  public AttrExtensionElements getAttrExtensionAccess() {
    return (pAttrExtension != null) ? pAttrExtension : (pAttrExtension = new AttrExtensionElements());
  }
  
  public ParserRule getAttrExtensionRule() {
    return getAttrExtensionAccess().getRule();
  }

  //AttrOccurrence returns attributes::AttrOccurrence:
  //  "occurrenceOf" definedBy=[attributes::AttrDefinition] "calculateWith" calculatedBy=[semanticrules::AttrSemanticRule]
  //  ";";
  public AttrOccurrenceElements getAttrOccurrenceAccess() {
    return (pAttrOccurrence != null) ? pAttrOccurrence : (pAttrOccurrence = new AttrOccurrenceElements());
  }
  
  public ParserRule getAttrOccurrenceRule() {
    return getAttrOccurrenceAccess().getRule();
  }

  //// --------------
  //// SEMANTIC RULES
  //// --------------
  //SemanticRule returns semanticrules::AttrSemanticRule:
  //  "rule" (SemanticRuleJava | SemanticRuleOCL | SemanticRuleAuto) ";";
  public SemanticRuleElements getSemanticRuleAccess() {
    return (pSemanticRule != null) ? pSemanticRule : (pSemanticRule = new SemanticRuleElements());
  }
  
  public ParserRule getSemanticRuleRule() {
    return getSemanticRuleAccess().getRule();
  }

  //SemanticRuleJava returns semanticrules::AttrSemanticRule:
  //  "java" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeJava rule=STRING;
  public SemanticRuleJavaElements getSemanticRuleJavaAccess() {
    return (pSemanticRuleJava != null) ? pSemanticRuleJava : (pSemanticRuleJava = new SemanticRuleJavaElements());
  }
  
  public ParserRule getSemanticRuleJavaRule() {
    return getSemanticRuleJavaAccess().getRule();
  }

  //SemanticRuleOCL returns semanticrules::AttrSemanticRule:
  //  "ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeOCL rule=STRING;
  public SemanticRuleOCLElements getSemanticRuleOCLAccess() {
    return (pSemanticRuleOCL != null) ? pSemanticRuleOCL : (pSemanticRuleOCL = new SemanticRuleOCLElements());
  }
  
  public ParserRule getSemanticRuleOCLRule() {
    return getSemanticRuleOCLAccess().getRule();
  }

  //SemanticRuleAuto returns semanticrules::AttrSemanticRule:
  //  "auto" id=ID name=STRING? ("[" description=STRING "]")? ":" ruleType=SemanticRuleTypeAuto;
  public SemanticRuleAutoElements getSemanticRuleAutoAccess() {
    return (pSemanticRuleAuto != null) ? pSemanticRuleAuto : (pSemanticRuleAuto = new SemanticRuleAutoElements());
  }
  
  public ParserRule getSemanticRuleAutoRule() {
    return getSemanticRuleAutoAccess().getRule();
  }

  //enum SemanticRuleTypeJava returns semanticrules::SemanticRuleType:
  //  java_call="call" | java_constructor="constructor" | java_inline="inline";
  public SemanticRuleTypeJavaElements getSemanticRuleTypeJavaAccess() {
    return (unknownRuleSemanticRuleTypeJava != null) ? unknownRuleSemanticRuleTypeJava : (unknownRuleSemanticRuleTypeJava = new SemanticRuleTypeJavaElements());
  }
  
  public EnumRule getSemanticRuleTypeJavaRule() {
    return getSemanticRuleTypeJavaAccess().getRule();
  }

  //enum SemanticRuleTypeOCL returns semanticrules::SemanticRuleType:
  //  ocl="standard" | impocl="imperative";
  public SemanticRuleTypeOCLElements getSemanticRuleTypeOCLAccess() {
    return (unknownRuleSemanticRuleTypeOCL != null) ? unknownRuleSemanticRuleTypeOCL : (unknownRuleSemanticRuleTypeOCL = new SemanticRuleTypeOCLElements());
  }
  
  public EnumRule getSemanticRuleTypeOCLRule() {
    return getSemanticRuleTypeOCLAccess().getRule();
  }

  //enum SemanticRuleTypeAuto returns semanticrules::SemanticRuleType:
  //  const="constant" | null;
  public SemanticRuleTypeAutoElements getSemanticRuleTypeAutoAccess() {
    return (unknownRuleSemanticRuleTypeAuto != null) ? unknownRuleSemanticRuleTypeAuto : (unknownRuleSemanticRuleTypeAuto = new SemanticRuleTypeAutoElements());
  }
  
  public EnumRule getSemanticRuleTypeAutoRule() {
    return getSemanticRuleTypeAutoAccess().getRule();
  }

  //// ---------
  //// DATATYPES
  //// ---------
  //AttrDataType returns datatypes::AttrDataType:
  //  "type" (AttrDataTypeJava | AttrDataTypeOCL | AttrDataTypeOCLManual) ";";
  public AttrDataTypeElements getAttrDataTypeAccess() {
    return (pAttrDataType != null) ? pAttrDataType : (pAttrDataType = new AttrDataTypeElements());
  }
  
  public ParserRule getAttrDataTypeRule() {
    return getAttrDataTypeAccess().getRule();
  }

  //AttrDataTypeJava returns datatypes::AttrDataType:
  //  "java" id=ID name=STRING? ("[" description=STRING "]")? ":" dataType=DataTypeJava;
  public AttrDataTypeJavaElements getAttrDataTypeJavaAccess() {
    return (pAttrDataTypeJava != null) ? pAttrDataTypeJava : (pAttrDataTypeJava = new AttrDataTypeJavaElements());
  }
  
  public ParserRule getAttrDataTypeJavaRule() {
    return getAttrDataTypeJavaAccess().getRule();
  }

  //AttrDataTypeOCL returns datatypes::AttrDataType:
  //  "ocl" id=ID name=STRING? ("[" description=STRING "]")? ":" (dataType=DataTypeOCL | dataType=DataTypeOCLManual
  //  dataTypeManual=STRING);
  public AttrDataTypeOCLElements getAttrDataTypeOCLAccess() {
    return (pAttrDataTypeOCL != null) ? pAttrDataTypeOCL : (pAttrDataTypeOCL = new AttrDataTypeOCLElements());
  }
  
  public ParserRule getAttrDataTypeOCLRule() {
    return getAttrDataTypeOCLAccess().getRule();
  }

  //AttrDataTypeOCLManual returns datatypes::AttrDataType:
  //  "ocl" id=ID name=STRING? ("[" description=STRING "]")?;
  public AttrDataTypeOCLManualElements getAttrDataTypeOCLManualAccess() {
    return (pAttrDataTypeOCLManual != null) ? pAttrDataTypeOCLManual : (pAttrDataTypeOCLManual = new AttrDataTypeOCLManualElements());
  }
  
  public ParserRule getAttrDataTypeOCLManualRule() {
    return getAttrDataTypeOCLManualAccess().getRule();
  }

  //enum DataTypeJava returns datatypes::DataType:
  //  Java_Object="object";
  public DataTypeJavaElements getDataTypeJavaAccess() {
    return (unknownRuleDataTypeJava != null) ? unknownRuleDataTypeJava : (unknownRuleDataTypeJava = new DataTypeJavaElements());
  }
  
  public EnumRule getDataTypeJavaRule() {
    return getDataTypeJavaAccess().getRule();
  }

  //enum DataTypeOCL returns datatypes::DataType:
  //  OCL_Integer="integer" | OCL_Boolean="boolean" | OCL_Real="real" | OCL_String="string" | OCL_Set_String_="set(string)"
  //  | OCL_Set_Integer_="set(integer)" | OCL_Set_Any_="set(any)" | OCL_OrderedSet_String_="orderedset(string)" |
  //  OCL_OrderedSet_Integer_="orderedset(integer)" | OCL_OrderedSet_Any_="orderedset(any)" |
  //  OCL_Sequence_String_="sequence(string)" | OCL_Sequence_Integer_="sequence(integer)" |
  //  OCL_Sequence_Any_="sequence(any)" | OCL_Bag_String_="bag(string)" | OCL_Bag_Integer_="bag(integer)" |
  //  OCL_Bag_Any_="bag(any)";
  public DataTypeOCLElements getDataTypeOCLAccess() {
    return (unknownRuleDataTypeOCL != null) ? unknownRuleDataTypeOCL : (unknownRuleDataTypeOCL = new DataTypeOCLElements());
  }
  
  public EnumRule getDataTypeOCLRule() {
    return getDataTypeOCLAccess().getRule();
  }

  //enum DataTypeOCLManual returns datatypes::DataType:
  //  OCL_ManualDeclaration="manual";
  public DataTypeOCLManualElements getDataTypeOCLManualAccess() {
    return (unknownRuleDataTypeOCLManual != null) ? unknownRuleDataTypeOCLManual : (unknownRuleDataTypeOCLManual = new DataTypeOCLManualElements());
  }
  
  public EnumRule getDataTypeOCLManualRule() {
    return getDataTypeOCLManualAccess().getRule();
  }

  //// ---------
  //// TERMINALS
  //// ---------
  //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"));
  } 

  //terminal SINGLE_QUOTED_STRING:
  //  "\'" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
  public TerminalRule getSINGLE_QUOTED_STRINGRule() {
    return (tSINGLE_QUOTED_STRING != null) ? tSINGLE_QUOTED_STRING : (tSINGLE_QUOTED_STRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SINGLE_QUOTED_STRING"));
  } 

  //terminal ID:
  //  "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
  public TerminalRule getIDRule() {
    return gaTerminals.getIDRule();
  } 

  //terminal INT returns ecore::EInt:
  //  "0".."9"+;
  public TerminalRule getINTRule() {
    return gaTerminals.getINTRule();
  } 

  //terminal STRING:
  //  "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | "n" |
  //  "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
  public TerminalRule getSTRINGRule() {
    return gaTerminals.getSTRINGRule();
  } 

  //terminal ANY_OTHER:
  //  .;
  public TerminalRule getANY_OTHERRule() {
    return gaTerminals.getANY_OTHERRule();
  } 
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.