Nodo de expresión. Más...

#include <expNode.h>

Diagrama de herencias de expNode
objectTypeNode printableNode runNode dexpNode fexpNode nexpNode arithNode arrayNode logicNode nullNode regexpNode stringNode functionNode andNode arrayChunkNode arraydeleteNode arrayfirstNode arrayinsertNode arraylastNode asigNode asigrefNode contextFunction evalNode explodeNode functioncallNode functiongetNode getiNode getNode getNode_strInterface getRefNode idNode namespaceNode newNode newregexpNode notnullNode orNode partialFunctionNode pluginNode reduceNode searchNode ternNode thisNode

Métodos públicos

virtual void setNodeValue (runNode *node)
 
- Métodos públicos heredados desde objectTypeNode
 objectTypeNode ()
 
runNode * getMethod (runNode *key)
 
refNode * getMethodRef (runNode *key)
 
virtual runNode * getClass ()
 
virtual void setClass (runNode *c)
 
- Métodos públicos heredados desde printableNode
virtual string print () const =0
 
- Métodos públicos heredados desde runNode
 runNode (string str)
 
 runNode ()
 
virtual void run ()=0
 
virtual void addRef ()
 
virtual void rmRef ()
 
virtual bool is_print () const
 
virtual bool is_runlist () const
 
virtual bool is_string () const
 
string getPtrString ()
 

Métodos públicos estáticos

static runNode * clone (runNode *node)
 
- Métodos públicos estáticos heredados desde runNode
static bool compare (runNode *node1, runNode *node2, int op=0)
 

Descripción detallada

Nodo de expresión.

Una expresión tiene asociado un valor resultado de su evaluación.

Los nodos expresiones pueden ser de dos tipos:

  • Definidos (dexpNode): Tienen un valor interno definido. Por ejemplo un stringNode se representa mediante un string.
  • No definidos (nexpNode): Tienen un valor interno no definido, haciendo referencia a un nodo ejecutable. Por ejemplo, una expresión de asignación tomará una referencia al nodo asignado, este valor puede ser string, array ....

Los nodos expresión son la base de muchos otros nodos que representan datos, operadores... Estos nodos serán utilizados como parte de una sentencia.

Documentación de las funciones miembro

runNode * expNode::clone ( runNode *  node)
static

Método que toma un nodo y lo clona en función de su tipo.

Parámetros
nodeNodo a clonar.
Devuelve
Nodo nuevo.
void expNode::setNodeValue ( runNode *  node)
virtual

Establece el valor del nodo. Este método puede ser escrito en los nodos derivados.

Parámetros
nodeNodo que se toma como valor.

Reimplementado en stringNode, arithNode y logicNode.


La documentación para esta clase fue generada a partir de los siguientes ficheros:
  • trunk/src/run/tree/expNode.h
  • trunk/src/run/tree/expNode.cpp