lunes, agosto 22, 2005
jFlex & CUP con jCreator
Usando: jCreator 2.00 LE Build 008
Debido a que ya algunos perdimos bastante tiempo con Eclipse, aquí coloco mi forma de configurar jCreator para trabajar con jFlex y CUP
Notras Previas:
Los pasos que aquí detallo son una muestra particular de la manera en que yo realicé la prueba. Este documento fue escrito paralelamente con la realización de la prueba, intentando el máximo de detalle.
Cualquier consulta me la pueden hacer a gerson.lara con la arroba ,gmail el punto y el com, o a mi Telefono de casa(si lo tienen).
OS: Windows XP home en Inglés, versión 2002 con Service pack 2 (instalado desde windows update)
JVM:
C: java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
Computadora: HP con procesador Intel Celeron.
Observación: en las líneas siguientes hago referencia al directorio cmpl, éste es el directorio Complilers_home, o cualquier otro en el cual haya extraído los archivos de jFlex y CUP, y realizado los primeros pasos del Laboratorio #1
- Crear El directorio C:\cmpl\src
- Abrir sesión en jCreator
- Ir a File/New... ,
- Seleccione Workspace/Empty workspace,
- Workspace Name = Inicio
- Location = C:\cmpl\src
- El IDE crea una carpeta nueva: C:\cmpl\src\Inicio
- Ir a File/New...
- Seleccione Projects/Empty Project
- Project name = tDragon,
- El campo Location debe apuntar a la carpeta del workspace
- Asegúrese que esta seleccionada la opción “Add to Current Workspace”
- El IDE crea una carpeta nueva: C:\cmpl\src\Inicio\tDragon
- Ir a File/New...
- Seleccione Files/Text File
- Filename = tDragon.lex.
- Deje el campo Location como está,
- La opción Add to Project en true, y en el combo de abajo el proyecto tDragon (por ahora el único)
- Escriba la especificación léxica (Nota: yo pegué el contenido de minimal.lex)
- Repita pasos similares para el archivo punto-cup.
- Configuración de User Tools parte I: jFlex
- Ubique el archivo jflex.bat, (en mi caso: C:\cmpl\JFlex\bin\jflex.bat), vea más abajo el contenido de este archivo.
- Ir al menú Configure/Options, elija Tools (ojo, ¡no JDK Tools!). En el lado derecho presione NEW / Program y a continuación diríjase a la ubicación del archivo jflex.bat y selecciónelo.
- Aparecerá en el TreeView un nuevo hijo de Tools con el nombre jFlex, selecciónelo para configurar la nueva herramienta.
- En el campo commands debe aparecer de nuevo la ruta y nombre del archivo jflex.bat. Si no es su caso, presione el botón rotulado con los tres puntos y repita la selección del archivo.
- En el campo Arguments elija, mediante el menú que aparece al presionar el botón rotulado con un triángulo, el parámetro “File name”.
- De manera similar Elija “Project Directory” en el campo Initial Directory
- En el recuadro inferior “Tool Options” elija según su conveniencia, recomiendo usar “Save all documents first”
- Si no tiene visible la Barra de Herramientas “Tools”, actívelo en View/Toolbars/Tools
- Ahora una de los botones con icono en forma de llave de tuerca corresponde con jFlex, si ésta era la primera herramienta que configura, será la primera llave.
- Asegúrese de que el editor tiene activo el documento tDragon.lex y pruebe la primera herramienta.
- Revise el directorio del Proyecto (C:\cmpl\src\Inicio\tDragon\), debe haber aparecido el archivo Yylex.java, agréguelo al proyecto. (Menú Project/Add files)
- Configuración de User Tools parte II: Java_cup
- Será necesario crear un nuevo archivo punto-bat en C:\cmpl. (en mi caso C:\cmpl\jcup.bat). Vea más abajo el contenido de este archivo.
- Configure la segunda herramienta igual que en el caso anterior, seleccionando jcup.bat (o su equivalente), los argumentos y directorio inicial, son los mismos.
- Asegúrese de que el editor tiene activo el documento tDragon.cup y pruebe la segunda herramienta.
- Revise nuevamente el directorio del proyecto y compruebe que existen lso nuevos archivos parser.java y sym.java. Agréguelos al aproyecto.
- Diríjase a Project/Project Settings,
- Vaya a Required Libraries y presione NEW.
- Presione Add/Package, y Elija el archivo jflex.jar, que se encuentra en C:\cmpl\JFlex\lib\, en el campo name coloque jFlexJar
- Cuando regrese al diálogo Project Settings, asegúrese que la nueva librería está seleccionada(Marcada con Check)
- Compile el Proyecto (F7) y córralo(F5);
En mi caso, me compilo sin problemas y me corrío lo mismo que en el laboratorio en la parte que se hace en command Line. Aún así, salen errores al compilar los archivos individuales desde jCreator, hay que compilar todo el proyecto.
Contenido de los archivos punto-bat
----- inicio de batch: jFlex.bat ---------
@echo off
REM Edite los path JFLEX_HOME y JAVA_HOME para sus necesidades
REM (No agregue backslashes al final de los paths)
rem set JFLEX_HOME=C:\Compiladores\JFlex
REM only needed for JDK 1.1.x:
rem set JAVA_HOME="C:\Program Files\Java\j2sdk1.4.2"
REM -------------------------------------------------------------------
REM for JDK 1.2
java -Xmx128m -jar C:\cmpl\JFlex\lib\JFlex.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
---------- fin de batch ------------
REM @echo off
REM Creado por Gerson Lara
rem Con el proposito de correr java_cup
REM Usando la misma idea que con jFlex.bat
REM -------------------------------------------------------------------
set CMPL_HOME=C:\cmpl
set JAVA_HOME=C:\j2sdk1.4.2_04\bin
set CLASSPATH=%CMPL_HOME%\Java_cup;%CLASSPATH%
java java_cup.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
---------- fin de batch ------------
<< Home