/* * generated by Xtext */ package org.kermeta.language.sample.cellularautomata.rules.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.kermeta.language.sample.cellularautomata.rules.services.EvolGrammarAccess; import com.google.inject.Inject; @SuppressWarnings("all") public class EvolParsetreeConstructor extends AbstractParseTreeConstructor { @Inject private EvolGrammarAccess 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 CellularAutomata_Group(this, this, 0, inst); case 1: return new Rule_Group(this, this, 1, inst); case 2: return new PopulationRange_Group(this, this, 2, inst); case 3: return new LiteralsExpression_Alternatives(this, this, 3, inst); case 4: return new Max_Group(this, this, 4, inst); case 5: return new Min_Group(this, this, 5, inst); case 6: return new Sum_Group(this, this, 6, inst); case 7: return new Size_Group(this, this, 7, inst); case 8: return new CurrentCellPopulation_Group(this, this, 8, inst); case 9: return new Conditional_Alternatives(this, this, 9, inst); case 10: return new OrExpression_Group(this, this, 10, inst); case 11: return new AndExpression_Group(this, this, 11, inst); case 12: return new EqualExpression_Group(this, this, 12, inst); case 13: return new ComparisonExpression_Group(this, this, 13, inst); case 14: return new AddExpression_Group(this, this, 14, inst); case 15: return new MultExpression_Group(this, this, 15, inst); case 16: return new UnaryExpression_Alternatives(this, this, 16, inst); case 17: return new IntegerLiteral_ValAssignment(this, this, 17, inst); default: return null; } } } /************ begin Rule CellularAutomata **************** * * / ** * * * Root for Evol * * * / CellularAutomata: * * {CellularAutomata} rules+=Rule rules+=Rule*; * **/ // {CellularAutomata} rules+=Rule rules+=Rule* protected class CellularAutomata_Group extends GroupToken { public CellularAutomata_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCellularAutomataAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CellularAutomata_RulesAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new CellularAutomata_RulesAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCellularAutomataAccess().getCellularAutomataAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {CellularAutomata} protected class CellularAutomata_CellularAutomataAction_0 extends ActionToken { public CellularAutomata_CellularAutomataAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getCellularAutomataAccess().getCellularAutomataAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // rules+=Rule protected class CellularAutomata_RulesAssignment_1 extends AssignmentToken { public CellularAutomata_RulesAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCellularAutomataAccess().getRulesAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rules",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rules"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getRuleRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCellularAutomataAccess().getRulesRuleParserRuleCall_1_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 CellularAutomata_CellularAutomataAction_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // rules+=Rule* protected class CellularAutomata_RulesAssignment_2 extends AssignmentToken { public CellularAutomata_RulesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCellularAutomataAccess().getRulesAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rules",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rules"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getRuleRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCellularAutomataAccess().getRulesRuleParserRuleCall_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 CellularAutomata_RulesAssignment_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new CellularAutomata_RulesAssignment_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule CellularAutomata ****************/ /************ begin Rule Rule **************** * * / ** * * * From Evol * * * / Rule returns core::Rule: * * "when" filter=PopulationRange? "nextValue" "=" "{" evaluatedVal=Conditional "}"; * **/ // "when" filter=PopulationRange? "nextValue" "=" "{" evaluatedVal=Conditional "}" protected class Rule_Group extends GroupToken { public Rule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRuleAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRuleRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "when" protected class Rule_WhenKeyword_0 extends KeywordToken { public Rule_WhenKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRuleAccess().getWhenKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // filter=PopulationRange? protected class Rule_FilterAssignment_1 extends AssignmentToken { public Rule_FilterAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRuleAccess().getFilterAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("filter",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("filter"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPopulationRangeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRuleAccess().getFilterPopulationRangeParserRuleCall_1_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 Rule_WhenKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "nextValue" protected class Rule_NextValueKeyword_2 extends KeywordToken { public Rule_NextValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRuleAccess().getNextValueKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_FilterAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Rule_WhenKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "=" protected class Rule_EqualsSignKeyword_3 extends KeywordToken { public Rule_EqualsSignKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRuleAccess().getEqualsSignKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_NextValueKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class Rule_LeftCurlyBracketKeyword_4 extends KeywordToken { public Rule_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRuleAccess().getLeftCurlyBracketKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_EqualsSignKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // evaluatedVal=Conditional protected class Rule_EvaluatedValAssignment_5 extends AssignmentToken { public Rule_EvaluatedValAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRuleAccess().getEvaluatedValAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("evaluatedVal",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("evaluatedVal"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getConditionalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRuleAccess().getEvaluatedValConditionalParserRuleCall_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 Rule_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Rule_RightCurlyBracketKeyword_6 extends KeywordToken { public Rule_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRuleAccess().getRightCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Rule_EvaluatedValAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule Rule ****************/ /************ begin Rule PopulationRange **************** * * PopulationRange: * * {PopulationRange} "[" lowerRange=EInt? "," upperRange=EInt? "]"; * **/ // {PopulationRange} "[" lowerRange=EInt? "," upperRange=EInt? "]" protected class PopulationRange_Group extends GroupToken { public PopulationRange_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_RightSquareBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getPopulationRangeAccess().getPopulationRangeAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {PopulationRange} protected class PopulationRange_PopulationRangeAction_0 extends ActionToken { public PopulationRange_PopulationRangeAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getPopulationRangeAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "[" protected class PopulationRange_LeftSquareBracketKeyword_1 extends KeywordToken { public PopulationRange_LeftSquareBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getLeftSquareBracketKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_PopulationRangeAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // lowerRange=EInt? protected class PopulationRange_LowerRangeAssignment_2 extends AssignmentToken { public PopulationRange_LowerRangeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getLowerRangeAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_LeftSquareBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("lowerRange",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lowerRange"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPopulationRangeAccess().getLowerRangeEIntParserRuleCall_2_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getPopulationRangeAccess().getLowerRangeEIntParserRuleCall_2_0(); return obj; } return null; } } // "," protected class PopulationRange_CommaKeyword_3 extends KeywordToken { public PopulationRange_CommaKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getCommaKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_LowerRangeAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new PopulationRange_LeftSquareBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // upperRange=EInt? protected class PopulationRange_UpperRangeAssignment_4 extends AssignmentToken { public PopulationRange_UpperRangeAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getUpperRangeAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_CommaKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("upperRange",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("upperRange"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPopulationRangeAccess().getUpperRangeEIntParserRuleCall_4_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getPopulationRangeAccess().getUpperRangeEIntParserRuleCall_4_0(); return obj; } return null; } } // "]" protected class PopulationRange_RightSquareBracketKeyword_5 extends KeywordToken { public PopulationRange_RightSquareBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPopulationRangeAccess().getRightSquareBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_UpperRangeAssignment_4(lastRuleCallOrigin, this, 0, inst); case 1: return new PopulationRange_CommaKeyword_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule PopulationRange ****************/ /************ begin Rule LiteralsExpression **************** * * LiteralsExpression returns core::IntegerExpression: * * "(" Conditional ")" | Max | Min | Sum | Size | CurrentCellPopulation | IntegerLiteral; * **/ // "(" Conditional ")" | Max | Min | Sum | Size | CurrentCellPopulation | IntegerLiteral protected class LiteralsExpression_Alternatives extends AlternativesToken { public LiteralsExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new LiteralsExpression_MaxParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new LiteralsExpression_MinParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); case 3: return new LiteralsExpression_SumParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); case 4: return new LiteralsExpression_SizeParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); case 5: return new LiteralsExpression_CurrentCellPopulationParserRuleCall_5(lastRuleCallOrigin, this, 5, inst); case 6: return new LiteralsExpression_IntegerLiteralParserRuleCall_6(lastRuleCallOrigin, this, 6, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // "(" Conditional ")" protected class LiteralsExpression_Group_0 extends GroupToken { public LiteralsExpression_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_RightParenthesisKeyword_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class LiteralsExpression_LeftParenthesisKeyword_0_0 extends KeywordToken { public LiteralsExpression_LeftParenthesisKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getLeftParenthesisKeyword_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // Conditional protected class LiteralsExpression_ConditionalParserRuleCall_0_1 extends RuleCallToken { public LiteralsExpression_ConditionalParserRuleCall_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getConditionalParserRuleCall_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(Conditional_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_LeftParenthesisKeyword_0_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ")" protected class LiteralsExpression_RightParenthesisKeyword_0_2 extends KeywordToken { public LiteralsExpression_RightParenthesisKeyword_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getRightParenthesisKeyword_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_ConditionalParserRuleCall_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // Max protected class LiteralsExpression_MaxParserRuleCall_1 extends RuleCallToken { public LiteralsExpression_MaxParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getMaxParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Max_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier()) return null; if(checkForRecursion(Max_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); } } } // Min protected class LiteralsExpression_MinParserRuleCall_2 extends RuleCallToken { public LiteralsExpression_MinParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getMinParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Min_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier()) return null; if(checkForRecursion(Min_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); } } } // Sum protected class LiteralsExpression_SumParserRuleCall_3 extends RuleCallToken { public LiteralsExpression_SumParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getSumParserRuleCall_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Sum_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier()) return null; if(checkForRecursion(Sum_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); } } } // Size protected class LiteralsExpression_SizeParserRuleCall_4 extends RuleCallToken { public LiteralsExpression_SizeParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getSizeParserRuleCall_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Size_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier()) return null; if(checkForRecursion(Size_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); } } } // CurrentCellPopulation protected class LiteralsExpression_CurrentCellPopulationParserRuleCall_5 extends RuleCallToken { public LiteralsExpression_CurrentCellPopulationParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getCurrentCellPopulationParserRuleCall_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CurrentCellPopulation_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier()) return null; if(checkForRecursion(CurrentCellPopulation_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); } } } // IntegerLiteral protected class LiteralsExpression_IntegerLiteralParserRuleCall_6 extends RuleCallToken { public LiteralsExpression_IntegerLiteralParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralsExpressionAccess().getIntegerLiteralParserRuleCall_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new IntegerLiteral_ValAssignment(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier()) return null; if(checkForRecursion(IntegerLiteral_ValAssignment.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 LiteralsExpression ****************/ /************ begin Rule Max **************** * * / * * * * Neighbors expressions * * * / Max: * * {Max} "neighborsMax" neighborsFilter=PopulationRange?; * **/ // {Max} "neighborsMax" neighborsFilter=PopulationRange? protected class Max_Group extends GroupToken { public Max_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMaxAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Max_NeighborsFilterAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Max_NeighborsMaxKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Max} protected class Max_MaxAction_0 extends ActionToken { public Max_MaxAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMaxAccess().getMaxAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "neighborsMax" protected class Max_NeighborsMaxKeyword_1 extends KeywordToken { public Max_NeighborsMaxKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMaxAccess().getNeighborsMaxKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Max_MaxAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // neighborsFilter=PopulationRange? protected class Max_NeighborsFilterAssignment_2 extends AssignmentToken { public Max_NeighborsFilterAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMaxAccess().getNeighborsFilterAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("neighborsFilter",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighborsFilter"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPopulationRangeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMaxAccess().getNeighborsFilterPopulationRangeParserRuleCall_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 Max_NeighborsMaxKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Max ****************/ /************ begin Rule Min **************** * * Min: * * {Min} "neighborsMin" neighborsFilter=PopulationRange?; * **/ // {Min} "neighborsMin" neighborsFilter=PopulationRange? protected class Min_Group extends GroupToken { public Min_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMinAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Min_NeighborsFilterAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Min_NeighborsMinKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Min} protected class Min_MinAction_0 extends ActionToken { public Min_MinAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMinAccess().getMinAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "neighborsMin" protected class Min_NeighborsMinKeyword_1 extends KeywordToken { public Min_NeighborsMinKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMinAccess().getNeighborsMinKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Min_MinAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // neighborsFilter=PopulationRange? protected class Min_NeighborsFilterAssignment_2 extends AssignmentToken { public Min_NeighborsFilterAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMinAccess().getNeighborsFilterAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("neighborsFilter",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighborsFilter"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPopulationRangeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMinAccess().getNeighborsFilterPopulationRangeParserRuleCall_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 Min_NeighborsMinKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Min ****************/ /************ begin Rule Sum **************** * * Sum: * * {Sum} "neighborsSum" neighborsFilter=PopulationRange?; * **/ // {Sum} "neighborsSum" neighborsFilter=PopulationRange? protected class Sum_Group extends GroupToken { public Sum_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSumAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Sum_NeighborsFilterAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Sum_NeighborsSumKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Sum} protected class Sum_SumAction_0 extends ActionToken { public Sum_SumAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getSumAccess().getSumAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "neighborsSum" protected class Sum_NeighborsSumKeyword_1 extends KeywordToken { public Sum_NeighborsSumKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSumAccess().getNeighborsSumKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Sum_SumAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // neighborsFilter=PopulationRange? protected class Sum_NeighborsFilterAssignment_2 extends AssignmentToken { public Sum_NeighborsFilterAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSumAccess().getNeighborsFilterAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("neighborsFilter",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighborsFilter"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPopulationRangeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSumAccess().getNeighborsFilterPopulationRangeParserRuleCall_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 Sum_NeighborsSumKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Sum ****************/ /************ begin Rule Size **************** * * Size: * * {Size} "neighborsSize" neighborsFilter=PopulationRange?; * **/ // {Size} "neighborsSize" neighborsFilter=PopulationRange? protected class Size_Group extends GroupToken { public Size_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSizeAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Size_NeighborsFilterAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Size_NeighborsSizeKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Size} protected class Size_SizeAction_0 extends ActionToken { public Size_SizeAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getSizeAccess().getSizeAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "neighborsSize" protected class Size_NeighborsSizeKeyword_1 extends KeywordToken { public Size_NeighborsSizeKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSizeAccess().getNeighborsSizeKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Size_SizeAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // neighborsFilter=PopulationRange? protected class Size_NeighborsFilterAssignment_2 extends AssignmentToken { public Size_NeighborsFilterAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSizeAccess().getNeighborsFilterAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PopulationRange_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("neighborsFilter",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighborsFilter"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPopulationRangeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSizeAccess().getNeighborsFilterPopulationRangeParserRuleCall_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 Size_NeighborsSizeKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Size ****************/ /************ begin Rule CurrentCellPopulation **************** * * CurrentCellPopulation returns core::IntegerExpression: * * {CurrentCellPopulation} "CurrentValue"; * **/ // {CurrentCellPopulation} "CurrentValue" protected class CurrentCellPopulation_Group extends GroupToken { public CurrentCellPopulation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCurrentCellPopulationAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CurrentCellPopulation_CurrentValueKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {CurrentCellPopulation} protected class CurrentCellPopulation_CurrentCellPopulationAction_0 extends ActionToken { public CurrentCellPopulation_CurrentCellPopulationAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "CurrentValue" protected class CurrentCellPopulation_CurrentValueKeyword_1 extends KeywordToken { public CurrentCellPopulation_CurrentValueKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCurrentCellPopulationAccess().getCurrentValueKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CurrentCellPopulation_CurrentCellPopulationAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule CurrentCellPopulation ****************/ /************ begin Rule Conditional **************** * * / * * * * Conditional * * * / Conditional returns IntegerExpression: * * OrExpression | {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{" * * ifFalseExpression=Conditional "}"; * **/ // OrExpression | {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{" // // ifFalseExpression=Conditional "}" protected class Conditional_Alternatives extends AlternativesToken { public Conditional_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getConditionalAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_OrExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Conditional_Group_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // OrExpression protected class Conditional_OrExpressionParserRuleCall_0 extends RuleCallToken { public Conditional_OrExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getConditionalAccess().getOrExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new OrExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(OrExpression_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); } } } // {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{" ifFalseExpression=Conditional // // "}" protected class Conditional_Group_1 extends GroupToken { public Conditional_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getConditionalAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_RightCurlyBracketKeyword_1_9(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Conditional} protected class Conditional_ConditionalAction_1_0 extends ActionToken { public Conditional_ConditionalAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getConditionalAccess().getConditionalAction_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "if" protected class Conditional_IfKeyword_1_1 extends KeywordToken { public Conditional_IfKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getIfKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_ConditionalAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // condition=Conditional protected class Conditional_ConditionAssignment_1_2 extends AssignmentToken { public Conditional_ConditionAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalAccess().getConditionAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("condition",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getConditionalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalAccess().getConditionConditionalParserRuleCall_1_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 Conditional_IfKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class Conditional_LeftCurlyBracketKeyword_1_3 extends KeywordToken { public Conditional_LeftCurlyBracketKeyword_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getLeftCurlyBracketKeyword_1_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_ConditionAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ifTrueExpression=Conditional protected class Conditional_IfTrueExpressionAssignment_1_4 extends AssignmentToken { public Conditional_IfTrueExpressionAssignment_1_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalAccess().getIfTrueExpressionAssignment_1_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifTrueExpression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifTrueExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getConditionalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalAccess().getIfTrueExpressionConditionalParserRuleCall_1_4_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 Conditional_LeftCurlyBracketKeyword_1_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Conditional_RightCurlyBracketKeyword_1_5 extends KeywordToken { public Conditional_RightCurlyBracketKeyword_1_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getRightCurlyBracketKeyword_1_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_IfTrueExpressionAssignment_1_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "else" protected class Conditional_ElseKeyword_1_6 extends KeywordToken { public Conditional_ElseKeyword_1_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getElseKeyword_1_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_RightCurlyBracketKeyword_1_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class Conditional_LeftCurlyBracketKeyword_1_7 extends KeywordToken { public Conditional_LeftCurlyBracketKeyword_1_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getLeftCurlyBracketKeyword_1_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_ElseKeyword_1_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ifFalseExpression=Conditional protected class Conditional_IfFalseExpressionAssignment_1_8 extends AssignmentToken { public Conditional_IfFalseExpressionAssignment_1_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalAccess().getIfFalseExpressionAssignment_1_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifFalseExpression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifFalseExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getConditionalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalAccess().getIfFalseExpressionConditionalParserRuleCall_1_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 Conditional_LeftCurlyBracketKeyword_1_7(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Conditional_RightCurlyBracketKeyword_1_9 extends KeywordToken { public Conditional_RightCurlyBracketKeyword_1_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getConditionalAccess().getRightCurlyBracketKeyword_1_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Conditional_IfFalseExpressionAssignment_1_8(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule Conditional ****************/ /************ begin Rule OrExpression **************** * * / * * * * Binary expressions * * * / OrExpression returns IntegerExpression: * * AndExpression ({Or.left=current} "|" right=AndExpression)*; * **/ // AndExpression ({Or.left=current} "|" right=AndExpression)* protected class OrExpression_Group extends GroupToken { public OrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOrExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new OrExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new OrExpression_AndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // AndExpression protected class OrExpression_AndExpressionParserRuleCall_0 extends RuleCallToken { public OrExpression_AndExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(AndExpression_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); } } } // ({Or.left=current} "|" right=AndExpression)* protected class OrExpression_Group_1 extends GroupToken { public OrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOrExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new OrExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Or.left=current} protected class OrExpression_OrLeftAction_1_0 extends ActionToken { public OrExpression_OrLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new OrExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new OrExpression_AndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "|" protected class OrExpression_VerticalLineKeyword_1_1 extends KeywordToken { public OrExpression_VerticalLineKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOrExpressionAccess().getVerticalLineKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new OrExpression_OrLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=AndExpression protected class OrExpression_RightAssignment_1_2 extends AssignmentToken { public OrExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOrExpressionAccess().getRightAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getAndExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_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 OrExpression_VerticalLineKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule OrExpression ****************/ /************ begin Rule AndExpression **************** * * AndExpression returns IntegerExpression: * * EqualExpression ({And.left=current} "&" right=EqualExpression)*; * **/ // EqualExpression ({And.left=current} "&" right=EqualExpression)* protected class AndExpression_Group extends GroupToken { public AndExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAndExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new AndExpression_EqualExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // EqualExpression protected class AndExpression_EqualExpressionParserRuleCall_0 extends RuleCallToken { public AndExpression_EqualExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAndExpressionAccess().getEqualExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(EqualExpression_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); } } } // ({And.left=current} "&" right=EqualExpression)* protected class AndExpression_Group_1 extends GroupToken { public AndExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAndExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {And.left=current} protected class AndExpression_AndLeftAction_1_0 extends ActionToken { public AndExpression_AndLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new AndExpression_EqualExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "&" protected class AndExpression_AmpersandKeyword_1_1 extends KeywordToken { public AndExpression_AmpersandKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAndExpressionAccess().getAmpersandKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AndExpression_AndLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=EqualExpression protected class AndExpression_RightAssignment_1_2 extends AssignmentToken { public AndExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getAndExpressionAccess().getRightAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getEqualExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getAndExpressionAccess().getRightEqualExpressionParserRuleCall_1_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 AndExpression_AmpersandKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule AndExpression ****************/ /************ begin Rule EqualExpression **************** * * EqualExpression returns IntegerExpression: * * ComparisonExpression ({Equal.left=current} "==" right=ComparisonExpression)*; * **/ // ComparisonExpression ({Equal.left=current} "==" right=ComparisonExpression)* protected class EqualExpression_Group extends GroupToken { public EqualExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new EqualExpression_ComparisonExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // ComparisonExpression protected class EqualExpression_ComparisonExpressionParserRuleCall_0 extends RuleCallToken { public EqualExpression_ComparisonExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getComparisonExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(ComparisonExpression_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); } } } // ({Equal.left=current} "==" right=ComparisonExpression)* protected class EqualExpression_Group_1 extends GroupToken { public EqualExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Equal.left=current} protected class EqualExpression_EqualLeftAction_1_0 extends ActionToken { public EqualExpression_EqualLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new EqualExpression_ComparisonExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "==" protected class EqualExpression_EqualsSignEqualsSignKeyword_1_1 extends KeywordToken { public EqualExpression_EqualsSignEqualsSignKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getEqualsSignEqualsSignKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EqualExpression_EqualLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=ComparisonExpression protected class EqualExpression_RightAssignment_1_2 extends AssignmentToken { public EqualExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEqualExpressionAccess().getRightAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getComparisonExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getEqualExpressionAccess().getRightComparisonExpressionParserRuleCall_1_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 EqualExpression_EqualsSignEqualsSignKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule EqualExpression ****************/ /************ begin Rule ComparisonExpression **************** * * ComparisonExpression returns IntegerExpression: * * AddExpression (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)*; * **/ // AddExpression (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)* protected class ComparisonExpression_Group extends GroupToken { public ComparisonExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ComparisonExpression_AddExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // AddExpression protected class ComparisonExpression_AddExpressionParserRuleCall_0 extends RuleCallToken { public ComparisonExpression_AddExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getAddExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(AddExpression_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); } } } // (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)* protected class ComparisonExpression_Group_1 extends GroupToken { public ComparisonExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_RightAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Greater.left=current} ">" | {Lower.left=current} "<" protected class ComparisonExpression_Alternatives_1_0 extends AlternativesToken { public ComparisonExpression_Alternatives_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getAlternatives_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); case 1: return new ComparisonExpression_Group_1_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {Greater.left=current} ">" protected class ComparisonExpression_Group_1_0_0 extends GroupToken { public ComparisonExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_GreaterThanSignKeyword_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Greater.left=current} protected class ComparisonExpression_GreaterLeftAction_1_0_0_0 extends ActionToken { public ComparisonExpression_GreaterLeftAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ComparisonExpression_AddExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // ">" protected class ComparisonExpression_GreaterThanSignKeyword_1_0_0_1 extends KeywordToken { public ComparisonExpression_GreaterThanSignKeyword_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGreaterThanSignKeyword_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_GreaterLeftAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {Lower.left=current} "<" protected class ComparisonExpression_Group_1_0_1 extends GroupToken { public ComparisonExpression_Group_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getGroup_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_LessThanSignKeyword_1_0_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Lower.left=current} protected class ComparisonExpression_LowerLeftAction_1_0_1_0 extends ActionToken { public ComparisonExpression_LowerLeftAction_1_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ComparisonExpression_AddExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "<" protected class ComparisonExpression_LessThanSignKeyword_1_0_1_1 extends KeywordToken { public ComparisonExpression_LessThanSignKeyword_1_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getLessThanSignKeyword_1_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ComparisonExpression_LowerLeftAction_1_0_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=AddExpression protected class ComparisonExpression_RightAssignment_1_1 extends AssignmentToken { public ComparisonExpression_RightAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getAddExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getComparisonExpressionAccess().getRightAddExpressionParserRuleCall_1_1_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 ComparisonExpression_Alternatives_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule ComparisonExpression ****************/ /************ begin Rule AddExpression **************** * * AddExpression returns IntegerExpression: * * MultExpression (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)*; * **/ // MultExpression (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)* protected class AddExpression_Group extends GroupToken { public AddExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAddExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new AddExpression_MultExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // MultExpression protected class AddExpression_MultExpressionParserRuleCall_0 extends RuleCallToken { public AddExpression_MultExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAddExpressionAccess().getMultExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(MultExpression_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); } } } // (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)* protected class AddExpression_Group_1 extends GroupToken { public AddExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAddExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_RightAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Add.left=current} "+" | {Minus.left=current} "-" protected class AddExpression_Alternatives_1_0 extends AlternativesToken { public AddExpression_Alternatives_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAddExpressionAccess().getAlternatives_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); case 1: return new AddExpression_Group_1_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {Add.left=current} "+" protected class AddExpression_Group_1_0_0 extends GroupToken { public AddExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAddExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_PlusSignKeyword_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Add.left=current} protected class AddExpression_AddLeftAction_1_0_0_0 extends ActionToken { public AddExpression_AddLeftAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new AddExpression_MultExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "+" protected class AddExpression_PlusSignKeyword_1_0_0_1 extends KeywordToken { public AddExpression_PlusSignKeyword_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAddExpressionAccess().getPlusSignKeyword_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_AddLeftAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {Minus.left=current} "-" protected class AddExpression_Group_1_0_1 extends GroupToken { public AddExpression_Group_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAddExpressionAccess().getGroup_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_HyphenMinusKeyword_1_0_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Minus.left=current} protected class AddExpression_MinusLeftAction_1_0_1_0 extends ActionToken { public AddExpression_MinusLeftAction_1_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new AddExpression_MultExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "-" protected class AddExpression_HyphenMinusKeyword_1_0_1_1 extends KeywordToken { public AddExpression_HyphenMinusKeyword_1_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAddExpressionAccess().getHyphenMinusKeyword_1_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new AddExpression_MinusLeftAction_1_0_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=MultExpression protected class AddExpression_RightAssignment_1_1 extends AssignmentToken { public AddExpression_RightAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getAddExpressionAccess().getRightAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMultExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getAddExpressionAccess().getRightMultExpressionParserRuleCall_1_1_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 AddExpression_Alternatives_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule AddExpression ****************/ /************ begin Rule MultExpression **************** * * MultExpression returns IntegerExpression: * * UnaryExpression (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)*; * **/ // UnaryExpression (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)* protected class MultExpression_Group extends GroupToken { public MultExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMultExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new MultExpression_UnaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // UnaryExpression protected class MultExpression_UnaryExpressionParserRuleCall_0 extends RuleCallToken { public MultExpression_UnaryExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getMultExpressionAccess().getUnaryExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(UnaryExpression_Alternatives.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); } } } // (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)* protected class MultExpression_Group_1 extends GroupToken { public MultExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMultExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_RightAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%" protected class MultExpression_Alternatives_1_0 extends AlternativesToken { public MultExpression_Alternatives_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getMultExpressionAccess().getAlternatives_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); case 1: return new MultExpression_Group_1_0_1(lastRuleCallOrigin, this, 1, inst); case 2: return new MultExpression_Group_1_0_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // {Mult.left=current} "*" protected class MultExpression_Group_1_0_0 extends GroupToken { public MultExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMultExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_AsteriskKeyword_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Mult.left=current} protected class MultExpression_MultLeftAction_1_0_0_0 extends ActionToken { public MultExpression_MultLeftAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new MultExpression_UnaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "*" protected class MultExpression_AsteriskKeyword_1_0_0_1 extends KeywordToken { public MultExpression_AsteriskKeyword_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMultExpressionAccess().getAsteriskKeyword_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_MultLeftAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {Div.left=current} "/" protected class MultExpression_Group_1_0_1 extends GroupToken { public MultExpression_Group_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMultExpressionAccess().getGroup_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_SolidusKeyword_1_0_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Div.left=current} protected class MultExpression_DivLeftAction_1_0_1_0 extends ActionToken { public MultExpression_DivLeftAction_1_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new MultExpression_UnaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "/" protected class MultExpression_SolidusKeyword_1_0_1_1 extends KeywordToken { public MultExpression_SolidusKeyword_1_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMultExpressionAccess().getSolidusKeyword_1_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_DivLeftAction_1_0_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {Mod.left=current} "%" protected class MultExpression_Group_1_0_2 extends GroupToken { public MultExpression_Group_1_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMultExpressionAccess().getGroup_1_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_PercentSignKeyword_1_0_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Mod.left=current} protected class MultExpression_ModLeftAction_1_0_2_0 extends ActionToken { public MultExpression_ModLeftAction_1_0_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new MultExpression_UnaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("left", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null; return createEObjectConsumer((EObject) val); } } // "%" protected class MultExpression_PercentSignKeyword_1_0_2_1 extends KeywordToken { public MultExpression_PercentSignKeyword_1_0_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMultExpressionAccess().getPercentSignKeyword_1_0_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MultExpression_ModLeftAction_1_0_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=UnaryExpression protected class MultExpression_RightAssignment_1_1 extends AssignmentToken { public MultExpression_RightAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMultExpressionAccess().getRightAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMultExpressionAccess().getRightUnaryExpressionParserRuleCall_1_1_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 MultExpression_Alternatives_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule MultExpression ****************/ /************ begin Rule UnaryExpression **************** * * / * * * * Unary expressions * * * / UnaryExpression returns IntegerExpression: * * LiteralsExpression | {Not} "!" target=LiteralsExpression | {UMinus} "-" target=LiteralsExpression; * **/ // LiteralsExpression | {Not} "!" target=LiteralsExpression | {UMinus} "-" target=LiteralsExpression protected class UnaryExpression_Alternatives extends AlternativesToken { public UnaryExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_LiteralsExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new UnaryExpression_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new UnaryExpression_Group_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAddExpressionAccess().getAddLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getConditionalAccess().getConditionalAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCurrentCellPopulationAccess().getCurrentCellPopulationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getDivLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEqualExpressionAccess().getEqualLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getGreaterLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getIntegerLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getLowerLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMaxAccess().getMaxAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMinAccess().getMinAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getAddExpressionAccess().getMinusLeftAction_1_0_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getModLeftAction_1_0_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getMultExpressionAccess().getMultLeftAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSizeAccess().getSizeAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSumAccess().getSumAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // LiteralsExpression protected class UnaryExpression_LiteralsExpressionParserRuleCall_0 extends RuleCallToken { public UnaryExpression_LiteralsExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getLiteralsExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(LiteralsExpression_Alternatives.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); } } } // {Not} "!" target=LiteralsExpression protected class UnaryExpression_Group_1 extends GroupToken { public UnaryExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_TargetAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getNotAction_1_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {Not} protected class UnaryExpression_NotAction_1_0 extends ActionToken { public UnaryExpression_NotAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getNotAction_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "!" protected class UnaryExpression_ExclamationMarkKeyword_1_1 extends KeywordToken { public UnaryExpression_ExclamationMarkKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getExclamationMarkKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_NotAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // target=LiteralsExpression protected class UnaryExpression_TargetAssignment_1_2 extends AssignmentToken { public UnaryExpression_TargetAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getTargetAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("target",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("target"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLiteralsExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getUnaryExpressionAccess().getTargetLiteralsExpressionParserRuleCall_1_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 UnaryExpression_ExclamationMarkKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // {UMinus} "-" target=LiteralsExpression protected class UnaryExpression_Group_2 extends GroupToken { public UnaryExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_TargetAssignment_2_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {UMinus} protected class UnaryExpression_UMinusAction_2_0 extends ActionToken { public UnaryExpression_UMinusAction_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getUMinusAction_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "-" protected class UnaryExpression_HyphenMinusKeyword_2_1 extends KeywordToken { public UnaryExpression_HyphenMinusKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new UnaryExpression_UMinusAction_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // target=LiteralsExpression protected class UnaryExpression_TargetAssignment_2_2 extends AssignmentToken { public UnaryExpression_TargetAssignment_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExpressionAccess().getTargetAssignment_2_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LiteralsExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("target",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("target"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLiteralsExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getUnaryExpressionAccess().getTargetLiteralsExpressionParserRuleCall_2_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 UnaryExpression_HyphenMinusKeyword_2_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule UnaryExpression ****************/ /************ begin Rule IntegerLiteral **************** * * IntegerLiteral: * * val=EInt; * **/ // val=EInt protected class IntegerLiteral_ValAssignment extends AssignmentToken { public IntegerLiteral_ValAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIntegerLiteralAccess().getValAssignment(); } @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.getIntegerLiteralRule().getType().getClassifier()) return null; if((value = eObjectConsumer.getConsumable("val",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("val"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getIntegerLiteralAccess().getValEIntParserRuleCall_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getIntegerLiteralAccess().getValEIntParserRuleCall_0(); return obj; } return null; } } /************ end Rule IntegerLiteral ****************/ }