Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad de Ingeniería
Escuela de Ciencias y Sistemas
Organización de Lenguajes y Compiladores 1
Jflex es un generador de analizador léxico (tambien conocido como generador de escaner) para
Java, escrito en Java. Es una re escritura de Jlex desarrollado por Elliot Berk en la Universidad de
Princeton. Como Vern Paxson dice de su herramienta C/C++ flex: “no comparten ningún código”.
Cup es un sistema para generar parser LALR para especificaciones simples. Sirve de la misma
forma que el programa (bastante usado) YACC y de hecho ofrece las funciones de YACC. Pero,
CUP esta escrito en Java, usa especificaciones incluyendo código Java, y produce parsers que se
implementan en Java.
Este manual explicara como instalar y utilizar estas 2 herramientas, utilizaremos Mac OS X pero las
mismas instrucciones aplican para linux y otros S.O. “UNIX -like”, como IDE usaremos NetBeans.
http://jflex.de/download.html
http://www2.cs.tum.edu/projects/cup/
Para instalar JFlex, utilizamos el siguiente comando en consola. Esto creara un link a donde
tenemos JFlex y nos permitira usarlo desde la consola.
sudo ln -s “ubicación del JFlex” “el path binario donde corre el interprete java”
esto creara un symlink para para poder llamar a JFlex desde la consola.
Utilizando JFlex/CUP
Creamos un proyecto en NetBeans, dentro de este una carpeta, donde colocaremos el .jar de
JFlex y CUP.
Así tendremos las librerías agregadas a nuestro proyecto y podremos utilizar JFlex/CUP
Convirtiendo el archivo .jflex
Una vez creamos nuestro archivo .JFlex, hay 2 formas de convertirlo. Usando la GUI de JFlex o por
consola.
“jflex 'archivo.jflex´ “
esto generare el parser y los símbolos en archivos java para trabajarlos en el proyecto.