/// <summary> /// Lecteur d'une variable /// </summary> /// <returns></returns> private IElementCalcul LitVariable() { string nomVariable = mTokenCourant; IElementCalcul retour; LitToken(); if (mTokenCourant == "=") { LitToken(); retour = LitSomme(); retour = new ElementCalculAffectVar(new ElementCalculVariable(nomVariable), retour); } else { if (mParamsFonctionCourante.ContainsKey(nomVariable)) //C'est le paramètre de la fonction en court de définition { retour = new ElementCalculVariable(mParamsFonctionCourante[nomVariable]); } else //C'est une variable { retour = new ElementCalculVariable(nomVariable); } } return(retour); }
/// <summary> /// Lecteur d'une variable /// </summary> /// <returns></returns> private IElementCalcul LitVariable() { Token nomVariable = _tokenCourant; IElementCalcul retour; LitTokenSuivant(); if (_tokenCourant.TypeToken == ENTypeToken.ENEgal) { LitTokenSuivant(); retour = LitSomme(); retour = new ElementCalculAffectVar(new ElementCalculVariable(nomVariable.Text), retour); } else { if (_paramsFonctionCourante.ContainsKey(nomVariable.Text)) //C'est le paramètre de la fonction en court de définition { retour = new ElementCalculVariable(_paramsFonctionCourante[nomVariable.Text]); } else //C'est une variable { retour = new ElementCalculVariable(nomVariable.Text); } } return(retour); }
/// <summary> /// Visit d'un ElementCalculAffectVar /// </summary> /// <param name="elt"></param> void IVisiteurIElement.Visit(ElementCalculAffectVar elt) { elt.Valeur.Accept(this); _contexVariables.Ajouter(elt.Variable.NomVariable, _valeurCourante); }