SlideShare una empresa de Scribd logo
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR
SEDE IBARRA
Nombre: José Ibadango
Fecha: 2016-06-21
TALLER DE COPILADORES
1.- Herramientas para la construcción de procesadores de lenguaje.
A continuación, se muestran algunas de las herramientas disponibles que
pueden utilizarse para la realización de la Práctica de Procesadores de
Lenguajes. Todas estas herramientas funcionan bajo Windows, aunque se puede
utilizar, si se desea, cualquier otra herramienta.
2.- Aplicación de los lenguajes:
Los lenguajes de programación hoy en día tienen una infinidad de aplicaciones,
basicamente cualquier objeto electrónico tiene cierto grado de programación.
Algunos de los más comunes son C++ y JAVA, tambien existe HTML, HTTP, XML,
XAML y C#, este ultimo 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
informaticamente un puente entre el Hardware y el Software estos permiten que las
computadoras puedan establecer conexion con un celular, una camara o una
consola portatil 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
tambien niveles de programación mucho mas 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 algoritmicas 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
El alumno recordará que la sistematización de la construcción de
Procesadores de Lenguaje ha sido posible gracias a los siguientes
hechos históricos (mencionamos los más relevantes) que relacionan la
evolución de materias muy dispares:
Matemáticas (formalización de la
lógica) Lingüística
Teoría de máquinas (electrónica digital)
Abu Ja’far Mohammed ibn Musa al-Jowârizmî, matemático persa, publicó
hacia el año 825 un tratado de aritmética y su nombre se utiliza para llamar
algoritmo a todo conjunto de reglas que permiten obtener un resultado
determinado a partir de ciertos datos de partida
Edad Media, surge la leyenda de la cabeza parlante de Alberto Magno,
tal cabeza fue supuestamente destruida por su discípulo Tomás de
Aquino.
La zairja árabe consistía en algo similar, una máquina pensante que
discurría mecánicamente combinando las letras del alfabeto arábigo a
cada una de las cuales se asociaba una idea filosófica
Raimundo Lullio “Ars Magna” (1235-1315), intenta superar, en versión
cristiana, la zairja con una máquina basada en círculos concéntricos
giratorios en el que coloca un abecedario de ideas sobre Dios y el
universo y que, con esta disposición, permitían ser combinadas (en
razonamientos) de forma mecánica.
Siglos XVII y XVIII Gottfried Wilhelm Leibniz (1646-1716): álgebra universal En su
producción filosófica un joven (apenas 20 años) Leibniz concibe en De arte
combinatoria la idea de diseñar una notación y reglas similares a la matemática
para los pensamientos y revisa el Ars Magna.
En Mathesis universalis da el nombre de Logica Mathjematica sive Mathesis
universalis sive Logistica sive Logica Mathematicorum
El objetivo final es que, como dice literalmente, “cuando surja una controversia entre
dos filósofos no será preciso que gasten en discutir más tiempo del que gastarían
dos calculadores. Pues bastará con tomar asiento, echar mano de pluma y ábaco
y decirse el uno al otro: ¡calculemos!”
4.- Diseño y construcción de un compilador.
5.- Las herramientas Flex y Bison.
Esta herramienta se usa en consonancia con la herramienta flex y sirve para
especificar analizadores sintácticos. De la misma forma que flex tiene como
base las expresiones regulares, la herramienta bison también se basa en otro
formalismo para describir lenguajes, en este caso serán las gramáticas
independientes del contexto las que constituirán el núcleo de las
especificaciones que procesará bison.
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.
Los ficheros de entrada de Flex (normalmente con la extensión .l) siguen el
siguiente esquema:
%%
patrón1 {acción1}
patrón2 {acción2}
...
donde:
patrón: expresión regular
acción: código C con las acciones a ejecutar cuando se encuentre concordancia
del patrón con el texto de entrada-
Interacción con Bison
Uno de los usos principales de Flex es como acompañante del analizador de
gramáticas Bison (o de Yacc). Los analizadores Bison necesitan una función
llamda ‘yylex()’ para devolverles el siguiente token de la entrada. Esa función
devuelve el tipo del próximo token y además puede poner cualquier valor
asociado en la variable global yylval. Para usar Flex con Bison, normalmente se
especifica la opción –d de Bison para que genera el fichero ‘y.tab.h’ que contiene
las definiciones de todos los ‘%tokens’ que aparecen el fuente Bison. Este
fichero de cabecera se incluye después en el fuente de Flex. Por ejemplo, si uno
de los tokens es “TOK_NUMBER”, parte del fichero Flex podría ser:
%{
#include
"y.tab.h" %}
%%
[0-9]+ yylval = atoi( yytext ); return TOK_NUMBER;
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 ventana de variables de entorno, ubicarse en la sección “Variables
del sistema” luego haz clic en PATH y luego en el botón “Modificar” (si no
está hacer clic en
“Nueva” y agregar PATH) • En la nueva ventana, escribir la ruta completa al
directorio “bin” de la aplicación
flex/bison. Si existe otro valor, separarlos con comas.
• Aceptar los cambios y luego reiniciar el sistema operativo.
5. Si deseas instalar un compilador de C como MinGwin, deberás integrar la
ruta de acceso al compilador a las variables de entorno para facilitar la llamada
al programa.
Por ejemplo si se instaló MingWin en “C:Mingw” y dentro de la carpeta “bin” se
encuentra “gcc.exe” que es el ejecutable, entonces de deberá agregar (análogo
a los pasos anteriores) lo siguiente:
6. 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.
Invocando a flex y bison
8.- Como se compila con Flex y 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.
Creación de un parser con flex y bison en C++
Flex bison
Flex bison

