GeLLCo 1.1 Generador de compiladores LL JosuKa Díaz Andoni Eguíluz José A. Pérez Lorenzo del Río leemeGeL.txt (distribución 30 de septiembre de 1997) Instalación ----------- Se proporciona un fichero "instGeLL.exe", que se autodescomprime creando la estructura de ficheros que se especifica a continuación. Para ello, crear el directorio donde se instalará GeLLCo, y ejecutar el fichero anterior en ese directorio. El formato de compresión es ZIP, con lo que también es posible usar cualquier utilidad de descompresión que entienda dicho formato (recuérdese entonces activar la opción de reconstruir el árbol de directorios original). IMPORTANTE: esta versión de GeLLCo se ha empaquetado usando las utilidades de compresión de Info-ZIP. Los programas de Info-ZIP (Zip, UnZip y otros) son "free software" y pueden obtenerse tanto en código fuente como ejecutables en numerosos servidores de Internet/WWW, incluyendo ftp://ftp.cdrom.com/pub/infozip/ . Estructura de directorios ------------------------- El contenido de la distribución es el siguiente: *leemegel.txt Este fichero. *gellco.exe Fichero ejecutable que genera el parser y y el scanner. -gellco exe 278.928 26/03/96 14:56 \lib31 Directorio en el que se encuentra la librería necesaria para construir un proyecto con GeLLCo utilizando el compilador Borland C++ versión 3.1. -gellco lib 107.008 11/03/96 14:50 \lib45 Directorio en el que se encuentra la librería necesaria para construir un proyecto con GeLLCo utilizando el compilador Borland C++ versión 4.5. -gellco45 lib 342.016 22/10/96 1:14 \incl31 Directorio en el que se encuentran los ficheros "include" necesarios para construir un proyecto con GeLLCo utilizando el compilador Borland C++ versión 3.1. -faux hpp 1.044 01/11/95 4:41 -tarray hpp 10.269 22/10/96 0:44 -tarr_sim hpp 10.299 22/10/96 0:45 -tentero hpp 778 01/03/94 18:24 -testadou hpp 2.238 17/01/96 16:16 -tipos hpp 1.622 05/11/95 5:23 -tpila hpp 810 01/03/94 17:30 -trango hpp 2.034 07/03/96 14:29 -treg_int hpp 1.031 01/03/94 18:12 -tstring hpp 1.088 01/11/95 5:00 -tudlex hpp 1.072 23/05/95 12:51 -usuario hus 1.322 22/03/96 19:25 \incl45 Directorio en el que se encuentran los ficheros "include" necesarios para construir un proyecto con GeLLCo utilizando el compilador Borland C++ versión 4.5. -faux hpp 1.044 01/11/95 4:41 -tarray hpp 10.269 22/10/96 0:44 -tarr_sim hpp 10.299 22/10/96 0:45 -tentero hpp 778 01/03/94 18:24 -testadou hpp 2.238 17/01/96 16:16 -tipos hpp 1.622 05/11/95 5:23 -tpila hpp 810 01/03/94 17:30 -trango hpp 2.034 07/03/96 14:29 -treg_int hpp 1.031 01/03/94 18:12 -tstring hpp 1.088 01/11/95 5:00 -tudlex hpp 1.072 23/05/95 12:51 -usuario hus 1.322 22/03/96 19:25 \infija Directorio que contiene un ejemplo de proyecto, que convierte expresiones de infija a postfija, y las evalúa; toma la expresión de un fichero que se pasa al programa como parámetro. -equivale hus 834 22/10/96 1:48 -facc_lex cus 794 22/10/96 1:48 -gellco arb 31.805 22/10/96 1:48 -gellco log 113.974 22/10/96 1:48 -inf txt 11 22/10/96 15:41 -infija arb 755 07/11/96 23:52 -infija cpp 600 27/11/95 22:46 -infija exe 241.001 08/11/96 1:09 -infija ide 29.966 08/11/96 1:10 -infija lex 713 08/12/95 17:43 -infija log 2.116 07/11/96 23:52 -infija prj 7.410 20/03/96 20:17 -infija dsw 1.001 08/11/96 1:10 -tablall1 cus 861 22/10/96 1:48 -tablall1 hus 824 22/10/96 1:48 -tab_reg cus 3.806 22/10/96 1:48 -tab_reg hus 431 22/10/96 1:48 -tgestor cpp 1.627 29/01/96 16:31 -tgestor hus 2.634 22/10/96 1:48 -tokens hus 645 22/10/96 1:48 -tparser cus 6.722 22/10/96 1:48 -tparser hus 486 22/10/96 1:48 -tscanner cus 6.971 22/10/96 1:48 -tscanner hus 3.066 22/10/96 1:48 -usuario hus 1.395 22/03/96 19:33 \wren Directorio que contiene un ejemplo de proyecto, que convierte un lenguaje sencillo llamado "Wren" a lenguaje C. -equivale hus 1.978 08/11/96 0:41 -facc_lex cus 5.728 08/11/96 0:41 -gellco log 412.232 08/11/96 0:41 -gellco arb 131.373 08/11/96 0:41 -tablall1 hus 827 08/11/96 0:41 -tablall1 cus 3.921 08/11/96 0:41 -tab_reg hus 431 08/11/96 0:41 -tab_reg cus 14.185 08/11/96 0:41 -tgestor cpp 15.925 04/12/95 0:10 -tgestor hus 4.718 08/11/96 0:41 -tokens hus 1.475 08/11/96 0:41 -tparser hus 486 08/11/96 0:41 -tparser cus 2.441 08/11/96 0:41 -tscanner cus 12.176 08/11/96 0:41 -tscanner hus 3.220 08/11/96 0:41 -tvar hpp 1.224 08/11/96 1:18 -usuario hus 1.621 22/03/96 19:34 -wren cpp 598 03/12/95 13:51 -wren lex 3.056 04/12/95 9:01 -wren ide 30.508 08/11/96 1:23 -wren dsw 3.354 08/11/96 1:23 -wren exe 312.760 08/11/96 1:19 Utilización de GeLLCo --------------------- Para la utilización de GeLLCo consultar la documentación de usuario. De momento, solo se distribuye en papel. A grandes rasgos el proceso para construir un proyecto con GeLLCo es el siguiente. 1.- Definir el fichero fuente GeLLCo con léxico, sintaxis y acciones semánticas. 2.- Procesar el fichero con GeLLCo, obteniendo los ficheros de código C++ que implementan el parser y el scanner. 3.- Crear un proyecto con el compilador que se desee utilizar asegurándose de incluir la librería adecuada para la versión del compilador y de que este sea capaz de encontrar los ficheros "include". Utilización de GeLLCo con distintas versiones del compilador ------------------------------------------------------------ El desarrollo de GeLLCo se realizó con la versión 3.1 del compilador de Borland C++. Debido a la evolución que ha sufrido el standard de C++ (ANSI C++) durante el proceso de desarrollo, existen ligeros cambios que hay que hacer para que los proyectos se compilen en versiones posteriores del compilador de Borland C++. Se proporcionan las librerías e "includes" necesarios para la versión 4.5 del compilador de Borland (última versión disponible para Windows). IMPORTANTE: Si alguien quiere desarrollar con otra versión del compilador, o incluso otro compilador (GNU), puede consultar. Copyright y demás ----------------- (c) 1995, 1996, 1997 JosuKa Díaz, Andoni Eguíluz, José A. Pérez, Lorenzo del Río GeLLCo se acoge a lo que habitualmente se entiende por "free software" (si tienes dudas acerca de esto, has de enterarte, porque no significa "programas por la cara", a pesar de que no haya que pagar nada por ellos). Puedes usarlo para propósitos personales o científicos (si el proyecto es interesante, agradeceríamos que nos informaras y que nos mencionases en la documentación del producto), pero de momento NO puedes usarlo para programas comerciales. Puedes hacer copias, siempre que se incluya TODA la distribución original sin alteración de ningún tipo. En cuanto a la redistribución, además de prevalecer lo anterior, nos debes informar con antelación. GeLLCo es todavía un producto en desarrollo, y está aún lejos de ser tan fiable como nos gustaría. Por ello, declinamos absolutamente cualquier responsabilidad que pudiera derivarse de su uso. No está claro en estos momentos que puedan hacerse mejoras absolutamente necesarias en el sistema, por lo que no debes confiar en versiones mejoradas pronto. El único soporte que podemos dar en estos momentos es ponerse en contacto con los autores. JosuKa Díaz josuka@inf.deusto.es http://www.deusto.es/~josuka/ Andoni Eguíluz eguiluz@inf.deusto.es http://www.deusto.es/~eguiluz/ Agradecemos de antemano cualquier comentario y/o ayuda. JosuKa Díaz - Andoni Eguíluz ESIDE - Facultad de Informática Universidad de Deusto Apartado 1 - 48080 - BILBAO- SPAIN