Referencia de la Clase asigNode

Nodo asignación. Más...

#include <symbolOpNode.h>

Diagrama de herencias de asigNode
nexpNode expNode objectTypeNode printableNode runNode

Métodos públicos

 asigNode (runNode *node1, runNode *node2)
 
void run ()
 
void runLevel ()
 
void setValue (runNode *node)
 
runNodegetLeft ()
 
runNodegetRight ()
 
bool is_runlist () const
 
- Métodos públicos heredados desde nexpNode
virtual refNoderef ()
 
virtual void noderef (runNode *node)
 
virtual runNodenodeval () const
 
virtual void setRef (refNode *node)
 
virtual refNodegetRef ()
 
void asig (runNode *&node, bool run=true)
 
void setVal (runNode *node)
 
string print () const
 
- Métodos públicos heredados desde expNode
virtual void setNodeValue (runNode *node)
 
- Métodos públicos heredados desde objectTypeNode
 objectTypeNode ()
 
runNodegetMethod (runNode *key)
 
refNodegetMethodRef (runNode *key)
 
virtual runNodegetClass ()
 
virtual void setClass (runNode *c)
 
- Métodos públicos heredados desde runNode
 runNode (string str)
 
 runNode ()
 
virtual void addRef ()
 
virtual void rmRef ()
 
virtual bool is_print () const
 
virtual bool is_string () const
 
string getPtrString ()
 

Otros miembros heredados

- Métodos públicos estáticos heredados desde nexpNode
static runNoderesolved (runNode *&node)
 
static runNoderesolvedRef (runNode *&node)
 
static runNoderesolved (runNode *&node, runNode *&ref)
 
static runNoderesolvedAsFunction (runNode *&node)
 
static runNoderesolvedAsFunction (runNode *&node, runNode *&ref)
 
static runNoderesolv (runNode *node)
 
- Métodos públicos estáticos heredados desde expNode
static runNodeclone (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 asignación.

Asigna el valor de un nodo a otro. La asignación se debe realizar sobre una expresión de tipo no definido, modificándose la referencia interna de este al nodo asignado.

Si el nodo que es asignado es constante será clonado y se asignará la copia. Si el nodo es dinámico se asigna el propio nodo aumentaándose el número de referencias del mismo.

La asignación es en si misma una expresión de tipo no definido cuyo valor tras la ejecución será el nodo asignado.

Documentación del constructor y destructor

asigNode::asigNode ( runNode node1,
runNode node2 
)

Construcutor de la clase que asocia los nodos al nodo operación de asignación

Parámetros
node1Nodo sobre el que se realizará la asignación
node2Nodo que será asignado

Documentación de las funciones miembro

runNode * asigNode::getLeft ( )

Obtiene la parte izquierda del operador

Devuelve
Nodo de la parte izquierda del operador
runNode * asigNode::getRight ( )

Obtiene la parte derecha del operador

Devuelve
Nodo de la parte derecha del operador
bool asigNode::is_runlist ( ) const
virtual

Las asignaciones deben ser ejecutadas cunado se encuentran dentro de una lista.

Reimplementado de runNode.

void asigNode::run ( )
virtual

Método que ejecuta el nodo. Se lleva a cabo la asignación, para ello se procesa el lado derecho de la asignación. Luego este valor es asignado a como referencia del lado izquierdo.

Tras la ejecución se toma como valor el nodo asignado

Implementa runNode.

void asigNode::runLevel ( )

Método que ejecuta el nodo entre niveles de la tabla de símbolos. Se lleva a cabo la asignación, para ello se procesa el lado derecho de la asignación en el nivel anterior de la tabla de símbolos. Luego este valor es asignado a como referencia del lado izquierdo en el nivel actual de la tabla de símbolos.

Generalmente el lado izquierdo de la expresión será un identificador.

Tras la ejecución se toma como valor el nodo asignado

void asigNode::setValue ( runNode node)

Asigna el valor de un nodo dado al referencia del nodo del lado izquierdo del operador


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