Next: 3.2.2 Opciones de implementación
Up: 3.2 El editor de
Previous: 3.2 El editor de
Un editor de componentes léxicos se puede ver como una versión transformada de un editor de
textos habitual, de modo que permita la edición de un texto analizado de
la forma más natural posible que sea compatible con el mantenimiento
de la información precisada por el analizador para que éste sea capaz de realizar
un post-procesamiento incremental eficiente de los cambios introducidos por el
usuario. Para que esto sea posible, debe procederse a un cuidadoso análisis para
determinar las funcionalidades que deberá proporcionar y las tareas que
tendrá que realizar. Es muy importante tener en mente el impacto que tendrá en
el resultado final cada uno de los requerimientos planteados, así como el
esfuerzo computacional requerido por cada uno de ellos.
La lista de requerimientos para el editor de componentes léxicos es la siguiente:
- Al cargar un archivo de texto, mientras éste no sea analizado se deberá
permitir editar su contenido como si se tratase de un editor normal. A tal
efecto podrá:
- Moverse libremente por todo el texto.
- Insertar, borrar y modificar texo.
- Realizar operaciones adicionales de edición (borrar una palabra, borral una línea, etc.)
- Realizar búsquedas y sustituciones.
- Cortar y pegar utilizando el ratón.
Se dispondrá de combinaciones de teclas que permitan realizar rápidamente las
operaciones descritas.
- Cuando el texto sea analizado, se estructurará mediante unidades
elementales que se corresponderán con el texto
asociado a cada uno de los componentes léxicos
resultantes del análisis.
- En un texto analizado, ya no será posible realizar libremente operaciones normales de
edición como las descritas en el primer punto. A partir del análisis,
toda operación que suponga una modificación del texto deberá de ser realizada
basándose en la nueva estructura de unidades textuales que se corresponden con los componentes léxicos.
Las operaciones básicas permitidas serán:
- Insertar texto entre dos componentes léxicos consecutivos.
- Modificar el texto correspondiente a un componente léxico
- Borrar el texto correspondiente a un componente léxico.
- Obtener información de un componente léxico.
La necesidad de este requerimiento estriba en que ICE debe conocer entre
qué componentes léxicos se han realizado las modificaciones respecto al texto del
análisis anterior para poder aplicar
la incrementalidad al siguiente análisis del texto.
- El usuario podrá indicar mediante un simple click del ratón el punto en
el que desea llevar a cabo alguna
de las operaciones permitidas en un texto analizado. Se deberán utilizar recursos
gráficos (fuentes, colores) que permitan distinguir fácilmente el alcance de la modificación
.
Este conjunto de requerimientos expresa la funcionalidad básica que debe proporcionar el
editor de componentes léxicos. Sin embargo, para conseguir un editor realmente útil es
necesario formular un nuevo requisito concerniente a la eficiencia:
- El editor de componentes léxicos deberá realizar las operaciones requeridas en un tiempo
lo suficientemente reducido como para no suponer una sobrecarga en el
proceso de análisis incremental, entendiendo éste como la suma de los
tiempos correspondientes tanto al análisis sintáctico propiamente dicho
como los que se deben al procesamiento provocado por las operaciones de
edición sobre los componentes léxicos. En este tiempo no se deben incluir los periodos
asociados al mecanografiado ni a las operaciones relativas al texto que no
involucren a las estructuras de representación del texto con respecto
a los componentes léxicos.
Este requerimiento tiene una explicación evidente: de nada sirve tener
un sistema de análisis incremental muy rápido, si al realizar una operación
de edición, por ejemplo borrar un componente léxico, se provoca una carga de procesamiento tan
elevada por la reorganización de las estructuras de datos que enlazan
el texto con los componente léxico que llega a ser excesivamente significativa respecto al total e incluso
perceptible por parte del el usuario: probablemente se emplearía menos tiempo realizando un
reanálisis total mediante técnicas clásicas.
Next: 3.2.2 Opciones de implementación
Up: 3.2 El editor de
Previous: 3.2 El editor de
Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997