SlideShare una empresa de Scribd logo
1 de 9
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA
ESCUELA DE INGENIERÍA EN SISTEMAS
TALLER DE COMPILADORES
Nombre: Guissela Guerrero
Nivel: Quinto
Fecha: 2013-05-28
1) Herramientas para la construcción de procesadores de lenguaje.
Herramienta Lenguaje Descripción
Bison C Generador de Analizadores Sintácticos Ascendentes tipo YACC
COCO/R C/C++ Generador de Analizadores Léxicos y Sintácticos Descendentes Recursivos
Flex C Generador de Analizadores Léxicos tipo Lex
Lex C Generador de Analizadores Léxicos
SDGLL1 exe Sistema Detector de Gramáticas LL(1) y generador de la tabla
TS 2006 C/C++ Tipo abstracto de datos Tabla de Símbolos de uso sencillo
TS C Tipo abstracto de datos Tabla de Símbolos
TS-OO C++ Tipo abstracto de datos orientado a objetos Tabla de Símbolos
VASt exe
Visualizador de árboles sintácticos partiendo de los ficheros con la
gramática y el parse pedidos en la Práctica [versión 2.0, Windows]
VASt C++
Visualizador de árboles sintácticos partiendo de los ficheros con la
gramática y el parse pedidos en la Práctica [versión 1.0, Linux]
YACC C Generador de Analizadores Sintácticos Ascendentes LR(1)
2) Aplicación de los lenguajes:
a) Reseña Histórica
AÑO CARACTERISTICAS
1940’s
 Primeros ordenadores.
 Programación directa en código máquina.
 Nace el ensamblador (traducido manualmente)
 Se automatiza la etapa de ensamblado
1950’s
 (1950) John Backus dirige en IBM un proyecto de lenguaje algebraico
 (1954-1958) Nace el FORTRAN (FORmulae TRANslator)
 Primer compilador de FORTRAN para IBM modelo 704
1950’s (medianos)
 Noam Chomsky publica sus estudios sobre la estructura de los lenguajes y
las gramáticas formales.
1950’s (finales)
 F.L. Bauer (Univ. Munich) dirige un proyecto de lenguaje formal
 Se crea un comité conjunto con la Association for Computing Machinery en
el que participa Backus
 Se define IAL (International Algebraic Language)
 Posteriormente se denomina ALGOL 58 (ALGOrithmic Language)
1960’s
Primeras técnicas de desarrollo de compiladores
 1958: Strong y otros proponen dividir el compilador en dos fases:
 front-end y back-end y promueven la creación de un lenguaje intermedio
universal (UNCOL – UNiversal Computer Oriented Language).
 1959: Rabin y Scott proponen utilizar autómatas deterministas para el
análisis léxico
 1961: Primer analizador sintáctico descendente recursivo
 Durante toda la década se estudian intensamente las gramáticas LL.
1970’s
 Se estudian las gramáticas LR
 Se definen los métodos de análisis ascendente SLR y LALR
 Se crean numerosas herramientas de ayuda al diseño de compiladores
 A mediados de la década aparecen las herramientas lex y yacc que se
convierten en estándares de facto al distribuirse con UNIX.
 La Free Software Fundation distribuye estas herramientas bajo los
nombres de flex y bison
b) Diseño y construcción de un compilador.
c) Las herramientas Flex y Bison.
Flex y bison son las herramientas desarrolladas en el proyecto GNU (Free Software
Foundation) equivalentes a lex y yacc en el sistema operativo UNIX®.
3) Que es flex y Bison
Flex y Bison están envejeciendo utilidades Unix que le ayudan a escribir programas de análisis
muy rápido de formatos de archivos de casi arbitrarias. Formalmente, implementan Look-
Ahead-izquierda-derecha (en lugar de "descenso recursivo") el análisis de las gramáticas libres
de contexto (a diferencia de “lenguaje natural “no ambiguo.
4) Como se instala Flex y Bison
1) Primero se descarga el archivo .rar de la pagina http://www.delorie.com/djgpp/.
2) Creamos una carpeta en C que se llame DJGPP y descomprimimos los archivos
contenidos en DJGPP ahí.
3) Luego debemos crear una carpeta en la unidad C: que se llame PRUEBAS.
4) En esta carpeta cargaremos todos nuestros proyectos de Flex y bison.
5) El siguiente paso es configurar las rutas de Flex y bison, esto lo hacemos entrando
al cmd.
6) Colocándonos en la carpeta de pruebas con los comandos
Cd
Cd pruebas
Y escribimos estos comandos
cd PRUEBAS
set djgpp=c:djgppdjgpp.env
set path=c:djgppbin
7) Con esto ya tendremos configurados Flex y lex para que el cmd los reconozca
como comandos validos (cabe destacar que esta acción se tiene que repetir cada
vez que se abre una nueva instancia del cmd).
Esto es la parte de configuración, ahora lo que se tiene que hacer es cargar los
archivos léxicos y sintácticos creados en el bloc de notas.
Por lo que se ejecutan los comandos Flex "nombre_de_archivo.l"
8) Y bison -dy "nombre_de_archivo.y"
9) Se crean los archivos lexyy.c, y.tab.c, y.tab.h
5) Como se compila con Flex y Bison
1) Crearemos un nuevo proyecto en dev-c++
2) Escogemos una aplicación de consola y que sea un proyecto en c
3) Agregamos los archivos creados por el Flex y bison
4) Y compilamos
5) Se crea el ejecutable con el nombre del proyecto en este caso "pruebita.exe"
6) Y ejecutamos nuestro programa
6) 2 Ejemplos de la creación de un compilador utilizando Flex y Bison.
Calculadora sencilla que reconocerá las principales operaciones aritmética (+,-,* y /).
2) Traducción del lenguaje coloquial de SQL en español al conocido ANSI SQL.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en Windows
 
Taller compiladores conceptos
Taller compiladores conceptosTaller compiladores conceptos
Taller compiladores conceptos
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
TALLER FLEX Y BISON
TALLER FLEX Y BISONTALLER FLEX Y BISON
TALLER FLEX Y BISON
 
Trabajo compiladores ivan bolaños
Trabajo compiladores ivan bolañosTrabajo compiladores ivan bolaños
Trabajo compiladores ivan bolaños
 
Taller de actividades de compiladores, Flex y Bison
Taller de actividades de compiladores, Flex y BisonTaller de actividades de compiladores, Flex y Bison
Taller de actividades de compiladores, Flex y Bison
 
Flex ybison
Flex ybisonFlex ybison
Flex ybison
 
Taller flex y bison
Taller flex y bisonTaller flex y bison
Taller flex y bison
 
Taller 21 de junio
Taller 21 de junioTaller 21 de junio
Taller 21 de junio
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Trabajo flex byson
Trabajo flex bysonTrabajo flex byson
Trabajo flex byson
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacion
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Programazion
ProgramazionProgramazion
Programazion
 
Taller
TallerTaller
Taller
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 

Destacado (20)

Sensores
SensoresSensores
Sensores
 
Sensores FSR y Flex
Sensores FSR y FlexSensores FSR y Flex
Sensores FSR y Flex
 
Dios
DiosDios
Dios
 
Jesus chooses 12 helpers spanish cb6
Jesus chooses 12 helpers spanish cb6Jesus chooses 12 helpers spanish cb6
Jesus chooses 12 helpers spanish cb6
 
Folha 210
Folha 210Folha 210
Folha 210
 
lepto_ppt
lepto_pptlepto_ppt
lepto_ppt
 
Actividad nro 3 cuadro tributario fuentes
Actividad nro 3 cuadro tributario fuentesActividad nro 3 cuadro tributario fuentes
Actividad nro 3 cuadro tributario fuentes
 
Autocad
AutocadAutocad
Autocad
 
El reino de los cielos 3
El reino de los cielos 3El reino de los cielos 3
El reino de los cielos 3
 
Metodología PACIE. Bloque de Cierre
Metodología PACIE. Bloque de CierreMetodología PACIE. Bloque de Cierre
Metodología PACIE. Bloque de Cierre
 
Edj v1n08entendiendoelverdaderoamor
Edj v1n08entendiendoelverdaderoamorEdj v1n08entendiendoelverdaderoamor
Edj v1n08entendiendoelverdaderoamor
 
Perder y ganar._._._
Perder y ganar._._._Perder y ganar._._._
Perder y ganar._._._
 
Pp.Nile Dutch
Pp.Nile DutchPp.Nile Dutch
Pp.Nile Dutch
 
Searag General
Searag GeneralSearag General
Searag General
 
Universidad fermin toro tributario
Universidad fermin toro tributarioUniversidad fermin toro tributario
Universidad fermin toro tributario
 
Swasthavrutta syllabus PPT
Swasthavrutta syllabus PPTSwasthavrutta syllabus PPT
Swasthavrutta syllabus PPT
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
8 rahasia sukses
8 rahasia sukses8 rahasia sukses
8 rahasia sukses
 
Design Sprint
Design SprintDesign Sprint
Design Sprint
 
