blob: d80624d174cdd4eeedcdb49d6dc853a71615e07d [file] [log] [blame]
/*
* generated by Xtext
*/
package org.eclipse.xtext.example.fowlerdsl.services;
import com.google.inject.Singleton;
import com.google.inject.Inject;
import org.eclipse.xtext.*;
import org.eclipse.xtext.service.GrammarProvider;
import org.eclipse.xtext.service.AbstractElementFinder.*;
import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
@Singleton
public class StatemachineGrammarAccess extends AbstractGrammarElementFinder {
public class StatemachineElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statemachine");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Action cStatemachineAction_0 = (Action)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Keyword cEventsKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Assignment cEventsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cEventsEventParserRuleCall_1_1_0 = (RuleCall)cEventsAssignment_1_1.eContents().get(0);
private final Keyword cEndKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cResetEventsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Assignment cResetEventsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final CrossReference cResetEventsEventCrossReference_2_1_0 = (CrossReference)cResetEventsAssignment_2_1.eContents().get(0);
private final RuleCall cResetEventsEventIDTerminalRuleCall_2_1_0_1 = (RuleCall)cResetEventsEventCrossReference_2_1_0.eContents().get(1);
private final Keyword cEndKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
private final Keyword cCommandsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
private final Assignment cCommandsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
private final RuleCall cCommandsCommandParserRuleCall_3_1_0 = (RuleCall)cCommandsAssignment_3_1.eContents().get(0);
private final Keyword cEndKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
private final Assignment cStatesAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cStatesStateParserRuleCall_4_0 = (RuleCall)cStatesAssignment_4.eContents().get(0);
//Statemachine:
// {Statemachine} ("events" events+=Event+ "end")? ("resetEvents" resetEvents+=[Event]+ "end")? ("commands"
// commands+=Command+ "end")? states+=State*;
public ParserRule getRule() { return rule; }
//{Statemachine} ("events" events+=Event+ "end")? ("resetEvents" resetEvents+=[Event]+ "end")? ("commands"
//commands+=Command+ "end")? states+=State*
public Group getGroup() { return cGroup; }
//{Statemachine}
public Action getStatemachineAction_0() { return cStatemachineAction_0; }
//("events" events+=Event+ "end")?
public Group getGroup_1() { return cGroup_1; }
//"events"
public Keyword getEventsKeyword_1_0() { return cEventsKeyword_1_0; }
//events+=Event+
public Assignment getEventsAssignment_1_1() { return cEventsAssignment_1_1; }
//Event
public RuleCall getEventsEventParserRuleCall_1_1_0() { return cEventsEventParserRuleCall_1_1_0; }
//"end"
public Keyword getEndKeyword_1_2() { return cEndKeyword_1_2; }
//("resetEvents" resetEvents+=[Event]+ "end")?
public Group getGroup_2() { return cGroup_2; }
//"resetEvents"
public Keyword getResetEventsKeyword_2_0() { return cResetEventsKeyword_2_0; }
//resetEvents+=[Event]+
public Assignment getResetEventsAssignment_2_1() { return cResetEventsAssignment_2_1; }
//[Event]
public CrossReference getResetEventsEventCrossReference_2_1_0() { return cResetEventsEventCrossReference_2_1_0; }
//ID
public RuleCall getResetEventsEventIDTerminalRuleCall_2_1_0_1() { return cResetEventsEventIDTerminalRuleCall_2_1_0_1; }
//"end"
public Keyword getEndKeyword_2_2() { return cEndKeyword_2_2; }
//("commands" commands+=Command+ "end")?
public Group getGroup_3() { return cGroup_3; }
//"commands"
public Keyword getCommandsKeyword_3_0() { return cCommandsKeyword_3_0; }
//commands+=Command+
public Assignment getCommandsAssignment_3_1() { return cCommandsAssignment_3_1; }
//Command
public RuleCall getCommandsCommandParserRuleCall_3_1_0() { return cCommandsCommandParserRuleCall_3_1_0; }
//"end"
public Keyword getEndKeyword_3_2() { return cEndKeyword_3_2; }
//states+=State*
public Assignment getStatesAssignment_4() { return cStatesAssignment_4; }
//State
public RuleCall getStatesStateParserRuleCall_4_0() { return cStatesStateParserRuleCall_4_0; }
}
public class EventElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Event");
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 cCodeAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cCodeIDTerminalRuleCall_1_0 = (RuleCall)cCodeAssignment_1.eContents().get(0);
//Event:
// name=ID code=ID;
public ParserRule getRule() { return rule; }
//name=ID code=ID
public Group getGroup() { return cGroup; }
//name=ID
public Assignment getNameAssignment_0() { return cNameAssignment_0; }
//ID
public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
//code=ID
public Assignment getCodeAssignment_1() { return cCodeAssignment_1; }
//ID
public RuleCall getCodeIDTerminalRuleCall_1_0() { return cCodeIDTerminalRuleCall_1_0; }
}
public class CommandElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Command");
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 cCodeAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cCodeIDTerminalRuleCall_1_0 = (RuleCall)cCodeAssignment_1.eContents().get(0);
//Command:
// name=ID code=ID;
public ParserRule getRule() { return rule; }
//name=ID code=ID
public Group getGroup() { return cGroup; }
//name=ID
public Assignment getNameAssignment_0() { return cNameAssignment_0; }
//ID
public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
//code=ID
public Assignment getCodeAssignment_1() { return cCodeAssignment_1; }
//ID
public RuleCall getCodeIDTerminalRuleCall_1_0() { return cCodeIDTerminalRuleCall_1_0; }
}
public class StateElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "State");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cStateKeyword_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 Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cActionsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Keyword cLeftCurlyBracketKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
private final Assignment cActionsAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
private final CrossReference cActionsCommandCrossReference_2_2_0 = (CrossReference)cActionsAssignment_2_2.eContents().get(0);
private final RuleCall cActionsCommandIDTerminalRuleCall_2_2_0_1 = (RuleCall)cActionsCommandCrossReference_2_2_0.eContents().get(1);
private final Keyword cRightCurlyBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
private final Assignment cTransitionsAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cTransitionsTransitionParserRuleCall_3_0 = (RuleCall)cTransitionsAssignment_3.eContents().get(0);
private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4);
//State:
// "state" name=ID ("actions" "{" actions+=[Command]+ "}")? transitions+=Transition* "end";
public ParserRule getRule() { return rule; }
//"state" name=ID ("actions" "{" actions+=[Command]+ "}")? transitions+=Transition* "end"
public Group getGroup() { return cGroup; }
//"state"
public Keyword getStateKeyword_0() { return cStateKeyword_0; }
//name=ID
public Assignment getNameAssignment_1() { return cNameAssignment_1; }
//ID
public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
//("actions" "{" actions+=[Command]+ "}")?
public Group getGroup_2() { return cGroup_2; }
//"actions"
public Keyword getActionsKeyword_2_0() { return cActionsKeyword_2_0; }
//"{"
public Keyword getLeftCurlyBracketKeyword_2_1() { return cLeftCurlyBracketKeyword_2_1; }
//actions+=[Command]+
public Assignment getActionsAssignment_2_2() { return cActionsAssignment_2_2; }
//[Command]
public CrossReference getActionsCommandCrossReference_2_2_0() { return cActionsCommandCrossReference_2_2_0; }
//ID
public RuleCall getActionsCommandIDTerminalRuleCall_2_2_0_1() { return cActionsCommandIDTerminalRuleCall_2_2_0_1; }
//"}"
public Keyword getRightCurlyBracketKeyword_2_3() { return cRightCurlyBracketKeyword_2_3; }
//transitions+=Transition*
public Assignment getTransitionsAssignment_3() { return cTransitionsAssignment_3; }
//Transition
public RuleCall getTransitionsTransitionParserRuleCall_3_0() { return cTransitionsTransitionParserRuleCall_3_0; }
//"end"
public Keyword getEndKeyword_4() { return cEndKeyword_4; }
}
public class TransitionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Transition");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cEventAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final CrossReference cEventEventCrossReference_0_0 = (CrossReference)cEventAssignment_0.eContents().get(0);
private final RuleCall cEventEventIDTerminalRuleCall_0_0_1 = (RuleCall)cEventEventCrossReference_0_0.eContents().get(1);
private final Keyword cEqualsSignGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cStateAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final CrossReference cStateStateCrossReference_2_0 = (CrossReference)cStateAssignment_2.eContents().get(0);
private final RuleCall cStateStateIDTerminalRuleCall_2_0_1 = (RuleCall)cStateStateCrossReference_2_0.eContents().get(1);
//Transition:
// event=[Event] "=>" state=[State];
public ParserRule getRule() { return rule; }
//event=[Event] "=>" state=[State]
public Group getGroup() { return cGroup; }
//event=[Event]
public Assignment getEventAssignment_0() { return cEventAssignment_0; }
//[Event]
public CrossReference getEventEventCrossReference_0_0() { return cEventEventCrossReference_0_0; }
//ID
public RuleCall getEventEventIDTerminalRuleCall_0_0_1() { return cEventEventIDTerminalRuleCall_0_0_1; }
//"=>"
public Keyword getEqualsSignGreaterThanSignKeyword_1() { return cEqualsSignGreaterThanSignKeyword_1; }
//state=[State]
public Assignment getStateAssignment_2() { return cStateAssignment_2; }
//[State]
public CrossReference getStateStateCrossReference_2_0() { return cStateStateCrossReference_2_0; }
//ID
public RuleCall getStateStateIDTerminalRuleCall_2_0_1() { return cStateStateIDTerminalRuleCall_2_0_1; }
}
private StatemachineElements pStatemachine;
private EventElements pEvent;
private CommandElements pCommand;
private StateElements pState;
private TransitionElements pTransition;
private final GrammarProvider grammarProvider;
private TerminalsGrammarAccess gaTerminals;
@Inject
public StatemachineGrammarAccess(GrammarProvider grammarProvider,
TerminalsGrammarAccess gaTerminals) {
this.grammarProvider = grammarProvider;
this.gaTerminals = gaTerminals;
}
public Grammar getGrammar() {
return grammarProvider.getGrammar(this);
}
public TerminalsGrammarAccess getTerminalsGrammarAccess() {
return gaTerminals;
}
//Statemachine:
// {Statemachine} ("events" events+=Event+ "end")? ("resetEvents" resetEvents+=[Event]+ "end")? ("commands"
// commands+=Command+ "end")? states+=State*;
public StatemachineElements getStatemachineAccess() {
return (pStatemachine != null) ? pStatemachine : (pStatemachine = new StatemachineElements());
}
public ParserRule getStatemachineRule() {
return getStatemachineAccess().getRule();
}
//Event:
// name=ID code=ID;
public EventElements getEventAccess() {
return (pEvent != null) ? pEvent : (pEvent = new EventElements());
}
public ParserRule getEventRule() {
return getEventAccess().getRule();
}
//Command:
// name=ID code=ID;
public CommandElements getCommandAccess() {
return (pCommand != null) ? pCommand : (pCommand = new CommandElements());
}
public ParserRule getCommandRule() {
return getCommandAccess().getRule();
}
//State:
// "state" name=ID ("actions" "{" actions+=[Command]+ "}")? transitions+=Transition* "end";
public StateElements getStateAccess() {
return (pState != null) ? pState : (pState = new StateElements());
}
public ParserRule getStateRule() {
return getStateAccess().getRule();
}
//Transition:
// event=[Event] "=>" state=[State];
public TransitionElements getTransitionAccess() {
return (pTransition != null) ? pTransition : (pTransition = new TransitionElements());
}
public ParserRule getTransitionRule() {
return getTransitionAccess().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();
}
}