Next: 7.3 El menú
Up: 7.2 Uso general de
Previous: 7.2.4 Análisis de un
Una vez que el texto ha sido analizado, el texto del editor se rige
por la estructura de componentes léxicos que ha sido creada en el proceso de
análisis. Es por ello que el texto ya no puede ser editado
libremente sino que todas las operaciones de edición deben adaptarse
a la estructura de componentes léxicos.
Existen tres operaciones auténticas de edición, que son:
- Inserción. Para insertar un nuevo componente léxico antes de un componente léxico existente.
- Modificación. Para modificar el texto de un componente léxico.
- Borrado. Para eliminar un componente léxico en el siguiente análisis.
- desborrado. Para retornar a su estado inicial un componente léxico previamente borrado.
Adicionalmente, se dispone de operaciones que actúan sobre el editor de
componentes léxicos pero que no intervienen en la realización de los análisis
incrementales. Estas operaciones son:
- Información. Permite obtener información de un componente léxico.
- Sin acción. Permite indicar que no se va a realizar
ninguna operación de edición.
La realización de cualquiera de estas operaciones involucra un
proceso que consta de las siguientes fases:
- Activar la operación que se desea realizar. Para ello
el usuario debe de realizar alguna de las acciones siguientes:
- Pulsar con el botón izquierdo del ratón en el botón
correspondiente a la operación que se desea realizar.
- Abrir el menú edit y seleccionar la opción que
se corresponde con la operación que se desea llevar a cabo.
- En el caso de una modificación o borrado, indicar el componente léxico sobre
el cual se desea realizar dicha operación. Lo mismo ocurre en
el caso de que se dese obtener información acerca de un componente léxico.
Cuando se trata de realizar una inserción, se indicará el componente léxico
antes del cual se va a insertar el nuevo componente léxico
.
ICEeditor facilita esta tarea permitiendo que el usuario pulse con el botón
izquierdo del ratón en cualquier posición del texto. La aplicación es capaz
de determinar automáticamente el componente léxico al cual pertenece el carácter.
El texto de dicho componente léxico aparecerá resaltado en los colores
correspondientes a la operación que se esté realizando. Estos colores
pueden ser modificados por el usuario. Por defecto, ICEeditor arranca con los siguientes colores:
- Fondo azul y caracteres negros para el texto comprendido
en operaciones de inserción.
- Fondo de color magenta y caracteres blancos para el texto
involucrado en las operaciones de modificación.
- Fondo naranja y caracteres blancos para el texto de los
componentes léxicos que han sido borrados.
- Fondo amarillo y caracteres en negro para el texto del
componente léxico del cual se está solicitando información.
- En el caso de las operaciones de inserción y modificación, el usuario
puede introducir texto mediante el teclado. En la figura
7.7 se muestra a ICEeditor con un texto
sobre el cual se han realizado operaciones de inserción, modificación y
borrado.
Cada una de estas
operaciones presenta ciertas particularidades:
- En el caso de una modificación, el cursor permanecerá situado
en el carácter sobre el que se pulsó el ratón, con todo el
texto del componente léxico resaltado. Se puede insertar y borrar texto
libremente dentro de la zona resaltada.
- En el caso de una inserción, el cursor se situará en el
primer carácter del componente léxico a cuyo texto pertenecía el
carácter sobre el que se pulsó el ratón. En un primer
momento no hay ningún texto resaltado, puesto que aún
no se ha insertado ningún carácter. A medida que el usuario va tecleando,
el texto introducido se mostrará
resaltado en los
colores correspondientes a la operación de inserción.
Se permite borrar texto que ha sido insertado, pero no
borrar ni insertar fuera de los límites señalados por
el texto resaltado.

Figure 7.7: Texto con operaciones de edición de componentes léxicos.
- Una vez que se ha terminado de editar un componente léxico, si se desea
realizar la misma operación sobre otro componente léxico, se repiten los pasos 2 y 3.
En caso de que se desee realizar un tipo de operación distinto sobre otro componente léxico,
se debe repetir el proceso desde el paso 1.
Es conveniente realizar las siguiente aclaraciones sobre el comportamiento de ICEeditor:
- El texto de los componentes léxicos borrados permanecerá en pantalla hasta que se realice
el siguiente análisis, resaltado en los colores correspondientes a la
operación de borrado. Con ello se pretende mostrar al usuario una mejor
perspectiva de las operaciones realizadas sobre los componentes léxicos.
- Una vez que se ha modificado un componente léxico, puede ser seleccionado posteriormente
para volver a ser modificado. Sin embargo, el texto de las
inserciones no puede ser modificado una vez que se ha dado por
finalizada la operación de edición de componentes léxicos en la cual fue
introducido. Ello se debe a que el nuevo componente léxico creado no existirá realmente
hasta que se realice un nuevo análisis sintáctico.
- En la mayoría de las gramáticas, existen caracteres separadores de componentes léxicos.
Al realizar la inserción de un nuevo componente léxico, debe tenerse la precaución de introducir
un carácter que lo separe del componente léxico siguiente. Dicho carácter puede
ser un punto y coma, un espacio, etc., dependiendo de la gramática.
ICEeditor no introduce automáticamente
este carácter porque se trata de una aplicación de carácter general, válida
para cualquier tipo de gramáticas, y la utilización de caracteres separadores es
una característica dependiente de la gramática que se esté utilizando
en cada momento.
- Por la misma razón de la generalidad de ICEeditor, no se imponen restricciones
sobre los caracteres que se pueden incluir en el texto. Por tanto, es posible
introducir caracteres de retorno y avance de línea. En la
figura 7.8 se muestra un texto de prueba en el que
se han realizado operaciones de inserción y modificaciones en las cuales se han
introducido caracteres de ruptura de líneas.

Figure 7.8: Texto con operaciones multilínea de inserción y borrado.
Independientemente de las modificaciones que se hayan realizado en el texto durante las
operaciones de inserción y modificación, ICEeditor se encarga de
mantener automáticamente la correspondencia entre los componentes léxicos y el texto.
Next: 7.3 El menú
Up: 7.2 Uso general de
Previous: 7.2.4 Análisis de un
Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997