/* * generated by Xtext */ package insa.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 ExpArithmGrammarAccess extends AbstractGrammarElementFinder { public class ExpressionArithmElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExpressionArithm"); private final Assignment cRacineAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cRacineEltExpParserRuleCall_0 = (RuleCall)cRacineAssignment.eContents().get(0); //ExpressionArithm: // racine=EltExp?; public ParserRule getRule() { return rule; } //racine=EltExp? public Assignment getRacineAssignment() { return cRacineAssignment; } //EltExp public RuleCall getRacineEltExpParserRuleCall_0() { return cRacineEltExpParserRuleCall_0; } } public class EltExpElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EltExp"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cValeurParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cPlusParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cMoinsParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cMultParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cDivisionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //EltExp: // Valeur | Plus | Moins | Mult | Division; public ParserRule getRule() { return rule; } //Valeur | Plus | Moins | Mult | Division public Alternatives getAlternatives() { return cAlternatives; } //Valeur public RuleCall getValeurParserRuleCall_0() { return cValeurParserRuleCall_0; } //Plus public RuleCall getPlusParserRuleCall_1() { return cPlusParserRuleCall_1; } //Moins public RuleCall getMoinsParserRuleCall_2() { return cMoinsParserRuleCall_2; } //Mult public RuleCall getMultParserRuleCall_3() { return cMultParserRuleCall_3; } //Division public RuleCall getDivisionParserRuleCall_4() { return cDivisionParserRuleCall_4; } } public class ValeurElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Valeur"); private final Assignment cValeurAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValeurDOUBLETerminalRuleCall_0 = (RuleCall)cValeurAssignment.eContents().get(0); //Valeur: // valeur=DOUBLE; public ParserRule getRule() { return rule; } //valeur=DOUBLE public Assignment getValeurAssignment() { return cValeurAssignment; } //DOUBLE public RuleCall getValeurDOUBLETerminalRuleCall_0() { return cValeurDOUBLETerminalRuleCall_0; } } public class PlusElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Plus"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPlusSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEltGaucheAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cEltGaucheEltExpParserRuleCall_1_0 = (RuleCall)cEltGaucheAssignment_1.eContents().get(0); private final Assignment cEltDroitAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cEltDroitEltExpParserRuleCall_2_0 = (RuleCall)cEltDroitAssignment_2.eContents().get(0); //Plus: // "+" EltGauche=EltExp eltDroit=EltExp; public ParserRule getRule() { return rule; } //"+" EltGauche=EltExp eltDroit=EltExp public Group getGroup() { return cGroup; } //"+" public Keyword getPlusSignKeyword_0() { return cPlusSignKeyword_0; } //EltGauche=EltExp public Assignment getEltGaucheAssignment_1() { return cEltGaucheAssignment_1; } //EltExp public RuleCall getEltGaucheEltExpParserRuleCall_1_0() { return cEltGaucheEltExpParserRuleCall_1_0; } //eltDroit=EltExp public Assignment getEltDroitAssignment_2() { return cEltDroitAssignment_2; } //EltExp public RuleCall getEltDroitEltExpParserRuleCall_2_0() { return cEltDroitEltExpParserRuleCall_2_0; } } public class MoinsElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Moins"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEltGaucheAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cEltGaucheEltExpParserRuleCall_1_0 = (RuleCall)cEltGaucheAssignment_1.eContents().get(0); private final Assignment cEltDroitAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cEltDroitEltExpParserRuleCall_2_0 = (RuleCall)cEltDroitAssignment_2.eContents().get(0); //Moins: // "-" EltGauche=EltExp eltDroit=EltExp; public ParserRule getRule() { return rule; } //"-" EltGauche=EltExp eltDroit=EltExp public Group getGroup() { return cGroup; } //"-" public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } //EltGauche=EltExp public Assignment getEltGaucheAssignment_1() { return cEltGaucheAssignment_1; } //EltExp public RuleCall getEltGaucheEltExpParserRuleCall_1_0() { return cEltGaucheEltExpParserRuleCall_1_0; } //eltDroit=EltExp public Assignment getEltDroitAssignment_2() { return cEltDroitAssignment_2; } //EltExp public RuleCall getEltDroitEltExpParserRuleCall_2_0() { return cEltDroitEltExpParserRuleCall_2_0; } } public class MultElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Mult"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cAsteriskKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEltGaucheAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cEltGaucheEltExpParserRuleCall_1_0 = (RuleCall)cEltGaucheAssignment_1.eContents().get(0); private final Assignment cEltDroitAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cEltDroitEltExpParserRuleCall_2_0 = (RuleCall)cEltDroitAssignment_2.eContents().get(0); //Mult: // "*" EltGauche=EltExp eltDroit=EltExp; public ParserRule getRule() { return rule; } //"*" EltGauche=EltExp eltDroit=EltExp public Group getGroup() { return cGroup; } //"*" public Keyword getAsteriskKeyword_0() { return cAsteriskKeyword_0; } //EltGauche=EltExp public Assignment getEltGaucheAssignment_1() { return cEltGaucheAssignment_1; } //EltExp public RuleCall getEltGaucheEltExpParserRuleCall_1_0() { return cEltGaucheEltExpParserRuleCall_1_0; } //eltDroit=EltExp public Assignment getEltDroitAssignment_2() { return cEltDroitAssignment_2; } //EltExp public RuleCall getEltDroitEltExpParserRuleCall_2_0() { return cEltDroitEltExpParserRuleCall_2_0; } } public class DivisionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Division"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSolidusKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cEltGaucheAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cEltGaucheEltExpParserRuleCall_1_0 = (RuleCall)cEltGaucheAssignment_1.eContents().get(0); private final Assignment cEltDroitAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cEltDroitEltExpParserRuleCall_2_0 = (RuleCall)cEltDroitAssignment_2.eContents().get(0); //Division: // "/" EltGauche=EltExp eltDroit=EltExp; public ParserRule getRule() { return rule; } //"/" EltGauche=EltExp eltDroit=EltExp public Group getGroup() { return cGroup; } //"/" public Keyword getSolidusKeyword_0() { return cSolidusKeyword_0; } //EltGauche=EltExp public Assignment getEltGaucheAssignment_1() { return cEltGaucheAssignment_1; } //EltExp public RuleCall getEltGaucheEltExpParserRuleCall_1_0() { return cEltGaucheEltExpParserRuleCall_1_0; } //eltDroit=EltExp public Assignment getEltDroitAssignment_2() { return cEltDroitAssignment_2; } //EltExp public RuleCall getEltDroitEltExpParserRuleCall_2_0() { return cEltDroitEltExpParserRuleCall_2_0; } } private ExpressionArithmElements pExpressionArithm; private EltExpElements pEltExp; private ValeurElements pValeur; private PlusElements pPlus; private MoinsElements pMoins; private MultElements pMult; private DivisionElements pDivision; private TerminalRule tDOUBLE; private TerminalRule tML_COMMENT; private TerminalRule tSL_COMMENT; private TerminalRule tWS; private final Grammar grammar; @Inject public ExpArithmGrammarAccess(GrammarProvider grammarProvider) { this.grammar = internalFindGrammar(grammarProvider); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("insa.ExpArithm".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } public Grammar getGrammar() { return grammar; } //ExpressionArithm: // racine=EltExp?; public ExpressionArithmElements getExpressionArithmAccess() { return (pExpressionArithm != null) ? pExpressionArithm : (pExpressionArithm = new ExpressionArithmElements()); } public ParserRule getExpressionArithmRule() { return getExpressionArithmAccess().getRule(); } //EltExp: // Valeur | Plus | Moins | Mult | Division; public EltExpElements getEltExpAccess() { return (pEltExp != null) ? pEltExp : (pEltExp = new EltExpElements()); } public ParserRule getEltExpRule() { return getEltExpAccess().getRule(); } //Valeur: // valeur=DOUBLE; public ValeurElements getValeurAccess() { return (pValeur != null) ? pValeur : (pValeur = new ValeurElements()); } public ParserRule getValeurRule() { return getValeurAccess().getRule(); } //Plus: // "+" EltGauche=EltExp eltDroit=EltExp; public PlusElements getPlusAccess() { return (pPlus != null) ? pPlus : (pPlus = new PlusElements()); } public ParserRule getPlusRule() { return getPlusAccess().getRule(); } //Moins: // "-" EltGauche=EltExp eltDroit=EltExp; public MoinsElements getMoinsAccess() { return (pMoins != null) ? pMoins : (pMoins = new MoinsElements()); } public ParserRule getMoinsRule() { return getMoinsAccess().getRule(); } //Mult: // "*" EltGauche=EltExp eltDroit=EltExp; public MultElements getMultAccess() { return (pMult != null) ? pMult : (pMult = new MultElements()); } public ParserRule getMultRule() { return getMultAccess().getRule(); } //Division: // "/" EltGauche=EltExp eltDroit=EltExp; public DivisionElements getDivisionAccess() { return (pDivision != null) ? pDivision : (pDivision = new DivisionElements()); } public ParserRule getDivisionRule() { return getDivisionAccess().getRule(); } //terminal DOUBLE returns ecore::EDouble: // "0".."9"+ ("." "0".."9"+)?; public TerminalRule getDOUBLERule() { return (tDOUBLE != null) ? tDOUBLE : (tDOUBLE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "DOUBLE")); } //terminal ML_COMMENT: // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return (tML_COMMENT != null) ? tML_COMMENT : (tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ML_COMMENT")); } //terminal SL_COMMENT: // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return (tSL_COMMENT != null) ? tSL_COMMENT : (tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SL_COMMENT")); } //terminal WS: // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return (tWS != null) ? tWS : (tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "WS")); } }