instalacion jflex y cup

8
[Año] Guía de Instalación JFlex y Cup Organización de Lenguajes y Compiladores 1

Upload: katerin-amaya

Post on 10-Aug-2015

180 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Instalacion Jflex y Cup

[Año]

Guía de Instalación JFlex y Cup

Organización de Lenguajes y Compiladores 1

Page 2: Instalacion Jflex y Cup

Unas de las fases para realizar un compilador son el análisis léxico y análisis sintáctico del

lenguaje.

JFlex es una herramienta desarrollada en Java que se usa para realizar el analizador léxico

de un compilador; y CUP es la herramienta que se usa para generar el analizador

sintáctico.

La presente guía mostrará la instalación de JFlex y Cup para crear analizadores léxicos y

sintácticos en el lenguaje JAVA, instalados en el Sistema Operativo Windows 7.

Prerrequisitos

Para poder instalar JFlex y Cup es necesario de los siguientes requerimientos:

1. JDK de java, el cual puede ser descargado de la página

http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-

download-432154.html, se selecciona el tipo de JDK de acuerdo a la arquitectura y

SO del computador a utilizarse.

2. Ya instalado el JDK, tener las variables de entorno del equipo (Path y Classpath)

con la ruta de la carpeta BIN en donde se halla instalado el JDK.

3.

INSTALACIÓN DE JFLEX Y CUP

DESCARGA LAS FUENTES NECESARIAS.

- Descargar el archivo jflex-1.4.3.zip disponible en http://jflex.de/download.html.

- Descargar el CUP 11a beta 20060608 runtime y el archivo CUP 10k sourcecode

release disponible en http://www2.cs.tum.edu/projects/cup/

CREACIÓN DE CARPETA CONTENEDORA DE FUENTES

- Crear una carpeta en el directorio C:/ con el nombre deseado, en este documento

se creara una llamada “analizadores” (C:\analizadores).

- Descomprimir la carpeta JFlex descargada dentro de la carpeta “analizadores”.

- Descomprimir el archivo CUP 10k sourcecode release y copiar la carpeta java_cup

dentro de la carpeta “analizadores”.

Page 3: Instalacion Jflex y Cup

CREACIÓN DE ARCHIVOS DE CONFIGURACIÓN

lexico.bat

Para compilar los archivos .jflex es necesario recurrir a la consola cada vez que se modifica

o se escribe algo nuevo en este tipo de documentos. Esto puede ser un trabajo que

consuma tiempo y esfuerzo del programador así que se crean estos archivos para que el

proceso sea más eficiente.

Se abre un documento de texto (bloc de notas o notepad++) y se escribe lo que se

muestra en la figura:

JAVA_HOME tiene la ruta en donde está instalado el JDK.

Se coloca la carpeta en donde se tiene el archivo el archivo .jflex

Page 4: Instalacion Jflex y Cup

sintactico.bat

Es un archivo igual al lexico.bat y contiene las siguientes instrucciones:

NOTAS:

☞ Estos archivos pueden ser guardados en cualquier parte.

☞ Los nombres de los archivos pueden ser escogidos aleatoriamente o al gusto del

usuario.

IMPLEMENTACIÓN EN UN PROYECTO EN NETBEANS

- Se abre Netbeans y se crea un nuevo proyecto de tipo Java Application.

- Dentro de la carpeta del proyecto, agregar una carpeta llamada “lib” y copiar en

ella el ejecutable java-cup-11a-runtime.jar

Page 5: Instalacion Jflex y Cup

- Regresar al IDE, dar clic derecho en bibliotecas, seguido de un clic en Agregar un

archivo JAR/Carpeta…

- Se busca el archivo lib creado recientemente y agregamos el java-cup-11a-

runtime.jar.

Page 6: Instalacion Jflex y Cup

CREACIÓN DEL SCAN.JFLEX

CREACIÓN DEL ARCHIVO PARSER.CUP

Estos documentos se guardan en la carpeta src del proyecto.

Page 7: Instalacion Jflex y Cup

PRUEBAS DE COMPILACIÓN Se da doble clic en los ficheros lexico.bat y sintactico.bat, esto creará 3 archivos .java

dentro del proyecto. Al tener estos tres archivos en el proyecto ya es más fácil incluir

funciones que puedan interactuar con ellos y crear el compilador.

lexico.java es el archivo que contiene un escáner para analizar léxicamente el

archivo fuente. El nombre que aparece se debe a las directivas del archivo .jflex

analizador_sintactico.java contiene el parser para analizar sintácticamente el

archivo fuente.

tabla_simbolos.java contiene la tabla de símbolos del compilador a crearse.

Page 8: Instalacion Jflex y Cup

EXPRESIONES REGULARES

Identificadores

L _? ( L | D )*

Números

-? D ( . D+ | D*)

Comentarios

// (lo que sea) \n

/* lo que sea */

Operaciones matemáticas

-? D ( . D+ | D*) (( + | - | / | * ) -? D ( . D+ | D*) )+