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




