Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

Referencia de la Clase EXPRESION_REGULAR

#include <regexp.h>

Diagrama de herencias de EXPRESION_REGULAR

Inheritance graph
[leyenda]
Diagrama de colaboración para EXPRESION_REGULAR:

Collaboration graph
[leyenda]
Lista de todos los miembros.

Métodos públicos

 EXPRESION_REGULAR ()
virtual ~EXPRESION_REGULAR ()
void elim (void)
BOOLEAN init (char *fuente)
 Este metodo recibe una cadena de caracteres que contiene una expresion regular, y construye una estructura jerarquica que representa dicha expresion.

void imprimir (void)
double evaluar (double t)
BOOLEAN consultar_variable (const char *nombre_variable, int &tipo, void **ref)
 Éste método, junto con `actualizar_variable` es el núcleo del esquema de introspección AQUYNZA.


Métodos privados

BOOLEAN leer (LISTA< char * > *Tokens)
 Esta funcion es recursiva, y lo que hace es convertir una lista de tokens en la correspondiente representacion jerarquica de la expresion representada en la lista de tokens.

int clasificar_funcion (char *cad)

Atributos privados

int tipo
EXPRESION_REGULARIzq
EXPRESION_REGULARDer
char * nombre_variable
double valor
double ultimo_t

Documentación del constructor y destructor

EXPRESION_REGULAR::EXPRESION_REGULAR  ) 
 

Definición en la línea 41 del archivo regexp.C.

References Der, Izq, nombre_variable, OP_INVALIDO, tipo, ultimo_t, y valor.

Referenciado por leer().

EXPRESION_REGULAR::~EXPRESION_REGULAR  )  [virtual]
 

Definición en la línea 51 del archivo regexp.C.

References elim().

Here is the call graph for this function:


Documentación de las funciones miembro

int EXPRESION_REGULAR::clasificar_funcion char *  cad  )  [private]
 

Definición en la línea 93 del archivo regexp.C.

References FN_COS, FN_LOG, FN_SIN, y OP_INVALIDO.

Referenciado por leer().

BOOLEAN EXPRESION_REGULAR::consultar_variable const char *  nombre_variable,
int &  tipo,
void **  ref
[virtual]
 

Éste método, junto con `actualizar_variable` es el núcleo del esquema de introspección AQUYNZA.

La introspección permite consultar y/o actualizar cualquier variable de cualquier tipo mediante una interfaz unificada.

Éste método retorna TRUE si la operación de consulta en introspección fue válida o FALSE si no (ya sea porque el tipo de datos era incorrecto o el nombre de variable suministrado no existe dentro de la clase). Éste método deberá ser sobrecargado por las clases que se deseen entren al esquema de introspección AQUYNZA (y las cuales heredarán de ésta clase). El comportamiento por defecto es tener la introspección desactivada (siempre retornar FALSE).

Reimplementado de ENTIDAD.

Definición en la línea 59 del archivo regexp.C.

References evaluar(), T_FLOAT, TMP_float, y ultimo_t.

Here is the call graph for this function:

void EXPRESION_REGULAR::elim void   ) 
 

Definición en la línea 74 del archivo regexp.C.

References Der, Izq, nombre_variable, OP_INVALIDO, tipo, y valor.

Referenciado por init(), y ~EXPRESION_REGULAR().

double EXPRESION_REGULAR::evaluar double  t  ) 
 

Definición en la línea 377 del archivo regexp.C.

References Der, FN_COS, FN_LOG, FN_SIN, Izq, OP_DIVISION, OP_EXPONENTE, OP_MULTIPLICACION, OP_NEGACION, OP_RESTA, OP_SUMA, RA_CONSTANTE, RA_VARIABLE, tipo, ultimo_t, y valor.

Referenciado por consultar_variable(), SEGMENTO_DE_CURVA_PARAMETRICA::evaluar(), CURVA_PARAMETRICA::leer(), SEGMENTO_DE_CURVA_PARAMETRICA::leer(), y ESPACIO_ABIERTO::leer_espacio().

void EXPRESION_REGULAR::imprimir void   ) 
 

Definición en la línea 323 del archivo regexp.C.

References Der, FN_COS, FN_LOG, FN_SIN, Izq, nombre_variable, OP_DIVISION, OP_EXPONENTE, OP_MULTIPLICACION, OP_NEGACION, OP_RESTA, OP_SUMA, RA_CONSTANTE, RA_VARIABLE, tipo, y valor.

BOOLEAN EXPRESION_REGULAR::init char *  fuente  ) 
 

Este metodo recibe una cadena de caracteres que contiene una expresion regular, y construye una estructura jerarquica que representa dicha expresion.

Si todo sale bien retorna TRUE, y si hay algun error (i.e. un parse-error en la expresion) se retorna FALSE.

Definición en la línea 252 del archivo regexp.C.

References LISTA< T >::anx(), BOOLEAN, LISTA< T >::elim(), elim(), leer(), y LISTA< T >::tam().

Referenciado por CURVA_PARAMETRICA::leer(), SEGMENTO_DE_CURVA_PARAMETRICA::leer(), y ESPACIO_ABIERTO::leer_espacio().

Here is the call graph for this function:

BOOLEAN EXPRESION_REGULAR::leer LISTA< char * > *  Tokens  )  [private]
 

Esta funcion es recursiva, y lo que hace es convertir una lista de tokens en la correspondiente representacion jerarquica de la expresion representada en la lista de tokens.

OJO: Esto esta hecho muy "ad-hoc"... deberia re-escribirse usando una manera mas formal de trabajar...

Definición en la línea 108 del archivo regexp.C.

References LISTA< T >::anx(), clasificar_funcion(), Der, LISTA< T >::elimElem(), EXPRESION_REGULAR(), Izq, nombre_variable, OP_DIVISION, OP_EXPONENTE, OP_INVALIDO, OP_MULTIPLICACION, OP_NEGACION, OP_RESTA, OP_SUMA, RA_CONSTANTE, RA_VARIABLE, LISTA< T >::tam(), tipo, y valor.

Referenciado por init().

Here is the call graph for this function:


Documentación de los datos miembro

EXPRESION_REGULAR* EXPRESION_REGULAR::Der [private]
 

Definición en la línea 50 del archivo regexp.h.

Referenciado por elim(), evaluar(), EXPRESION_REGULAR(), imprimir(), y leer().

EXPRESION_REGULAR* EXPRESION_REGULAR::Izq [private]
 

Definición en la línea 49 del archivo regexp.h.

Referenciado por elim(), evaluar(), EXPRESION_REGULAR(), imprimir(), y leer().

char* EXPRESION_REGULAR::nombre_variable [private]
 

Definición en la línea 51 del archivo regexp.h.

Referenciado por elim(), EXPRESION_REGULAR(), imprimir(), y leer().

int EXPRESION_REGULAR::tipo [private]
 

Definición en la línea 48 del archivo regexp.h.

Referenciado por elim(), evaluar(), EXPRESION_REGULAR(), imprimir(), y leer().

double EXPRESION_REGULAR::ultimo_t [private]
 

Definición en la línea 53 del archivo regexp.h.

Referenciado por consultar_variable(), evaluar(), y EXPRESION_REGULAR().

double EXPRESION_REGULAR::valor [private]
 

Definición en la línea 52 del archivo regexp.h.

Referenciado por elim(), evaluar(), EXPRESION_REGULAR(), imprimir(), y leer().


La documentación para esta clase fué generada a partir de los siguientes archivos:
Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.