Más contenido relacionado

La actualidad más candente

Flex y bison
Flex y bisonFlex y bison
Flex y bison
Andres Pozo
 
Act 01
Act 01Act 01
Act 01
brando soto
 
Compiladores - Flex y Bison
Compiladores - Flex y BisonCompiladores - Flex y Bison
Compiladores - Flex y Bison
Steven Tabango
 
Herramientas flex y bison
Herramientas  flex y bisonHerramientas  flex y bison
Herramientas flex y bison
Carlos Yepez
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
devxon9
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosaHector Espinosa
 
Corrección del examen del primer quimestre de computación
Corrección del examen del primer quimestre de computaciónCorrección del examen del primer quimestre de computación
Corrección del examen del primer quimestre de computaciónmaldonado14
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringcyberleon95
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringyimfer1
 
INTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISONINTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISON
Guissela Guerrero
 
Trabajosparasupletorio1ro d
Trabajosparasupletorio1ro dTrabajosparasupletorio1ro d
Trabajosparasupletorio1ro dHugo Vega
 
Practica1 Fundamentos de bases de datos
Practica1 Fundamentos de bases de datosPractica1 Fundamentos de bases de datos
Practica1 Fundamentos de bases de datos
jesusemi84
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocppTom Zambrano
 
Sist oper
Sist operSist oper
Sist oper
Paulito Caceres
 
Trabajos para supletorio 1 ro
Trabajos para supletorio 1 roTrabajos para supletorio 1 ro
Trabajos para supletorio 1 roILVISDAVID
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
carmenrico14
 

La actualidad más candente (20)

Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Act 01
Act 01Act 01
Act 01
 
Compiladores - Flex y Bison
Compiladores - Flex y BisonCompiladores - Flex y Bison
Compiladores - Flex y Bison
 
Herramientas flex y bison
Herramientas  flex y bisonHerramientas  flex y bison
Herramientas flex y bison
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosa
 
Corrección del examen del primer quimestre de computación
Corrección del examen del primer quimestre de computaciónCorrección del examen del primer quimestre de computación
Corrección del examen del primer quimestre de computación
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson
 
INTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISONINTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISON
 
Trabajosparasupletorio1ro d
Trabajosparasupletorio1ro dTrabajosparasupletorio1ro d
Trabajosparasupletorio1ro d
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
Practica1 Fundamentos de bases de datos
Practica1 Fundamentos de bases de datosPractica1 Fundamentos de bases de datos
Practica1 Fundamentos de bases de datos
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp
 
Sist oper
Sist operSist oper
Sist oper
 
Trabajos para supletorio 1 ro
Trabajos para supletorio 1 roTrabajos para supletorio 1 ro
Trabajos para supletorio 1 ro
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
 
Taller
TallerTaller
Taller
 

Destacado

Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled PresentationNurçin Özer
 
Generar leads con las redes sociales
Generar leads con las redes socialesGenerar leads con las redes sociales
Generar leads con las redes sociales
Creando ideas - Inbound Marketing
 
