/* * generated by Xtext */ package de.ugoe.cs.swe.bnftools.services; import com.google.inject.Singleton; import com.google.inject.Inject; import java.util.List; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; @Singleton public class EbnfGrammarAccess extends AbstractGrammarElementFinder { public class EtsiBnfElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EtsiBnf"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cGrammarKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0); private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); private final Assignment cTypeAssignment_0_2_0 = (Assignment)cGroup_0_2.eContents().get(0); private final Keyword cTypeBnfKeyword_0_2_0_0 = (Keyword)cTypeAssignment_0_2_0.eContents().get(0); private final Keyword cSemicolonKeyword_0_2_1 = (Keyword)cGroup_0_2.eContents().get(1); private final Assignment cImportSectionAssignment_0_2_2 = (Assignment)cGroup_0_2.eContents().get(2); private final RuleCall cImportSectionImportSectionParserRuleCall_0_2_2_0 = (RuleCall)cImportSectionAssignment_0_2_2.eContents().get(0); private final Assignment cBnfEntryAssignment_0_2_3 = (Assignment)cGroup_0_2.eContents().get(3); private final RuleCall cBnfEntryBnfEntryParserRuleCall_0_2_3_0 = (RuleCall)cBnfEntryAssignment_0_2_3.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Assignment cTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final Keyword cTypeDeltaKeyword_1_0_0 = (Keyword)cTypeAssignment_1_0.eContents().get(0); private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cImportSectionAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cImportSectionImportSectionParserRuleCall_1_2_0 = (RuleCall)cImportSectionAssignment_1_2.eContents().get(0); private final Assignment cDeltaEntryAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3); private final RuleCall cDeltaEntryDeltaEntryParserRuleCall_1_3_0 = (RuleCall)cDeltaEntryAssignment_1_3.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Assignment cTypeAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final Keyword cTypeMergeKeyword_2_0_0 = (Keyword)cTypeAssignment_2_0.eContents().get(0); private final Keyword cSemicolonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); private final Assignment cImportSectionAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2); private final RuleCall cImportSectionImportSectionParserRuleCall_2_2_0 = (RuleCall)cImportSectionAssignment_2_2.eContents().get(0); private final Assignment cMergeEntryAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3); private final RuleCall cMergeEntryMergeEntryParserRuleCall_2_3_0 = (RuleCall)cMergeEntryAssignment_2_3.eContents().get(0); //// ----------------------------------------------------------------------------------------------- //// Parser Rules //// ----------------------------------------------------------------------------------------------- //EtsiBnf: // "grammar" name=ID (type="/bnf"? ";" importSection=ImportSection? bnfEntry+=BnfEntry+) | type="/delta" ";" // importSection=ImportSection? deltaEntry+=DeltaEntry* | type="/merge" ";" importSection=ImportSection? // mergeEntry+=MergeEntry*; public ParserRule getRule() { return rule; } //"grammar" name=ID (type="/bnf"? ";" importSection=ImportSection? bnfEntry+=BnfEntry+) | type="/delta" ";" //importSection=ImportSection? deltaEntry+=DeltaEntry* | type="/merge" ";" importSection=ImportSection? //mergeEntry+=MergeEntry* public Alternatives getAlternatives() { return cAlternatives; } //"grammar" name=ID (type="/bnf"? ";" importSection=ImportSection? bnfEntry+=BnfEntry+) public Group getGroup_0() { return cGroup_0; } //"grammar" public Keyword getGrammarKeyword_0_0() { return cGrammarKeyword_0_0; } //name=ID public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; } //ID public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; } //type="/bnf"? ";" importSection=ImportSection? bnfEntry+=BnfEntry+ public Group getGroup_0_2() { return cGroup_0_2; } //type="/bnf"? public Assignment getTypeAssignment_0_2_0() { return cTypeAssignment_0_2_0; } //"/bnf" public Keyword getTypeBnfKeyword_0_2_0_0() { return cTypeBnfKeyword_0_2_0_0; } //";" public Keyword getSemicolonKeyword_0_2_1() { return cSemicolonKeyword_0_2_1; } //importSection=ImportSection? public Assignment getImportSectionAssignment_0_2_2() { return cImportSectionAssignment_0_2_2; } //ImportSection public RuleCall getImportSectionImportSectionParserRuleCall_0_2_2_0() { return cImportSectionImportSectionParserRuleCall_0_2_2_0; } //bnfEntry+=BnfEntry+ public Assignment getBnfEntryAssignment_0_2_3() { return cBnfEntryAssignment_0_2_3; } //BnfEntry public RuleCall getBnfEntryBnfEntryParserRuleCall_0_2_3_0() { return cBnfEntryBnfEntryParserRuleCall_0_2_3_0; } //type="/delta" ";" importSection=ImportSection? deltaEntry+=DeltaEntry* public Group getGroup_1() { return cGroup_1; } //type="/delta" public Assignment getTypeAssignment_1_0() { return cTypeAssignment_1_0; } //"/delta" public Keyword getTypeDeltaKeyword_1_0_0() { return cTypeDeltaKeyword_1_0_0; } //";" public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; } //importSection=ImportSection? public Assignment getImportSectionAssignment_1_2() { return cImportSectionAssignment_1_2; } //ImportSection public RuleCall getImportSectionImportSectionParserRuleCall_1_2_0() { return cImportSectionImportSectionParserRuleCall_1_2_0; } //deltaEntry+=DeltaEntry* public Assignment getDeltaEntryAssignment_1_3() { return cDeltaEntryAssignment_1_3; } //DeltaEntry public RuleCall getDeltaEntryDeltaEntryParserRuleCall_1_3_0() { return cDeltaEntryDeltaEntryParserRuleCall_1_3_0; } //type="/merge" ";" importSection=ImportSection? mergeEntry+=MergeEntry* public Group getGroup_2() { return cGroup_2; } //type="/merge" public Assignment getTypeAssignment_2_0() { return cTypeAssignment_2_0; } //"/merge" public Keyword getTypeMergeKeyword_2_0_0() { return cTypeMergeKeyword_2_0_0; } //";" public Keyword getSemicolonKeyword_2_1() { return cSemicolonKeyword_2_1; } //importSection=ImportSection? public Assignment getImportSectionAssignment_2_2() { return cImportSectionAssignment_2_2; } //ImportSection public RuleCall getImportSectionImportSectionParserRuleCall_2_2_0() { return cImportSectionImportSectionParserRuleCall_2_2_0; } //mergeEntry+=MergeEntry* public Assignment getMergeEntryAssignment_2_3() { return cMergeEntryAssignment_2_3; } //MergeEntry public RuleCall getMergeEntryMergeEntryParserRuleCall_2_3_0() { return cMergeEntryMergeEntryParserRuleCall_2_3_0; } } public class ImportSectionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportSection"); private final Assignment cImportsAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cImportsImportParserRuleCall_0 = (RuleCall)cImportsAssignment.eContents().get(0); //ImportSection: // imports+=Import+; public ParserRule getRule() { return rule; } //imports+=Import+ public Assignment getImportsAssignment() { return cImportsAssignment; } //Import public RuleCall getImportsImportParserRuleCall_0() { return cImportsImportParserRuleCall_0; } } public class BnfEntryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BnfEntry"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cSectionheaderAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cSectionheaderSectionHeadingParserRuleCall_0_0 = (RuleCall)cSectionheaderAssignment_0.eContents().get(0); private final Assignment cRuleAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cRuleRuleParserRuleCall_1_0 = (RuleCall)cRuleAssignment_1.eContents().get(0); private final Assignment cCommentAssignment_2 = (Assignment)cAlternatives.eContents().get(2); private final RuleCall cCommentCommentParserRuleCall_2_0 = (RuleCall)cCommentAssignment_2.eContents().get(0); //BnfEntry: // sectionheader=SectionHeading | rule=Rule | comment=Comment; public ParserRule getRule() { return rule; } //sectionheader=SectionHeading | rule=Rule | comment=Comment public Alternatives getAlternatives() { return cAlternatives; } //sectionheader=SectionHeading public Assignment getSectionheaderAssignment_0() { return cSectionheaderAssignment_0; } //SectionHeading public RuleCall getSectionheaderSectionHeadingParserRuleCall_0_0() { return cSectionheaderSectionHeadingParserRuleCall_0_0; } //rule=Rule public Assignment getRuleAssignment_1() { return cRuleAssignment_1; } //Rule public RuleCall getRuleRuleParserRuleCall_1_0() { return cRuleRuleParserRuleCall_1_0; } //comment=Comment public Assignment getCommentAssignment_2() { return cCommentAssignment_2; } //Comment public RuleCall getCommentCommentParserRuleCall_2_0() { return cCommentCommentParserRuleCall_2_0; } } public class DeltaEntryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DeltaEntry"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cRuleAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cRuleRuleParserRuleCall_0_0 = (RuleCall)cRuleAssignment_0.eContents().get(0); private final Assignment cSectionheaderAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cSectionheaderSectionHeadingParserRuleCall_1_0 = (RuleCall)cSectionheaderAssignment_1.eContents().get(0); private final Assignment cExtRuleAssignment_2 = (Assignment)cAlternatives.eContents().get(2); private final RuleCall cExtRuleExtRuleParserRuleCall_2_0 = (RuleCall)cExtRuleAssignment_2.eContents().get(0); //DeltaEntry: // rule=Rule | sectionheader=SectionHeading | extRule=ExtRule; public ParserRule getRule() { return rule; } //rule=Rule | sectionheader=SectionHeading | extRule=ExtRule public Alternatives getAlternatives() { return cAlternatives; } //rule=Rule public Assignment getRuleAssignment_0() { return cRuleAssignment_0; } //Rule public RuleCall getRuleRuleParserRuleCall_0_0() { return cRuleRuleParserRuleCall_0_0; } //sectionheader=SectionHeading public Assignment getSectionheaderAssignment_1() { return cSectionheaderAssignment_1; } //SectionHeading public RuleCall getSectionheaderSectionHeadingParserRuleCall_1_0() { return cSectionheaderSectionHeadingParserRuleCall_1_0; } //extRule=ExtRule public Assignment getExtRuleAssignment_2() { return cExtRuleAssignment_2; } //ExtRule public RuleCall getExtRuleExtRuleParserRuleCall_2_0() { return cExtRuleExtRuleParserRuleCall_2_0; } } public class MergeEntryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MergeEntry"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cSectionheaderAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cSectionheaderSectionHeadingParserRuleCall_0_0 = (RuleCall)cSectionheaderAssignment_0.eContents().get(0); private final Assignment cMergeRuleAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cMergeRuleMergeRuleParserRuleCall_1_0 = (RuleCall)cMergeRuleAssignment_1.eContents().get(0); //MergeEntry: // sectionheader=SectionHeading | mergeRule=MergeRule; public ParserRule getRule() { return rule; } //sectionheader=SectionHeading | mergeRule=MergeRule public Alternatives getAlternatives() { return cAlternatives; } //sectionheader=SectionHeading public Assignment getSectionheaderAssignment_0() { return cSectionheaderAssignment_0; } //SectionHeading public RuleCall getSectionheaderSectionHeadingParserRuleCall_0_0() { return cSectionheaderSectionHeadingParserRuleCall_0_0; } //mergeRule=MergeRule public Assignment getMergeRuleAssignment_1() { return cMergeRuleAssignment_1; } //MergeRule public RuleCall getMergeRuleMergeRuleParserRuleCall_1_0() { return cMergeRuleMergeRuleParserRuleCall_1_0; } } public class SectionHeadingElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SectionHeading"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cSectionHeadingAction_0 = (Action)cGroup.eContents().get(0); private final Assignment cSectionHeaderAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cSectionHeaderSECTIONHEADERTerminalRuleCall_1_0 = (RuleCall)cSectionHeaderAssignment_1.eContents().get(0); //SectionHeading: // {SectionHeading} sectionHeader=SECTIONHEADER; public ParserRule getRule() { return rule; } //{SectionHeading} sectionHeader=SECTIONHEADER public Group getGroup() { return cGroup; } //{SectionHeading} public Action getSectionHeadingAction_0() { return cSectionHeadingAction_0; } //sectionHeader=SECTIONHEADER public Assignment getSectionHeaderAssignment_1() { return cSectionHeaderAssignment_1; } //SECTIONHEADER public RuleCall getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0() { return cSectionHeaderSECTIONHEADERTerminalRuleCall_1_0; } } public class CommentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cCommentAction_0 = (Action)cGroup.eContents().get(0); private final Assignment cContentAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cContentML_COMMENTTerminalRuleCall_1_0 = (RuleCall)cContentAssignment_1.eContents().get(0); //Comment: // {Comment} content=ML_COMMENT; public ParserRule getRule() { return rule; } //{Comment} content=ML_COMMENT public Group getGroup() { return cGroup; } //{Comment} public Action getCommentAction_0() { return cCommentAction_0; } //content=ML_COMMENT public Assignment getContentAssignment_1() { return cContentAssignment_1; } //ML_COMMENT public RuleCall getContentML_COMMENTTerminalRuleCall_1_0() { return cContentML_COMMENTTerminalRuleCall_1_0; } } public class ImportElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cImportURISTRINGTerminalRuleCall_1_0 = (RuleCall)cImportURIAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cSolidusKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Alternatives cAlternatives_2_1 = (Alternatives)cGroup_2.eContents().get(1); private final Assignment cGrammarTypeAssignment_2_1_0 = (Assignment)cAlternatives_2_1.eContents().get(0); private final Keyword cGrammarTypeCoreKeyword_2_1_0_0 = (Keyword)cGrammarTypeAssignment_2_1_0.eContents().get(0); private final Assignment cGrammarTypeAssignment_2_1_1 = (Assignment)cAlternatives_2_1.eContents().get(1); private final Keyword cGrammarTypePackageKeyword_2_1_1_0 = (Keyword)cGrammarTypeAssignment_2_1_1.eContents().get(0); private final Assignment cGrammarTypeAssignment_2_1_2 = (Assignment)cAlternatives_2_1.eContents().get(2); private final Keyword cGrammarTypeUpdateKeyword_2_1_2_0 = (Keyword)cGrammarTypeAssignment_2_1_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cLabelKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cLabelAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cLabelIDTerminalRuleCall_3_1_0 = (RuleCall)cLabelAssignment_3_1.eContents().get(0); private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4); //Import: // "import" importURI=STRING ("/" (grammarType="core" | grammarType="package" | grammarType="update"))? ("label:" // label=ID)? ";"; public ParserRule getRule() { return rule; } //"import" importURI=STRING ("/" (grammarType="core" | grammarType="package" | grammarType="update"))? ("label:" //label=ID)? ";" public Group getGroup() { return cGroup; } //"import" public Keyword getImportKeyword_0() { return cImportKeyword_0; } //importURI=STRING public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; } //STRING public RuleCall getImportURISTRINGTerminalRuleCall_1_0() { return cImportURISTRINGTerminalRuleCall_1_0; } //("/" (grammarType="core" | grammarType="package" | grammarType="update"))? public Group getGroup_2() { return cGroup_2; } //"/" public Keyword getSolidusKeyword_2_0() { return cSolidusKeyword_2_0; } //grammarType="core" | grammarType="package" | grammarType="update" public Alternatives getAlternatives_2_1() { return cAlternatives_2_1; } //grammarType="core" public Assignment getGrammarTypeAssignment_2_1_0() { return cGrammarTypeAssignment_2_1_0; } //"core" public Keyword getGrammarTypeCoreKeyword_2_1_0_0() { return cGrammarTypeCoreKeyword_2_1_0_0; } //grammarType="package" public Assignment getGrammarTypeAssignment_2_1_1() { return cGrammarTypeAssignment_2_1_1; } //"package" public Keyword getGrammarTypePackageKeyword_2_1_1_0() { return cGrammarTypePackageKeyword_2_1_1_0; } //grammarType="update" public Assignment getGrammarTypeAssignment_2_1_2() { return cGrammarTypeAssignment_2_1_2; } //"update" public Keyword getGrammarTypeUpdateKeyword_2_1_2_0() { return cGrammarTypeUpdateKeyword_2_1_2_0; } //("label:" label=ID)? public Group getGroup_3() { return cGroup_3; } //"label:" public Keyword getLabelKeyword_3_0() { return cLabelKeyword_3_0; } //label=ID public Assignment getLabelAssignment_3_1() { return cLabelAssignment_3_1; } //ID public RuleCall getLabelIDTerminalRuleCall_3_1_0() { return cLabelIDTerminalRuleCall_3_1_0; } //";" public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; } } public class RuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Rule"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Assignment cRulenumberAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); private final RuleCall cRulenumberINTTerminalRuleCall_0_0_0 = (RuleCall)cRulenumberAssignment_0_0.eContents().get(0); private final Assignment cRulevariantAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cRulevariantIDTerminalRuleCall_0_1_0 = (RuleCall)cRulevariantAssignment_0_1.eContents().get(0); private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); 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 cColonColonEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cDefinitionListAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cDefinitionListDefinitionListParserRuleCall_3_0 = (RuleCall)cDefinitionListAssignment_3.eContents().get(0); private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4); ////Import: 'import' importedNamespace=FqnWithWildCard; ////FqnWithWildCard: Fqn('.*')? ';'; ////Fqn:ID('.'ID)*; //Rule: // (rulenumber=INT rulevariant=ID? ".")? name=ID "::=" definitionList=DefinitionList? ";"?; public ParserRule getRule() { return rule; } //(rulenumber=INT rulevariant=ID? ".")? name=ID "::=" definitionList=DefinitionList? ";"? public Group getGroup() { return cGroup; } //(rulenumber=INT rulevariant=ID? ".")? public Group getGroup_0() { return cGroup_0; } //rulenumber=INT public Assignment getRulenumberAssignment_0_0() { return cRulenumberAssignment_0_0; } //INT public RuleCall getRulenumberINTTerminalRuleCall_0_0_0() { return cRulenumberINTTerminalRuleCall_0_0_0; } //rulevariant=ID? public Assignment getRulevariantAssignment_0_1() { return cRulevariantAssignment_0_1; } //ID public RuleCall getRulevariantIDTerminalRuleCall_0_1_0() { return cRulevariantIDTerminalRuleCall_0_1_0; } //"." public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"::=" public Keyword getColonColonEqualsSignKeyword_2() { return cColonColonEqualsSignKeyword_2; } //definitionList=DefinitionList? public Assignment getDefinitionListAssignment_3() { return cDefinitionListAssignment_3; } //DefinitionList public RuleCall getDefinitionListDefinitionListParserRuleCall_3_0() { return cDefinitionListDefinitionListParserRuleCall_3_0; } //";"? public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; } } public class ExtRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExtRule"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Assignment cRulenumberAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); private final RuleCall cRulenumberINTTerminalRuleCall_0_0_0 = (RuleCall)cRulenumberAssignment_0_0.eContents().get(0); private final Assignment cRulevariantAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cRulevariantIDTerminalRuleCall_0_1_0 = (RuleCall)cRulevariantAssignment_0_1.eContents().get(0); private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cRuleextAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cRuleextINTTerminalRuleCall_2_1_0 = (RuleCall)cRuleextAssignment_2_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Keyword cLessThanSignHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); private final Assignment cElementsAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0); private final RuleCall cElementsAtomParserRuleCall_4_0_0 = (RuleCall)cElementsAssignment_4_0.eContents().get(0); private final Keyword cRightParenthesisKeyword_4_1 = (Keyword)cAlternatives_4.eContents().get(1); private final Keyword cRightSquareBracketKeyword_4_2 = (Keyword)cAlternatives_4.eContents().get(2); private final Keyword cRightCurlyBracketKeyword_4_3 = (Keyword)cAlternatives_4.eContents().get(3); private final Keyword cVerticalLineKeyword_4_4 = (Keyword)cAlternatives_4.eContents().get(4); private final Keyword cLeftParenthesisKeyword_4_5 = (Keyword)cAlternatives_4.eContents().get(5); private final Keyword cLeftSquareBracketKeyword_4_6 = (Keyword)cAlternatives_4.eContents().get(6); private final Keyword cLeftCurlyBracketKeyword_4_7 = (Keyword)cAlternatives_4.eContents().get(7); private final Keyword cAsteriskKeyword_4_8 = (Keyword)cAlternatives_4.eContents().get(8); private final Keyword cPlusSignKeyword_4_9 = (Keyword)cAlternatives_4.eContents().get(9); private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); //ExtRule: // (rulenumber=INT rulevariant=ID? ".")? name=ID ("(" ruleext=INT ")") "<-" (elements+=Atom | ")" | "]" | "}" | "|" | "(" // | "[" | "{" | "*" | "+")* ";"?; public ParserRule getRule() { return rule; } //(rulenumber=INT rulevariant=ID? ".")? name=ID ("(" ruleext=INT ")") "<-" (elements+=Atom | ")" | "]" | "}" | "|" | "(" | //"[" | "{" | "*" | "+")* ";"? public Group getGroup() { return cGroup; } //(rulenumber=INT rulevariant=ID? ".")? public Group getGroup_0() { return cGroup_0; } //rulenumber=INT public Assignment getRulenumberAssignment_0_0() { return cRulenumberAssignment_0_0; } //INT public RuleCall getRulenumberINTTerminalRuleCall_0_0_0() { return cRulenumberINTTerminalRuleCall_0_0_0; } //rulevariant=ID? public Assignment getRulevariantAssignment_0_1() { return cRulevariantAssignment_0_1; } //ID public RuleCall getRulevariantIDTerminalRuleCall_0_1_0() { return cRulevariantIDTerminalRuleCall_0_1_0; } //"." public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"(" ruleext=INT ")" public Group getGroup_2() { return cGroup_2; } //"(" public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } //ruleext=INT public Assignment getRuleextAssignment_2_1() { return cRuleextAssignment_2_1; } //INT public RuleCall getRuleextINTTerminalRuleCall_2_1_0() { return cRuleextINTTerminalRuleCall_2_1_0; } //")" public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } //"<-" public Keyword getLessThanSignHyphenMinusKeyword_3() { return cLessThanSignHyphenMinusKeyword_3; } //(elements+=Atom | ")" | "]" | "}" | "|" | "(" | "[" | "{" | "*" | "+")* public Alternatives getAlternatives_4() { return cAlternatives_4; } //elements+=Atom public Assignment getElementsAssignment_4_0() { return cElementsAssignment_4_0; } //Atom public RuleCall getElementsAtomParserRuleCall_4_0_0() { return cElementsAtomParserRuleCall_4_0_0; } //")" public Keyword getRightParenthesisKeyword_4_1() { return cRightParenthesisKeyword_4_1; } //"]" public Keyword getRightSquareBracketKeyword_4_2() { return cRightSquareBracketKeyword_4_2; } //"}" public Keyword getRightCurlyBracketKeyword_4_3() { return cRightCurlyBracketKeyword_4_3; } //"|" public Keyword getVerticalLineKeyword_4_4() { return cVerticalLineKeyword_4_4; } //"(" public Keyword getLeftParenthesisKeyword_4_5() { return cLeftParenthesisKeyword_4_5; } //"[" public Keyword getLeftSquareBracketKeyword_4_6() { return cLeftSquareBracketKeyword_4_6; } //"{" public Keyword getLeftCurlyBracketKeyword_4_7() { return cLeftCurlyBracketKeyword_4_7; } //"*" public Keyword getAsteriskKeyword_4_8() { return cAsteriskKeyword_4_8; } //"+" public Keyword getPlusSignKeyword_4_9() { return cPlusSignKeyword_4_9; } //";"? public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } } public class MergeRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MergeRule"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cGlobalCombinatorParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cRuleCombinatorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cHookCombinatorParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //MergeRule: // GlobalCombinator | RuleCombinator | HookCombinator; public ParserRule getRule() { return rule; } //GlobalCombinator | RuleCombinator | HookCombinator public Alternatives getAlternatives() { return cAlternatives; } //GlobalCombinator public RuleCall getGlobalCombinatorParserRuleCall_0() { return cGlobalCombinatorParserRuleCall_0; } //RuleCombinator public RuleCall getRuleCombinatorParserRuleCall_1() { return cRuleCombinatorParserRuleCall_1; } //HookCombinator public RuleCall getHookCombinatorParserRuleCall_2() { return cHookCombinatorParserRuleCall_2; } } public class GlobalCombinatorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "GlobalCombinator"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Keyword cGlobalKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Keyword cCombinatorKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Assignment cLogicAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cLogicLOGICTerminalRuleCall_1_0 = (RuleCall)cLogicAssignment_1.eContents().get(0); private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2); //GlobalCombinator: // ("global" "combinator:") logic=LOGIC ";"?; public ParserRule getRule() { return rule; } //("global" "combinator:") logic=LOGIC ";"? public Group getGroup() { return cGroup; } //"global" "combinator:" public Group getGroup_0() { return cGroup_0; } //"global" public Keyword getGlobalKeyword_0_0() { return cGlobalKeyword_0_0; } //"combinator:" public Keyword getCombinatorKeyword_0_1() { return cCombinatorKeyword_0_1; } //logic=LOGIC public Assignment getLogicAssignment_1() { return cLogicAssignment_1; } //LOGIC public RuleCall getLogicLOGICTerminalRuleCall_1_0() { return cLogicLOGICTerminalRuleCall_1_0; } //";"? public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; } } public class RuleCombinatorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RuleCombinator"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Keyword cRuleKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Keyword cCombinatorKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Assignment cNameAssignment_0_2 = (Assignment)cGroup_0.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_0_2_0 = (RuleCall)cNameAssignment_0_2.eContents().get(0); private final Assignment cLogicAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cLogicLOGICTerminalRuleCall_1_0 = (RuleCall)cLogicAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cLABELAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cLABELSTRINGTerminalRuleCall_2_1_0 = (RuleCall)cLABELAssignment_2_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3); //RuleCombinator: // ("rule" "combinator:" name=ID) logic=LOGIC ("(" LABEL+=STRING ")")* ";"?; public ParserRule getRule() { return rule; } //("rule" "combinator:" name=ID) logic=LOGIC ("(" LABEL+=STRING ")")* ";"? public Group getGroup() { return cGroup; } //"rule" "combinator:" name=ID public Group getGroup_0() { return cGroup_0; } //"rule" public Keyword getRuleKeyword_0_0() { return cRuleKeyword_0_0; } //"combinator:" public Keyword getCombinatorKeyword_0_1() { return cCombinatorKeyword_0_1; } //name=ID public Assignment getNameAssignment_0_2() { return cNameAssignment_0_2; } //ID public RuleCall getNameIDTerminalRuleCall_0_2_0() { return cNameIDTerminalRuleCall_0_2_0; } //logic=LOGIC public Assignment getLogicAssignment_1() { return cLogicAssignment_1; } //LOGIC public RuleCall getLogicLOGICTerminalRuleCall_1_0() { return cLogicLOGICTerminalRuleCall_1_0; } //("(" LABEL+=STRING ")")* public Group getGroup_2() { return cGroup_2; } //"(" public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } //LABEL+=STRING public Assignment getLABELAssignment_2_1() { return cLABELAssignment_2_1; } //STRING public RuleCall getLABELSTRINGTerminalRuleCall_2_1_0() { return cLABELSTRINGTerminalRuleCall_2_1_0; } //")" public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } //";"? public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; } } public class HookCombinatorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "HookCombinator"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cHookKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cCombinatorKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRuleextAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRuleextINTTerminalRuleCall_4_0 = (RuleCall)cRuleextAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Assignment cLogicAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cLogicLOGICTerminalRuleCall_6_0 = (RuleCall)cLogicAssignment_6.eContents().get(0); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cLeftParenthesisKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Assignment cLABELAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); private final RuleCall cLABELSTRINGTerminalRuleCall_7_1_0 = (RuleCall)cLABELAssignment_7_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_7_2 = (Keyword)cGroup_7.eContents().get(2); private final Keyword cSemicolonKeyword_8 = (Keyword)cGroup.eContents().get(8); //HookCombinator: // "hook" "combinator:" name=ID "(" ruleext=INT ")" logic=LOGIC? ("(" LABEL+=STRING ")")+ ";"?; public ParserRule getRule() { return rule; } //"hook" "combinator:" name=ID "(" ruleext=INT ")" logic=LOGIC? ("(" LABEL+=STRING ")")+ ";"? public Group getGroup() { return cGroup; } //"hook" public Keyword getHookKeyword_0() { return cHookKeyword_0; } //"combinator:" public Keyword getCombinatorKeyword_1() { return cCombinatorKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //"(" public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; } //ruleext=INT public Assignment getRuleextAssignment_4() { return cRuleextAssignment_4; } //INT public RuleCall getRuleextINTTerminalRuleCall_4_0() { return cRuleextINTTerminalRuleCall_4_0; } //")" public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } //logic=LOGIC? public Assignment getLogicAssignment_6() { return cLogicAssignment_6; } //LOGIC public RuleCall getLogicLOGICTerminalRuleCall_6_0() { return cLogicLOGICTerminalRuleCall_6_0; } //("(" LABEL+=STRING ")")+ public Group getGroup_7() { return cGroup_7; } //"(" public Keyword getLeftParenthesisKeyword_7_0() { return cLeftParenthesisKeyword_7_0; } //LABEL+=STRING public Assignment getLABELAssignment_7_1() { return cLABELAssignment_7_1; } //STRING public RuleCall getLABELSTRINGTerminalRuleCall_7_1_0() { return cLABELSTRINGTerminalRuleCall_7_1_0; } //")" public Keyword getRightParenthesisKeyword_7_2() { return cRightParenthesisKeyword_7_2; } //";"? public Keyword getSemicolonKeyword_8() { return cSemicolonKeyword_8; } } public class DefinitionListElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefinitionList"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cSingleDefinitionAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cSingleDefinitionSingleDefinitionParserRuleCall_0_0 = (RuleCall)cSingleDefinitionAssignment_0.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cVerticalLineKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cSingleDefinitionAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cSingleDefinitionSingleDefinitionParserRuleCall_1_1_0 = (RuleCall)cSingleDefinitionAssignment_1_1.eContents().get(0); //DefinitionList: // singleDefinition+=SingleDefinition ("|" singleDefinition+=SingleDefinition)*; public ParserRule getRule() { return rule; } //singleDefinition+=SingleDefinition ("|" singleDefinition+=SingleDefinition)* public Group getGroup() { return cGroup; } //singleDefinition+=SingleDefinition public Assignment getSingleDefinitionAssignment_0() { return cSingleDefinitionAssignment_0; } //SingleDefinition public RuleCall getSingleDefinitionSingleDefinitionParserRuleCall_0_0() { return cSingleDefinitionSingleDefinitionParserRuleCall_0_0; } //("|" singleDefinition+=SingleDefinition)* public Group getGroup_1() { return cGroup_1; } //"|" public Keyword getVerticalLineKeyword_1_0() { return cVerticalLineKeyword_1_0; } //singleDefinition+=SingleDefinition public Assignment getSingleDefinitionAssignment_1_1() { return cSingleDefinitionAssignment_1_1; } //SingleDefinition public RuleCall getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0() { return cSingleDefinitionSingleDefinitionParserRuleCall_1_1_0; } } public class SingleDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SingleDefinition"); private final Assignment cTermsAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cTermsTermParserRuleCall_0 = (RuleCall)cTermsAssignment.eContents().get(0); //SingleDefinition: // terms+=Term+; public ParserRule getRule() { return rule; } //terms+=Term+ public Assignment getTermsAssignment() { return cTermsAssignment; } //Term public RuleCall getTermsTermParserRuleCall_0() { return cTermsTermParserRuleCall_0; } } public class TermElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Term"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cTermAtomAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cTermAtomAtomParserRuleCall_0_0 = (RuleCall)cTermAtomAssignment_0.eContents().get(0); private final Assignment cTermGroupedSequenceAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cTermGroupedSequenceGroupedSequenceParserRuleCall_1_0 = (RuleCall)cTermGroupedSequenceAssignment_1.eContents().get(0); private final Assignment cTermOptionalSequenceAssignment_2 = (Assignment)cAlternatives.eContents().get(2); private final RuleCall cTermOptionalSequenceOptionalSequenceParserRuleCall_2_0 = (RuleCall)cTermOptionalSequenceAssignment_2.eContents().get(0); private final Assignment cTermRepeatedSequenceAssignment_3 = (Assignment)cAlternatives.eContents().get(3); private final RuleCall cTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0 = (RuleCall)cTermRepeatedSequenceAssignment_3.eContents().get(0); //Term: // termAtom=Atom | termGroupedSequence=GroupedSequence | termOptionalSequence=OptionalSequence | // termRepeatedSequence=RepeatedSequence; public ParserRule getRule() { return rule; } //termAtom=Atom | termGroupedSequence=GroupedSequence | termOptionalSequence=OptionalSequence | //termRepeatedSequence=RepeatedSequence public Alternatives getAlternatives() { return cAlternatives; } //termAtom=Atom public Assignment getTermAtomAssignment_0() { return cTermAtomAssignment_0; } //Atom public RuleCall getTermAtomAtomParserRuleCall_0_0() { return cTermAtomAtomParserRuleCall_0_0; } //termGroupedSequence=GroupedSequence public Assignment getTermGroupedSequenceAssignment_1() { return cTermGroupedSequenceAssignment_1; } //GroupedSequence public RuleCall getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0() { return cTermGroupedSequenceGroupedSequenceParserRuleCall_1_0; } //termOptionalSequence=OptionalSequence public Assignment getTermOptionalSequenceAssignment_2() { return cTermOptionalSequenceAssignment_2; } //OptionalSequence public RuleCall getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0() { return cTermOptionalSequenceOptionalSequenceParserRuleCall_2_0; } //termRepeatedSequence=RepeatedSequence public Assignment getTermRepeatedSequenceAssignment_3() { return cTermRepeatedSequenceAssignment_3; } //RepeatedSequence public RuleCall getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0() { return cTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0; } } public class AtomElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Atom"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cAtomStringRuleAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cAtomStringRuleStringRuleParserRuleCall_0_0 = (RuleCall)cAtomStringRuleAssignment_0.eContents().get(0); private final Assignment cAtomRuleReferenceAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cAtomRuleReferenceRuleReferenceParserRuleCall_1_0 = (RuleCall)cAtomRuleReferenceAssignment_1.eContents().get(0); //Atom: // atomStringRule=StringRule | atomRuleReference=RuleReference; public ParserRule getRule() { return rule; } //atomStringRule=StringRule | atomRuleReference=RuleReference public Alternatives getAlternatives() { return cAlternatives; } //atomStringRule=StringRule public Assignment getAtomStringRuleAssignment_0() { return cAtomStringRuleAssignment_0; } //StringRule public RuleCall getAtomStringRuleStringRuleParserRuleCall_0_0() { return cAtomStringRuleStringRuleParserRuleCall_0_0; } //atomRuleReference=RuleReference public Assignment getAtomRuleReferenceAssignment_1() { return cAtomRuleReferenceAssignment_1; } //RuleReference public RuleCall getAtomRuleReferenceRuleReferenceParserRuleCall_1_0() { return cAtomRuleReferenceRuleReferenceParserRuleCall_1_0; } } public class RuleReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RuleReference"); private final Assignment cRulerefAssignment = (Assignment)rule.eContents().get(1); private final CrossReference cRulerefRuleCrossReference_0 = (CrossReference)cRulerefAssignment.eContents().get(0); private final RuleCall cRulerefRuleIDTerminalRuleCall_0_1 = (RuleCall)cRulerefRuleCrossReference_0.eContents().get(1); //RuleReference: // ruleref=[Rule]; public ParserRule getRule() { return rule; } //ruleref=[Rule] public Assignment getRulerefAssignment() { return cRulerefAssignment; } //[Rule] public CrossReference getRulerefRuleCrossReference_0() { return cRulerefRuleCrossReference_0; } //ID public RuleCall getRulerefRuleIDTerminalRuleCall_0_1() { return cRulerefRuleIDTerminalRuleCall_0_1; } } public class StringRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StringRule"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Assignment cLiteralAssignment_0 = (Assignment)cAlternatives.eContents().get(0); private final RuleCall cLiteralSTRINGTerminalRuleCall_0_0 = (RuleCall)cLiteralAssignment_0.eContents().get(0); private final Assignment cColonAssignment_1 = (Assignment)cAlternatives.eContents().get(1); private final RuleCall cColonCOLONTerminalRuleCall_1_0 = (RuleCall)cColonAssignment_1.eContents().get(0); //StringRule: // literal=STRING | colon=COLON; public ParserRule getRule() { return rule; } //literal=STRING | colon=COLON public Alternatives getAlternatives() { return cAlternatives; } //literal=STRING public Assignment getLiteralAssignment_0() { return cLiteralAssignment_0; } //STRING public RuleCall getLiteralSTRINGTerminalRuleCall_0_0() { return cLiteralSTRINGTerminalRuleCall_0_0; } //colon=COLON public Assignment getColonAssignment_1() { return cColonAssignment_1; } //COLON public RuleCall getColonCOLONTerminalRuleCall_1_0() { return cColonCOLONTerminalRuleCall_1_0; } } public class GroupedSequenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "GroupedSequence"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cDefinitionListAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cDefinitionListDefinitionListParserRuleCall_1_0 = (RuleCall)cDefinitionListAssignment_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); //GroupedSequence: // "(" definitionList+=DefinitionList ")"; public ParserRule getRule() { return rule; } //"(" definitionList+=DefinitionList ")" public Group getGroup() { return cGroup; } //"(" public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; } //definitionList+=DefinitionList public Assignment getDefinitionListAssignment_1() { return cDefinitionListAssignment_1; } //DefinitionList public RuleCall getDefinitionListDefinitionListParserRuleCall_1_0() { return cDefinitionListDefinitionListParserRuleCall_1_0; } //")" public Keyword getRightParenthesisKeyword_2() { return cRightParenthesisKeyword_2; } } public class OptionalSequenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OptionalSequence"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cDefinitionListAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cDefinitionListDefinitionListParserRuleCall_1_0 = (RuleCall)cDefinitionListAssignment_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); //OptionalSequence: // "[" definitionList+=DefinitionList "]"; public ParserRule getRule() { return rule; } //"[" definitionList+=DefinitionList "]" public Group getGroup() { return cGroup; } //"[" public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } //definitionList+=DefinitionList public Assignment getDefinitionListAssignment_1() { return cDefinitionListAssignment_1; } //DefinitionList public RuleCall getDefinitionListDefinitionListParserRuleCall_1_0() { return cDefinitionListDefinitionListParserRuleCall_1_0; } //"]" public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } } public class RepeatedSequenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepeatedSequence"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cDefinitionsAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cDefinitionsDefinitionListParserRuleCall_1_0 = (RuleCall)cDefinitionsAssignment_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3); private final Assignment cMorethanonceAssignment_3_0 = (Assignment)cAlternatives_3.eContents().get(0); private final Keyword cMorethanoncePlusSignKeyword_3_0_0 = (Keyword)cMorethanonceAssignment_3_0.eContents().get(0); private final Assignment cRangeAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1); private final RuleCall cRangeRepeatRangeParserRuleCall_3_1_0 = (RuleCall)cRangeAssignment_3_1.eContents().get(0); //RepeatedSequence: // "{" definitions+=DefinitionList "}" (morethanonce?="+"? | range=RepeatRange?); public ParserRule getRule() { return rule; } //"{" definitions+=DefinitionList "}" (morethanonce?="+"? | range=RepeatRange?) public Group getGroup() { return cGroup; } //"{" public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } //definitions+=DefinitionList public Assignment getDefinitionsAssignment_1() { return cDefinitionsAssignment_1; } //DefinitionList public RuleCall getDefinitionsDefinitionListParserRuleCall_1_0() { return cDefinitionsDefinitionListParserRuleCall_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; } //morethanonce?="+"? | range=RepeatRange? public Alternatives getAlternatives_3() { return cAlternatives_3; } //morethanonce?="+"? public Assignment getMorethanonceAssignment_3_0() { return cMorethanonceAssignment_3_0; } //"+" public Keyword getMorethanoncePlusSignKeyword_3_0_0() { return cMorethanoncePlusSignKeyword_3_0_0; } //range=RepeatRange? public Assignment getRangeAssignment_3_1() { return cRangeAssignment_3_1; } //RepeatRange public RuleCall getRangeRepeatRangeParserRuleCall_3_1_0() { return cRangeRepeatRangeParserRuleCall_3_1_0; } } public class RepeatRangeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepeatRange"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cNumberSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cFromAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cFromINTTerminalRuleCall_2_0 = (RuleCall)cFromAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cToAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cToINTTerminalRuleCall_4_0 = (RuleCall)cToAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //RepeatRange: // "#" "(" from=INT "," to=INT ")"; public ParserRule getRule() { return rule; } //"#" "(" from=INT "," to=INT ")" public Group getGroup() { return cGroup; } //"#" public Keyword getNumberSignKeyword_0() { return cNumberSignKeyword_0; } //"(" public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //from=INT public Assignment getFromAssignment_2() { return cFromAssignment_2; } //INT public RuleCall getFromINTTerminalRuleCall_2_0() { return cFromINTTerminalRuleCall_2_0; } //"," public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //to=INT public Assignment getToAssignment_4() { return cToAssignment_4; } //INT public RuleCall getToINTTerminalRuleCall_4_0() { return cToINTTerminalRuleCall_4_0; } //")" public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } private EtsiBnfElements pEtsiBnf; private ImportSectionElements pImportSection; private BnfEntryElements pBnfEntry; private DeltaEntryElements pDeltaEntry; private MergeEntryElements pMergeEntry; private SectionHeadingElements pSectionHeading; private CommentElements pComment; private ImportElements pImport; private RuleElements pRule; private ExtRuleElements pExtRule; private MergeRuleElements pMergeRule; private GlobalCombinatorElements pGlobalCombinator; private RuleCombinatorElements pRuleCombinator; private HookCombinatorElements pHookCombinator; private DefinitionListElements pDefinitionList; private SingleDefinitionElements pSingleDefinition; private TermElements pTerm; private AtomElements pAtom; private RuleReferenceElements pRuleReference; private StringRuleElements pStringRule; private GroupedSequenceElements pGroupedSequence; private OptionalSequenceElements pOptionalSequence; private RepeatedSequenceElements pRepeatedSequence; private RepeatRangeElements pRepeatRange; private TerminalRule tID; private TerminalRule tINT; private TerminalRule tWS; private TerminalRule tCOLON; private TerminalRule tSTRING; private TerminalRule tSECTIONHEADER; private TerminalRule tSL_COMMENT; private TerminalRule tML_COMMENT; private TerminalRule tLOGIC; private final Grammar grammar; @Inject public EbnfGrammarAccess(GrammarProvider grammarProvider) { this.grammar = internalFindGrammar(grammarProvider); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("de.ugoe.cs.swe.bnftools.Ebnf".equals(grammar.getName())) { return grammar; } List grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } public Grammar getGrammar() { return grammar; } //// ----------------------------------------------------------------------------------------------- //// Parser Rules //// ----------------------------------------------------------------------------------------------- //EtsiBnf: // "grammar" name=ID (type="/bnf"? ";" importSection=ImportSection? bnfEntry+=BnfEntry+) | type="/delta" ";" // importSection=ImportSection? deltaEntry+=DeltaEntry* | type="/merge" ";" importSection=ImportSection? // mergeEntry+=MergeEntry*; public EtsiBnfElements getEtsiBnfAccess() { return (pEtsiBnf != null) ? pEtsiBnf : (pEtsiBnf = new EtsiBnfElements()); } public ParserRule getEtsiBnfRule() { return getEtsiBnfAccess().getRule(); } //ImportSection: // imports+=Import+; public ImportSectionElements getImportSectionAccess() { return (pImportSection != null) ? pImportSection : (pImportSection = new ImportSectionElements()); } public ParserRule getImportSectionRule() { return getImportSectionAccess().getRule(); } //BnfEntry: // sectionheader=SectionHeading | rule=Rule | comment=Comment; public BnfEntryElements getBnfEntryAccess() { return (pBnfEntry != null) ? pBnfEntry : (pBnfEntry = new BnfEntryElements()); } public ParserRule getBnfEntryRule() { return getBnfEntryAccess().getRule(); } //DeltaEntry: // rule=Rule | sectionheader=SectionHeading | extRule=ExtRule; public DeltaEntryElements getDeltaEntryAccess() { return (pDeltaEntry != null) ? pDeltaEntry : (pDeltaEntry = new DeltaEntryElements()); } public ParserRule getDeltaEntryRule() { return getDeltaEntryAccess().getRule(); } //MergeEntry: // sectionheader=SectionHeading | mergeRule=MergeRule; public MergeEntryElements getMergeEntryAccess() { return (pMergeEntry != null) ? pMergeEntry : (pMergeEntry = new MergeEntryElements()); } public ParserRule getMergeEntryRule() { return getMergeEntryAccess().getRule(); } //SectionHeading: // {SectionHeading} sectionHeader=SECTIONHEADER; public SectionHeadingElements getSectionHeadingAccess() { return (pSectionHeading != null) ? pSectionHeading : (pSectionHeading = new SectionHeadingElements()); } public ParserRule getSectionHeadingRule() { return getSectionHeadingAccess().getRule(); } //Comment: // {Comment} content=ML_COMMENT; public CommentElements getCommentAccess() { return (pComment != null) ? pComment : (pComment = new CommentElements()); } public ParserRule getCommentRule() { return getCommentAccess().getRule(); } //Import: // "import" importURI=STRING ("/" (grammarType="core" | grammarType="package" | grammarType="update"))? ("label:" // label=ID)? ";"; public ImportElements getImportAccess() { return (pImport != null) ? pImport : (pImport = new ImportElements()); } public ParserRule getImportRule() { return getImportAccess().getRule(); } ////Import: 'import' importedNamespace=FqnWithWildCard; ////FqnWithWildCard: Fqn('.*')? ';'; ////Fqn:ID('.'ID)*; //Rule: // (rulenumber=INT rulevariant=ID? ".")? name=ID "::=" definitionList=DefinitionList? ";"?; public RuleElements getRuleAccess() { return (pRule != null) ? pRule : (pRule = new RuleElements()); } public ParserRule getRuleRule() { return getRuleAccess().getRule(); } //ExtRule: // (rulenumber=INT rulevariant=ID? ".")? name=ID ("(" ruleext=INT ")") "<-" (elements+=Atom | ")" | "]" | "}" | "|" | "(" // | "[" | "{" | "*" | "+")* ";"?; public ExtRuleElements getExtRuleAccess() { return (pExtRule != null) ? pExtRule : (pExtRule = new ExtRuleElements()); } public ParserRule getExtRuleRule() { return getExtRuleAccess().getRule(); } //MergeRule: // GlobalCombinator | RuleCombinator | HookCombinator; public MergeRuleElements getMergeRuleAccess() { return (pMergeRule != null) ? pMergeRule : (pMergeRule = new MergeRuleElements()); } public ParserRule getMergeRuleRule() { return getMergeRuleAccess().getRule(); } //GlobalCombinator: // ("global" "combinator:") logic=LOGIC ";"?; public GlobalCombinatorElements getGlobalCombinatorAccess() { return (pGlobalCombinator != null) ? pGlobalCombinator : (pGlobalCombinator = new GlobalCombinatorElements()); } public ParserRule getGlobalCombinatorRule() { return getGlobalCombinatorAccess().getRule(); } //RuleCombinator: // ("rule" "combinator:" name=ID) logic=LOGIC ("(" LABEL+=STRING ")")* ";"?; public RuleCombinatorElements getRuleCombinatorAccess() { return (pRuleCombinator != null) ? pRuleCombinator : (pRuleCombinator = new RuleCombinatorElements()); } public ParserRule getRuleCombinatorRule() { return getRuleCombinatorAccess().getRule(); } //HookCombinator: // "hook" "combinator:" name=ID "(" ruleext=INT ")" logic=LOGIC? ("(" LABEL+=STRING ")")+ ";"?; public HookCombinatorElements getHookCombinatorAccess() { return (pHookCombinator != null) ? pHookCombinator : (pHookCombinator = new HookCombinatorElements()); } public ParserRule getHookCombinatorRule() { return getHookCombinatorAccess().getRule(); } //DefinitionList: // singleDefinition+=SingleDefinition ("|" singleDefinition+=SingleDefinition)*; public DefinitionListElements getDefinitionListAccess() { return (pDefinitionList != null) ? pDefinitionList : (pDefinitionList = new DefinitionListElements()); } public ParserRule getDefinitionListRule() { return getDefinitionListAccess().getRule(); } //SingleDefinition: // terms+=Term+; public SingleDefinitionElements getSingleDefinitionAccess() { return (pSingleDefinition != null) ? pSingleDefinition : (pSingleDefinition = new SingleDefinitionElements()); } public ParserRule getSingleDefinitionRule() { return getSingleDefinitionAccess().getRule(); } //Term: // termAtom=Atom | termGroupedSequence=GroupedSequence | termOptionalSequence=OptionalSequence | // termRepeatedSequence=RepeatedSequence; public TermElements getTermAccess() { return (pTerm != null) ? pTerm : (pTerm = new TermElements()); } public ParserRule getTermRule() { return getTermAccess().getRule(); } //Atom: // atomStringRule=StringRule | atomRuleReference=RuleReference; public AtomElements getAtomAccess() { return (pAtom != null) ? pAtom : (pAtom = new AtomElements()); } public ParserRule getAtomRule() { return getAtomAccess().getRule(); } //RuleReference: // ruleref=[Rule]; public RuleReferenceElements getRuleReferenceAccess() { return (pRuleReference != null) ? pRuleReference : (pRuleReference = new RuleReferenceElements()); } public ParserRule getRuleReferenceRule() { return getRuleReferenceAccess().getRule(); } //StringRule: // literal=STRING | colon=COLON; public StringRuleElements getStringRuleAccess() { return (pStringRule != null) ? pStringRule : (pStringRule = new StringRuleElements()); } public ParserRule getStringRuleRule() { return getStringRuleAccess().getRule(); } //GroupedSequence: // "(" definitionList+=DefinitionList ")"; public GroupedSequenceElements getGroupedSequenceAccess() { return (pGroupedSequence != null) ? pGroupedSequence : (pGroupedSequence = new GroupedSequenceElements()); } public ParserRule getGroupedSequenceRule() { return getGroupedSequenceAccess().getRule(); } //OptionalSequence: // "[" definitionList+=DefinitionList "]"; public OptionalSequenceElements getOptionalSequenceAccess() { return (pOptionalSequence != null) ? pOptionalSequence : (pOptionalSequence = new OptionalSequenceElements()); } public ParserRule getOptionalSequenceRule() { return getOptionalSequenceAccess().getRule(); } //RepeatedSequence: // "{" definitions+=DefinitionList "}" (morethanonce?="+"? | range=RepeatRange?); public RepeatedSequenceElements getRepeatedSequenceAccess() { return (pRepeatedSequence != null) ? pRepeatedSequence : (pRepeatedSequence = new RepeatedSequenceElements()); } public ParserRule getRepeatedSequenceRule() { return getRepeatedSequenceAccess().getRule(); } //RepeatRange: // "#" "(" from=INT "," to=INT ")"; public RepeatRangeElements getRepeatRangeAccess() { return (pRepeatRange != null) ? pRepeatRange : (pRepeatRange = new RepeatRangeElements()); } public ParserRule getRepeatRangeRule() { return getRepeatRangeAccess().getRule(); } //// ----------------------------------------------------------------------------------------------- //// Lexer Rules //// ----------------------------------------------------------------------------------------------- //terminal ID: // ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "0".."9" | "_")*; public TerminalRule getIDRule() { return (tID != null) ? tID : (tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ID")); } //terminal INT returns ecore::EInt: // "0".."9"+; public TerminalRule getINTRule() { return (tINT != null) ? tINT : (tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "INT")); } //terminal WS: // (" " | "\t" | "\r"? "\n")+; public TerminalRule getWSRule() { return (tWS != null) ? tWS : (tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "WS")); } //terminal COLON: // "\"" "\"" "\""; public TerminalRule getCOLONRule() { return (tCOLON != null) ? tCOLON : (tCOLON = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "COLON")); } //terminal STRING: // "\"" !"\""* "\"" | "\'" !"\'"* "\'"; public TerminalRule getSTRINGRule() { return (tSTRING != null) ? tSTRING : (tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "STRING")); } //terminal SECTIONHEADER: // ("a".."z" | "A".."Z") ("." | "0".."9")+ (" " | "\t") !("\n" | "\r")* "\r"? "\n"; public TerminalRule getSECTIONHEADERRule() { return (tSECTIONHEADER != null) ? tSECTIONHEADER : (tSECTIONHEADER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SECTIONHEADER")); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return (tSL_COMMENT != null) ? tSL_COMMENT : (tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SL_COMMENT")); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return (tML_COMMENT != null) ? tML_COMMENT : (tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ML_COMMENT")); } ////TODO: a more intuitive notation //terminal LOGIC: // "/and" | "/or" | "/andr" | "/orr" | "/any" | "/together"; public TerminalRule getLOGICRule() { return (tLOGIC != null) ? tLOGIC : (tLOGIC = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LOGIC")); } }