31 #include "PilaPunteros.h"    51         Rama *nuevo_nodo= 
new Rama(s,izdo,dcho);
    54     inline void InsertaOperando(Pila &pila,
const Operando *s)
    56         Rama *opndo= NuevoNodo(s,NULL,NULL);
    59     inline void InsertaOpUnario(Pila &pila,
const Operando *s)
    61         Rama *opndo= pila.Pop();
    62         Rama *opuni= NuevoNodo(s,NULL,opndo);
    65     inline void InsertaOpBinario(Pila &pila,
const Operando *s)
    67         Rama *opndo2= pila.Pop();
    68         Rama *opndo1= pila.Pop();
    69         Rama *opbin= NuevoNodo(s,opndo1,opndo2);
    72     inline Rama *FinExpresion(Pila &pila)
    74         Rama *retval= pila.Pop();
    75         if (pila.size() > 0) std::cerr << 
"Error en la expresion" << std::endl;
    80     Rama *Traduce(
const std::string &cadena_entrada);
    81     void InicFromStr(
const std::string &str);
    84     inline const double &GetValor(
void)
 const    85       { 
return raiz->GetValor(); }
    90     void Dif(
const std::string &var);
    91     inline void Simplifica(
void)
    92       { 
if(raiz) raiz= simplifica(raiz); }
    93     inline void Distrib(
void)
    94       { 
if(raiz) raiz= distrib(raiz); }
   113     const double &ToNum(
void) 
const;
   115     const double &ToNum(
const std::string &palabra,
const double &d) 
const;
   116     const double &ToNum(
const MapValores &) 
const;
   117     inline virtual bool Evaluable(
void)
 const   129     void Asigna(
const std::string &palabra,
const ArbolExpr &a);
   130     static void Asigna(
const std::string &palabra,
const double &d)
   132     void DesAsigna(
const std::string &palabra)
   145     void Print(std::ostream &os) 
const;
   153 std::istream &operator>>(std::istream &stream,
ArbolExpr &a);
 void Opera(void)
Opera todo el árbol. 
Definition: ArbolExpr.cc:185
void Print(std::ostream &os) const
Imprime la expresión en el stream que se pasa como parámetro. 
Definition: ArbolExpr.cc:322
Árbol que representa una expresión matemática. 
Definition: ArbolExpr.h:41
Clase base de los operadores unarios y binarios. 
Definition: Operador.h:30
ArbolExpr(void)
Constructor por defecto. 
Definition: ArbolExpr.cc:34
void Sqrt(void)
Aplica el operador "raíz cuadrada" a la expresión contenida en el árbol. 
Definition: ArbolExpr.cc:240
Definition: Variable.h:31
Especifica valores de variables. 
Definition: MapValores.h:32
Definition: ConjVariables.h:30
Definition: ExprPostfija.h:33
friend ArbolExpr sqrt(const ArbolExpr &)
Devuelve la raíz cuadrada del argumento. 
Definition: ArbolExpr.cc:382
virtual bool operator==(const ArbolExpr &) const
Comparison operator. 
Definition: ArbolExpr.cc:63
int NumVariables(void) const
Devuelve el número de variables que intervienen en la expresión. 
Definition: ArbolExpr.cc:314
void Dif(const std::string &var)
Diferencia la expresión respecto a la variable cuyo identificador se pasa como parámetro. 
Definition: ArbolExpr.cc:248
Operando. 
Definition: Operando.h:42
std::string GetString(void) const
Devuelve una text string con el contenido de la expresión. 
Definition: ArbolExpr.cc:326
ConjVariables Variables(void) const
Devuelve el conjunto de variables que aparecen en la expresión. 
Definition: ArbolExpr.cc:280
void Abs(void)
Aplica el operador "valor absoluto" a la expresión contenida en el árbol. 
Definition: ArbolExpr.cc:233
std::vector< std::string > getNamesOfVariables(void) const
Return the names of the variables. 
Definition: ArbolExpr.cc:318
friend std::ostream & operator<<(std::ostream &stream, const ArbolExpr &a)
Inserta en stream de salida. 
Definition: ArbolExpr.cc:342
void OperaToNum(void)
Procesa los operadores to_num que haya en la expresión. 
Definition: ArbolExpr.cc:192
static void Asigna(const std::string &palabra, const double &d)
Assigns to the variable named 'palabra' the value being passed as parameter. 
Definition: ProtoExpr.cc:72
bool TieneVariable(const std::string &palabra) const
Return true if the expression depends on the variable name being passed as parameter. 
Definition: ArbolExpr.cc:293
Definition: PilaPunteros.h:29
ArbolExpr & operator=(const ArbolExpr &otro)
Operador asignación. 
Definition: ArbolExpr.cc:82
Definition: ExprFunctor.h:28
Definition: ExprBase.h:28
bool Evaluable(void) const
Devuelve verdadero si la rama es evaluable. 
Definition: Rama.cc:166
static void DesAsigna(const std::string &palabra)
Removes the assignment to the variable which name is being passed as parameter. 
Definition: ProtoExpr.cc:76
friend ArbolExpr abs(const ArbolExpr &)
Devuelve el valor absoluto del argumento. 
Definition: ArbolExpr.cc:374
void Neg(void)
Cambia de signo la expresión contenida en el árbol. 
Definition: ArbolExpr.cc:226
const std::string & GetFullString(void) const
Devuelve una text string con el contenido de la expresión representando los valores reales con toda l...
Definition: ArbolExpr.cc:334