domingo, agosto 07, 2005

 

Laboratorio 1

A: Instalación del entorno Eclipse

1) Instalar en la carpeta c:\Eclipse

No hay observaciones relevantes.

2) Ejecución por primera vez

No hay observaciones relevantes.

3) Familiarizarse con los menús

Los menús de eclipse son muy diferentes a los de otros IDEs que he utilizado, por lo cual, familiarizarse no es una tarea trivial. Sin embargo creo que un poco de dedicación y práctica lo resuelven.

B: Creación de un proyecto Java

El nuevo proyecto fue creado, compilado y ejecutado sin observaciones relevantes.

C: instalación básica de jFlex y CUP

La descarga y/o copia de los archivos requeridos se realizó son problemas.

Sin embargo se encontró dificultades más adelante.

La primera observación es que en el .bat que se encuentra entre los binarios de jFlex existia un error en dos de los path, a los cuales les hacia falta una sub cadena “\lib” para funcionar correctamente. La corrección se hizo luego de notar que la ruta especificada no correspondía con la estructura de directorios creada por la extracción de los archivos de jFlex.

Luego de esto, la compilación de los archivos de jFlex & CUP, se realizó en una sola sesión, sin observaciones relevantes. Seguidamente la creación del código autogenerado al procesar los archivos minimal.lex & minimal.cup también se realizó de manera satisfactoria al primer intento, notando los avisos de cada programa respecto a los autómatas creados, estados, etc.; la subsiguiente re-generación en cada cambio realizado al archivo .lex se realizó igualmente en forma satisfactoria encada intento.

Más adelante, al compilar juntos los archivos Autogenerados, no se reporta ningún error.

La sección que más problemas causó, fue el intento de correr el resultado de la compilación antes mencionada, la cual siguió siendo problemática aún después de considerar las erratas respecto a la línea de comandos. En este caso la perseverancia, y el intento repetido lograron finalmente sacar a flote el Example.parser.

Ver la sesión del CMD.exe

En la Etapa concerniente a la limitación de los números menores que 64, la opción fue colocar el siguiente código:

{ if( Integer.parseInt(yytext()) >= 64 ){System.out.println("Numero demasiado grande: " + yytext());}

Esto como es de esperar, en la especificación para los tokens de tipo number.

Aunque esta era desde un principio la idea, tuve problemas al intentarla, pero, todos ellos se debían a la falta de práctica con java. Finalmente recordé que existe el .parseInt y con eso bastó.

Si están interesados en ver mis errores: CMD.exe

Podrán notar también, hacia el final del texto, que está hecha la modificación para que el resultado sea desplegado al presionar <>. Lo notarán en que no hay un punto y coma después de la expresión.

Esta solución, a mi parecer, debía hacerse en el parser, pero en el afán de seguir las instrucciones, se me ocurrió la idea más sencilla:

Convertir esto:

";" { return new Symbol(sym.SEMI); }

en esto:

"\n" { return new Symbol(sym.SEMI); }

Funciona, es todo lo que puedo decir.

Versión final de minimal.lex

Traba-doc

La herramienta javadoc... no me puedo quejar. ¿o si?

Leí el contenido de esta página. Hice mis intentos, y funcionó...

Con un archivo sí, y con otro no ( ¡oh, tronó! ).

Y pues bueno, luchando por tratar de entender cual fue la diferencia... si hice copy-paste, perdí mi tiempo.

Hice varios intentos, desde Eclipse, desde jCreator, y desde el CMD.exe. Siempre o mismo.

El archivo test.java, utilizado en la parte inicial del laboratorio si pudo ser documentado, al menos, se pudo comprobar que javadoc funciona.

Sin embargo, para el caso de minimal.lex, no se tuvo éxito. Incluso modificando directamente el archivo generado Yylex.java, no se obtuvo resultados satisfactorios.

Aquí muestro el último intento, desde la consola CMD.exe.

Pueden notar como el primer archivo funciona bien, pero el segundo... no.

En cuanto a la parte referente a Trabajar conjuntamente con Eclipse, jFlex, y CUP, aquí es donde entra una excusa en escena. Esto, lastimosamente, quedará para después.

Comentarios Finales.

Me sigo quejando a cerca de Eclipse. Por alguna razón que desconozco, no logro familiarizarme con este IDE. En comparación con jCreator, al cual le logro configurar más rápidamente. Debo hacer notar, que ninguno de los tres IDEs he usado por mucho tiempo, mi experiencia con java es realmente escasa.( Los Tres Amigos: Eclipse, NetBeans, jCreator ).

En cuanto a javadoc, me parece realmente interesante. Me dan ganas de probar que pasa si le pongo a trabajar con mis archivos de C++.

Los generadores de código: No tuve mucha oportunidad de tratar con ellos, pero pude notar que el código que generan no es tan claro como el de ANTLR.


Comments:
Tal vez el problema sea que javadoc por defecto solo genera la documentación para las clases publicas y protected, probá con el flag -private.
Tal vez te sirve este link.

Por cierto, en lo personal prefiero NetBeans :-)

Otra cosa, deberías permitir comentarios anónimos en el blog, actualmente solo usuarios de blogger te pueden comentar...

Saludos
 
Revisado. Algunos temas interesantes: La mayoría de problemas que he visto en el laboratorio se ha debido a 1) problemas de case-sensitivity, como poner example.parser en vez de Example.parser, etc., 2) No poner los espacios correctos en las invocaciones a java, 3) No saber la sintaxis de archivos .bat
 
Publicar un comentario

<< Home

This page is powered by Blogger. Isn't yours?