/*
* 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();
}
}