Sensores y transmisores analogicos. unidad ii. ici. scm
Sensores y transmisores analogicos. unidad ii. ici. scmSensores y transmisores analogicos. unidad ii. ici. scm
Sensores y transmisores analogicos. unidad ii. ici. scm
 

Similar a INTRODUCCION A FLEX Y BISON

Similar a INTRODUCCION A FLEX Y BISON (17)

Bison y flex
Bison y flexBison y flex
Bison y flex
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Taller de compiladores
Taller de compiladoresTaller de compiladores
Taller de compiladores
 
Flexybison
FlexybisonFlexybison
Flexybison
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Flexybison
FlexybisonFlexybison
Flexybison
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
Taller de Compiladores flx y bsn
Taller de Compiladores flx y bsnTaller de Compiladores flx y bsn
Taller de Compiladores flx y bsn
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosa
 
Investigacion Flex Y Bison
Investigacion Flex Y BisonInvestigacion Flex Y Bison
Investigacion Flex Y Bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Fyb
FybFyb
Fyb
 
Pontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bisonPontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bison
 
Taller de flex y bison
Taller de flex y bisonTaller de flex y bison
Taller de flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 

Más de Guissela Guerrero

COBIT Administrar e Implementar
COBIT Administrar e ImplementarCOBIT Administrar e Implementar
COBIT Administrar e ImplementarGuissela Guerrero
 
Analisis Proyeccion Presupuestaria
Analisis Proyeccion PresupuestariaAnalisis Proyeccion Presupuestaria
Analisis Proyeccion PresupuestariaGuissela Guerrero
 
Analisis vertical y_horizontal
Analisis vertical y_horizontalAnalisis vertical y_horizontal
Analisis vertical y_horizontalGuissela Guerrero
 
Analisis de indicadores Calzados Majo
Analisis de indicadores Calzados MajoAnalisis de indicadores Calzados Majo
Analisis de indicadores Calzados MajoGuissela Guerrero
 
Lenguajes de Programacion según su Generación
Lenguajes de Programacion según su GeneraciónLenguajes de Programacion según su Generación
Lenguajes de Programacion según su GeneraciónGuissela Guerrero
 

Más de Guissela Guerrero (8)

COBIT Administrar e Implementar
COBIT Administrar e ImplementarCOBIT Administrar e Implementar
COBIT Administrar e Implementar
 
Analisis Proyeccion Presupuestaria
Analisis Proyeccion PresupuestariaAnalisis Proyeccion Presupuestaria
Analisis Proyeccion Presupuestaria
 
Analisis vertical y_horizontal
Analisis vertical y_horizontalAnalisis vertical y_horizontal
Analisis vertical y_horizontal
 
Analisis de indicadores Calzados Majo
Analisis de indicadores Calzados MajoAnalisis de indicadores Calzados Majo
Analisis de indicadores Calzados Majo
 
Compiladores deber 5
Compiladores deber 5Compiladores deber 5
Compiladores deber 5
 
Compilacion Java en CDM
Compilacion Java en CDMCompilacion Java en CDM
Compilacion Java en CDM
 
Lenguajes de Programacion según su Generación
Lenguajes de Programacion según su GeneraciónLenguajes de Programacion según su Generación
Lenguajes de Programacion según su Generación
 
VB Decompiler Information
VB Decompiler InformationVB Decompiler Information
VB Decompiler Information
 

Último

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
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
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
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (16)

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
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
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
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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...
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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)
 
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
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

