/* * generated by Xtext */ package org.eclipse.sirius.expression.text.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.*; @Singleton public class ExpressionTextGrammarAccess extends AbstractGrammarElementFinder { public class SiriusExpressionPackageElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.SiriusExpressionPackage"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEPackageAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cEPackageEPackageCrossReference_1_0 = (CrossReference)cEPackageAssignment_1.eContents().get(0); private final RuleCall cEPackageEPackageIDTerminalRuleCall_1_0_1 = (RuleCall)cEPackageEPackageCrossReference_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cExpressionClassesAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cExpressionClassesSiriusExpressionClassParserRuleCall_3_0 = (RuleCall)cExpressionClassesAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //SiriusExpressionPackage: // 'package' ePackage=[ecore::EPackage] '{' // expressionClasses+=SiriusExpressionClass* // '}'; @Override public ParserRule getRule() { return rule; } //'package' ePackage=[ecore::EPackage] '{' expressionClasses+=SiriusExpressionClass* '}' public Group getGroup() { return cGroup; } //'package' public Keyword getPackageKeyword_0() { return cPackageKeyword_0; } //ePackage=[ecore::EPackage] public Assignment getEPackageAssignment_1() { return cEPackageAssignment_1; } //[ecore::EPackage] public CrossReference getEPackageEPackageCrossReference_1_0() { return cEPackageEPackageCrossReference_1_0; } //ID public RuleCall getEPackageEPackageIDTerminalRuleCall_1_0_1() { return cEPackageEPackageIDTerminalRuleCall_1_0_1; } //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //expressionClasses+=SiriusExpressionClass* public Assignment getExpressionClassesAssignment_3() { return cExpressionClassesAssignment_3; } //SiriusExpressionClass public RuleCall getExpressionClassesSiriusExpressionClassParserRuleCall_3_0() { return cExpressionClassesSiriusExpressionClassParserRuleCall_3_0; } //'}' public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class SiriusExpressionClassElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.SiriusExpressionClass"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cClassKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEClassAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cEClassEClassCrossReference_1_0 = (CrossReference)cEClassAssignment_1.eContents().get(0); private final RuleCall cEClassEClassFQNParserRuleCall_1_0_1 = (RuleCall)cEClassEClassCrossReference_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cVariablesAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cVariablesSiriusVariableParserRuleCall_3_0 = (RuleCall)cVariablesAssignment_3.eContents().get(0); private final Assignment cExpressionDescriptionsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cExpressionDescriptionsSiriusExpressionDescriptionParserRuleCall_4_0 = (RuleCall)cExpressionDescriptionsAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //SiriusExpressionClass: // 'class' eClass=[ecore::EClass|FQN] '{' // variables+=SiriusVariable* // expressionDescriptions+=SiriusExpressionDescription* // '}'; @Override public ParserRule getRule() { return rule; } //'class' eClass=[ecore::EClass|FQN] '{' variables+=SiriusVariable* expressionDescriptions+=SiriusExpressionDescription* //'}' public Group getGroup() { return cGroup; } //'class' public Keyword getClassKeyword_0() { return cClassKeyword_0; } //eClass=[ecore::EClass|FQN] public Assignment getEClassAssignment_1() { return cEClassAssignment_1; } //[ecore::EClass|FQN] public CrossReference getEClassEClassCrossReference_1_0() { return cEClassEClassCrossReference_1_0; } //FQN public RuleCall getEClassEClassFQNParserRuleCall_1_0_1() { return cEClassEClassFQNParserRuleCall_1_0_1; } //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //variables+=SiriusVariable* public Assignment getVariablesAssignment_3() { return cVariablesAssignment_3; } //SiriusVariable public RuleCall getVariablesSiriusVariableParserRuleCall_3_0() { return cVariablesSiriusVariableParserRuleCall_3_0; } //expressionDescriptions+=SiriusExpressionDescription* public Assignment getExpressionDescriptionsAssignment_4() { return cExpressionDescriptionsAssignment_4; } //SiriusExpressionDescription public RuleCall getExpressionDescriptionsSiriusExpressionDescriptionParserRuleCall_4_0() { return cExpressionDescriptionsSiriusExpressionDescriptionParserRuleCall_4_0; } //'}' public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class FQNElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.FQN"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); //FQN: // ID ("." ID)*; @Override public ParserRule getRule() { return rule; } //ID ("." ID)* public Group getGroup() { return cGroup; } //ID public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } //("." ID)* public Group getGroup_1() { return cGroup_1; } //"." public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } //ID public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } } public class SiriusVariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.SiriusVariable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cDocumentationAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cDocumentationML_COMMENTTerminalRuleCall_0_0 = (RuleCall)cDocumentationAssignment_0.eContents().get(0); private final Keyword cVarKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cETypeAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cETypeEClassifierCrossReference_4_0 = (CrossReference)cETypeAssignment_4.eContents().get(0); private final RuleCall cETypeEClassifierFQNParserRuleCall_4_0_1 = (RuleCall)cETypeEClassifierCrossReference_4_0.eContents().get(1); //SiriusVariable: // documentation=ML_COMMENT? // 'var' name=ID ':' eType=[ecore::EClassifier|FQN]; @Override public ParserRule getRule() { return rule; } //documentation=ML_COMMENT? 'var' name=ID ':' eType=[ecore::EClassifier|FQN] public Group getGroup() { return cGroup; } //documentation=ML_COMMENT? public Assignment getDocumentationAssignment_0() { return cDocumentationAssignment_0; } //ML_COMMENT public RuleCall getDocumentationML_COMMENTTerminalRuleCall_0_0() { return cDocumentationML_COMMENTTerminalRuleCall_0_0; } //'var' public Keyword getVarKeyword_1() { return cVarKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //':' public Keyword getColonKeyword_3() { return cColonKeyword_3; } //eType=[ecore::EClassifier|FQN] public Assignment getETypeAssignment_4() { return cETypeAssignment_4; } //[ecore::EClassifier|FQN] public CrossReference getETypeEClassifierCrossReference_4_0() { return cETypeEClassifierCrossReference_4_0; } //FQN public RuleCall getETypeEClassifierFQNParserRuleCall_4_0_1() { return cETypeEClassifierFQNParserRuleCall_4_0_1; } } public class SiriusExpressionDescriptionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.SiriusExpressionDescription"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cExpKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cExpressionEAttributeCrossReference_1_0 = (CrossReference)cExpressionAssignment_1.eContents().get(0); private final RuleCall cExpressionEAttributeFQNParserRuleCall_1_0_1 = (RuleCall)cExpressionEAttributeCrossReference_1_0.eContents().get(1); private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cParametersSiriusParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cParametersSiriusParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Assignment cReturnTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); private final CrossReference cReturnTypeEClassifierCrossReference_6_0 = (CrossReference)cReturnTypeAssignment_6.eContents().get(0); private final RuleCall cReturnTypeEClassifierFQNParserRuleCall_6_0_1 = (RuleCall)cReturnTypeEClassifierCrossReference_6_0.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cLowerBoundAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cLowerBoundBoundParserRuleCall_8_0 = (RuleCall)cLowerBoundAssignment_8.eContents().get(0); private final Keyword cFullStopFullStopKeyword_9 = (Keyword)cGroup.eContents().get(9); private final Assignment cUpperBoundAssignment_10 = (Assignment)cGroup.eContents().get(10); private final RuleCall cUpperBoundBoundParserRuleCall_10_0 = (RuleCall)cUpperBoundAssignment_10.eContents().get(0); private final Keyword cRightSquareBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); private final Keyword cLeftCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12); private final Keyword cUserDefinedVariableContainersKeyword_13 = (Keyword)cGroup.eContents().get(13); private final Keyword cEqualsSignKeyword_14 = (Keyword)cGroup.eContents().get(14); private final Keyword cLeftSquareBracketKeyword_15 = (Keyword)cGroup.eContents().get(15); private final Group cGroup_16 = (Group)cGroup.eContents().get(16); private final Assignment cVariableContainersAssignment_16_0 = (Assignment)cGroup_16.eContents().get(0); private final CrossReference cVariableContainersEClassCrossReference_16_0_0 = (CrossReference)cVariableContainersAssignment_16_0.eContents().get(0); private final RuleCall cVariableContainersEClassFQNParserRuleCall_16_0_0_1 = (RuleCall)cVariableContainersEClassCrossReference_16_0_0.eContents().get(1); private final Group cGroup_16_1 = (Group)cGroup_16.eContents().get(1); private final Keyword cCommaKeyword_16_1_0 = (Keyword)cGroup_16_1.eContents().get(0); private final Assignment cVariableContainersAssignment_16_1_1 = (Assignment)cGroup_16_1.eContents().get(1); private final CrossReference cVariableContainersEClassCrossReference_16_1_1_0 = (CrossReference)cVariableContainersAssignment_16_1_1.eContents().get(0); private final RuleCall cVariableContainersEClassFQNParserRuleCall_16_1_1_0_1 = (RuleCall)cVariableContainersEClassCrossReference_16_1_1_0.eContents().get(1); private final Keyword cRightSquareBracketKeyword_17 = (Keyword)cGroup.eContents().get(17); private final Keyword cRightCurlyBracketKeyword_18 = (Keyword)cGroup.eContents().get(18); //SiriusExpressionDescription: // 'exp' expression=[ecore::EAttribute|FQN] '(' (parameters+=SiriusParameter (',' parameters+=SiriusParameter)*)? ')' ':' // returnType=[ecore::EClassifier|FQN] '[' lowerBound=Bound '..' upperBound=Bound ']' '{' // 'userDefinedVariableContainers' '=' '[' (variableContainers+=[ecore::EClass|FQN] (',' // variableContainers+=[ecore::EClass|FQN])*)? // ']' // '}'; @Override public ParserRule getRule() { return rule; } //'exp' expression=[ecore::EAttribute|FQN] '(' (parameters+=SiriusParameter (',' parameters+=SiriusParameter)*)? ')' ':' //returnType=[ecore::EClassifier|FQN] '[' lowerBound=Bound '..' upperBound=Bound ']' '{' 'userDefinedVariableContainers' //'=' '[' (variableContainers+=[ecore::EClass|FQN] (',' variableContainers+=[ecore::EClass|FQN])*)? ']' '}' public Group getGroup() { return cGroup; } //'exp' public Keyword getExpKeyword_0() { return cExpKeyword_0; } //expression=[ecore::EAttribute|FQN] public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; } //[ecore::EAttribute|FQN] public CrossReference getExpressionEAttributeCrossReference_1_0() { return cExpressionEAttributeCrossReference_1_0; } //FQN public RuleCall getExpressionEAttributeFQNParserRuleCall_1_0_1() { return cExpressionEAttributeFQNParserRuleCall_1_0_1; } //'(' public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(parameters+=SiriusParameter (',' parameters+=SiriusParameter)*)? public Group getGroup_3() { return cGroup_3; } //parameters+=SiriusParameter public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; } //SiriusParameter public RuleCall getParametersSiriusParameterParserRuleCall_3_0_0() { return cParametersSiriusParameterParserRuleCall_3_0_0; } //(',' parameters+=SiriusParameter)* public Group getGroup_3_1() { return cGroup_3_1; } //',' public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //parameters+=SiriusParameter public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; } //SiriusParameter public RuleCall getParametersSiriusParameterParserRuleCall_3_1_1_0() { return cParametersSiriusParameterParserRuleCall_3_1_1_0; } //')' public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } //':' public Keyword getColonKeyword_5() { return cColonKeyword_5; } //returnType=[ecore::EClassifier|FQN] public Assignment getReturnTypeAssignment_6() { return cReturnTypeAssignment_6; } //[ecore::EClassifier|FQN] public CrossReference getReturnTypeEClassifierCrossReference_6_0() { return cReturnTypeEClassifierCrossReference_6_0; } //FQN public RuleCall getReturnTypeEClassifierFQNParserRuleCall_6_0_1() { return cReturnTypeEClassifierFQNParserRuleCall_6_0_1; } //'[' public Keyword getLeftSquareBracketKeyword_7() { return cLeftSquareBracketKeyword_7; } //lowerBound=Bound public Assignment getLowerBoundAssignment_8() { return cLowerBoundAssignment_8; } //Bound public RuleCall getLowerBoundBoundParserRuleCall_8_0() { return cLowerBoundBoundParserRuleCall_8_0; } //'..' public Keyword getFullStopFullStopKeyword_9() { return cFullStopFullStopKeyword_9; } //upperBound=Bound public Assignment getUpperBoundAssignment_10() { return cUpperBoundAssignment_10; } //Bound public RuleCall getUpperBoundBoundParserRuleCall_10_0() { return cUpperBoundBoundParserRuleCall_10_0; } //']' public Keyword getRightSquareBracketKeyword_11() { return cRightSquareBracketKeyword_11; } //'{' public Keyword getLeftCurlyBracketKeyword_12() { return cLeftCurlyBracketKeyword_12; } //'userDefinedVariableContainers' public Keyword getUserDefinedVariableContainersKeyword_13() { return cUserDefinedVariableContainersKeyword_13; } //'=' public Keyword getEqualsSignKeyword_14() { return cEqualsSignKeyword_14; } //'[' public Keyword getLeftSquareBracketKeyword_15() { return cLeftSquareBracketKeyword_15; } //(variableContainers+=[ecore::EClass|FQN] (',' variableContainers+=[ecore::EClass|FQN])*)? public Group getGroup_16() { return cGroup_16; } //variableContainers+=[ecore::EClass|FQN] public Assignment getVariableContainersAssignment_16_0() { return cVariableContainersAssignment_16_0; } //[ecore::EClass|FQN] public CrossReference getVariableContainersEClassCrossReference_16_0_0() { return cVariableContainersEClassCrossReference_16_0_0; } //FQN public RuleCall getVariableContainersEClassFQNParserRuleCall_16_0_0_1() { return cVariableContainersEClassFQNParserRuleCall_16_0_0_1; } //(',' variableContainers+=[ecore::EClass|FQN])* public Group getGroup_16_1() { return cGroup_16_1; } //',' public Keyword getCommaKeyword_16_1_0() { return cCommaKeyword_16_1_0; } //variableContainers+=[ecore::EClass|FQN] public Assignment getVariableContainersAssignment_16_1_1() { return cVariableContainersAssignment_16_1_1; } //[ecore::EClass|FQN] public CrossReference getVariableContainersEClassCrossReference_16_1_1_0() { return cVariableContainersEClassCrossReference_16_1_1_0; } //FQN public RuleCall getVariableContainersEClassFQNParserRuleCall_16_1_1_0_1() { return cVariableContainersEClassFQNParserRuleCall_16_1_1_0_1; } //']' public Keyword getRightSquareBracketKeyword_17() { return cRightSquareBracketKeyword_17; } //'}' public Keyword getRightCurlyBracketKeyword_18() { return cRightCurlyBracketKeyword_18; } } public class SiriusParameterElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.SiriusParameter"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cOptionalAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cOptionalOptionalKeyword_0_0 = (Keyword)cOptionalAssignment_0.eContents().get(0); private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cVariableSiriusVariableCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0); private final RuleCall cVariableSiriusVariableIDTerminalRuleCall_1_0_1 = (RuleCall)cVariableSiriusVariableCrossReference_1_0.eContents().get(1); //SiriusParameter: // optional?='optional'? variable=[SiriusVariable]; @Override public ParserRule getRule() { return rule; } //optional?='optional'? variable=[SiriusVariable] public Group getGroup() { return cGroup; } //optional?='optional'? public Assignment getOptionalAssignment_0() { return cOptionalAssignment_0; } //'optional' public Keyword getOptionalOptionalKeyword_0_0() { return cOptionalOptionalKeyword_0_0; } //variable=[SiriusVariable] public Assignment getVariableAssignment_1() { return cVariableAssignment_1; } //[SiriusVariable] public CrossReference getVariableSiriusVariableCrossReference_1_0() { return cVariableSiriusVariableCrossReference_1_0; } //ID public RuleCall getVariableSiriusVariableIDTerminalRuleCall_1_0_1() { return cVariableSiriusVariableIDTerminalRuleCall_1_0_1; } } public class BoundElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.Bound"); 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); //Bound 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; } } private final SiriusExpressionPackageElements pSiriusExpressionPackage; private final SiriusExpressionClassElements pSiriusExpressionClass; private final FQNElements pFQN; private final SiriusVariableElements pSiriusVariable; private final SiriusExpressionDescriptionElements pSiriusExpressionDescription; private final SiriusParameterElements pSiriusParameter; private final BoundElements pBound; private final TerminalRule tID; private final TerminalRule tINT; private final TerminalRule tML_COMMENT; private final TerminalRule tWS; private final Grammar grammar; @Inject public ExpressionTextGrammarAccess(GrammarProvider grammarProvider) { this.grammar = internalFindGrammar(grammarProvider); this.pSiriusExpressionPackage = new SiriusExpressionPackageElements(); this.pSiriusExpressionClass = new SiriusExpressionClassElements(); this.pFQN = new FQNElements(); this.pSiriusVariable = new SiriusVariableElements(); this.pSiriusExpressionDescription = new SiriusExpressionDescriptionElements(); this.pSiriusParameter = new SiriusParameterElements(); this.pBound = new BoundElements(); this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.ID"); this.tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.INT"); this.tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.ML_COMMENT"); this.tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sirius.expression.text.ExpressionText.WS"); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("org.eclipse.sirius.expression.text.ExpressionText".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; } //SiriusExpressionPackage: // 'package' ePackage=[ecore::EPackage] '{' // expressionClasses+=SiriusExpressionClass* // '}'; public SiriusExpressionPackageElements getSiriusExpressionPackageAccess() { return pSiriusExpressionPackage; } public ParserRule getSiriusExpressionPackageRule() { return getSiriusExpressionPackageAccess().getRule(); } //SiriusExpressionClass: // 'class' eClass=[ecore::EClass|FQN] '{' // variables+=SiriusVariable* // expressionDescriptions+=SiriusExpressionDescription* // '}'; public SiriusExpressionClassElements getSiriusExpressionClassAccess() { return pSiriusExpressionClass; } public ParserRule getSiriusExpressionClassRule() { return getSiriusExpressionClassAccess().getRule(); } //FQN: // ID ("." ID)*; public FQNElements getFQNAccess() { return pFQN; } public ParserRule getFQNRule() { return getFQNAccess().getRule(); } //SiriusVariable: // documentation=ML_COMMENT? // 'var' name=ID ':' eType=[ecore::EClassifier|FQN]; public SiriusVariableElements getSiriusVariableAccess() { return pSiriusVariable; } public ParserRule getSiriusVariableRule() { return getSiriusVariableAccess().getRule(); } //SiriusExpressionDescription: // 'exp' expression=[ecore::EAttribute|FQN] '(' (parameters+=SiriusParameter (',' parameters+=SiriusParameter)*)? ')' ':' // returnType=[ecore::EClassifier|FQN] '[' lowerBound=Bound '..' upperBound=Bound ']' '{' // 'userDefinedVariableContainers' '=' '[' (variableContainers+=[ecore::EClass|FQN] (',' // variableContainers+=[ecore::EClass|FQN])*)? // ']' // '}'; public SiriusExpressionDescriptionElements getSiriusExpressionDescriptionAccess() { return pSiriusExpressionDescription; } public ParserRule getSiriusExpressionDescriptionRule() { return getSiriusExpressionDescriptionAccess().getRule(); } //SiriusParameter: // optional?='optional'? variable=[SiriusVariable]; public SiriusParameterElements getSiriusParameterAccess() { return pSiriusParameter; } public ParserRule getSiriusParameterRule() { return getSiriusParameterAccess().getRule(); } //Bound ecore::EInt: // '-'? INT public BoundElements getBoundAccess() { return pBound; } public ParserRule getBoundRule() { return getBoundAccess().getRule(); } //terminal ID: // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; public TerminalRule getIDRule() { return tID; } //terminal INT returns ecore::EInt: // '0'..'9'+; public TerminalRule getINTRule() { return tINT; } //terminal ML_COMMENT: // '/ *'->'* /'; public TerminalRule getML_COMMENTRule() { return tML_COMMENT; } //terminal WS: // ' ' | '\t' | '\r' | '\n'+; public TerminalRule getWSRule() { return tWS; } }