SlideShare una empresa de Scribd logo
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
SEDE IBARRA
COMPILADORES
Nombre: María Fernanda Pinto
Fecha: 2016 – 06 – 21
Herramientas para la construcción de procesadores de lenguaje.
Reseña Histórica:
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la
cual se le ocurrió a este hombre a mediados del siglo XIX. Era
un profesor matemático de la universidad de Cambridge e inventor inglés, que al
principio del siglo XIX predijo muchas de las teorías en que se basan los actuales
ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por
motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro
Ada Lovedby, la cual es considerada como la primera programadora de la historia,
pues realizo programas para aquélla supuesta máquina de Babagge,
en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas
de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de
partida de la programación, sobre todo si observamos que en cuanto se empezó a
programar, los programadores utilizaron las técnicas diseñadas por Charles
Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas
perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de
la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo
a su época, lo cual describe la inteligenciade la que se hallaban dotados.
En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de
diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge
se dedicó al proyecto de la máquina analítica, abandonando la máquina de
diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación
de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había
creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo
la información codificada en patrones de agujeros perforados en tarjetas de papel
rígido. Entonces Babagge intento crear la máquina que se pudiera programar con
tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos.
Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las
ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución
es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de
la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas.
Diseño y construcción de un compilador.
Es básicamente un “procesador de lenguajes”.
Un rol importante que cumple, es el de reportar errores durante el proceso de
traducción.
Si el programa destino es ejecutable, puede ser invocado por el usuario para recibir
entradas y generar salidas.
Las herramientas 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 él la sintaxis usada para describir gramáticas.
- 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.
Instalación Flex y Bison
1. Descarga el software.
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)
5. 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.
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
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:
Por ejemplo, si se tiene un archivo de especificación de Flex llamado prueba.l dentro
de una carpeta “archivos” tipear lo siguiente C:archivos>flex prueba.l Luego
presionar ENTER Se habrá generado un archivo de nombre lex.yy.c dentro de la
carpeta donde se encuentra el archivo prueba.l
Si se desea invocar a bison (recordar que bison trabaja en conjunto con flex):
Por ejemplo, si se tiene un archivo de especificación de Bison llamado prueba.y
dentro de una carpeta “archivos” tipear lo siguiente C:archivos>bison –d prueba.y
Luego al presionar ENTER se generará dos archivos: prueba.tab.h y prueba.tab.c
dentro de la carpeta donde se encuentra el archivo prueba1.y. El argumento –d
realiza esta división, si se hubiese llamado a bison sin el parámetro, se hubiese
generado un solo archivo con extensión C El archivo cabecera (.h) es el que declarará
dentro de la especificación de Flex para poder trabajar en conjunción con bison.
Para invocar a Bison en conjunción con flex realizar lo siguiente:
Por ejemplo, si se tiene un archivo de especificación de Bison y Flex llamado
prueba.y y prueba.l respectivamente dentro de una carpeta “archivos” tipear lo
siguiente C:archivos>bison –d prueba.y C:archivos>flex prueba.l Luego al
presionar ENTER se generarán tres archivos para su posterior compilación:
prueba.tab.h, prueba.tab.c y lex.yy.c.
Para compilar los archivos generados. Flex: MinGW
Luego de haber generado los archivos .c tipear lo siguiente: C:gcc –o pruebaej
lex.yy.c Con esto generará se un archivo llamado “pruebaej.exe” El argumento –o
permite crear el archivo ejecutable
Una alternativa es utilizar un compilador para windows como DevC++ o Borland
C++ 4.5. Abriendo el archivo lex.yy.c y luego compilándolo se generará el ejecutable
“lex.yy.exe” BISON y FLEX en conjunción:
Luego de haber generado los archivos prueba.tab.c, prueba.tab.h, lex.yy.c tipear lo
siguiente: C:gcc -o pruebaej prueba.tab.c lex.yy.c Con esto generará se un archivo
llamado “pruebaej.exe”
Ejemplos:
Ejemplo1: Calculadora

Más contenido relacionado

PDF
Compiladores flex bison
PDF
Herramientas flex y bison
PDF
Flex y bison
PDF
Flex y bison
PDF
Flex y-bison
PDF
Pontificia universidad católica del ecuador flex y bison
PPT
Tema 10 www.fresymetal.com
PDF
Flex y bison
Compiladores flex bison
Herramientas flex y bison
Flex y bison
Flex y bison
Flex y-bison
Pontificia universidad católica del ecuador flex y bison
Tema 10 www.fresymetal.com
Flex y bison