Cuadro
CuadroCuadro
Cuadro
argimenez
 
Centro de biblia
Centro de bibliaCentro de biblia
Centro de bibliaEl del Alma
 
Cuestiones sistemas-operativos
Cuestiones sistemas-operativosCuestiones sistemas-operativos
Cuestiones sistemas-operativos
elenainforb
 
open to anyone cover letter
open to anyone cover letteropen to anyone cover letter
open to anyone cover letterFelicia MacKeen
 
Monumentos
MonumentosMonumentos
Monumentos
César Omar
 
Motivacion johana
Motivacion johanaMotivacion johana
Motivacion johana
Anthony Blanco
 
Tributos estadales mosquera
Tributos estadales mosqueraTributos estadales mosquera
Tributos estadales mosquera
garciacordero
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
Jose Ibadango
 
Principios constitucionales
Principios constitucionalesPrincipios constitucionales
Principios constitucionales
albie silva
 
Parcial educación y tics the ricky gervais show
Parcial educación y tics the ricky gervais showParcial educación y tics the ricky gervais show
Parcial educación y tics the ricky gervais show060181
 
Cuando nadie-te-ve-madre
Cuando nadie-te-ve-madreCuando nadie-te-ve-madre
Cuando nadie-te-ve-madre
Ministerio Infantil Arcoiris
 
os recantos da biblioteca do ceip "A Maía"
os recantos da biblioteca do ceip "A Maía"os recantos da biblioteca do ceip "A Maía"
os recantos da biblioteca do ceip "A Maía"
castrigo
 
Legislación Penal Especial -UFT
Legislación Penal Especial  -UFTLegislación Penal Especial  -UFT
Legislación Penal Especial -UFT
Diana Carolina Villamizar Lucena
 
Educación para el entendimiento
Educación para el entendimientoEducación para el entendimiento
Educación para el entendimientoafadeh
 
Cualidades que debemos tener al trabajar con niños
Cualidades que debemos tener al trabajar con niñosCualidades que debemos tener al trabajar con niños
Cualidades que debemos tener al trabajar con niños
Ministerio Infantil Arcoiris
 
Nouns - common and PROPER
Nouns - common and PROPERNouns - common and PROPER
Nouns - common and PROPEReremo
 
Digital Marketing Resume
Digital Marketing ResumeDigital Marketing Resume
Digital Marketing ResumeBala Krishnan
 

Destacado (20)

Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Generar leads con las redes sociales
Generar leads con las redes socialesGenerar leads con las redes sociales
Generar leads con las redes sociales
 
Cuadro
CuadroCuadro
Cuadro
 
Centro de biblia
Centro de bibliaCentro de biblia
Centro de biblia
 
Cuestiones sistemas-operativos
Cuestiones sistemas-operativosCuestiones sistemas-operativos
Cuestiones sistemas-operativos
 
open to anyone cover letter
open to anyone cover letteropen to anyone cover letter
open to anyone cover letter
 
Monumentos
MonumentosMonumentos
Monumentos
 
Motivacion johana
Motivacion johanaMotivacion johana
Motivacion johana
 
Tributos estadales mosquera
Tributos estadales mosqueraTributos estadales mosquera
Tributos estadales mosquera
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
 
Principios constitucionales
Principios constitucionalesPrincipios constitucionales
Principios constitucionales
 
Parcial educación y tics the ricky gervais show
Parcial educación y tics the ricky gervais showParcial educación y tics the ricky gervais show
Parcial educación y tics the ricky gervais show
 
Cuando nadie-te-ve-madre
Cuando nadie-te-ve-madreCuando nadie-te-ve-madre
Cuando nadie-te-ve-madre
 
os recantos da biblioteca do ceip "A Maía"
os recantos da biblioteca do ceip "A Maía"os recantos da biblioteca do ceip "A Maía"
os recantos da biblioteca do ceip "A Maía"
 
Legislación Penal Especial -UFT
Legislación Penal Especial  -UFTLegislación Penal Especial  -UFT
Legislación Penal Especial -UFT
 
Curriculum-Vitae-CV
Curriculum-Vitae-CVCurriculum-Vitae-CV
Curriculum-Vitae-CV
 
Educación para el entendimiento
Educación para el entendimientoEducación para el entendimiento
Educación para el entendimiento
 
