next up previous contents
Next: 6.3.4 Proceso de actualización Up: 6.3 Integración con el Previous: 6.3.2 Estructuras de datos

6.3.3 Funciones de actualización del componente léxico

Para poder realizar una actualización consistente de la información del componente léxico, lo cual implica mantener la coordinación entre todas las lista que componen la estructura mediante la cual se implementa la variable token, se ha definido un conjunto de funciones que evitan la realización de actualizaciones manuales de tal variable.

Estas funciones han sido testeadas y se han mostrado seguras en el tratamiento de la información del componente léxico. Siempre que se deba modificar cualquier dato almacenado en token se debe hacer uso de ellas, evitando el acceso ad hoc, fuente potencial de problemas de inconsistencia de la información.

A continuación se muestra una lista de las funciones que se han considerado. Todas ellas reciben al menos un argumento: un puntero a una estructura ice_lex_object. Si hay argumentos adicionales, se indican en la descripción que se hace de cada una de ellas.

En primer lugar se van a mostrar las funciones que realizan el proceso de inicialición de la variable token y del conjunto de las listas de enteros y cadenas de carácteres:

A continuación se muestran las funciones encargadas de la actualización de los valores almacenados en las listas de los diferentes campos incluidos en la variable token. Cada función recibe al menos como argumento un puntero a una estructura ice_lex_token.

Una función adicional que ha sido preciso definir es concat. Su misión es la de realizar la concatenación de dos cadenas de caracteres que se pasan como argumentos. A diferencia de la función estándar strcat, la cual concatena físicamente la segunda cadena al final de la primera, esta función crea una nueva cadena de caracteres, reservando el espacio de memoria necesario, en el que copia secuencialmente los caracteres de ambas cadenas. El valor retornado es un puntero al primer carácter de esta nueva cadena de caracteres.


next up previous contents
Next: 6.3.4 Proceso de actualización Up: 6.3 Integración con el Previous: 6.3.2 Estructuras de datos

Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997