INTRODUCCION A FLEX Y BISON

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA ESCUELA DE INGENIERÍA EN SISTEMAS TALLER DE COMPILADORES Nombre: Guissela Guerrero Nivel: Quinto Fecha: 2013-05-28 1) Herramientas para la construcción de procesadores de lenguaje. Herramienta Lenguaje Descripción Bison C Generador de Analizadores Sintácticos Ascendentes tipo YACC COCO/R C/C++ Generador de Analizadores Léxicos y Sintácticos Descendentes Recursivos Flex C Generador de Analizadores Léxicos tipo Lex Lex C Generador de Analizadores Léxicos SDGLL1 exe Sistema Detector de Gramáticas LL(1) y generador de la tabla TS 2006 C/C++ Tipo abstracto de datos Tabla de Símbolos de uso sencillo TS C Tipo abstracto de datos Tabla de Símbolos TS-OO C++ Tipo abstracto de datos orientado a objetos Tabla de Símbolos VASt exe Visualizador de árboles sintácticos partiendo de los ficheros con la gramática y el parse pedidos en la Práctica [versión 2.0, Windows] VASt C++ Visualizador de árboles sintácticos partiendo de los ficheros con la gramática y el parse pedidos en la Práctica [versión 1.0, Linux] YACC C Generador de Analizadores Sintácticos Ascendentes LR(1)
  • 2. 2) Aplicación de los lenguajes: a) Reseña Histórica AÑO CARACTERISTICAS 1940’s  Primeros ordenadores.  Programación directa en código máquina.  Nace el ensamblador (traducido manualmente)  Se automatiza la etapa de ensamblado 1950’s  (1950) John Backus dirige en IBM un proyecto de lenguaje algebraico  (1954-1958) Nace el FORTRAN (FORmulae TRANslator)  Primer compilador de FORTRAN para IBM modelo 704 1950’s (medianos)  Noam Chomsky publica sus estudios sobre la estructura de los lenguajes y las gramáticas formales. 1950’s (finales)  F.L. Bauer (Univ. Munich) dirige un proyecto de lenguaje formal  Se crea un comité conjunto con la Association for Computing Machinery en el que participa Backus  Se define IAL (International Algebraic Language)  Posteriormente se denomina ALGOL 58 (ALGOrithmic Language) 1960’s Primeras técnicas de desarrollo de compiladores  1958: Strong y otros proponen dividir el compilador en dos fases:  front-end y back-end y promueven la creación de un lenguaje intermedio universal (UNCOL – UNiversal Computer Oriented Language).  1959: Rabin y Scott proponen utilizar autómatas deterministas para el análisis léxico  1961: Primer analizador sintáctico descendente recursivo  Durante toda la década se estudian intensamente las gramáticas LL. 1970’s  Se estudian las gramáticas LR  Se definen los métodos de análisis ascendente SLR y LALR  Se crean numerosas herramientas de ayuda al diseño de compiladores  A mediados de la década aparecen las herramientas lex y yacc que se convierten en estándares de facto al distribuirse con UNIX.  La Free Software Fundation distribuye estas herramientas bajo los nombres de flex y bison
  • 3. b) Diseño y construcción de un compilador.
  • 4. c) Las herramientas Flex y Bison. Flex y bison son las herramientas desarrolladas en el proyecto GNU (Free Software Foundation) equivalentes a lex y yacc en el sistema operativo UNIX®. 3) Que es flex y Bison Flex y Bison están envejeciendo utilidades Unix que le ayudan a escribir programas de análisis muy rápido de formatos de archivos de casi arbitrarias. Formalmente, implementan Look- Ahead-izquierda-derecha (en lugar de "descenso recursivo") el análisis de las gramáticas libres de contexto (a diferencia de “lenguaje natural “no ambiguo. 4) Como se instala Flex y Bison 1) Primero se descarga el archivo .rar de la pagina http://www.delorie.com/djgpp/. 2) Creamos una carpeta en C que se llame DJGPP y descomprimimos los archivos contenidos en DJGPP ahí. 3) Luego debemos crear una carpeta en la unidad C: que se llame PRUEBAS.
  • 5. 4) En esta carpeta cargaremos todos nuestros proyectos de Flex y bison. 5) El siguiente paso es configurar las rutas de Flex y bison, esto lo hacemos entrando al cmd. 6) Colocándonos en la carpeta de pruebas con los comandos Cd Cd pruebas Y escribimos estos comandos cd PRUEBAS set djgpp=c:djgppdjgpp.env set path=c:djgppbin
  • 6. 7) Con esto ya tendremos configurados Flex y lex para que el cmd los reconozca como comandos validos (cabe destacar que esta acción se tiene que repetir cada vez que se abre una nueva instancia del cmd). Esto es la parte de configuración, ahora lo que se tiene que hacer es cargar los archivos léxicos y sintácticos creados en el bloc de notas. Por lo que se ejecutan los comandos Flex "nombre_de_archivo.l" 8) Y bison -dy "nombre_de_archivo.y" 9) Se crean los archivos lexyy.c, y.tab.c, y.tab.h
  • 7. 5) Como se compila con Flex y Bison 1) Crearemos un nuevo proyecto en dev-c++ 2) Escogemos una aplicación de consola y que sea un proyecto en c 3) Agregamos los archivos creados por el Flex y bison
  • 8. 4) Y compilamos 5) Se crea el ejecutable con el nombre del proyecto en este caso "pruebita.exe" 6) Y ejecutamos nuestro programa
  • 9. 6) 2 Ejemplos de la creación de un compilador utilizando Flex y Bison. Calculadora sencilla que reconocerá las principales operaciones aritmética (+,-,* y /). 2) Traducción del lenguaje coloquial de SQL en español al conocido ANSI SQL.