Download - Herramientas flex y bison
1
PONTIFICIA UIVERSIDAD CATÓLICA DEL ECUADOR
SEDE IBARRA
ESCUELA DE INGENIERÍA
1. DATOS INFORMATIVOS
Nombre: Carlos Yépez
Carrera: Sistemas
Nivel: 5to
Tema: Flex y Bison
Materia: Compiladores
Fecha: 28/07/2015
2
Contenido 1. Herramientas para la construcción de procesadores de lenguaje. ....................................... 3
2. Aplicación de los lenguajes: .............................................................................................. 3
3. Reseña Histórica .................................................................................................................... 4
4. Diseño y construcción de un compilador. ............................................................................. 5
5. Las herramientas Flex y Bison. .............................................................................................. 5
6. Que es flex y Bison ................................................................................................................ 6
7. Como se instala Flex y Bison ................................................................................................. 6
7.1 INSTALACION FLEX: ....................................................................................................... 8
7.2 INSTALACION DE BISON: ............................................................................................. 13
7.3 INSTALACION MINGW: ................................................................................................ 18
20. Como se compila con Flex y Bison................................................................................... 24
21. Ejemplos de la creación de un compilador utilizando Flex y Bison. ................................ 25
3
1. Herramientas para la construcción de procesadores de
lenguaje.
2. Aplicación de los lenguajes:
Los lenguajes de programación hoy en día tienen una infinidad de aplicaciones,
básicamente cualquier objeto electrónico tiene cierto grado de programación. Algunos
de los más comunes son C++ y JAVA, también existe HTML, HTTP, XML, XAML y C#,
este último actualmente es el más utilizado en todos los dispositivos y redes basados
en MICROSOFT (Xbox 350, Windows Mobile, Windows Phone, Windows Cloud, Zune,
etc.). Ya que los lenguajes de programación son informáticamente un puente entre el
Hardware y el Software estos permiten que las computadoras puedan establecer
conexión con un celular, una cámara o una consola portátil de videojuego. Otra de las
aplicaciones de los lenguajes de programación son las matemáticas como las
calculadoras, cajas registradoras, cajeros automáticos, por solo mencionar algunos
ejemplos sencillos.
Existen también niveles de programación mucho más complejos como los videojuegos
o los pilotos automáticos de los aviones comerciales o las máquinas de juego de los
casinos que siguen un patrón de probabilidad a partir de un arreglo de números al azar
establecido por una programación numérica. La robótica es la combinación de
mecánica, electrónica y programación, la cual en base a sensores y mecanismos sigue
una serie de instrucciones algorítmicas las cuales le permiten por ejemplo a un brazo
robótico montar una rueda, ajustar un tornillo o cortar un rectángulo de 3 cm
cuadrados en una placa de acero. Con el avance de la tecnología los límites de la
programación se vuelven cada vez más distantes.
4
3. Reseña Histórica
Las primeras aplicaciones del procesamiento del lenguaje natural surgieron entre 1940
y 1960, teniendo como interés fundamental la traducción automática de textos entre
diferentes idiomas. Los experimentos en este ámbito se basaban fundamentalmente en la
sustitución automática palabra por palabra, por lo que se obtenían traducciones muy
rudimentarias, que no proporcionaban unos resultados claros.
Surgió por tanto la necesidad de resolver ambigüedades sintácticas y semánticas, así
como la importancia de considerar la información contextual. Los problemas más
relevantes en este tiempo fueron la carencia de un orden de la estructura oracional en
algunas lenguas, y la dificultad para obtener una representación tanto sintáctica como
semántica, pero una vez que se empezaron a tener en cuenta se dio paso a una
concepción más realista del lenguaje en la que era necesario contemplar las
transformaciones que se producen en la estructura de la frase durante el proceso de
traducción.
Los últimos años se caracterizan por la incorporación de técnicas estadísticas y el
desarrollo de formalismos adecuados para el tratamiento de la información léxica. Se ha
introducido nuevas técnicas de representación del conocimiento muy cercanas a la
inteligencia artificial, y las técnicas de procesamiento utilizadas por investigadores
procedentes del área de la lingüística e informática son cada vez más próximas.
5
4. Diseño y construcción de un compilador.
5. Las herramientas Flex y Bison.
Estos nos ofrecen una gran cantidad de herramientas utilizando variables, operadores
y librerías propias, como se detallan algunas en la siguiente descripción.
6
6. Que es flex y Bison
GNU bison es un programa generador de analizadores sintácticos de propósito
general perteneciente al proyecto GNU disponible para prácticamente todos los
sistemas operativos, se usa normalmente acompañado de flex aunque los
analizadores léxicos se pueden también obtener de otras formas.
Bison convierte la descripción formal de un lenguaje, escrita como una gramática libre
de contexto LALR, en un programa en C, C++, o Java que realiza análisis sintáctico.
Es utilizado para crear analizadores para muchos lenguajes, desde simples
calculadoras hasta lenguajes complejos. Para utilizar Bison, es necesaria experiencia
con el la sintaxis usada para describir gramáticas.
Esencialmente Flex es un conjunto de librerías – o framework – para desarrollo de UI (
user interface por sus siglas en ingles). Aunque ActionScript 3.0 (AS3) es el lenguaje
para programar aplicaciones usando el Flex framework, AS3 no es Flex. Si el código
AS3 que se programe utiliza los componentes y métodos definidos en el Flex
framework, entonces se esta usando Flex. Es decir, AS3 no es por si solo Flex.
7. Como se instala Flex y Bison
1. Descarga el software disponible en el sitio de la cátedra.
2. Instalar el software en la unidad C: (para explicar a partir del punto 4 se tendrá como
hipótesis de que flex y bison han sido instalados en la ruta:
C:\GnuWin32\ donde contiene una subcarpeta llamada bin donde se encuentran los
programas respectivos)
3. Flex y bison son aplicaciones de consola, por lo que se deberá entrar al Símbolo del
sistema y tipear líneas de comando para ejecutar Flex. Una alternativa es crear un
archivo de proceso por lotes (*.bat) que contenga las líneas de comando para la
ejecución de Flex y Bison y/o la compilación del archivo generado.
4. Si deseas que flex y bison se integren al conjunto de variables del entorno (esto te
va a permitir llamar a flex/bison desde cualquier ubicación en la línea de comandos)
debes hacer lo siguiente:
• Clic derecho en “Mi PC”.
• Selecciona “Propiedades”
• Clic en la pestaña “Opciones Avanzadas”
• Presiona el botón “Variables de entorno
7
En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación
flex/bison. Si existe otro valor, separarlos con comas.
8
7.1 INSTALACION FLEX: 1. DESCARGAMOS LA HERRAMIENTA DEL SIGUIENTE SITIO:
http://gnuwin32.sourceforge.net/packages/flex.htm
2. EJECUTAR EL INSTALADOR DE FLEX:
10
5. AQUÍ NOS MUESTRA LOS COMPONENENTES QUE VAN A SER INSTALADOS:
6. AQUÍ PODEMOS VER EL NOMBRE DE LA CARPETA DONDE VA A ESTAR EL PROGRAMA:
13
7.2 INSTALACION DE BISON: 1. NOS DESCARGAMOS LA HERRAMIENTA BISON DEL SIGUIENTE LINK:
http://gnuwin32.sourceforge.net/packages/bison.htm
2. AQUÍ EJECUTAMOS EL SETUP:
14
3. ACEPTAMOS EL ACUERDO CON LA LICENCIA Y SIGUIENTE:
4. AQUÍ PODEMOS VER LA RUTA DONDE VA A ESTAR INSTALDO EL PROGRAMA:
15
5. AQUÍ INSTALAMOS TODOS LOS RECURSOS NECESARIOS:
6. SE CREA LA CARPETA DONDE VA A ESTAR NUESTRA HERRAMIENTA BISON:
17
9. AQUÍ ESTA COMPLETADA LA INSTALACION:
10. AQUÍ VEMOS EN LA CARPETA DE DESTINO NUESTRAS DOS HERRAMIENTAS FLEX Y BISON:
18
7.3 INSTALACION MINGW: 8. DESCARGAR LA HERRAMIENTA DEL SIGUIENTE SITIO:
http://sourceforge.net/projects/mingw/files/
9. EJECUTAMOS EL INSTALADOR:
19
10. AQUÍ NOS MUESTRA QUE SE VA A CREAR UN ICONO EN EL ESCRITORIO:
11. AQUÍ LEGIMOS USAR LOS PAQUESTES QUE ESTAN EN LOS REPOSITORIOS:
24
8. Como se compila con Flex y Bison
Para compilar en Flex y Bison seguimos los siguientes pasos.
Cuando tengas listo podrás llamar a flex/bison desde el símbolo del sistema sin
necesidad de ubicarte en la carpeta donde ha sido instalado flex/bison. Luego de
escribir las especificaciones de flex y bison realizar lo siguiente. Si se desea invocar a
flex: