UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA INTEGRACIÓN DE FLEX Y BISON CON VC++ 6.0 LENGUAJES Y SISTEMAS INFORMÁTICOS AMPLIACIÓN DE LENGUAJES FORMALES Y AUTÓMATAS Las carpetas de trabajo C:\FLEX CARPETA CON UNA COPIA LOCAL DE FLEX Modo de empleo c:\flex\flex.exe C:\BISON CARPETA CON UNA COPIA LOCAL DE BISON Modo de empleo c:\bison\bison.exe -d -oanasint.c -Sc:\bison\bison.cc -Hc:\bison\bison.h anasint.y C:\ALFA CARPETA LOCAL DE TRABAJO Subcarpetas de Proyectos C:\ALFA\proy1 C:\ALFA\proy2 C:\ALFA\proy3 -hanalex.h -oanalex.c -Sc:\flex\flexskel.cc -Hc:\flex\flexskel.h analex.l Carpeta para el proyecto proy1 Carpeta para el proyecto proy2 Carpeta para el proyecto proy3 Los ficheros FLEX.BAT Y BISON.BAT • Los ficheros .BAT son ficheros scripts de DOS • Añadimos a la carpeta c:\FLEX el fichero de texto FLEX.BAT cuyo contenido es el del recuadro y con el que nos evitamos ejecutar FLEX.EXE con todos los argumentos • Añadimos a la carpeta c:\BISON el fichero de texto BISON.BAT cuyo contenido es el del recuadro y con el que nos evitamos ejecutar BISON.EXE con todos los argumentos Contenido de FLEX.BAT c:\flex\flex.exe -hanalex.h -oanalex.c -Sc:\flex\flexskel.cc -Hc:\flex\flexskel.h analex.l Contenido de BISON.BAT c:\bison\bison.exe -d -oanasint.c -Sc:\bison\bison.cc -Hc:\bison\bison.h anasint.y Los fuentes de un proyecto • Ficheros generados por el programador – – – – – Programa principal INICIO.C Analizador léxico ANALEX.L Analizador sintáctico ANASINT.Y Definición de atributos YYSTYPE.H Fichero de texto de entrada • Ficheros generados por FLEX: – ANALEX.C y ANALEX.H • Ficheros generados por BISON – ANASINT.C y ANASINT.H • Ficheros generados por VC++ – Fichero ejecutable del proyecto: .EXE – Ficheros de administración del proyecto .DSW, .NCB, .... Un prototipo de proyecto Analex.l Anasint.y FLEX Inicio.c BISON Analex.c Analex.h Yystype.h Anasint.c Anasint.h VC++ Entrada.txt Proyecto.exe Salida El entorno de VC++ 6.0 Creación de un nuevo proyecto El proyecto será del tipo Win32 Console Application El proyecto se almacenará en la carpeta de trabajo C:\ALFA El nombre del proyecto es PROY1 Confirmamos la selección del tipo de proyecto Mensaje de información sobre el proyecto Pestaña ClassView: Estructura de clases del proyecto Estructura del proyecto generado por VC++ en C:\ALFA\proy1 Pestaña FileView: Estructura de subcarpetas internas del proyecto Los fuentes deben estar almacenados en la carpeta del proyecto Vamos a añadir ANALEX.L a la subcarpeta de recursos Modificamos la máscara de edición a *.* Seleccionamos ANALEX.L ANALEX.L ha sido incluido a los recursos del proyecto Accedemos a las opciones de configuración de ANALEX.L Edición de configuración de compilación de ANALEX.L ANALEX.L se compila con FLEX.BAT Al compilar ANALEX.L se obtiene ANALEX.C y ANALEX.H Compilamos ANALEX.L con FLEX La ventana de estado informa sobre la compilación de ANALEX.L Los ficheros de salida para ANALEX.L se almacenan en la carpeta del proyecto Vamos a añadir ANASINT.Y a la subcarpeta de recursos del proyecto Cambiamos la máscara de edición a *.* Seleccionamos ANASINT.Y ANASINT.Y ha sido incluido al proyecto Accedemos a las opciones de configuración de ANASINT.Y Edición de configuración de compilación de ANASINT.Y ANASINT.Y se compila con BISON.BAT Al compilar ANASINT.Y se obtiene ANASINT.C y ANASINT.H Compilamos ANASINT.Y La ventana de estado informa sobre la compilación de ANASINT.Y Los ficheros de salida para ANASINT.Y se guardan en la carpeta del proyecto Accedemos a la subcarpeta de ficheros de cabecera del proyecto Vamos a añadir los ficheros .H al proyecto Seleccionamos los ficheros .H Los ficheros .H han sido incluidos en el proyecto Accedemos a la subcarpeta de ficheros fuentes del proyecto Vamos a añadir los ficheros .C al proyecto Seleccionamos los ficheros .C Los ficheros .C han sido incluidos al proyecto Accedemos al menú de gestión de la subcarpeta de fuentes del proyecto Accedemos a la pestaña C/C++ del menú de características Añadimos _MSDOS a la lista de Preprocessor Definitions Accedemos al menú de construcción del proyecto para generar el ejecutable La ventana de estado informa sobre la construcción del proyecto El ejecutable está en la subcarpeta Debug del proyecto Ejecutamos el proyecto La salida se muestra en una ventana DOS Para cerrar un proyecto Confirmamos la salida del proyecto Para abrir un proyecto ya construido Accedemos a los proyectos construidos en la carpeta de trabajo C:\ALFA Un vez en la carpeta de un proyecto , seleccionamos su fichero .DSW El proyecto (con su estructura) está activo