UNIVERSIDAD CENTRAL DEL ECUADOR.
Facultad de Ingeniería, Ciencias Físicas y Matemática.
Ingeniería en Informática.
LENGUAJES Y COMPILADORES.
Trabajo.
Nombre: Galo Josué Pazmiño Navarrete.
Curso: Quinto “Segundo”.
Fecha: 22 – Ene – 2013.
Tutor: Ing. Rosero.
Quito
2012 – 2013
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 2
ÍNDICE
PRE REQUISITOS: 3
GENERAR VARIABLE DE ENTORNO 3
GENERAR LA APLICACIÓN EJECUTABLE CON SÍMBOLO DE SISTEMA 7
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 3
PROCESOPARAGENERARCOMPILADORESCONLEX/YACC
PREREQUISITOS:1) Tener instalado DEV C++ en el sistema, no es recomendable trabajar con una
aplicación portable, porque está no tiene las librerías necesarias para generar el ejecutable.
2) Tener el compilador yacc guardado en el disco C.
GENERARVARIABLEDEENTORNOGeneramos una variable de entorno para comunicar la librería gcc (pertenece al DEV C++) con el sistema, para no tener problemas al momento de generar un ejecutable.
1) Abrir la ubicación donde esté instalado DEV C++. En este caso el disco C:
Podemos darnos cuenta que en esta ubicación ya está la carpeta yacc.
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 4
2) Abrimos la carpeta Dev-Cpp (marcada arriba), dentro de esta ubicamos la carpeta bin la abrimos y buscamos el gcc, clic derecho propiedades sobre gcc y copiar la ubicación de esta.
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 5
3) Nos dirigimos a las propiedades del sistema haciendo clic derecho opción propiedades después a la pestaña de opciones avanzadas aquí clic en el botón variables de entorno
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 6
4) En la opción variables del sistema encontraremos la variable Path, clic en el botón modificar.
5) En la última posición de la opción valor de la variable escribimos ; (punto y coma) y pegamos la dirección copiada de gcc
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 7
GENERARLAAPLICACIÓNEJECUTABLECONSÍMBOLODESISTEMA
1) Copiar los archivos con extensión .y (archivo escrito en yacc) y .l (archivo escrito en lex si tuviera ) en la carpeta bin que está dentro de la carpeta yacc.
2) Abrimos la ventana de símbolo de sistemas. Aquí nos dirigimos a la raíz con el comando cd..
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 8
3) Una vez en la raíz escribimos los comandos para activar yacc. SET PATH=c:\yacc\bin;%PATH% SET BISON_SIMPLE=c:\yacc\bin\bison.simple SET BISON_HAIRY=c:\yacc\bin\bison.hairy
4) Nos direccionamos a la carpeta bin con el comando cd yacc\bin
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 9
5) Ejecutamos el comando yacc –d InfijoPosfijo1.y InfijoPosfijo1 es el nombre del archivo con extensión .y
Si aparece algún conflicto como este caso, el compilador de dev c++ se encargara de solucionar dicho problema.
6) Tome en cuenta que al momento de presionar ENTER en el comando anterior se creara de forma automática los archivos marcados en la imagen, son los archivos de yacc con extensión .c
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 10
7) Escribimos el comando lex InfijoPosfijo.l para el archivo lex
8) De igual manera al momento de ejecutar el comando anterior se crea el archivo lex.yy automáticamente con extensión .c
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 11
9) Para generar la aplicación ejecutable se escribe el comando gcc y.tab.c lex.yy.c –o ConvertirInfijoPosfijo
y.tab.c archivo generado para yacc lex.yy.c archivo generado para lex -o nos permite poner nombre a la aplicación
10) Al ejecutar este comando se genera automáticamente la aplicación ejecutable de nuestro programa.
Universidad Central Del Ecuador. Ingeniería en Informática Lenguajes y Compiladores
Generación de Compiladores con LEX/YACC Galo Pazmiño 12
11) Cabe recalcar que y.tab.c asi como lex.yy.c son nombres por defecto que siempre se crean al ejecutar los comandos anteriores y son necesarios para crear la aplicación ejecutable. Por esta razón es recomendable copiar todos los archivos en otra carpeta si se desea realizar los pasos anteriores para otro archivo con extensión .y asi como .l
NOTA: Si el programa solo necesita un archivo yacc se omite el paso 7) y en el paso 9) solo se ejecuta el comando gcc y.tab.c –o NombreAplicacion.