/* * generated by Xtext 2.9.2 */ package fr.inria.diverse.services; import com.google.inject.Inject; import com.google.inject.Singleton; import java.util.List; import org.eclipse.xtext.Action; import org.eclipse.xtext.Alternatives; import org.eclipse.xtext.Assignment; import org.eclipse.xtext.CrossReference; import org.eclipse.xtext.Grammar; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.Group; import org.eclipse.xtext.Keyword; import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; import org.eclipse.xtext.service.GrammarProvider; @Singleton public class MiniFSMGrammarAccess extends AbstractGrammarElementFinder { public class FSMElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.FSM"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFSMKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cStatesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cStatesStateParserRuleCall_2_0_0 = (RuleCall)cStatesAssignment_2_0.eContents().get(0); private final Assignment cStatesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cStatesStateParserRuleCall_2_1_0 = (RuleCall)cStatesAssignment_2_1.eContents().get(0); private final Keyword cInitialStateKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cInitialStateAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cInitialStateStateCrossReference_4_0 = (CrossReference)cInitialStateAssignment_4.eContents().get(0); private final RuleCall cInitialStateStateEStringParserRuleCall_4_0_1 = (RuleCall)cInitialStateStateCrossReference_4_0.eContents().get(1); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Assignment cTransitionsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); private final RuleCall cTransitionsTransitionParserRuleCall_5_0_0 = (RuleCall)cTransitionsAssignment_5_0.eContents().get(0); private final Assignment cTransitionsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cTransitionsTransitionParserRuleCall_5_1_0 = (RuleCall)cTransitionsAssignment_5_1.eContents().get(0); private final Assignment cContextAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cContextContextParserRuleCall_6_0 = (RuleCall)cContextAssignment_6.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); //FSM: // 'FSM' // '{' (states+=State states+=State*)? // 'initialState' initialState=[State|EString] (transitions+=Transition transitions+=Transition*)? // context=Context? // '}'; @Override public ParserRule getRule() { return rule; } //'FSM' '{' (states+=State states+=State*)? 'initialState' initialState=[State|EString] (transitions+=Transition //transitions+=Transition*)? context=Context? '}' public Group getGroup() { return cGroup; } //'FSM' public Keyword getFSMKeyword_0() { return cFSMKeyword_0; } //'{' public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } //(states+=State states+=State*)? public Group getGroup_2() { return cGroup_2; } //states+=State public Assignment getStatesAssignment_2_0() { return cStatesAssignment_2_0; } //State public RuleCall getStatesStateParserRuleCall_2_0_0() { return cStatesStateParserRuleCall_2_0_0; } //states+=State* public Assignment getStatesAssignment_2_1() { return cStatesAssignment_2_1; } //State public RuleCall getStatesStateParserRuleCall_2_1_0() { return cStatesStateParserRuleCall_2_1_0; } //'initialState' public Keyword getInitialStateKeyword_3() { return cInitialStateKeyword_3; } //initialState=[State|EString] public Assignment getInitialStateAssignment_4() { return cInitialStateAssignment_4; } //[State|EString] public CrossReference getInitialStateStateCrossReference_4_0() { return cInitialStateStateCrossReference_4_0; } //EString public RuleCall getInitialStateStateEStringParserRuleCall_4_0_1() { return cInitialStateStateEStringParserRuleCall_4_0_1; } //(transitions+=Transition transitions+=Transition*)? public Group getGroup_5() { return cGroup_5; } //transitions+=Transition public Assignment getTransitionsAssignment_5_0() { return cTransitionsAssignment_5_0; } //Transition public RuleCall getTransitionsTransitionParserRuleCall_5_0_0() { return cTransitionsTransitionParserRuleCall_5_0_0; } //transitions+=Transition* public Assignment getTransitionsAssignment_5_1() { return cTransitionsAssignment_5_1; } //Transition public RuleCall getTransitionsTransitionParserRuleCall_5_1_0() { return cTransitionsTransitionParserRuleCall_5_1_0; } //context=Context? public Assignment getContextAssignment_6() { return cContextAssignment_6; } //Context public RuleCall getContextContextParserRuleCall_6_0() { return cContextContextParserRuleCall_6_0; } //'}' public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } } public class StateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.State"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cState_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cFinalStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //State: // State_Impl | FinalState; @Override public ParserRule getRule() { return rule; } //State_Impl | FinalState public Alternatives getAlternatives() { return cAlternatives; } //State_Impl public RuleCall getState_ImplParserRuleCall_0() { return cState_ImplParserRuleCall_0; } //FinalState public RuleCall getFinalStateParserRuleCall_1() { return cFinalStateParserRuleCall_1; } } public class VariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Variable"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cIntegerVarParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cBooleanVarParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Variable: // IntegerVar | BooleanVar; @Override public ParserRule getRule() { return rule; } //IntegerVar | BooleanVar public Alternatives getAlternatives() { return cAlternatives; } //IntegerVar public RuleCall getIntegerVarParserRuleCall_0() { return cIntegerVarParserRuleCall_0; } //BooleanVar public RuleCall getBooleanVarParserRuleCall_1() { return cBooleanVarParserRuleCall_1; } } public class StatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Statement"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBooleanAssignmentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIntAssignmentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cPrintVarParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cPrintStrParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); //Statement: // BooleanAssignment | IntAssignment | PrintVar | PrintStr; @Override public ParserRule getRule() { return rule; } //BooleanAssignment | IntAssignment | PrintVar | PrintStr public Alternatives getAlternatives() { return cAlternatives; } //BooleanAssignment public RuleCall getBooleanAssignmentParserRuleCall_0() { return cBooleanAssignmentParserRuleCall_0; } //IntAssignment public RuleCall getIntAssignmentParserRuleCall_1() { return cIntAssignmentParserRuleCall_1; } //PrintVar public RuleCall getPrintVarParserRuleCall_2() { return cPrintVarParserRuleCall_2; } //PrintStr public RuleCall getPrintStrParserRuleCall_3() { return cPrintStrParserRuleCall_3; } } public class State_ImplElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.State_Impl"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cStateAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cStateKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cBlockAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cBlockBlockParserRuleCall_3_0 = (RuleCall)cBlockAssignment_3.eContents().get(0); //State_Impl State: // {State} // 'State' name=EString // block=Block? @Override public ParserRule getRule() { return rule; } //{State} 'State' name=EString block=Block? public Group getGroup() { return cGroup; } //{State} public Action getStateAction_0() { return cStateAction_0; } //'State' public Keyword getStateKeyword_1() { return cStateKeyword_1; } //name=EString public Assignment getNameAssignment_2() { return cNameAssignment_2; } //EString public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } //block=Block? public Assignment getBlockAssignment_3() { return cBlockAssignment_3; } //Block public RuleCall getBlockBlockParserRuleCall_3_0() { return cBlockBlockParserRuleCall_3_0; } } public class TransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Transition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cInputAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cInputStateCrossReference_0_0 = (CrossReference)cInputAssignment_0.eContents().get(0); private final RuleCall cInputStateEStringParserRuleCall_0_0_1 = (RuleCall)cInputStateCrossReference_0_0.eContents().get(1); private final Keyword cHyphenMinusGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cOutputAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cOutputStateCrossReference_2_0 = (CrossReference)cOutputAssignment_2.eContents().get(0); private final RuleCall cOutputStateEStringParserRuleCall_2_0_1 = (RuleCall)cOutputStateCrossReference_2_0.eContents().get(1); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cExpressionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cExpressionBooleanExpressionParserRuleCall_3_1_0 = (RuleCall)cExpressionAssignment_3_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); //Transition: // input=[State|EString] '->' output=[State|EString] ('[' expression=BooleanExpression ']')?; @Override public ParserRule getRule() { return rule; } //input=[State|EString] '->' output=[State|EString] ('[' expression=BooleanExpression ']')? public Group getGroup() { return cGroup; } //input=[State|EString] public Assignment getInputAssignment_0() { return cInputAssignment_0; } //[State|EString] public CrossReference getInputStateCrossReference_0_0() { return cInputStateCrossReference_0_0; } //EString public RuleCall getInputStateEStringParserRuleCall_0_0_1() { return cInputStateEStringParserRuleCall_0_0_1; } //'->' public Keyword getHyphenMinusGreaterThanSignKeyword_1() { return cHyphenMinusGreaterThanSignKeyword_1; } //output=[State|EString] public Assignment getOutputAssignment_2() { return cOutputAssignment_2; } //[State|EString] public CrossReference getOutputStateCrossReference_2_0() { return cOutputStateCrossReference_2_0; } //EString public RuleCall getOutputStateEStringParserRuleCall_2_0_1() { return cOutputStateEStringParserRuleCall_2_0_1; } //('[' expression=BooleanExpression ']')? public Group getGroup_3() { return cGroup_3; } //'[' public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; } //expression=BooleanExpression public Assignment getExpressionAssignment_3_1() { return cExpressionAssignment_3_1; } //BooleanExpression public RuleCall getExpressionBooleanExpressionParserRuleCall_3_1_0() { return cExpressionBooleanExpressionParserRuleCall_3_1_0; } //']' public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; } } public class ContextElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Context"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cContextAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cContextKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cVariablesAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cVariablesVariableParserRuleCall_3_0_0 = (RuleCall)cVariablesAssignment_3_0.eContents().get(0); private final Assignment cVariablesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cVariablesVariableParserRuleCall_3_1_0 = (RuleCall)cVariablesAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //Context: // {Context} // 'Context' // '{' (variables+=Variable variables+=Variable*)? // '}'; @Override public ParserRule getRule() { return rule; } //{Context} 'Context' '{' (variables+=Variable variables+=Variable*)? '}' public Group getGroup() { return cGroup; } //{Context} public Action getContextAction_0() { return cContextAction_0; } //'Context' public Keyword getContextKeyword_1() { return cContextKeyword_1; } //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //(variables+=Variable variables+=Variable*)? public Group getGroup_3() { return cGroup_3; } //variables+=Variable public Assignment getVariablesAssignment_3_0() { return cVariablesAssignment_3_0; } //Variable public RuleCall getVariablesVariableParserRuleCall_3_0_0() { return cVariablesVariableParserRuleCall_3_0_0; } //variables+=Variable* public Assignment getVariablesAssignment_3_1() { return cVariablesAssignment_3_1; } //Variable public RuleCall getVariablesVariableParserRuleCall_3_1_0() { return cVariablesVariableParserRuleCall_3_1_0; } //'}' public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class BlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Block"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cBlockAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cStatementAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cStatementStatementParserRuleCall_2_0_0 = (RuleCall)cStatementAssignment_2_0.eContents().get(0); private final Assignment cStatementAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cStatementStatementParserRuleCall_2_1_0 = (RuleCall)cStatementAssignment_2_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); //Block: // {Block} // '{' (statement+=Statement statement+=Statement*)? // '}'; @Override public ParserRule getRule() { return rule; } //{Block} '{' (statement+=Statement statement+=Statement*)? '}' public Group getGroup() { return cGroup; } //{Block} public Action getBlockAction_0() { return cBlockAction_0; } //'{' public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } //(statement+=Statement statement+=Statement*)? public Group getGroup_2() { return cGroup_2; } //statement+=Statement public Assignment getStatementAssignment_2_0() { return cStatementAssignment_2_0; } //Statement public RuleCall getStatementStatementParserRuleCall_2_0_0() { return cStatementStatementParserRuleCall_2_0_0; } //statement+=Statement* public Assignment getStatementAssignment_2_1() { return cStatementAssignment_2_1; } //Statement public RuleCall getStatementStatementParserRuleCall_2_1_0() { return cStatementStatementParserRuleCall_2_1_0; } //'}' public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class FinalStateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.FinalState"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cFinalStateAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFinalStateKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cBlockAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cBlockBlockParserRuleCall_3_0 = (RuleCall)cBlockAssignment_3.eContents().get(0); //FinalState: // {FinalState} // 'FinalState' name=EString // block=Block?; @Override public ParserRule getRule() { return rule; } //{FinalState} 'FinalState' name=EString block=Block? public Group getGroup() { return cGroup; } //{FinalState} public Action getFinalStateAction_0() { return cFinalStateAction_0; } //'FinalState' public Keyword getFinalStateKeyword_1() { return cFinalStateKeyword_1; } //name=EString public Assignment getNameAssignment_2() { return cNameAssignment_2; } //EString public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } //block=Block? public Assignment getBlockAssignment_3() { return cBlockAssignment_3; } //Block public RuleCall getBlockBlockParserRuleCall_3_0() { return cBlockBlockParserRuleCall_3_0; } } public class BooleanAssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.BooleanAssignment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAssignBoolKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cVariableAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cVariableBooleanVariableRefParserRuleCall_2_0 = (RuleCall)cVariableAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cValueAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cValueBooleanExpressionParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //BooleanAssignment: // 'AssignBool' '(' variable=BooleanVariableRef ',' value=BooleanExpression ')'; @Override public ParserRule getRule() { return rule; } //'AssignBool' '(' variable=BooleanVariableRef ',' value=BooleanExpression ')' public Group getGroup() { return cGroup; } //'AssignBool' public Keyword getAssignBoolKeyword_0() { return cAssignBoolKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //variable=BooleanVariableRef public Assignment getVariableAssignment_2() { return cVariableAssignment_2; } //BooleanVariableRef public RuleCall getVariableBooleanVariableRefParserRuleCall_2_0() { return cVariableBooleanVariableRefParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //value=BooleanExpression public Assignment getValueAssignment_4() { return cValueAssignment_4; } //BooleanExpression public RuleCall getValueBooleanExpressionParserRuleCall_4_0() { return cValueBooleanExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class IntAssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.IntAssignment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAssignIntKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cVariableAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cVariableIntVariableRefParserRuleCall_2_0 = (RuleCall)cVariableAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cValueAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cValueIntExpressionParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //IntAssignment: // 'AssignInt' '(' variable=IntVariableRef ',' value=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'AssignInt' '(' variable=IntVariableRef ',' value=IntExpression ')' public Group getGroup() { return cGroup; } //'AssignInt' public Keyword getAssignIntKeyword_0() { return cAssignIntKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //variable=IntVariableRef public Assignment getVariableAssignment_2() { return cVariableAssignment_2; } //IntVariableRef public RuleCall getVariableIntVariableRefParserRuleCall_2_0() { return cVariableIntVariableRefParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //value=IntExpression public Assignment getValueAssignment_4() { return cValueAssignment_4; } //IntExpression public RuleCall getValueIntExpressionParserRuleCall_4_0() { return cValueIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class PrintVarElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.PrintVar"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPrintVarKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueEStringParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); //PrintVar: // 'PrintVar' '(' value=EString ')'; @Override public ParserRule getRule() { return rule; } //'PrintVar' '(' value=EString ')' public Group getGroup() { return cGroup; } //'PrintVar' public Keyword getPrintVarKeyword_0() { return cPrintVarKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //value=EString public Assignment getValueAssignment_2() { return cValueAssignment_2; } //EString public RuleCall getValueEStringParserRuleCall_2_0() { return cValueEStringParserRuleCall_2_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } } public class PrintStrElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.PrintStr"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPrintStrKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cValueEStringParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); //PrintStr: // 'PrintStr' '(' value=EString ')'; @Override public ParserRule getRule() { return rule; } //'PrintStr' '(' value=EString ')' public Group getGroup() { return cGroup; } //'PrintStr' public Keyword getPrintStrKeyword_0() { return cPrintStrKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //value=EString public Assignment getValueAssignment_2() { return cValueAssignment_2; } //EString public RuleCall getValueEStringParserRuleCall_2_0() { return cValueEStringParserRuleCall_2_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } } public class BooleanExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.BooleanExpression"); private final RuleCall cAndOrParserRuleCall = (RuleCall)rule.eContents().get(1); /// * // * Logical operators // * / BooleanExpression: // AndOr; @Override public ParserRule getRule() { return rule; } //AndOr public RuleCall getAndOrParserRuleCall() { return cAndOrParserRuleCall; } } public class AndOrElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.AndOr"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cTermBoolParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cOrLeftAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cORKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightAndOrParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cAndLeftAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cANDKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightAndOrParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); //AndOr BooleanExpression: // TermBool ({Or.left=current} 'OR' right=AndOr | {And.left=current} 'AND' right=AndOr)? @Override public ParserRule getRule() { return rule; } //TermBool ({Or.left=current} 'OR' right=AndOr | {And.left=current} 'AND' right=AndOr)? public Group getGroup() { return cGroup; } //TermBool public RuleCall getTermBoolParserRuleCall_0() { return cTermBoolParserRuleCall_0; } //({Or.left=current} 'OR' right=AndOr | {And.left=current} 'AND' right=AndOr)? public Alternatives getAlternatives_1() { return cAlternatives_1; } //{Or.left=current} 'OR' right=AndOr public Group getGroup_1_0() { return cGroup_1_0; } //{Or.left=current} public Action getOrLeftAction_1_0_0() { return cOrLeftAction_1_0_0; } //'OR' public Keyword getORKeyword_1_0_1() { return cORKeyword_1_0_1; } //right=AndOr public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //AndOr public RuleCall getRightAndOrParserRuleCall_1_0_2_0() { return cRightAndOrParserRuleCall_1_0_2_0; } //{And.left=current} 'AND' right=AndOr public Group getGroup_1_1() { return cGroup_1_1; } //{And.left=current} public Action getAndLeftAction_1_1_0() { return cAndLeftAction_1_1_0; } //'AND' public Keyword getANDKeyword_1_1_1() { return cANDKeyword_1_1_1; } //right=AndOr public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //AndOr public RuleCall getRightAndOrParserRuleCall_1_1_2_0() { return cRightAndOrParserRuleCall_1_1_2_0; } } public class TermBoolElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.TermBool"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cBooleanParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cBooleanVariableRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cIntComparisonParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Action cNotAction_3_0 = (Action)cGroup_3.eContents().get(0); private final Keyword cExclamationMarkKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); private final Assignment cExpressionAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final RuleCall cExpressionTermBoolParserRuleCall_3_2_0 = (RuleCall)cExpressionAssignment_3_2.eContents().get(0); //TermBool BooleanExpression: // Boolean | BooleanVariableRef | IntComparison | {Not} '!' expression=TermBool @Override public ParserRule getRule() { return rule; } //Boolean | BooleanVariableRef | IntComparison | {Not} '!' expression=TermBool public Alternatives getAlternatives() { return cAlternatives; } //Boolean public RuleCall getBooleanParserRuleCall_0() { return cBooleanParserRuleCall_0; } //BooleanVariableRef public RuleCall getBooleanVariableRefParserRuleCall_1() { return cBooleanVariableRefParserRuleCall_1; } //IntComparison public RuleCall getIntComparisonParserRuleCall_2() { return cIntComparisonParserRuleCall_2; } //{Not} '!' expression=TermBool public Group getGroup_3() { return cGroup_3; } //{Not} public Action getNotAction_3_0() { return cNotAction_3_0; } //'!' public Keyword getExclamationMarkKeyword_3_1() { return cExclamationMarkKeyword_3_1; } //expression=TermBool public Assignment getExpressionAssignment_3_2() { return cExpressionAssignment_3_2; } //TermBool public RuleCall getExpressionTermBoolParserRuleCall_3_2_0() { return cExpressionTermBoolParserRuleCall_3_2_0; } } public class NotElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Not"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cExclamationMarkKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cExpressionAndOrParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0); //Not: // '!' expression=AndOr; @Override public ParserRule getRule() { return rule; } //'!' expression=AndOr public Group getGroup() { return cGroup; } //'!' public Keyword getExclamationMarkKeyword_0() { return cExclamationMarkKeyword_0; } //expression=AndOr public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; } //AndOr public RuleCall getExpressionAndOrParserRuleCall_1_0() { return cExpressionAndOrParserRuleCall_1_0; } } public class BooleanVariableRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.BooleanVariableRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cBooleanVariableRefAction_0 = (Action)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); //BooleanVariableRef: // {BooleanVariableRef} name=EString; @Override public ParserRule getRule() { return rule; } //{BooleanVariableRef} name=EString public Group getGroup() { return cGroup; } //{BooleanVariableRef} public Action getBooleanVariableRefAction_0() { return cBooleanVariableRefAction_0; } //name=EString public Assignment getNameAssignment_1() { return cNameAssignment_1; } //EString public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } } public class BooleanElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Boolean"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cValueAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cValueValueKeyword_0_0 = (Keyword)cValueAssignment_0.eContents().get(0); private final Keyword cBooleanKeyword_1 = (Keyword)cGroup.eContents().get(1); //Boolean: // value?='value' // 'Boolean'; @Override public ParserRule getRule() { return rule; } //value?='value' 'Boolean' public Group getGroup() { return cGroup; } //value?='value' public Assignment getValueAssignment_0() { return cValueAssignment_0; } //'value' public Keyword getValueValueKeyword_0_0() { return cValueValueKeyword_0_0; } //'Boolean' public Keyword getBooleanKeyword_1() { return cBooleanKeyword_1; } } public class EBooleanElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.EBoolean"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1); //EBoolean ecore::EBoolean: // 'true' | 'false' @Override public ParserRule getRule() { return rule; } //'true' | 'false' public Alternatives getAlternatives() { return cAlternatives; } //'true' public Keyword getTrueKeyword_0() { return cTrueKeyword_0; } //'false' public Keyword getFalseKeyword_1() { return cFalseKeyword_1; } } public class IntComparisonElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.IntComparison"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cEqualParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cGreaterParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cGreaterOrEqualParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cLessParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cLessOrEqualParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); /// * // * Integer comparators // * / IntComparison: // Equal | Greater | GreaterOrEqual | Less | LessOrEqual; @Override public ParserRule getRule() { return rule; } //Equal | Greater | GreaterOrEqual | Less | LessOrEqual public Alternatives getAlternatives() { return cAlternatives; } //Equal public RuleCall getEqualParserRuleCall_0() { return cEqualParserRuleCall_0; } //Greater public RuleCall getGreaterParserRuleCall_1() { return cGreaterParserRuleCall_1; } //GreaterOrEqual public RuleCall getGreaterOrEqualParserRuleCall_2() { return cGreaterOrEqualParserRuleCall_2; } //Less public RuleCall getLessParserRuleCall_3() { return cLessParserRuleCall_3; } //LessOrEqual public RuleCall getLessOrEqualParserRuleCall_4() { return cLessOrEqualParserRuleCall_4; } } public class EqualElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Equal"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cEqualKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLeftIntExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRightIntExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //Equal: // 'equal' '(' left=IntExpression ',' right=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'equal' '(' left=IntExpression ',' right=IntExpression ')' public Group getGroup() { return cGroup; } //'equal' public Keyword getEqualKeyword_0() { return cEqualKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //left=IntExpression public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } //IntExpression public RuleCall getLeftIntExpressionParserRuleCall_2_0() { return cLeftIntExpressionParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //right=IntExpression public Assignment getRightAssignment_4() { return cRightAssignment_4; } //IntExpression public RuleCall getRightIntExpressionParserRuleCall_4_0() { return cRightIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class GreaterElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Greater"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cGreaterKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLeftIntExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRightIntExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //Greater: // 'greater' '(' left=IntExpression ',' right=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'greater' '(' left=IntExpression ',' right=IntExpression ')' public Group getGroup() { return cGroup; } //'greater' public Keyword getGreaterKeyword_0() { return cGreaterKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //left=IntExpression public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } //IntExpression public RuleCall getLeftIntExpressionParserRuleCall_2_0() { return cLeftIntExpressionParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //right=IntExpression public Assignment getRightAssignment_4() { return cRightAssignment_4; } //IntExpression public RuleCall getRightIntExpressionParserRuleCall_4_0() { return cRightIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class GreaterOrEqualElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.GreaterOrEqual"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cGreaterOrEqualKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLeftIntExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRightIntExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //GreaterOrEqual: // 'greaterOrEqual' '(' left=IntExpression ',' right=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'greaterOrEqual' '(' left=IntExpression ',' right=IntExpression ')' public Group getGroup() { return cGroup; } //'greaterOrEqual' public Keyword getGreaterOrEqualKeyword_0() { return cGreaterOrEqualKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //left=IntExpression public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } //IntExpression public RuleCall getLeftIntExpressionParserRuleCall_2_0() { return cLeftIntExpressionParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //right=IntExpression public Assignment getRightAssignment_4() { return cRightAssignment_4; } //IntExpression public RuleCall getRightIntExpressionParserRuleCall_4_0() { return cRightIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class LessElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Less"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLessKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLeftIntExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRightIntExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //Less: // 'less' '(' left=IntExpression ',' right=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'less' '(' left=IntExpression ',' right=IntExpression ')' public Group getGroup() { return cGroup; } //'less' public Keyword getLessKeyword_0() { return cLessKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //left=IntExpression public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } //IntExpression public RuleCall getLeftIntExpressionParserRuleCall_2_0() { return cLeftIntExpressionParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //right=IntExpression public Assignment getRightAssignment_4() { return cRightAssignment_4; } //IntExpression public RuleCall getRightIntExpressionParserRuleCall_4_0() { return cRightIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class LessOrEqualElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.LessOrEqual"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLessOrEqualKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLeftIntExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRightIntExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //LessOrEqual: // 'lessOrEqual' '(' left=IntExpression ',' right=IntExpression ')'; @Override public ParserRule getRule() { return rule; } //'lessOrEqual' '(' left=IntExpression ',' right=IntExpression ')' public Group getGroup() { return cGroup; } //'lessOrEqual' public Keyword getLessOrEqualKeyword_0() { return cLessOrEqualKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //left=IntExpression public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } //IntExpression public RuleCall getLeftIntExpressionParserRuleCall_2_0() { return cLeftIntExpressionParserRuleCall_2_0; } //',' public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } //right=IntExpression public Assignment getRightAssignment_4() { return cRightAssignment_4; } //IntExpression public RuleCall getRightIntExpressionParserRuleCall_4_0() { return cRightIntExpressionParserRuleCall_4_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class IntExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.IntExpression"); private final RuleCall cPlusMinusParserRuleCall = (RuleCall)rule.eContents().get(1); /// * // * Integer operators // * / IntExpression: // PlusMinus; @Override public ParserRule getRule() { return rule; } //PlusMinus public RuleCall getPlusMinusParserRuleCall() { return cPlusMinusParserRuleCall; } } public class PlusMinusElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.PlusMinus"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cMultDivParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cPlusLeftAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cPlusSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightMultDivParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cMinusLeftAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightMultDivParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); //PlusMinus IntExpression: // MultDiv ({Plus.left=current} '+' right=MultDiv | {Minus.left=current} '-' right=MultDiv)? @Override public ParserRule getRule() { return rule; } //MultDiv ({Plus.left=current} '+' right=MultDiv | {Minus.left=current} '-' right=MultDiv)? public Group getGroup() { return cGroup; } //MultDiv public RuleCall getMultDivParserRuleCall_0() { return cMultDivParserRuleCall_0; } //({Plus.left=current} '+' right=MultDiv | {Minus.left=current} '-' right=MultDiv)? public Alternatives getAlternatives_1() { return cAlternatives_1; } //{Plus.left=current} '+' right=MultDiv public Group getGroup_1_0() { return cGroup_1_0; } //{Plus.left=current} public Action getPlusLeftAction_1_0_0() { return cPlusLeftAction_1_0_0; } //'+' public Keyword getPlusSignKeyword_1_0_1() { return cPlusSignKeyword_1_0_1; } //right=MultDiv public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //MultDiv public RuleCall getRightMultDivParserRuleCall_1_0_2_0() { return cRightMultDivParserRuleCall_1_0_2_0; } //{Minus.left=current} '-' right=MultDiv public Group getGroup_1_1() { return cGroup_1_1; } //{Minus.left=current} public Action getMinusLeftAction_1_1_0() { return cMinusLeftAction_1_1_0; } //'-' public Keyword getHyphenMinusKeyword_1_1_1() { return cHyphenMinusKeyword_1_1_1; } //right=MultDiv public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //MultDiv public RuleCall getRightMultDivParserRuleCall_1_1_2_0() { return cRightMultDivParserRuleCall_1_1_2_0; } } public class MultDivElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.MultDiv"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cTermIntParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cMultiplyLeftAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cAsteriskKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRightTermIntParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cDivideLeftAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cSolidusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRightTermIntParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); //MultDiv IntExpression: // TermInt ({Multiply.left=current} '*' right=TermInt | {Divide.left=current} '/' right=TermInt)? @Override public ParserRule getRule() { return rule; } //TermInt ({Multiply.left=current} '*' right=TermInt | {Divide.left=current} '/' right=TermInt)? public Group getGroup() { return cGroup; } //TermInt public RuleCall getTermIntParserRuleCall_0() { return cTermIntParserRuleCall_0; } //({Multiply.left=current} '*' right=TermInt | {Divide.left=current} '/' right=TermInt)? public Alternatives getAlternatives_1() { return cAlternatives_1; } //{Multiply.left=current} '*' right=TermInt public Group getGroup_1_0() { return cGroup_1_0; } //{Multiply.left=current} public Action getMultiplyLeftAction_1_0_0() { return cMultiplyLeftAction_1_0_0; } //'*' public Keyword getAsteriskKeyword_1_0_1() { return cAsteriskKeyword_1_0_1; } //right=TermInt public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } //TermInt public RuleCall getRightTermIntParserRuleCall_1_0_2_0() { return cRightTermIntParserRuleCall_1_0_2_0; } //{Divide.left=current} '/' right=TermInt public Group getGroup_1_1() { return cGroup_1_1; } //{Divide.left=current} public Action getDivideLeftAction_1_1_0() { return cDivideLeftAction_1_1_0; } //'/' public Keyword getSolidusKeyword_1_1_1() { return cSolidusKeyword_1_1_1; } //right=TermInt public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } //TermInt public RuleCall getRightTermIntParserRuleCall_1_1_2_0() { return cRightTermIntParserRuleCall_1_1_2_0; } } public class TermIntElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.TermInt"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cIntegerParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIntVariableRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final RuleCall cPlusMinusParserRuleCall_2_1 = (RuleCall)cGroup_2.eContents().get(1); private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); //TermInt IntExpression: // Integer | IntVariableRef | '(' PlusMinus ')' @Override public ParserRule getRule() { return rule; } //Integer | IntVariableRef | '(' PlusMinus ')' public Alternatives getAlternatives() { return cAlternatives; } //Integer public RuleCall getIntegerParserRuleCall_0() { return cIntegerParserRuleCall_0; } //IntVariableRef public RuleCall getIntVariableRefParserRuleCall_1() { return cIntVariableRefParserRuleCall_1; } //'(' PlusMinus ')' public Group getGroup_2() { return cGroup_2; } //'(' public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } //PlusMinus public RuleCall getPlusMinusParserRuleCall_2_1() { return cPlusMinusParserRuleCall_2_1; } //')' public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } } public class IntegerElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.Integer"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueEIntParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); //Integer: // value=EInt; @Override public ParserRule getRule() { return rule; } //value=EInt public Assignment getValueAssignment() { return cValueAssignment; } //EInt public RuleCall getValueEIntParserRuleCall_0() { return cValueEIntParserRuleCall_0; } } public class IntVariableRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.IntVariableRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cIntVariableRefAction_0 = (Action)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); //IntVariableRef: // {IntVariableRef} name=EString; @Override public ParserRule getRule() { return rule; } //{IntVariableRef} name=EString public Group getGroup() { return cGroup; } //{IntVariableRef} public Action getIntVariableRefAction_0() { return cIntVariableRefAction_0; } //name=EString public Assignment getNameAssignment_1() { return cNameAssignment_1; } //EString public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } } public class EIntElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.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 ecore::EInt: // '-'? INT @Override 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; } } public class IntegerVarElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.IntegerVar"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cIntegerVarAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cIntegerKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cValueEIntParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); //IntegerVar: // {IntegerVar} // 'Integer' name=EString ('=' value=EInt)?; @Override public ParserRule getRule() { return rule; } //{IntegerVar} 'Integer' name=EString ('=' value=EInt)? public Group getGroup() { return cGroup; } //{IntegerVar} public Action getIntegerVarAction_0() { return cIntegerVarAction_0; } //'Integer' public Keyword getIntegerKeyword_1() { return cIntegerKeyword_1; } //name=EString public Assignment getNameAssignment_2() { return cNameAssignment_2; } //EString public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } //('=' value=EInt)? public Group getGroup_3() { return cGroup_3; } //'=' public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //value=EInt public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; } //EInt public RuleCall getValueEIntParserRuleCall_3_1_0() { return cValueEIntParserRuleCall_3_1_0; } } public class EStringElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.EString"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //EString: // STRING | ID; @Override public ParserRule getRule() { return rule; } //STRING | ID public Alternatives getAlternatives() { return cAlternatives; } //STRING public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } //ID public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } } public class BooleanVarElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.inria.diverse.MiniFSM.BooleanVar"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cBooleanVarAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBooleanKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cValueEBooleanParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); //BooleanVar: // {BooleanVar} // 'Boolean' name=EString ('=' value=EBoolean)?; @Override public ParserRule getRule() { return rule; } //{BooleanVar} 'Boolean' name=EString ('=' value=EBoolean)? public Group getGroup() { return cGroup; } //{BooleanVar} public Action getBooleanVarAction_0() { return cBooleanVarAction_0; } //'Boolean' public Keyword getBooleanKeyword_1() { return cBooleanKeyword_1; } //name=EString public Assignment getNameAssignment_2() { return cNameAssignment_2; } //EString public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } //('=' value=EBoolean)? public Group getGroup_3() { return cGroup_3; } //'=' public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //value=EBoolean public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; } //EBoolean public RuleCall getValueEBooleanParserRuleCall_3_1_0() { return cValueEBooleanParserRuleCall_3_1_0; } } private final FSMElements pFSM; private final StateElements pState; private final VariableElements pVariable; private final StatementElements pStatement; private final State_ImplElements pState_Impl; private final TransitionElements pTransition; private final ContextElements pContext; private final BlockElements pBlock; private final FinalStateElements pFinalState; private final BooleanAssignmentElements pBooleanAssignment; private final IntAssignmentElements pIntAssignment; private final PrintVarElements pPrintVar; private final PrintStrElements pPrintStr; private final BooleanExpressionElements pBooleanExpression; private final AndOrElements pAndOr; private final TermBoolElements pTermBool; private final NotElements pNot; private final BooleanVariableRefElements pBooleanVariableRef; private final BooleanElements pBoolean; private final EBooleanElements pEBoolean; private final IntComparisonElements pIntComparison; private final EqualElements pEqual; private final GreaterElements pGreater; private final GreaterOrEqualElements pGreaterOrEqual; private final LessElements pLess; private final LessOrEqualElements pLessOrEqual; private final IntExpressionElements pIntExpression; private final PlusMinusElements pPlusMinus; private final MultDivElements pMultDiv; private final TermIntElements pTermInt; private final IntegerElements pInteger; private final IntVariableRefElements pIntVariableRef; private final EIntElements pEInt; private final IntegerVarElements pIntegerVar; private final EStringElements pEString; private final BooleanVarElements pBooleanVar; private final Grammar grammar; private final TerminalsGrammarAccess gaTerminals; @Inject public MiniFSMGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; this.pFSM = new FSMElements(); this.pState = new StateElements(); this.pVariable = new VariableElements(); this.pStatement = new StatementElements(); this.pState_Impl = new State_ImplElements(); this.pTransition = new TransitionElements(); this.pContext = new ContextElements(); this.pBlock = new BlockElements(); this.pFinalState = new FinalStateElements(); this.pBooleanAssignment = new BooleanAssignmentElements(); this.pIntAssignment = new IntAssignmentElements(); this.pPrintVar = new PrintVarElements(); this.pPrintStr = new PrintStrElements(); this.pBooleanExpression = new BooleanExpressionElements(); this.pAndOr = new AndOrElements(); this.pTermBool = new TermBoolElements(); this.pNot = new NotElements(); this.pBooleanVariableRef = new BooleanVariableRefElements(); this.pBoolean = new BooleanElements(); this.pEBoolean = new EBooleanElements(); this.pIntComparison = new IntComparisonElements(); this.pEqual = new EqualElements(); this.pGreater = new GreaterElements(); this.pGreaterOrEqual = new GreaterOrEqualElements(); this.pLess = new LessElements(); this.pLessOrEqual = new LessOrEqualElements(); this.pIntExpression = new IntExpressionElements(); this.pPlusMinus = new PlusMinusElements(); this.pMultDiv = new MultDivElements(); this.pTermInt = new TermIntElements(); this.pInteger = new IntegerElements(); this.pIntVariableRef = new IntVariableRefElements(); this.pEInt = new EIntElements(); this.pIntegerVar = new IntegerVarElements(); this.pEString = new EStringElements(); this.pBooleanVar = new BooleanVarElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("fr.inria.diverse.MiniFSM".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; } //FSM: // 'FSM' // '{' (states+=State states+=State*)? // 'initialState' initialState=[State|EString] (transitions+=Transition transitions+=Transition*)? // context=Context? // '}'; public FSMElements getFSMAccess() { return pFSM; } public ParserRule getFSMRule() { return getFSMAccess().getRule(); } //State: // State_Impl | FinalState; public StateElements getStateAccess() { return pState; } public ParserRule getStateRule() { return getStateAccess().getRule(); } //Variable: // IntegerVar | BooleanVar; public VariableElements getVariableAccess() { return pVariable; } public ParserRule getVariableRule() { return getVariableAccess().getRule(); } //Statement: // BooleanAssignment | IntAssignment | PrintVar | PrintStr; public StatementElements getStatementAccess() { return pStatement; } public ParserRule getStatementRule() { return getStatementAccess().getRule(); } //State_Impl State: // {State} // 'State' name=EString // block=Block? public State_ImplElements getState_ImplAccess() { return pState_Impl; } public ParserRule getState_ImplRule() { return getState_ImplAccess().getRule(); } //Transition: // input=[State|EString] '->' output=[State|EString] ('[' expression=BooleanExpression ']')?; public TransitionElements getTransitionAccess() { return pTransition; } public ParserRule getTransitionRule() { return getTransitionAccess().getRule(); } //Context: // {Context} // 'Context' // '{' (variables+=Variable variables+=Variable*)? // '}'; public ContextElements getContextAccess() { return pContext; } public ParserRule getContextRule() { return getContextAccess().getRule(); } //Block: // {Block} // '{' (statement+=Statement statement+=Statement*)? // '}'; public BlockElements getBlockAccess() { return pBlock; } public ParserRule getBlockRule() { return getBlockAccess().getRule(); } //FinalState: // {FinalState} // 'FinalState' name=EString // block=Block?; public FinalStateElements getFinalStateAccess() { return pFinalState; } public ParserRule getFinalStateRule() { return getFinalStateAccess().getRule(); } //BooleanAssignment: // 'AssignBool' '(' variable=BooleanVariableRef ',' value=BooleanExpression ')'; public BooleanAssignmentElements getBooleanAssignmentAccess() { return pBooleanAssignment; } public ParserRule getBooleanAssignmentRule() { return getBooleanAssignmentAccess().getRule(); } //IntAssignment: // 'AssignInt' '(' variable=IntVariableRef ',' value=IntExpression ')'; public IntAssignmentElements getIntAssignmentAccess() { return pIntAssignment; } public ParserRule getIntAssignmentRule() { return getIntAssignmentAccess().getRule(); } //PrintVar: // 'PrintVar' '(' value=EString ')'; public PrintVarElements getPrintVarAccess() { return pPrintVar; } public ParserRule getPrintVarRule() { return getPrintVarAccess().getRule(); } //PrintStr: // 'PrintStr' '(' value=EString ')'; public PrintStrElements getPrintStrAccess() { return pPrintStr; } public ParserRule getPrintStrRule() { return getPrintStrAccess().getRule(); } /// * // * Logical operators // * / BooleanExpression: // AndOr; public BooleanExpressionElements getBooleanExpressionAccess() { return pBooleanExpression; } public ParserRule getBooleanExpressionRule() { return getBooleanExpressionAccess().getRule(); } //AndOr BooleanExpression: // TermBool ({Or.left=current} 'OR' right=AndOr | {And.left=current} 'AND' right=AndOr)? public AndOrElements getAndOrAccess() { return pAndOr; } public ParserRule getAndOrRule() { return getAndOrAccess().getRule(); } //TermBool BooleanExpression: // Boolean | BooleanVariableRef | IntComparison | {Not} '!' expression=TermBool public TermBoolElements getTermBoolAccess() { return pTermBool; } public ParserRule getTermBoolRule() { return getTermBoolAccess().getRule(); } //Not: // '!' expression=AndOr; public NotElements getNotAccess() { return pNot; } public ParserRule getNotRule() { return getNotAccess().getRule(); } //BooleanVariableRef: // {BooleanVariableRef} name=EString; public BooleanVariableRefElements getBooleanVariableRefAccess() { return pBooleanVariableRef; } public ParserRule getBooleanVariableRefRule() { return getBooleanVariableRefAccess().getRule(); } //Boolean: // value?='value' // 'Boolean'; public BooleanElements getBooleanAccess() { return pBoolean; } public ParserRule getBooleanRule() { return getBooleanAccess().getRule(); } //EBoolean ecore::EBoolean: // 'true' | 'false' public EBooleanElements getEBooleanAccess() { return pEBoolean; } public ParserRule getEBooleanRule() { return getEBooleanAccess().getRule(); } /// * // * Integer comparators // * / IntComparison: // Equal | Greater | GreaterOrEqual | Less | LessOrEqual; public IntComparisonElements getIntComparisonAccess() { return pIntComparison; } public ParserRule getIntComparisonRule() { return getIntComparisonAccess().getRule(); } //Equal: // 'equal' '(' left=IntExpression ',' right=IntExpression ')'; public EqualElements getEqualAccess() { return pEqual; } public ParserRule getEqualRule() { return getEqualAccess().getRule(); } //Greater: // 'greater' '(' left=IntExpression ',' right=IntExpression ')'; public GreaterElements getGreaterAccess() { return pGreater; } public ParserRule getGreaterRule() { return getGreaterAccess().getRule(); } //GreaterOrEqual: // 'greaterOrEqual' '(' left=IntExpression ',' right=IntExpression ')'; public GreaterOrEqualElements getGreaterOrEqualAccess() { return pGreaterOrEqual; } public ParserRule getGreaterOrEqualRule() { return getGreaterOrEqualAccess().getRule(); } //Less: // 'less' '(' left=IntExpression ',' right=IntExpression ')'; public LessElements getLessAccess() { return pLess; } public ParserRule getLessRule() { return getLessAccess().getRule(); } //LessOrEqual: // 'lessOrEqual' '(' left=IntExpression ',' right=IntExpression ')'; public LessOrEqualElements getLessOrEqualAccess() { return pLessOrEqual; } public ParserRule getLessOrEqualRule() { return getLessOrEqualAccess().getRule(); } /// * // * Integer operators // * / IntExpression: // PlusMinus; public IntExpressionElements getIntExpressionAccess() { return pIntExpression; } public ParserRule getIntExpressionRule() { return getIntExpressionAccess().getRule(); } //PlusMinus IntExpression: // MultDiv ({Plus.left=current} '+' right=MultDiv | {Minus.left=current} '-' right=MultDiv)? public PlusMinusElements getPlusMinusAccess() { return pPlusMinus; } public ParserRule getPlusMinusRule() { return getPlusMinusAccess().getRule(); } //MultDiv IntExpression: // TermInt ({Multiply.left=current} '*' right=TermInt | {Divide.left=current} '/' right=TermInt)? public MultDivElements getMultDivAccess() { return pMultDiv; } public ParserRule getMultDivRule() { return getMultDivAccess().getRule(); } //TermInt IntExpression: // Integer | IntVariableRef | '(' PlusMinus ')' public TermIntElements getTermIntAccess() { return pTermInt; } public ParserRule getTermIntRule() { return getTermIntAccess().getRule(); } //Integer: // value=EInt; public IntegerElements getIntegerAccess() { return pInteger; } public ParserRule getIntegerRule() { return getIntegerAccess().getRule(); } //IntVariableRef: // {IntVariableRef} name=EString; public IntVariableRefElements getIntVariableRefAccess() { return pIntVariableRef; } public ParserRule getIntVariableRefRule() { return getIntVariableRefAccess().getRule(); } //EInt ecore::EInt: // '-'? INT public EIntElements getEIntAccess() { return pEInt; } public ParserRule getEIntRule() { return getEIntAccess().getRule(); } //IntegerVar: // {IntegerVar} // 'Integer' name=EString ('=' value=EInt)?; public IntegerVarElements getIntegerVarAccess() { return pIntegerVar; } public ParserRule getIntegerVarRule() { return getIntegerVarAccess().getRule(); } //EString: // STRING | ID; public EStringElements getEStringAccess() { return pEString; } public ParserRule getEStringRule() { return getEStringAccess().getRule(); } //BooleanVar: // {BooleanVar} // 'Boolean' name=EString ('=' value=EBoolean)?; public BooleanVarElements getBooleanVarAccess() { return pBooleanVar; } public ParserRule getBooleanVarRule() { return getBooleanVarAccess().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: // '"' ('\\' . | !('\\' | '"'))* '"' | // "'" ('\\' . | !('\\' | "'"))* "'"; 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(); } }