/*
* 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"));
}
}