/* * generated by Xtext */ package org.example.expressions.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 ExpressionsGrammarAccess extends AbstractGrammarElementFinder { public class ExpressionsModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExpressionsModel"); private final Assignment cElementsAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cElementsAbstractElementParserRuleCall_0 = (RuleCall)cElementsAssignment.eContents().get(0); //ExpressionsModel: // elements+=AbstractElement*; @Override public ParserRule getRule() { return rule; } //elements+=AbstractElement* public Assignment getElementsAssignment() { return cElementsAssignment; } //AbstractElement public RuleCall getElementsAbstractElementParserRuleCall_0() { return cElementsAbstractElementParserRuleCall_0; } } public class AbstractElementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractElement"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //AbstractElement: // Variable | Expression; @Override public ParserRule getRule() { return rule; } //Variable | Expression public Alternatives getAlternatives() { return cAlternatives; } //Variable public RuleCall getVariableParserRuleCall_0() { return cVariableParserRuleCall_0; } //Expression public RuleCall getExpressionParserRuleCall_1() { return cExpressionParserRuleCall_1; } } public class VariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Variable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cExpressionAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cExpressionExpressionParserRuleCall_2_0 = (RuleCall)cExpressionAssignment_2.eContents().get(0); //Variable: // name=ID "=" expression=Expression; @Override public ParserRule getRule() { return rule; } //name=ID "=" expression=Expression public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //"=" public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } //expression=Expression public Assignment getExpressionAssignment_2() { return cExpressionAssignment_2; } //Expression public RuleCall getExpressionExpressionParserRuleCall_2_0() { return cExpressionExpressionParserRuleCall_2_0; } } public class ExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression"); private final RuleCall cOrParserRuleCall = (RuleCall)rule.eContents().get(1); //Expression: // Or; @Override public ParserRule getRule() { return rule; } //Or public RuleCall getOrParserRuleCall() { return cOrParserRuleCall; } } public class OrElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Or"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cAndParserRuleCall_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 cVerticalLineVerticalLineKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightAndParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //Or returns Expression: // And ({Or.left=current} "||" right=And)*; @Override public ParserRule getRule() { return rule; } //And ({Or.left=current} "||" right=And)* public Group getGroup() { return cGroup; } //And public RuleCall getAndParserRuleCall_0() { return cAndParserRuleCall_0; } //({Or.left=current} "||" right=And)* public Group getGroup_1() { return cGroup_1; } //{Or.left=current} public Action getOrLeftAction_1_0() { return cOrLeftAction_1_0; } //"||" public Keyword getVerticalLineVerticalLineKeyword_1_1() { return cVerticalLineVerticalLineKeyword_1_1; } //right=And public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //And public RuleCall getRightAndParserRuleCall_1_2_0() { return cRightAndParserRuleCall_1_2_0; } } public class AndElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "And"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cEqualityParserRuleCall_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 cAmpersandAmpersandKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightEqualityParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //And returns Expression: // Equality ({And.left=current} "&&" right=Equality)*; @Override public ParserRule getRule() { return rule; } //Equality ({And.left=current} "&&" right=Equality)* public Group getGroup() { return cGroup; } //Equality public RuleCall getEqualityParserRuleCall_0() { return cEqualityParserRuleCall_0; } //({And.left=current} "&&" right=Equality)* public Group getGroup_1() { return cGroup_1; } //{And.left=current} public Action getAndLeftAction_1_0() { return cAndLeftAction_1_0; } //"&&" public Keyword getAmpersandAmpersandKeyword_1_1() { return cAmpersandAmpersandKeyword_1_1; } //right=Equality public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Equality public RuleCall getRightEqualityParserRuleCall_1_2_0() { return cRightEqualityParserRuleCall_1_2_0; } } public class EqualityElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Equality"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cComparisonParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cEqualityLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final Alternatives cOpAlternatives_1_1_0 = (Alternatives)cOpAssignment_1_1.eContents().get(0); private final Keyword cOpEqualsSignEqualsSignKeyword_1_1_0_0 = (Keyword)cOpAlternatives_1_1_0.eContents().get(0); private final Keyword cOpExclamationMarkEqualsSignKeyword_1_1_0_1 = (Keyword)cOpAlternatives_1_1_0.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightComparisonParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //Equality returns Expression: // Comparison ({Equality.left=current} op=("==" | "!=") right=Comparison)*; @Override public ParserRule getRule() { return rule; } //Comparison ({Equality.left=current} op=("==" | "!=") right=Comparison)* public Group getGroup() { return cGroup; } //Comparison public RuleCall getComparisonParserRuleCall_0() { return cComparisonParserRuleCall_0; } //({Equality.left=current} op=("==" | "!=") right=Comparison)* public Group getGroup_1() { return cGroup_1; } //{Equality.left=current} public Action getEqualityLeftAction_1_0() { return cEqualityLeftAction_1_0; } //op=("==" | "!=") public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } //"==" | "!=" public Alternatives getOpAlternatives_1_1_0() { return cOpAlternatives_1_1_0; } //"==" public Keyword getOpEqualsSignEqualsSignKeyword_1_1_0_0() { return cOpEqualsSignEqualsSignKeyword_1_1_0_0; } //"!=" public Keyword getOpExclamationMarkEqualsSignKeyword_1_1_0_1() { return cOpExclamationMarkEqualsSignKeyword_1_1_0_1; } //right=Comparison public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Comparison public RuleCall getRightComparisonParserRuleCall_1_2_0() { return cRightComparisonParserRuleCall_1_2_0; } } public class ComparisonElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comparison"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cPlusOrMinusParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final Alternatives cOpAlternatives_1_1_0 = (Alternatives)cOpAssignment_1_1.eContents().get(0); private final Keyword cOpGreaterThanSignEqualsSignKeyword_1_1_0_0 = (Keyword)cOpAlternatives_1_1_0.eContents().get(0); private final Keyword cOpLessThanSignEqualsSignKeyword_1_1_0_1 = (Keyword)cOpAlternatives_1_1_0.eContents().get(1); private final Keyword cOpGreaterThanSignKeyword_1_1_0_2 = (Keyword)cOpAlternatives_1_1_0.eContents().get(2); private final Keyword cOpLessThanSignKeyword_1_1_0_3 = (Keyword)cOpAlternatives_1_1_0.eContents().get(3); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightPlusOrMinusParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //Comparison returns Expression: // PlusOrMinus ({Comparison.left=current} op=(">=" | "<=" | ">" | "<") right=PlusOrMinus)*; @Override public ParserRule getRule() { return rule; } //PlusOrMinus ({Comparison.left=current} op=(">=" | "<=" | ">" | "<") right=PlusOrMinus)* public Group getGroup() { return cGroup; } //PlusOrMinus public RuleCall getPlusOrMinusParserRuleCall_0() { return cPlusOrMinusParserRuleCall_0; } //({Comparison.left=current} op=(">=" | "<=" | ">" | "<") right=PlusOrMinus)* public Group getGroup_1() { return cGroup_1; } //{Comparison.left=current} public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } //op=(">=" | "<=" | ">" | "<") public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } //">=" | "<=" | ">" | "<" public Alternatives getOpAlternatives_1_1_0() { return cOpAlternatives_1_1_0; } //">=" public Keyword getOpGreaterThanSignEqualsSignKeyword_1_1_0_0() { return cOpGreaterThanSignEqualsSignKeyword_1_1_0_0; } //"<=" public Keyword getOpLessThanSignEqualsSignKeyword_1_1_0_1() { return cOpLessThanSignEqualsSignKeyword_1_1_0_1; } //">" public Keyword getOpGreaterThanSignKeyword_1_1_0_2() { return cOpGreaterThanSignKeyword_1_1_0_2; } //"<" public Keyword getOpLessThanSignKeyword_1_1_0_3() { return cOpLessThanSignKeyword_1_1_0_3; } //right=PlusOrMinus public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //PlusOrMinus public RuleCall getRightPlusOrMinusParserRuleCall_1_2_0() { return cRightPlusOrMinusParserRuleCall_1_2_0; } } public class PlusOrMinusElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PlusOrMinus"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cMulOrDivParserRuleCall_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 cPlusLeftAction_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 cRightMulOrDivParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0); //PlusOrMinus returns Expression: // MulOrDiv (({Plus.left=current} "+" | {Minus.left=current} "-") right=MulOrDiv)*; @Override public ParserRule getRule() { return rule; } //MulOrDiv (({Plus.left=current} "+" | {Minus.left=current} "-") right=MulOrDiv)* public Group getGroup() { return cGroup; } //MulOrDiv public RuleCall getMulOrDivParserRuleCall_0() { return cMulOrDivParserRuleCall_0; } //(({Plus.left=current} "+" | {Minus.left=current} "-") right=MulOrDiv)* public Group getGroup_1() { return cGroup_1; } //{Plus.left=current} "+" | {Minus.left=current} "-" public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; } //{Plus.left=current} "+" public Group getGroup_1_0_0() { return cGroup_1_0_0; } //{Plus.left=current} public Action getPlusLeftAction_1_0_0_0() { return cPlusLeftAction_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=MulOrDiv public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; } //MulOrDiv public RuleCall getRightMulOrDivParserRuleCall_1_1_0() { return cRightMulOrDivParserRuleCall_1_1_0; } } public class MulOrDivElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MulOrDiv"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cPrimaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cMulOrDivLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final Alternatives cOpAlternatives_1_1_0 = (Alternatives)cOpAssignment_1_1.eContents().get(0); private final Keyword cOpAsteriskKeyword_1_1_0_0 = (Keyword)cOpAlternatives_1_1_0.eContents().get(0); private final Keyword cOpSolidusKeyword_1_1_0_1 = (Keyword)cOpAlternatives_1_1_0.eContents().get(1); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightPrimaryParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //MulOrDiv returns Expression: // Primary ({MulOrDiv.left=current} op=("*" | "/") right=Primary)*; @Override public ParserRule getRule() { return rule; } //Primary ({MulOrDiv.left=current} op=("*" | "/") right=Primary)* public Group getGroup() { return cGroup; } //Primary public RuleCall getPrimaryParserRuleCall_0() { return cPrimaryParserRuleCall_0; } //({MulOrDiv.left=current} op=("*" | "/") right=Primary)* public Group getGroup_1() { return cGroup_1; } //{MulOrDiv.left=current} public Action getMulOrDivLeftAction_1_0() { return cMulOrDivLeftAction_1_0; } //op=("*" | "/") public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } //"*" | "/" public Alternatives getOpAlternatives_1_1_0() { return cOpAlternatives_1_1_0; } //"*" public Keyword getOpAsteriskKeyword_1_1_0_0() { return cOpAsteriskKeyword_1_1_0_0; } //"/" public Keyword getOpSolidusKeyword_1_1_0_1() { return cOpSolidusKeyword_1_1_0_1; } //right=Primary public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } //Primary public RuleCall getRightPrimaryParserRuleCall_1_2_0() { return cRightPrimaryParserRuleCall_1_2_0; } } public class PrimaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Primary"); 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 cExpressionParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); 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 cExpressionAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cExpressionPrimaryParserRuleCall_1_2_0 = (RuleCall)cExpressionAssignment_1_2.eContents().get(0); private final RuleCall cAtomicParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Primary returns Expression: // "(" Expression ")" | {Not} "!" expression=Primary | Atomic; @Override public ParserRule getRule() { return rule; } //"(" Expression ")" | {Not} "!" expression=Primary | Atomic public Alternatives getAlternatives() { return cAlternatives; } //"(" Expression ")" public Group getGroup_0() { return cGroup_0; } //"(" public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; } //Expression public RuleCall getExpressionParserRuleCall_0_1() { return cExpressionParserRuleCall_0_1; } //")" public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; } //{Not} "!" expression=Primary 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; } //expression=Primary public Assignment getExpressionAssignment_1_2() { return cExpressionAssignment_1_2; } //Primary public RuleCall getExpressionPrimaryParserRuleCall_1_2_0() { return cExpressionPrimaryParserRuleCall_1_2_0; } //Atomic public RuleCall getAtomicParserRuleCall_2() { return cAtomicParserRuleCall_2; } } public class AtomicElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Atomic"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Action cIntConstantAction_0_0 = (Action)cGroup_0.eContents().get(0); private final Assignment cValueAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cValueINTTerminalRuleCall_0_1_0 = (RuleCall)cValueAssignment_0_1.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cStringConstantAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cValueAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cValueSTRINGTerminalRuleCall_1_1_0 = (RuleCall)cValueAssignment_1_1.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Action cBoolConstantAction_2_0 = (Action)cGroup_2.eContents().get(0); private final Assignment cValueAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final Alternatives cValueAlternatives_2_1_0 = (Alternatives)cValueAssignment_2_1.eContents().get(0); private final Keyword cValueTrueKeyword_2_1_0_0 = (Keyword)cValueAlternatives_2_1_0.eContents().get(0); private final Keyword cValueFalseKeyword_2_1_0_1 = (Keyword)cValueAlternatives_2_1_0.eContents().get(1); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Action cVariableRefAction_3_0 = (Action)cGroup_3.eContents().get(0); private final Assignment cVariableAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final CrossReference cVariableVariableCrossReference_3_1_0 = (CrossReference)cVariableAssignment_3_1.eContents().get(0); private final RuleCall cVariableVariableIDTerminalRuleCall_3_1_0_1 = (RuleCall)cVariableVariableCrossReference_3_1_0.eContents().get(1); //Atomic returns Expression: // {IntConstant} value=INT | {StringConstant} value=STRING | {BoolConstant} value=("true" | "false") | {VariableRef} // variable=[Variable]; @Override public ParserRule getRule() { return rule; } //{IntConstant} value=INT | {StringConstant} value=STRING | {BoolConstant} value=("true" | "false") | {VariableRef} //variable=[Variable] public Alternatives getAlternatives() { return cAlternatives; } //{IntConstant} value=INT public Group getGroup_0() { return cGroup_0; } //{IntConstant} public Action getIntConstantAction_0_0() { return cIntConstantAction_0_0; } //value=INT public Assignment getValueAssignment_0_1() { return cValueAssignment_0_1; } //INT public RuleCall getValueINTTerminalRuleCall_0_1_0() { return cValueINTTerminalRuleCall_0_1_0; } //{StringConstant} value=STRING public Group getGroup_1() { return cGroup_1; } //{StringConstant} public Action getStringConstantAction_1_0() { return cStringConstantAction_1_0; } //value=STRING public Assignment getValueAssignment_1_1() { return cValueAssignment_1_1; } //STRING public RuleCall getValueSTRINGTerminalRuleCall_1_1_0() { return cValueSTRINGTerminalRuleCall_1_1_0; } //{BoolConstant} value=("true" | "false") public Group getGroup_2() { return cGroup_2; } //{BoolConstant} public Action getBoolConstantAction_2_0() { return cBoolConstantAction_2_0; } //value=("true" | "false") public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; } //"true" | "false" public Alternatives getValueAlternatives_2_1_0() { return cValueAlternatives_2_1_0; } //"true" public Keyword getValueTrueKeyword_2_1_0_0() { return cValueTrueKeyword_2_1_0_0; } //"false" public Keyword getValueFalseKeyword_2_1_0_1() { return cValueFalseKeyword_2_1_0_1; } //{VariableRef} variable=[Variable] public Group getGroup_3() { return cGroup_3; } //{VariableRef} public Action getVariableRefAction_3_0() { return cVariableRefAction_3_0; } //variable=[Variable] public Assignment getVariableAssignment_3_1() { return cVariableAssignment_3_1; } //[Variable] public CrossReference getVariableVariableCrossReference_3_1_0() { return cVariableVariableCrossReference_3_1_0; } //ID public RuleCall getVariableVariableIDTerminalRuleCall_3_1_0_1() { return cVariableVariableIDTerminalRuleCall_3_1_0_1; } } private final ExpressionsModelElements pExpressionsModel; private final AbstractElementElements pAbstractElement; private final VariableElements pVariable; private final ExpressionElements pExpression; private final OrElements pOr; private final AndElements pAnd; private final EqualityElements pEquality; private final ComparisonElements pComparison; private final PlusOrMinusElements pPlusOrMinus; private final MulOrDivElements pMulOrDiv; private final PrimaryElements pPrimary; private final AtomicElements pAtomic; private final Grammar grammar; private final TerminalsGrammarAccess gaTerminals; @Inject public ExpressionsGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; this.pExpressionsModel = new ExpressionsModelElements(); this.pAbstractElement = new AbstractElementElements(); this.pVariable = new VariableElements(); this.pExpression = new ExpressionElements(); this.pOr = new OrElements(); this.pAnd = new AndElements(); this.pEquality = new EqualityElements(); this.pComparison = new ComparisonElements(); this.pPlusOrMinus = new PlusOrMinusElements(); this.pMulOrDiv = new MulOrDivElements(); this.pPrimary = new PrimaryElements(); this.pAtomic = new AtomicElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("org.example.expressions.Expressions".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } @Override public Grammar getGrammar() { return grammar; } public TerminalsGrammarAccess getTerminalsGrammarAccess() { return gaTerminals; } //ExpressionsModel: // elements+=AbstractElement*; public ExpressionsModelElements getExpressionsModelAccess() { return pExpressionsModel; } public ParserRule getExpressionsModelRule() { return getExpressionsModelAccess().getRule(); } //AbstractElement: // Variable | Expression; public AbstractElementElements getAbstractElementAccess() { return pAbstractElement; } public ParserRule getAbstractElementRule() { return getAbstractElementAccess().getRule(); } //Variable: // name=ID "=" expression=Expression; public VariableElements getVariableAccess() { return pVariable; } public ParserRule getVariableRule() { return getVariableAccess().getRule(); } //Expression: // Or; public ExpressionElements getExpressionAccess() { return pExpression; } public ParserRule getExpressionRule() { return getExpressionAccess().getRule(); } //Or returns Expression: // And ({Or.left=current} "||" right=And)*; public OrElements getOrAccess() { return pOr; } public ParserRule getOrRule() { return getOrAccess().getRule(); } //And returns Expression: // Equality ({And.left=current} "&&" right=Equality)*; public AndElements getAndAccess() { return pAnd; } public ParserRule getAndRule() { return getAndAccess().getRule(); } //Equality returns Expression: // Comparison ({Equality.left=current} op=("==" | "!=") right=Comparison)*; public EqualityElements getEqualityAccess() { return pEquality; } public ParserRule getEqualityRule() { return getEqualityAccess().getRule(); } //Comparison returns Expression: // PlusOrMinus ({Comparison.left=current} op=(">=" | "<=" | ">" | "<") right=PlusOrMinus)*; public ComparisonElements getComparisonAccess() { return pComparison; } public ParserRule getComparisonRule() { return getComparisonAccess().getRule(); } //PlusOrMinus returns Expression: // MulOrDiv (({Plus.left=current} "+" | {Minus.left=current} "-") right=MulOrDiv)*; public PlusOrMinusElements getPlusOrMinusAccess() { return pPlusOrMinus; } public ParserRule getPlusOrMinusRule() { return getPlusOrMinusAccess().getRule(); } //MulOrDiv returns Expression: // Primary ({MulOrDiv.left=current} op=("*" | "/") right=Primary)*; public MulOrDivElements getMulOrDivAccess() { return pMulOrDiv; } public ParserRule getMulOrDivRule() { return getMulOrDivAccess().getRule(); } //Primary returns Expression: // "(" Expression ")" | {Not} "!" expression=Primary | Atomic; public PrimaryElements getPrimaryAccess() { return pPrimary; } public ParserRule getPrimaryRule() { return getPrimaryAccess().getRule(); } //Atomic returns Expression: // {IntConstant} value=INT | {StringConstant} value=STRING | {BoolConstant} value=("true" | "false") | {VariableRef} // variable=[Variable]; public AtomicElements getAtomicAccess() { return pAtomic; } public ParserRule getAtomicRule() { return getAtomicAccess().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(); } }