/*
* generated by Xtext
*/
package fr.istic.m2.idm.xtext.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 fr.istic.m2.idm.xtext.services.TopanlGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class TopanlParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private TopanlGrammarAccess 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 Geometry_Group(this, this, 0, inst);
case 1: return new Dimension_Group(this, this, 1, inst);
case 2: return new Neighbor_Group(this, this, 2, inst);
default: return null;
}
}
}
/************ begin Rule Geometry ****************
*
* Geometry:
*
* "Geometry" "{" ("nDim" "=" nDim=Integer)? ("isCircular" "=" isCircular=Bool)? "dimensions" "=" "("
*
* dimensions+=[Dimension] ("," dimensions+=[Dimension])* ")" ("neighbors" "=" "(" neighbors+=[Neighbor] (","
*
* neighbors+=[Neighbor])* ")")? "}";
*
**/
// "Geometry" "{" ("nDim" "=" nDim=Integer)? ("isCircular" "=" isCircular=Bool)? "dimensions" "=" "("
//
// dimensions+=[Dimension] ("," dimensions+=[Dimension])* ")" ("neighbors" "=" "(" neighbors+=[Neighbor] (","
//
// neighbors+=[Neighbor])* ")")? "}"
protected class Geometry_Group extends GroupToken {
public Geometry_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getGeometryRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "Geometry"
protected class Geometry_GeometryKeyword_0 extends KeywordToken {
public Geometry_GeometryKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getGeometryKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// "{"
protected class Geometry_LeftCurlyBracketKeyword_1 extends KeywordToken {
public Geometry_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getLeftCurlyBracketKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_GeometryKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("nDim" "=" nDim=Integer)?
protected class Geometry_Group_2 extends GroupToken {
public Geometry_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_NDimAssignment_2_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "nDim"
protected class Geometry_NDimKeyword_2_0 extends KeywordToken {
public Geometry_NDimKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getNDimKeyword_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "="
protected class Geometry_EqualsSignKeyword_2_1 extends KeywordToken {
public Geometry_EqualsSignKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getEqualsSignKeyword_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_NDimKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// nDim=Integer
protected class Geometry_NDimAssignment_2_2 extends AssignmentToken {
public Geometry_NDimAssignment_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getNDimAssignment_2_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_EqualsSignKeyword_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("nDim",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nDim");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getGeometryAccess().getNDimIntegerParserRuleCall_2_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getGeometryAccess().getNDimIntegerParserRuleCall_2_2_0();
return obj;
}
return null;
}
}
// ("isCircular" "=" isCircular=Bool)?
protected class Geometry_Group_3 extends GroupToken {
public Geometry_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_IsCircularAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "isCircular"
protected class Geometry_IsCircularKeyword_3_0 extends KeywordToken {
public Geometry_IsCircularKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getIsCircularKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "="
protected class Geometry_EqualsSignKeyword_3_1 extends KeywordToken {
public Geometry_EqualsSignKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getEqualsSignKeyword_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_IsCircularKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// isCircular=Bool
protected class Geometry_IsCircularAssignment_3_2 extends AssignmentToken {
public Geometry_IsCircularAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getIsCircularAssignment_3_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_EqualsSignKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isCircular",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isCircular");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getGeometryAccess().getIsCircularBoolParserRuleCall_3_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getGeometryAccess().getIsCircularBoolParserRuleCall_3_2_0();
return obj;
}
return null;
}
}
// "dimensions"
protected class Geometry_DimensionsKeyword_4 extends KeywordToken {
public Geometry_DimensionsKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getDimensionsKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_Group_2(lastRuleCallOrigin, this, 1, inst);
case 2: return new Geometry_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
}
// "="
protected class Geometry_EqualsSignKeyword_5 extends KeywordToken {
public Geometry_EqualsSignKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getEqualsSignKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_DimensionsKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Geometry_LeftParenthesisKeyword_6 extends KeywordToken {
public Geometry_LeftParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getLeftParenthesisKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_EqualsSignKeyword_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// dimensions+=[Dimension]
protected class Geometry_DimensionsAssignment_7 extends AssignmentToken {
public Geometry_DimensionsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getDimensionsAssignment_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_LeftParenthesisKeyword_6(lastRuleCallOrigin, 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::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getGeometryAccess().getDimensionsDimensionCrossReference_7_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getGeometryAccess().getDimensionsDimensionCrossReference_7_0();
return obj;
}
}
return null;
}
}
// ("," dimensions+=[Dimension])*
protected class Geometry_Group_8 extends GroupToken {
public Geometry_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_DimensionsAssignment_8_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Geometry_CommaKeyword_8_0 extends KeywordToken {
public Geometry_CommaKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getCommaKeyword_8_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_8(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_DimensionsAssignment_7(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// dimensions+=[Dimension]
protected class Geometry_DimensionsAssignment_8_1 extends AssignmentToken {
public Geometry_DimensionsAssignment_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getDimensionsAssignment_8_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_CommaKeyword_8_0(lastRuleCallOrigin, 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::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getGeometryAccess().getDimensionsDimensionCrossReference_8_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getGeometryAccess().getDimensionsDimensionCrossReference_8_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Geometry_RightParenthesisKeyword_9 extends KeywordToken {
public Geometry_RightParenthesisKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getRightParenthesisKeyword_9();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_8(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_DimensionsAssignment_7(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// ("neighbors" "=" "(" neighbors+=[Neighbor] ("," neighbors+=[Neighbor])* ")")?
protected class Geometry_Group_10 extends GroupToken {
public Geometry_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup_10();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_RightParenthesisKeyword_10_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "neighbors"
protected class Geometry_NeighborsKeyword_10_0 extends KeywordToken {
public Geometry_NeighborsKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getNeighborsKeyword_10_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_RightParenthesisKeyword_9(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "="
protected class Geometry_EqualsSignKeyword_10_1 extends KeywordToken {
public Geometry_EqualsSignKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getEqualsSignKeyword_10_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_NeighborsKeyword_10_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Geometry_LeftParenthesisKeyword_10_2 extends KeywordToken {
public Geometry_LeftParenthesisKeyword_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getLeftParenthesisKeyword_10_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_EqualsSignKeyword_10_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// neighbors+=[Neighbor]
protected class Geometry_NeighborsAssignment_10_3 extends AssignmentToken {
public Geometry_NeighborsAssignment_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getNeighborsAssignment_10_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_LeftParenthesisKeyword_10_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("neighbors",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighbors");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getGeometryAccess().getNeighborsNeighborCrossReference_10_3_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getGeometryAccess().getNeighborsNeighborCrossReference_10_3_0();
return obj;
}
}
return null;
}
}
// ("," neighbors+=[Neighbor])*
protected class Geometry_Group_10_4 extends GroupToken {
public Geometry_Group_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGeometryAccess().getGroup_10_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_NeighborsAssignment_10_4_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Geometry_CommaKeyword_10_4_0 extends KeywordToken {
public Geometry_CommaKeyword_10_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getCommaKeyword_10_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_10_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_NeighborsAssignment_10_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// neighbors+=[Neighbor]
protected class Geometry_NeighborsAssignment_10_4_1 extends AssignmentToken {
public Geometry_NeighborsAssignment_10_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGeometryAccess().getNeighborsAssignment_10_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_CommaKeyword_10_4_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("neighbors",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("neighbors");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getGeometryAccess().getNeighborsNeighborCrossReference_10_4_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getGeometryAccess().getNeighborsNeighborCrossReference_10_4_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Geometry_RightParenthesisKeyword_10_5 extends KeywordToken {
public Geometry_RightParenthesisKeyword_10_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getRightParenthesisKeyword_10_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_10_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_NeighborsAssignment_10_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "}"
protected class Geometry_RightCurlyBracketKeyword_11 extends KeywordToken {
public Geometry_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGeometryAccess().getRightCurlyBracketKeyword_11();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Geometry_Group_10(lastRuleCallOrigin, this, 0, inst);
case 1: return new Geometry_RightParenthesisKeyword_9(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule Geometry ****************/
/************ begin Rule Dimension ****************
*
* Dimension:
*
* {Dimension} "Dimension" "{" ("size" "=" size=Integer)? "}";
*
**/
// {Dimension} "Dimension" "{" ("size" "=" size=Integer)? "}"
protected class Dimension_Group extends GroupToken {
public Dimension_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDimensionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getDimensionAccess().getDimensionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {Dimension}
protected class Dimension_DimensionAction_0 extends ActionToken {
public Dimension_DimensionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getDimensionAccess().getDimensionAction_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;
}
}
// "Dimension"
protected class Dimension_DimensionKeyword_1 extends KeywordToken {
public Dimension_DimensionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getDimensionKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_DimensionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "{"
protected class Dimension_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Dimension_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_DimensionKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("size" "=" size=Integer)?
protected class Dimension_Group_3 extends GroupToken {
public Dimension_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDimensionAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_SizeAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "size"
protected class Dimension_SizeKeyword_3_0 extends KeywordToken {
public Dimension_SizeKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getSizeKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "="
protected class Dimension_EqualsSignKeyword_3_1 extends KeywordToken {
public Dimension_EqualsSignKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getEqualsSignKeyword_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_SizeKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// size=Integer
protected class Dimension_SizeAssignment_3_2 extends AssignmentToken {
public Dimension_SizeAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDimensionAccess().getSizeAssignment_3_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_EqualsSignKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("size",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("size");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDimensionAccess().getSizeIntegerParserRuleCall_3_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getDimensionAccess().getSizeIntegerParserRuleCall_3_2_0();
return obj;
}
return null;
}
}
// "}"
protected class Dimension_RightCurlyBracketKeyword_4 extends KeywordToken {
public Dimension_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDimensionAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Dimension_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Dimension_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule Dimension ****************/
/************ begin Rule Neighbor ****************
*
* Neighbor:
*
* {Neighbor} "Neighbor" "{" ("coord" "=" "{" coord+=Integer ("," coord+=Integer)* "}")? "}";
*
**/
// {Neighbor} "Neighbor" "{" ("coord" "=" "{" coord+=Integer ("," coord+=Integer)* "}")? "}"
protected class Neighbor_Group extends GroupToken {
public Neighbor_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNeighborAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNeighborAccess().getNeighborAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {Neighbor}
protected class Neighbor_NeighborAction_0 extends ActionToken {
public Neighbor_NeighborAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getNeighborAccess().getNeighborAction_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;
}
}
// "Neighbor"
protected class Neighbor_NeighborKeyword_1 extends KeywordToken {
public Neighbor_NeighborKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getNeighborKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_NeighborAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "{"
protected class Neighbor_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Neighbor_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_NeighborKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("coord" "=" "{" coord+=Integer ("," coord+=Integer)* "}")?
protected class Neighbor_Group_3 extends GroupToken {
public Neighbor_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNeighborAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_RightCurlyBracketKeyword_3_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "coord"
protected class Neighbor_CoordKeyword_3_0 extends KeywordToken {
public Neighbor_CoordKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getCoordKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "="
protected class Neighbor_EqualsSignKeyword_3_1 extends KeywordToken {
public Neighbor_EqualsSignKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getEqualsSignKeyword_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_CoordKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "{"
protected class Neighbor_LeftCurlyBracketKeyword_3_2 extends KeywordToken {
public Neighbor_LeftCurlyBracketKeyword_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getLeftCurlyBracketKeyword_3_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_EqualsSignKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// coord+=Integer
protected class Neighbor_CoordAssignment_3_3 extends AssignmentToken {
public Neighbor_CoordAssignment_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNeighborAccess().getCoordAssignment_3_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_LeftCurlyBracketKeyword_3_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coord",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coord");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNeighborAccess().getCoordIntegerParserRuleCall_3_3_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getNeighborAccess().getCoordIntegerParserRuleCall_3_3_0();
return obj;
}
return null;
}
}
// ("," coord+=Integer)*
protected class Neighbor_Group_3_4 extends GroupToken {
public Neighbor_Group_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNeighborAccess().getGroup_3_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_CoordAssignment_3_4_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Neighbor_CommaKeyword_3_4_0 extends KeywordToken {
public Neighbor_CommaKeyword_3_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getCommaKeyword_3_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_Group_3_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Neighbor_CoordAssignment_3_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// coord+=Integer
protected class Neighbor_CoordAssignment_3_4_1 extends AssignmentToken {
public Neighbor_CoordAssignment_3_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNeighborAccess().getCoordAssignment_3_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_CommaKeyword_3_4_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coord",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coord");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNeighborAccess().getCoordIntegerParserRuleCall_3_4_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getNeighborAccess().getCoordIntegerParserRuleCall_3_4_1_0();
return obj;
}
return null;
}
}
// "}"
protected class Neighbor_RightCurlyBracketKeyword_3_5 extends KeywordToken {
public Neighbor_RightCurlyBracketKeyword_3_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getRightCurlyBracketKeyword_3_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_Group_3_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Neighbor_CoordAssignment_3_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "}"
protected class Neighbor_RightCurlyBracketKeyword_4 extends KeywordToken {
public Neighbor_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNeighborAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Neighbor_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Neighbor_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule Neighbor ****************/
}