/* * generated by Xtext */ package net.certware.planning.cpn.services; import com.google.inject.Singleton; import com.google.inject.Inject; import java.util.List; import org.eclipse.xtext.*; import org.eclipse.xtext.service.GrammarProvider; import org.eclipse.xtext.service.AbstractElementFinder.*; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; @Singleton public class CpnDslGrammarAccess extends AbstractGrammarElementFinder { public class PlansElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Plans"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cArgumentmodelsAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cArgumentmodelsArgumentModelsParserRuleCall_0_0 = (RuleCall)cArgumentmodelsAssignment_0.eContents().get(0); private final Assignment cPlansAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPlansPlanParserRuleCall_1_0 = (RuleCall)cPlansAssignment_1.eContents().get(0); //Plans: // argumentmodels+=ArgumentModels* plans+=Plan*; public ParserRule getRule() { return rule; } //argumentmodels+=ArgumentModels* plans+=Plan* public Group getGroup() { return cGroup; } //argumentmodels+=ArgumentModels* public Assignment getArgumentmodelsAssignment_0() { return cArgumentmodelsAssignment_0; } //ArgumentModels public RuleCall getArgumentmodelsArgumentModelsParserRuleCall_0_0() { return cArgumentmodelsArgumentModelsParserRuleCall_0_0; } //plans+=Plan* public Assignment getPlansAssignment_1() { return cPlansAssignment_1; } //Plan public RuleCall getPlansPlanParserRuleCall_1_0() { return cPlansPlanParserRuleCall_1_0; } } public class ArgumentModelsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ArgumentModels"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cArgumentmodelKeyword_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); //// any of our CertWare argument models derived from ARM should work here //ArgumentModels: // "argumentmodel" importURI=STRING; public ParserRule getRule() { return rule; } //"argumentmodel" importURI=STRING public Group getGroup() { return cGroup; } //"argumentmodel" public Keyword getArgumentmodelKeyword_0() { return cArgumentmodelKeyword_0; } //importURI=STRING public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; } //STRING public RuleCall getImportURISTRINGTerminalRuleCall_1_0() { return cImportURISTRINGTerminalRuleCall_1_0; } } public class AllocationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Allocation"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cAllocationAction_0 = (Action)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cCostKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cCostAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cCostINTTerminalRuleCall_1_1_0 = (RuleCall)cCostAssignment_1_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cDurationKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cDurationAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDurationINTTerminalRuleCall_2_1_0 = (RuleCall)cDurationAssignment_2_1.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cTeamKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cTeamAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cTeamSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cTeamAssignment_3_1.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cFacilityKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cFacilityAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cFacilitySTRINGTerminalRuleCall_4_1_0 = (RuleCall)cFacilityAssignment_4_1.eContents().get(0); //Allocation: // {Allocation} ("cost" cost=INT)? ("duration" duration=INT)? ("team" team=STRING)? ("facility" facility=STRING)?; public ParserRule getRule() { return rule; } //{Allocation} ("cost" cost=INT)? ("duration" duration=INT)? ("team" team=STRING)? ("facility" facility=STRING)? public Group getGroup() { return cGroup; } //{Allocation} public Action getAllocationAction_0() { return cAllocationAction_0; } //("cost" cost=INT)? public Group getGroup_1() { return cGroup_1; } //"cost" public Keyword getCostKeyword_1_0() { return cCostKeyword_1_0; } //cost=INT public Assignment getCostAssignment_1_1() { return cCostAssignment_1_1; } //INT public RuleCall getCostINTTerminalRuleCall_1_1_0() { return cCostINTTerminalRuleCall_1_1_0; } //("duration" duration=INT)? public Group getGroup_2() { return cGroup_2; } //"duration" public Keyword getDurationKeyword_2_0() { return cDurationKeyword_2_0; } //duration=INT public Assignment getDurationAssignment_2_1() { return cDurationAssignment_2_1; } //INT public RuleCall getDurationINTTerminalRuleCall_2_1_0() { return cDurationINTTerminalRuleCall_2_1_0; } //("team" team=STRING)? public Group getGroup_3() { return cGroup_3; } //"team" public Keyword getTeamKeyword_3_0() { return cTeamKeyword_3_0; } //team=STRING public Assignment getTeamAssignment_3_1() { return cTeamAssignment_3_1; } //STRING public RuleCall getTeamSTRINGTerminalRuleCall_3_1_0() { return cTeamSTRINGTerminalRuleCall_3_1_0; } //("facility" facility=STRING)? public Group getGroup_4() { return cGroup_4; } //"facility" public Keyword getFacilityKeyword_4_0() { return cFacilityKeyword_4_0; } //facility=STRING public Assignment getFacilityAssignment_4_1() { return cFacilityAssignment_4_1; } //STRING public RuleCall getFacilitySTRINGTerminalRuleCall_4_1_0() { return cFacilitySTRINGTerminalRuleCall_4_1_0; } } public class PlanElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Plan"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPlanKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cIdSTRINGTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); private final Keyword cElementKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cElementAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cElementModelElementCrossReference_3_0 = (CrossReference)cElementAssignment_3.eContents().get(0); private final RuleCall cElementModelElementIDTerminalRuleCall_3_0_1 = (RuleCall)cElementModelElementCrossReference_3_0.eContents().get(1); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cEstimatedKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); private final Assignment cEstimatedAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); private final RuleCall cEstimatedAllocationParserRuleCall_4_2_0 = (RuleCall)cEstimatedAssignment_4_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_4_3 = (Keyword)cGroup_4.eContents().get(3); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cActualKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); private final Assignment cActualAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); private final RuleCall cActualAllocationParserRuleCall_5_2_0 = (RuleCall)cActualAssignment_5_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_5_3 = (Keyword)cGroup_5.eContents().get(3); //Plan: // "plan" id=STRING "element" element=[sacm::ModelElement] ("estimated" "(" estimated=Allocation ")")? ("actual" "(" // actual=Allocation ")")?; public ParserRule getRule() { return rule; } //"plan" id=STRING "element" element=[sacm::ModelElement] ("estimated" "(" estimated=Allocation ")")? ("actual" "(" //actual=Allocation ")")? public Group getGroup() { return cGroup; } //"plan" public Keyword getPlanKeyword_0() { return cPlanKeyword_0; } //id=STRING public Assignment getIdAssignment_1() { return cIdAssignment_1; } //STRING public RuleCall getIdSTRINGTerminalRuleCall_1_0() { return cIdSTRINGTerminalRuleCall_1_0; } //"element" public Keyword getElementKeyword_2() { return cElementKeyword_2; } //element=[sacm::ModelElement] public Assignment getElementAssignment_3() { return cElementAssignment_3; } //[sacm::ModelElement] public CrossReference getElementModelElementCrossReference_3_0() { return cElementModelElementCrossReference_3_0; } //ID public RuleCall getElementModelElementIDTerminalRuleCall_3_0_1() { return cElementModelElementIDTerminalRuleCall_3_0_1; } //("estimated" "(" estimated=Allocation ")")? public Group getGroup_4() { return cGroup_4; } //"estimated" public Keyword getEstimatedKeyword_4_0() { return cEstimatedKeyword_4_0; } //"(" public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } //estimated=Allocation public Assignment getEstimatedAssignment_4_2() { return cEstimatedAssignment_4_2; } //Allocation public RuleCall getEstimatedAllocationParserRuleCall_4_2_0() { return cEstimatedAllocationParserRuleCall_4_2_0; } //")" public Keyword getRightParenthesisKeyword_4_3() { return cRightParenthesisKeyword_4_3; } //("actual" "(" actual=Allocation ")")? public Group getGroup_5() { return cGroup_5; } //"actual" public Keyword getActualKeyword_5_0() { return cActualKeyword_5_0; } //"(" public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } //actual=Allocation public Assignment getActualAssignment_5_2() { return cActualAssignment_5_2; } //Allocation public RuleCall getActualAllocationParserRuleCall_5_2_0() { return cActualAllocationParserRuleCall_5_2_0; } //")" public Keyword getRightParenthesisKeyword_5_3() { return cRightParenthesisKeyword_5_3; } } private PlansElements pPlans; private ArgumentModelsElements pArgumentModels; private AllocationElements pAllocation; private PlanElements pPlan; private final Grammar grammar; private TerminalsGrammarAccess gaTerminals; @Inject public CpnDslGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("net.certware.planning.cpn.CpnDsl".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } public Grammar getGrammar() { return grammar; } public TerminalsGrammarAccess getTerminalsGrammarAccess() { return gaTerminals; } //Plans: // argumentmodels+=ArgumentModels* plans+=Plan*; public PlansElements getPlansAccess() { return (pPlans != null) ? pPlans : (pPlans = new PlansElements()); } public ParserRule getPlansRule() { return getPlansAccess().getRule(); } //// any of our CertWare argument models derived from ARM should work here //ArgumentModels: // "argumentmodel" importURI=STRING; public ArgumentModelsElements getArgumentModelsAccess() { return (pArgumentModels != null) ? pArgumentModels : (pArgumentModels = new ArgumentModelsElements()); } public ParserRule getArgumentModelsRule() { return getArgumentModelsAccess().getRule(); } //Allocation: // {Allocation} ("cost" cost=INT)? ("duration" duration=INT)? ("team" team=STRING)? ("facility" facility=STRING)?; public AllocationElements getAllocationAccess() { return (pAllocation != null) ? pAllocation : (pAllocation = new AllocationElements()); } public ParserRule getAllocationRule() { return getAllocationAccess().getRule(); } //Plan: // "plan" id=STRING "element" element=[sacm::ModelElement] ("estimated" "(" estimated=Allocation ")")? ("actual" "(" // actual=Allocation ")")?; public PlanElements getPlanAccess() { return (pPlan != null) ? pPlan : (pPlan = new PlanElements()); } public ParserRule getPlanRule() { return getPlanAccess().getRule(); } //terminal ID: // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } //terminal INT returns ecore::EInt: // "0".."9"+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } //terminal ANY_OTHER: // .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); } }