Sunteți pe pagina 1din 8

Aprendiendo JFlex 1 de enero de 2010

APRENDIENDO
JFLEX EN 12
PASOS
Aprendiendo JFlex 1 de enero de 2010

MANUAL

El siguiente manual se desarrollara en el entorno JDeveloper, versión 11g.

NOTA: Puedes descargar JDeveloper en el siguiente enlace:


http://www.oracle.com/technology/software/products/jdev/index.html

Java lo puedes descargar en este enlace:


http://www.java.com/es/download/

No olvides instalar el jdk (java development kit), lo puedes descargar en el


siguiente enlace: http://java.sun.com/javase/downloads/index_jdk5.jsp

1) Descargar JFlex del siguiente enlace:


http://jflex.de/download.html

2) A continuación ya que tenemos todas las herramientas, procedemos a


crear un nuevo proyecto en jDeveloper de la siguiente manera:

2.1) El proyecto y el paquete se llamaran “usandoJFlex”

3) Deberás de buscar , si estas en Windows, en la carpeta “Mis


Documentos”, la carpeta JDeveloper, myWork, usandoJFlex,
src,usandoJFlex.
4) Ya estando en el src , dentro de “usandoJFlex” deberas crear con un
notepad un archivo llamado lexer.flex. Fíjate bien que sea .flex y no
.flex.txt. Se deberá de ver asi:
Aprendiendo JFlex 1 de enero de 2010

5) Crea en JDeveloper una clase llamada main (main.java). Se deberá de


ver así :

Nota: Si no aparece el “lexer.flex” , refresca la página de java (circulado de


color rojo en el screenshot).

6) Seleccionamos “lexer.flex” y desarrollaremos la sección 1 que puede


ser usada para indicar el paquete del analizador generado o para
importar paquetes necesarios dentro del código del analizador.

/*Esta sección (permite que este archivo “lexer.flex” esté ligado


con la aplicación de java “usandoJFlex”*/
package usandoJFlex; ”

Debe señalarse que el archivo a generarse (lexer.flex) consta de 3


secciones, la ya nombrada en el punto 6, y dos más que iremos
desarrollando paso a paso para su mejor entendimiento.

7) A continuación desarrollaremos la sección 2 del lexer.flex. Esta sección


es la encargada de declarar las variables miembro, crear métodos,
funciones y cualquier instrucción java útil –complementaria. Se señala
de la siguiente manera:

%% // marcador para indicar el final de la sección 1


/*Sección 2*/

%{
/*Indican el inicio y el fin de un bloque*/
%}

%standalone //Indica que funciona sin parser (analizador sintáctico)


%line //permite contar líneas automáticamente
%char //contador de caracteres
Aprendiendo JFlex 1 de enero de 2010

Deberá ir quedando asi:

8) A continuación trabajaremos la Sección 3. Esta sección es la encargada


de la escritura y manipulación de las expresiones regulares.
Para este ejemplo únicamente se reconocerán el token palabra y el
token espacio (espacio en blanco, enter y tabulador).Debemos escribir
el siguiente código:

%% // marcador de fin de la sección 2


/*Sección 3*/

[a-zA-Z]+ // letras de la a minúscula a la z minúscula, y de la A mayus a Z mayus una o más veces


/*Aquí puede ir cualquier código java */
{ System.out.println (“Token Palabra”); }
[\n\r\t ]+ //uno o más espacios
{ System.out.println (“Token Espacio”); }
. { System.out.println (“Error léxico, carácter no valido”);} //Así es la forma de decir que hay un error léxico

El archivo debe quedar así:


Aprendiendo JFlex 1 de enero de 2010

9) Ahora crearemos un archivo de entrada, llamado “prueba.txt”


localizado en el escritorio. En el archivo prueba hemos escrito las
palabras:
- Hola
- Esto es una prueba
- 10

10) Es hora de hacer funcionar el lexer.flex, por decirlo de una manera,


compilarlo, y para ello haremos lo siguiente:

- Ya que hemos extraído o descomprimido de la carpeta de JFlex


(.zip) , buscamos la carpeta lib, y dentro de esta se encontrara un .jar
llamado JFlex.
-

- Damos doble clic en el JFlex.jar y a continuación saldrá una


interfaz como esta:
Aprendiendo JFlex 1 de enero de 2010

- En browse, damos clic, y saldrá un cuadro de dialogo en el que


debemos buscar donde hemos guardado el lexer.flex, que está en
mis documentos, dentro de jDeveloper.
-
- A continuación damos clic en “Generate”. Y tendra que haber
dicho que ha sido exitoso.

- Regresamos a la carpeta del proyecto y deberá aparecer el


archivo generado por JFlex, el “Yylex.java”

11) Ahora iremos a la clase main en el método main, y escribiremos el


siguiente código, que servirá para que la clase “Yylex.java” identifique
que nuestro archivo de entrada, llamado “prueba.txt” localizado en el
escritorio, sea válido o si contiene errores léxicos.

//dentro del método main , de la clase main


try {

Yylex lexer = new Yylex(new FileReader("C:\\Users\\Witchy\\Desktop\\prueba.txt"));

int res =0; //variable usada para ir guardando el codigo del token , cuando sea -1 , sera fin de archivo
do {

// Agarrar el siguiente token, hasta que llegue final de archivo "-1"


res = lexer.yylex();
System.out.println( "Codigo del Token " + res ) ;

} while (res != -1);


} catch (Exception ex) {
ex.printStackTrace();
} finally {
}
Aprendiendo JFlex 1 de enero de 2010

12) Compilamos, y obtenemos lo siguiente:

Hemos creado exitosamente el analizador léxico.


Aprendiendo JFlex 1 de enero de 2010

S-ar putea să vă placă și