Cualidades que debemos tener al trabajar con niños
Cualidades que debemos tener al trabajar con niñosCualidades que debemos tener al trabajar con niños
Cualidades que debemos tener al trabajar con niños
 
Nouns - common and PROPER
Nouns - common and PROPERNouns - common and PROPER
Nouns - common and PROPER
 
Digital Marketing Resume
Digital Marketing ResumeDigital Marketing Resume
Digital Marketing Resume
 

Similar a Flex bison

Herramientas flex y bison
Herramientas flex y bisonHerramientas flex y bison
Herramientas flex y bisonalexisdario
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
Zulay Limaico
 
Investigacion Flex Y Bison
Investigacion Flex Y BisonInvestigacion Flex Y Bison
Investigacion Flex Y Bison
Alexander Campues
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
Luis Viteri
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
marcos ruales
 
Flex ybison
Flex ybisonFlex ybison
Flex ybison
Carlos Brusil
 
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
Gabriel Solano
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
Mario Granja Alvear
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
Bryant Arellano
 
FLEX Y BISON
FLEX Y BISONFLEX Y BISON
FLEX Y BISON
MAURICIOANDRES39
 
Compiladores
CompiladoresCompiladores
Compiladores
Carlos Brusil
 
Trabajo compiladores ivan bolaños
Trabajo compiladores ivan bolañosTrabajo compiladores ivan bolaños
Trabajo compiladores ivan bolañosIván Bolaños
 
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
Grace Laguna
 
Flex y brison
Flex y brisonFlex y brison
Flex y brison
Alexa Chisaguano
 
Taller 21 de junio
Taller 21 de junioTaller 21 de junio
Taller 21 de junio
Alex Ortiz
 
Taller flex y bison
Taller flex y bisonTaller flex y bison
Taller flex y bison
danilopuente
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
Esteban Pillajo
 
Bison y flex
Bison y flexBison y flex
Bison y flex
Christian Morales
 
Fyb
FybFyb

Similar a Flex bison (20)

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
 
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
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 
Flex ybison
Flex ybisonFlex ybison
Flex ybison
 
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
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
FLEX Y BISON
FLEX Y BISONFLEX Y BISON
FLEX Y BISON
 
Taller
TallerTaller
Taller
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Trabajo compiladores ivan bolaños
Trabajo compiladores ivan bolañosTrabajo compiladores ivan bolaños
Trabajo compiladores ivan bolaños
 
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
 
Flex y brison
Flex y brisonFlex y brison
Flex y brison
 
Taller 21 de junio
Taller 21 de junioTaller 21 de junio
Taller 21 de junio
 
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
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
Fyb
FybFyb
Fyb
 

Más de Jose Ibadango

Autocad
AutocadAutocad
Autocad
Jose Ibadango
 
Gramaticas
GramaticasGramaticas
Gramaticas
Jose Ibadango
 
Manual instalacion adoble dreamweaver
Manual instalacion adoble dreamweaverManual instalacion adoble dreamweaver
Manual instalacion adoble dreamweaver
Jose Ibadango
 
Manual instalacion adobe dreamweaver
Manual instalacion adobe dreamweaverManual instalacion adobe dreamweaver
Manual instalacion adobe dreamweaver
Jose Ibadango
 
Instalacion turcopascal
Instalacion turcopascalInstalacion turcopascal
Instalacion turcopascal
Jose Ibadango
 
Instalacion emu8086
Instalacion emu8086Instalacion emu8086
Instalacion emu8086
Jose Ibadango
 
Descompiladores instalacion
Descompiladores instalacionDescompiladores instalacion
Descompiladores instalacion
Jose Ibadango
 
Manual instalacion adoble flash
Manual instalacion adoble flashManual instalacion adoble flash
Manual instalacion adoble flash
Jose Ibadango
 

Más de Jose Ibadango (8)

Autocad
AutocadAutocad
Autocad
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Manual instalacion adoble dreamweaver
Manual instalacion adoble dreamweaverManual instalacion adoble dreamweaver
Manual instalacion adoble dreamweaver
 
Manual instalacion adobe dreamweaver
Manual instalacion adobe dreamweaverManual instalacion adobe dreamweaver
Manual instalacion adobe dreamweaver
 
