/*
* 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.InitGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class InitParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private InitGrammarAccess 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 CellularAutomataInitialization_Group(this, this, 0, inst);
case 1: return new Rule_Group(this, this, 1, inst);
case 2: return new GlobalPosition_Group(this, this, 2, inst);
case 3: return new CoordinateRange_Group(this, this, 3, inst);
case 4: return new LiteralsExpression_Alternatives(this, this, 4, inst);
case 5: return new PositionLiteral_Group(this, this, 5, inst);
case 6: return new RegularGeometry_Group(this, this, 6, inst);
case 7: return new Dimension_Alternatives(this, this, 7, inst);
case 8: return new Conditional_Alternatives(this, this, 8, inst);
case 9: return new OrExpression_Group(this, this, 9, inst);
case 10: return new AndExpression_Group(this, this, 10, inst);
case 11: return new EqualExpression_Group(this, this, 11, inst);
case 12: return new ComparisonExpression_Group(this, this, 12, inst);
case 13: return new AddExpression_Group(this, this, 13, inst);
case 14: return new MultExpression_Group(this, this, 14, inst);
case 15: return new UnaryExpression_Alternatives(this, this, 15, inst);
case 16: return new IntegerLiteral_ValAssignment(this, this, 16, inst);
default: return null;
}
}
}
/************ begin Rule CellularAutomataInitialization ****************
*
* / **
*
* * Root for Init
*
* * / CellularAutomataInitialization returns CellularAutomatatInitialization:
*
* {CellularAutomatatInitialization} geometry=RegularGeometry? seedRules+=Rule seedRules+=Rule*;
*
**/
// {CellularAutomatatInitialization} geometry=RegularGeometry? seedRules+=Rule seedRules+=Rule*
protected class CellularAutomataInitialization_Group extends GroupToken {
public CellularAutomataInitialization_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCellularAutomataInitializationAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CellularAutomataInitialization_SeedRulesAssignment_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new CellularAutomataInitialization_SeedRulesAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCellularAutomataInitializationAccess().getCellularAutomatatInitializationAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {CellularAutomatatInitialization}
protected class CellularAutomataInitialization_CellularAutomatatInitializationAction_0 extends ActionToken {
public CellularAutomataInitialization_CellularAutomatatInitializationAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getCellularAutomataInitializationAccess().getCellularAutomatatInitializationAction_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;
}
}
// geometry=RegularGeometry?
protected class CellularAutomataInitialization_GeometryAssignment_1 extends AssignmentToken {
public CellularAutomataInitialization_GeometryAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCellularAutomataInitializationAccess().getGeometryAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("geometry",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("geometry");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getRegularGeometryRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCellularAutomataInitializationAccess().getGeometryRegularGeometryParserRuleCall_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 CellularAutomataInitialization_CellularAutomatatInitializationAction_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// seedRules+=Rule
protected class CellularAutomataInitialization_SeedRulesAssignment_2 extends AssignmentToken {
public CellularAutomataInitialization_SeedRulesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCellularAutomataInitializationAccess().getSeedRulesAssignment_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("seedRules",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("seedRules");
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.getCellularAutomataInitializationAccess().getSeedRulesRuleParserRuleCall_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 CellularAutomataInitialization_GeometryAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new CellularAutomataInitialization_CellularAutomatatInitializationAction_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// seedRules+=Rule*
protected class CellularAutomataInitialization_SeedRulesAssignment_3 extends AssignmentToken {
public CellularAutomataInitialization_SeedRulesAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCellularAutomataInitializationAccess().getSeedRulesAssignment_3();
}
@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("seedRules",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("seedRules");
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.getCellularAutomataInitializationAccess().getSeedRulesRuleParserRuleCall_3_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 CellularAutomataInitialization_SeedRulesAssignment_3(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new CellularAutomataInitialization_SeedRulesAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule CellularAutomataInitialization ****************/
/************ begin Rule Rule ****************
*
* / **
*
* * From Init
*
* * / Rule returns core::Rule:
*
* "where" filter=GlobalPosition? "initValue" "=" "{" evaluatedVal=Conditional "}";
*
**/
// "where" filter=GlobalPosition? "initValue" "=" "{" 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;
}
}
// "where"
protected class Rule_WhereKeyword_0 extends KeywordToken {
public Rule_WhereKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRuleAccess().getWhereKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// filter=GlobalPosition?
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 GlobalPosition_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.getGlobalPositionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRuleAccess().getFilterGlobalPositionParserRuleCall_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_WhereKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "initValue"
protected class Rule_InitValueKeyword_2 extends KeywordToken {
public Rule_InitValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRuleAccess().getInitValueKeyword_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_WhereKeyword_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_InitValueKeyword_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 GlobalPosition ****************
*
* GlobalPosition:
*
* {GlobalPosition} "{" coordinateRanges+=CoordinateRange ("x" coordinateRanges+=CoordinateRange?)* "}";
*
**/
// {GlobalPosition} "{" coordinateRanges+=CoordinateRange ("x" coordinateRanges+=CoordinateRange?)* "}"
protected class GlobalPosition_Group extends GroupToken {
public GlobalPosition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new GlobalPosition_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getGlobalPositionAccess().getGlobalPositionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {GlobalPosition}
protected class GlobalPosition_GlobalPositionAction_0 extends ActionToken {
public GlobalPosition_GlobalPositionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getGlobalPositionAction_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 GlobalPosition_LeftCurlyBracketKeyword_1 extends KeywordToken {
public GlobalPosition_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getLeftCurlyBracketKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new GlobalPosition_GlobalPositionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// coordinateRanges+=CoordinateRange
protected class GlobalPosition_CoordinateRangesAssignment_2 extends AssignmentToken {
public GlobalPosition_CoordinateRangesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getCoordinateRangesAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinateRanges",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinateRanges");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRangeRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getGlobalPositionAccess().getCoordinateRangesCoordinateRangeParserRuleCall_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 GlobalPosition_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ("x" coordinateRanges+=CoordinateRange?)*
protected class GlobalPosition_Group_3 extends GroupToken {
public GlobalPosition_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new GlobalPosition_CoordinateRangesAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "x"
protected class GlobalPosition_XKeyword_3_0 extends KeywordToken {
public GlobalPosition_XKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getXKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new GlobalPosition_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new GlobalPosition_CoordinateRangesAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// coordinateRanges+=CoordinateRange?
protected class GlobalPosition_CoordinateRangesAssignment_3_1 extends AssignmentToken {
public GlobalPosition_CoordinateRangesAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getCoordinateRangesAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinateRanges",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinateRanges");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRangeRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getGlobalPositionAccess().getCoordinateRangesCoordinateRangeParserRuleCall_3_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 GlobalPosition_XKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class GlobalPosition_RightCurlyBracketKeyword_4 extends KeywordToken {
public GlobalPosition_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGlobalPositionAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new GlobalPosition_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new GlobalPosition_CoordinateRangesAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule GlobalPosition ****************/
/************ begin Rule CoordinateRange ****************
*
* CoordinateRange:
*
* "[" lowerCoordinate=EInt "," upperCoordinate=EInt "]";
*
**/
// "[" lowerCoordinate=EInt "," upperCoordinate=EInt "]"
protected class CoordinateRange_Group extends GroupToken {
public CoordinateRange_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_RightSquareBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCoordinateRangeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "["
protected class CoordinateRange_LeftSquareBracketKeyword_0 extends KeywordToken {
public CoordinateRange_LeftSquareBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getLeftSquareBracketKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// lowerCoordinate=EInt
protected class CoordinateRange_LowerCoordinateAssignment_1 extends AssignmentToken {
public CoordinateRange_LowerCoordinateAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getLowerCoordinateAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_LeftSquareBracketKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("lowerCoordinate",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lowerCoordinate");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCoordinateRangeAccess().getLowerCoordinateEIntParserRuleCall_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getCoordinateRangeAccess().getLowerCoordinateEIntParserRuleCall_1_0();
return obj;
}
return null;
}
}
// ","
protected class CoordinateRange_CommaKeyword_2 extends KeywordToken {
public CoordinateRange_CommaKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getCommaKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_LowerCoordinateAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// upperCoordinate=EInt
protected class CoordinateRange_UpperCoordinateAssignment_3 extends AssignmentToken {
public CoordinateRange_UpperCoordinateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getUpperCoordinateAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_CommaKeyword_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("upperCoordinate",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("upperCoordinate");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCoordinateRangeAccess().getUpperCoordinateEIntParserRuleCall_3_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getCoordinateRangeAccess().getUpperCoordinateEIntParserRuleCall_3_0();
return obj;
}
return null;
}
}
// "]"
protected class CoordinateRange_RightSquareBracketKeyword_4 extends KeywordToken {
public CoordinateRange_RightSquareBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCoordinateRangeAccess().getRightSquareBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CoordinateRange_UpperCoordinateAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule CoordinateRange ****************/
/************ begin Rule LiteralsExpression ****************
*
* LiteralsExpression returns core::IntegerExpression:
*
* "(" Conditional ")" | PositionLiteral | IntegerLiteral;
*
**/
// "(" Conditional ")" | PositionLiteral | 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_PositionLiteralParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new LiteralsExpression_IntegerLiteralParserRuleCall_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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;
}
}
}
// PositionLiteral
protected class LiteralsExpression_PositionLiteralParserRuleCall_1 extends RuleCallToken {
public LiteralsExpression_PositionLiteralParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralsExpressionAccess().getPositionLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPositionLiteralAccess().getPositionLiteralAction_0().getType().getClassifier())
return null;
if(checkForRecursion(PositionLiteral_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_2 extends RuleCallToken {
public LiteralsExpression_IntegerLiteralParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralsExpressionAccess().getIntegerLiteralParserRuleCall_2();
}
@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 PositionLiteral ****************
*
* PositionLiteral returns core::IntegerExpression:
*
* {PositionLiteral} "positionOn" "[" dimensionIndex=EInt "]";
*
**/
// {PositionLiteral} "positionOn" "[" dimensionIndex=EInt "]"
protected class PositionLiteral_Group extends GroupToken {
public PositionLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_RightSquareBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPositionLiteralAccess().getPositionLiteralAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {PositionLiteral}
protected class PositionLiteral_PositionLiteralAction_0 extends ActionToken {
public PositionLiteral_PositionLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getPositionLiteralAction_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;
}
}
// "positionOn"
protected class PositionLiteral_PositionOnKeyword_1 extends KeywordToken {
public PositionLiteral_PositionOnKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getPositionOnKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_PositionLiteralAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "["
protected class PositionLiteral_LeftSquareBracketKeyword_2 extends KeywordToken {
public PositionLiteral_LeftSquareBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getLeftSquareBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_PositionOnKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// dimensionIndex=EInt
protected class PositionLiteral_DimensionIndexAssignment_3 extends AssignmentToken {
public PositionLiteral_DimensionIndexAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getDimensionIndexAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_LeftSquareBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("dimensionIndex",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dimensionIndex");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPositionLiteralAccess().getDimensionIndexEIntParserRuleCall_3_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getPositionLiteralAccess().getDimensionIndexEIntParserRuleCall_3_0();
return obj;
}
return null;
}
}
// "]"
protected class PositionLiteral_RightSquareBracketKeyword_4 extends KeywordToken {
public PositionLiteral_RightSquareBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPositionLiteralAccess().getRightSquareBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PositionLiteral_DimensionIndexAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule PositionLiteral ****************/
/************ begin Rule RegularGeometry ****************
*
* / **
*
* * From Geometry
*
* * / RegularGeometry:
*
* {RegularGeometry} "regularGeometry" neighborsNumber=EInt "{" dimensions+=Dimension ("x" dimensions+=Dimension)* "}";
*
**/
// {RegularGeometry} "regularGeometry" neighborsNumber=EInt "{" dimensions+=Dimension ("x" dimensions+=Dimension)* "}"
protected class RegularGeometry_Group extends GroupToken {
public RegularGeometry_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getRegularGeometryAccess().getRegularGeometryAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {RegularGeometry}
protected class RegularGeometry_RegularGeometryAction_0 extends ActionToken {
public RegularGeometry_RegularGeometryAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getRegularGeometryAction_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;
}
}
// "regularGeometry"
protected class RegularGeometry_RegularGeometryKeyword_1 extends KeywordToken {
public RegularGeometry_RegularGeometryKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getRegularGeometryKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_RegularGeometryAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// neighborsNumber=EInt
protected class RegularGeometry_NeighborsNumberAssignment_2 extends AssignmentToken {
public RegularGeometry_NeighborsNumberAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getNeighborsNumberAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_RegularGeometryKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("neighborsNumber",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighborsNumber");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRegularGeometryAccess().getNeighborsNumberEIntParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getRegularGeometryAccess().getNeighborsNumberEIntParserRuleCall_2_0();
return obj;
}
return null;
}
}
// "{"
protected class RegularGeometry_LeftCurlyBracketKeyword_3 extends KeywordToken {
public RegularGeometry_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getLeftCurlyBracketKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_NeighborsNumberAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// dimensions+=Dimension
protected class RegularGeometry_DimensionsAssignment_4 extends AssignmentToken {
public RegularGeometry_DimensionsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getDimensionsAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("dimensions",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dimensions");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDimensionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRegularGeometryAccess().getDimensionsDimensionParserRuleCall_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 RegularGeometry_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ("x" dimensions+=Dimension)*
protected class RegularGeometry_Group_5 extends GroupToken {
public RegularGeometry_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_DimensionsAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "x"
protected class RegularGeometry_XKeyword_5_0 extends KeywordToken {
public RegularGeometry_XKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getXKeyword_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_Group_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new RegularGeometry_DimensionsAssignment_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// dimensions+=Dimension
protected class RegularGeometry_DimensionsAssignment_5_1 extends AssignmentToken {
public RegularGeometry_DimensionsAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getDimensionsAssignment_5_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("dimensions",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dimensions");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDimensionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRegularGeometryAccess().getDimensionsDimensionParserRuleCall_5_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 RegularGeometry_XKeyword_5_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class RegularGeometry_RightCurlyBracketKeyword_6 extends KeywordToken {
public RegularGeometry_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRegularGeometryAccess().getRightCurlyBracketKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new RegularGeometry_Group_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new RegularGeometry_DimensionsAssignment_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule RegularGeometry ****************/
/************ begin Rule Dimension ****************
*
* Dimension:
*
* {Dimension} size=EInt | isCircular?="(" size=EInt ")";
*
**/
// {Dimension} size=EInt | isCircular?="(" size=EInt ")"
protected class Dimension_Alternatives extends AlternativesToken {
public Dimension_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getDimensionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Dimension_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getDimensionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {Dimension} size=EInt
protected class Dimension_Group_0 extends GroupToken {
public Dimension_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDimensionAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_SizeAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// {Dimension}
protected class Dimension_DimensionAction_0_0 extends ActionToken {
public Dimension_DimensionAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getDimensionAccess().getDimensionAction_0_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;
}
}
// size=EInt
protected class Dimension_SizeAssignment_0_1 extends AssignmentToken {
public Dimension_SizeAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDimensionAccess().getSizeAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_DimensionAction_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("size",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("size");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDimensionAccess().getSizeEIntParserRuleCall_0_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getDimensionAccess().getSizeEIntParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// isCircular?="(" size=EInt ")"
protected class Dimension_Group_1 extends GroupToken {
public Dimension_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDimensionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_RightParenthesisKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// isCircular?="("
protected class Dimension_IsCircularAssignment_1_0 extends AssignmentToken {
public Dimension_IsCircularAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDimensionAccess().getIsCircularAssignment_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((value = eObjectConsumer.getConsumable("isCircular",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isCircular");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getDimensionAccess().getIsCircularLeftParenthesisKeyword_1_0_0();
return obj;
}
return null;
}
}
// size=EInt
protected class Dimension_SizeAssignment_1_1 extends AssignmentToken {
public Dimension_SizeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDimensionAccess().getSizeAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_IsCircularAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("size",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("size");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDimensionAccess().getSizeEIntParserRuleCall_1_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getDimensionAccess().getSizeEIntParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// ")"
protected class Dimension_RightParenthesisKeyword_1_2 extends KeywordToken {
public Dimension_RightParenthesisKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getRightParenthesisKeyword_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_SizeAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule Dimension ****************/
/************ 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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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.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.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.getPositionLiteralAccess().getPositionLiteralAction_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 ****************/
}