Capítulo X : El Entorno de desarrollo 10. El Entorno de Desarrollo 10.1 Introducción Para permitir el cómodo desarrollo de un conjunto riguroso y razonablemente completo de reglas para análisis de estilo, es conveniente disponer de una herramienta que integre, y facilite las distintas subtareas que el investigador debe realizar: • Edición de ficheros de texto y reglas: durante la fase de desarrollo y depuración del sistema de reglas , es necesario escribir, modificar y validar una gran cantidad de ficheros de reglas. A fin de evaluar su correcto funcionamiento, es igualmente necesario procesar textos diversos donde esas nuevas reglas encuentren o no su aplicación. Sería, por lo tanto, de gran ayuda disponer de un editor multi-documento de formato ASCII (aquel que el programa acepta como entrada), que funcione bajo el popular entorno gráfico MS-Windows. La adopción de este sistema operativo tan extendido y estándar, facilita el análisis de textos que hayan sido editados con procesadores de texto diferentes al del propio entorno (muy limitado en cuanto a posibilidades de dar formato a los textos). • Verificación de los ficheros de reglas: la sintaxis del lenguaje de definición de reglas, descrita en capítulos anteriores, aún estando diseñada para ser usada por lingüistas sin conocimientos informáticos, puede ser objeto de 146 Capítulo X : El Entorno de desarrollo numerosos errores de transcripción. En el proceso que lleva al desarrollador desde la idea intuitiva de una regla que contemple determinada construcción morfo-sintáctica que él considera muy significativa a la hora de analizar en estilo de un texto, hasta su plasmación formal bajo las restricciones sintácticas del lenguaje de definición, es posible cometer muchos errores de escritura de reglas. • Análisis de un texto: una vez que hayamos capturado el texto y escrito el conjunto de instrucciones o reglas que deseamos que se le apliquen, es necesario llevar a cabo el análisis del documento a fin de obtener sus estadísticos fundamentales. Esta fase, lejos de ser la última del proceso, es el comienzo de la iteración de desarrollo, que nos llevará a revisar el texto, el conjunto de reglas y, finalmente, de nuevo al análisis. 10.2 Descripción del entorno Para la construcción del entorno integrado de desarrollo de reglas de estilo se ha empleado la conocida librería OWL 2.0 (Object Windows Library), diseñada por Borland e integrada dentro del mismo paquete que contiene el compilador C++ 4.5, utilizado a lo largo del presente Proyecto Fin de Carrera. Dicha librería nos permitía disponer de un conjunto de clases que facilitan considerablemente la programación de aplicaciones para entorno Windows 3.x. El núcleo fundamental de nuestro entorno lo constituye un programa MDI (Multiple Document Interface), un editor multi-ventana y multidocumento en código ASCII (carece de caracteres especiales para dar formato, por lo cual es el entorno adecuado para el programa de análisis), con manejo normalizado tanto del ratón como del teclado. La pantalla principal consta de cinco zonas. Numerándolas de arriba a abajo, estas áreas son: 147 Capítulo X : El Entorno de desarrollo 1. La barra de título: en la parte superior, como en todos los programas estándar para Windows 3.x; contiene no sólo el nombre del programa. sino también tres botones: los de minimizar y maximizar, a la derecha; y el general, en la esquina superior izquierda. 2. El menú principal: con los sub-apartados de Ficheros (manejo de ficheros), Edición (edición de texto), Buscar (búsquedas en el texto), Análisis (programa de análisis propiamente dicho), Ventanas (manejo de ventanas) y Ayuda (ayuda general sobre el entorno). 3. Barra de iconos: con aceleradores para las principales funciones disponibles a través del menú principal (crear nuevo documento, abrir uno ya existente, etc.) 4. Ventana Principal: es el tapiz que sirve de fondo a las ventanas de edición de documentos (en la Ilustración 1 se pueden ver los ficheros de reglas adjetivo.rgl y adverbio.rgl). Cada ventana de edición contiene a su vez su propia barra de título, sus barras de desplazamiento vertical y horizontal (para permitir acceder a zonas de texto fuera de pantalla) y su zona de edición. 5. Barra de estado: en la parte inferior podemos ver información de ayuda acerca del botón, icono u opción del menú sobre el que en ese momento se encuentra el ratón o que ha sido resaltado usando el teclado (por ej., en la Ilustración 1 el programa nos muestra información acerca del botón de impresión, que es el décimo por la izquierda en la barra de iconos). 148 Capítulo X : El Entorno de desarrollo Ilustración 1 10.3 Manejo de ficheros El programa utiliza tres tipos de ficheros, principalmente (también se emplean ficheros de resultados, ficheros de diccionario, ficheros de configuración, pero a estos ficheros se accede en menor número de ocasiones: dado que son ficheros de códigos ASCII, se editarían como un fichero de texto cualquiera): • Ficheros de texto: son los ficheros cuyo estilo deseamos analizar por medio del entorno. Aunque, al igual que los demás, pueden ser editados desde el entorno (este es el procedimiento usual durante la fase de depuración de reglas: editamos ficheros que prueban una o varias reglas de forma aislada), lo más normal será que sea necesario importarlos desde otros procesadores de texto. El intercambio de datos con otros programas MSWindows se realizará a través del portapapeles del sistema; cargaremos el documento desde un editor que acepte su formato de origen (los 149 Capítulo X : El Entorno de desarrollo documentos serán, por lo general, artículos o informes técnicos escritos en idioma inglés, aunque en ningún momento se impone ninguna restricción de base); una vez cargado el texto, marcaremos la parte que deseemos analizar (los métodos estandarizados pasan por el uso del ratón o de la combinación de teclas SHIFT+flechas) y la llevaremos al portapapeles (todos los procesadores de texto en MS-Windows disponen de una opción en el menú principal destinada a tareas de edición, que incluye la posibilidad de copiar al portapapeles -el acelerador de teclado suele ser Ctrl-C). Una vez que el texto está en el Portapapeles del sistema (podemos comprobarlo yendo al visor del mismo, normalmente su icono se encuentra en el grupo Accesorios), vamos al entorno de análisis y desarrollo, abrimos un nuevo documento (ver más adelante) e insertamos el texto previamente seleccionado (podemos pulsar Ctrl-v, o seleccionar la opción Pegar del submenú de Edición). • Ficheros de reglas: dado que la sintaxis de estos ficheros es bastante rígida (sólo se permiten las combinaciones de signos permitidas por la gramática del lenguaje de definición de reglas), deberían ser escritos con el editor integrado. Presentan la peculiaridad de ser compilables (una opción del programa permite verificar si son correctos sintácticamente; la corrección semántica -que el conjunto de reglas hagan lo que el desarrollador quiere- debe ser verificada analizando ejemplos y comprobando los resultados de dicho análisis). Si se detecta algún error de formato, el programa, automáticamente, resalta la línea donde ha detectado la irregularidad (obsérvese el realce de la línea 7 del fichero adjetivo.rgl, donde falta un signo +). 150 Capítulo X : El Entorno de desarrollo Ilustración 2 • Fichero de control: contienen el conjunto principal de instrucciones que ejecutar. Su sintaxis (y la de los ficheros de reglas referenciados) puede ser también verificada. En este caso sólo de indica el fichero, la causa y la línea del error, pero no se realza ni se pone el cursor en la línea siguiente. 10.3.1 Submenú de Ficheros Permite la creación de nuevos documentos, apertura de los ya creados, cierre de los abiertos, impresión de los mismos, configuración de la impresora, salvar ficheros abiertos o salir del programa. • Nuevo: crea un nuevo documento sin nombre (aunque en la barra de título aparecerá, al crear sucesivos nuevos documentos, el nombre Documento seguido de un número de orden: 1, 2...). Permite añadir texto importado vía Portapapeles. 151 Capítulo X : El Entorno de desarrollo Ilustración 3 • Abrir: abre un documento almacenado en alguna de las unidades disponibles. Al ser seleccionada esta opción se abre un cuadro de diálogo que nos permite localizar y elegir el fichero que deseemos. • Cerrar: cerrar un documento. Si el documento ha sido modificado pero no guardado, un cuadro de diálogo nos pregunta si deseamos hacerlo ahora. Caso de aceptar, pasamos a un cuadro de diálogo como los que se verán en Guardar y Guardar como... • Guardar: guarda en disco el documento activo (si hubiera varios documentos abiertos a la vez, sólo se salva el activo; en la Ilustración 1 sólo se guardaría adjetivo.rgl y no adverbio.rgl) • Guardar como: da lugar a un cuadro muy similar al de Abrir, pero cuyo título es Guardar como. 152 Capítulo X : El Entorno de desarrollo Ilustración 4 Ilustración 5 • Imprimir Previo: permite ver, en formato de página simple o doble, el aspecto que tendrá en documento tras imprimirlo. Del modo Previo se sale pulsando la tecla Close. • Imprime: imprime el documento activo en la impresora configurada por defecto en Windows. Desde un cuadro de diálogo estándar se puede seleccionar qué se va a imprimir (texto completo, texto seleccionado o rango de páginas), la calidad de impresión; también se puede elegir una nueva impresora (instalar) o imprimir a un archivo. 153 Capítulo X : El Entorno de desarrollo • Configuración de impresora: comprende la orientación del papel, su tamaño...). • Salir: con esta opción finaliza la ejecución del programa. Si queda algún documento o, incluso, a otro programa Windows (así, podríamos copiar un fichero de reglas a un procesador de textos más potente y con mejores facilidades de impresión) Ilustración 6 10.3.2 Submenú de Edición. • Pegar: copia un bloque desde el Portapapeles. La combinación Copiar y Pegar sirve para copiar bloques dentro o fuera de la aplicación. • Borrar Todo: borra el documento completo (se puede deshacer esta operación usando Deshacer) • Borrar: borra el bloque marcado sin enviarlo al Portapapeles (y, por lo tanto, sin perder la información que éste pudiera contener) 154 Capítulo X : El Entorno de desarrollo Ilustración 7 10.3.3 Submenú Buscar Este submenú contiene opciones de búsqueda con y sin repetición, con y sin sustitución: • Encontrar: las opciones de la búsqueda de un sub-texto dentro del documento contemplan: • búsqueda de palabras completas (el sub-texto tiene que corresponderse a una palabra del texto, no ser una sub-cadena de la misma) • búsqueda con o sin tener en cuenta diferencias debidas a mayúsculas y minúsculas 155 Capítulo X : El Entorno de desarrollo • búsqueda hacia arriba o hacia abajo empezando por la posición actual del cursor. • búsqueda del siguiente caso: el cuadro no desaparece hasta que lo cancelamos, permitiéndosenos recolocarlo en pantalla para permitir una mejor visión del documento subyacente, y repetir búsquedas. • Reemplazar: un cuadro muy similar al de Buscar nos ayuda a da la posibilidad de sustituir un sub-texto por otro. • Siguiente: tras realizar cualquiera de las operaciones anteriores y haber cancelado su cuadro de diálogo, podemos todavía repetir la búsqueda (con o sin sustitución), si empleamos esta entrada del submenú. 10.3.4 Submenú de Análisis Este es el submenú principal que alberga toda la funcionalidad específica del entorno, lo que lo diferencia de un simple editor. Permite configurar el analizador de estilos propiamente dicho, verificar la sintaxis de los ficheros de reglas y del fichero de control, además de analizar un texto: • Opciones: este cuadro de diálogo contiene el diccionario, el directorio de trabajo y el nombre de los ficheros de control y preproceso. 156 Capítulo X : El Entorno de desarrollo Ilustración 8 • Compila: si el fichero activo es de reglas, comprueba que está bien escrito; si no lo estuviere, da un mensaje de error indicando dónde está la fuente del mismo y una posible solución; finalmente marca la línea incorrecta para su más fácil edición. • Procesa: pide el nombre de un fichero de texto y sus principales datos, y lo procesa usando el fichero de control seleccionado en el menú de opciones (o en el fichero ENTORNO.INI, caso de no haber entrado a variar las opciones). Durante el proceso de análisis se muestra en pantalla el nombre de la variable que está siendo tratada; un cuadro final muestra los resultados globales. 157 Capítulo X : El Entorno de desarrollo Ilustración 9 10.3.5 Submenú de Ventanas Estas entradas sirven para reorganizar la disposición de las ventanas y los iconos dentro de la ventana principal. Permite colocar las diversas ventanas en cascada (con solapamiento), en mosaico (ventanas dispuestas de modo disjunto cubriendo toda la superficie de la ventana principal), distribuir homogéneamente los iconos o cerrar todas las ventanas. 10.3.6 Submenú de Ayuda Contiene información sobre el manejo del entorno (Contenido), sobre el sistema general de ayudas en Windows 3.x (Usando la ayuda) y un breve cuadro indicando la versión del programa (Acerca). 158 Capítulo X : El Entorno de desarrollo 10.4 Fichero de configuración En el mismo directorio donde se ejecute el programa debe haber un fichero de configuración cuyo nombre será ENTORNO.INI. Un ejemplo podría ; "fichero de configuración" [pordefecto] texto= c:\juancho\reposito\src\ingles\texto.txt diccionario= c:\juancho\reposito\src\ingles\webster.ord control= c:\juancho\reposito\src\ingles\control.ctl preprocesado= c:\juancho\reposito\src\ingles\salidas\preproce.pre directorio= c:\juancho\reposito\src\ingles\salidas ser: El formato es el típico de un fichero .INI de MS-Windows 3.x: un punto y coma comenta e inhabilita una línea, las secciones van entre corchetes (sólo se tiene en cuenta la sección pordefecto), las variables aparecen seguidas por el signo igual y el valor que deseamos se les asigne, etc. Si no entramos en el cuadro de diálogo de opciones, los datos presentes en este fichero serán usados por el programa. 159