next up previous contents
Next: 5.4.1 Las variables de Up: 5 El análisis léxico Previous: Conclusiones

5.4 La integración con ICEeditor

Desde el punto de vista del usuario, no existe ningún tipo de interacción entre el analizador léxico y ICEeditor. Ciertamente, no existe ningún medio por el cual el usuario pueda actuar directamente sobre el reconocedor léxico. Es tarea del analizador sintáctico realizar las llamadas que sean necesarias a la función yylex para obtener los componentes léxicos del texto. El usuario dispone de medios para llamar al parser en modo incremental o de reanálisis total. La actividad del analizador léxico le es totalmente transparente.

Sin embargo, desde un punto de vista de integración de todos los elementos, sí es necesaria una comunicación directa entre ICEeditor y el lexical. Esto se debe a que ICEeditor precisa obtener información acerca de la situación de los componentes léxicos en la pantalla. Hablando más propiamente, necesita conocer dónde empieza y dónde termina el texto de cada componente léxico reconocido, tomando como referencia el texto total que se está analizando. Sin esta información sería imposible proporcionar servicios de edición de componentes léxicos.

Esta información no puede ser obtenida a través del analizador sintáctico, puesto que los analizadores generados por ICE ignoran cualquier información posicional a nivel de carácter, interesándose únicamente por la secuencia de componentes léxicos que han sido reconocidos por el analizador léxico.

Puesto que el analizador léxico sí que está directamente involucrado en el manejo de los caracteres, será con este módulo con el que ICEeditor tendrá que establecer la comunicación para recuperar la información que le interesa.

Como ICEeditor ha sido escrito en LE-LISP y el analizador léxico ha sido generado en código C, es necesario utilizar la interfaz de comunicación entre ambos lenguajes que se muestra en el capítulo 4. Concretamente, se van a utilizar las facilidades de enlace dinámico de los programas LE-LISP con módulos C compilados para establecer esta comunicación.




next up previous contents
Next: 5.4.1 Las variables de Up: 5 El análisis léxico Previous: Conclusiones

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