La actualidad más candente (15)

ODP
Ficheros 6 to sistemas
DOCX
Corrección del examen de primer quimestre de computació1
PDF
Arreglos Turbo C
ODP
Marleneymariana1
PDF
Archivos en c clase unsam
PPTX
Bibliotecas existentes para_c_
DOCX
Correcion del examen quimestral
PDF
Flex ybison
PPTX
Bibliotecas de c_
PDF
Tipos de librería en c++
DOCX
Correción del examen de computación del 1° quimestre
PPTX
BASE DE DATOS CUESTIONARIO #2
PDF
Flexybison
ODP
Angelica makas
DOCX
Preguntas de-examen
Ficheros 6 to sistemas
Corrección del examen de primer quimestre de computació1
Arreglos Turbo C
Marleneymariana1
Archivos en c clase unsam
Bibliotecas existentes para_c_
Correcion del examen quimestral
Flex ybison
Bibliotecas de c_
Tipos de librería en c++
Correción del examen de computación del 1° quimestre
BASE DE DATOS CUESTIONARIO #2
Flexybison
Angelica makas
Preguntas de-examen
Publicidad

Destacado (12)

PDF
Data sheet scorpio
PDF
Moto yzf-r125-5 d71-2008piezas
PDF
T250 parts manual
PDF
Honda sonic-125-owner-manual-th
PDF
Manual ak125 sl1490
PDF
CRF 250L - Manual de Producto
PPTX
Honda motorcycles v.2
PDF
Manual de servicio de suzuki best 125
PPTX
Suzuki Motor Corp
PDF
INVICTA CB 150 - Manual de Producto
PPT
maruti suzuki power point presentation
PDF
Manual despiece
Data sheet scorpio
Moto yzf-r125-5 d71-2008piezas
T250 parts manual
Honda sonic-125-owner-manual-th
Manual ak125 sl1490
CRF 250L - Manual de Producto
Honda motorcycles v.2
Manual de servicio de suzuki best 125
Suzuki Motor Corp
INVICTA CB 150 - Manual de Producto
maruti suzuki power point presentation
Manual despiece
Publicidad

Similar a Fyb (20)

PDF
COMPILADORES
PDF
Compiladores
DOCX
FLEX Y BISON
PDF
Flex y Bison
PDF
Compiladores
PDF
Flex y bison héctor espinosa
DOCX
PDF
Flex y Bison
PDF
Bison y flex
PDF
Flex y bison
PDF
Investigacion Flex Y Bison
PDF
Flex y brison
PDF
Taller flex y bison
PDF
Taller 21 de junio
PDF
FLEX Y BISON
PDF
TALLER FLEX Y BISON
PDF
Trabajo compiladores ivan bolaños
PDF
Flex y Bison
PDF
Edison caicedo
PDF
Flex y Bison
COMPILADORES
Compiladores
FLEX Y BISON
Flex y Bison
Compiladores
Flex y bison héctor espinosa
Flex y Bison
Bison y flex
Flex y bison
Investigacion Flex Y Bison
Flex y brison
Taller flex y bison
Taller 21 de junio
FLEX Y BISON
TALLER FLEX Y BISON
Trabajo compiladores ivan bolaños
Flex y Bison
Edison caicedo
Flex y Bison

Más de Mafer Pinto (20)

PDF
Entropia
PDF
Intalacion vegas
PDF
Leyes entropia
PDF
Taller n 14_entropía_neguentropia
PDF
Segmentacion de Imagenes
PDF
Aplicasiones is
PDF
Práctica 5 matlab 23_noviembre_2017
PDF
Ingenieria en sistemas
PDF
Taller n 11_teoria decision - ejercicios
PDF
Práctica 4 matlab 20_noviembre_2017
PDF
Deber imagenes matlab
PDF
Taller n 10_teoria decision
PDF
Segunda practica
PDF
Ejercicios de fin de seccion
PDF
Practica matlab
PDF
Practica matlab
PDF
Instalacion matlab
PDF
Taller n 7_topologia_matematica
PDF
Taller n 6 la cibernética
PDF
Taller n 5 dos enfoques para el estudio de sistemas
Entropia
Intalacion vegas
Leyes entropia
Taller n 14_entropía_neguentropia
Segmentacion de Imagenes
Aplicasiones is
Práctica 5 matlab 23_noviembre_2017
Ingenieria en sistemas
Taller n 11_teoria decision - ejercicios
Práctica 4 matlab 20_noviembre_2017
Deber imagenes matlab
Taller n 10_teoria decision
Segunda practica
Ejercicios de fin de seccion
Practica matlab
Practica matlab
Instalacion matlab
Taller n 7_topologia_matematica
Taller n 6 la cibernética
Taller n 5 dos enfoques para el estudio de sistemas

