SlideShare una empresa de Scribd logo
1 de 17
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
SEDE IBARRA
ESCUELA DE INGENIERÍA EN SISTEMAS
Nombre: Liliana Chisaguano
Nivel: 5to Semestre
Tema: Flex y Bison
Materia: Compiladores
Fecha: 21/06/2017
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.
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.
4. Diseño y construcción de un compilador.
5. Las herramientas Flex y Bison.
Nos ofrecen una gran cantidad de herramientas utilizando variables, operadores y librerías
propias, como se detallan algunas en la siguiente descripción.
6. Que es flex y Bison
Flex: Es un una herramienta que permite generar analizadores léxicos. A partir de un
conjunto de expresiones regulares, Flex busca concordancias en un fichero de entrada y
ejecuta acciones asociadas a estas expresiones. Es compatible casi al 100% con Lex, una
herramienta clásica de Unix para la generación de analizadores léxicos, pero es un desarrollo
diferente realizado por GNU bajo licencia GPL.
Bison: Es un generador de analizadores sintácticos de propósito general que convierte una
descripción para una gramática independiente del contexto (en realidad de una subclase de
éstas, las LALR) en un programa en C que analiza esa gramática. Es compatible al 100% con
Yacc, una herramienta clásica de Unix para la generación de analizadores léxicos, pero es un
desarrollo diferente realizado por GNU bajo licencia GPL. Todas las gramáticas escritas
apropiadamente para Yacc deberían funcionar con Bison sin ningún cambio. Usándolo junto
a Flex esta herramienta permite construir compiladores de lenguajes.
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.
En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación
flex/bison. Si existe otro valor, separarlos con comas.
INSTALACION FLEX
DESCARGA: http://gnuwin32.sourceforge.net/packages/flex.htm
EJECUTAR EL INSTALADOR DE FLEX
ACEPTAMOS Y SIGUIENTE
AQUÍ NOS MUESTRA LA RUTA DONDE VA A SER INSTALADO EL PROGRAMA
:
AQUÍ NOS MUESTRA LOS COMPONENENTES QUE VAN A SER INSTALADOS
AQUÍ PODEMOS VER EL NOMBRE DE LA CARPETA DONDE VA A ESTAR EL
PROGRAMA
:
AQUÍ ELEGIMOS ALGUNAS TAREAS ADICIONALES
FINALMENTE INSTALAMOS
RUTA DONDE INSTALAMOS
INSTALACION DE BISON
DESCARGA: http://gnuwin32.sourceforge.net/packages/bison.htm
AQUÍ EJECUTAMOS EL SETUP
ACEPTAMOS EL ACUERDO CON LA LICENCIA Y SIGUIENTE
AQUÍ PODEMOS VER LA RUTA DONDE VA A ESTAR INSTALDO EL PROGRAMA
AQUÍ INSTALAMOS TODOS LOS RECURSOS NECESARIOS
SE CREA LA CARPETA DONDE VA A ESTAR NUESTRA HERRAMIENTA BISON
FINALMENTE INSTALAMOS
AQUÍ ESTA COMPLETADA LA INSTALACION
AQUÍ VEMOS EN LA CARPETA DE DESTINO NUESTRAS DOS HERRAMIENTAS FLEX Y
BISON
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:
9. 2 Ejemplos de la creación de un compilador utilizando Flex y Bison.

Más contenido relacionado

Similar a Flex y brison (20)

Flex ybison
Flex ybisonFlex ybison
Flex ybison
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Taller
TallerTaller
Taller
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosa
 
Flex y bison
Flex y  bisonFlex y  bison
Flex y bison
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Herramientas flex y bison
Herramientas  flex y bisonHerramientas  flex y bison
Herramientas flex y bison
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Conceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de LenguajesConceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de Lenguajes
 
Taller
TallerTaller
Taller
 
Trabajo compiladores ivan bolaños
Trabajo compiladores ivan bolañosTrabajo compiladores ivan bolaños
Trabajo compiladores ivan bolaños
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
Compiladores - Flex y Bison
Compiladores - Flex y BisonCompiladores - Flex y Bison
Compiladores - Flex y Bison
 
Taller flex y bison
Taller flex y bisonTaller flex y bison
Taller flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Taller 21 de junio
Taller 21 de junioTaller 21 de junio
Taller 21 de junio
 
Flex bison
Flex bisonFlex bison
Flex bison
 

Más de Alexa Chisaguano

Calculo de la entropia de la información
Calculo de la entropia de la informaciónCalculo de la entropia de la información
Calculo de la entropia de la informaciónAlexa Chisaguano
 
La entropía y los sistemas abiertos
La entropía y los sistemas abiertosLa entropía y los sistemas abiertos
La entropía y los sistemas abiertosAlexa Chisaguano
 
Segmentación de las imágenes
Segmentación de las imágenesSegmentación de las imágenes
Segmentación de las imágenesAlexa Chisaguano
 
Entropía Vs Neguentropía
Entropía Vs NeguentropíaEntropía Vs Neguentropía
Entropía Vs NeguentropíaAlexa Chisaguano
 
Aplicaciones de la ingerieria de sistemas
Aplicaciones  de la ingerieria de sistemasAplicaciones  de la ingerieria de sistemas
Aplicaciones de la ingerieria de sistemasAlexa Chisaguano
 
Filtrado de imágenes en matlab
Filtrado de imágenes en matlabFiltrado de imágenes en matlab
Filtrado de imágenes en matlabAlexa Chisaguano
 
Procesamiento de imagenes con matlab
Procesamiento de imagenes con matlabProcesamiento de imagenes con matlab
Procesamiento de imagenes con matlabAlexa Chisaguano
 
