/// <summary> /// --------------------------------------------------------------------------- /// | Analyse lexicale : évaluation d'une variable ou d'une constante | /// --------------------------------------------------------------------------- /// </summary> /// <returns></returns> private IElementCalcul LitValeur() { IElementCalcul retour; if (_tokenCourant.TypeToken == ENTypeToken.ENNombre) { // C'est un nombre retour = new ElementCalculValeur(_tokenCourant.Text); // convertion en float LitTokenSuivant(); } else if (_tokenCourant.TypeToken == ENTypeToken.ENIdentifiant)//gestion des variables { retour = LitVariable(); } else { // Erreur de syntaxe throw (new FormatException(Calculateur.ResourceManager.GetString("ErreurSyntaxe"))); } return(retour); }
// --------------------------------------------------------------------------- // | Analyse lexicale : évaluation d'une variable ou d'une constante | // --------------------------------------------------------------------------- private IElementCalcul LitValeur() { IElementCalcul retour; EnCaract typCaractCourant = LitCaractere(mTokenCourant[0]); if (typCaractCourant == EnCaract.enCHIFFRE) { // C'est un nombre retour = new ElementCalculValeur(mTokenCourant); // convertion en float LitToken(); } else if (typCaractCourant == EnCaract.enLETTRE) //gestion des variables { retour = LitVariable(); } else { // Erreur de syntaxe throw (new Exception("Erreur de syntaxe")); } return(retour); }
/// <summary> /// Visit d'un ElementCalculValeur /// </summary> /// <param name="elt"></param> void IVisiteurIElement.Visit(ElementCalculValeur elt) { _valeurCourante = elt.Valeur; }