Último (20)

PPTX
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PPTX
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
PDF
Curso Introductorio de Cristales Liquidos
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPTX
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PPTX
diego universidad convergencia e información
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
DOCX
Cumplimiento normativo y realidad laboral
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
PDF
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
PPTX
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
TRABAJO DE ANÁLISIS DE RIESGOS EN PROYECTOS
PDF
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
clase MICROCONTROLADORES ago-dic 2019.pptx
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
Curso Introductorio de Cristales Liquidos
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
Diseño y Utiliación del HVAC Aire Acondicionado
diego universidad convergencia e información
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
Cumplimiento normativo y realidad laboral
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
Curso Corto de PLANTA CONCENTRADORA FREEPORT
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
TRABAJO DE ANÁLISIS DE RIESGOS EN PROYECTOS
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA

Fyb

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA COMPILADORES Nombre: María Fernanda Pinto Fecha: 2016 – 06 – 21 Herramientas para la construcción de procesadores de lenguaje. Reseña Histórica: Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor inglés, que al principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta máquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligenciade la que se hallaban dotados. En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedicó al proyecto de la máquina analítica, abandonando la máquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo
  • 2. la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas. Diseño y construcción de un compilador. Es básicamente un “procesador de lenguajes”. Un rol importante que cumple, es el de reportar errores durante el proceso de traducción. Si el programa destino es ejecutable, puede ser invocado por el usuario para recibir entradas y generar salidas. Las herramientas 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 él la sintaxis usada para describir gramáticas. - 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. Instalación Flex y Bison 1. Descarga el software. 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
  • 3. 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) 5. 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. 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 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: Por ejemplo, si se tiene un archivo de especificación de Flex llamado prueba.l dentro de una carpeta “archivos” tipear lo siguiente C:archivos>flex prueba.l Luego presionar ENTER Se habrá generado un archivo de nombre lex.yy.c dentro de la carpeta donde se encuentra el archivo prueba.l Si se desea invocar a bison (recordar que bison trabaja en conjunto con flex): Por ejemplo, si se tiene un archivo de especificación de Bison llamado prueba.y dentro de una carpeta “archivos” tipear lo siguiente C:archivos>bison –d prueba.y Luego al presionar ENTER se generará dos archivos: prueba.tab.h y prueba.tab.c dentro de la carpeta donde se encuentra el archivo prueba1.y. El argumento –d realiza esta división, si se hubiese llamado a bison sin el parámetro, se hubiese generado un solo archivo con extensión C El archivo cabecera (.h) es el que declarará dentro de la especificación de Flex para poder trabajar en conjunción con bison.
  • 4. Para invocar a Bison en conjunción con flex realizar lo siguiente: Por ejemplo, si se tiene un archivo de especificación de Bison y Flex llamado prueba.y y prueba.l respectivamente dentro de una carpeta “archivos” tipear lo siguiente C:archivos>bison –d prueba.y C:archivos>flex prueba.l Luego al presionar ENTER se generarán tres archivos para su posterior compilación: prueba.tab.h, prueba.tab.c y lex.yy.c. Para compilar los archivos generados. Flex: MinGW Luego de haber generado los archivos .c tipear lo siguiente: C:gcc –o pruebaej lex.yy.c Con esto generará se un archivo llamado “pruebaej.exe” El argumento –o permite crear el archivo ejecutable Una alternativa es utilizar un compilador para windows como DevC++ o Borland C++ 4.5. Abriendo el archivo lex.yy.c y luego compilándolo se generará el ejecutable “lex.yy.exe” BISON y FLEX en conjunción: Luego de haber generado los archivos prueba.tab.c, prueba.tab.h, lex.yy.c tipear lo siguiente: C:gcc -o pruebaej prueba.tab.c lex.yy.c Con esto generará se un archivo llamado “pruebaej.exe” Ejemplos: Ejemplo1: Calculadora