Topología matemática preguntas.docx
Topología matemática preguntas.docxTopología matemática preguntas.docx
Topología matemática preguntas.docxAlexa Chisaguano
 

Más de Alexa Chisaguano (20)

Los sistemas complejos
Los sistemas complejosLos sistemas complejos
Los sistemas complejos
 
Algoritmo de huffman
Algoritmo de huffmanAlgoritmo de huffman
Algoritmo de huffman
 
Calculo de la entropia de la información
Calculo de la entropia de la informaciónCalculo de la entropia de la información
Calculo de la entropia de la información
 
La entropía y los sistemas abiertos
La entropía y los sistemas abiertosLa entropía y los sistemas abiertos
La entropía y los sistemas abiertos
 
La ley de la entropía
La ley de la entropíaLa ley de la entropía
La ley de la entropía
 
Instalación de vegas
Instalación de vegasInstalación de vegas
Instalación de vegas
 
Segmentación de las imágenes
Segmentación de las imágenesSegmentación de las imágenes
Segmentación de las imágenes
 
Entropía Vs Neguentropía
Entropía Vs NeguentropíaEntropía Vs Neguentropía
Entropía Vs Neguentropía
 
Aplicaciones de la ingerieria de sistemas
Aplicaciones  de la ingerieria de sistemasAplicaciones  de la ingerieria de sistemas
Aplicaciones de la ingerieria de sistemas
 
Operadores morfológicos
Operadores morfológicosOperadores morfológicos
Operadores morfológicos
 
Teoria de la decisión
Teoria de la decisiónTeoria de la decisión
Teoria de la decisión
 
Ingeniería en sistemas
Ingeniería en sistemasIngeniería en sistemas
Ingeniería en sistemas
 
Filtrado de imágenes en matlab
Filtrado de imágenes en matlabFiltrado de imágenes en matlab
Filtrado de imágenes en matlab
 
Procesamiento de imagenes con matlab
Procesamiento de imagenes con matlabProcesamiento de imagenes con matlab
Procesamiento de imagenes con matlab
 
Teoria de la decisión
Teoria de la decisiónTeoria de la decisión
Teoria de la decisión
 
Topología matemática preguntas.docx
Topología matemática preguntas.docxTopología matemática preguntas.docx
Topología matemática preguntas.docx
 
Manipulacion de matrices
Manipulacion de matricesManipulacion de matrices
Manipulacion de matrices
 
Matrices
MatricesMatrices
Matrices
 
Teoria de la información
Teoria de la informaciónTeoria de la información
Teoria de la información
 
Trabajo autonomo
Trabajo autonomoTrabajo autonomo
Trabajo autonomo
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (15)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Flex y brison

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA ESCUELA DE INGENIERÍA EN SISTEMAS Nombre: Liliana Chisaguano Nivel: 5to Semestre Tema: Flex y Bison Materia: Compiladores Fecha: 21/06/2017 1. Herramientas para la construcción de procesadores de lenguaje.
  • 2. 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. 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
  • 3. 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. 4. Diseño y construcción de un compilador.
  • 4. 5. Las herramientas Flex y Bison. Nos ofrecen una gran cantidad de herramientas utilizando variables, operadores y librerías propias, como se detallan algunas en la siguiente descripción. 6. Que es flex y Bison Flex: Es un una herramienta que permite generar analizadores léxicos. A partir de un conjunto de expresiones regulares, Flex busca concordancias en un fichero de entrada y ejecuta acciones asociadas a estas expresiones. Es compatible casi al 100% con Lex, una herramienta clásica de Unix para la generación de analizadores léxicos, pero es un desarrollo diferente realizado por GNU bajo licencia GPL. Bison: Es un generador de analizadores sintácticos de propósito general que convierte una descripción para una gramática independiente del contexto (en realidad de una subclase de éstas, las LALR) en un programa en C que analiza esa gramática. Es compatible al 100% con Yacc, una herramienta clásica de Unix para la generación de analizadores léxicos, pero es un desarrollo diferente realizado por GNU bajo licencia GPL. Todas las gramáticas escritas apropiadamente para Yacc deberían funcionar con Bison sin ningún cambio. Usándolo junto a Flex esta herramienta permite construir compiladores de lenguajes. 7. Como se instala Flex y Bison.
  • 5. 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.
  • 6. 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. AQUÍ NOS MUESTRA LA RUTA DONDE VA A SER INSTALADO EL PROGRAMA : AQUÍ NOS MUESTRA LOS COMPONENENTES QUE VAN A SER INSTALADOS
  • 9. AQUÍ PODEMOS VER EL NOMBRE DE LA CARPETA DONDE VA A ESTAR EL PROGRAMA : AQUÍ ELEGIMOS ALGUNAS TAREAS ADICIONALES
  • 11. INSTALACION DE BISON DESCARGA: http://gnuwin32.sourceforge.net/packages/bison.htm AQUÍ EJECUTAMOS EL SETUP
  • 12. ACEPTAMOS EL ACUERDO CON LA LICENCIA Y SIGUIENTE AQUÍ PODEMOS VER LA RUTA DONDE VA A ESTAR INSTALDO EL PROGRAMA
  • 13. AQUÍ INSTALAMOS TODOS LOS RECURSOS NECESARIOS SE CREA LA CARPETA DONDE VA A ESTAR NUESTRA HERRAMIENTA BISON
  • 15. AQUÍ ESTA COMPLETADA LA INSTALACION AQUÍ VEMOS EN LA CARPETA DE DESTINO NUESTRAS DOS HERRAMIENTAS FLEX Y BISON
  • 16. 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:
  • 17. 9. 2 Ejemplos de la creación de un compilador utilizando Flex y Bison.