/*
* 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 ****************/
}