| /* |
| * generated by Xtext |
| */ |
| package org.eclipse.ocl.tutorial.eclipsecon2011.parseTreeConstruction; |
| |
| import org.eclipse.emf.ecore.*; |
| import org.eclipse.xtext.*; |
| import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer; |
| import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor; |
| |
| import org.eclipse.ocl.tutorial.eclipsecon2011.services.StatesGrammarAccess; |
| |
| import com.google.inject.Inject; |
| |
| @SuppressWarnings("all") |
| public class StatesParsetreeConstructor extends AbstractParseTreeConstructor { |
| |
| @Inject |
| private StatesGrammarAccess grammarAccess; |
| |
| @Override |
| protected AbstractToken getRootToken(IEObjectConsumer inst) { |
| return new ThisRootNode(inst); |
| } |
| |
| protected class ThisRootNode extends RootToken { |
| public ThisRootNode(IEObjectConsumer inst) { |
| super(inst); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Module_Group(this, this, 0, inst); |
| case 1: return new Statemachine_Group(this, this, 1, inst); |
| case 2: return new Event_NameAssignment(this, this, 2, inst); |
| case 3: return new State_Alternatives(this, this, 3, inst); |
| case 4: return new SimpleState_Group(this, this, 4, inst); |
| case 5: return new CompoundState_Group(this, this, 5, inst); |
| case 6: return new Transition_Group(this, this, 6, inst); |
| default: return null; |
| } |
| } |
| } |
| |
| |
| /************ begin Rule Module **************** |
| * |
| * Module: |
| * "module" name=STRING machines+=Statemachine*; |
| * |
| **/ |
| |
| // "module" name=STRING machines+=Statemachine* |
| protected class Module_Group extends GroupToken { |
| |
| public Module_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getModuleAccess().getGroup(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Module_MachinesAssignment_2(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new Module_NameAssignment_1(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getModuleRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // "module" |
| protected class Module_ModuleKeyword_0 extends KeywordToken { |
| |
| public Module_ModuleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getModuleAccess().getModuleKeyword_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| } |
| |
| // name=STRING |
| protected class Module_NameAssignment_1 extends AssignmentToken { |
| |
| public Module_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getModuleAccess().getNameAssignment_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Module_ModuleKeyword_0(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModuleAccess().getNameSTRINGTerminalRuleCall_1_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getModuleAccess().getNameSTRINGTerminalRuleCall_1_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // machines+=Statemachine* |
| protected class Module_MachinesAssignment_2 extends AssignmentToken { |
| |
| public Module_MachinesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getModuleAccess().getMachinesAssignment_2(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_Group(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("machines",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("machines"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getStatemachineRule().getType().getClassifier())) { |
| type = AssignmentType.PARSER_RULE_CALL; |
| element = grammarAccess.getModuleAccess().getMachinesStatemachineParserRuleCall_2_0(); |
| consumed = obj; |
| return param; |
| } |
| } |
| return null; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| if(value == inst.getEObject() && !inst.isConsumed()) return null; |
| switch(index) { |
| case 0: return new Module_MachinesAssignment_2(lastRuleCallOrigin, next, actIndex, consumed); |
| case 1: return new Module_NameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed); |
| default: return null; |
| } |
| } |
| } |
| |
| |
| /************ end Rule Module ****************/ |
| |
| |
| /************ begin Rule Statemachine **************** |
| * |
| * Statemachine: |
| * initial?="initial"? "statemachine" name=ID ("value" value=INT)? "{" "events" events+=Event* ";" states+=State* "}"; |
| * |
| **/ |
| |
| // initial?="initial"? "statemachine" name=ID ("value" value=INT)? "{" "events" events+=Event* ";" states+=State* "}" |
| protected class Statemachine_Group extends GroupToken { |
| |
| public Statemachine_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getGroup(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getStatemachineRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // initial?="initial"? |
| protected class Statemachine_InitialAssignment_0 extends AssignmentToken { |
| |
| public Statemachine_InitialAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getInitialAssignment_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("initial",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial"); |
| if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl |
| type = AssignmentType.KEYWORD; |
| element = grammarAccess.getStatemachineAccess().getInitialInitialKeyword_0_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // "statemachine" |
| protected class Statemachine_StatemachineKeyword_1 extends KeywordToken { |
| |
| public Statemachine_StatemachineKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getStatemachineKeyword_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_InitialAssignment_0(lastRuleCallOrigin, this, 0, inst); |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); |
| } |
| } |
| |
| } |
| |
| // name=ID |
| protected class Statemachine_NameAssignment_2 extends AssignmentToken { |
| |
| public Statemachine_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getNameAssignment_2(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_StatemachineKeyword_1(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStatemachineAccess().getNameIDTerminalRuleCall_2_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getStatemachineAccess().getNameIDTerminalRuleCall_2_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // ("value" value=INT)? |
| protected class Statemachine_Group_3 extends GroupToken { |
| |
| public Statemachine_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getGroup_3(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_ValueAssignment_3_1(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // "value" |
| protected class Statemachine_ValueKeyword_3_0 extends KeywordToken { |
| |
| public Statemachine_ValueKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getValueKeyword_3_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // value=INT |
| protected class Statemachine_ValueAssignment_3_1 extends AssignmentToken { |
| |
| public Statemachine_ValueAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getValueAssignment_3_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_ValueKeyword_3_0(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("value",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStatemachineAccess().getValueINTTerminalRuleCall_3_1_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getStatemachineAccess().getValueINTTerminalRuleCall_3_1_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| |
| // "{" |
| protected class Statemachine_LeftCurlyBracketKeyword_4 extends KeywordToken { |
| |
| public Statemachine_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_4(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_Group_3(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new Statemachine_NameAssignment_2(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // "events" |
| protected class Statemachine_EventsKeyword_5 extends KeywordToken { |
| |
| public Statemachine_EventsKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getEventsKeyword_5(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // events+=Event* |
| protected class Statemachine_EventsAssignment_6 extends AssignmentToken { |
| |
| public Statemachine_EventsAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getEventsAssignment_6(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Event_NameAssignment(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("events",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("events"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getEventRule().getType().getClassifier())) { |
| type = AssignmentType.PARSER_RULE_CALL; |
| element = grammarAccess.getStatemachineAccess().getEventsEventParserRuleCall_6_0(); |
| consumed = obj; |
| return param; |
| } |
| } |
| return null; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| if(value == inst.getEObject() && !inst.isConsumed()) return null; |
| switch(index) { |
| case 0: return new Statemachine_EventsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed); |
| case 1: return new Statemachine_EventsKeyword_5(lastRuleCallOrigin, next, actIndex, consumed); |
| default: return null; |
| } |
| } |
| } |
| |
| // ";" |
| protected class Statemachine_SemicolonKeyword_7 extends KeywordToken { |
| |
| public Statemachine_SemicolonKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getSemicolonKeyword_7(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_EventsAssignment_6(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new Statemachine_EventsKeyword_5(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // states+=State* |
| protected class Statemachine_StatesAssignment_8 extends AssignmentToken { |
| |
| public Statemachine_StatesAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getStatesAssignment_8(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new State_Alternatives(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("states",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("states"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getStateRule().getType().getClassifier())) { |
| type = AssignmentType.PARSER_RULE_CALL; |
| element = grammarAccess.getStatemachineAccess().getStatesStateParserRuleCall_8_0(); |
| consumed = obj; |
| return param; |
| } |
| } |
| return null; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| if(value == inst.getEObject() && !inst.isConsumed()) return null; |
| switch(index) { |
| case 0: return new Statemachine_StatesAssignment_8(lastRuleCallOrigin, next, actIndex, consumed); |
| case 1: return new Statemachine_SemicolonKeyword_7(lastRuleCallOrigin, next, actIndex, consumed); |
| default: return null; |
| } |
| } |
| } |
| |
| // "}" |
| protected class Statemachine_RightCurlyBracketKeyword_9 extends KeywordToken { |
| |
| public Statemachine_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_9(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Statemachine_StatesAssignment_8(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new Statemachine_SemicolonKeyword_7(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| |
| /************ end Rule Statemachine ****************/ |
| |
| |
| /************ begin Rule Event **************** |
| * |
| * Event: |
| * name=ID; |
| * |
| **/ |
| |
| // name=ID |
| protected class Event_NameAssignment extends AssignmentToken { |
| |
| public Event_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getEventAccess().getNameAssignment(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getEventRule().getType().getClassifier()) |
| return null; |
| if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEventAccess().getNameIDTerminalRuleCall_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getEventAccess().getNameIDTerminalRuleCall_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| /************ end Rule Event ****************/ |
| |
| |
| /************ begin Rule State **************** |
| * |
| * State: |
| * SimpleState | CompoundState; |
| * |
| **/ |
| |
| // SimpleState | CompoundState |
| protected class State_Alternatives extends AlternativesToken { |
| |
| public State_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Alternatives getGrammarElement() { |
| return grammarAccess.getStateAccess().getAlternatives(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new State_SimpleStateParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new State_CompoundStateParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier() && |
| getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // SimpleState |
| protected class State_SimpleStateParserRuleCall_0 extends RuleCallToken { |
| |
| public State_SimpleStateParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public RuleCall getGrammarElement() { |
| return grammarAccess.getStateAccess().getSimpleStateParserRuleCall_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_Group(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier()) |
| return null; |
| if(checkForRecursion(SimpleState_Group.class, eObjectConsumer)) return null; |
| return eObjectConsumer; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); |
| } |
| } |
| } |
| |
| // CompoundState |
| protected class State_CompoundStateParserRuleCall_1 extends RuleCallToken { |
| |
| public State_CompoundStateParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public RuleCall getGrammarElement() { |
| return grammarAccess.getStateAccess().getCompoundStateParserRuleCall_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_Group(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier()) |
| return null; |
| if(checkForRecursion(CompoundState_Group.class, eObjectConsumer)) return null; |
| return eObjectConsumer; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); |
| } |
| } |
| } |
| |
| |
| /************ end Rule State ****************/ |
| |
| |
| /************ begin Rule SimpleState **************** |
| * |
| * SimpleState: |
| * initial?="initial"? "state" name=ID ("value" value=INT)? "{" transitions+=Transition* "}"; |
| * |
| **/ |
| |
| // initial?="initial"? "state" name=ID ("value" value=INT)? "{" transitions+=Transition* "}" |
| protected class SimpleState_Group extends GroupToken { |
| |
| public SimpleState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getGroup(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // initial?="initial"? |
| protected class SimpleState_InitialAssignment_0 extends AssignmentToken { |
| |
| public SimpleState_InitialAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getInitialAssignment_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("initial",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial"); |
| if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl |
| type = AssignmentType.KEYWORD; |
| element = grammarAccess.getSimpleStateAccess().getInitialInitialKeyword_0_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // "state" |
| protected class SimpleState_StateKeyword_1 extends KeywordToken { |
| |
| public SimpleState_StateKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getStateKeyword_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_InitialAssignment_0(lastRuleCallOrigin, this, 0, inst); |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); |
| } |
| } |
| |
| } |
| |
| // name=ID |
| protected class SimpleState_NameAssignment_2 extends AssignmentToken { |
| |
| public SimpleState_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getNameAssignment_2(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_StateKeyword_1(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_2_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_2_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // ("value" value=INT)? |
| protected class SimpleState_Group_3 extends GroupToken { |
| |
| public SimpleState_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getGroup_3(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_ValueAssignment_3_1(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // "value" |
| protected class SimpleState_ValueKeyword_3_0 extends KeywordToken { |
| |
| public SimpleState_ValueKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getValueKeyword_3_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // value=INT |
| protected class SimpleState_ValueAssignment_3_1 extends AssignmentToken { |
| |
| public SimpleState_ValueAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getValueAssignment_3_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_ValueKeyword_3_0(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("value",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSimpleStateAccess().getValueINTTerminalRuleCall_3_1_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getSimpleStateAccess().getValueINTTerminalRuleCall_3_1_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| |
| // "{" |
| protected class SimpleState_LeftCurlyBracketKeyword_4 extends KeywordToken { |
| |
| public SimpleState_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_4(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_Group_3(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new SimpleState_NameAssignment_2(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // transitions+=Transition* |
| protected class SimpleState_TransitionsAssignment_5 extends AssignmentToken { |
| |
| public SimpleState_TransitionsAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getTransitionsAssignment_5(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Transition_Group(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("transitions",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("transitions"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getTransitionRule().getType().getClassifier())) { |
| type = AssignmentType.PARSER_RULE_CALL; |
| element = grammarAccess.getSimpleStateAccess().getTransitionsTransitionParserRuleCall_5_0(); |
| consumed = obj; |
| return param; |
| } |
| } |
| return null; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| if(value == inst.getEObject() && !inst.isConsumed()) return null; |
| switch(index) { |
| case 0: return new SimpleState_TransitionsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); |
| case 1: return new SimpleState_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); |
| default: return null; |
| } |
| } |
| } |
| |
| // "}" |
| protected class SimpleState_RightCurlyBracketKeyword_6 extends KeywordToken { |
| |
| public SimpleState_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_6(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new SimpleState_TransitionsAssignment_5(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new SimpleState_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| |
| /************ end Rule SimpleState ****************/ |
| |
| |
| /************ begin Rule CompoundState **************** |
| * |
| * CompoundState: |
| * "compound" initial?="initial"? "state" name=ID "machine" machine=[Statemachine] "{" transitions+=Transition* "}"; |
| * |
| **/ |
| |
| // "compound" initial?="initial"? "state" name=ID "machine" machine=[Statemachine] "{" transitions+=Transition* "}" |
| protected class CompoundState_Group extends GroupToken { |
| |
| public CompoundState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getGroup(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // "compound" |
| protected class CompoundState_CompoundKeyword_0 extends KeywordToken { |
| |
| public CompoundState_CompoundKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getCompoundKeyword_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| } |
| |
| // initial?="initial"? |
| protected class CompoundState_InitialAssignment_1 extends AssignmentToken { |
| |
| public CompoundState_InitialAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getInitialAssignment_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_CompoundKeyword_0(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("initial",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial"); |
| if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl |
| type = AssignmentType.KEYWORD; |
| element = grammarAccess.getCompoundStateAccess().getInitialInitialKeyword_1_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // "state" |
| protected class CompoundState_StateKeyword_2 extends KeywordToken { |
| |
| public CompoundState_StateKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getStateKeyword_2(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_InitialAssignment_1(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new CompoundState_CompoundKeyword_0(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // name=ID |
| protected class CompoundState_NameAssignment_3 extends AssignmentToken { |
| |
| public CompoundState_NameAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getNameAssignment_3(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_StateKeyword_2(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); |
| if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompoundStateAccess().getNameIDTerminalRuleCall_3_0(), value, null)) { |
| type = AssignmentType.TERMINAL_RULE_CALL; |
| element = grammarAccess.getCompoundStateAccess().getNameIDTerminalRuleCall_3_0(); |
| return obj; |
| } |
| return null; |
| } |
| |
| } |
| |
| // "machine" |
| protected class CompoundState_MachineKeyword_4 extends KeywordToken { |
| |
| public CompoundState_MachineKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getMachineKeyword_4(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_NameAssignment_3(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // machine=[Statemachine] |
| protected class CompoundState_MachineAssignment_5 extends AssignmentToken { |
| |
| public CompoundState_MachineAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getMachineAssignment_5(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_MachineKeyword_4(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("machine",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("machine"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getCompoundStateAccess().getMachineStatemachineCrossReference_5_0().getType().getClassifier())) { |
| type = AssignmentType.CROSS_REFERENCE; |
| element = grammarAccess.getCompoundStateAccess().getMachineStatemachineCrossReference_5_0(); |
| return obj; |
| } |
| } |
| return null; |
| } |
| |
| } |
| |
| // "{" |
| protected class CompoundState_LeftCurlyBracketKeyword_6 extends KeywordToken { |
| |
| public CompoundState_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getLeftCurlyBracketKeyword_6(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_MachineAssignment_5(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // transitions+=Transition* |
| protected class CompoundState_TransitionsAssignment_7 extends AssignmentToken { |
| |
| public CompoundState_TransitionsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getTransitionsAssignment_7(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Transition_Group(this, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("transitions",false)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("transitions"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getTransitionRule().getType().getClassifier())) { |
| type = AssignmentType.PARSER_RULE_CALL; |
| element = grammarAccess.getCompoundStateAccess().getTransitionsTransitionParserRuleCall_7_0(); |
| consumed = obj; |
| return param; |
| } |
| } |
| return null; |
| } |
| |
| @Override |
| public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { |
| if(value == inst.getEObject() && !inst.isConsumed()) return null; |
| switch(index) { |
| case 0: return new CompoundState_TransitionsAssignment_7(lastRuleCallOrigin, next, actIndex, consumed); |
| case 1: return new CompoundState_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, next, actIndex, consumed); |
| default: return null; |
| } |
| } |
| } |
| |
| // "}" |
| protected class CompoundState_RightCurlyBracketKeyword_8 extends KeywordToken { |
| |
| public CompoundState_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getCompoundStateAccess().getRightCurlyBracketKeyword_8(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new CompoundState_TransitionsAssignment_7(lastRuleCallOrigin, this, 0, inst); |
| case 1: return new CompoundState_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 1, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| |
| /************ end Rule CompoundState ****************/ |
| |
| |
| /************ begin Rule Transition **************** |
| * |
| * Transition: |
| * event=[Event] "=>" state=[State]; |
| * |
| **/ |
| |
| // event=[Event] "=>" state=[State] |
| protected class Transition_Group extends GroupToken { |
| |
| public Transition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Group getGrammarElement() { |
| return grammarAccess.getTransitionAccess().getGroup(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Transition_StateAssignment_2(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if(getEObject().eClass() != grammarAccess.getTransitionRule().getType().getClassifier()) |
| return null; |
| return eObjectConsumer; |
| } |
| |
| } |
| |
| // event=[Event] |
| protected class Transition_EventAssignment_0 extends AssignmentToken { |
| |
| public Transition_EventAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getTransitionAccess().getEventAssignment_0(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("event",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("event"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getTransitionAccess().getEventEventCrossReference_0_0().getType().getClassifier())) { |
| type = AssignmentType.CROSS_REFERENCE; |
| element = grammarAccess.getTransitionAccess().getEventEventCrossReference_0_0(); |
| return obj; |
| } |
| } |
| return null; |
| } |
| |
| } |
| |
| // "=>" |
| protected class Transition_EqualsSignGreaterThanSignKeyword_1 extends KeywordToken { |
| |
| public Transition_EqualsSignGreaterThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Keyword getGrammarElement() { |
| return grammarAccess.getTransitionAccess().getEqualsSignGreaterThanSignKeyword_1(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Transition_EventAssignment_0(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| } |
| |
| // state=[State] |
| protected class Transition_StateAssignment_2 extends AssignmentToken { |
| |
| public Transition_StateAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { |
| super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); |
| } |
| |
| @Override |
| public Assignment getGrammarElement() { |
| return grammarAccess.getTransitionAccess().getStateAssignment_2(); |
| } |
| |
| @Override |
| public AbstractToken createFollower(int index, IEObjectConsumer inst) { |
| switch(index) { |
| case 0: return new Transition_EqualsSignGreaterThanSignKeyword_1(lastRuleCallOrigin, this, 0, inst); |
| default: return null; |
| } |
| } |
| |
| @Override |
| public IEObjectConsumer tryConsume() { |
| if((value = eObjectConsumer.getConsumable("state",true)) == null) return null; |
| IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("state"); |
| if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl |
| IEObjectConsumer param = createEObjectConsumer((EObject)value); |
| if(param.isInstanceOf(grammarAccess.getTransitionAccess().getStateStateCrossReference_2_0().getType().getClassifier())) { |
| type = AssignmentType.CROSS_REFERENCE; |
| element = grammarAccess.getTransitionAccess().getStateStateCrossReference_2_0(); |
| return obj; |
| } |
| } |
| return null; |
| } |
| |
| } |
| |
| |
| /************ end Rule Transition ****************/ |
| |
| } |