Instalacion turcopascal
Instalacion turcopascalInstalacion turcopascal
Instalacion turcopascal
 
Instalacion emu8086
Instalacion emu8086Instalacion emu8086
Instalacion emu8086
 
Descompiladores instalacion
Descompiladores instalacionDescompiladores instalacion
Descompiladores instalacion
 
Manual instalacion adoble flash
Manual instalacion adoble flashManual instalacion adoble flash
Manual instalacion adoble flash
 

Último

Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
michiotes33
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
352128962-Curso-herramientas-electricas.ppt
352128962-Curso-herramientas-electricas.ppt352128962-Curso-herramientas-electricas.ppt
352128962-Curso-herramientas-electricas.ppt
ROSAURO ROLDAN
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
Clase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de faseClase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de fase
EmilyLloydCerda
 
NOM-001-SEDE-2012.pdf instalación eléctrica
NOM-001-SEDE-2012.pdf instalación eléctricaNOM-001-SEDE-2012.pdf instalación eléctrica
NOM-001-SEDE-2012.pdf instalación eléctrica
gabyp22
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
lawjose243
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
JaimmsArthur
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civilesCAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
PEDROMANJARRES1
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
jhunior lopez rodriguez
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
Organizacion-y-direccion-de-los-centros-de-informatica.pptx
Organizacion-y-direccion-de-los-centros-de-informatica.pptxOrganizacion-y-direccion-de-los-centros-de-informatica.pptx
Organizacion-y-direccion-de-los-centros-de-informatica.pptx
GuillerminaReyesJuar
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
Aspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdfAspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdf
MaryamDeLen
 
armadura_vigas.pptx.....................
armadura_vigas.pptx.....................armadura_vigas.pptx.....................
armadura_vigas.pptx.....................
Acletti Ammina
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdfOPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
AlejandroContreras470286
 

Último (20)

Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
352128962-Curso-herramientas-electricas.ppt
352128962-Curso-herramientas-electricas.ppt352128962-Curso-herramientas-electricas.ppt
352128962-Curso-herramientas-electricas.ppt
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
Clase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de faseClase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de fase
 
NOM-001-SEDE-2012.pdf instalación eléctrica
NOM-001-SEDE-2012.pdf instalación eléctricaNOM-001-SEDE-2012.pdf instalación eléctrica
NOM-001-SEDE-2012.pdf instalación eléctrica
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civilesCAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
CAPACITACIÓN SUSTANCIAS QUIMICAS obras civiles
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
Organizacion-y-direccion-de-los-centros-de-informatica.pptx
Organizacion-y-direccion-de-los-centros-de-informatica.pptxOrganizacion-y-direccion-de-los-centros-de-informatica.pptx
Organizacion-y-direccion-de-los-centros-de-informatica.pptx
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
Aspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdfAspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdf
 
armadura_vigas.pptx.....................
armadura_vigas.pptx.....................armadura_vigas.pptx.....................
armadura_vigas.pptx.....................
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdfOPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
 

