Referencia de la Clase functioncallNode

Nodo de llamada a función. Más...

#include <funcNode.h>

Diagrama de herencias de functioncallNode
nexpNode expNode objectTypeNode printableNode runNode

Métodos públicos

 functioncallNode (runNode *id, runNode *params)
 
void run (bool excep, runNode *obj=NULL, classNode *parent=NULL, sTable *context=NULL)
 
void run ()
 
- 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_runlist () 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 de llamada a función.

Este nodo representa una llamada a función. Parte de un identificador y una lista de valores que hacen de parámetros.

Su ejecución consiste en, haciendo uso del identificador, obtener la función de la tabla de símbolos y ejecutar el cuerpo de esta pasándole la lista de valores como parámetros.

Una llamada a función es un nodo de tipo expresión no definida, que referencia el valor devuelto por la ejecución.

Documentación del constructor y destructor

functioncallNode::functioncallNode ( runNode id,
runNode params 
)

Constructor de la clase.

Parámetros
idIdentificador de la función.
paramslista de valores para los parámetros.

Documentación de las funciones miembro

void functioncallNode::run ( bool  excep,
runNode obj = NULL,
classNode parent = NULL,
sTable context = NULL 
)

Ejecución del nodo. Haciendo uso del identificador obtiene la función de la tabla de símbolos y llama al método call de la misma pasándole la lista de valores como parámetros, lo que significa que se llevará a cabo la ejecución de la función. Como valor se obtiene un nodo ejecutable creado a partir de una excepción return durante la ejecución. En caso de no suceder dicha excepción se toma como valor nulo

Parámetros
excepDetermina si se lanza una excepción en el caso de que no exista una función con el identificador dado.
objObjeto que se asociará a la función para que sea ejecutada como método.
parentClase que se usará como padre en la llamada a función.
contextContexto del cual se obtendrán las tablas de símbolos.
void functioncallNode::run ( )
virtual

Ejecución del nodo. Haciendo uso del identificador para obtener la función de la tabla de símbolos. Luego llama al método call de la misma, pasándole la lista de valores como parámetros, lo que significa que se llevará a cabo la ejecución de la función. Como valor se obtiene un nodo ejecutable creado a partir de una exepción return durante la ejecución. En caso de no suceder dicha excepción se toma como valor nulo.

Implementa runNode.


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