JLex y javaCUP

Páginas: 6 (1310 palabras) Publicado: 27 de abril de 2013
JLEX Y JAVA CUP
Jlex es una herramienta desarrollada en Java que toma como entrada un archivo “entrada”,
con este crea un archivo fuente java entrada.lex.java correspondiente al analizador léxico.
En otras palabras, Jlex es un generador de analizadores léxicos. Los analizadores léxicos
toman como entrada una cadena de caracteres y la convierten en una secuencia de
tokens.
JAVA CUP es unparser-generador. Es un analizador sintáctico que construye un parser
para gramáticas tipo LALR(1), con código de producción y asociación de fragmentos de
código JAVA. Cuando una producción en particular es reconocida, se genera un archivo
fuente Java, parser.java que contiene una clase parser, con un método Symbol parser().

Instalación
Para la instalación de Jlex y CUP se necesitan:
1. JDK(Descarga el JDK de la página Web de Sun para los sistemas Operativos
Linux, Windows y Solaris). Si se tiene instalado alguna versión de JAVA, solo es
necesario buscar el directorio en el que se encuentra el JDK de esta.
2. Archivo para la generación de las clases para Jlex llamado Main.java que se
puede descargar de la página Web de Jlex.
3. Descarga del sitio Web de CUP el código fuente delos archivos necesarios.
Se debe crear una carpeta adentro de la carpeta bin del JDK, acá se creará una carpeta
llamada Jlex y se incluirá en esta el archivo Main.java, a la vez adentro de la carpeta bin
también se colocará la carpeta java_cup (Esta carpeta es la que descargamos del sitio
CUP).
Por ejemplo: Si tenemos instalado el programa JBuilder7, esta carpeta se encuentra en la
unidad Cde nuestra computadora, adentro de esta carpeta esta el jdk.

A partir de acá generaremos nuestras variables de entorno que consiste en escribir el
siguiente código desde una consola de DOS (Command Prompt)
1. Primero debemos colocarnos en la carpeta bin de la carpeta JDK desde la consola.
En nuestro ejemplo seria así c:\jbuilder7\jdk1.3.1\bin
2. Ahora en la consola escribiremosc:\jbuilder7\jdk1.3.1\bin> set CLASSPATH=C:\jbuilder7\jdk1.3.1\bin;%CLASSPATH%
c:\jbuilder7\jdk1.3.1\bin>set PATH=C:\jbuilder7\jdk1.3.1\bin;%PATH%
Con esto tenemos generadas las variables de entorno.
3. Ahora podemos compilar la clase Main.java. Para esto escribiremos en la consola
c:\jbuilder7\jdk1.3.1\bin>javac Jlex\Main.java
Con esto se generarán una serie de archivos adentro de la carpeta Jlex.
Lacarpeta de CUP no es necesario compilarla, ya que esta ya tiene todas las clases
compiladas, ya solo se utilizan.
4. Ahora podemos crear nuestros archivos .lex y .cup. El archivo .lex será el archivo que
tendrá los caracteres y las expresiones regulares válidas.
5. Ahora ya podemos empezar a utilizar Jlex y CUP, de primero creamos una carpeta
donde realizaremos nuestro proyecto, por ejemploen la unidad C. La carpeta se
llamara PROYECTO, adentro de esta carpeta, copiaremos la carpeta de Jlex y la de
Cup que copiamos de primero.

6. Se creará otra carpeta llamada Example, (Puede ser el nombre que se desee).

CODIGO DE JLEX:
En un archivo de texto podemos escribir lo siguiente y guardarlo con extensión .lex
package Example;
import java_cup.runtime.Symbol;
%%
%cup
%%
";" {//RECONOCE EL SIMBOLO PUNTO Y COMA
return new Symbol(sym.SEMI); }
"+" { System.out.print("SIGNO DE SUMA ");//RECONOCE EL
SIMBOLO MAS
return new Symbol(sym.PLUS); }
"*" { System.out.print("SIGNO POR ");//RECONOCE EL
SIMBOLO POR
return new Symbol(sym.TIMES); }
"-" { System.out.print("SIGNO MENOS ");//RECONOCE EL
SIMBOLO MENOS
return new Symbol(sym.MENOS); }
"/" { System.out.print("SIGNODIVIDIDO ");//RECONOCE EL
SIMBOLO DIVIDIDO
return new Symbol(sym.DIVI); }
"(" { return new Symbol(sym.LPAREN); } //RECONOCE EL
PARENTESIS DE APERTURA
")" { return new Symbol(sym.RPAREN); }//RECONOCE EL
SIMBOLO PARENTESIS DE CIERRE
[0-9]+ { System.out.print(" numero ");//RECONOCE LOS
NUMEROS
return
new
Symbol(sym.NUMBER,
new
Integer(yytext())); }
[ \t\r\n\f] { /* ignore white space....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Jlex
  • Jlex
  • Manual De Jlex Y Cup (Implementación)
  • Instalacion Jlex Y Cup Debian
  • Jlex Tutorial
  • Manual jlex y cup
  • Tutorial javacup 2012
  • Pasos De Intalacion Jlex Y Cup Con Netbeans

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS