Subido por Valeria Mercado

Funciones primitivas

Anuncio
Funciones primitivas
Diseño estructurado de Algoritmos
Profesor Roberto Gerardo Heredia Jaramillo
Claudia Montserrat Mercado Rangel
ID 00332580 |
Funciones primitivas para diseñar instrucciones
Las Sentencias de Control hacen uso de una serie de palabras reservadas,
parecidas a los lenguajes de programación de alto nivel, que simplifican la
escritura de reglas al ser parecido a escribir un fragmento de código de un
programa de ordenador. Veamos algunas de estas palabras reservadas:
•
•
•
•
Declaración de Variables: bool, string, int.
Comparativas: ifb, ifs, ifi.
Bucles: whileb, whiles, whilei.
Otros símbolos: { , } , ( , ) , [ , ] , = == , != , >= , ..+, -, &&, ||
¿Qué son la estructura de funciones primitivas?
Al Módulo de Transformación Estructural entran varias estructuras de datos de
entrada asociadas a la consulta en LN que se está procesando (*.MAP o frase
mapeada conceptualmente, *.RAS o rasgos semánticos asociados a los conceptos
de la consulta, y *.ETQ o árbol de análisis). Para este módulo el árbol de análisis
está formado por una serie de nodos interrelacionados, nodos terminales (OBJ,
CAR, CAROBJ, PTOGCO, COMP, DIST, V, CONT, FINT) y nodos no terminales
(QT, QC, QCC, QS). Los fragmentos de LN segmentados conceptualmente y
marcados a nivel conceptual con los rasgos, cuelgan de uno de los nodos
terminales del árbol de la consulta. Para el Módulo de Transformación, cada nodo
tiene una bandera o indicativo de estado (Procesado o No Procesado). Las reglas
se aplican de forma iterativa y secuencial hasta que todos los nodos del árbol han
sido procesados, momento en el cuál, y así procedía, el árbol (o estructura) ha
sido modificado.
Como salida se obtienen (en el caso de que se apliquen las reglas) varias
consultas en LN que serán enviadas por el Módulo de Control al Módulo Traductor
a SQL, más las funciones (monarias, binarias) que se forman parte de las
consultas, y la relación entre las consultas y las funciones. Toda esta información
se dispone en una estructura de datos *.QRY.
El Módulo de Transformación aplica sobre cada nodo un conjunto de Reglas de
Transformación que describiremos con algo más de detalle en el siguiente
apartado. Estas reglas son interpretadas secuencialmente (el módulo es un
intérprete de reglas), y son leídas de un fichero de texto donde se encuentran
implementadas en base a un lenguaje de reglas desarrollado en esta tesis para tal
fin. Este lenguaje es parecido a “C”, y consta de:
•
•
Primitivas (funciones básicas)
Sentencias de Control (bucles, comparaciones, etc)
Las primitivas diseñadas e incorporadas al lenguaje (pueden modificarse o
añadir nuevas primitivas fácilmente) están pensadas para escribir las reglas de
transformación de forma fácil e intuitiva. Veamos algunas de ellas:
int APARICIONES_CONCEPTO ( )
bool CAMBIA_PROCESADO_NODO ( )
bool COPIAR_NODO ( )
int CREAR_HERMANO ( )
int CREAR_TERMINAL ( )
string ESTADO_NODO ( )
bool EXISTE_CONCEPTO ( )
bool EXISTE_CATEGORIA ( )
bool EXISTE_PALABRA ( )
bool EXISTE_PAR ( )
bool EXISTE_RASGO ( )
bool MODIFICAR_RASGO ( )
int NODO_HIJO ( )
int NODO_HERMANO ( )
int NODO_PADRE ( )
int NODO_CONCEPTO ( )
int INDICE_HIJO ( )
int INDICE_HERMANO ( )
Descargar