12

Flex y bison

Embed Size (px)

Citation preview

HERRAMIENTAS PARA LA CONSTRUCCIÓN DE PROCESADORES DE

LENGUAJE.

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

360, 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.

RESEÑA HISTORICA

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 inteligencia de la que se hallaban dotados.

DISEÑO Y CONSTRUCCIÓN DE UN COMPILADOR.

LAS HERRAMIENTAS FLEX Y BISON.

Estos nos ofrecen una gran cantidad de herramientas utilizando variables,

operadores y librerías propias, como se detallan algunas en la siguiente

descripción.

QUE ES FLEX Y BISON.

Flex y Bison, un generador de analizadores léxicos el primero y un generador

de analizadores gramaticales el segundo, son dos herramientas útiles para

crear programas que reaccionen a una entrada de datos con una estructura y

un lenguaje predeterminado, como por ejemplo, podemos crear compiladores,

interpretes y analizadores de linea de comando.

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. 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.

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.

COMO SE COMPILA CON FLEX Y BISON

2 EJEMPLOS DE LA CREACIÓN DE UN COMPILADOR UTILIZANDO FLEX

Y BISON.

CALCULADORA