/*
 * generated by Xtext 2.26.0
 */
package com.minres.rdl.services;

import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.util.List;
import org.eclipse.xtext.Action;
import org.eclipse.xtext.Alternatives;
import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.CrossReference;
import org.eclipse.xtext.EnumLiteralDeclaration;
import org.eclipse.xtext.EnumRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.GrammarUtil;
import org.eclipse.xtext.Group;
import org.eclipse.xtext.Keyword;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.TerminalRule;
import org.eclipse.xtext.service.AbstractElementFinder;
import org.eclipse.xtext.service.GrammarProvider;

@Singleton
public class RDLGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder {
	
	public class RootElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Root");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Assignment cIncludesAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
		private final RuleCall cIncludesIncludeParserRuleCall_0_0 = (RuleCall)cIncludesAssignment_0.eContents().get(0);
		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
		private final Assignment cComponentDefinitionsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
		private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0 = (RuleCall)cComponentDefinitionsAssignment_1_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
		private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
		private final Assignment cEnumDefinitionsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
		private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0 = (RuleCall)cEnumDefinitionsAssignment_2_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
		private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
		private final Assignment cInstantiationsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
		private final RuleCall cInstantiationsInstantiationParserRuleCall_3_0_0 = (RuleCall)cInstantiationsAssignment_3_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
		private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4);
		private final Assignment cPropertyAssignmentsAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
		private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0 = (RuleCall)cPropertyAssignmentsAssignment_4_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
		private final Group cGroup_5 = (Group)cAlternatives.eContents().get(5);
		private final Assignment cPropertyDefinitionsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0);
		private final RuleCall cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0 = (RuleCall)cPropertyDefinitionsAssignment_5_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
		
		//Root:
		//    (
		//        includes+=Include |
		//        componentDefinitions+=ComponentDefinition';'|
		//        enumDefinitions+=EnumDefinition ';'|
		//        instantiations+=Instantiation ';'|
		//        propertyAssignments+=PropertyAssignment ';'|
		//        propertyDefinitions+=PropertyDefinition ';'
		//    ) *
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//(
		//    includes+=Include |
		//    componentDefinitions+=ComponentDefinition';'|
		//    enumDefinitions+=EnumDefinition ';'|
		//    instantiations+=Instantiation ';'|
		//    propertyAssignments+=PropertyAssignment ';'|
		//    propertyDefinitions+=PropertyDefinition ';'
		//) *
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//includes+=Include
		public Assignment getIncludesAssignment_0() { return cIncludesAssignment_0; }
		
		//Include
		public RuleCall getIncludesIncludeParserRuleCall_0_0() { return cIncludesIncludeParserRuleCall_0_0; }
		
		//componentDefinitions+=ComponentDefinition';'
		public Group getGroup_1() { return cGroup_1; }
		
		//componentDefinitions+=ComponentDefinition
		public Assignment getComponentDefinitionsAssignment_1_0() { return cComponentDefinitionsAssignment_1_0; }
		
		//ComponentDefinition
		public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; }
		
		//enumDefinitions+=EnumDefinition ';'
		public Group getGroup_2() { return cGroup_2; }
		
		//enumDefinitions+=EnumDefinition
		public Assignment getEnumDefinitionsAssignment_2_0() { return cEnumDefinitionsAssignment_2_0; }
		
		//EnumDefinition
		public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_2_1() { return cSemicolonKeyword_2_1; }
		
		//instantiations+=Instantiation ';'
		public Group getGroup_3() { return cGroup_3; }
		
		//instantiations+=Instantiation
		public Assignment getInstantiationsAssignment_3_0() { return cInstantiationsAssignment_3_0; }
		
		//Instantiation
		public RuleCall getInstantiationsInstantiationParserRuleCall_3_0_0() { return cInstantiationsInstantiationParserRuleCall_3_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_1() { return cSemicolonKeyword_3_1; }
		
		//propertyAssignments+=PropertyAssignment ';'
		public Group getGroup_4() { return cGroup_4; }
		
		//propertyAssignments+=PropertyAssignment
		public Assignment getPropertyAssignmentsAssignment_4_0() { return cPropertyAssignmentsAssignment_4_0; }
		
		//PropertyAssignment
		public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_4_1() { return cSemicolonKeyword_4_1; }
		
		//propertyDefinitions+=PropertyDefinition ';'
		public Group getGroup_5() { return cGroup_5; }
		
		//propertyDefinitions+=PropertyDefinition
		public Assignment getPropertyDefinitionsAssignment_5_0() { return cPropertyDefinitionsAssignment_5_0; }
		
		//PropertyDefinition
		public RuleCall getPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0() { return cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_5_1() { return cSemicolonKeyword_5_1; }
	}
	public class IncludeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Include");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cIncludeKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cImportURISTRTerminalRuleCall_1_0 = (RuleCall)cImportURIAssignment_1.eContents().get(0);
		
		//Include:
		//    '`include' importURI=STR
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//'`include' importURI=STR
		public Group getGroup() { return cGroup; }
		
		//'`include'
		public Keyword getIncludeKeyword_0() { return cIncludeKeyword_0; }
		
		//importURI=STR
		public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; }
		
		//STR
		public RuleCall getImportURISTRTerminalRuleCall_1_0() { return cImportURISTRTerminalRuleCall_1_0; }
	}
	public class PropertyDefinitionElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyDefinition");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cPropertyKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
		private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0);
		private final Keyword cTypeKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_3_0_1 = (Keyword)cGroup_3_0.eContents().get(1);
		private final Assignment cTypeAssignment_3_0_2 = (Assignment)cGroup_3_0.eContents().get(2);
		private final RuleCall cTypePropertyTypeNameEnumRuleCall_3_0_2_0 = (RuleCall)cTypeAssignment_3_0_2.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_0_3 = (Keyword)cGroup_3_0.eContents().get(3);
		private final Alternatives cAlternatives_3_0_4 = (Alternatives)cGroup_3_0.eContents().get(4);
		private final Group cGroup_3_0_4_0 = (Group)cAlternatives_3_0_4.eContents().get(0);
		private final Assignment cUsageAssignment_3_0_4_0_0 = (Assignment)cGroup_3_0_4_0.eContents().get(0);
		private final RuleCall cUsagePropertyUsageParserRuleCall_3_0_4_0_0_0 = (RuleCall)cUsageAssignment_3_0_4_0_0.eContents().get(0);
		private final Assignment cDefaultAssignment_3_0_4_0_1 = (Assignment)cGroup_3_0_4_0.eContents().get(1);
		private final RuleCall cDefaultPropertyDefaultParserRuleCall_3_0_4_0_1_0 = (RuleCall)cDefaultAssignment_3_0_4_0_1.eContents().get(0);
		private final Group cGroup_3_0_4_1 = (Group)cAlternatives_3_0_4.eContents().get(1);
		private final Assignment cDefaultAssignment_3_0_4_1_0 = (Assignment)cGroup_3_0_4_1.eContents().get(0);
		private final RuleCall cDefaultPropertyDefaultParserRuleCall_3_0_4_1_0_0 = (RuleCall)cDefaultAssignment_3_0_4_1_0.eContents().get(0);
		private final Assignment cUsageAssignment_3_0_4_1_1 = (Assignment)cGroup_3_0_4_1.eContents().get(1);
		private final RuleCall cUsagePropertyUsageParserRuleCall_3_0_4_1_1_0 = (RuleCall)cUsageAssignment_3_0_4_1_1.eContents().get(0);
		private final Group cGroup_3_1 = (Group)cAlternatives_3.eContents().get(1);
		private final Assignment cUsageAssignment_3_1_0 = (Assignment)cGroup_3_1.eContents().get(0);
		private final RuleCall cUsagePropertyUsageParserRuleCall_3_1_0_0 = (RuleCall)cUsageAssignment_3_1_0.eContents().get(0);
		private final Alternatives cAlternatives_3_1_1 = (Alternatives)cGroup_3_1.eContents().get(1);
		private final Group cGroup_3_1_1_0 = (Group)cAlternatives_3_1_1.eContents().get(0);
		private final Keyword cTypeKeyword_3_1_1_0_0 = (Keyword)cGroup_3_1_1_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_3_1_1_0_1 = (Keyword)cGroup_3_1_1_0.eContents().get(1);
		private final Assignment cTypeAssignment_3_1_1_0_2 = (Assignment)cGroup_3_1_1_0.eContents().get(2);
		private final RuleCall cTypePropertyTypeNameEnumRuleCall_3_1_1_0_2_0 = (RuleCall)cTypeAssignment_3_1_1_0_2.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_1_1_0_3 = (Keyword)cGroup_3_1_1_0.eContents().get(3);
		private final Assignment cDefaultAssignment_3_1_1_0_4 = (Assignment)cGroup_3_1_1_0.eContents().get(4);
		private final RuleCall cDefaultPropertyDefaultParserRuleCall_3_1_1_0_4_0 = (RuleCall)cDefaultAssignment_3_1_1_0_4.eContents().get(0);
		private final Group cGroup_3_1_1_1 = (Group)cAlternatives_3_1_1.eContents().get(1);
		private final Assignment cDefaultAssignment_3_1_1_1_0 = (Assignment)cGroup_3_1_1_1.eContents().get(0);
		private final RuleCall cDefaultPropertyDefaultParserRuleCall_3_1_1_1_0_0 = (RuleCall)cDefaultAssignment_3_1_1_1_0.eContents().get(0);
		private final Keyword cTypeKeyword_3_1_1_1_1 = (Keyword)cGroup_3_1_1_1.eContents().get(1);
		private final Keyword cEqualsSignKeyword_3_1_1_1_2 = (Keyword)cGroup_3_1_1_1.eContents().get(2);
		private final Assignment cTypeAssignment_3_1_1_1_3 = (Assignment)cGroup_3_1_1_1.eContents().get(3);
		private final RuleCall cTypePropertyTypeNameEnumRuleCall_3_1_1_1_3_0 = (RuleCall)cTypeAssignment_3_1_1_1_3.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_1_1_1_4 = (Keyword)cGroup_3_1_1_1.eContents().get(4);
		private final Group cGroup_3_2 = (Group)cAlternatives_3.eContents().get(2);
		private final Assignment cDefaultAssignment_3_2_0 = (Assignment)cGroup_3_2.eContents().get(0);
		private final RuleCall cDefaultPropertyDefaultParserRuleCall_3_2_0_0 = (RuleCall)cDefaultAssignment_3_2_0.eContents().get(0);
		private final Alternatives cAlternatives_3_2_1 = (Alternatives)cGroup_3_2.eContents().get(1);
		private final Group cGroup_3_2_1_0 = (Group)cAlternatives_3_2_1.eContents().get(0);
		private final Keyword cTypeKeyword_3_2_1_0_0 = (Keyword)cGroup_3_2_1_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_3_2_1_0_1 = (Keyword)cGroup_3_2_1_0.eContents().get(1);
		private final Assignment cTypeAssignment_3_2_1_0_2 = (Assignment)cGroup_3_2_1_0.eContents().get(2);
		private final RuleCall cTypePropertyTypeNameEnumRuleCall_3_2_1_0_2_0 = (RuleCall)cTypeAssignment_3_2_1_0_2.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_2_1_0_3 = (Keyword)cGroup_3_2_1_0.eContents().get(3);
		private final Assignment cUsageAssignment_3_2_1_0_4 = (Assignment)cGroup_3_2_1_0.eContents().get(4);
		private final RuleCall cUsagePropertyUsageParserRuleCall_3_2_1_0_4_0 = (RuleCall)cUsageAssignment_3_2_1_0_4.eContents().get(0);
		private final Group cGroup_3_2_1_1 = (Group)cAlternatives_3_2_1.eContents().get(1);
		private final Assignment cUsageAssignment_3_2_1_1_0 = (Assignment)cGroup_3_2_1_1.eContents().get(0);
		private final RuleCall cUsagePropertyUsageParserRuleCall_3_2_1_1_0_0 = (RuleCall)cUsageAssignment_3_2_1_1_0.eContents().get(0);
		private final Keyword cTypeKeyword_3_2_1_1_1 = (Keyword)cGroup_3_2_1_1.eContents().get(1);
		private final Keyword cEqualsSignKeyword_3_2_1_1_2 = (Keyword)cGroup_3_2_1_1.eContents().get(2);
		private final Assignment cTypeAssignment_3_2_1_1_3 = (Assignment)cGroup_3_2_1_1.eContents().get(3);
		private final RuleCall cTypePropertyTypeNameEnumRuleCall_3_2_1_1_3_0 = (RuleCall)cTypeAssignment_3_2_1_1_3.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_2_1_1_4 = (Keyword)cGroup_3_2_1_1.eContents().get(4);
		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
		
		//PropertyDefinition:
		//     'property' name=ID '{'
		//         (
		//                 "type" '=' type=PropertyTypeName ';' (usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage) |
		//                 usage=PropertyUsage ("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';') |
		//                 default=PropertyDefault ("type" '='    type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
		//         ) '}' ';'
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//'property' name=ID '{'
		//    (
		//            "type" '=' type=PropertyTypeName ';' (usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage) |
		//            usage=PropertyUsage ("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';') |
		//            default=PropertyDefault ("type" '='    type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
		//    ) '}' ';'
		public Group getGroup() { return cGroup; }
		
		//'property'
		public Keyword getPropertyKeyword_0() { return cPropertyKeyword_0; }
		
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		
		//ID
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		
		//'{'
		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
		
		//(
		//        "type" '=' type=PropertyTypeName ';' (usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage) |
		//        usage=PropertyUsage ("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';') |
		//        default=PropertyDefault ("type" '='    type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
		//)
		public Alternatives getAlternatives_3() { return cAlternatives_3; }
		
		//"type" '=' type=PropertyTypeName ';' (usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage)
		public Group getGroup_3_0() { return cGroup_3_0; }
		
		//"type"
		public Keyword getTypeKeyword_3_0_0() { return cTypeKeyword_3_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_3_0_1() { return cEqualsSignKeyword_3_0_1; }
		
		//type=PropertyTypeName
		public Assignment getTypeAssignment_3_0_2() { return cTypeAssignment_3_0_2; }
		
		//PropertyTypeName
		public RuleCall getTypePropertyTypeNameEnumRuleCall_3_0_2_0() { return cTypePropertyTypeNameEnumRuleCall_3_0_2_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_0_3() { return cSemicolonKeyword_3_0_3; }
		
		//(usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage)
		public Alternatives getAlternatives_3_0_4() { return cAlternatives_3_0_4; }
		
		//usage=PropertyUsage default=PropertyDefault?
		public Group getGroup_3_0_4_0() { return cGroup_3_0_4_0; }
		
		//usage=PropertyUsage
		public Assignment getUsageAssignment_3_0_4_0_0() { return cUsageAssignment_3_0_4_0_0; }
		
		//PropertyUsage
		public RuleCall getUsagePropertyUsageParserRuleCall_3_0_4_0_0_0() { return cUsagePropertyUsageParserRuleCall_3_0_4_0_0_0; }
		
		//default=PropertyDefault?
		public Assignment getDefaultAssignment_3_0_4_0_1() { return cDefaultAssignment_3_0_4_0_1; }
		
		//PropertyDefault
		public RuleCall getDefaultPropertyDefaultParserRuleCall_3_0_4_0_1_0() { return cDefaultPropertyDefaultParserRuleCall_3_0_4_0_1_0; }
		
		//default=PropertyDefault usage=PropertyUsage
		public Group getGroup_3_0_4_1() { return cGroup_3_0_4_1; }
		
		//default=PropertyDefault
		public Assignment getDefaultAssignment_3_0_4_1_0() { return cDefaultAssignment_3_0_4_1_0; }
		
		//PropertyDefault
		public RuleCall getDefaultPropertyDefaultParserRuleCall_3_0_4_1_0_0() { return cDefaultPropertyDefaultParserRuleCall_3_0_4_1_0_0; }
		
		//usage=PropertyUsage
		public Assignment getUsageAssignment_3_0_4_1_1() { return cUsageAssignment_3_0_4_1_1; }
		
		//PropertyUsage
		public RuleCall getUsagePropertyUsageParserRuleCall_3_0_4_1_1_0() { return cUsagePropertyUsageParserRuleCall_3_0_4_1_1_0; }
		
		//usage=PropertyUsage ("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';')
		public Group getGroup_3_1() { return cGroup_3_1; }
		
		//usage=PropertyUsage
		public Assignment getUsageAssignment_3_1_0() { return cUsageAssignment_3_1_0; }
		
		//PropertyUsage
		public RuleCall getUsagePropertyUsageParserRuleCall_3_1_0_0() { return cUsagePropertyUsageParserRuleCall_3_1_0_0; }
		
		//("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';')
		public Alternatives getAlternatives_3_1_1() { return cAlternatives_3_1_1; }
		
		//"type" '=' type=PropertyTypeName ';' default=PropertyDefault?
		public Group getGroup_3_1_1_0() { return cGroup_3_1_1_0; }
		
		//"type"
		public Keyword getTypeKeyword_3_1_1_0_0() { return cTypeKeyword_3_1_1_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_3_1_1_0_1() { return cEqualsSignKeyword_3_1_1_0_1; }
		
		//type=PropertyTypeName
		public Assignment getTypeAssignment_3_1_1_0_2() { return cTypeAssignment_3_1_1_0_2; }
		
		//PropertyTypeName
		public RuleCall getTypePropertyTypeNameEnumRuleCall_3_1_1_0_2_0() { return cTypePropertyTypeNameEnumRuleCall_3_1_1_0_2_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_1_1_0_3() { return cSemicolonKeyword_3_1_1_0_3; }
		
		//default=PropertyDefault?
		public Assignment getDefaultAssignment_3_1_1_0_4() { return cDefaultAssignment_3_1_1_0_4; }
		
		//PropertyDefault
		public RuleCall getDefaultPropertyDefaultParserRuleCall_3_1_1_0_4_0() { return cDefaultPropertyDefaultParserRuleCall_3_1_1_0_4_0; }
		
		//default=PropertyDefault "type" '=' type=PropertyTypeName ';'
		public Group getGroup_3_1_1_1() { return cGroup_3_1_1_1; }
		
		//default=PropertyDefault
		public Assignment getDefaultAssignment_3_1_1_1_0() { return cDefaultAssignment_3_1_1_1_0; }
		
		//PropertyDefault
		public RuleCall getDefaultPropertyDefaultParserRuleCall_3_1_1_1_0_0() { return cDefaultPropertyDefaultParserRuleCall_3_1_1_1_0_0; }
		
		//"type"
		public Keyword getTypeKeyword_3_1_1_1_1() { return cTypeKeyword_3_1_1_1_1; }
		
		//'='
		public Keyword getEqualsSignKeyword_3_1_1_1_2() { return cEqualsSignKeyword_3_1_1_1_2; }
		
		//type=PropertyTypeName
		public Assignment getTypeAssignment_3_1_1_1_3() { return cTypeAssignment_3_1_1_1_3; }
		
		//PropertyTypeName
		public RuleCall getTypePropertyTypeNameEnumRuleCall_3_1_1_1_3_0() { return cTypePropertyTypeNameEnumRuleCall_3_1_1_1_3_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_1_1_1_4() { return cSemicolonKeyword_3_1_1_1_4; }
		
		//default=PropertyDefault ("type" '='	type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
		public Group getGroup_3_2() { return cGroup_3_2; }
		
		//default=PropertyDefault
		public Assignment getDefaultAssignment_3_2_0() { return cDefaultAssignment_3_2_0; }
		
		//PropertyDefault
		public RuleCall getDefaultPropertyDefaultParserRuleCall_3_2_0_0() { return cDefaultPropertyDefaultParserRuleCall_3_2_0_0; }
		
		//("type" '='	type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
		public Alternatives getAlternatives_3_2_1() { return cAlternatives_3_2_1; }
		
		//"type" '='	type=PropertyTypeName ';' usage=PropertyUsage
		public Group getGroup_3_2_1_0() { return cGroup_3_2_1_0; }
		
		//"type"
		public Keyword getTypeKeyword_3_2_1_0_0() { return cTypeKeyword_3_2_1_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_3_2_1_0_1() { return cEqualsSignKeyword_3_2_1_0_1; }
		
		//type=PropertyTypeName
		public Assignment getTypeAssignment_3_2_1_0_2() { return cTypeAssignment_3_2_1_0_2; }
		
		//PropertyTypeName
		public RuleCall getTypePropertyTypeNameEnumRuleCall_3_2_1_0_2_0() { return cTypePropertyTypeNameEnumRuleCall_3_2_1_0_2_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_2_1_0_3() { return cSemicolonKeyword_3_2_1_0_3; }
		
		//usage=PropertyUsage
		public Assignment getUsageAssignment_3_2_1_0_4() { return cUsageAssignment_3_2_1_0_4; }
		
		//PropertyUsage
		public RuleCall getUsagePropertyUsageParserRuleCall_3_2_1_0_4_0() { return cUsagePropertyUsageParserRuleCall_3_2_1_0_4_0; }
		
		//usage=PropertyUsage "type" '=' type=PropertyTypeName ';'
		public Group getGroup_3_2_1_1() { return cGroup_3_2_1_1; }
		
		//usage=PropertyUsage
		public Assignment getUsageAssignment_3_2_1_1_0() { return cUsageAssignment_3_2_1_1_0; }
		
		//PropertyUsage
		public RuleCall getUsagePropertyUsageParserRuleCall_3_2_1_1_0_0() { return cUsagePropertyUsageParserRuleCall_3_2_1_1_0_0; }
		
		//"type"
		public Keyword getTypeKeyword_3_2_1_1_1() { return cTypeKeyword_3_2_1_1_1; }
		
		//'='
		public Keyword getEqualsSignKeyword_3_2_1_1_2() { return cEqualsSignKeyword_3_2_1_1_2; }
		
		//type=PropertyTypeName
		public Assignment getTypeAssignment_3_2_1_1_3() { return cTypeAssignment_3_2_1_1_3; }
		
		//PropertyTypeName
		public RuleCall getTypePropertyTypeNameEnumRuleCall_3_2_1_1_3_0() { return cTypePropertyTypeNameEnumRuleCall_3_2_1_1_3_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_2_1_1_4() { return cSemicolonKeyword_3_2_1_1_4; }
		
		//'}'
		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
		
		//';'
		public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
	}
	public class PropertyDefaultElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyDefault");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
		private final Assignment cStringAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
		private final RuleCall cStringSTRTerminalRuleCall_2_0_0 = (RuleCall)cStringAssignment_2_0.eContents().get(0);
		private final Assignment cValueAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
		private final RuleCall cValueNUMTerminalRuleCall_2_1_0 = (RuleCall)cValueAssignment_2_1.eContents().get(0);
		private final Assignment cStringAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2);
		private final Keyword cStringTrueKeyword_2_2_0 = (Keyword)cStringAssignment_2_2.eContents().get(0);
		private final Assignment cStringAssignment_2_3 = (Assignment)cAlternatives_2.eContents().get(3);
		private final Keyword cStringFalseKeyword_2_3_0 = (Keyword)cStringAssignment_2_3.eContents().get(0);
		private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
		
		//PropertyDefault:
		//    "default" '=' (string=STR | value=NUM | string="true" | string="false")  ';'
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//"default" '=' (string=STR | value=NUM | string="true" | string="false")  ';'
		public Group getGroup() { return cGroup; }
		
		//"default"
		public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
		
		//(string=STR | value=NUM | string="true" | string="false")
		public Alternatives getAlternatives_2() { return cAlternatives_2; }
		
		//string=STR
		public Assignment getStringAssignment_2_0() { return cStringAssignment_2_0; }
		
		//STR
		public RuleCall getStringSTRTerminalRuleCall_2_0_0() { return cStringSTRTerminalRuleCall_2_0_0; }
		
		//value=NUM
		public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; }
		
		//NUM
		public RuleCall getValueNUMTerminalRuleCall_2_1_0() { return cValueNUMTerminalRuleCall_2_1_0; }
		
		//string="true"
		public Assignment getStringAssignment_2_2() { return cStringAssignment_2_2; }
		
		//"true"
		public Keyword getStringTrueKeyword_2_2_0() { return cStringTrueKeyword_2_2_0; }
		
		//string="false"
		public Assignment getStringAssignment_2_3() { return cStringAssignment_2_3; }
		
		//"false"
		public Keyword getStringFalseKeyword_2_3_0() { return cStringFalseKeyword_2_3_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
	}
	public class PropertyUsageElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyUsage");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cComponentKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Assignment cComponentsAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final RuleCall cComponentsPropertyComponentEnumRuleCall_2_0 = (RuleCall)cComponentsAssignment_2.eContents().get(0);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cVerticalLineKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cComponentsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cComponentsPropertyComponentEnumRuleCall_3_1_0 = (RuleCall)cComponentsAssignment_3_1.eContents().get(0);
		private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
		
		//PropertyUsage:
		//    "component" '=' components+=PropertyComponent ('|' components+=PropertyComponent)* ';'
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//"component" '=' components+=PropertyComponent ('|' components+=PropertyComponent)* ';'
		public Group getGroup() { return cGroup; }
		
		//"component"
		public Keyword getComponentKeyword_0() { return cComponentKeyword_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
		
		//components+=PropertyComponent
		public Assignment getComponentsAssignment_2() { return cComponentsAssignment_2; }
		
		//PropertyComponent
		public RuleCall getComponentsPropertyComponentEnumRuleCall_2_0() { return cComponentsPropertyComponentEnumRuleCall_2_0; }
		
		//('|' components+=PropertyComponent)*
		public Group getGroup_3() { return cGroup_3; }
		
		//'|'
		public Keyword getVerticalLineKeyword_3_0() { return cVerticalLineKeyword_3_0; }
		
		//components+=PropertyComponent
		public Assignment getComponentsAssignment_3_1() { return cComponentsAssignment_3_1; }
		
		//PropertyComponent
		public RuleCall getComponentsPropertyComponentEnumRuleCall_3_1_0() { return cComponentsPropertyComponentEnumRuleCall_3_1_0; }
		
		//';'
		public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
	}
	public class ComponentDefinitionElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ComponentDefinition");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final RuleCall cTypeComponentDefinitionTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
		private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0);
		private final Assignment cComponentDefinitionsAssignment_3_0_0 = (Assignment)cGroup_3_0.eContents().get(0);
		private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0 = (RuleCall)cComponentDefinitionsAssignment_3_0_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_0_1 = (Keyword)cGroup_3_0.eContents().get(1);
		private final Group cGroup_3_1 = (Group)cAlternatives_3.eContents().get(1);
		private final Assignment cInstantiationsAssignment_3_1_0 = (Assignment)cGroup_3_1.eContents().get(0);
		private final RuleCall cInstantiationsInstantiationParserRuleCall_3_1_0_0 = (RuleCall)cInstantiationsAssignment_3_1_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_1_1 = (Keyword)cGroup_3_1.eContents().get(1);
		private final Group cGroup_3_2 = (Group)cAlternatives_3.eContents().get(2);
		private final Assignment cPropertyAssignmentsAssignment_3_2_0 = (Assignment)cGroup_3_2.eContents().get(0);
		private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0 = (RuleCall)cPropertyAssignmentsAssignment_3_2_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_2_1 = (Keyword)cGroup_3_2.eContents().get(1);
		private final Group cGroup_3_3 = (Group)cAlternatives_3.eContents().get(3);
		private final Assignment cEnumDefinitionsAssignment_3_3_0 = (Assignment)cGroup_3_3.eContents().get(0);
		private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0 = (RuleCall)cEnumDefinitionsAssignment_3_3_0.eContents().get(0);
		private final Keyword cSemicolonKeyword_3_3_1 = (Keyword)cGroup_3_3.eContents().get(1);
		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
		
		//ComponentDefinition:
		//    type=ComponentDefinitionType name=ID?
		//    '{'
		//      ( componentDefinitions+=ComponentDefinition ';'
		//      | instantiations+=Instantiation ';'
		//      | propertyAssignments+=PropertyAssignment ';'
		//      | enumDefinitions+=EnumDefinition ';'
		//      )* '}'
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//type=ComponentDefinitionType name=ID?
		//'{'
		//  ( componentDefinitions+=ComponentDefinition ';'
		//  | instantiations+=Instantiation ';'
		//  | propertyAssignments+=PropertyAssignment ';'
		//  | enumDefinitions+=EnumDefinition ';'
		//  )* '}'
		public Group getGroup() { return cGroup; }
		
		//type=ComponentDefinitionType
		public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
		
		//ComponentDefinitionType
		public RuleCall getTypeComponentDefinitionTypeEnumRuleCall_0_0() { return cTypeComponentDefinitionTypeEnumRuleCall_0_0; }
		
		//name=ID?
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		
		//ID
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		
		//'{'
		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
		
		//( componentDefinitions+=ComponentDefinition ';'
		//| instantiations+=Instantiation ';'
		//| propertyAssignments+=PropertyAssignment ';'
		//| enumDefinitions+=EnumDefinition ';'
		//)*
		public Alternatives getAlternatives_3() { return cAlternatives_3; }
		
		//componentDefinitions+=ComponentDefinition ';'
		public Group getGroup_3_0() { return cGroup_3_0; }
		
		//componentDefinitions+=ComponentDefinition
		public Assignment getComponentDefinitionsAssignment_3_0_0() { return cComponentDefinitionsAssignment_3_0_0; }
		
		//ComponentDefinition
		public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_0_1() { return cSemicolonKeyword_3_0_1; }
		
		//instantiations+=Instantiation ';'
		public Group getGroup_3_1() { return cGroup_3_1; }
		
		//instantiations+=Instantiation
		public Assignment getInstantiationsAssignment_3_1_0() { return cInstantiationsAssignment_3_1_0; }
		
		//Instantiation
		public RuleCall getInstantiationsInstantiationParserRuleCall_3_1_0_0() { return cInstantiationsInstantiationParserRuleCall_3_1_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_1_1() { return cSemicolonKeyword_3_1_1; }
		
		//propertyAssignments+=PropertyAssignment ';'
		public Group getGroup_3_2() { return cGroup_3_2; }
		
		//propertyAssignments+=PropertyAssignment
		public Assignment getPropertyAssignmentsAssignment_3_2_0() { return cPropertyAssignmentsAssignment_3_2_0; }
		
		//PropertyAssignment
		public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_2_1() { return cSemicolonKeyword_3_2_1; }
		
		//enumDefinitions+=EnumDefinition ';'
		public Group getGroup_3_3() { return cGroup_3_3; }
		
		//enumDefinitions+=EnumDefinition
		public Assignment getEnumDefinitionsAssignment_3_3_0() { return cEnumDefinitionsAssignment_3_3_0; }
		
		//EnumDefinition
		public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0; }
		
		//';'
		public Keyword getSemicolonKeyword_3_3_1() { return cSemicolonKeyword_3_3_1; }
		
		//'}'
		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
	}
	public class InstantiationElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Instantiation");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
		private final Assignment cInstanceTypeAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
		private final RuleCall cInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0 = (RuleCall)cInstanceTypeAssignment_0_0_0.eContents().get(0);
		private final Group cGroup_0_0_1 = (Group)cGroup_0_0.eContents().get(1);
		private final Keyword cAliasKeyword_0_0_1_0 = (Keyword)cGroup_0_0_1.eContents().get(0);
		private final Assignment cAliasAssignment_0_0_1_1 = (Assignment)cGroup_0_0_1.eContents().get(1);
		private final RuleCall cAliasIDTerminalRuleCall_0_0_1_1_0 = (RuleCall)cAliasAssignment_0_0_1_1.eContents().get(0);
		private final Assignment cComponentRefAssignment_0_0_2 = (Assignment)cGroup_0_0.eContents().get(2);
		private final CrossReference cComponentRefComponentDefinitionCrossReference_0_0_2_0 = (CrossReference)cComponentRefAssignment_0_0_2.eContents().get(0);
		private final RuleCall cComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1 = (RuleCall)cComponentRefComponentDefinitionCrossReference_0_0_2_0.eContents().get(1);
		private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
		private final Assignment cComponentAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
		private final RuleCall cComponentComponentDefinitionParserRuleCall_0_1_0_0 = (RuleCall)cComponentAssignment_0_1_0.eContents().get(0);
		private final Assignment cInstanceTypeAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
		private final RuleCall cInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0 = (RuleCall)cInstanceTypeAssignment_0_1_1.eContents().get(0);
		private final Assignment cComponentInstancesAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_1_0 = (RuleCall)cComponentInstancesAssignment_1.eContents().get(0);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cComponentInstancesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_2_1_0 = (RuleCall)cComponentInstancesAssignment_2_1.eContents().get(0);
		
		//Instantiation:
		//    (
		//        instanceType=EnumInstanceType? ("alias" alias=ID)?
		//        componentRef=[ComponentDefinition] | component=ComponentDefinition instanceType=EnumInstanceType?
		//    ) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//(
		//    instanceType=EnumInstanceType? ("alias" alias=ID)?
		//    componentRef=[ComponentDefinition] | component=ComponentDefinition instanceType=EnumInstanceType?
		//) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
		public Group getGroup() { return cGroup; }
		
		//(
		//    instanceType=EnumInstanceType? ("alias" alias=ID)?
		//    componentRef=[ComponentDefinition] | component=ComponentDefinition instanceType=EnumInstanceType?
		//)
		public Alternatives getAlternatives_0() { return cAlternatives_0; }
		
		//instanceType=EnumInstanceType? ("alias" alias=ID)?
		//componentRef=[ComponentDefinition]
		public Group getGroup_0_0() { return cGroup_0_0; }
		
		//instanceType=EnumInstanceType?
		public Assignment getInstanceTypeAssignment_0_0_0() { return cInstanceTypeAssignment_0_0_0; }
		
		//EnumInstanceType
		public RuleCall getInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0() { return cInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0; }
		
		//("alias" alias=ID)?
		public Group getGroup_0_0_1() { return cGroup_0_0_1; }
		
		//"alias"
		public Keyword getAliasKeyword_0_0_1_0() { return cAliasKeyword_0_0_1_0; }
		
		//alias=ID
		public Assignment getAliasAssignment_0_0_1_1() { return cAliasAssignment_0_0_1_1; }
		
		//ID
		public RuleCall getAliasIDTerminalRuleCall_0_0_1_1_0() { return cAliasIDTerminalRuleCall_0_0_1_1_0; }
		
		//componentRef=[ComponentDefinition]
		public Assignment getComponentRefAssignment_0_0_2() { return cComponentRefAssignment_0_0_2; }
		
		//[ComponentDefinition]
		public CrossReference getComponentRefComponentDefinitionCrossReference_0_0_2_0() { return cComponentRefComponentDefinitionCrossReference_0_0_2_0; }
		
		//ID
		public RuleCall getComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1() { return cComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1; }
		
		//component=ComponentDefinition instanceType=EnumInstanceType?
		public Group getGroup_0_1() { return cGroup_0_1; }
		
		//component=ComponentDefinition
		public Assignment getComponentAssignment_0_1_0() { return cComponentAssignment_0_1_0; }
		
		//ComponentDefinition
		public RuleCall getComponentComponentDefinitionParserRuleCall_0_1_0_0() { return cComponentComponentDefinitionParserRuleCall_0_1_0_0; }
		
		//instanceType=EnumInstanceType?
		public Assignment getInstanceTypeAssignment_0_1_1() { return cInstanceTypeAssignment_0_1_1; }
		
		//EnumInstanceType
		public RuleCall getInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0() { return cInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0; }
		
		//componentInstances+=ComponentInstance
		public Assignment getComponentInstancesAssignment_1() { return cComponentInstancesAssignment_1; }
		
		//ComponentInstance
		public RuleCall getComponentInstancesComponentInstanceParserRuleCall_1_0() { return cComponentInstancesComponentInstanceParserRuleCall_1_0; }
		
		//(',' componentInstances+=ComponentInstance)*
		public Group getGroup_2() { return cGroup_2; }
		
		//','
		public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
		
		//componentInstances+=ComponentInstance
		public Assignment getComponentInstancesAssignment_2_1() { return cComponentInstancesAssignment_2_1; }
		
		//ComponentInstance
		public RuleCall getComponentInstancesComponentInstanceParserRuleCall_2_1_0() { return cComponentInstancesComponentInstanceParserRuleCall_2_1_0; }
	}
	public class ComponentInstanceElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ComponentInstance");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
		private final Assignment cRangeAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cRangeRangeParserRuleCall_1_0 = (RuleCall)cRangeAssignment_1.eContents().get(0);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cEqualsSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cResetAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cResetNUMTerminalRuleCall_2_1_0 = (RuleCall)cResetAssignment_2_1.eContents().get(0);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cCommercialAtKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cAddressAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cAddressNUMTerminalRuleCall_3_1_0 = (RuleCall)cAddressAssignment_3_1.eContents().get(0);
		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
		private final Keyword cPlusSignEqualsSignKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cAddrIncAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final RuleCall cAddrIncNUMTerminalRuleCall_4_1_0 = (RuleCall)cAddrIncAssignment_4_1.eContents().get(0);
		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
		private final Keyword cPercentSignEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
		private final Assignment cAddrModAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
		private final RuleCall cAddrModNUMTerminalRuleCall_5_1_0 = (RuleCall)cAddrModAssignment_5_1.eContents().get(0);
		
		//ComponentInstance:
		//    name=ID (range=Range)?
		//    //reset
		//    ('='  reset=NUM)?
		//    //address
		//    ('@'  address=NUM)?
		//    //addr inc
		//    ('+=' addrInc=NUM)?
		//    //addr mod
		//    ('%=' addrMod=NUM)?
		//     ;
		@Override public ParserRule getRule() { return rule; }
		
		//name=ID (range=Range)?
		////reset
		//('='  reset=NUM)?
		////address
		//('@'  address=NUM)?
		////addr inc
		//('+=' addrInc=NUM)?
		////addr mod
		//('%=' addrMod=NUM)?
		public Group getGroup() { return cGroup; }
		
		//name=ID
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
		
		//ID
		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
		
		//(range=Range)?
		public Assignment getRangeAssignment_1() { return cRangeAssignment_1; }
		
		//Range
		public RuleCall getRangeRangeParserRuleCall_1_0() { return cRangeRangeParserRuleCall_1_0; }
		
		////reset
		//('='  reset=NUM)?
		public Group getGroup_2() { return cGroup_2; }
		
		//'='
		public Keyword getEqualsSignKeyword_2_0() { return cEqualsSignKeyword_2_0; }
		
		//reset=NUM
		public Assignment getResetAssignment_2_1() { return cResetAssignment_2_1; }
		
		//NUM
		public RuleCall getResetNUMTerminalRuleCall_2_1_0() { return cResetNUMTerminalRuleCall_2_1_0; }
		
		////address
		//('@'  address=NUM)?
		public Group getGroup_3() { return cGroup_3; }
		
		//'@'
		public Keyword getCommercialAtKeyword_3_0() { return cCommercialAtKeyword_3_0; }
		
		//address=NUM
		public Assignment getAddressAssignment_3_1() { return cAddressAssignment_3_1; }
		
		//NUM
		public RuleCall getAddressNUMTerminalRuleCall_3_1_0() { return cAddressNUMTerminalRuleCall_3_1_0; }
		
		////addr inc
		//('+=' addrInc=NUM)?
		public Group getGroup_4() { return cGroup_4; }
		
		//'+='
		public Keyword getPlusSignEqualsSignKeyword_4_0() { return cPlusSignEqualsSignKeyword_4_0; }
		
		//addrInc=NUM
		public Assignment getAddrIncAssignment_4_1() { return cAddrIncAssignment_4_1; }
		
		//NUM
		public RuleCall getAddrIncNUMTerminalRuleCall_4_1_0() { return cAddrIncNUMTerminalRuleCall_4_1_0; }
		
		////addr mod
		//('%=' addrMod=NUM)?
		public Group getGroup_5() { return cGroup_5; }
		
		//'%='
		public Keyword getPercentSignEqualsSignKeyword_5_0() { return cPercentSignEqualsSignKeyword_5_0; }
		
		//addrMod=NUM
		public Assignment getAddrModAssignment_5_1() { return cAddrModAssignment_5_1; }
		
		//NUM
		public RuleCall getAddrModNUMTerminalRuleCall_5_1_0() { return cAddrModNUMTerminalRuleCall_5_1_0; }
	}
	public class RangeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Range");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
		private final Assignment cLeftAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
		private final RuleCall cLeftNUMTerminalRuleCall_1_0_0_0 = (RuleCall)cLeftAssignment_1_0_0.eContents().get(0);
		private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
		private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
		private final RuleCall cRightNUMTerminalRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
		private final Assignment cSizeAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
		private final RuleCall cSizeNUMTerminalRuleCall_1_1_0 = (RuleCall)cSizeAssignment_1_1.eContents().get(0);
		private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
		
		//Range:
		//    '[' (left=NUM ':' right=NUM | size=NUM) ']'
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//'[' (left=NUM ':' right=NUM | size=NUM) ']'
		public Group getGroup() { return cGroup; }
		
		//'['
		public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
		
		//(left=NUM ':' right=NUM | size=NUM)
		public Alternatives getAlternatives_1() { return cAlternatives_1; }
		
		//left=NUM ':' right=NUM
		public Group getGroup_1_0() { return cGroup_1_0; }
		
		//left=NUM
		public Assignment getLeftAssignment_1_0_0() { return cLeftAssignment_1_0_0; }
		
		//NUM
		public RuleCall getLeftNUMTerminalRuleCall_1_0_0_0() { return cLeftNUMTerminalRuleCall_1_0_0_0; }
		
		//':'
		public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; }
		
		//right=NUM
		public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
		
		//NUM
		public RuleCall getRightNUMTerminalRuleCall_1_0_2_0() { return cRightNUMTerminalRuleCall_1_0_2_0; }
		
		//size=NUM
		public Assignment getSizeAssignment_1_1() { return cSizeAssignment_1_1; }
		
		//NUM
		public RuleCall getSizeNUMTerminalRuleCall_1_1_0() { return cSizeNUMTerminalRuleCall_1_1_0; }
		
		//']'
		public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
	}
	public class PropertyAssignmentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyAssignment");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cDefaultProperyAssignmentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cExplicitPropertyAssignmentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cPostPropertyAssignmentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		
		//PropertyAssignment:
		//    DefaultProperyAssignment | ExplicitPropertyAssignment | PostPropertyAssignment
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//DefaultProperyAssignment | ExplicitPropertyAssignment | PostPropertyAssignment
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//DefaultProperyAssignment
		public RuleCall getDefaultProperyAssignmentParserRuleCall_0() { return cDefaultProperyAssignmentParserRuleCall_0; }
		
		//ExplicitPropertyAssignment
		public RuleCall getExplicitPropertyAssignmentParserRuleCall_1() { return cExplicitPropertyAssignmentParserRuleCall_1; }
		
		//PostPropertyAssignment
		public RuleCall getPostPropertyAssignmentParserRuleCall_2() { return cPostPropertyAssignmentParserRuleCall_2; }
	}
	public class DefaultProperyAssignmentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.DefaultProperyAssignment");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final RuleCall cExplicitPropertyAssignmentParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
		
		//DefaultProperyAssignment:
		//    "default" ExplicitPropertyAssignment
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//"default" ExplicitPropertyAssignment
		public Group getGroup() { return cGroup; }
		
		//"default"
		public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
		
		//ExplicitPropertyAssignment
		public RuleCall getExplicitPropertyAssignmentParserRuleCall_1() { return cExplicitPropertyAssignmentParserRuleCall_1; }
	}
	public class ExplicitPropertyAssignmentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ExplicitPropertyAssignment");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
		private final Assignment cModifierAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
		private final RuleCall cModifierPropertyModifierEnumRuleCall_0_0_0 = (RuleCall)cModifierAssignment_0_0.eContents().get(0);
		private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
		private final RuleCall cNamePropertyEnumRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
		private final Assignment cNameAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
		private final RuleCall cNamePropertyEnumRuleCall_1_0_0 = (RuleCall)cNameAssignment_1_0.eContents().get(0);
		private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
		private final Keyword cEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
		private final Assignment cRhsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
		private final RuleCall cRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0 = (RuleCall)cRhsAssignment_1_1_1.eContents().get(0);
		
		//ExplicitPropertyAssignment :
		//    modifier=PropertyModifier name=Property |
		//    name=Property ('=' rhs=PropertyAssignmentRhs)?
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//modifier=PropertyModifier name=Property |
		//name=Property ('=' rhs=PropertyAssignmentRhs)?
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//modifier=PropertyModifier name=Property
		public Group getGroup_0() { return cGroup_0; }
		
		//modifier=PropertyModifier
		public Assignment getModifierAssignment_0_0() { return cModifierAssignment_0_0; }
		
		//PropertyModifier
		public RuleCall getModifierPropertyModifierEnumRuleCall_0_0_0() { return cModifierPropertyModifierEnumRuleCall_0_0_0; }
		
		//name=Property
		public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
		
		//Property
		public RuleCall getNamePropertyEnumRuleCall_0_1_0() { return cNamePropertyEnumRuleCall_0_1_0; }
		
		//name=Property ('=' rhs=PropertyAssignmentRhs)?
		public Group getGroup_1() { return cGroup_1; }
		
		//name=Property
		public Assignment getNameAssignment_1_0() { return cNameAssignment_1_0; }
		
		//Property
		public RuleCall getNamePropertyEnumRuleCall_1_0_0() { return cNamePropertyEnumRuleCall_1_0_0; }
		
		//('=' rhs=PropertyAssignmentRhs)?
		public Group getGroup_1_1() { return cGroup_1_1; }
		
		//'='
		public Keyword getEqualsSignKeyword_1_1_0() { return cEqualsSignKeyword_1_1_0; }
		
		//rhs=PropertyAssignmentRhs
		public Assignment getRhsAssignment_1_1_1() { return cRhsAssignment_1_1_1; }
		
		//PropertyAssignmentRhs
		public RuleCall getRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0() { return cRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0; }
	}
	public class PostPropertyAssignmentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PostPropertyAssignment");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
		private final Assignment cInstanceAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
		private final RuleCall cInstanceHierInstanceRefParserRuleCall_0_0_0_0 = (RuleCall)cInstanceAssignment_0_0_0.eContents().get(0);
		private final Keyword cHyphenMinusGreaterThanSignKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
		private final Alternatives cAlternatives_0_0_2 = (Alternatives)cGroup_0_0.eContents().get(2);
		private final Assignment cPropertyEnumAssignment_0_0_2_0 = (Assignment)cAlternatives_0_0_2.eContents().get(0);
		private final RuleCall cPropertyEnumPropertyEnumRuleCall_0_0_2_0_0 = (RuleCall)cPropertyEnumAssignment_0_0_2_0.eContents().get(0);
		private final Assignment cPropertyAssignment_0_0_2_1 = (Assignment)cAlternatives_0_0_2.eContents().get(1);
		private final CrossReference cPropertyPropertyDefinitionCrossReference_0_0_2_1_0 = (CrossReference)cPropertyAssignment_0_0_2_1.eContents().get(0);
		private final RuleCall cPropertyPropertyDefinitionIDTerminalRuleCall_0_0_2_1_0_1 = (RuleCall)cPropertyPropertyDefinitionCrossReference_0_0_2_1_0.eContents().get(1);
		private final Assignment cPropertyAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1);
		private final CrossReference cPropertyPropertyDefinitionCrossReference_0_1_0 = (CrossReference)cPropertyAssignment_0_1.eContents().get(0);
		private final RuleCall cPropertyPropertyDefinitionIDTerminalRuleCall_0_1_0_1 = (RuleCall)cPropertyPropertyDefinitionCrossReference_0_1_0.eContents().get(1);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cEqualsSignKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cRhsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cRhsPropertyAssignmentRhsParserRuleCall_1_1_0 = (RuleCall)cRhsAssignment_1_1.eContents().get(0);
		
		//PostPropertyAssignment:
		//    (instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
		//    property=[PropertyDefinition] ) ('=' rhs=PropertyAssignmentRhs)?
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//(instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
		//property=[PropertyDefinition] ) ('=' rhs=PropertyAssignmentRhs)?
		public Group getGroup() { return cGroup; }
		
		//(instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
		//property=[PropertyDefinition] )
		public Alternatives getAlternatives_0() { return cAlternatives_0; }
		
		//instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition])
		public Group getGroup_0_0() { return cGroup_0_0; }
		
		//instance=HierInstanceRef
		public Assignment getInstanceAssignment_0_0_0() { return cInstanceAssignment_0_0_0; }
		
		//HierInstanceRef
		public RuleCall getInstanceHierInstanceRefParserRuleCall_0_0_0_0() { return cInstanceHierInstanceRefParserRuleCall_0_0_0_0; }
		
		//'->'
		public Keyword getHyphenMinusGreaterThanSignKeyword_0_0_1() { return cHyphenMinusGreaterThanSignKeyword_0_0_1; }
		
		//(propertyEnum=Property | property=[PropertyDefinition])
		public Alternatives getAlternatives_0_0_2() { return cAlternatives_0_0_2; }
		
		//propertyEnum=Property
		public Assignment getPropertyEnumAssignment_0_0_2_0() { return cPropertyEnumAssignment_0_0_2_0; }
		
		//Property
		public RuleCall getPropertyEnumPropertyEnumRuleCall_0_0_2_0_0() { return cPropertyEnumPropertyEnumRuleCall_0_0_2_0_0; }
		
		//property=[PropertyDefinition]
		public Assignment getPropertyAssignment_0_0_2_1() { return cPropertyAssignment_0_0_2_1; }
		
		//[PropertyDefinition]
		public CrossReference getPropertyPropertyDefinitionCrossReference_0_0_2_1_0() { return cPropertyPropertyDefinitionCrossReference_0_0_2_1_0; }
		
		//ID
		public RuleCall getPropertyPropertyDefinitionIDTerminalRuleCall_0_0_2_1_0_1() { return cPropertyPropertyDefinitionIDTerminalRuleCall_0_0_2_1_0_1; }
		
		//property=[PropertyDefinition]
		public Assignment getPropertyAssignment_0_1() { return cPropertyAssignment_0_1; }
		
		//[PropertyDefinition]
		public CrossReference getPropertyPropertyDefinitionCrossReference_0_1_0() { return cPropertyPropertyDefinitionCrossReference_0_1_0; }
		
		//ID
		public RuleCall getPropertyPropertyDefinitionIDTerminalRuleCall_0_1_0_1() { return cPropertyPropertyDefinitionIDTerminalRuleCall_0_1_0_1; }
		
		//('=' rhs=PropertyAssignmentRhs)?
		public Group getGroup_1() { return cGroup_1; }
		
		//'='
		public Keyword getEqualsSignKeyword_1_0() { return cEqualsSignKeyword_1_0; }
		
		//rhs=PropertyAssignmentRhs
		public Assignment getRhsAssignment_1_1() { return cRhsAssignment_1_1; }
		
		//PropertyAssignmentRhs
		public RuleCall getRhsPropertyAssignmentRhsParserRuleCall_1_1_0() { return cRhsPropertyAssignmentRhsParserRuleCall_1_1_0; }
	}
	public class InstancePropertyRefElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.InstancePropertyRef");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cInstanceAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final RuleCall cInstanceInstanceRefParserRuleCall_0_0 = (RuleCall)cInstanceAssignment_0.eContents().get(0);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cHyphenMinusGreaterThanSignKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Alternatives cAlternatives_1_1 = (Alternatives)cGroup_1.eContents().get(1);
		private final Assignment cPropertyEnumAssignment_1_1_0 = (Assignment)cAlternatives_1_1.eContents().get(0);
		private final RuleCall cPropertyEnumPropertyEnumRuleCall_1_1_0_0 = (RuleCall)cPropertyEnumAssignment_1_1_0.eContents().get(0);
		private final Assignment cPropertyAssignment_1_1_1 = (Assignment)cAlternatives_1_1.eContents().get(1);
		private final CrossReference cPropertyPropertyDefinitionCrossReference_1_1_1_0 = (CrossReference)cPropertyAssignment_1_1_1.eContents().get(0);
		private final RuleCall cPropertyPropertyDefinitionIDTerminalRuleCall_1_1_1_0_1 = (RuleCall)cPropertyPropertyDefinitionCrossReference_1_1_1_0.eContents().get(1);
		
		//InstancePropertyRef:
		//    instance=InstanceRef ('->' (propertyEnum=Property | property=[PropertyDefinition]))?
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//instance=InstanceRef ('->' (propertyEnum=Property | property=[PropertyDefinition]))?
		public Group getGroup() { return cGroup; }
		
		//instance=InstanceRef
		public Assignment getInstanceAssignment_0() { return cInstanceAssignment_0; }
		
		//InstanceRef
		public RuleCall getInstanceInstanceRefParserRuleCall_0_0() { return cInstanceInstanceRefParserRuleCall_0_0; }
		
		//('->' (propertyEnum=Property | property=[PropertyDefinition]))?
		public Group getGroup_1() { return cGroup_1; }
		
		//'->'
		public Keyword getHyphenMinusGreaterThanSignKeyword_1_0() { return cHyphenMinusGreaterThanSignKeyword_1_0; }
		
		//(propertyEnum=Property | property=[PropertyDefinition])
		public Alternatives getAlternatives_1_1() { return cAlternatives_1_1; }
		
		//propertyEnum=Property
		public Assignment getPropertyEnumAssignment_1_1_0() { return cPropertyEnumAssignment_1_1_0; }
		
		//Property
		public RuleCall getPropertyEnumPropertyEnumRuleCall_1_1_0_0() { return cPropertyEnumPropertyEnumRuleCall_1_1_0_0; }
		
		//property=[PropertyDefinition]
		public Assignment getPropertyAssignment_1_1_1() { return cPropertyAssignment_1_1_1; }
		
		//[PropertyDefinition]
		public CrossReference getPropertyPropertyDefinitionCrossReference_1_1_1_0() { return cPropertyPropertyDefinitionCrossReference_1_1_1_0; }
		
		//ID
		public RuleCall getPropertyPropertyDefinitionIDTerminalRuleCall_1_1_1_0_1() { return cPropertyPropertyDefinitionIDTerminalRuleCall_1_1_1_0_1; }
	}
	public class EntityElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Entity");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cComponentInstanceParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cEnumDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cPropertyDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		
		//// unused rule to infer inheritance
		//Entity:
		//    ComponentInstance|EnumDefinition|PropertyDefinition
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//ComponentInstance|EnumDefinition|PropertyDefinition
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//ComponentInstance
		public RuleCall getComponentInstanceParserRuleCall_0() { return cComponentInstanceParserRuleCall_0; }
		
		//EnumDefinition
		public RuleCall getEnumDefinitionParserRuleCall_1() { return cEnumDefinitionParserRuleCall_1; }
		
		//PropertyDefinition
		public RuleCall getPropertyDefinitionParserRuleCall_2() { return cPropertyDefinitionParserRuleCall_2; }
	}
	public class InstanceRefElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.InstanceRef");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cInstanceAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final CrossReference cInstanceEntityCrossReference_0_0 = (CrossReference)cInstanceAssignment_0.eContents().get(0);
		private final RuleCall cInstanceEntityIDTerminalRuleCall_0_0_1 = (RuleCall)cInstanceEntityCrossReference_0_0.eContents().get(1);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cTailAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cTailHierInstanceRefParserRuleCall_1_1_0 = (RuleCall)cTailAssignment_1_1.eContents().get(0);
		
		//InstanceRef:
		//    instance=[Entity] ( "." tail=HierInstanceRef)?
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//instance=[Entity] ( "." tail=HierInstanceRef)?
		public Group getGroup() { return cGroup; }
		
		//instance=[Entity]
		public Assignment getInstanceAssignment_0() { return cInstanceAssignment_0; }
		
		//[Entity]
		public CrossReference getInstanceEntityCrossReference_0_0() { return cInstanceEntityCrossReference_0_0; }
		
		//ID
		public RuleCall getInstanceEntityIDTerminalRuleCall_0_0_1() { return cInstanceEntityIDTerminalRuleCall_0_0_1; }
		
		//( "." tail=HierInstanceRef)?
		public Group getGroup_1() { return cGroup_1; }
		
		//"."
		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
		
		//tail=HierInstanceRef
		public Assignment getTailAssignment_1_1() { return cTailAssignment_1_1; }
		
		//HierInstanceRef
		public RuleCall getTailHierInstanceRefParserRuleCall_1_1_0() { return cTailHierInstanceRefParserRuleCall_1_1_0; }
	}
	public class HierInstanceRefElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.HierInstanceRef");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cInstanceAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final CrossReference cInstanceComponentInstanceCrossReference_0_0 = (CrossReference)cInstanceAssignment_0.eContents().get(0);
		private final RuleCall cInstanceComponentInstanceIDTerminalRuleCall_0_0_1 = (RuleCall)cInstanceComponentInstanceCrossReference_0_0.eContents().get(1);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cTailAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cTailHierInstanceRefParserRuleCall_1_1_0 = (RuleCall)cTailAssignment_1_1.eContents().get(0);
		
		//HierInstanceRef returns InstanceRef:
		//    instance=[ComponentInstance] ( "." tail=HierInstanceRef)?
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//instance=[ComponentInstance] ( "." tail=HierInstanceRef)?
		public Group getGroup() { return cGroup; }
		
		//instance=[ComponentInstance]
		public Assignment getInstanceAssignment_0() { return cInstanceAssignment_0; }
		
		//[ComponentInstance]
		public CrossReference getInstanceComponentInstanceCrossReference_0_0() { return cInstanceComponentInstanceCrossReference_0_0; }
		
		//ID
		public RuleCall getInstanceComponentInstanceIDTerminalRuleCall_0_0_1() { return cInstanceComponentInstanceIDTerminalRuleCall_0_0_1; }
		
		//( "." tail=HierInstanceRef)?
		public Group getGroup_1() { return cGroup_1; }
		
		//"."
		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
		
		//tail=HierInstanceRef
		public Assignment getTailAssignment_1_1() { return cTailAssignment_1_1; }
		
		//HierInstanceRef
		public RuleCall getTailHierInstanceRefParserRuleCall_1_1_0() { return cTailHierInstanceRefParserRuleCall_1_1_0; }
	}
	public class PropertyAssignmentRhsElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyAssignmentRhs");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Assignment cValueAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
		private final RuleCall cValuePropertyRvalueConstantParserRuleCall_0_0 = (RuleCall)cValueAssignment_0.eContents().get(0);
		private final Assignment cInstPropRefAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
		private final RuleCall cInstPropRefInstancePropertyRefParserRuleCall_1_0 = (RuleCall)cInstPropRefAssignment_1.eContents().get(0);
		private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
		private final Assignment cEnumRefAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
		private final CrossReference cEnumRefEnumDefinitionCrossReference_2_0_0 = (CrossReference)cEnumRefAssignment_2_0.eContents().get(0);
		private final RuleCall cEnumRefEnumDefinitionIDTerminalRuleCall_2_0_0_1 = (RuleCall)cEnumRefEnumDefinitionCrossReference_2_0_0.eContents().get(1);
		private final Keyword cEnumKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
		private final Assignment cEnumsAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
		private final RuleCall cEnumsEnumBodyParserRuleCall_2_2_0 = (RuleCall)cEnumsAssignment_2_2.eContents().get(0);
		private final Assignment cElementsAssignment_3 = (Assignment)cAlternatives.eContents().get(3);
		private final RuleCall cElementsConcatParserRuleCall_3_0 = (RuleCall)cElementsAssignment_3.eContents().get(0);
		
		//PropertyAssignmentRhs:
		//    value=PropertyRvalueConstant |
		//    instPropRef=InstancePropertyRef |
		//    enumRef= [EnumDefinition]
		//    "enum" enums=EnumBody |
		//    elements=Concat
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//value=PropertyRvalueConstant |
		//instPropRef=InstancePropertyRef |
		//enumRef= [EnumDefinition]
		//"enum" enums=EnumBody |
		//elements=Concat
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//value=PropertyRvalueConstant
		public Assignment getValueAssignment_0() { return cValueAssignment_0; }
		
		//PropertyRvalueConstant
		public RuleCall getValuePropertyRvalueConstantParserRuleCall_0_0() { return cValuePropertyRvalueConstantParserRuleCall_0_0; }
		
		//instPropRef=InstancePropertyRef
		public Assignment getInstPropRefAssignment_1() { return cInstPropRefAssignment_1; }
		
		//InstancePropertyRef
		public RuleCall getInstPropRefInstancePropertyRefParserRuleCall_1_0() { return cInstPropRefInstancePropertyRefParserRuleCall_1_0; }
		
		//enumRef= [EnumDefinition]
		//"enum" enums=EnumBody
		public Group getGroup_2() { return cGroup_2; }
		
		//enumRef= [EnumDefinition]
		public Assignment getEnumRefAssignment_2_0() { return cEnumRefAssignment_2_0; }
		
		//[EnumDefinition]
		public CrossReference getEnumRefEnumDefinitionCrossReference_2_0_0() { return cEnumRefEnumDefinitionCrossReference_2_0_0; }
		
		//ID
		public RuleCall getEnumRefEnumDefinitionIDTerminalRuleCall_2_0_0_1() { return cEnumRefEnumDefinitionIDTerminalRuleCall_2_0_0_1; }
		
		//"enum"
		public Keyword getEnumKeyword_2_1() { return cEnumKeyword_2_1; }
		
		//enums=EnumBody
		public Assignment getEnumsAssignment_2_2() { return cEnumsAssignment_2_2; }
		
		//EnumBody
		public RuleCall getEnumsEnumBodyParserRuleCall_2_2_0() { return cEnumsEnumBodyParserRuleCall_2_2_0; }
		
		//elements=Concat
		public Assignment getElementsAssignment_3() { return cElementsAssignment_3; }
		
		//Concat
		public RuleCall getElementsConcatParserRuleCall_3_0() { return cElementsConcatParserRuleCall_3_0; }
	}
	public class ConcatElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Concat");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cElementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cElementsConcatElemParserRuleCall_1_0 = (RuleCall)cElementsAssignment_1.eContents().get(0);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cElementsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cElementsConcatElemParserRuleCall_2_1_0 = (RuleCall)cElementsAssignment_2_1.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
		
		//Concat:
		//    '{' elements+=ConcatElem (',' elements+=ConcatElem)* '}'
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//'{' elements+=ConcatElem (',' elements+=ConcatElem)* '}'
		public Group getGroup() { return cGroup; }
		
		//'{'
		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
		
		//elements+=ConcatElem
		public Assignment getElementsAssignment_1() { return cElementsAssignment_1; }
		
		//ConcatElem
		public RuleCall getElementsConcatElemParserRuleCall_1_0() { return cElementsConcatElemParserRuleCall_1_0; }
		
		//(',' elements+=ConcatElem)*
		public Group getGroup_2() { return cGroup_2; }
		
		//','
		public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
		
		//elements+=ConcatElem
		public Assignment getElementsAssignment_2_1() { return cElementsAssignment_2_1; }
		
		//ConcatElem
		public RuleCall getElementsConcatElemParserRuleCall_2_1_0() { return cElementsConcatElemParserRuleCall_2_1_0; }
		
		//'}'
		public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
	}
	public class ConcatElemElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ConcatElem");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Assignment cInstPropRefAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
		private final RuleCall cInstPropRefInstancePropertyRefParserRuleCall_0_0 = (RuleCall)cInstPropRefAssignment_0.eContents().get(0);
		private final Assignment cValueAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
		private final RuleCall cValueNUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
		
		//ConcatElem:
		//    instPropRef=InstancePropertyRef | value=NUM
		//    ;
		@Override public ParserRule getRule() { return rule; }
		
		//instPropRef=InstancePropertyRef | value=NUM
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//instPropRef=InstancePropertyRef
		public Assignment getInstPropRefAssignment_0() { return cInstPropRefAssignment_0; }
		
		//InstancePropertyRef
		public RuleCall getInstPropRefInstancePropertyRefParserRuleCall_0_0() { return cInstPropRefInstancePropertyRefParserRuleCall_0_0; }
		
		//value=NUM
		public Assignment getValueAssignment_1() { return cValueAssignment_1; }
		
		//NUM
		public RuleCall getValueNUMTerminalRuleCall_1_0() { return cValueNUMTerminalRuleCall_1_0; }
	}
	public class PropertyRvalueConstantElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyRvalueConstant");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Assignment cValAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
		private final RuleCall cValRValueConstantEnumRuleCall_0_0 = (RuleCall)cValAssignment_0.eContents().get(0);
		private final Assignment cNumAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
		private final RuleCall cNumNUMTerminalRuleCall_1_0 = (RuleCall)cNumAssignment_1.eContents().get(0);
		private final Assignment cStrAssignment_2 = (Assignment)cAlternatives.eContents().get(2);
		private final RuleCall cStrSTRTerminalRuleCall_2_0 = (RuleCall)cStrAssignment_2.eContents().get(0);
		
		//PropertyRvalueConstant returns RValue:
		//    val=RValueConstant | num=NUM | str=STR
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//val=RValueConstant | num=NUM | str=STR
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//val=RValueConstant
		public Assignment getValAssignment_0() { return cValAssignment_0; }
		
		//RValueConstant
		public RuleCall getValRValueConstantEnumRuleCall_0_0() { return cValRValueConstantEnumRuleCall_0_0; }
		
		//num=NUM
		public Assignment getNumAssignment_1() { return cNumAssignment_1; }
		
		//NUM
		public RuleCall getNumNUMTerminalRuleCall_1_0() { return cNumNUMTerminalRuleCall_1_0; }
		
		//str=STR
		public Assignment getStrAssignment_2() { return cStrAssignment_2; }
		
		//STR
		public RuleCall getStrSTRTerminalRuleCall_2_0() { return cStrSTRTerminalRuleCall_2_0; }
	}
	public class EnumDefinitionElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumDefinition");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final RuleCall cBodyEnumBodyParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
		
		//EnumDefinition:
		//    "enum" name=ID body=EnumBody
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//"enum" name=ID body=EnumBody
		public Group getGroup() { return cGroup; }
		
		//"enum"
		public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
		
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		
		//ID
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		
		//body=EnumBody
		public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
		
		//EnumBody
		public RuleCall getBodyEnumBodyParserRuleCall_2_0() { return cBodyEnumBodyParserRuleCall_2_0; }
	}
	public class EnumBodyElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumBody");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Action cEnumBodyAction_1 = (Action)cGroup.eContents().get(1);
		private final Assignment cEntriesAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final RuleCall cEntriesEnumEntryParserRuleCall_2_0 = (RuleCall)cEntriesAssignment_2.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
		
		//EnumBody:
		//    '{' {EnumBody} entries+=EnumEntry* '}'
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//'{' {EnumBody} entries+=EnumEntry* '}'
		public Group getGroup() { return cGroup; }
		
		//'{'
		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
		
		//{EnumBody}
		public Action getEnumBodyAction_1() { return cEnumBodyAction_1; }
		
		//entries+=EnumEntry*
		public Assignment getEntriesAssignment_2() { return cEntriesAssignment_2; }
		
		//EnumEntry
		public RuleCall getEntriesEnumEntryParserRuleCall_2_0() { return cEntriesEnumEntryParserRuleCall_2_0; }
		
		//'}'
		public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
	}
	public class EnumEntryElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumEntry");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Assignment cIndexAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final RuleCall cIndexNUMTerminalRuleCall_2_0 = (RuleCall)cIndexAssignment_2.eContents().get(0);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cPropertiesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cPropertiesEnumPropertyParserRuleCall_3_1_0 = (RuleCall)cPropertiesAssignment_3_1.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
		private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
		
		//EnumEntry:
		//    name=ID '=' index=NUM ('{' properties+=EnumProperty* '}')? ';'
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//name=ID '=' index=NUM ('{' properties+=EnumProperty* '}')? ';'
		public Group getGroup() { return cGroup; }
		
		//name=ID
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
		
		//ID
		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
		
		//index=NUM
		public Assignment getIndexAssignment_2() { return cIndexAssignment_2; }
		
		//NUM
		public RuleCall getIndexNUMTerminalRuleCall_2_0() { return cIndexNUMTerminalRuleCall_2_0; }
		
		//('{' properties+=EnumProperty* '}')?
		public Group getGroup_3() { return cGroup_3; }
		
		//'{'
		public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
		
		//properties+=EnumProperty*
		public Assignment getPropertiesAssignment_3_1() { return cPropertiesAssignment_3_1; }
		
		//EnumProperty
		public RuleCall getPropertiesEnumPropertyParserRuleCall_3_1_0() { return cPropertiesEnumPropertyParserRuleCall_3_1_0; }
		
		//'}'
		public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; }
		
		//';'
		public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
	}
	public class EnumPropertyElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumProperty");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
		private final Assignment cNameAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
		private final Keyword cNameNameKeyword_0_0_0_0 = (Keyword)cNameAssignment_0_0_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
		private final Assignment cValueAssignment_0_0_2 = (Assignment)cGroup_0_0.eContents().get(2);
		private final RuleCall cValueSTRTerminalRuleCall_0_0_2_0 = (RuleCall)cValueAssignment_0_0_2.eContents().get(0);
		private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
		private final Assignment cNameAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
		private final Keyword cNameDescKeyword_0_1_0_0 = (Keyword)cNameAssignment_0_1_0.eContents().get(0);
		private final Keyword cEqualsSignKeyword_0_1_1 = (Keyword)cGroup_0_1.eContents().get(1);
		private final Assignment cValueAssignment_0_1_2 = (Assignment)cGroup_0_1.eContents().get(2);
		private final RuleCall cValueSTRTerminalRuleCall_0_1_2_0 = (RuleCall)cValueAssignment_0_1_2.eContents().get(0);
		private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
		
		//EnumProperty:
		//    ( name='name' '=' value=STR | name='desc' '=' value=STR ) ';'
		//      ;
		@Override public ParserRule getRule() { return rule; }
		
		//( name='name' '=' value=STR | name='desc' '=' value=STR ) ';'
		public Group getGroup() { return cGroup; }
		
		//( name='name' '=' value=STR | name='desc' '=' value=STR )
		public Alternatives getAlternatives_0() { return cAlternatives_0; }
		
		//name='name' '=' value=STR
		public Group getGroup_0_0() { return cGroup_0_0; }
		
		//name='name'
		public Assignment getNameAssignment_0_0_0() { return cNameAssignment_0_0_0; }
		
		//'name'
		public Keyword getNameNameKeyword_0_0_0_0() { return cNameNameKeyword_0_0_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_0_0_1() { return cEqualsSignKeyword_0_0_1; }
		
		//value=STR
		public Assignment getValueAssignment_0_0_2() { return cValueAssignment_0_0_2; }
		
		//STR
		public RuleCall getValueSTRTerminalRuleCall_0_0_2_0() { return cValueSTRTerminalRuleCall_0_0_2_0; }
		
		//name='desc' '=' value=STR
		public Group getGroup_0_1() { return cGroup_0_1; }
		
		//name='desc'
		public Assignment getNameAssignment_0_1_0() { return cNameAssignment_0_1_0; }
		
		//'desc'
		public Keyword getNameDescKeyword_0_1_0_0() { return cNameDescKeyword_0_1_0_0; }
		
		//'='
		public Keyword getEqualsSignKeyword_0_1_1() { return cEqualsSignKeyword_0_1_1; }
		
		//value=STR
		public Assignment getValueAssignment_0_1_2() { return cValueAssignment_0_1_2; }
		
		//STR
		public RuleCall getValueSTRTerminalRuleCall_0_1_2_0() { return cValueSTRTerminalRuleCall_0_1_2_0; }
		
		//';'
		public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
	}
	public class EnumInstanceTypeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumInstanceType");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Assignment cEXTERNALAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
		private final Keyword cEXTERNALExternalKeyword_0_0 = (Keyword)cEXTERNALAssignment_0.eContents().get(0);
		private final Assignment cINTERNALAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
		private final Keyword cINTERNALInternalKeyword_1_0 = (Keyword)cINTERNALAssignment_1.eContents().get(0);
		
		//EnumInstanceType:
		//    EXTERNAL="external" | INTERNAL="internal"
		//;
		@Override public ParserRule getRule() { return rule; }
		
		//EXTERNAL="external" | INTERNAL="internal"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//EXTERNAL="external"
		public Assignment getEXTERNALAssignment_0() { return cEXTERNALAssignment_0; }
		
		//"external"
		public Keyword getEXTERNALExternalKeyword_0_0() { return cEXTERNALExternalKeyword_0_0; }
		
		//INTERNAL="internal"
		public Assignment getINTERNALAssignment_1() { return cINTERNALAssignment_1; }
		
		//"internal"
		public Keyword getINTERNALInternalKeyword_1_0() { return cINTERNALInternalKeyword_1_0; }
	}
	
	public class PropertyTypeNameElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyTypeName");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cSTRINGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cSTRINGStringKeyword_0_0 = (Keyword)cSTRINGEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cNUMBEREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cNUMBERNumberKeyword_1_0 = (Keyword)cNUMBEREnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cBOOLEANEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cBOOLEANBooleanKeyword_2_0 = (Keyword)cBOOLEANEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cADDRMAPEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cADDRMAPAddrmapKeyword_3_0 = (Keyword)cADDRMAPEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cREGEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cREGRegKeyword_4_0 = (Keyword)cREGEnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cREGFILEEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cREGFILERegfileKeyword_5_0 = (Keyword)cREGFILEEnumLiteralDeclaration_5.eContents().get(0);
		private final EnumLiteralDeclaration cFIELDEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
		private final Keyword cFIELDFieldKeyword_6_0 = (Keyword)cFIELDEnumLiteralDeclaration_6.eContents().get(0);
		private final EnumLiteralDeclaration cREFEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
		private final Keyword cREFRefKeyword_7_0 = (Keyword)cREFEnumLiteralDeclaration_7.eContents().get(0);
		
		//enum PropertyTypeName:
		//    STRING="string" | NUMBER="number" | BOOLEAN="boolean" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | REF="ref"
		//    ;
		public EnumRule getRule() { return rule; }
		
		//STRING="string" | NUMBER="number" | BOOLEAN="boolean" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | REF="ref"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//STRING="string"
		public EnumLiteralDeclaration getSTRINGEnumLiteralDeclaration_0() { return cSTRINGEnumLiteralDeclaration_0; }
		
		//"string"
		public Keyword getSTRINGStringKeyword_0_0() { return cSTRINGStringKeyword_0_0; }
		
		//NUMBER="number"
		public EnumLiteralDeclaration getNUMBEREnumLiteralDeclaration_1() { return cNUMBEREnumLiteralDeclaration_1; }
		
		//"number"
		public Keyword getNUMBERNumberKeyword_1_0() { return cNUMBERNumberKeyword_1_0; }
		
		//BOOLEAN="boolean"
		public EnumLiteralDeclaration getBOOLEANEnumLiteralDeclaration_2() { return cBOOLEANEnumLiteralDeclaration_2; }
		
		//"boolean"
		public Keyword getBOOLEANBooleanKeyword_2_0() { return cBOOLEANBooleanKeyword_2_0; }
		
		//ADDRMAP="addrmap"
		public EnumLiteralDeclaration getADDRMAPEnumLiteralDeclaration_3() { return cADDRMAPEnumLiteralDeclaration_3; }
		
		//"addrmap"
		public Keyword getADDRMAPAddrmapKeyword_3_0() { return cADDRMAPAddrmapKeyword_3_0; }
		
		//REG="reg"
		public EnumLiteralDeclaration getREGEnumLiteralDeclaration_4() { return cREGEnumLiteralDeclaration_4; }
		
		//"reg"
		public Keyword getREGRegKeyword_4_0() { return cREGRegKeyword_4_0; }
		
		//REGFILE="regfile"
		public EnumLiteralDeclaration getREGFILEEnumLiteralDeclaration_5() { return cREGFILEEnumLiteralDeclaration_5; }
		
		//"regfile"
		public Keyword getREGFILERegfileKeyword_5_0() { return cREGFILERegfileKeyword_5_0; }
		
		//FIELD="field"
		public EnumLiteralDeclaration getFIELDEnumLiteralDeclaration_6() { return cFIELDEnumLiteralDeclaration_6; }
		
		//"field"
		public Keyword getFIELDFieldKeyword_6_0() { return cFIELDFieldKeyword_6_0; }
		
		//REF="ref"
		public EnumLiteralDeclaration getREFEnumLiteralDeclaration_7() { return cREFEnumLiteralDeclaration_7; }
		
		//"ref"
		public Keyword getREFRefKeyword_7_0() { return cREFRefKeyword_7_0; }
	}
	public class PropertyComponentElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyComponent");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cSIGNALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cSIGNALSignalKeyword_0_0 = (Keyword)cSIGNALEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cADDRMAPEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cADDRMAPAddrmapKeyword_1_0 = (Keyword)cADDRMAPEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cREGEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cREGRegKeyword_2_0 = (Keyword)cREGEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cREGFILEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cREGFILERegfileKeyword_3_0 = (Keyword)cREGFILEEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cFIELDEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cFIELDFieldKeyword_4_0 = (Keyword)cFIELDEnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cALLEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cALLAllKeyword_5_0 = (Keyword)cALLEnumLiteralDeclaration_5.eContents().get(0);
		
		//enum PropertyComponent:
		//    SIGNAL="signal" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | ALL="all"
		//    ;
		public EnumRule getRule() { return rule; }
		
		//SIGNAL="signal" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | ALL="all"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//SIGNAL="signal"
		public EnumLiteralDeclaration getSIGNALEnumLiteralDeclaration_0() { return cSIGNALEnumLiteralDeclaration_0; }
		
		//"signal"
		public Keyword getSIGNALSignalKeyword_0_0() { return cSIGNALSignalKeyword_0_0; }
		
		//ADDRMAP="addrmap"
		public EnumLiteralDeclaration getADDRMAPEnumLiteralDeclaration_1() { return cADDRMAPEnumLiteralDeclaration_1; }
		
		//"addrmap"
		public Keyword getADDRMAPAddrmapKeyword_1_0() { return cADDRMAPAddrmapKeyword_1_0; }
		
		//REG="reg"
		public EnumLiteralDeclaration getREGEnumLiteralDeclaration_2() { return cREGEnumLiteralDeclaration_2; }
		
		//"reg"
		public Keyword getREGRegKeyword_2_0() { return cREGRegKeyword_2_0; }
		
		//REGFILE="regfile"
		public EnumLiteralDeclaration getREGFILEEnumLiteralDeclaration_3() { return cREGFILEEnumLiteralDeclaration_3; }
		
		//"regfile"
		public Keyword getREGFILERegfileKeyword_3_0() { return cREGFILERegfileKeyword_3_0; }
		
		//FIELD="field"
		public EnumLiteralDeclaration getFIELDEnumLiteralDeclaration_4() { return cFIELDEnumLiteralDeclaration_4; }
		
		//"field"
		public Keyword getFIELDFieldKeyword_4_0() { return cFIELDFieldKeyword_4_0; }
		
		//ALL="all"
		public EnumLiteralDeclaration getALLEnumLiteralDeclaration_5() { return cALLEnumLiteralDeclaration_5; }
		
		//"all"
		public Keyword getALLAllKeyword_5_0() { return cALLAllKeyword_5_0; }
	}
	public class ComponentDefinitionTypeElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ComponentDefinitionType");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cSIGNALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cSIGNALSignalKeyword_0_0 = (Keyword)cSIGNALEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cADDRMAPEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cADDRMAPAddrmapKeyword_1_0 = (Keyword)cADDRMAPEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cREGFILEEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cREGFILERegfileKeyword_2_0 = (Keyword)cREGFILEEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cREGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cREGRegKeyword_3_0 = (Keyword)cREGEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cFIELDEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cFIELDFieldKeyword_4_0 = (Keyword)cFIELDEnumLiteralDeclaration_4.eContents().get(0);
		
		//enum ComponentDefinitionType:
		//    SIGNAL="signal" | ADDRMAP="addrmap" | REGFILE="regfile" | REG="reg" | FIELD="field"
		//    ;
		public EnumRule getRule() { return rule; }
		
		//SIGNAL="signal" | ADDRMAP="addrmap" | REGFILE="regfile" | REG="reg" | FIELD="field"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//SIGNAL="signal"
		public EnumLiteralDeclaration getSIGNALEnumLiteralDeclaration_0() { return cSIGNALEnumLiteralDeclaration_0; }
		
		//"signal"
		public Keyword getSIGNALSignalKeyword_0_0() { return cSIGNALSignalKeyword_0_0; }
		
		//ADDRMAP="addrmap"
		public EnumLiteralDeclaration getADDRMAPEnumLiteralDeclaration_1() { return cADDRMAPEnumLiteralDeclaration_1; }
		
		//"addrmap"
		public Keyword getADDRMAPAddrmapKeyword_1_0() { return cADDRMAPAddrmapKeyword_1_0; }
		
		//REGFILE="regfile"
		public EnumLiteralDeclaration getREGFILEEnumLiteralDeclaration_2() { return cREGFILEEnumLiteralDeclaration_2; }
		
		//"regfile"
		public Keyword getREGFILERegfileKeyword_2_0() { return cREGFILERegfileKeyword_2_0; }
		
		//REG="reg"
		public EnumLiteralDeclaration getREGEnumLiteralDeclaration_3() { return cREGEnumLiteralDeclaration_3; }
		
		//"reg"
		public Keyword getREGRegKeyword_3_0() { return cREGRegKeyword_3_0; }
		
		//FIELD="field"
		public EnumLiteralDeclaration getFIELDEnumLiteralDeclaration_4() { return cFIELDEnumLiteralDeclaration_4; }
		
		//"field"
		public Keyword getFIELDFieldKeyword_4_0() { return cFIELDFieldKeyword_4_0; }
	}
	public class PropertyEnumElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyEnum");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cUNSPECIFIEDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cUNSPECIFIEDUNSPECIFIEDKeyword_0_0 = (Keyword)cUNSPECIFIEDEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cNAMEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cNAMENameKeyword_1_0 = (Keyword)cNAMEEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cDESCEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cDESCDescKeyword_2_0 = (Keyword)cDESCEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cARBITEREnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cARBITERArbiterKeyword_3_0 = (Keyword)cARBITEREnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cRSETEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cRSETRsetKeyword_4_0 = (Keyword)cRSETEnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cRCLREnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cRCLRRclrKeyword_5_0 = (Keyword)cRCLREnumLiteralDeclaration_5.eContents().get(0);
		private final EnumLiteralDeclaration cWOCLREnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
		private final Keyword cWOCLRWoclrKeyword_6_0 = (Keyword)cWOCLREnumLiteralDeclaration_6.eContents().get(0);
		private final EnumLiteralDeclaration cWOSETEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
		private final Keyword cWOSETWosetKeyword_7_0 = (Keyword)cWOSETEnumLiteralDeclaration_7.eContents().get(0);
		private final EnumLiteralDeclaration cWEEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
		private final Keyword cWEWeKeyword_8_0 = (Keyword)cWEEnumLiteralDeclaration_8.eContents().get(0);
		private final EnumLiteralDeclaration cWELEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
		private final Keyword cWELWelKeyword_9_0 = (Keyword)cWELEnumLiteralDeclaration_9.eContents().get(0);
		private final EnumLiteralDeclaration cSWWEEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
		private final Keyword cSWWESwweKeyword_10_0 = (Keyword)cSWWEEnumLiteralDeclaration_10.eContents().get(0);
		private final EnumLiteralDeclaration cSWWELEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
		private final Keyword cSWWELSwwelKeyword_11_0 = (Keyword)cSWWELEnumLiteralDeclaration_11.eContents().get(0);
		private final EnumLiteralDeclaration cHWSETEnumLiteralDeclaration_12 = (EnumLiteralDeclaration)cAlternatives.eContents().get(12);
		private final Keyword cHWSETHwsetKeyword_12_0 = (Keyword)cHWSETEnumLiteralDeclaration_12.eContents().get(0);
		private final EnumLiteralDeclaration cHWCLREnumLiteralDeclaration_13 = (EnumLiteralDeclaration)cAlternatives.eContents().get(13);
		private final Keyword cHWCLRHwclrKeyword_13_0 = (Keyword)cHWCLREnumLiteralDeclaration_13.eContents().get(0);
		private final EnumLiteralDeclaration cSWMODEnumLiteralDeclaration_14 = (EnumLiteralDeclaration)cAlternatives.eContents().get(14);
		private final Keyword cSWMODSwmodKeyword_14_0 = (Keyword)cSWMODEnumLiteralDeclaration_14.eContents().get(0);
		private final EnumLiteralDeclaration cSWACCEnumLiteralDeclaration_15 = (EnumLiteralDeclaration)cAlternatives.eContents().get(15);
		private final Keyword cSWACCSwaccKeyword_15_0 = (Keyword)cSWACCEnumLiteralDeclaration_15.eContents().get(0);
		private final EnumLiteralDeclaration cSTICKYEnumLiteralDeclaration_16 = (EnumLiteralDeclaration)cAlternatives.eContents().get(16);
		private final Keyword cSTICKYStickyKeyword_16_0 = (Keyword)cSTICKYEnumLiteralDeclaration_16.eContents().get(0);
		private final EnumLiteralDeclaration cSTICKYBITEnumLiteralDeclaration_17 = (EnumLiteralDeclaration)cAlternatives.eContents().get(17);
		private final Keyword cSTICKYBITStickybitKeyword_17_0 = (Keyword)cSTICKYBITEnumLiteralDeclaration_17.eContents().get(0);
		private final EnumLiteralDeclaration cINTREnumLiteralDeclaration_18 = (EnumLiteralDeclaration)cAlternatives.eContents().get(18);
		private final Keyword cINTRIntrKeyword_18_0 = (Keyword)cINTREnumLiteralDeclaration_18.eContents().get(0);
		private final EnumLiteralDeclaration cANDEDEnumLiteralDeclaration_19 = (EnumLiteralDeclaration)cAlternatives.eContents().get(19);
		private final Keyword cANDEDAndedKeyword_19_0 = (Keyword)cANDEDEnumLiteralDeclaration_19.eContents().get(0);
		private final EnumLiteralDeclaration cOREDEnumLiteralDeclaration_20 = (EnumLiteralDeclaration)cAlternatives.eContents().get(20);
		private final Keyword cOREDOredKeyword_20_0 = (Keyword)cOREDEnumLiteralDeclaration_20.eContents().get(0);
		private final EnumLiteralDeclaration cXOREDEnumLiteralDeclaration_21 = (EnumLiteralDeclaration)cAlternatives.eContents().get(21);
		private final Keyword cXOREDXoredKeyword_21_0 = (Keyword)cXOREDEnumLiteralDeclaration_21.eContents().get(0);
		private final EnumLiteralDeclaration cCOUNTEREnumLiteralDeclaration_22 = (EnumLiteralDeclaration)cAlternatives.eContents().get(22);
		private final Keyword cCOUNTERCounterKeyword_22_0 = (Keyword)cCOUNTEREnumLiteralDeclaration_22.eContents().get(0);
		private final EnumLiteralDeclaration cOVERFLOWEnumLiteralDeclaration_23 = (EnumLiteralDeclaration)cAlternatives.eContents().get(23);
		private final Keyword cOVERFLOWOverflowKeyword_23_0 = (Keyword)cOVERFLOWEnumLiteralDeclaration_23.eContents().get(0);
		private final EnumLiteralDeclaration cSHAREDEXTBUSEnumLiteralDeclaration_24 = (EnumLiteralDeclaration)cAlternatives.eContents().get(24);
		private final Keyword cSHAREDEXTBUSSharedextbusKeyword_24_0 = (Keyword)cSHAREDEXTBUSEnumLiteralDeclaration_24.eContents().get(0);
		private final EnumLiteralDeclaration cERREXTBUSEnumLiteralDeclaration_25 = (EnumLiteralDeclaration)cAlternatives.eContents().get(25);
		private final Keyword cERREXTBUSErrextbusKeyword_25_0 = (Keyword)cERREXTBUSEnumLiteralDeclaration_25.eContents().get(0);
		private final EnumLiteralDeclaration cRESETEnumLiteralDeclaration_26 = (EnumLiteralDeclaration)cAlternatives.eContents().get(26);
		private final Keyword cRESETResetKeyword_26_0 = (Keyword)cRESETEnumLiteralDeclaration_26.eContents().get(0);
		private final EnumLiteralDeclaration cLITTLEENDIANEnumLiteralDeclaration_27 = (EnumLiteralDeclaration)cAlternatives.eContents().get(27);
		private final Keyword cLITTLEENDIANLittleendianKeyword_27_0 = (Keyword)cLITTLEENDIANEnumLiteralDeclaration_27.eContents().get(0);
		private final EnumLiteralDeclaration cBIGENDIANEnumLiteralDeclaration_28 = (EnumLiteralDeclaration)cAlternatives.eContents().get(28);
		private final Keyword cBIGENDIANBigendianKeyword_28_0 = (Keyword)cBIGENDIANEnumLiteralDeclaration_28.eContents().get(0);
		private final EnumLiteralDeclaration cRSVDSETEnumLiteralDeclaration_29 = (EnumLiteralDeclaration)cAlternatives.eContents().get(29);
		private final Keyword cRSVDSETRsvdsetKeyword_29_0 = (Keyword)cRSVDSETEnumLiteralDeclaration_29.eContents().get(0);
		private final EnumLiteralDeclaration cRSVDSETXEnumLiteralDeclaration_30 = (EnumLiteralDeclaration)cAlternatives.eContents().get(30);
		private final Keyword cRSVDSETXRsvdsetXKeyword_30_0 = (Keyword)cRSVDSETXEnumLiteralDeclaration_30.eContents().get(0);
		private final EnumLiteralDeclaration cBRIDGEEnumLiteralDeclaration_31 = (EnumLiteralDeclaration)cAlternatives.eContents().get(31);
		private final Keyword cBRIDGEBridgeKeyword_31_0 = (Keyword)cBRIDGEEnumLiteralDeclaration_31.eContents().get(0);
		private final EnumLiteralDeclaration cSHAREDEnumLiteralDeclaration_32 = (EnumLiteralDeclaration)cAlternatives.eContents().get(32);
		private final Keyword cSHAREDSharedKeyword_32_0 = (Keyword)cSHAREDEnumLiteralDeclaration_32.eContents().get(0);
		private final EnumLiteralDeclaration cMSB0EnumLiteralDeclaration_33 = (EnumLiteralDeclaration)cAlternatives.eContents().get(33);
		private final Keyword cMSB0Msb0Keyword_33_0 = (Keyword)cMSB0EnumLiteralDeclaration_33.eContents().get(0);
		private final EnumLiteralDeclaration cLSB0EnumLiteralDeclaration_34 = (EnumLiteralDeclaration)cAlternatives.eContents().get(34);
		private final Keyword cLSB0Lsb0Keyword_34_0 = (Keyword)cLSB0EnumLiteralDeclaration_34.eContents().get(0);
		private final EnumLiteralDeclaration cSYNCEnumLiteralDeclaration_35 = (EnumLiteralDeclaration)cAlternatives.eContents().get(35);
		private final Keyword cSYNCSyncKeyword_35_0 = (Keyword)cSYNCEnumLiteralDeclaration_35.eContents().get(0);
		private final EnumLiteralDeclaration cASYNCEnumLiteralDeclaration_36 = (EnumLiteralDeclaration)cAlternatives.eContents().get(36);
		private final Keyword cASYNCAsyncKeyword_36_0 = (Keyword)cASYNCEnumLiteralDeclaration_36.eContents().get(0);
		private final EnumLiteralDeclaration cCPUIF_RESETEnumLiteralDeclaration_37 = (EnumLiteralDeclaration)cAlternatives.eContents().get(37);
		private final Keyword cCPUIF_RESETCpuif_resetKeyword_37_0 = (Keyword)cCPUIF_RESETEnumLiteralDeclaration_37.eContents().get(0);
		private final EnumLiteralDeclaration cFIELD_RESETEnumLiteralDeclaration_38 = (EnumLiteralDeclaration)cAlternatives.eContents().get(38);
		private final Keyword cFIELD_RESETField_resetKeyword_38_0 = (Keyword)cFIELD_RESETEnumLiteralDeclaration_38.eContents().get(0);
		private final EnumLiteralDeclaration cACTIVEHIGHEnumLiteralDeclaration_39 = (EnumLiteralDeclaration)cAlternatives.eContents().get(39);
		private final Keyword cACTIVEHIGHActivehighKeyword_39_0 = (Keyword)cACTIVEHIGHEnumLiteralDeclaration_39.eContents().get(0);
		private final EnumLiteralDeclaration cACTIVELOWEnumLiteralDeclaration_40 = (EnumLiteralDeclaration)cAlternatives.eContents().get(40);
		private final Keyword cACTIVELOWActivelowKeyword_40_0 = (Keyword)cACTIVELOWEnumLiteralDeclaration_40.eContents().get(0);
		private final EnumLiteralDeclaration cSINGLEPULSEEnumLiteralDeclaration_41 = (EnumLiteralDeclaration)cAlternatives.eContents().get(41);
		private final Keyword cSINGLEPULSESinglepulseKeyword_41_0 = (Keyword)cSINGLEPULSEEnumLiteralDeclaration_41.eContents().get(0);
		private final EnumLiteralDeclaration cUNDERFLOWEnumLiteralDeclaration_42 = (EnumLiteralDeclaration)cAlternatives.eContents().get(42);
		private final Keyword cUNDERFLOWUnderflowKeyword_42_0 = (Keyword)cUNDERFLOWEnumLiteralDeclaration_42.eContents().get(0);
		private final EnumLiteralDeclaration cINCREnumLiteralDeclaration_43 = (EnumLiteralDeclaration)cAlternatives.eContents().get(43);
		private final Keyword cINCRIncrKeyword_43_0 = (Keyword)cINCREnumLiteralDeclaration_43.eContents().get(0);
		private final EnumLiteralDeclaration cDECREnumLiteralDeclaration_44 = (EnumLiteralDeclaration)cAlternatives.eContents().get(44);
		private final Keyword cDECRDecrKeyword_44_0 = (Keyword)cDECREnumLiteralDeclaration_44.eContents().get(0);
		private final EnumLiteralDeclaration cINCRWIDTHEnumLiteralDeclaration_45 = (EnumLiteralDeclaration)cAlternatives.eContents().get(45);
		private final Keyword cINCRWIDTHIncrwidthKeyword_45_0 = (Keyword)cINCRWIDTHEnumLiteralDeclaration_45.eContents().get(0);
		private final EnumLiteralDeclaration cDECRWIDTHEnumLiteralDeclaration_46 = (EnumLiteralDeclaration)cAlternatives.eContents().get(46);
		private final Keyword cDECRWIDTHDecrwidthKeyword_46_0 = (Keyword)cDECRWIDTHEnumLiteralDeclaration_46.eContents().get(0);
		private final EnumLiteralDeclaration cINCRVALUEEnumLiteralDeclaration_47 = (EnumLiteralDeclaration)cAlternatives.eContents().get(47);
		private final Keyword cINCRVALUEIncrvalueKeyword_47_0 = (Keyword)cINCRVALUEEnumLiteralDeclaration_47.eContents().get(0);
		private final EnumLiteralDeclaration cDECRVALUEEnumLiteralDeclaration_48 = (EnumLiteralDeclaration)cAlternatives.eContents().get(48);
		private final Keyword cDECRVALUEDecrvalueKeyword_48_0 = (Keyword)cDECRVALUEEnumLiteralDeclaration_48.eContents().get(0);
		private final EnumLiteralDeclaration cSATURATEEnumLiteralDeclaration_49 = (EnumLiteralDeclaration)cAlternatives.eContents().get(49);
		private final Keyword cSATURATESaturateKeyword_49_0 = (Keyword)cSATURATEEnumLiteralDeclaration_49.eContents().get(0);
		private final EnumLiteralDeclaration cDECRSATURATEEnumLiteralDeclaration_50 = (EnumLiteralDeclaration)cAlternatives.eContents().get(50);
		private final Keyword cDECRSATURATEDecrsaturateKeyword_50_0 = (Keyword)cDECRSATURATEEnumLiteralDeclaration_50.eContents().get(0);
		private final EnumLiteralDeclaration cTHRESHOLDEnumLiteralDeclaration_51 = (EnumLiteralDeclaration)cAlternatives.eContents().get(51);
		private final Keyword cTHRESHOLDThresholdKeyword_51_0 = (Keyword)cTHRESHOLDEnumLiteralDeclaration_51.eContents().get(0);
		private final EnumLiteralDeclaration cDECRTHRESHOLDEnumLiteralDeclaration_52 = (EnumLiteralDeclaration)cAlternatives.eContents().get(52);
		private final Keyword cDECRTHRESHOLDDecrthresholdKeyword_52_0 = (Keyword)cDECRTHRESHOLDEnumLiteralDeclaration_52.eContents().get(0);
		private final EnumLiteralDeclaration cDONTCOMPAREEnumLiteralDeclaration_53 = (EnumLiteralDeclaration)cAlternatives.eContents().get(53);
		private final Keyword cDONTCOMPAREDontcompareKeyword_53_0 = (Keyword)cDONTCOMPAREEnumLiteralDeclaration_53.eContents().get(0);
		private final EnumLiteralDeclaration cDONTTESTEnumLiteralDeclaration_54 = (EnumLiteralDeclaration)cAlternatives.eContents().get(54);
		private final Keyword cDONTTESTDonttestKeyword_54_0 = (Keyword)cDONTTESTEnumLiteralDeclaration_54.eContents().get(0);
		private final EnumLiteralDeclaration cINTERNALEnumLiteralDeclaration_55 = (EnumLiteralDeclaration)cAlternatives.eContents().get(55);
		private final Keyword cINTERNALInternalKeyword_55_0 = (Keyword)cINTERNALEnumLiteralDeclaration_55.eContents().get(0);
		private final EnumLiteralDeclaration cALIGNMENTEnumLiteralDeclaration_56 = (EnumLiteralDeclaration)cAlternatives.eContents().get(56);
		private final Keyword cALIGNMENTAlignmentKeyword_56_0 = (Keyword)cALIGNMENTEnumLiteralDeclaration_56.eContents().get(0);
		private final EnumLiteralDeclaration cREGWIDTHEnumLiteralDeclaration_57 = (EnumLiteralDeclaration)cAlternatives.eContents().get(57);
		private final Keyword cREGWIDTHRegwidthKeyword_57_0 = (Keyword)cREGWIDTHEnumLiteralDeclaration_57.eContents().get(0);
		private final EnumLiteralDeclaration cFIELDWIDTHEnumLiteralDeclaration_58 = (EnumLiteralDeclaration)cAlternatives.eContents().get(58);
		private final Keyword cFIELDWIDTHFieldwidthKeyword_58_0 = (Keyword)cFIELDWIDTHEnumLiteralDeclaration_58.eContents().get(0);
		private final EnumLiteralDeclaration cSIGNALWIDTHEnumLiteralDeclaration_59 = (EnumLiteralDeclaration)cAlternatives.eContents().get(59);
		private final Keyword cSIGNALWIDTHSignalwidthKeyword_59_0 = (Keyword)cSIGNALWIDTHEnumLiteralDeclaration_59.eContents().get(0);
		private final EnumLiteralDeclaration cACCESSWIDTHEnumLiteralDeclaration_60 = (EnumLiteralDeclaration)cAlternatives.eContents().get(60);
		private final Keyword cACCESSWIDTHAccesswidthKeyword_60_0 = (Keyword)cACCESSWIDTHEnumLiteralDeclaration_60.eContents().get(0);
		private final EnumLiteralDeclaration cSWEnumLiteralDeclaration_61 = (EnumLiteralDeclaration)cAlternatives.eContents().get(61);
		private final Keyword cSWSwKeyword_61_0 = (Keyword)cSWEnumLiteralDeclaration_61.eContents().get(0);
		private final EnumLiteralDeclaration cHWEnumLiteralDeclaration_62 = (EnumLiteralDeclaration)cAlternatives.eContents().get(62);
		private final Keyword cHWHwKeyword_62_0 = (Keyword)cHWEnumLiteralDeclaration_62.eContents().get(0);
		private final EnumLiteralDeclaration cADDRESSINGEnumLiteralDeclaration_63 = (EnumLiteralDeclaration)cAlternatives.eContents().get(63);
		private final Keyword cADDRESSINGAddressingKeyword_63_0 = (Keyword)cADDRESSINGEnumLiteralDeclaration_63.eContents().get(0);
		private final EnumLiteralDeclaration cPRECEDENCEEnumLiteralDeclaration_64 = (EnumLiteralDeclaration)cAlternatives.eContents().get(64);
		private final Keyword cPRECEDENCEPrecedenceKeyword_64_0 = (Keyword)cPRECEDENCEEnumLiteralDeclaration_64.eContents().get(0);
		private final EnumLiteralDeclaration cENCODEEnumLiteralDeclaration_65 = (EnumLiteralDeclaration)cAlternatives.eContents().get(65);
		private final Keyword cENCODEEncodeKeyword_65_0 = (Keyword)cENCODEEnumLiteralDeclaration_65.eContents().get(0);
		private final EnumLiteralDeclaration cRESETSIGNALEnumLiteralDeclaration_66 = (EnumLiteralDeclaration)cAlternatives.eContents().get(66);
		private final Keyword cRESETSIGNALResetsignalKeyword_66_0 = (Keyword)cRESETSIGNALEnumLiteralDeclaration_66.eContents().get(0);
		private final EnumLiteralDeclaration cCLOCKEnumLiteralDeclaration_67 = (EnumLiteralDeclaration)cAlternatives.eContents().get(67);
		private final Keyword cCLOCKClockKeyword_67_0 = (Keyword)cCLOCKEnumLiteralDeclaration_67.eContents().get(0);
		private final EnumLiteralDeclaration cMASKEnumLiteralDeclaration_68 = (EnumLiteralDeclaration)cAlternatives.eContents().get(68);
		private final Keyword cMASKMaskKeyword_68_0 = (Keyword)cMASKEnumLiteralDeclaration_68.eContents().get(0);
		private final EnumLiteralDeclaration cENABLEEnumLiteralDeclaration_69 = (EnumLiteralDeclaration)cAlternatives.eContents().get(69);
		private final Keyword cENABLEEnableKeyword_69_0 = (Keyword)cENABLEEnumLiteralDeclaration_69.eContents().get(0);
		private final EnumLiteralDeclaration cHWENABLEEnumLiteralDeclaration_70 = (EnumLiteralDeclaration)cAlternatives.eContents().get(70);
		private final Keyword cHWENABLEHwenableKeyword_70_0 = (Keyword)cHWENABLEEnumLiteralDeclaration_70.eContents().get(0);
		private final EnumLiteralDeclaration cHWMASKEnumLiteralDeclaration_71 = (EnumLiteralDeclaration)cAlternatives.eContents().get(71);
		private final Keyword cHWMASKHwmaskKeyword_71_0 = (Keyword)cHWMASKEnumLiteralDeclaration_71.eContents().get(0);
		private final EnumLiteralDeclaration cHALTMASKEnumLiteralDeclaration_72 = (EnumLiteralDeclaration)cAlternatives.eContents().get(72);
		private final Keyword cHALTMASKHaltmaskKeyword_72_0 = (Keyword)cHALTMASKEnumLiteralDeclaration_72.eContents().get(0);
		private final EnumLiteralDeclaration cHALTENABLEEnumLiteralDeclaration_73 = (EnumLiteralDeclaration)cAlternatives.eContents().get(73);
		private final Keyword cHALTENABLEHaltenableKeyword_73_0 = (Keyword)cHALTENABLEEnumLiteralDeclaration_73.eContents().get(0);
		private final EnumLiteralDeclaration cHALTEnumLiteralDeclaration_74 = (EnumLiteralDeclaration)cAlternatives.eContents().get(74);
		private final Keyword cHALTHaltKeyword_74_0 = (Keyword)cHALTEnumLiteralDeclaration_74.eContents().get(0);
		private final EnumLiteralDeclaration cNEXTEnumLiteralDeclaration_75 = (EnumLiteralDeclaration)cAlternatives.eContents().get(75);
		private final Keyword cNEXTNextKeyword_75_0 = (Keyword)cNEXTEnumLiteralDeclaration_75.eContents().get(0);
		
		//enum PropertyEnum:
		//    UNSPECIFIED |
		//    NAME="name" |
		//    DESC="desc" |
		//    ARBITER="arbiter" |
		//    RSET="rset" |
		//    RCLR="rclr" |
		//    WOCLR="woclr" |
		//    WOSET="woset" |
		//    WE="we" |
		//    WEL="wel" |
		//    SWWE="swwe" |
		//    SWWEL="swwel" |
		//    HWSET="hwset" |
		//    HWCLR="hwclr" |
		//    SWMOD="swmod" |
		//    SWACC="swacc" |
		//    STICKY="sticky" |
		//    STICKYBIT="stickybit" |
		//    INTR="intr" |
		//    ANDED="anded" |
		//    ORED="ored" |
		//    XORED="xored" |
		//    COUNTER="counter" |
		//    OVERFLOW="overflow" |
		//    SHAREDEXTBUS="sharedextbus" |
		//    ERREXTBUS="errextbus" |
		//    RESET="reset" |
		//    LITTLEENDIAN="littleendian" |
		//    BIGENDIAN="bigendian" |
		//     RSVDSET="rsvdset" |
		//    RSVDSETX="rsvdsetX" |
		//    BRIDGE="bridge" |
		//    SHARED="shared" |
		//    MSB0="msb0" |
		//    LSB0="lsb0" |
		//    SYNC="sync" |
		//    ASYNC="async" |
		//    CPUIF_RESET="cpuif_reset" |
		//    FIELD_RESET="field_reset" |
		//    ACTIVEHIGH="activehigh" |
		//    ACTIVELOW="activelow" |
		//    SINGLEPULSE="singlepulse" |
		//    UNDERFLOW="underflow" |
		//    INCR="incr" |
		//    DECR="decr" |
		//    INCRWIDTH="incrwidth" |
		//    DECRWIDTH="decrwidth" |
		//    INCRVALUE="incrvalue" |
		//    DECRVALUE="decrvalue" |
		//    SATURATE="saturate" |
		//    DECRSATURATE="decrsaturate" |
		//    THRESHOLD="threshold" |
		//    DECRTHRESHOLD="decrthreshold" |
		//    DONTCOMPARE="dontcompare" |
		//    DONTTEST="donttest" |
		//    INTERNAL="internal" |
		//    ALIGNMENT="alignment" |
		//    REGWIDTH="regwidth" |
		//    FIELDWIDTH="fieldwidth" |
		//    SIGNALWIDTH="signalwidth" |
		//    ACCESSWIDTH="accesswidth" |
		//    SW="sw" |
		//    HW="hw" |
		//    ADDRESSING="addressing" |
		//    PRECEDENCE="precedence" |
		//    ENCODE="encode" |
		//    RESETSIGNAL="resetsignal" |
		//    CLOCK="clock" |
		//    MASK="mask" |
		//    ENABLE="enable" |
		//    HWENABLE="hwenable" |
		//    HWMASK="hwmask" |
		//    HALTMASK="haltmask" |
		//    HALTENABLE="haltenable" |
		//    HALT="halt" |
		//    NEXT="next"
		//      ;
		public EnumRule getRule() { return rule; }
		
		//UNSPECIFIED |
		//NAME="name" |
		//DESC="desc" |
		//ARBITER="arbiter" |
		//RSET="rset" |
		//RCLR="rclr" |
		//WOCLR="woclr" |
		//WOSET="woset" |
		//WE="we" |
		//WEL="wel" |
		//SWWE="swwe" |
		//SWWEL="swwel" |
		//HWSET="hwset" |
		//HWCLR="hwclr" |
		//SWMOD="swmod" |
		//SWACC="swacc" |
		//STICKY="sticky" |
		//STICKYBIT="stickybit" |
		//INTR="intr" |
		//ANDED="anded" |
		//ORED="ored" |
		//XORED="xored" |
		//COUNTER="counter" |
		//OVERFLOW="overflow" |
		//SHAREDEXTBUS="sharedextbus" |
		//ERREXTBUS="errextbus" |
		//RESET="reset" |
		//LITTLEENDIAN="littleendian" |
		//BIGENDIAN="bigendian" |
		// RSVDSET="rsvdset" |
		//RSVDSETX="rsvdsetX" |
		//BRIDGE="bridge" |
		//SHARED="shared" |
		//MSB0="msb0" |
		//LSB0="lsb0" |
		//SYNC="sync" |
		//ASYNC="async" |
		//CPUIF_RESET="cpuif_reset" |
		//FIELD_RESET="field_reset" |
		//ACTIVEHIGH="activehigh" |
		//ACTIVELOW="activelow" |
		//SINGLEPULSE="singlepulse" |
		//UNDERFLOW="underflow" |
		//INCR="incr" |
		//DECR="decr" |
		//INCRWIDTH="incrwidth" |
		//DECRWIDTH="decrwidth" |
		//INCRVALUE="incrvalue" |
		//DECRVALUE="decrvalue" |
		//SATURATE="saturate" |
		//DECRSATURATE="decrsaturate" |
		//THRESHOLD="threshold" |
		//DECRTHRESHOLD="decrthreshold" |
		//DONTCOMPARE="dontcompare" |
		//DONTTEST="donttest" |
		//INTERNAL="internal" |
		//ALIGNMENT="alignment" |
		//REGWIDTH="regwidth" |
		//FIELDWIDTH="fieldwidth" |
		//SIGNALWIDTH="signalwidth" |
		//ACCESSWIDTH="accesswidth" |
		//SW="sw" |
		//HW="hw" |
		//ADDRESSING="addressing" |
		//PRECEDENCE="precedence" |
		//ENCODE="encode" |
		//RESETSIGNAL="resetsignal" |
		//CLOCK="clock" |
		//MASK="mask" |
		//ENABLE="enable" |
		//HWENABLE="hwenable" |
		//HWMASK="hwmask" |
		//HALTMASK="haltmask" |
		//HALTENABLE="haltenable" |
		//HALT="halt" |
		//NEXT="next"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//UNSPECIFIED
		public EnumLiteralDeclaration getUNSPECIFIEDEnumLiteralDeclaration_0() { return cUNSPECIFIEDEnumLiteralDeclaration_0; }
		
		public Keyword getUNSPECIFIEDUNSPECIFIEDKeyword_0_0() { return cUNSPECIFIEDUNSPECIFIEDKeyword_0_0; }
		
		//NAME="name"
		public EnumLiteralDeclaration getNAMEEnumLiteralDeclaration_1() { return cNAMEEnumLiteralDeclaration_1; }
		
		//"name"
		public Keyword getNAMENameKeyword_1_0() { return cNAMENameKeyword_1_0; }
		
		//DESC="desc"
		public EnumLiteralDeclaration getDESCEnumLiteralDeclaration_2() { return cDESCEnumLiteralDeclaration_2; }
		
		//"desc"
		public Keyword getDESCDescKeyword_2_0() { return cDESCDescKeyword_2_0; }
		
		//ARBITER="arbiter"
		public EnumLiteralDeclaration getARBITEREnumLiteralDeclaration_3() { return cARBITEREnumLiteralDeclaration_3; }
		
		//"arbiter"
		public Keyword getARBITERArbiterKeyword_3_0() { return cARBITERArbiterKeyword_3_0; }
		
		//RSET="rset"
		public EnumLiteralDeclaration getRSETEnumLiteralDeclaration_4() { return cRSETEnumLiteralDeclaration_4; }
		
		//"rset"
		public Keyword getRSETRsetKeyword_4_0() { return cRSETRsetKeyword_4_0; }
		
		//RCLR="rclr"
		public EnumLiteralDeclaration getRCLREnumLiteralDeclaration_5() { return cRCLREnumLiteralDeclaration_5; }
		
		//"rclr"
		public Keyword getRCLRRclrKeyword_5_0() { return cRCLRRclrKeyword_5_0; }
		
		//WOCLR="woclr"
		public EnumLiteralDeclaration getWOCLREnumLiteralDeclaration_6() { return cWOCLREnumLiteralDeclaration_6; }
		
		//"woclr"
		public Keyword getWOCLRWoclrKeyword_6_0() { return cWOCLRWoclrKeyword_6_0; }
		
		//WOSET="woset"
		public EnumLiteralDeclaration getWOSETEnumLiteralDeclaration_7() { return cWOSETEnumLiteralDeclaration_7; }
		
		//"woset"
		public Keyword getWOSETWosetKeyword_7_0() { return cWOSETWosetKeyword_7_0; }
		
		//WE="we"
		public EnumLiteralDeclaration getWEEnumLiteralDeclaration_8() { return cWEEnumLiteralDeclaration_8; }
		
		//"we"
		public Keyword getWEWeKeyword_8_0() { return cWEWeKeyword_8_0; }
		
		//WEL="wel"
		public EnumLiteralDeclaration getWELEnumLiteralDeclaration_9() { return cWELEnumLiteralDeclaration_9; }
		
		//"wel"
		public Keyword getWELWelKeyword_9_0() { return cWELWelKeyword_9_0; }
		
		//SWWE="swwe"
		public EnumLiteralDeclaration getSWWEEnumLiteralDeclaration_10() { return cSWWEEnumLiteralDeclaration_10; }
		
		//"swwe"
		public Keyword getSWWESwweKeyword_10_0() { return cSWWESwweKeyword_10_0; }
		
		//SWWEL="swwel"
		public EnumLiteralDeclaration getSWWELEnumLiteralDeclaration_11() { return cSWWELEnumLiteralDeclaration_11; }
		
		//"swwel"
		public Keyword getSWWELSwwelKeyword_11_0() { return cSWWELSwwelKeyword_11_0; }
		
		//HWSET="hwset"
		public EnumLiteralDeclaration getHWSETEnumLiteralDeclaration_12() { return cHWSETEnumLiteralDeclaration_12; }
		
		//"hwset"
		public Keyword getHWSETHwsetKeyword_12_0() { return cHWSETHwsetKeyword_12_0; }
		
		//HWCLR="hwclr"
		public EnumLiteralDeclaration getHWCLREnumLiteralDeclaration_13() { return cHWCLREnumLiteralDeclaration_13; }
		
		//"hwclr"
		public Keyword getHWCLRHwclrKeyword_13_0() { return cHWCLRHwclrKeyword_13_0; }
		
		//SWMOD="swmod"
		public EnumLiteralDeclaration getSWMODEnumLiteralDeclaration_14() { return cSWMODEnumLiteralDeclaration_14; }
		
		//"swmod"
		public Keyword getSWMODSwmodKeyword_14_0() { return cSWMODSwmodKeyword_14_0; }
		
		//SWACC="swacc"
		public EnumLiteralDeclaration getSWACCEnumLiteralDeclaration_15() { return cSWACCEnumLiteralDeclaration_15; }
		
		//"swacc"
		public Keyword getSWACCSwaccKeyword_15_0() { return cSWACCSwaccKeyword_15_0; }
		
		//STICKY="sticky"
		public EnumLiteralDeclaration getSTICKYEnumLiteralDeclaration_16() { return cSTICKYEnumLiteralDeclaration_16; }
		
		//"sticky"
		public Keyword getSTICKYStickyKeyword_16_0() { return cSTICKYStickyKeyword_16_0; }
		
		//STICKYBIT="stickybit"
		public EnumLiteralDeclaration getSTICKYBITEnumLiteralDeclaration_17() { return cSTICKYBITEnumLiteralDeclaration_17; }
		
		//"stickybit"
		public Keyword getSTICKYBITStickybitKeyword_17_0() { return cSTICKYBITStickybitKeyword_17_0; }
		
		//INTR="intr"
		public EnumLiteralDeclaration getINTREnumLiteralDeclaration_18() { return cINTREnumLiteralDeclaration_18; }
		
		//"intr"
		public Keyword getINTRIntrKeyword_18_0() { return cINTRIntrKeyword_18_0; }
		
		//ANDED="anded"
		public EnumLiteralDeclaration getANDEDEnumLiteralDeclaration_19() { return cANDEDEnumLiteralDeclaration_19; }
		
		//"anded"
		public Keyword getANDEDAndedKeyword_19_0() { return cANDEDAndedKeyword_19_0; }
		
		//ORED="ored"
		public EnumLiteralDeclaration getOREDEnumLiteralDeclaration_20() { return cOREDEnumLiteralDeclaration_20; }
		
		//"ored"
		public Keyword getOREDOredKeyword_20_0() { return cOREDOredKeyword_20_0; }
		
		//XORED="xored"
		public EnumLiteralDeclaration getXOREDEnumLiteralDeclaration_21() { return cXOREDEnumLiteralDeclaration_21; }
		
		//"xored"
		public Keyword getXOREDXoredKeyword_21_0() { return cXOREDXoredKeyword_21_0; }
		
		//COUNTER="counter"
		public EnumLiteralDeclaration getCOUNTEREnumLiteralDeclaration_22() { return cCOUNTEREnumLiteralDeclaration_22; }
		
		//"counter"
		public Keyword getCOUNTERCounterKeyword_22_0() { return cCOUNTERCounterKeyword_22_0; }
		
		//OVERFLOW="overflow"
		public EnumLiteralDeclaration getOVERFLOWEnumLiteralDeclaration_23() { return cOVERFLOWEnumLiteralDeclaration_23; }
		
		//"overflow"
		public Keyword getOVERFLOWOverflowKeyword_23_0() { return cOVERFLOWOverflowKeyword_23_0; }
		
		//SHAREDEXTBUS="sharedextbus"
		public EnumLiteralDeclaration getSHAREDEXTBUSEnumLiteralDeclaration_24() { return cSHAREDEXTBUSEnumLiteralDeclaration_24; }
		
		//"sharedextbus"
		public Keyword getSHAREDEXTBUSSharedextbusKeyword_24_0() { return cSHAREDEXTBUSSharedextbusKeyword_24_0; }
		
		//ERREXTBUS="errextbus"
		public EnumLiteralDeclaration getERREXTBUSEnumLiteralDeclaration_25() { return cERREXTBUSEnumLiteralDeclaration_25; }
		
		//"errextbus"
		public Keyword getERREXTBUSErrextbusKeyword_25_0() { return cERREXTBUSErrextbusKeyword_25_0; }
		
		//RESET="reset"
		public EnumLiteralDeclaration getRESETEnumLiteralDeclaration_26() { return cRESETEnumLiteralDeclaration_26; }
		
		//"reset"
		public Keyword getRESETResetKeyword_26_0() { return cRESETResetKeyword_26_0; }
		
		//LITTLEENDIAN="littleendian"
		public EnumLiteralDeclaration getLITTLEENDIANEnumLiteralDeclaration_27() { return cLITTLEENDIANEnumLiteralDeclaration_27; }
		
		//"littleendian"
		public Keyword getLITTLEENDIANLittleendianKeyword_27_0() { return cLITTLEENDIANLittleendianKeyword_27_0; }
		
		//BIGENDIAN="bigendian"
		public EnumLiteralDeclaration getBIGENDIANEnumLiteralDeclaration_28() { return cBIGENDIANEnumLiteralDeclaration_28; }
		
		//"bigendian"
		public Keyword getBIGENDIANBigendianKeyword_28_0() { return cBIGENDIANBigendianKeyword_28_0; }
		
		//RSVDSET="rsvdset"
		public EnumLiteralDeclaration getRSVDSETEnumLiteralDeclaration_29() { return cRSVDSETEnumLiteralDeclaration_29; }
		
		//"rsvdset"
		public Keyword getRSVDSETRsvdsetKeyword_29_0() { return cRSVDSETRsvdsetKeyword_29_0; }
		
		//RSVDSETX="rsvdsetX"
		public EnumLiteralDeclaration getRSVDSETXEnumLiteralDeclaration_30() { return cRSVDSETXEnumLiteralDeclaration_30; }
		
		//"rsvdsetX"
		public Keyword getRSVDSETXRsvdsetXKeyword_30_0() { return cRSVDSETXRsvdsetXKeyword_30_0; }
		
		//BRIDGE="bridge"
		public EnumLiteralDeclaration getBRIDGEEnumLiteralDeclaration_31() { return cBRIDGEEnumLiteralDeclaration_31; }
		
		//"bridge"
		public Keyword getBRIDGEBridgeKeyword_31_0() { return cBRIDGEBridgeKeyword_31_0; }
		
		//SHARED="shared"
		public EnumLiteralDeclaration getSHAREDEnumLiteralDeclaration_32() { return cSHAREDEnumLiteralDeclaration_32; }
		
		//"shared"
		public Keyword getSHAREDSharedKeyword_32_0() { return cSHAREDSharedKeyword_32_0; }
		
		//MSB0="msb0"
		public EnumLiteralDeclaration getMSB0EnumLiteralDeclaration_33() { return cMSB0EnumLiteralDeclaration_33; }
		
		//"msb0"
		public Keyword getMSB0Msb0Keyword_33_0() { return cMSB0Msb0Keyword_33_0; }
		
		//LSB0="lsb0"
		public EnumLiteralDeclaration getLSB0EnumLiteralDeclaration_34() { return cLSB0EnumLiteralDeclaration_34; }
		
		//"lsb0"
		public Keyword getLSB0Lsb0Keyword_34_0() { return cLSB0Lsb0Keyword_34_0; }
		
		//SYNC="sync"
		public EnumLiteralDeclaration getSYNCEnumLiteralDeclaration_35() { return cSYNCEnumLiteralDeclaration_35; }
		
		//"sync"
		public Keyword getSYNCSyncKeyword_35_0() { return cSYNCSyncKeyword_35_0; }
		
		//ASYNC="async"
		public EnumLiteralDeclaration getASYNCEnumLiteralDeclaration_36() { return cASYNCEnumLiteralDeclaration_36; }
		
		//"async"
		public Keyword getASYNCAsyncKeyword_36_0() { return cASYNCAsyncKeyword_36_0; }
		
		//CPUIF_RESET="cpuif_reset"
		public EnumLiteralDeclaration getCPUIF_RESETEnumLiteralDeclaration_37() { return cCPUIF_RESETEnumLiteralDeclaration_37; }
		
		//"cpuif_reset"
		public Keyword getCPUIF_RESETCpuif_resetKeyword_37_0() { return cCPUIF_RESETCpuif_resetKeyword_37_0; }
		
		//FIELD_RESET="field_reset"
		public EnumLiteralDeclaration getFIELD_RESETEnumLiteralDeclaration_38() { return cFIELD_RESETEnumLiteralDeclaration_38; }
		
		//"field_reset"
		public Keyword getFIELD_RESETField_resetKeyword_38_0() { return cFIELD_RESETField_resetKeyword_38_0; }
		
		//ACTIVEHIGH="activehigh"
		public EnumLiteralDeclaration getACTIVEHIGHEnumLiteralDeclaration_39() { return cACTIVEHIGHEnumLiteralDeclaration_39; }
		
		//"activehigh"
		public Keyword getACTIVEHIGHActivehighKeyword_39_0() { return cACTIVEHIGHActivehighKeyword_39_0; }
		
		//ACTIVELOW="activelow"
		public EnumLiteralDeclaration getACTIVELOWEnumLiteralDeclaration_40() { return cACTIVELOWEnumLiteralDeclaration_40; }
		
		//"activelow"
		public Keyword getACTIVELOWActivelowKeyword_40_0() { return cACTIVELOWActivelowKeyword_40_0; }
		
		//SINGLEPULSE="singlepulse"
		public EnumLiteralDeclaration getSINGLEPULSEEnumLiteralDeclaration_41() { return cSINGLEPULSEEnumLiteralDeclaration_41; }
		
		//"singlepulse"
		public Keyword getSINGLEPULSESinglepulseKeyword_41_0() { return cSINGLEPULSESinglepulseKeyword_41_0; }
		
		//UNDERFLOW="underflow"
		public EnumLiteralDeclaration getUNDERFLOWEnumLiteralDeclaration_42() { return cUNDERFLOWEnumLiteralDeclaration_42; }
		
		//"underflow"
		public Keyword getUNDERFLOWUnderflowKeyword_42_0() { return cUNDERFLOWUnderflowKeyword_42_0; }
		
		//INCR="incr"
		public EnumLiteralDeclaration getINCREnumLiteralDeclaration_43() { return cINCREnumLiteralDeclaration_43; }
		
		//"incr"
		public Keyword getINCRIncrKeyword_43_0() { return cINCRIncrKeyword_43_0; }
		
		//DECR="decr"
		public EnumLiteralDeclaration getDECREnumLiteralDeclaration_44() { return cDECREnumLiteralDeclaration_44; }
		
		//"decr"
		public Keyword getDECRDecrKeyword_44_0() { return cDECRDecrKeyword_44_0; }
		
		//INCRWIDTH="incrwidth"
		public EnumLiteralDeclaration getINCRWIDTHEnumLiteralDeclaration_45() { return cINCRWIDTHEnumLiteralDeclaration_45; }
		
		//"incrwidth"
		public Keyword getINCRWIDTHIncrwidthKeyword_45_0() { return cINCRWIDTHIncrwidthKeyword_45_0; }
		
		//DECRWIDTH="decrwidth"
		public EnumLiteralDeclaration getDECRWIDTHEnumLiteralDeclaration_46() { return cDECRWIDTHEnumLiteralDeclaration_46; }
		
		//"decrwidth"
		public Keyword getDECRWIDTHDecrwidthKeyword_46_0() { return cDECRWIDTHDecrwidthKeyword_46_0; }
		
		//INCRVALUE="incrvalue"
		public EnumLiteralDeclaration getINCRVALUEEnumLiteralDeclaration_47() { return cINCRVALUEEnumLiteralDeclaration_47; }
		
		//"incrvalue"
		public Keyword getINCRVALUEIncrvalueKeyword_47_0() { return cINCRVALUEIncrvalueKeyword_47_0; }
		
		//DECRVALUE="decrvalue"
		public EnumLiteralDeclaration getDECRVALUEEnumLiteralDeclaration_48() { return cDECRVALUEEnumLiteralDeclaration_48; }
		
		//"decrvalue"
		public Keyword getDECRVALUEDecrvalueKeyword_48_0() { return cDECRVALUEDecrvalueKeyword_48_0; }
		
		//SATURATE="saturate"
		public EnumLiteralDeclaration getSATURATEEnumLiteralDeclaration_49() { return cSATURATEEnumLiteralDeclaration_49; }
		
		//"saturate"
		public Keyword getSATURATESaturateKeyword_49_0() { return cSATURATESaturateKeyword_49_0; }
		
		//DECRSATURATE="decrsaturate"
		public EnumLiteralDeclaration getDECRSATURATEEnumLiteralDeclaration_50() { return cDECRSATURATEEnumLiteralDeclaration_50; }
		
		//"decrsaturate"
		public Keyword getDECRSATURATEDecrsaturateKeyword_50_0() { return cDECRSATURATEDecrsaturateKeyword_50_0; }
		
		//THRESHOLD="threshold"
		public EnumLiteralDeclaration getTHRESHOLDEnumLiteralDeclaration_51() { return cTHRESHOLDEnumLiteralDeclaration_51; }
		
		//"threshold"
		public Keyword getTHRESHOLDThresholdKeyword_51_0() { return cTHRESHOLDThresholdKeyword_51_0; }
		
		//DECRTHRESHOLD="decrthreshold"
		public EnumLiteralDeclaration getDECRTHRESHOLDEnumLiteralDeclaration_52() { return cDECRTHRESHOLDEnumLiteralDeclaration_52; }
		
		//"decrthreshold"
		public Keyword getDECRTHRESHOLDDecrthresholdKeyword_52_0() { return cDECRTHRESHOLDDecrthresholdKeyword_52_0; }
		
		//DONTCOMPARE="dontcompare"
		public EnumLiteralDeclaration getDONTCOMPAREEnumLiteralDeclaration_53() { return cDONTCOMPAREEnumLiteralDeclaration_53; }
		
		//"dontcompare"
		public Keyword getDONTCOMPAREDontcompareKeyword_53_0() { return cDONTCOMPAREDontcompareKeyword_53_0; }
		
		//DONTTEST="donttest"
		public EnumLiteralDeclaration getDONTTESTEnumLiteralDeclaration_54() { return cDONTTESTEnumLiteralDeclaration_54; }
		
		//"donttest"
		public Keyword getDONTTESTDonttestKeyword_54_0() { return cDONTTESTDonttestKeyword_54_0; }
		
		//INTERNAL="internal"
		public EnumLiteralDeclaration getINTERNALEnumLiteralDeclaration_55() { return cINTERNALEnumLiteralDeclaration_55; }
		
		//"internal"
		public Keyword getINTERNALInternalKeyword_55_0() { return cINTERNALInternalKeyword_55_0; }
		
		//ALIGNMENT="alignment"
		public EnumLiteralDeclaration getALIGNMENTEnumLiteralDeclaration_56() { return cALIGNMENTEnumLiteralDeclaration_56; }
		
		//"alignment"
		public Keyword getALIGNMENTAlignmentKeyword_56_0() { return cALIGNMENTAlignmentKeyword_56_0; }
		
		//REGWIDTH="regwidth"
		public EnumLiteralDeclaration getREGWIDTHEnumLiteralDeclaration_57() { return cREGWIDTHEnumLiteralDeclaration_57; }
		
		//"regwidth"
		public Keyword getREGWIDTHRegwidthKeyword_57_0() { return cREGWIDTHRegwidthKeyword_57_0; }
		
		//FIELDWIDTH="fieldwidth"
		public EnumLiteralDeclaration getFIELDWIDTHEnumLiteralDeclaration_58() { return cFIELDWIDTHEnumLiteralDeclaration_58; }
		
		//"fieldwidth"
		public Keyword getFIELDWIDTHFieldwidthKeyword_58_0() { return cFIELDWIDTHFieldwidthKeyword_58_0; }
		
		//SIGNALWIDTH="signalwidth"
		public EnumLiteralDeclaration getSIGNALWIDTHEnumLiteralDeclaration_59() { return cSIGNALWIDTHEnumLiteralDeclaration_59; }
		
		//"signalwidth"
		public Keyword getSIGNALWIDTHSignalwidthKeyword_59_0() { return cSIGNALWIDTHSignalwidthKeyword_59_0; }
		
		//ACCESSWIDTH="accesswidth"
		public EnumLiteralDeclaration getACCESSWIDTHEnumLiteralDeclaration_60() { return cACCESSWIDTHEnumLiteralDeclaration_60; }
		
		//"accesswidth"
		public Keyword getACCESSWIDTHAccesswidthKeyword_60_0() { return cACCESSWIDTHAccesswidthKeyword_60_0; }
		
		//SW="sw"
		public EnumLiteralDeclaration getSWEnumLiteralDeclaration_61() { return cSWEnumLiteralDeclaration_61; }
		
		//"sw"
		public Keyword getSWSwKeyword_61_0() { return cSWSwKeyword_61_0; }
		
		//HW="hw"
		public EnumLiteralDeclaration getHWEnumLiteralDeclaration_62() { return cHWEnumLiteralDeclaration_62; }
		
		//"hw"
		public Keyword getHWHwKeyword_62_0() { return cHWHwKeyword_62_0; }
		
		//ADDRESSING="addressing"
		public EnumLiteralDeclaration getADDRESSINGEnumLiteralDeclaration_63() { return cADDRESSINGEnumLiteralDeclaration_63; }
		
		//"addressing"
		public Keyword getADDRESSINGAddressingKeyword_63_0() { return cADDRESSINGAddressingKeyword_63_0; }
		
		//PRECEDENCE="precedence"
		public EnumLiteralDeclaration getPRECEDENCEEnumLiteralDeclaration_64() { return cPRECEDENCEEnumLiteralDeclaration_64; }
		
		//"precedence"
		public Keyword getPRECEDENCEPrecedenceKeyword_64_0() { return cPRECEDENCEPrecedenceKeyword_64_0; }
		
		//ENCODE="encode"
		public EnumLiteralDeclaration getENCODEEnumLiteralDeclaration_65() { return cENCODEEnumLiteralDeclaration_65; }
		
		//"encode"
		public Keyword getENCODEEncodeKeyword_65_0() { return cENCODEEncodeKeyword_65_0; }
		
		//RESETSIGNAL="resetsignal"
		public EnumLiteralDeclaration getRESETSIGNALEnumLiteralDeclaration_66() { return cRESETSIGNALEnumLiteralDeclaration_66; }
		
		//"resetsignal"
		public Keyword getRESETSIGNALResetsignalKeyword_66_0() { return cRESETSIGNALResetsignalKeyword_66_0; }
		
		//CLOCK="clock"
		public EnumLiteralDeclaration getCLOCKEnumLiteralDeclaration_67() { return cCLOCKEnumLiteralDeclaration_67; }
		
		//"clock"
		public Keyword getCLOCKClockKeyword_67_0() { return cCLOCKClockKeyword_67_0; }
		
		//MASK="mask"
		public EnumLiteralDeclaration getMASKEnumLiteralDeclaration_68() { return cMASKEnumLiteralDeclaration_68; }
		
		//"mask"
		public Keyword getMASKMaskKeyword_68_0() { return cMASKMaskKeyword_68_0; }
		
		//ENABLE="enable"
		public EnumLiteralDeclaration getENABLEEnumLiteralDeclaration_69() { return cENABLEEnumLiteralDeclaration_69; }
		
		//"enable"
		public Keyword getENABLEEnableKeyword_69_0() { return cENABLEEnableKeyword_69_0; }
		
		//HWENABLE="hwenable"
		public EnumLiteralDeclaration getHWENABLEEnumLiteralDeclaration_70() { return cHWENABLEEnumLiteralDeclaration_70; }
		
		//"hwenable"
		public Keyword getHWENABLEHwenableKeyword_70_0() { return cHWENABLEHwenableKeyword_70_0; }
		
		//HWMASK="hwmask"
		public EnumLiteralDeclaration getHWMASKEnumLiteralDeclaration_71() { return cHWMASKEnumLiteralDeclaration_71; }
		
		//"hwmask"
		public Keyword getHWMASKHwmaskKeyword_71_0() { return cHWMASKHwmaskKeyword_71_0; }
		
		//HALTMASK="haltmask"
		public EnumLiteralDeclaration getHALTMASKEnumLiteralDeclaration_72() { return cHALTMASKEnumLiteralDeclaration_72; }
		
		//"haltmask"
		public Keyword getHALTMASKHaltmaskKeyword_72_0() { return cHALTMASKHaltmaskKeyword_72_0; }
		
		//HALTENABLE="haltenable"
		public EnumLiteralDeclaration getHALTENABLEEnumLiteralDeclaration_73() { return cHALTENABLEEnumLiteralDeclaration_73; }
		
		//"haltenable"
		public Keyword getHALTENABLEHaltenableKeyword_73_0() { return cHALTENABLEHaltenableKeyword_73_0; }
		
		//HALT="halt"
		public EnumLiteralDeclaration getHALTEnumLiteralDeclaration_74() { return cHALTEnumLiteralDeclaration_74; }
		
		//"halt"
		public Keyword getHALTHaltKeyword_74_0() { return cHALTHaltKeyword_74_0; }
		
		//NEXT="next"
		public EnumLiteralDeclaration getNEXTEnumLiteralDeclaration_75() { return cNEXTEnumLiteralDeclaration_75; }
		
		//"next"
		public Keyword getNEXTNextKeyword_75_0() { return cNEXTNextKeyword_75_0; }
	}
	public class PropertyElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Property");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cNAMEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cNAMENameKeyword_0_0 = (Keyword)cNAMEEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cDESCEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cDESCDescKeyword_1_0 = (Keyword)cDESCEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cARBITEREnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cARBITERArbiterKeyword_2_0 = (Keyword)cARBITEREnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cRSETEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cRSETRsetKeyword_3_0 = (Keyword)cRSETEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cRCLREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cRCLRRclrKeyword_4_0 = (Keyword)cRCLREnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cWOCLREnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cWOCLRWoclrKeyword_5_0 = (Keyword)cWOCLREnumLiteralDeclaration_5.eContents().get(0);
		private final EnumLiteralDeclaration cWOSETEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
		private final Keyword cWOSETWosetKeyword_6_0 = (Keyword)cWOSETEnumLiteralDeclaration_6.eContents().get(0);
		private final EnumLiteralDeclaration cWEEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
		private final Keyword cWEWeKeyword_7_0 = (Keyword)cWEEnumLiteralDeclaration_7.eContents().get(0);
		private final EnumLiteralDeclaration cWELEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
		private final Keyword cWELWelKeyword_8_0 = (Keyword)cWELEnumLiteralDeclaration_8.eContents().get(0);
		private final EnumLiteralDeclaration cSWWEEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
		private final Keyword cSWWESwweKeyword_9_0 = (Keyword)cSWWEEnumLiteralDeclaration_9.eContents().get(0);
		private final EnumLiteralDeclaration cSWWELEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
		private final Keyword cSWWELSwwelKeyword_10_0 = (Keyword)cSWWELEnumLiteralDeclaration_10.eContents().get(0);
		private final EnumLiteralDeclaration cHWSETEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
		private final Keyword cHWSETHwsetKeyword_11_0 = (Keyword)cHWSETEnumLiteralDeclaration_11.eContents().get(0);
		private final EnumLiteralDeclaration cHWCLREnumLiteralDeclaration_12 = (EnumLiteralDeclaration)cAlternatives.eContents().get(12);
		private final Keyword cHWCLRHwclrKeyword_12_0 = (Keyword)cHWCLREnumLiteralDeclaration_12.eContents().get(0);
		private final EnumLiteralDeclaration cSWMODEnumLiteralDeclaration_13 = (EnumLiteralDeclaration)cAlternatives.eContents().get(13);
		private final Keyword cSWMODSwmodKeyword_13_0 = (Keyword)cSWMODEnumLiteralDeclaration_13.eContents().get(0);
		private final EnumLiteralDeclaration cSWACCEnumLiteralDeclaration_14 = (EnumLiteralDeclaration)cAlternatives.eContents().get(14);
		private final Keyword cSWACCSwaccKeyword_14_0 = (Keyword)cSWACCEnumLiteralDeclaration_14.eContents().get(0);
		private final EnumLiteralDeclaration cSTICKYEnumLiteralDeclaration_15 = (EnumLiteralDeclaration)cAlternatives.eContents().get(15);
		private final Keyword cSTICKYStickyKeyword_15_0 = (Keyword)cSTICKYEnumLiteralDeclaration_15.eContents().get(0);
		private final EnumLiteralDeclaration cSTICKYBITEnumLiteralDeclaration_16 = (EnumLiteralDeclaration)cAlternatives.eContents().get(16);
		private final Keyword cSTICKYBITStickybitKeyword_16_0 = (Keyword)cSTICKYBITEnumLiteralDeclaration_16.eContents().get(0);
		private final EnumLiteralDeclaration cINTREnumLiteralDeclaration_17 = (EnumLiteralDeclaration)cAlternatives.eContents().get(17);
		private final Keyword cINTRIntrKeyword_17_0 = (Keyword)cINTREnumLiteralDeclaration_17.eContents().get(0);
		private final EnumLiteralDeclaration cANDEDEnumLiteralDeclaration_18 = (EnumLiteralDeclaration)cAlternatives.eContents().get(18);
		private final Keyword cANDEDAndedKeyword_18_0 = (Keyword)cANDEDEnumLiteralDeclaration_18.eContents().get(0);
		private final EnumLiteralDeclaration cOREDEnumLiteralDeclaration_19 = (EnumLiteralDeclaration)cAlternatives.eContents().get(19);
		private final Keyword cOREDOredKeyword_19_0 = (Keyword)cOREDEnumLiteralDeclaration_19.eContents().get(0);
		private final EnumLiteralDeclaration cXOREDEnumLiteralDeclaration_20 = (EnumLiteralDeclaration)cAlternatives.eContents().get(20);
		private final Keyword cXOREDXoredKeyword_20_0 = (Keyword)cXOREDEnumLiteralDeclaration_20.eContents().get(0);
		private final EnumLiteralDeclaration cCOUNTEREnumLiteralDeclaration_21 = (EnumLiteralDeclaration)cAlternatives.eContents().get(21);
		private final Keyword cCOUNTERCounterKeyword_21_0 = (Keyword)cCOUNTEREnumLiteralDeclaration_21.eContents().get(0);
		private final EnumLiteralDeclaration cOVERFLOWEnumLiteralDeclaration_22 = (EnumLiteralDeclaration)cAlternatives.eContents().get(22);
		private final Keyword cOVERFLOWOverflowKeyword_22_0 = (Keyword)cOVERFLOWEnumLiteralDeclaration_22.eContents().get(0);
		private final EnumLiteralDeclaration cSHAREDEXTBUSEnumLiteralDeclaration_23 = (EnumLiteralDeclaration)cAlternatives.eContents().get(23);
		private final Keyword cSHAREDEXTBUSSharedextbusKeyword_23_0 = (Keyword)cSHAREDEXTBUSEnumLiteralDeclaration_23.eContents().get(0);
		private final EnumLiteralDeclaration cERREXTBUSEnumLiteralDeclaration_24 = (EnumLiteralDeclaration)cAlternatives.eContents().get(24);
		private final Keyword cERREXTBUSErrextbusKeyword_24_0 = (Keyword)cERREXTBUSEnumLiteralDeclaration_24.eContents().get(0);
		private final EnumLiteralDeclaration cRESETEnumLiteralDeclaration_25 = (EnumLiteralDeclaration)cAlternatives.eContents().get(25);
		private final Keyword cRESETResetKeyword_25_0 = (Keyword)cRESETEnumLiteralDeclaration_25.eContents().get(0);
		private final EnumLiteralDeclaration cLITTLEENDIANEnumLiteralDeclaration_26 = (EnumLiteralDeclaration)cAlternatives.eContents().get(26);
		private final Keyword cLITTLEENDIANLittleendianKeyword_26_0 = (Keyword)cLITTLEENDIANEnumLiteralDeclaration_26.eContents().get(0);
		private final EnumLiteralDeclaration cBIGENDIANEnumLiteralDeclaration_27 = (EnumLiteralDeclaration)cAlternatives.eContents().get(27);
		private final Keyword cBIGENDIANBigendianKeyword_27_0 = (Keyword)cBIGENDIANEnumLiteralDeclaration_27.eContents().get(0);
		private final EnumLiteralDeclaration cRSVDSETEnumLiteralDeclaration_28 = (EnumLiteralDeclaration)cAlternatives.eContents().get(28);
		private final Keyword cRSVDSETRsvdsetKeyword_28_0 = (Keyword)cRSVDSETEnumLiteralDeclaration_28.eContents().get(0);
		private final EnumLiteralDeclaration cRSVDSETXEnumLiteralDeclaration_29 = (EnumLiteralDeclaration)cAlternatives.eContents().get(29);
		private final Keyword cRSVDSETXRsvdsetXKeyword_29_0 = (Keyword)cRSVDSETXEnumLiteralDeclaration_29.eContents().get(0);
		private final EnumLiteralDeclaration cBRIDGEEnumLiteralDeclaration_30 = (EnumLiteralDeclaration)cAlternatives.eContents().get(30);
		private final Keyword cBRIDGEBridgeKeyword_30_0 = (Keyword)cBRIDGEEnumLiteralDeclaration_30.eContents().get(0);
		private final EnumLiteralDeclaration cSHAREDEnumLiteralDeclaration_31 = (EnumLiteralDeclaration)cAlternatives.eContents().get(31);
		private final Keyword cSHAREDSharedKeyword_31_0 = (Keyword)cSHAREDEnumLiteralDeclaration_31.eContents().get(0);
		private final EnumLiteralDeclaration cMSB0EnumLiteralDeclaration_32 = (EnumLiteralDeclaration)cAlternatives.eContents().get(32);
		private final Keyword cMSB0Msb0Keyword_32_0 = (Keyword)cMSB0EnumLiteralDeclaration_32.eContents().get(0);
		private final EnumLiteralDeclaration cLSB0EnumLiteralDeclaration_33 = (EnumLiteralDeclaration)cAlternatives.eContents().get(33);
		private final Keyword cLSB0Lsb0Keyword_33_0 = (Keyword)cLSB0EnumLiteralDeclaration_33.eContents().get(0);
		private final EnumLiteralDeclaration cSYNCEnumLiteralDeclaration_34 = (EnumLiteralDeclaration)cAlternatives.eContents().get(34);
		private final Keyword cSYNCSyncKeyword_34_0 = (Keyword)cSYNCEnumLiteralDeclaration_34.eContents().get(0);
		private final EnumLiteralDeclaration cASYNCEnumLiteralDeclaration_35 = (EnumLiteralDeclaration)cAlternatives.eContents().get(35);
		private final Keyword cASYNCAsyncKeyword_35_0 = (Keyword)cASYNCEnumLiteralDeclaration_35.eContents().get(0);
		private final EnumLiteralDeclaration cCPUIF_RESETEnumLiteralDeclaration_36 = (EnumLiteralDeclaration)cAlternatives.eContents().get(36);
		private final Keyword cCPUIF_RESETCpuif_resetKeyword_36_0 = (Keyword)cCPUIF_RESETEnumLiteralDeclaration_36.eContents().get(0);
		private final EnumLiteralDeclaration cFIELD_RESETEnumLiteralDeclaration_37 = (EnumLiteralDeclaration)cAlternatives.eContents().get(37);
		private final Keyword cFIELD_RESETField_resetKeyword_37_0 = (Keyword)cFIELD_RESETEnumLiteralDeclaration_37.eContents().get(0);
		private final EnumLiteralDeclaration cACTIVEHIGHEnumLiteralDeclaration_38 = (EnumLiteralDeclaration)cAlternatives.eContents().get(38);
		private final Keyword cACTIVEHIGHActivehighKeyword_38_0 = (Keyword)cACTIVEHIGHEnumLiteralDeclaration_38.eContents().get(0);
		private final EnumLiteralDeclaration cACTIVELOWEnumLiteralDeclaration_39 = (EnumLiteralDeclaration)cAlternatives.eContents().get(39);
		private final Keyword cACTIVELOWActivelowKeyword_39_0 = (Keyword)cACTIVELOWEnumLiteralDeclaration_39.eContents().get(0);
		private final EnumLiteralDeclaration cSINGLEPULSEEnumLiteralDeclaration_40 = (EnumLiteralDeclaration)cAlternatives.eContents().get(40);
		private final Keyword cSINGLEPULSESinglepulseKeyword_40_0 = (Keyword)cSINGLEPULSEEnumLiteralDeclaration_40.eContents().get(0);
		private final EnumLiteralDeclaration cUNDERFLOWEnumLiteralDeclaration_41 = (EnumLiteralDeclaration)cAlternatives.eContents().get(41);
		private final Keyword cUNDERFLOWUnderflowKeyword_41_0 = (Keyword)cUNDERFLOWEnumLiteralDeclaration_41.eContents().get(0);
		private final EnumLiteralDeclaration cINCREnumLiteralDeclaration_42 = (EnumLiteralDeclaration)cAlternatives.eContents().get(42);
		private final Keyword cINCRIncrKeyword_42_0 = (Keyword)cINCREnumLiteralDeclaration_42.eContents().get(0);
		private final EnumLiteralDeclaration cDECREnumLiteralDeclaration_43 = (EnumLiteralDeclaration)cAlternatives.eContents().get(43);
		private final Keyword cDECRDecrKeyword_43_0 = (Keyword)cDECREnumLiteralDeclaration_43.eContents().get(0);
		private final EnumLiteralDeclaration cINCRWIDTHEnumLiteralDeclaration_44 = (EnumLiteralDeclaration)cAlternatives.eContents().get(44);
		private final Keyword cINCRWIDTHIncrwidthKeyword_44_0 = (Keyword)cINCRWIDTHEnumLiteralDeclaration_44.eContents().get(0);
		private final EnumLiteralDeclaration cDECRWIDTHEnumLiteralDeclaration_45 = (EnumLiteralDeclaration)cAlternatives.eContents().get(45);
		private final Keyword cDECRWIDTHDecrwidthKeyword_45_0 = (Keyword)cDECRWIDTHEnumLiteralDeclaration_45.eContents().get(0);
		private final EnumLiteralDeclaration cINCRVALUEEnumLiteralDeclaration_46 = (EnumLiteralDeclaration)cAlternatives.eContents().get(46);
		private final Keyword cINCRVALUEIncrvalueKeyword_46_0 = (Keyword)cINCRVALUEEnumLiteralDeclaration_46.eContents().get(0);
		private final EnumLiteralDeclaration cDECRVALUEEnumLiteralDeclaration_47 = (EnumLiteralDeclaration)cAlternatives.eContents().get(47);
		private final Keyword cDECRVALUEDecrvalueKeyword_47_0 = (Keyword)cDECRVALUEEnumLiteralDeclaration_47.eContents().get(0);
		private final EnumLiteralDeclaration cSATURATEEnumLiteralDeclaration_48 = (EnumLiteralDeclaration)cAlternatives.eContents().get(48);
		private final Keyword cSATURATESaturateKeyword_48_0 = (Keyword)cSATURATEEnumLiteralDeclaration_48.eContents().get(0);
		private final EnumLiteralDeclaration cDECRSATURATEEnumLiteralDeclaration_49 = (EnumLiteralDeclaration)cAlternatives.eContents().get(49);
		private final Keyword cDECRSATURATEDecrsaturateKeyword_49_0 = (Keyword)cDECRSATURATEEnumLiteralDeclaration_49.eContents().get(0);
		private final EnumLiteralDeclaration cTHRESHOLDEnumLiteralDeclaration_50 = (EnumLiteralDeclaration)cAlternatives.eContents().get(50);
		private final Keyword cTHRESHOLDThresholdKeyword_50_0 = (Keyword)cTHRESHOLDEnumLiteralDeclaration_50.eContents().get(0);
		private final EnumLiteralDeclaration cDECRTHRESHOLDEnumLiteralDeclaration_51 = (EnumLiteralDeclaration)cAlternatives.eContents().get(51);
		private final Keyword cDECRTHRESHOLDDecrthresholdKeyword_51_0 = (Keyword)cDECRTHRESHOLDEnumLiteralDeclaration_51.eContents().get(0);
		private final EnumLiteralDeclaration cDONTCOMPAREEnumLiteralDeclaration_52 = (EnumLiteralDeclaration)cAlternatives.eContents().get(52);
		private final Keyword cDONTCOMPAREDontcompareKeyword_52_0 = (Keyword)cDONTCOMPAREEnumLiteralDeclaration_52.eContents().get(0);
		private final EnumLiteralDeclaration cDONTTESTEnumLiteralDeclaration_53 = (EnumLiteralDeclaration)cAlternatives.eContents().get(53);
		private final Keyword cDONTTESTDonttestKeyword_53_0 = (Keyword)cDONTTESTEnumLiteralDeclaration_53.eContents().get(0);
		private final EnumLiteralDeclaration cINTERNALEnumLiteralDeclaration_54 = (EnumLiteralDeclaration)cAlternatives.eContents().get(54);
		private final Keyword cINTERNALInternalKeyword_54_0 = (Keyword)cINTERNALEnumLiteralDeclaration_54.eContents().get(0);
		private final EnumLiteralDeclaration cALIGNMENTEnumLiteralDeclaration_55 = (EnumLiteralDeclaration)cAlternatives.eContents().get(55);
		private final Keyword cALIGNMENTAlignmentKeyword_55_0 = (Keyword)cALIGNMENTEnumLiteralDeclaration_55.eContents().get(0);
		private final EnumLiteralDeclaration cREGWIDTHEnumLiteralDeclaration_56 = (EnumLiteralDeclaration)cAlternatives.eContents().get(56);
		private final Keyword cREGWIDTHRegwidthKeyword_56_0 = (Keyword)cREGWIDTHEnumLiteralDeclaration_56.eContents().get(0);
		private final EnumLiteralDeclaration cFIELDWIDTHEnumLiteralDeclaration_57 = (EnumLiteralDeclaration)cAlternatives.eContents().get(57);
		private final Keyword cFIELDWIDTHFieldwidthKeyword_57_0 = (Keyword)cFIELDWIDTHEnumLiteralDeclaration_57.eContents().get(0);
		private final EnumLiteralDeclaration cSIGNALWIDTHEnumLiteralDeclaration_58 = (EnumLiteralDeclaration)cAlternatives.eContents().get(58);
		private final Keyword cSIGNALWIDTHSignalwidthKeyword_58_0 = (Keyword)cSIGNALWIDTHEnumLiteralDeclaration_58.eContents().get(0);
		private final EnumLiteralDeclaration cACCESSWIDTHEnumLiteralDeclaration_59 = (EnumLiteralDeclaration)cAlternatives.eContents().get(59);
		private final Keyword cACCESSWIDTHAccesswidthKeyword_59_0 = (Keyword)cACCESSWIDTHEnumLiteralDeclaration_59.eContents().get(0);
		private final EnumLiteralDeclaration cSWEnumLiteralDeclaration_60 = (EnumLiteralDeclaration)cAlternatives.eContents().get(60);
		private final Keyword cSWSwKeyword_60_0 = (Keyword)cSWEnumLiteralDeclaration_60.eContents().get(0);
		private final EnumLiteralDeclaration cHWEnumLiteralDeclaration_61 = (EnumLiteralDeclaration)cAlternatives.eContents().get(61);
		private final Keyword cHWHwKeyword_61_0 = (Keyword)cHWEnumLiteralDeclaration_61.eContents().get(0);
		private final EnumLiteralDeclaration cADDRESSINGEnumLiteralDeclaration_62 = (EnumLiteralDeclaration)cAlternatives.eContents().get(62);
		private final Keyword cADDRESSINGAddressingKeyword_62_0 = (Keyword)cADDRESSINGEnumLiteralDeclaration_62.eContents().get(0);
		private final EnumLiteralDeclaration cPRECEDENCEEnumLiteralDeclaration_63 = (EnumLiteralDeclaration)cAlternatives.eContents().get(63);
		private final Keyword cPRECEDENCEPrecedenceKeyword_63_0 = (Keyword)cPRECEDENCEEnumLiteralDeclaration_63.eContents().get(0);
		private final EnumLiteralDeclaration cENCODEEnumLiteralDeclaration_64 = (EnumLiteralDeclaration)cAlternatives.eContents().get(64);
		private final Keyword cENCODEEncodeKeyword_64_0 = (Keyword)cENCODEEnumLiteralDeclaration_64.eContents().get(0);
		private final EnumLiteralDeclaration cRESETSIGNALEnumLiteralDeclaration_65 = (EnumLiteralDeclaration)cAlternatives.eContents().get(65);
		private final Keyword cRESETSIGNALResetsignalKeyword_65_0 = (Keyword)cRESETSIGNALEnumLiteralDeclaration_65.eContents().get(0);
		private final EnumLiteralDeclaration cCLOCKEnumLiteralDeclaration_66 = (EnumLiteralDeclaration)cAlternatives.eContents().get(66);
		private final Keyword cCLOCKClockKeyword_66_0 = (Keyword)cCLOCKEnumLiteralDeclaration_66.eContents().get(0);
		private final EnumLiteralDeclaration cMASKEnumLiteralDeclaration_67 = (EnumLiteralDeclaration)cAlternatives.eContents().get(67);
		private final Keyword cMASKMaskKeyword_67_0 = (Keyword)cMASKEnumLiteralDeclaration_67.eContents().get(0);
		private final EnumLiteralDeclaration cENABLEEnumLiteralDeclaration_68 = (EnumLiteralDeclaration)cAlternatives.eContents().get(68);
		private final Keyword cENABLEEnableKeyword_68_0 = (Keyword)cENABLEEnumLiteralDeclaration_68.eContents().get(0);
		private final EnumLiteralDeclaration cHWENABLEEnumLiteralDeclaration_69 = (EnumLiteralDeclaration)cAlternatives.eContents().get(69);
		private final Keyword cHWENABLEHwenableKeyword_69_0 = (Keyword)cHWENABLEEnumLiteralDeclaration_69.eContents().get(0);
		private final EnumLiteralDeclaration cHWMASKEnumLiteralDeclaration_70 = (EnumLiteralDeclaration)cAlternatives.eContents().get(70);
		private final Keyword cHWMASKHwmaskKeyword_70_0 = (Keyword)cHWMASKEnumLiteralDeclaration_70.eContents().get(0);
		private final EnumLiteralDeclaration cHALTMASKEnumLiteralDeclaration_71 = (EnumLiteralDeclaration)cAlternatives.eContents().get(71);
		private final Keyword cHALTMASKHaltmaskKeyword_71_0 = (Keyword)cHALTMASKEnumLiteralDeclaration_71.eContents().get(0);
		private final EnumLiteralDeclaration cHALTENABLEEnumLiteralDeclaration_72 = (EnumLiteralDeclaration)cAlternatives.eContents().get(72);
		private final Keyword cHALTENABLEHaltenableKeyword_72_0 = (Keyword)cHALTENABLEEnumLiteralDeclaration_72.eContents().get(0);
		private final EnumLiteralDeclaration cHALTEnumLiteralDeclaration_73 = (EnumLiteralDeclaration)cAlternatives.eContents().get(73);
		private final Keyword cHALTHaltKeyword_73_0 = (Keyword)cHALTEnumLiteralDeclaration_73.eContents().get(0);
		private final EnumLiteralDeclaration cNEXTEnumLiteralDeclaration_74 = (EnumLiteralDeclaration)cAlternatives.eContents().get(74);
		private final Keyword cNEXTNextKeyword_74_0 = (Keyword)cNEXTEnumLiteralDeclaration_74.eContents().get(0);
		
		//enum Property returns PropertyEnum:
		//    NAME="name" |
		//    DESC="desc" |
		//    ARBITER="arbiter" |
		//    RSET="rset" |
		//    RCLR="rclr" |
		//    WOCLR="woclr" |
		//    WOSET="woset" |
		//    WE="we" |
		//    WEL="wel" |
		//    SWWE="swwe" |
		//    SWWEL="swwel" |
		//    HWSET="hwset" |
		//    HWCLR="hwclr" |
		//    SWMOD="swmod" |
		//    SWACC="swacc" |
		//    STICKY="sticky" |
		//    STICKYBIT="stickybit" |
		//    INTR="intr" |
		//    ANDED="anded" |
		//    ORED="ored" |
		//    XORED="xored" |
		//    COUNTER="counter" |
		//    OVERFLOW="overflow" |
		//    SHAREDEXTBUS="sharedextbus" |
		//    ERREXTBUS="errextbus" |
		//    RESET="reset" |
		//    LITTLEENDIAN="littleendian" |
		//    BIGENDIAN="bigendian" |
		//     RSVDSET="rsvdset" |
		//    RSVDSETX="rsvdsetX" |
		//    BRIDGE="bridge" |
		//    SHARED="shared" |
		//    MSB0="msb0" |
		//    LSB0="lsb0" |
		//    SYNC="sync" |
		//    ASYNC="async" |
		//    CPUIF_RESET="cpuif_reset" |
		//    FIELD_RESET="field_reset" |
		//    ACTIVEHIGH="activehigh" |
		//    ACTIVELOW="activelow" |
		//    SINGLEPULSE="singlepulse" |
		//    UNDERFLOW="underflow" |
		//    INCR="incr" |
		//    DECR="decr" |
		//    INCRWIDTH="incrwidth" |
		//    DECRWIDTH="decrwidth" |
		//    INCRVALUE="incrvalue" |
		//    DECRVALUE="decrvalue" |
		//    SATURATE="saturate" |
		//    DECRSATURATE="decrsaturate" |
		//    THRESHOLD="threshold" |
		//    DECRTHRESHOLD="decrthreshold" |
		//    DONTCOMPARE="dontcompare" |
		//    DONTTEST="donttest" |
		//    INTERNAL="internal" |
		//    ALIGNMENT="alignment" |
		//    REGWIDTH="regwidth" |
		//    FIELDWIDTH="fieldwidth" |
		//    SIGNALWIDTH="signalwidth" |
		//    ACCESSWIDTH="accesswidth" |
		//    SW="sw" |
		//    HW="hw" |
		//    ADDRESSING="addressing" |
		//    PRECEDENCE="precedence" |
		//    ENCODE="encode" |
		//    RESETSIGNAL="resetsignal" |
		//    CLOCK="clock" |
		//    MASK="mask" |
		//    ENABLE="enable" |
		//    HWENABLE="hwenable" |
		//    HWMASK="hwmask" |
		//    HALTMASK="haltmask" |
		//    HALTENABLE="haltenable" |
		//    HALT="halt" |
		//    NEXT="next"
		//      ;
		public EnumRule getRule() { return rule; }
		
		//NAME="name" |
		//DESC="desc" |
		//ARBITER="arbiter" |
		//RSET="rset" |
		//RCLR="rclr" |
		//WOCLR="woclr" |
		//WOSET="woset" |
		//WE="we" |
		//WEL="wel" |
		//SWWE="swwe" |
		//SWWEL="swwel" |
		//HWSET="hwset" |
		//HWCLR="hwclr" |
		//SWMOD="swmod" |
		//SWACC="swacc" |
		//STICKY="sticky" |
		//STICKYBIT="stickybit" |
		//INTR="intr" |
		//ANDED="anded" |
		//ORED="ored" |
		//XORED="xored" |
		//COUNTER="counter" |
		//OVERFLOW="overflow" |
		//SHAREDEXTBUS="sharedextbus" |
		//ERREXTBUS="errextbus" |
		//RESET="reset" |
		//LITTLEENDIAN="littleendian" |
		//BIGENDIAN="bigendian" |
		// RSVDSET="rsvdset" |
		//RSVDSETX="rsvdsetX" |
		//BRIDGE="bridge" |
		//SHARED="shared" |
		//MSB0="msb0" |
		//LSB0="lsb0" |
		//SYNC="sync" |
		//ASYNC="async" |
		//CPUIF_RESET="cpuif_reset" |
		//FIELD_RESET="field_reset" |
		//ACTIVEHIGH="activehigh" |
		//ACTIVELOW="activelow" |
		//SINGLEPULSE="singlepulse" |
		//UNDERFLOW="underflow" |
		//INCR="incr" |
		//DECR="decr" |
		//INCRWIDTH="incrwidth" |
		//DECRWIDTH="decrwidth" |
		//INCRVALUE="incrvalue" |
		//DECRVALUE="decrvalue" |
		//SATURATE="saturate" |
		//DECRSATURATE="decrsaturate" |
		//THRESHOLD="threshold" |
		//DECRTHRESHOLD="decrthreshold" |
		//DONTCOMPARE="dontcompare" |
		//DONTTEST="donttest" |
		//INTERNAL="internal" |
		//ALIGNMENT="alignment" |
		//REGWIDTH="regwidth" |
		//FIELDWIDTH="fieldwidth" |
		//SIGNALWIDTH="signalwidth" |
		//ACCESSWIDTH="accesswidth" |
		//SW="sw" |
		//HW="hw" |
		//ADDRESSING="addressing" |
		//PRECEDENCE="precedence" |
		//ENCODE="encode" |
		//RESETSIGNAL="resetsignal" |
		//CLOCK="clock" |
		//MASK="mask" |
		//ENABLE="enable" |
		//HWENABLE="hwenable" |
		//HWMASK="hwmask" |
		//HALTMASK="haltmask" |
		//HALTENABLE="haltenable" |
		//HALT="halt" |
		//NEXT="next"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//NAME="name"
		public EnumLiteralDeclaration getNAMEEnumLiteralDeclaration_0() { return cNAMEEnumLiteralDeclaration_0; }
		
		//"name"
		public Keyword getNAMENameKeyword_0_0() { return cNAMENameKeyword_0_0; }
		
		//DESC="desc"
		public EnumLiteralDeclaration getDESCEnumLiteralDeclaration_1() { return cDESCEnumLiteralDeclaration_1; }
		
		//"desc"
		public Keyword getDESCDescKeyword_1_0() { return cDESCDescKeyword_1_0; }
		
		//ARBITER="arbiter"
		public EnumLiteralDeclaration getARBITEREnumLiteralDeclaration_2() { return cARBITEREnumLiteralDeclaration_2; }
		
		//"arbiter"
		public Keyword getARBITERArbiterKeyword_2_0() { return cARBITERArbiterKeyword_2_0; }
		
		//RSET="rset"
		public EnumLiteralDeclaration getRSETEnumLiteralDeclaration_3() { return cRSETEnumLiteralDeclaration_3; }
		
		//"rset"
		public Keyword getRSETRsetKeyword_3_0() { return cRSETRsetKeyword_3_0; }
		
		//RCLR="rclr"
		public EnumLiteralDeclaration getRCLREnumLiteralDeclaration_4() { return cRCLREnumLiteralDeclaration_4; }
		
		//"rclr"
		public Keyword getRCLRRclrKeyword_4_0() { return cRCLRRclrKeyword_4_0; }
		
		//WOCLR="woclr"
		public EnumLiteralDeclaration getWOCLREnumLiteralDeclaration_5() { return cWOCLREnumLiteralDeclaration_5; }
		
		//"woclr"
		public Keyword getWOCLRWoclrKeyword_5_0() { return cWOCLRWoclrKeyword_5_0; }
		
		//WOSET="woset"
		public EnumLiteralDeclaration getWOSETEnumLiteralDeclaration_6() { return cWOSETEnumLiteralDeclaration_6; }
		
		//"woset"
		public Keyword getWOSETWosetKeyword_6_0() { return cWOSETWosetKeyword_6_0; }
		
		//WE="we"
		public EnumLiteralDeclaration getWEEnumLiteralDeclaration_7() { return cWEEnumLiteralDeclaration_7; }
		
		//"we"
		public Keyword getWEWeKeyword_7_0() { return cWEWeKeyword_7_0; }
		
		//WEL="wel"
		public EnumLiteralDeclaration getWELEnumLiteralDeclaration_8() { return cWELEnumLiteralDeclaration_8; }
		
		//"wel"
		public Keyword getWELWelKeyword_8_0() { return cWELWelKeyword_8_0; }
		
		//SWWE="swwe"
		public EnumLiteralDeclaration getSWWEEnumLiteralDeclaration_9() { return cSWWEEnumLiteralDeclaration_9; }
		
		//"swwe"
		public Keyword getSWWESwweKeyword_9_0() { return cSWWESwweKeyword_9_0; }
		
		//SWWEL="swwel"
		public EnumLiteralDeclaration getSWWELEnumLiteralDeclaration_10() { return cSWWELEnumLiteralDeclaration_10; }
		
		//"swwel"
		public Keyword getSWWELSwwelKeyword_10_0() { return cSWWELSwwelKeyword_10_0; }
		
		//HWSET="hwset"
		public EnumLiteralDeclaration getHWSETEnumLiteralDeclaration_11() { return cHWSETEnumLiteralDeclaration_11; }
		
		//"hwset"
		public Keyword getHWSETHwsetKeyword_11_0() { return cHWSETHwsetKeyword_11_0; }
		
		//HWCLR="hwclr"
		public EnumLiteralDeclaration getHWCLREnumLiteralDeclaration_12() { return cHWCLREnumLiteralDeclaration_12; }
		
		//"hwclr"
		public Keyword getHWCLRHwclrKeyword_12_0() { return cHWCLRHwclrKeyword_12_0; }
		
		//SWMOD="swmod"
		public EnumLiteralDeclaration getSWMODEnumLiteralDeclaration_13() { return cSWMODEnumLiteralDeclaration_13; }
		
		//"swmod"
		public Keyword getSWMODSwmodKeyword_13_0() { return cSWMODSwmodKeyword_13_0; }
		
		//SWACC="swacc"
		public EnumLiteralDeclaration getSWACCEnumLiteralDeclaration_14() { return cSWACCEnumLiteralDeclaration_14; }
		
		//"swacc"
		public Keyword getSWACCSwaccKeyword_14_0() { return cSWACCSwaccKeyword_14_0; }
		
		//STICKY="sticky"
		public EnumLiteralDeclaration getSTICKYEnumLiteralDeclaration_15() { return cSTICKYEnumLiteralDeclaration_15; }
		
		//"sticky"
		public Keyword getSTICKYStickyKeyword_15_0() { return cSTICKYStickyKeyword_15_0; }
		
		//STICKYBIT="stickybit"
		public EnumLiteralDeclaration getSTICKYBITEnumLiteralDeclaration_16() { return cSTICKYBITEnumLiteralDeclaration_16; }
		
		//"stickybit"
		public Keyword getSTICKYBITStickybitKeyword_16_0() { return cSTICKYBITStickybitKeyword_16_0; }
		
		//INTR="intr"
		public EnumLiteralDeclaration getINTREnumLiteralDeclaration_17() { return cINTREnumLiteralDeclaration_17; }
		
		//"intr"
		public Keyword getINTRIntrKeyword_17_0() { return cINTRIntrKeyword_17_0; }
		
		//ANDED="anded"
		public EnumLiteralDeclaration getANDEDEnumLiteralDeclaration_18() { return cANDEDEnumLiteralDeclaration_18; }
		
		//"anded"
		public Keyword getANDEDAndedKeyword_18_0() { return cANDEDAndedKeyword_18_0; }
		
		//ORED="ored"
		public EnumLiteralDeclaration getOREDEnumLiteralDeclaration_19() { return cOREDEnumLiteralDeclaration_19; }
		
		//"ored"
		public Keyword getOREDOredKeyword_19_0() { return cOREDOredKeyword_19_0; }
		
		//XORED="xored"
		public EnumLiteralDeclaration getXOREDEnumLiteralDeclaration_20() { return cXOREDEnumLiteralDeclaration_20; }
		
		//"xored"
		public Keyword getXOREDXoredKeyword_20_0() { return cXOREDXoredKeyword_20_0; }
		
		//COUNTER="counter"
		public EnumLiteralDeclaration getCOUNTEREnumLiteralDeclaration_21() { return cCOUNTEREnumLiteralDeclaration_21; }
		
		//"counter"
		public Keyword getCOUNTERCounterKeyword_21_0() { return cCOUNTERCounterKeyword_21_0; }
		
		//OVERFLOW="overflow"
		public EnumLiteralDeclaration getOVERFLOWEnumLiteralDeclaration_22() { return cOVERFLOWEnumLiteralDeclaration_22; }
		
		//"overflow"
		public Keyword getOVERFLOWOverflowKeyword_22_0() { return cOVERFLOWOverflowKeyword_22_0; }
		
		//SHAREDEXTBUS="sharedextbus"
		public EnumLiteralDeclaration getSHAREDEXTBUSEnumLiteralDeclaration_23() { return cSHAREDEXTBUSEnumLiteralDeclaration_23; }
		
		//"sharedextbus"
		public Keyword getSHAREDEXTBUSSharedextbusKeyword_23_0() { return cSHAREDEXTBUSSharedextbusKeyword_23_0; }
		
		//ERREXTBUS="errextbus"
		public EnumLiteralDeclaration getERREXTBUSEnumLiteralDeclaration_24() { return cERREXTBUSEnumLiteralDeclaration_24; }
		
		//"errextbus"
		public Keyword getERREXTBUSErrextbusKeyword_24_0() { return cERREXTBUSErrextbusKeyword_24_0; }
		
		//RESET="reset"
		public EnumLiteralDeclaration getRESETEnumLiteralDeclaration_25() { return cRESETEnumLiteralDeclaration_25; }
		
		//"reset"
		public Keyword getRESETResetKeyword_25_0() { return cRESETResetKeyword_25_0; }
		
		//LITTLEENDIAN="littleendian"
		public EnumLiteralDeclaration getLITTLEENDIANEnumLiteralDeclaration_26() { return cLITTLEENDIANEnumLiteralDeclaration_26; }
		
		//"littleendian"
		public Keyword getLITTLEENDIANLittleendianKeyword_26_0() { return cLITTLEENDIANLittleendianKeyword_26_0; }
		
		//BIGENDIAN="bigendian"
		public EnumLiteralDeclaration getBIGENDIANEnumLiteralDeclaration_27() { return cBIGENDIANEnumLiteralDeclaration_27; }
		
		//"bigendian"
		public Keyword getBIGENDIANBigendianKeyword_27_0() { return cBIGENDIANBigendianKeyword_27_0; }
		
		//RSVDSET="rsvdset"
		public EnumLiteralDeclaration getRSVDSETEnumLiteralDeclaration_28() { return cRSVDSETEnumLiteralDeclaration_28; }
		
		//"rsvdset"
		public Keyword getRSVDSETRsvdsetKeyword_28_0() { return cRSVDSETRsvdsetKeyword_28_0; }
		
		//RSVDSETX="rsvdsetX"
		public EnumLiteralDeclaration getRSVDSETXEnumLiteralDeclaration_29() { return cRSVDSETXEnumLiteralDeclaration_29; }
		
		//"rsvdsetX"
		public Keyword getRSVDSETXRsvdsetXKeyword_29_0() { return cRSVDSETXRsvdsetXKeyword_29_0; }
		
		//BRIDGE="bridge"
		public EnumLiteralDeclaration getBRIDGEEnumLiteralDeclaration_30() { return cBRIDGEEnumLiteralDeclaration_30; }
		
		//"bridge"
		public Keyword getBRIDGEBridgeKeyword_30_0() { return cBRIDGEBridgeKeyword_30_0; }
		
		//SHARED="shared"
		public EnumLiteralDeclaration getSHAREDEnumLiteralDeclaration_31() { return cSHAREDEnumLiteralDeclaration_31; }
		
		//"shared"
		public Keyword getSHAREDSharedKeyword_31_0() { return cSHAREDSharedKeyword_31_0; }
		
		//MSB0="msb0"
		public EnumLiteralDeclaration getMSB0EnumLiteralDeclaration_32() { return cMSB0EnumLiteralDeclaration_32; }
		
		//"msb0"
		public Keyword getMSB0Msb0Keyword_32_0() { return cMSB0Msb0Keyword_32_0; }
		
		//LSB0="lsb0"
		public EnumLiteralDeclaration getLSB0EnumLiteralDeclaration_33() { return cLSB0EnumLiteralDeclaration_33; }
		
		//"lsb0"
		public Keyword getLSB0Lsb0Keyword_33_0() { return cLSB0Lsb0Keyword_33_0; }
		
		//SYNC="sync"
		public EnumLiteralDeclaration getSYNCEnumLiteralDeclaration_34() { return cSYNCEnumLiteralDeclaration_34; }
		
		//"sync"
		public Keyword getSYNCSyncKeyword_34_0() { return cSYNCSyncKeyword_34_0; }
		
		//ASYNC="async"
		public EnumLiteralDeclaration getASYNCEnumLiteralDeclaration_35() { return cASYNCEnumLiteralDeclaration_35; }
		
		//"async"
		public Keyword getASYNCAsyncKeyword_35_0() { return cASYNCAsyncKeyword_35_0; }
		
		//CPUIF_RESET="cpuif_reset"
		public EnumLiteralDeclaration getCPUIF_RESETEnumLiteralDeclaration_36() { return cCPUIF_RESETEnumLiteralDeclaration_36; }
		
		//"cpuif_reset"
		public Keyword getCPUIF_RESETCpuif_resetKeyword_36_0() { return cCPUIF_RESETCpuif_resetKeyword_36_0; }
		
		//FIELD_RESET="field_reset"
		public EnumLiteralDeclaration getFIELD_RESETEnumLiteralDeclaration_37() { return cFIELD_RESETEnumLiteralDeclaration_37; }
		
		//"field_reset"
		public Keyword getFIELD_RESETField_resetKeyword_37_0() { return cFIELD_RESETField_resetKeyword_37_0; }
		
		//ACTIVEHIGH="activehigh"
		public EnumLiteralDeclaration getACTIVEHIGHEnumLiteralDeclaration_38() { return cACTIVEHIGHEnumLiteralDeclaration_38; }
		
		//"activehigh"
		public Keyword getACTIVEHIGHActivehighKeyword_38_0() { return cACTIVEHIGHActivehighKeyword_38_0; }
		
		//ACTIVELOW="activelow"
		public EnumLiteralDeclaration getACTIVELOWEnumLiteralDeclaration_39() { return cACTIVELOWEnumLiteralDeclaration_39; }
		
		//"activelow"
		public Keyword getACTIVELOWActivelowKeyword_39_0() { return cACTIVELOWActivelowKeyword_39_0; }
		
		//SINGLEPULSE="singlepulse"
		public EnumLiteralDeclaration getSINGLEPULSEEnumLiteralDeclaration_40() { return cSINGLEPULSEEnumLiteralDeclaration_40; }
		
		//"singlepulse"
		public Keyword getSINGLEPULSESinglepulseKeyword_40_0() { return cSINGLEPULSESinglepulseKeyword_40_0; }
		
		//UNDERFLOW="underflow"
		public EnumLiteralDeclaration getUNDERFLOWEnumLiteralDeclaration_41() { return cUNDERFLOWEnumLiteralDeclaration_41; }
		
		//"underflow"
		public Keyword getUNDERFLOWUnderflowKeyword_41_0() { return cUNDERFLOWUnderflowKeyword_41_0; }
		
		//INCR="incr"
		public EnumLiteralDeclaration getINCREnumLiteralDeclaration_42() { return cINCREnumLiteralDeclaration_42; }
		
		//"incr"
		public Keyword getINCRIncrKeyword_42_0() { return cINCRIncrKeyword_42_0; }
		
		//DECR="decr"
		public EnumLiteralDeclaration getDECREnumLiteralDeclaration_43() { return cDECREnumLiteralDeclaration_43; }
		
		//"decr"
		public Keyword getDECRDecrKeyword_43_0() { return cDECRDecrKeyword_43_0; }
		
		//INCRWIDTH="incrwidth"
		public EnumLiteralDeclaration getINCRWIDTHEnumLiteralDeclaration_44() { return cINCRWIDTHEnumLiteralDeclaration_44; }
		
		//"incrwidth"
		public Keyword getINCRWIDTHIncrwidthKeyword_44_0() { return cINCRWIDTHIncrwidthKeyword_44_0; }
		
		//DECRWIDTH="decrwidth"
		public EnumLiteralDeclaration getDECRWIDTHEnumLiteralDeclaration_45() { return cDECRWIDTHEnumLiteralDeclaration_45; }
		
		//"decrwidth"
		public Keyword getDECRWIDTHDecrwidthKeyword_45_0() { return cDECRWIDTHDecrwidthKeyword_45_0; }
		
		//INCRVALUE="incrvalue"
		public EnumLiteralDeclaration getINCRVALUEEnumLiteralDeclaration_46() { return cINCRVALUEEnumLiteralDeclaration_46; }
		
		//"incrvalue"
		public Keyword getINCRVALUEIncrvalueKeyword_46_0() { return cINCRVALUEIncrvalueKeyword_46_0; }
		
		//DECRVALUE="decrvalue"
		public EnumLiteralDeclaration getDECRVALUEEnumLiteralDeclaration_47() { return cDECRVALUEEnumLiteralDeclaration_47; }
		
		//"decrvalue"
		public Keyword getDECRVALUEDecrvalueKeyword_47_0() { return cDECRVALUEDecrvalueKeyword_47_0; }
		
		//SATURATE="saturate"
		public EnumLiteralDeclaration getSATURATEEnumLiteralDeclaration_48() { return cSATURATEEnumLiteralDeclaration_48; }
		
		//"saturate"
		public Keyword getSATURATESaturateKeyword_48_0() { return cSATURATESaturateKeyword_48_0; }
		
		//DECRSATURATE="decrsaturate"
		public EnumLiteralDeclaration getDECRSATURATEEnumLiteralDeclaration_49() { return cDECRSATURATEEnumLiteralDeclaration_49; }
		
		//"decrsaturate"
		public Keyword getDECRSATURATEDecrsaturateKeyword_49_0() { return cDECRSATURATEDecrsaturateKeyword_49_0; }
		
		//THRESHOLD="threshold"
		public EnumLiteralDeclaration getTHRESHOLDEnumLiteralDeclaration_50() { return cTHRESHOLDEnumLiteralDeclaration_50; }
		
		//"threshold"
		public Keyword getTHRESHOLDThresholdKeyword_50_0() { return cTHRESHOLDThresholdKeyword_50_0; }
		
		//DECRTHRESHOLD="decrthreshold"
		public EnumLiteralDeclaration getDECRTHRESHOLDEnumLiteralDeclaration_51() { return cDECRTHRESHOLDEnumLiteralDeclaration_51; }
		
		//"decrthreshold"
		public Keyword getDECRTHRESHOLDDecrthresholdKeyword_51_0() { return cDECRTHRESHOLDDecrthresholdKeyword_51_0; }
		
		//DONTCOMPARE="dontcompare"
		public EnumLiteralDeclaration getDONTCOMPAREEnumLiteralDeclaration_52() { return cDONTCOMPAREEnumLiteralDeclaration_52; }
		
		//"dontcompare"
		public Keyword getDONTCOMPAREDontcompareKeyword_52_0() { return cDONTCOMPAREDontcompareKeyword_52_0; }
		
		//DONTTEST="donttest"
		public EnumLiteralDeclaration getDONTTESTEnumLiteralDeclaration_53() { return cDONTTESTEnumLiteralDeclaration_53; }
		
		//"donttest"
		public Keyword getDONTTESTDonttestKeyword_53_0() { return cDONTTESTDonttestKeyword_53_0; }
		
		//INTERNAL="internal"
		public EnumLiteralDeclaration getINTERNALEnumLiteralDeclaration_54() { return cINTERNALEnumLiteralDeclaration_54; }
		
		//"internal"
		public Keyword getINTERNALInternalKeyword_54_0() { return cINTERNALInternalKeyword_54_0; }
		
		//ALIGNMENT="alignment"
		public EnumLiteralDeclaration getALIGNMENTEnumLiteralDeclaration_55() { return cALIGNMENTEnumLiteralDeclaration_55; }
		
		//"alignment"
		public Keyword getALIGNMENTAlignmentKeyword_55_0() { return cALIGNMENTAlignmentKeyword_55_0; }
		
		//REGWIDTH="regwidth"
		public EnumLiteralDeclaration getREGWIDTHEnumLiteralDeclaration_56() { return cREGWIDTHEnumLiteralDeclaration_56; }
		
		//"regwidth"
		public Keyword getREGWIDTHRegwidthKeyword_56_0() { return cREGWIDTHRegwidthKeyword_56_0; }
		
		//FIELDWIDTH="fieldwidth"
		public EnumLiteralDeclaration getFIELDWIDTHEnumLiteralDeclaration_57() { return cFIELDWIDTHEnumLiteralDeclaration_57; }
		
		//"fieldwidth"
		public Keyword getFIELDWIDTHFieldwidthKeyword_57_0() { return cFIELDWIDTHFieldwidthKeyword_57_0; }
		
		//SIGNALWIDTH="signalwidth"
		public EnumLiteralDeclaration getSIGNALWIDTHEnumLiteralDeclaration_58() { return cSIGNALWIDTHEnumLiteralDeclaration_58; }
		
		//"signalwidth"
		public Keyword getSIGNALWIDTHSignalwidthKeyword_58_0() { return cSIGNALWIDTHSignalwidthKeyword_58_0; }
		
		//ACCESSWIDTH="accesswidth"
		public EnumLiteralDeclaration getACCESSWIDTHEnumLiteralDeclaration_59() { return cACCESSWIDTHEnumLiteralDeclaration_59; }
		
		//"accesswidth"
		public Keyword getACCESSWIDTHAccesswidthKeyword_59_0() { return cACCESSWIDTHAccesswidthKeyword_59_0; }
		
		//SW="sw"
		public EnumLiteralDeclaration getSWEnumLiteralDeclaration_60() { return cSWEnumLiteralDeclaration_60; }
		
		//"sw"
		public Keyword getSWSwKeyword_60_0() { return cSWSwKeyword_60_0; }
		
		//HW="hw"
		public EnumLiteralDeclaration getHWEnumLiteralDeclaration_61() { return cHWEnumLiteralDeclaration_61; }
		
		//"hw"
		public Keyword getHWHwKeyword_61_0() { return cHWHwKeyword_61_0; }
		
		//ADDRESSING="addressing"
		public EnumLiteralDeclaration getADDRESSINGEnumLiteralDeclaration_62() { return cADDRESSINGEnumLiteralDeclaration_62; }
		
		//"addressing"
		public Keyword getADDRESSINGAddressingKeyword_62_0() { return cADDRESSINGAddressingKeyword_62_0; }
		
		//PRECEDENCE="precedence"
		public EnumLiteralDeclaration getPRECEDENCEEnumLiteralDeclaration_63() { return cPRECEDENCEEnumLiteralDeclaration_63; }
		
		//"precedence"
		public Keyword getPRECEDENCEPrecedenceKeyword_63_0() { return cPRECEDENCEPrecedenceKeyword_63_0; }
		
		//ENCODE="encode"
		public EnumLiteralDeclaration getENCODEEnumLiteralDeclaration_64() { return cENCODEEnumLiteralDeclaration_64; }
		
		//"encode"
		public Keyword getENCODEEncodeKeyword_64_0() { return cENCODEEncodeKeyword_64_0; }
		
		//RESETSIGNAL="resetsignal"
		public EnumLiteralDeclaration getRESETSIGNALEnumLiteralDeclaration_65() { return cRESETSIGNALEnumLiteralDeclaration_65; }
		
		//"resetsignal"
		public Keyword getRESETSIGNALResetsignalKeyword_65_0() { return cRESETSIGNALResetsignalKeyword_65_0; }
		
		//CLOCK="clock"
		public EnumLiteralDeclaration getCLOCKEnumLiteralDeclaration_66() { return cCLOCKEnumLiteralDeclaration_66; }
		
		//"clock"
		public Keyword getCLOCKClockKeyword_66_0() { return cCLOCKClockKeyword_66_0; }
		
		//MASK="mask"
		public EnumLiteralDeclaration getMASKEnumLiteralDeclaration_67() { return cMASKEnumLiteralDeclaration_67; }
		
		//"mask"
		public Keyword getMASKMaskKeyword_67_0() { return cMASKMaskKeyword_67_0; }
		
		//ENABLE="enable"
		public EnumLiteralDeclaration getENABLEEnumLiteralDeclaration_68() { return cENABLEEnumLiteralDeclaration_68; }
		
		//"enable"
		public Keyword getENABLEEnableKeyword_68_0() { return cENABLEEnableKeyword_68_0; }
		
		//HWENABLE="hwenable"
		public EnumLiteralDeclaration getHWENABLEEnumLiteralDeclaration_69() { return cHWENABLEEnumLiteralDeclaration_69; }
		
		//"hwenable"
		public Keyword getHWENABLEHwenableKeyword_69_0() { return cHWENABLEHwenableKeyword_69_0; }
		
		//HWMASK="hwmask"
		public EnumLiteralDeclaration getHWMASKEnumLiteralDeclaration_70() { return cHWMASKEnumLiteralDeclaration_70; }
		
		//"hwmask"
		public Keyword getHWMASKHwmaskKeyword_70_0() { return cHWMASKHwmaskKeyword_70_0; }
		
		//HALTMASK="haltmask"
		public EnumLiteralDeclaration getHALTMASKEnumLiteralDeclaration_71() { return cHALTMASKEnumLiteralDeclaration_71; }
		
		//"haltmask"
		public Keyword getHALTMASKHaltmaskKeyword_71_0() { return cHALTMASKHaltmaskKeyword_71_0; }
		
		//HALTENABLE="haltenable"
		public EnumLiteralDeclaration getHALTENABLEEnumLiteralDeclaration_72() { return cHALTENABLEEnumLiteralDeclaration_72; }
		
		//"haltenable"
		public Keyword getHALTENABLEHaltenableKeyword_72_0() { return cHALTENABLEHaltenableKeyword_72_0; }
		
		//HALT="halt"
		public EnumLiteralDeclaration getHALTEnumLiteralDeclaration_73() { return cHALTEnumLiteralDeclaration_73; }
		
		//"halt"
		public Keyword getHALTHaltKeyword_73_0() { return cHALTHaltKeyword_73_0; }
		
		//NEXT="next"
		public EnumLiteralDeclaration getNEXTEnumLiteralDeclaration_74() { return cNEXTEnumLiteralDeclaration_74; }
		
		//"next"
		public Keyword getNEXTNextKeyword_74_0() { return cNEXTNextKeyword_74_0; }
	}
	public class RValueConstantElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.RValueConstant");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cUNDEFINEDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cUNDEFINEDUNDEFINEDKeyword_0_0 = (Keyword)cUNDEFINEDEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cTRUETrueKeyword_1_0 = (Keyword)cTRUEEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cFALSEFalseKeyword_2_0 = (Keyword)cFALSEEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cRWEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cRWRwKeyword_3_0 = (Keyword)cRWEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cWREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cWRWrKeyword_4_0 = (Keyword)cWREnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cREnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cRRKeyword_5_0 = (Keyword)cREnumLiteralDeclaration_5.eContents().get(0);
		private final EnumLiteralDeclaration cWEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
		private final Keyword cWWKeyword_6_0 = (Keyword)cWEnumLiteralDeclaration_6.eContents().get(0);
		private final EnumLiteralDeclaration cNAEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
		private final Keyword cNANaKeyword_7_0 = (Keyword)cNAEnumLiteralDeclaration_7.eContents().get(0);
		private final EnumLiteralDeclaration cCOMPACTEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
		private final Keyword cCOMPACTCompactKeyword_8_0 = (Keyword)cCOMPACTEnumLiteralDeclaration_8.eContents().get(0);
		private final EnumLiteralDeclaration cREGALIGNEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
		private final Keyword cREGALIGNRegalignKeyword_9_0 = (Keyword)cREGALIGNEnumLiteralDeclaration_9.eContents().get(0);
		private final EnumLiteralDeclaration cFULLALIGNEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
		private final Keyword cFULLALIGNFullalignKeyword_10_0 = (Keyword)cFULLALIGNEnumLiteralDeclaration_10.eContents().get(0);
		private final EnumLiteralDeclaration cHWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
		private final Keyword cHWHwKeyword_11_0 = (Keyword)cHWEnumLiteralDeclaration_11.eContents().get(0);
		private final EnumLiteralDeclaration cSWEnumLiteralDeclaration_12 = (EnumLiteralDeclaration)cAlternatives.eContents().get(12);
		private final Keyword cSWSwKeyword_12_0 = (Keyword)cSWEnumLiteralDeclaration_12.eContents().get(0);
		
		//enum RValueConstant:
		//    UNDEFINED | TRUE="true" | FALSE="false" | RW="rw" | WR="wr" | R="r" | W="w" | NA="na" | COMPACT="compact" | REGALIGN="regalign" | FULLALIGN="fullalign" | HW="hw" | SW="sw"
		//;
		public EnumRule getRule() { return rule; }
		
		//UNDEFINED | TRUE="true" | FALSE="false" | RW="rw" | WR="wr" | R="r" | W="w" | NA="na" | COMPACT="compact" | REGALIGN="regalign" | FULLALIGN="fullalign" | HW="hw" | SW="sw"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//UNDEFINED
		public EnumLiteralDeclaration getUNDEFINEDEnumLiteralDeclaration_0() { return cUNDEFINEDEnumLiteralDeclaration_0; }
		
		public Keyword getUNDEFINEDUNDEFINEDKeyword_0_0() { return cUNDEFINEDUNDEFINEDKeyword_0_0; }
		
		//TRUE="true"
		public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_1() { return cTRUEEnumLiteralDeclaration_1; }
		
		//"true"
		public Keyword getTRUETrueKeyword_1_0() { return cTRUETrueKeyword_1_0; }
		
		//FALSE="false"
		public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_2() { return cFALSEEnumLiteralDeclaration_2; }
		
		//"false"
		public Keyword getFALSEFalseKeyword_2_0() { return cFALSEFalseKeyword_2_0; }
		
		//RW="rw"
		public EnumLiteralDeclaration getRWEnumLiteralDeclaration_3() { return cRWEnumLiteralDeclaration_3; }
		
		//"rw"
		public Keyword getRWRwKeyword_3_0() { return cRWRwKeyword_3_0; }
		
		//WR="wr"
		public EnumLiteralDeclaration getWREnumLiteralDeclaration_4() { return cWREnumLiteralDeclaration_4; }
		
		//"wr"
		public Keyword getWRWrKeyword_4_0() { return cWRWrKeyword_4_0; }
		
		//R="r"
		public EnumLiteralDeclaration getREnumLiteralDeclaration_5() { return cREnumLiteralDeclaration_5; }
		
		//"r"
		public Keyword getRRKeyword_5_0() { return cRRKeyword_5_0; }
		
		//W="w"
		public EnumLiteralDeclaration getWEnumLiteralDeclaration_6() { return cWEnumLiteralDeclaration_6; }
		
		//"w"
		public Keyword getWWKeyword_6_0() { return cWWKeyword_6_0; }
		
		//NA="na"
		public EnumLiteralDeclaration getNAEnumLiteralDeclaration_7() { return cNAEnumLiteralDeclaration_7; }
		
		//"na"
		public Keyword getNANaKeyword_7_0() { return cNANaKeyword_7_0; }
		
		//COMPACT="compact"
		public EnumLiteralDeclaration getCOMPACTEnumLiteralDeclaration_8() { return cCOMPACTEnumLiteralDeclaration_8; }
		
		//"compact"
		public Keyword getCOMPACTCompactKeyword_8_0() { return cCOMPACTCompactKeyword_8_0; }
		
		//REGALIGN="regalign"
		public EnumLiteralDeclaration getREGALIGNEnumLiteralDeclaration_9() { return cREGALIGNEnumLiteralDeclaration_9; }
		
		//"regalign"
		public Keyword getREGALIGNRegalignKeyword_9_0() { return cREGALIGNRegalignKeyword_9_0; }
		
		//FULLALIGN="fullalign"
		public EnumLiteralDeclaration getFULLALIGNEnumLiteralDeclaration_10() { return cFULLALIGNEnumLiteralDeclaration_10; }
		
		//"fullalign"
		public Keyword getFULLALIGNFullalignKeyword_10_0() { return cFULLALIGNFullalignKeyword_10_0; }
		
		//HW="hw"
		public EnumLiteralDeclaration getHWEnumLiteralDeclaration_11() { return cHWEnumLiteralDeclaration_11; }
		
		//"hw"
		public Keyword getHWHwKeyword_11_0() { return cHWHwKeyword_11_0; }
		
		//SW="sw"
		public EnumLiteralDeclaration getSWEnumLiteralDeclaration_12() { return cSWEnumLiteralDeclaration_12; }
		
		//"sw"
		public Keyword getSWSwKeyword_12_0() { return cSWSwKeyword_12_0; }
	}
	public class PropertyModifierElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyModifier");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cUNDEFINEDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cUNDEFINEDUNDEFINEDKeyword_0_0 = (Keyword)cUNDEFINEDEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cPOSEDGEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cPOSEDGEPosedgeKeyword_1_0 = (Keyword)cPOSEDGEEnumLiteralDeclaration_1.eContents().get(0);
		private final EnumLiteralDeclaration cNEGEDGEEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
		private final Keyword cNEGEDGENegedgeKeyword_2_0 = (Keyword)cNEGEDGEEnumLiteralDeclaration_2.eContents().get(0);
		private final EnumLiteralDeclaration cBOTHEDGEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
		private final Keyword cBOTHEDGEBothedgeKeyword_3_0 = (Keyword)cBOTHEDGEEnumLiteralDeclaration_3.eContents().get(0);
		private final EnumLiteralDeclaration cLEVELEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
		private final Keyword cLEVELLevelKeyword_4_0 = (Keyword)cLEVELEnumLiteralDeclaration_4.eContents().get(0);
		private final EnumLiteralDeclaration cNONSTICKYEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
		private final Keyword cNONSTICKYNonstickyKeyword_5_0 = (Keyword)cNONSTICKYEnumLiteralDeclaration_5.eContents().get(0);
		
		//enum PropertyModifier:
		//    UNDEFINED | POSEDGE="posedge" | NEGEDGE="negedge" | BOTHEDGE="bothedge" | LEVEL="level" | NONSTICKY="nonsticky"
		//    ;
		public EnumRule getRule() { return rule; }
		
		//UNDEFINED | POSEDGE="posedge" | NEGEDGE="negedge" | BOTHEDGE="bothedge" | LEVEL="level" | NONSTICKY="nonsticky"
		public Alternatives getAlternatives() { return cAlternatives; }
		
		//UNDEFINED
		public EnumLiteralDeclaration getUNDEFINEDEnumLiteralDeclaration_0() { return cUNDEFINEDEnumLiteralDeclaration_0; }
		
		public Keyword getUNDEFINEDUNDEFINEDKeyword_0_0() { return cUNDEFINEDUNDEFINEDKeyword_0_0; }
		
		//POSEDGE="posedge"
		public EnumLiteralDeclaration getPOSEDGEEnumLiteralDeclaration_1() { return cPOSEDGEEnumLiteralDeclaration_1; }
		
		//"posedge"
		public Keyword getPOSEDGEPosedgeKeyword_1_0() { return cPOSEDGEPosedgeKeyword_1_0; }
		
		//NEGEDGE="negedge"
		public EnumLiteralDeclaration getNEGEDGEEnumLiteralDeclaration_2() { return cNEGEDGEEnumLiteralDeclaration_2; }
		
		//"negedge"
		public Keyword getNEGEDGENegedgeKeyword_2_0() { return cNEGEDGENegedgeKeyword_2_0; }
		
		//BOTHEDGE="bothedge"
		public EnumLiteralDeclaration getBOTHEDGEEnumLiteralDeclaration_3() { return cBOTHEDGEEnumLiteralDeclaration_3; }
		
		//"bothedge"
		public Keyword getBOTHEDGEBothedgeKeyword_3_0() { return cBOTHEDGEBothedgeKeyword_3_0; }
		
		//LEVEL="level"
		public EnumLiteralDeclaration getLEVELEnumLiteralDeclaration_4() { return cLEVELEnumLiteralDeclaration_4; }
		
		//"level"
		public Keyword getLEVELLevelKeyword_4_0() { return cLEVELLevelKeyword_4_0; }
		
		//NONSTICKY="nonsticky"
		public EnumLiteralDeclaration getNONSTICKYEnumLiteralDeclaration_5() { return cNONSTICKYEnumLiteralDeclaration_5; }
		
		//"nonsticky"
		public Keyword getNONSTICKYNonstickyKeyword_5_0() { return cNONSTICKYNonstickyKeyword_5_0; }
	}
	
	private final RootElements pRoot;
	private final IncludeElements pInclude;
	private final PropertyDefinitionElements pPropertyDefinition;
	private final PropertyTypeNameElements ePropertyTypeName;
	private final PropertyDefaultElements pPropertyDefault;
	private final PropertyUsageElements pPropertyUsage;
	private final PropertyComponentElements ePropertyComponent;
	private final ComponentDefinitionElements pComponentDefinition;
	private final ComponentDefinitionTypeElements eComponentDefinitionType;
	private final InstantiationElements pInstantiation;
	private final ComponentInstanceElements pComponentInstance;
	private final RangeElements pRange;
	private final PropertyAssignmentElements pPropertyAssignment;
	private final DefaultProperyAssignmentElements pDefaultProperyAssignment;
	private final ExplicitPropertyAssignmentElements pExplicitPropertyAssignment;
	private final PostPropertyAssignmentElements pPostPropertyAssignment;
	private final InstancePropertyRefElements pInstancePropertyRef;
	private final EntityElements pEntity;
	private final InstanceRefElements pInstanceRef;
	private final HierInstanceRefElements pHierInstanceRef;
	private final PropertyAssignmentRhsElements pPropertyAssignmentRhs;
	private final ConcatElements pConcat;
	private final ConcatElemElements pConcatElem;
	private final PropertyEnumElements ePropertyEnum;
	private final PropertyElements eProperty;
	private final PropertyRvalueConstantElements pPropertyRvalueConstant;
	private final RValueConstantElements eRValueConstant;
	private final PropertyModifierElements ePropertyModifier;
	private final EnumDefinitionElements pEnumDefinition;
	private final EnumBodyElements pEnumBody;
	private final EnumEntryElements pEnumEntry;
	private final EnumPropertyElements pEnumProperty;
	private final EnumInstanceTypeElements pEnumInstanceType;
	private final TerminalRule tID;
	private final TerminalRule tWS;
	private final TerminalRule tML_COMMENT;
	private final TerminalRule tSL_COMMENT;
	private final TerminalRule tESCAPE_JSP;
	private final TerminalRule tESCAPE_ORDL;
	private final TerminalRule tNUM;
	private final TerminalRule tSTR;
	
	private final Grammar grammar;

	@Inject
	public RDLGrammarAccess(GrammarProvider grammarProvider) {
		this.grammar = internalFindGrammar(grammarProvider);
		this.pRoot = new RootElements();
		this.pInclude = new IncludeElements();
		this.pPropertyDefinition = new PropertyDefinitionElements();
		this.ePropertyTypeName = new PropertyTypeNameElements();
		this.pPropertyDefault = new PropertyDefaultElements();
		this.pPropertyUsage = new PropertyUsageElements();
		this.ePropertyComponent = new PropertyComponentElements();
		this.pComponentDefinition = new ComponentDefinitionElements();
		this.eComponentDefinitionType = new ComponentDefinitionTypeElements();
		this.pInstantiation = new InstantiationElements();
		this.pComponentInstance = new ComponentInstanceElements();
		this.pRange = new RangeElements();
		this.pPropertyAssignment = new PropertyAssignmentElements();
		this.pDefaultProperyAssignment = new DefaultProperyAssignmentElements();
		this.pExplicitPropertyAssignment = new ExplicitPropertyAssignmentElements();
		this.pPostPropertyAssignment = new PostPropertyAssignmentElements();
		this.pInstancePropertyRef = new InstancePropertyRefElements();
		this.pEntity = new EntityElements();
		this.pInstanceRef = new InstanceRefElements();
		this.pHierInstanceRef = new HierInstanceRefElements();
		this.pPropertyAssignmentRhs = new PropertyAssignmentRhsElements();
		this.pConcat = new ConcatElements();
		this.pConcatElem = new ConcatElemElements();
		this.ePropertyEnum = new PropertyEnumElements();
		this.eProperty = new PropertyElements();
		this.pPropertyRvalueConstant = new PropertyRvalueConstantElements();
		this.eRValueConstant = new RValueConstantElements();
		this.ePropertyModifier = new PropertyModifierElements();
		this.pEnumDefinition = new EnumDefinitionElements();
		this.pEnumBody = new EnumBodyElements();
		this.pEnumEntry = new EnumEntryElements();
		this.pEnumProperty = new EnumPropertyElements();
		this.pEnumInstanceType = new EnumInstanceTypeElements();
		this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ID");
		this.tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.WS");
		this.tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ML_COMMENT");
		this.tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.SL_COMMENT");
		this.tESCAPE_JSP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ESCAPE_JSP");
		this.tESCAPE_ORDL = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ESCAPE_ORDL");
		this.tNUM = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.NUM");
		this.tSTR = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.STR");
	}
	
	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
		Grammar grammar = grammarProvider.getGrammar(this);
		while (grammar != null) {
			if ("com.minres.rdl.RDL".equals(grammar.getName())) {
				return grammar;
			}
			List<Grammar> grammars = grammar.getUsedGrammars();
			if (!grammars.isEmpty()) {
				grammar = grammars.iterator().next();
			} else {
				return null;
			}
		}
		return grammar;
	}
	
	@Override
	public Grammar getGrammar() {
		return grammar;
	}
	

	
	//Root:
	//    (
	//        includes+=Include |
	//        componentDefinitions+=ComponentDefinition';'|
	//        enumDefinitions+=EnumDefinition ';'|
	//        instantiations+=Instantiation ';'|
	//        propertyAssignments+=PropertyAssignment ';'|
	//        propertyDefinitions+=PropertyDefinition ';'
	//    ) *
	//    ;
	public RootElements getRootAccess() {
		return pRoot;
	}
	
	public ParserRule getRootRule() {
		return getRootAccess().getRule();
	}
	
	//Include:
	//    '`include' importURI=STR
	//    ;
	public IncludeElements getIncludeAccess() {
		return pInclude;
	}
	
	public ParserRule getIncludeRule() {
		return getIncludeAccess().getRule();
	}
	
	//PropertyDefinition:
	//     'property' name=ID '{'
	//         (
	//                 "type" '=' type=PropertyTypeName ';' (usage=PropertyUsage default=PropertyDefault? | default=PropertyDefault usage=PropertyUsage) |
	//                 usage=PropertyUsage ("type" '=' type=PropertyTypeName ';' default=PropertyDefault? | default=PropertyDefault "type" '=' type=PropertyTypeName ';') |
	//                 default=PropertyDefault ("type" '='    type=PropertyTypeName ';' usage=PropertyUsage | usage=PropertyUsage "type" '=' type=PropertyTypeName ';')
	//         ) '}' ';'
	//    ;
	public PropertyDefinitionElements getPropertyDefinitionAccess() {
		return pPropertyDefinition;
	}
	
	public ParserRule getPropertyDefinitionRule() {
		return getPropertyDefinitionAccess().getRule();
	}
	
	//enum PropertyTypeName:
	//    STRING="string" | NUMBER="number" | BOOLEAN="boolean" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | REF="ref"
	//    ;
	public PropertyTypeNameElements getPropertyTypeNameAccess() {
		return ePropertyTypeName;
	}
	
	public EnumRule getPropertyTypeNameRule() {
		return getPropertyTypeNameAccess().getRule();
	}
	
	//PropertyDefault:
	//    "default" '=' (string=STR | value=NUM | string="true" | string="false")  ';'
	//    ;
	public PropertyDefaultElements getPropertyDefaultAccess() {
		return pPropertyDefault;
	}
	
	public ParserRule getPropertyDefaultRule() {
		return getPropertyDefaultAccess().getRule();
	}
	
	//PropertyUsage:
	//    "component" '=' components+=PropertyComponent ('|' components+=PropertyComponent)* ';'
	//    ;
	public PropertyUsageElements getPropertyUsageAccess() {
		return pPropertyUsage;
	}
	
	public ParserRule getPropertyUsageRule() {
		return getPropertyUsageAccess().getRule();
	}
	
	//enum PropertyComponent:
	//    SIGNAL="signal" | ADDRMAP="addrmap" | REG="reg" | REGFILE="regfile" | FIELD="field" | ALL="all"
	//    ;
	public PropertyComponentElements getPropertyComponentAccess() {
		return ePropertyComponent;
	}
	
	public EnumRule getPropertyComponentRule() {
		return getPropertyComponentAccess().getRule();
	}
	
	//ComponentDefinition:
	//    type=ComponentDefinitionType name=ID?
	//    '{'
	//      ( componentDefinitions+=ComponentDefinition ';'
	//      | instantiations+=Instantiation ';'
	//      | propertyAssignments+=PropertyAssignment ';'
	//      | enumDefinitions+=EnumDefinition ';'
	//      )* '}'
	//    ;
	public ComponentDefinitionElements getComponentDefinitionAccess() {
		return pComponentDefinition;
	}
	
	public ParserRule getComponentDefinitionRule() {
		return getComponentDefinitionAccess().getRule();
	}
	
	//enum ComponentDefinitionType:
	//    SIGNAL="signal" | ADDRMAP="addrmap" | REGFILE="regfile" | REG="reg" | FIELD="field"
	//    ;
	public ComponentDefinitionTypeElements getComponentDefinitionTypeAccess() {
		return eComponentDefinitionType;
	}
	
	public EnumRule getComponentDefinitionTypeRule() {
		return getComponentDefinitionTypeAccess().getRule();
	}
	
	//Instantiation:
	//    (
	//        instanceType=EnumInstanceType? ("alias" alias=ID)?
	//        componentRef=[ComponentDefinition] | component=ComponentDefinition instanceType=EnumInstanceType?
	//    ) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
	//    ;
	public InstantiationElements getInstantiationAccess() {
		return pInstantiation;
	}
	
	public ParserRule getInstantiationRule() {
		return getInstantiationAccess().getRule();
	}
	
	//ComponentInstance:
	//    name=ID (range=Range)?
	//    //reset
	//    ('='  reset=NUM)?
	//    //address
	//    ('@'  address=NUM)?
	//    //addr inc
	//    ('+=' addrInc=NUM)?
	//    //addr mod
	//    ('%=' addrMod=NUM)?
	//     ;
	public ComponentInstanceElements getComponentInstanceAccess() {
		return pComponentInstance;
	}
	
	public ParserRule getComponentInstanceRule() {
		return getComponentInstanceAccess().getRule();
	}
	
	//Range:
	//    '[' (left=NUM ':' right=NUM | size=NUM) ']'
	//    ;
	public RangeElements getRangeAccess() {
		return pRange;
	}
	
	public ParserRule getRangeRule() {
		return getRangeAccess().getRule();
	}
	
	//PropertyAssignment:
	//    DefaultProperyAssignment | ExplicitPropertyAssignment | PostPropertyAssignment
	//    ;
	public PropertyAssignmentElements getPropertyAssignmentAccess() {
		return pPropertyAssignment;
	}
	
	public ParserRule getPropertyAssignmentRule() {
		return getPropertyAssignmentAccess().getRule();
	}
	
	//DefaultProperyAssignment:
	//    "default" ExplicitPropertyAssignment
	//    ;
	public DefaultProperyAssignmentElements getDefaultProperyAssignmentAccess() {
		return pDefaultProperyAssignment;
	}
	
	public ParserRule getDefaultProperyAssignmentRule() {
		return getDefaultProperyAssignmentAccess().getRule();
	}
	
	//ExplicitPropertyAssignment :
	//    modifier=PropertyModifier name=Property |
	//    name=Property ('=' rhs=PropertyAssignmentRhs)?
	//    ;
	public ExplicitPropertyAssignmentElements getExplicitPropertyAssignmentAccess() {
		return pExplicitPropertyAssignment;
	}
	
	public ParserRule getExplicitPropertyAssignmentRule() {
		return getExplicitPropertyAssignmentAccess().getRule();
	}
	
	//PostPropertyAssignment:
	//    (instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
	//    property=[PropertyDefinition] ) ('=' rhs=PropertyAssignmentRhs)?
	//    ;
	public PostPropertyAssignmentElements getPostPropertyAssignmentAccess() {
		return pPostPropertyAssignment;
	}
	
	public ParserRule getPostPropertyAssignmentRule() {
		return getPostPropertyAssignmentAccess().getRule();
	}
	
	//InstancePropertyRef:
	//    instance=InstanceRef ('->' (propertyEnum=Property | property=[PropertyDefinition]))?
	//    ;
	public InstancePropertyRefElements getInstancePropertyRefAccess() {
		return pInstancePropertyRef;
	}
	
	public ParserRule getInstancePropertyRefRule() {
		return getInstancePropertyRefAccess().getRule();
	}
	
	//// unused rule to infer inheritance
	//Entity:
	//    ComponentInstance|EnumDefinition|PropertyDefinition
	//    ;
	public EntityElements getEntityAccess() {
		return pEntity;
	}
	
	public ParserRule getEntityRule() {
		return getEntityAccess().getRule();
	}
	
	//InstanceRef:
	//    instance=[Entity] ( "." tail=HierInstanceRef)?
	//    ;
	public InstanceRefElements getInstanceRefAccess() {
		return pInstanceRef;
	}
	
	public ParserRule getInstanceRefRule() {
		return getInstanceRefAccess().getRule();
	}
	
	//HierInstanceRef returns InstanceRef:
	//    instance=[ComponentInstance] ( "." tail=HierInstanceRef)?
	//    ;
	public HierInstanceRefElements getHierInstanceRefAccess() {
		return pHierInstanceRef;
	}
	
	public ParserRule getHierInstanceRefRule() {
		return getHierInstanceRefAccess().getRule();
	}
	
	//PropertyAssignmentRhs:
	//    value=PropertyRvalueConstant |
	//    instPropRef=InstancePropertyRef |
	//    enumRef= [EnumDefinition]
	//    "enum" enums=EnumBody |
	//    elements=Concat
	//      ;
	public PropertyAssignmentRhsElements getPropertyAssignmentRhsAccess() {
		return pPropertyAssignmentRhs;
	}
	
	public ParserRule getPropertyAssignmentRhsRule() {
		return getPropertyAssignmentRhsAccess().getRule();
	}
	
	//Concat:
	//    '{' elements+=ConcatElem (',' elements+=ConcatElem)* '}'
	//      ;
	public ConcatElements getConcatAccess() {
		return pConcat;
	}
	
	public ParserRule getConcatRule() {
		return getConcatAccess().getRule();
	}
	
	//ConcatElem:
	//    instPropRef=InstancePropertyRef | value=NUM
	//    ;
	public ConcatElemElements getConcatElemAccess() {
		return pConcatElem;
	}
	
	public ParserRule getConcatElemRule() {
		return getConcatElemAccess().getRule();
	}
	
	//enum PropertyEnum:
	//    UNSPECIFIED |
	//    NAME="name" |
	//    DESC="desc" |
	//    ARBITER="arbiter" |
	//    RSET="rset" |
	//    RCLR="rclr" |
	//    WOCLR="woclr" |
	//    WOSET="woset" |
	//    WE="we" |
	//    WEL="wel" |
	//    SWWE="swwe" |
	//    SWWEL="swwel" |
	//    HWSET="hwset" |
	//    HWCLR="hwclr" |
	//    SWMOD="swmod" |
	//    SWACC="swacc" |
	//    STICKY="sticky" |
	//    STICKYBIT="stickybit" |
	//    INTR="intr" |
	//    ANDED="anded" |
	//    ORED="ored" |
	//    XORED="xored" |
	//    COUNTER="counter" |
	//    OVERFLOW="overflow" |
	//    SHAREDEXTBUS="sharedextbus" |
	//    ERREXTBUS="errextbus" |
	//    RESET="reset" |
	//    LITTLEENDIAN="littleendian" |
	//    BIGENDIAN="bigendian" |
	//     RSVDSET="rsvdset" |
	//    RSVDSETX="rsvdsetX" |
	//    BRIDGE="bridge" |
	//    SHARED="shared" |
	//    MSB0="msb0" |
	//    LSB0="lsb0" |
	//    SYNC="sync" |
	//    ASYNC="async" |
	//    CPUIF_RESET="cpuif_reset" |
	//    FIELD_RESET="field_reset" |
	//    ACTIVEHIGH="activehigh" |
	//    ACTIVELOW="activelow" |
	//    SINGLEPULSE="singlepulse" |
	//    UNDERFLOW="underflow" |
	//    INCR="incr" |
	//    DECR="decr" |
	//    INCRWIDTH="incrwidth" |
	//    DECRWIDTH="decrwidth" |
	//    INCRVALUE="incrvalue" |
	//    DECRVALUE="decrvalue" |
	//    SATURATE="saturate" |
	//    DECRSATURATE="decrsaturate" |
	//    THRESHOLD="threshold" |
	//    DECRTHRESHOLD="decrthreshold" |
	//    DONTCOMPARE="dontcompare" |
	//    DONTTEST="donttest" |
	//    INTERNAL="internal" |
	//    ALIGNMENT="alignment" |
	//    REGWIDTH="regwidth" |
	//    FIELDWIDTH="fieldwidth" |
	//    SIGNALWIDTH="signalwidth" |
	//    ACCESSWIDTH="accesswidth" |
	//    SW="sw" |
	//    HW="hw" |
	//    ADDRESSING="addressing" |
	//    PRECEDENCE="precedence" |
	//    ENCODE="encode" |
	//    RESETSIGNAL="resetsignal" |
	//    CLOCK="clock" |
	//    MASK="mask" |
	//    ENABLE="enable" |
	//    HWENABLE="hwenable" |
	//    HWMASK="hwmask" |
	//    HALTMASK="haltmask" |
	//    HALTENABLE="haltenable" |
	//    HALT="halt" |
	//    NEXT="next"
	//      ;
	public PropertyEnumElements getPropertyEnumAccess() {
		return ePropertyEnum;
	}
	
	public EnumRule getPropertyEnumRule() {
		return getPropertyEnumAccess().getRule();
	}
	
	//enum Property returns PropertyEnum:
	//    NAME="name" |
	//    DESC="desc" |
	//    ARBITER="arbiter" |
	//    RSET="rset" |
	//    RCLR="rclr" |
	//    WOCLR="woclr" |
	//    WOSET="woset" |
	//    WE="we" |
	//    WEL="wel" |
	//    SWWE="swwe" |
	//    SWWEL="swwel" |
	//    HWSET="hwset" |
	//    HWCLR="hwclr" |
	//    SWMOD="swmod" |
	//    SWACC="swacc" |
	//    STICKY="sticky" |
	//    STICKYBIT="stickybit" |
	//    INTR="intr" |
	//    ANDED="anded" |
	//    ORED="ored" |
	//    XORED="xored" |
	//    COUNTER="counter" |
	//    OVERFLOW="overflow" |
	//    SHAREDEXTBUS="sharedextbus" |
	//    ERREXTBUS="errextbus" |
	//    RESET="reset" |
	//    LITTLEENDIAN="littleendian" |
	//    BIGENDIAN="bigendian" |
	//     RSVDSET="rsvdset" |
	//    RSVDSETX="rsvdsetX" |
	//    BRIDGE="bridge" |
	//    SHARED="shared" |
	//    MSB0="msb0" |
	//    LSB0="lsb0" |
	//    SYNC="sync" |
	//    ASYNC="async" |
	//    CPUIF_RESET="cpuif_reset" |
	//    FIELD_RESET="field_reset" |
	//    ACTIVEHIGH="activehigh" |
	//    ACTIVELOW="activelow" |
	//    SINGLEPULSE="singlepulse" |
	//    UNDERFLOW="underflow" |
	//    INCR="incr" |
	//    DECR="decr" |
	//    INCRWIDTH="incrwidth" |
	//    DECRWIDTH="decrwidth" |
	//    INCRVALUE="incrvalue" |
	//    DECRVALUE="decrvalue" |
	//    SATURATE="saturate" |
	//    DECRSATURATE="decrsaturate" |
	//    THRESHOLD="threshold" |
	//    DECRTHRESHOLD="decrthreshold" |
	//    DONTCOMPARE="dontcompare" |
	//    DONTTEST="donttest" |
	//    INTERNAL="internal" |
	//    ALIGNMENT="alignment" |
	//    REGWIDTH="regwidth" |
	//    FIELDWIDTH="fieldwidth" |
	//    SIGNALWIDTH="signalwidth" |
	//    ACCESSWIDTH="accesswidth" |
	//    SW="sw" |
	//    HW="hw" |
	//    ADDRESSING="addressing" |
	//    PRECEDENCE="precedence" |
	//    ENCODE="encode" |
	//    RESETSIGNAL="resetsignal" |
	//    CLOCK="clock" |
	//    MASK="mask" |
	//    ENABLE="enable" |
	//    HWENABLE="hwenable" |
	//    HWMASK="hwmask" |
	//    HALTMASK="haltmask" |
	//    HALTENABLE="haltenable" |
	//    HALT="halt" |
	//    NEXT="next"
	//      ;
	public PropertyElements getPropertyAccess() {
		return eProperty;
	}
	
	public EnumRule getPropertyRule() {
		return getPropertyAccess().getRule();
	}
	
	//PropertyRvalueConstant returns RValue:
	//    val=RValueConstant | num=NUM | str=STR
	//      ;
	public PropertyRvalueConstantElements getPropertyRvalueConstantAccess() {
		return pPropertyRvalueConstant;
	}
	
	public ParserRule getPropertyRvalueConstantRule() {
		return getPropertyRvalueConstantAccess().getRule();
	}
	
	//enum RValueConstant:
	//    UNDEFINED | TRUE="true" | FALSE="false" | RW="rw" | WR="wr" | R="r" | W="w" | NA="na" | COMPACT="compact" | REGALIGN="regalign" | FULLALIGN="fullalign" | HW="hw" | SW="sw"
	//;
	public RValueConstantElements getRValueConstantAccess() {
		return eRValueConstant;
	}
	
	public EnumRule getRValueConstantRule() {
		return getRValueConstantAccess().getRule();
	}
	
	//enum PropertyModifier:
	//    UNDEFINED | POSEDGE="posedge" | NEGEDGE="negedge" | BOTHEDGE="bothedge" | LEVEL="level" | NONSTICKY="nonsticky"
	//    ;
	public PropertyModifierElements getPropertyModifierAccess() {
		return ePropertyModifier;
	}
	
	public EnumRule getPropertyModifierRule() {
		return getPropertyModifierAccess().getRule();
	}
	
	//EnumDefinition:
	//    "enum" name=ID body=EnumBody
	//      ;
	public EnumDefinitionElements getEnumDefinitionAccess() {
		return pEnumDefinition;
	}
	
	public ParserRule getEnumDefinitionRule() {
		return getEnumDefinitionAccess().getRule();
	}
	
	//EnumBody:
	//    '{' {EnumBody} entries+=EnumEntry* '}'
	//      ;
	public EnumBodyElements getEnumBodyAccess() {
		return pEnumBody;
	}
	
	public ParserRule getEnumBodyRule() {
		return getEnumBodyAccess().getRule();
	}
	
	//EnumEntry:
	//    name=ID '=' index=NUM ('{' properties+=EnumProperty* '}')? ';'
	//      ;
	public EnumEntryElements getEnumEntryAccess() {
		return pEnumEntry;
	}
	
	public ParserRule getEnumEntryRule() {
		return getEnumEntryAccess().getRule();
	}
	
	//EnumProperty:
	//    ( name='name' '=' value=STR | name='desc' '=' value=STR ) ';'
	//      ;
	public EnumPropertyElements getEnumPropertyAccess() {
		return pEnumProperty;
	}
	
	public ParserRule getEnumPropertyRule() {
		return getEnumPropertyAccess().getRule();
	}
	
	//EnumInstanceType:
	//    EXTERNAL="external" | INTERNAL="internal"
	//;
	public EnumInstanceTypeElements getEnumInstanceTypeAccess() {
		return pEnumInstanceType;
	}
	
	public ParserRule getEnumInstanceTypeRule() {
		return getEnumInstanceTypeAccess().getRule();
	}
	
	/////////////////////////////////////////////////////////////////////////////////
	//// the terminals
	/////////////////////////////////////////////////////////////////////////////////
	//terminal ID:
	//    '\\'? ('a'..'z'|'A'..'Z' | '_')('a'..'z'|'A'..'Z' | '_' | '0'..'9')*;
	public TerminalRule getIDRule() {
		return tID;
	}
	
	//terminal WS			: (' '|'\t'|'\r'|'\n')+;
	public TerminalRule getWSRule() {
		return tWS;
	}
	
	//terminal ML_COMMENT	: '/*' -> '*/' ;
	public TerminalRule getML_COMMENTRule() {
		return tML_COMMENT;
	}
	
	//terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?;
	public TerminalRule getSL_COMMENTRule() {
		return tSL_COMMENT;
	}
	
	//terminal ESCAPE_JSP : '<%' -> '%>' ;
	public TerminalRule getESCAPE_JSPRule() {
		return tESCAPE_JSP;
	}
	
	//terminal ESCAPE_ORDL: '(' -> ')' ;
	public TerminalRule getESCAPE_ORDLRule() {
		return tESCAPE_ORDL;
	}
	
	//terminal NUM returns ecore::EJavaObject:
	////  <= verilog like numbers with size and base (16'123 'h1fff, ...====================================================================================>   <= hexa decimal numbers =============>   <numbers>
	//    //'0'..'9'* '\'' ( 'b' ('0' | '1' | '_')+ | 'd'? ('0'..'9' | '_')+ | 'o' ('0'..'7' | '_')+ | 'h' ('0'..'9' | 'a'..'f' | 'A'..'F' | '_')+) | "0x" ('0'..'9' | 'a'..'f' | 'A'..'F')+ | '0'..'9'+;
	//    '0'..'9'+ '\'b' ('0' | '1' | '_')+  |
	//     '0'..'9'+ '\'o' ('0'..'7' | '_')+  |
	//     '0'..'9'+ '\'h' ('0'..'9' | 'a'..'f' | 'A'..'F' | '_')+ |
	//     '0'..'9'+ '\'d' ('0'..'9' | '_')+ |
	//     '0x' ('0'..'9' | 'a'..'f' | 'A'..'F')+ |
	//     '0'..'9'+
	//    ;
	public TerminalRule getNUMRule() {
		return tNUM;
	}
	
	//terminal STR:
	//            '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|'"') )* '"' //|
	////            "'" ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|"'") )* "'"
	//            ;
	public TerminalRule getSTRRule() {
		return tSTR;
	}
}