Flex bison

  • 1. PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA Nombre: José Ibadango Fecha: 2016-06-21 TALLER DE COPILADORES 1.- Herramientas para la construcción de procesadores de lenguaje. A continuación, se muestran algunas de las herramientas disponibles que pueden utilizarse para la realización de la Práctica de Procesadores de Lenguajes. Todas estas herramientas funcionan bajo Windows, aunque se puede utilizar, si se desea, cualquier otra herramienta.
  • 2. 2.- Aplicación de los lenguajes: Los lenguajes de programación hoy en día tienen una infinidad de aplicaciones, basicamente cualquier objeto electrónico tiene cierto grado de programación. Algunos de los más comunes son C++ y JAVA, tambien existe HTML, HTTP, XML, XAML y C#, este ultimo 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 informaticamente un puente entre el Hardware y el Software estos permiten que las computadoras puedan establecer conexion con un celular, una camara o una consola portatil 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 tambien niveles de programación mucho mas 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 algoritmicas 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 El alumno recordará que la sistematización de la construcción de Procesadores de Lenguaje ha sido posible gracias a los siguientes hechos históricos (mencionamos los más relevantes) que relacionan la evolución de materias muy dispares:
  • 3. Matemáticas (formalización de la lógica) Lingüística Teoría de máquinas (electrónica digital) Abu Ja’far Mohammed ibn Musa al-Jowârizmî, matemático persa, publicó hacia el año 825 un tratado de aritmética y su nombre se utiliza para llamar algoritmo a todo conjunto de reglas que permiten obtener un resultado determinado a partir de ciertos datos de partida Edad Media, surge la leyenda de la cabeza parlante de Alberto Magno, tal cabeza fue supuestamente destruida por su discípulo Tomás de Aquino. La zairja árabe consistía en algo similar, una máquina pensante que discurría mecánicamente combinando las letras del alfabeto arábigo a cada una de las cuales se asociaba una idea filosófica Raimundo Lullio “Ars Magna” (1235-1315), intenta superar, en versión cristiana, la zairja con una máquina basada en círculos concéntricos giratorios en el que coloca un abecedario de ideas sobre Dios y el universo y que, con esta disposición, permitían ser combinadas (en razonamientos) de forma mecánica. Siglos XVII y XVIII Gottfried Wilhelm Leibniz (1646-1716): álgebra universal En su producción filosófica un joven (apenas 20 años) Leibniz concibe en De arte combinatoria la idea de diseñar una notación y reglas similares a la matemática para los pensamientos y revisa el Ars Magna. En Mathesis universalis da el nombre de Logica Mathjematica sive Mathesis universalis sive Logistica sive Logica Mathematicorum El objetivo final es que, como dice literalmente, “cuando surja una controversia entre dos filósofos no será preciso que gasten en discutir más tiempo del que gastarían
  • 4. dos calculadores. Pues bastará con tomar asiento, echar mano de pluma y ábaco y decirse el uno al otro: ¡calculemos!” 4.- Diseño y construcción de un compilador.
  • 5. 5.- Las herramientas Flex y Bison. Esta herramienta se usa en consonancia con la herramienta flex y sirve para especificar analizadores sintácticos. De la misma forma que flex tiene como base las expresiones regulares, la herramienta bison también se basa en otro formalismo para describir lenguajes, en este caso serán las gramáticas independientes del contexto las que constituirán el núcleo de las especificaciones que procesará bison. 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.
  • 6. Los ficheros de entrada de Flex (normalmente con la extensión .l) siguen el siguiente esquema: %% patrón1 {acción1} patrón2 {acción2} ... donde: patrón: expresión regular acción: código C con las acciones a ejecutar cuando se encuentre concordancia del patrón con el texto de entrada- Interacción con Bison Uno de los usos principales de Flex es como acompañante del analizador de gramáticas Bison (o de Yacc). Los analizadores Bison necesitan una función llamda ‘yylex()’ para devolverles el siguiente token de la entrada. Esa función devuelve el tipo del próximo token y además puede poner cualquier valor asociado en la variable global yylval. Para usar Flex con Bison, normalmente se especifica la opción –d de Bison para que genera el fichero ‘y.tab.h’ que contiene las definiciones de todos los ‘%tokens’ que aparecen el fuente Bison. Este fichero de cabecera se incluye después en el fuente de Flex. Por ejemplo, si uno de los tokens es “TOK_NUMBER”, parte del fichero Flex podría ser: %{ #include "y.tab.h" %}
  • 7. %% [0-9]+ yylval = atoi( yytext ); return TOK_NUMBER; 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”
  • 8. • En la ventana de variables de entorno, ubicarse en la sección “Variables del sistema” luego haz clic en PATH y luego en el botón “Modificar” (si no está hacer clic en “Nueva” y agregar PATH) • En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación
  • 9. flex/bison. Si existe otro valor, separarlos con comas. • Aceptar los cambios y luego reiniciar el sistema operativo. 5. Si deseas instalar un compilador de C como MinGwin, deberás integrar la ruta de acceso al compilador a las variables de entorno para facilitar la llamada al programa. Por ejemplo si se instaló MingWin en “C:Mingw” y dentro de la carpeta “bin” se encuentra “gcc.exe” que es el ejecutable, entonces de deberá agregar (análogo a los pasos anteriores) lo siguiente:
  • 10. 6. 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. Invocando a flex y bison 8.- Como se compila con Flex y Bison • Luego de escribir las especificaciones de flex y bison realizar lo siguiente. Si se desea invocar a flex:
  • 11. 9.- 2 Ejemplos de la creación de un compilador utilizando Flex y Bison. Creación de un parser con flex y bison en C++