/*
* generated by Xtext
*/
package org.kermeta.language.sample.cellularautomata.rules.services;
import com.google.inject.Singleton;
import com.google.inject.Inject;
import java.util.List;
import org.eclipse.xtext.*;
import org.eclipse.xtext.service.GrammarProvider;
import org.eclipse.xtext.service.AbstractElementFinder.*;
import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
@Singleton
public class CoreGrammarAccess extends AbstractGrammarElementFinder {
public class RuleElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Rule");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cWhenKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Keyword cValueKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cEvaluatedValAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cEvaluatedValConditionalParserRuleCall_3_0 = (RuleCall)cEvaluatedValAssignment_3.eContents().get(0);
private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
/// *
//
// * Operators precedence (Corresponding rule):
//
// * 1 (), neighbors expressions (NeighborsExpression)
//
// * 2 !,- (UnaryExpression)
//
// * 3 *,/,% (MultExpression)
//
// * 4 +,- (AddExpression)
//
// * 5 == (EqualExpression)
//
// * 6 <,> (ComparisonExpression)
//
// * 7 & (AndExpression)
//
// * 8 | (OrExpression)
//
// * 9 if (Conditional)
//
// * / Rule:
//
// "when" / *Filter* / "value" "=" evaluatedVal=Conditional ";";
public ParserRule getRule() { return rule; }
//"when" / *Filter* / "value" "=" evaluatedVal=Conditional ";"
public Group getGroup() { return cGroup; }
//"when"
public Keyword getWhenKeyword_0() { return cWhenKeyword_0; }
/// *Filter* / "value"
public Keyword getValueKeyword_1() { return cValueKeyword_1; }
//"="
public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
//evaluatedVal=Conditional
public Assignment getEvaluatedValAssignment_3() { return cEvaluatedValAssignment_3; }
//Conditional
public RuleCall getEvaluatedValConditionalParserRuleCall_3_0() { return cEvaluatedValConditionalParserRuleCall_3_0; }
//";"
public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
}
public class ConditionalElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Conditional");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cOrExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Action cConditionalAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Keyword cIfKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Assignment cConditionAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cConditionConditionalParserRuleCall_1_2_0 = (RuleCall)cConditionAssignment_1_2.eContents().get(0);
private final Keyword cLeftCurlyBracketKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
private final Assignment cIfTrueExpressionAssignment_1_4 = (Assignment)cGroup_1.eContents().get(4);
private final RuleCall cIfTrueExpressionConditionalParserRuleCall_1_4_0 = (RuleCall)cIfTrueExpressionAssignment_1_4.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_1_5 = (Keyword)cGroup_1.eContents().get(5);
private final Keyword cElseKeyword_1_6 = (Keyword)cGroup_1.eContents().get(6);
private final Keyword cLeftCurlyBracketKeyword_1_7 = (Keyword)cGroup_1.eContents().get(7);
private final Assignment cIfFalseExpressionAssignment_1_8 = (Assignment)cGroup_1.eContents().get(8);
private final RuleCall cIfFalseExpressionConditionalParserRuleCall_1_8_0 = (RuleCall)cIfFalseExpressionAssignment_1_8.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_1_9 = (Keyword)cGroup_1.eContents().get(9);
/// *
//
// * Conditional
//
// * / Conditional returns IntegerExpression:
//
// OrExpression | {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{"
//
// ifFalseExpression=Conditional "}";
public ParserRule getRule() { return rule; }
//OrExpression | {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{"
//
//ifFalseExpression=Conditional "}"
public Alternatives getAlternatives() { return cAlternatives; }
//OrExpression
public RuleCall getOrExpressionParserRuleCall_0() { return cOrExpressionParserRuleCall_0; }
//{Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{" ifFalseExpression=Conditional
//
//"}"
public Group getGroup_1() { return cGroup_1; }
//{Conditional}
public Action getConditionalAction_1_0() { return cConditionalAction_1_0; }
//"if"
public Keyword getIfKeyword_1_1() { return cIfKeyword_1_1; }
//condition=Conditional
public Assignment getConditionAssignment_1_2() { return cConditionAssignment_1_2; }
//Conditional
public RuleCall getConditionConditionalParserRuleCall_1_2_0() { return cConditionConditionalParserRuleCall_1_2_0; }
//"{"
public Keyword getLeftCurlyBracketKeyword_1_3() { return cLeftCurlyBracketKeyword_1_3; }
//ifTrueExpression=Conditional
public Assignment getIfTrueExpressionAssignment_1_4() { return cIfTrueExpressionAssignment_1_4; }
//Conditional
public RuleCall getIfTrueExpressionConditionalParserRuleCall_1_4_0() { return cIfTrueExpressionConditionalParserRuleCall_1_4_0; }
//"}"
public Keyword getRightCurlyBracketKeyword_1_5() { return cRightCurlyBracketKeyword_1_5; }
//"else"
public Keyword getElseKeyword_1_6() { return cElseKeyword_1_6; }
//"{"
public Keyword getLeftCurlyBracketKeyword_1_7() { return cLeftCurlyBracketKeyword_1_7; }
//ifFalseExpression=Conditional
public Assignment getIfFalseExpressionAssignment_1_8() { return cIfFalseExpressionAssignment_1_8; }
//Conditional
public RuleCall getIfFalseExpressionConditionalParserRuleCall_1_8_0() { return cIfFalseExpressionConditionalParserRuleCall_1_8_0; }
//"}"
public Keyword getRightCurlyBracketKeyword_1_9() { return cRightCurlyBracketKeyword_1_9; }
}
public class OrExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OrExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cAndExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Action cOrLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Keyword cVerticalLineKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightAndExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
/// *
//
// * Binary expressions
//
// * / OrExpression returns IntegerExpression:
//
// AndExpression ({Or.left=current} "|" right=AndExpression)*;
public ParserRule getRule() { return rule; }
//AndExpression ({Or.left=current} "|" right=AndExpression)*
public Group getGroup() { return cGroup; }
//AndExpression
public RuleCall getAndExpressionParserRuleCall_0() { return cAndExpressionParserRuleCall_0; }
//({Or.left=current} "|" right=AndExpression)*
public Group getGroup_1() { return cGroup_1; }
//{Or.left=current}
public Action getOrLeftAction_1_0() { return cOrLeftAction_1_0; }
//"|"
public Keyword getVerticalLineKeyword_1_1() { return cVerticalLineKeyword_1_1; }
//right=AndExpression
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//AndExpression
public RuleCall getRightAndExpressionParserRuleCall_1_2_0() { return cRightAndExpressionParserRuleCall_1_2_0; }
}
public class AndExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AndExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cEqualExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Action cAndLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Keyword cAmpersandKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightEqualExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//AndExpression returns IntegerExpression:
//
// EqualExpression ({And.left=current} "&" right=EqualExpression)*;
public ParserRule getRule() { return rule; }
//EqualExpression ({And.left=current} "&" right=EqualExpression)*
public Group getGroup() { return cGroup; }
//EqualExpression
public RuleCall getEqualExpressionParserRuleCall_0() { return cEqualExpressionParserRuleCall_0; }
//({And.left=current} "&" right=EqualExpression)*
public Group getGroup_1() { return cGroup_1; }
//{And.left=current}
public Action getAndLeftAction_1_0() { return cAndLeftAction_1_0; }
//"&"
public Keyword getAmpersandKeyword_1_1() { return cAmpersandKeyword_1_1; }
//right=EqualExpression
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//EqualExpression
public RuleCall getRightEqualExpressionParserRuleCall_1_2_0() { return cRightEqualExpressionParserRuleCall_1_2_0; }
}
public class EqualExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EqualExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cComparisonExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Action cEqualLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Keyword cEqualsSignEqualsSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightComparisonExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//EqualExpression returns IntegerExpression:
//
// ComparisonExpression ({Equal.left=current} "==" right=ComparisonExpression)*;
public ParserRule getRule() { return rule; }
//ComparisonExpression ({Equal.left=current} "==" right=ComparisonExpression)*
public Group getGroup() { return cGroup; }
//ComparisonExpression
public RuleCall getComparisonExpressionParserRuleCall_0() { return cComparisonExpressionParserRuleCall_0; }
//({Equal.left=current} "==" right=ComparisonExpression)*
public Group getGroup_1() { return cGroup_1; }
//{Equal.left=current}
public Action getEqualLeftAction_1_0() { return cEqualLeftAction_1_0; }
//"=="
public Keyword getEqualsSignEqualsSignKeyword_1_1() { return cEqualsSignEqualsSignKeyword_1_1; }
//right=ComparisonExpression
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//ComparisonExpression
public RuleCall getRightComparisonExpressionParserRuleCall_1_2_0() { return cRightComparisonExpressionParserRuleCall_1_2_0; }
}
public class ComparisonExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComparisonExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cAddExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
private final Group cGroup_1_0_0 = (Group)cAlternatives_1_0.eContents().get(0);
private final Action cGreaterLeftAction_1_0_0_0 = (Action)cGroup_1_0_0.eContents().get(0);
private final Keyword cGreaterThanSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
private final Group cGroup_1_0_1 = (Group)cAlternatives_1_0.eContents().get(1);
private final Action cLowerLeftAction_1_0_1_0 = (Action)cGroup_1_0_1.eContents().get(0);
private final Keyword cLessThanSignKeyword_1_0_1_1 = (Keyword)cGroup_1_0_1.eContents().get(1);
private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cRightAddExpressionParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0);
//ComparisonExpression returns IntegerExpression:
//
// AddExpression (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)*;
public ParserRule getRule() { return rule; }
//AddExpression (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)*
public Group getGroup() { return cGroup; }
//AddExpression
public RuleCall getAddExpressionParserRuleCall_0() { return cAddExpressionParserRuleCall_0; }
//(({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)*
public Group getGroup_1() { return cGroup_1; }
//{Greater.left=current} ">" | {Lower.left=current} "<"
public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
//{Greater.left=current} ">"
public Group getGroup_1_0_0() { return cGroup_1_0_0; }
//{Greater.left=current}
public Action getGreaterLeftAction_1_0_0_0() { return cGreaterLeftAction_1_0_0_0; }
//">"
public Keyword getGreaterThanSignKeyword_1_0_0_1() { return cGreaterThanSignKeyword_1_0_0_1; }
//{Lower.left=current} "<"
public Group getGroup_1_0_1() { return cGroup_1_0_1; }
//{Lower.left=current}
public Action getLowerLeftAction_1_0_1_0() { return cLowerLeftAction_1_0_1_0; }
//"<"
public Keyword getLessThanSignKeyword_1_0_1_1() { return cLessThanSignKeyword_1_0_1_1; }
//right=AddExpression
public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; }
//AddExpression
public RuleCall getRightAddExpressionParserRuleCall_1_1_0() { return cRightAddExpressionParserRuleCall_1_1_0; }
}
public class AddExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AddExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cMultExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
private final Group cGroup_1_0_0 = (Group)cAlternatives_1_0.eContents().get(0);
private final Action cAddLeftAction_1_0_0_0 = (Action)cGroup_1_0_0.eContents().get(0);
private final Keyword cPlusSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
private final Group cGroup_1_0_1 = (Group)cAlternatives_1_0.eContents().get(1);
private final Action cMinusLeftAction_1_0_1_0 = (Action)cGroup_1_0_1.eContents().get(0);
private final Keyword cHyphenMinusKeyword_1_0_1_1 = (Keyword)cGroup_1_0_1.eContents().get(1);
private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cRightMultExpressionParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0);
//AddExpression returns IntegerExpression:
//
// MultExpression (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)*;
public ParserRule getRule() { return rule; }
//MultExpression (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)*
public Group getGroup() { return cGroup; }
//MultExpression
public RuleCall getMultExpressionParserRuleCall_0() { return cMultExpressionParserRuleCall_0; }
//(({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)*
public Group getGroup_1() { return cGroup_1; }
//{Add.left=current} "+" | {Minus.left=current} "-"
public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
//{Add.left=current} "+"
public Group getGroup_1_0_0() { return cGroup_1_0_0; }
//{Add.left=current}
public Action getAddLeftAction_1_0_0_0() { return cAddLeftAction_1_0_0_0; }
//"+"
public Keyword getPlusSignKeyword_1_0_0_1() { return cPlusSignKeyword_1_0_0_1; }
//{Minus.left=current} "-"
public Group getGroup_1_0_1() { return cGroup_1_0_1; }
//{Minus.left=current}
public Action getMinusLeftAction_1_0_1_0() { return cMinusLeftAction_1_0_1_0; }
//"-"
public Keyword getHyphenMinusKeyword_1_0_1_1() { return cHyphenMinusKeyword_1_0_1_1; }
//right=MultExpression
public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; }
//MultExpression
public RuleCall getRightMultExpressionParserRuleCall_1_1_0() { return cRightMultExpressionParserRuleCall_1_1_0; }
}
public class MultExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MultExpression");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
private final Group cGroup_1_0_0 = (Group)cAlternatives_1_0.eContents().get(0);
private final Action cMultLeftAction_1_0_0_0 = (Action)cGroup_1_0_0.eContents().get(0);
private final Keyword cAsteriskKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
private final Group cGroup_1_0_1 = (Group)cAlternatives_1_0.eContents().get(1);
private final Action cDivLeftAction_1_0_1_0 = (Action)cGroup_1_0_1.eContents().get(0);
private final Keyword cSolidusKeyword_1_0_1_1 = (Keyword)cGroup_1_0_1.eContents().get(1);
private final Group cGroup_1_0_2 = (Group)cAlternatives_1_0.eContents().get(2);
private final Action cModLeftAction_1_0_2_0 = (Action)cGroup_1_0_2.eContents().get(0);
private final Keyword cPercentSignKeyword_1_0_2_1 = (Keyword)cGroup_1_0_2.eContents().get(1);
private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cRightUnaryExpressionParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0);
//MultExpression returns IntegerExpression:
//
// UnaryExpression (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)*;
public ParserRule getRule() { return rule; }
//UnaryExpression (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)*
public Group getGroup() { return cGroup; }
//UnaryExpression
public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
//(({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)*
public Group getGroup_1() { return cGroup_1; }
//{Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%"
public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
//{Mult.left=current} "*"
public Group getGroup_1_0_0() { return cGroup_1_0_0; }
//{Mult.left=current}
public Action getMultLeftAction_1_0_0_0() { return cMultLeftAction_1_0_0_0; }
//"*"
public Keyword getAsteriskKeyword_1_0_0_1() { return cAsteriskKeyword_1_0_0_1; }
//{Div.left=current} "/"
public Group getGroup_1_0_1() { return cGroup_1_0_1; }
//{Div.left=current}
public Action getDivLeftAction_1_0_1_0() { return cDivLeftAction_1_0_1_0; }
//"/"
public Keyword getSolidusKeyword_1_0_1_1() { return cSolidusKeyword_1_0_1_1; }
//{Mod.left=current} "%"
public Group getGroup_1_0_2() { return cGroup_1_0_2; }
//{Mod.left=current}
public Action getModLeftAction_1_0_2_0() { return cModLeftAction_1_0_2_0; }
//"%"
public Keyword getPercentSignKeyword_1_0_2_1() { return cPercentSignKeyword_1_0_2_1; }
//right=UnaryExpression
public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; }
//UnaryExpression
public RuleCall getRightUnaryExpressionParserRuleCall_1_1_0() { return cRightUnaryExpressionParserRuleCall_1_1_0; }
}
public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryExpression");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cLiteralsExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Action cNotAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Keyword cExclamationMarkKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Assignment cTargetAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cTargetLiteralsExpressionParserRuleCall_1_2_0 = (RuleCall)cTargetAssignment_1_2.eContents().get(0);
private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
private final Action cUMinusAction_2_0 = (Action)cGroup_2.eContents().get(0);
private final Keyword cHyphenMinusKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
private final Assignment cTargetAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
private final RuleCall cTargetLiteralsExpressionParserRuleCall_2_2_0 = (RuleCall)cTargetAssignment_2_2.eContents().get(0);
/// *
//
// * Unary expressions
//
// * / UnaryExpression returns IntegerExpression:
//
// LiteralsExpression | {Not} "!" target=LiteralsExpression | {UMinus} "-" target=LiteralsExpression;
public ParserRule getRule() { return rule; }
//LiteralsExpression | {Not} "!" target=LiteralsExpression | {UMinus} "-" target=LiteralsExpression
public Alternatives getAlternatives() { return cAlternatives; }
//LiteralsExpression
public RuleCall getLiteralsExpressionParserRuleCall_0() { return cLiteralsExpressionParserRuleCall_0; }
//{Not} "!" target=LiteralsExpression
public Group getGroup_1() { return cGroup_1; }
//{Not}
public Action getNotAction_1_0() { return cNotAction_1_0; }
//"!"
public Keyword getExclamationMarkKeyword_1_1() { return cExclamationMarkKeyword_1_1; }
//target=LiteralsExpression
public Assignment getTargetAssignment_1_2() { return cTargetAssignment_1_2; }
//LiteralsExpression
public RuleCall getTargetLiteralsExpressionParserRuleCall_1_2_0() { return cTargetLiteralsExpressionParserRuleCall_1_2_0; }
//{UMinus} "-" target=LiteralsExpression
public Group getGroup_2() { return cGroup_2; }
//{UMinus}
public Action getUMinusAction_2_0() { return cUMinusAction_2_0; }
//"-"
public Keyword getHyphenMinusKeyword_2_1() { return cHyphenMinusKeyword_2_1; }
//target=LiteralsExpression
public Assignment getTargetAssignment_2_2() { return cTargetAssignment_2_2; }
//LiteralsExpression
public RuleCall getTargetLiteralsExpressionParserRuleCall_2_2_0() { return cTargetLiteralsExpressionParserRuleCall_2_2_0; }
}
public class LiteralsExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LiteralsExpression");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
private final RuleCall cConditionalParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
private final RuleCall cIntegerLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
//LiteralsExpression returns IntegerExpression:
//
// "(" Conditional ")" | / *Max | Min | Sum | Size | CurrentCellPopulation |* / IntegerLiteral;
public ParserRule getRule() { return rule; }
//"(" Conditional ")" | / *Max | Min | Sum | Size | CurrentCellPopulation |* / IntegerLiteral
public Alternatives getAlternatives() { return cAlternatives; }
//"(" Conditional ")"
public Group getGroup_0() { return cGroup_0; }
//"("
public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; }
//Conditional
public RuleCall getConditionalParserRuleCall_0_1() { return cConditionalParserRuleCall_0_1; }
//")"
public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; }
/// *Max | Min | Sum | Size | CurrentCellPopulation |* / IntegerLiteral
public RuleCall getIntegerLiteralParserRuleCall_1() { return cIntegerLiteralParserRuleCall_1; }
}
public class IntegerLiteralElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntegerLiteral");
private final Assignment cValAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cValEIntParserRuleCall_0 = (RuleCall)cValAssignment.eContents().get(0);
//IntegerLiteral:
//
// val=EInt;
public ParserRule getRule() { return rule; }
//val=EInt
public Assignment getValAssignment() { return cValAssignment; }
//EInt
public RuleCall getValEIntParserRuleCall_0() { return cValEIntParserRuleCall_0; }
}
public class EIntElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EInt");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
//EInt returns ecore::EInt:
//
// "-"? INT;
public ParserRule getRule() { return rule; }
//"-"? INT
public Group getGroup() { return cGroup; }
//"-"?
public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
//INT
public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
}
private RuleElements pRule;
private ConditionalElements pConditional;
private OrExpressionElements pOrExpression;
private AndExpressionElements pAndExpression;
private EqualExpressionElements pEqualExpression;
private ComparisonExpressionElements pComparisonExpression;
private AddExpressionElements pAddExpression;
private MultExpressionElements pMultExpression;
private UnaryExpressionElements pUnaryExpression;
private LiteralsExpressionElements pLiteralsExpression;
private IntegerLiteralElements pIntegerLiteral;
private EIntElements pEInt;
private final Grammar grammar;
private TerminalsGrammarAccess gaTerminals;
@Inject
public CoreGrammarAccess(GrammarProvider grammarProvider,
TerminalsGrammarAccess gaTerminals) {
this.grammar = internalFindGrammar(grammarProvider);
this.gaTerminals = gaTerminals;
}
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
Grammar grammar = grammarProvider.getGrammar(this);
while (grammar != null) {
if ("org.kermeta.language.sample.cellularautomata.rules.Core".equals(grammar.getName())) {
return grammar;
}
List<Grammar> grammars = grammar.getUsedGrammars();
if (!grammars.isEmpty()) {
grammar = grammars.iterator().next();
} else {
return null;
}
}
return grammar;
}
public Grammar getGrammar() {
return grammar;
}
public TerminalsGrammarAccess getTerminalsGrammarAccess() {
return gaTerminals;
}
/// *
//
// * Operators precedence (Corresponding rule):
//
// * 1 (), neighbors expressions (NeighborsExpression)
//
// * 2 !,- (UnaryExpression)
//
// * 3 *,/,% (MultExpression)
//
// * 4 +,- (AddExpression)
//
// * 5 == (EqualExpression)
//
// * 6 <,> (ComparisonExpression)
//
// * 7 & (AndExpression)
//
// * 8 | (OrExpression)
//
// * 9 if (Conditional)
//
// * / Rule:
//
// "when" / *Filter* / "value" "=" evaluatedVal=Conditional ";";
public RuleElements getRuleAccess() {
return (pRule != null) ? pRule : (pRule = new RuleElements());
}
public ParserRule getRuleRule() {
return getRuleAccess().getRule();
}
/// *
//
// * Conditional
//
// * / Conditional returns IntegerExpression:
//
// OrExpression | {Conditional} "if" condition=Conditional "{" ifTrueExpression=Conditional "}" "else" "{"
//
// ifFalseExpression=Conditional "}";
public ConditionalElements getConditionalAccess() {
return (pConditional != null) ? pConditional : (pConditional = new ConditionalElements());
}
public ParserRule getConditionalRule() {
return getConditionalAccess().getRule();
}
/// *
//
// * Binary expressions
//
// * / OrExpression returns IntegerExpression:
//
// AndExpression ({Or.left=current} "|" right=AndExpression)*;
public OrExpressionElements getOrExpressionAccess() {
return (pOrExpression != null) ? pOrExpression : (pOrExpression = new OrExpressionElements());
}
public ParserRule getOrExpressionRule() {
return getOrExpressionAccess().getRule();
}
//AndExpression returns IntegerExpression:
//
// EqualExpression ({And.left=current} "&" right=EqualExpression)*;
public AndExpressionElements getAndExpressionAccess() {
return (pAndExpression != null) ? pAndExpression : (pAndExpression = new AndExpressionElements());
}
public ParserRule getAndExpressionRule() {
return getAndExpressionAccess().getRule();
}
//EqualExpression returns IntegerExpression:
//
// ComparisonExpression ({Equal.left=current} "==" right=ComparisonExpression)*;
public EqualExpressionElements getEqualExpressionAccess() {
return (pEqualExpression != null) ? pEqualExpression : (pEqualExpression = new EqualExpressionElements());
}
public ParserRule getEqualExpressionRule() {
return getEqualExpressionAccess().getRule();
}
//ComparisonExpression returns IntegerExpression:
//
// AddExpression (({Greater.left=current} ">" | {Lower.left=current} "<") right=AddExpression)*;
public ComparisonExpressionElements getComparisonExpressionAccess() {
return (pComparisonExpression != null) ? pComparisonExpression : (pComparisonExpression = new ComparisonExpressionElements());
}
public ParserRule getComparisonExpressionRule() {
return getComparisonExpressionAccess().getRule();
}
//AddExpression returns IntegerExpression:
//
// MultExpression (({Add.left=current} "+" | {Minus.left=current} "-") right=MultExpression)*;
public AddExpressionElements getAddExpressionAccess() {
return (pAddExpression != null) ? pAddExpression : (pAddExpression = new AddExpressionElements());
}
public ParserRule getAddExpressionRule() {
return getAddExpressionAccess().getRule();
}
//MultExpression returns IntegerExpression:
//
// UnaryExpression (({Mult.left=current} "*" | {Div.left=current} "/" | {Mod.left=current} "%") right=UnaryExpression)*;
public MultExpressionElements getMultExpressionAccess() {
return (pMultExpression != null) ? pMultExpression : (pMultExpression = new MultExpressionElements());
}
public ParserRule getMultExpressionRule() {
return getMultExpressionAccess().getRule();
}
/// *
//
// * Unary expressions
//
// * / UnaryExpression returns IntegerExpression:
//
// LiteralsExpression | {Not} "!" target=LiteralsExpression | {UMinus} "-" target=LiteralsExpression;
public UnaryExpressionElements getUnaryExpressionAccess() {
return (pUnaryExpression != null) ? pUnaryExpression : (pUnaryExpression = new UnaryExpressionElements());
}
public ParserRule getUnaryExpressionRule() {
return getUnaryExpressionAccess().getRule();
}
//LiteralsExpression returns IntegerExpression:
//
// "(" Conditional ")" | / *Max | Min | Sum | Size | CurrentCellPopulation |* / IntegerLiteral;
public LiteralsExpressionElements getLiteralsExpressionAccess() {
return (pLiteralsExpression != null) ? pLiteralsExpression : (pLiteralsExpression = new LiteralsExpressionElements());
}
public ParserRule getLiteralsExpressionRule() {
return getLiteralsExpressionAccess().getRule();
}
//IntegerLiteral:
//
// val=EInt;
public IntegerLiteralElements getIntegerLiteralAccess() {
return (pIntegerLiteral != null) ? pIntegerLiteral : (pIntegerLiteral = new IntegerLiteralElements());
}
public ParserRule getIntegerLiteralRule() {
return getIntegerLiteralAccess().getRule();
}
//EInt returns ecore::EInt:
//
// "-"? INT;
public EIntElements getEIntAccess() {
return (pEInt != null) ? pEInt : (pEInt = new EIntElements());
}
public ParserRule getEIntRule() {
return getEIntAccess().getRule();
}
//terminal ID:
//
// "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
public TerminalRule getIDRule() {
return gaTerminals.getIDRule();
}
//terminal INT returns ecore::EInt:
//
// "0".."9"+;
public TerminalRule getINTRule() {
return gaTerminals.getINTRule();
}
//terminal STRING:
//
// "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
//
// "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
public TerminalRule getSTRINGRule() {
return gaTerminals.getSTRINGRule();
}
//terminal ML_COMMENT:
//
// "/ *"->"* /";
public TerminalRule getML_COMMENTRule() {
return gaTerminals.getML_COMMENTRule();
}
//terminal SL_COMMENT:
//
// "//" !("\n" | "\r")* ("\r"? "\n")?;
public TerminalRule getSL_COMMENTRule() {
return gaTerminals.getSL_COMMENTRule();
}
//terminal WS:
//
// (" " | "\t" | "\r" | "\n")+;
public TerminalRule getWSRule() {
return gaTerminals.getWSRule();
}
//terminal ANY_OTHER:
//
// .;
public TerminalRule getANY_OTHERRule() {
return gaTerminals.getANY_OTHERRule();
}
}