Yo uso fedora y ahora si lo instale yo, quede un poco sorprendido de lo facil que es, cada herramienta viene en una carpeta.
Primero se instala el jdk de java, yo instale el 1.6.2 que es el ultimo que ha salido, se pone una carpeta en donde quedara instalado, a mi me quedo en: /usr/java/jdk1.6.0_02
Agarre las dos carpetas y las puse en esa carpeta que es donde esta el jdk y listo, herramientas instaladas.
Para exportar el classpath y poder hacer que nos corra desde cualquier carpeta el java se usa este comando:
export CLASSPATH=.:/usr/java/jdk1.6.0_02
donde /usr/java/jdk1.6.0_02 solo es la direccion donde tengo el jdk de java
Para correr Jlex me meti a la carpeta donde tengo mi archivo llamado lexico.lex y corro el comando:
java JLex.Main lexico.lex
esto produce una clase que se llama lexico.lex.java, cambiemole el nombre a Yylex.java
Debemos compilar la clase Yylex.java
Para compilar una clase se corre el comando:
javac
en este caso javac Yylex.java
para correr java cup estoy en la misma carpeta donde tengo el cup que se llama sintactico.cup y donde estaba el lex y corro el comando:
java java_cup.Main sintactico.cup
esto produce una clases llamadas sym.java y parser.java
hay que compilar las dos y tenemos nuestro parser listo para meterlo a netbeans o usarlo como querramos
4 comentarios:
Fedora es linux
Mucho mas facil utilizando kubuntu (de las que nos a salvado), descargas desde terminal asi:
sudo apt-get install sun-java6-jdk
sudo apt-get install sun-java6-jre
sudo apt-get install sun-java6-bin
sudo apt-get install sun-java6-plugin
sudo apt-get install jlex
sudo apt-get install cup
configuras el classpath de la siguiente manera (ubicado dentro de la carpeta donde se encuentren tus archivos .lex y .cup):
export CLASSPATH=$CLASSPATH:/usr/share/java/cup.jar:/usr/share/java/JLlex.jar
export CLASSPATH=$CLASSPATH:/usr/share/java/cup.jar:/usr/share/java/cup.jar
Y todo a la perfeccion!! :)
Tengo una duda, como es que manejas la tabla de simbolos en jlex y cup?, necesito interpertar cierta sintaxis, pero no logro entender como gestionas las llamadas a procedimientos y funcione y vectores. Gracias de antermano por tu orientacion
Tengo una duda, como es que manejas la tabla de simbolos en jlex y cup?, necesito interpertar cierta sintaxis, pero no logro entender como gestionas las llamadas a procedimientos y funcione y vectores. Gracias de antermano por tu orientacion
Publicar un comentario