SlideShare uma empresa Scribd logo
1 de 13
Jlex y Cup en
Java
Requerimientos


Tener instalado.




JDK cualquiera de sus versiones.

Sitios de descarga




JLex
http://www.cs.princeton.edu/~appel/modern/j
ava/JLex/
Java Cup
http://www.cs.princeton.edu/~appel/modern/jav
a/CUP/java_cup_v10k.zip
Antes de Comenzar
 Se



requiere configurar las variables de entorno.

Abrimos cmd
Ingresamos al directorio donde esté instalado el
JDK
 Ej:



c:ProgramFilesJavajdk1.7.0_02bin>

Tipeamos el comando
 set

CLASSPATH=c:ProgramFilesJavajdk1.7.0_0
2bin>;%CLASSPATH%
 set

CLASSPATH=c:ProgramFilesJavajdk1.7.0_0
2bin>;%PATH%
INSTALACIÓN JLEX
 El

archivo que se descargará es el
archivo Main.java correspondiente a
JLex. Este archivo se puede guardar en
cualquier lugar del disco duro, pero luego
será necesario, para su integración con
Netbeans, moverlo al directorio de
instalación de JDK.
COMPILACIÓN DE JLEX


Luego de haber copiado/movido el archivo a
esta nueva locación, es necesario compilar desde
consola esta clase, para que se generen los
archivos .class necesario para la completa
integración de JLex a Netbeans.



Para compilar el archivo Main.java desde la
consola será necesario ubicarse en consola en la
carpeta de instalación de JDK y luego dirigirse al
subdirectorio donde se copió el archivo Main.java
perteneciente a JLex.



El resultado de la compilación terminará con la
creación de los archivos .class necesarios para la
total integración de JLex.
INTEGRACIÓN DE CUP
 Para

integrar JLex y Cup al proyecto será
necesario pegar las carpetas JLex y
Java_Cup que han sido previamente
colocadas en la carpeta del JDK. Estas dos
carpetas deberán de ser copiadas en el
subdirectorio src del proyecto creado.
ANALIZADOR LEXICO JLEX





La definición de reglas para el analizador léxico,
deberá declarase en un ARCHVO.
En este ejemplo la case con las reglas del analizador
léxico está bajo el nombre “Scanner”.
Para la creación de esta clase se deberá de utilizar
un editor de texto. Quedando estructurado
el
archivo de la siguiente manera:


(NOTA: ABRIR ARCHIVO SCANNER )
USO DEL JFLEX






Abrimos una consola (cmd)
Nos ubicamos en el directorio del JDK
Y procedemos a compilar el archivo scanner

Dentro del directorio donde esté Scanner se
crea Scanner.Java que es el archivo
compilado
USO DE JAVA_CUP
 De

igual manera desde una consola
 Nos ubicamos en el directorio del JDK y
compilamos el archivo parser
 Nos

dirigimos al directorio del JDK y
ubicamos los archivos parser.java y
sym.java
 Estos archivos deben ser trasladados al
directorio src del Proyecto de Netbeans
 Al igual que scanner.java
 Quedando algo asi:----------->
PRUEBA DE LA GRAMÁTICA
En proyecto creamos una clase denominada token la cual contiene lo sig:



package jlexcup;
public class token {
String valor;
public token(String val)
{
this.valor=val;
}
public String getValue() {
return valor;
}
}

//Esta es la funcion que vamos a necesitar
GRAMÁTICA A USAR


La gramática a utilizar en este ejemplo de integración de
JLex y Cup con Java utilizando un IDE como Netbeans
para el desarrollo del ejemplo consiste en la gramática
libre de contexto necesaria para reconocer una
estructura de una instrucción IF en lenguaje Lisp.



Un ejemplo de la construcción de una instrucción IF en
LISP se denota de la siguiente manera:
(IF<condicion><consecuencia><alternativa>)

Ejemplo:
(if (= y 0) 9999999 (/ x y))
Para poder utilizar en nuestro proyecto creamos un archivo
.txt y ponemos la gramática ya mencionada Para el
ejemplo lo llamaremos Entrada.txt
Ejecución
package jlexcup;
import java.util.logging.Logger;
public class Jflexcup {
public static void main(String[] args) {
try{
parser P=new parser();
P.cargar("C:UsersPaulDesktopjflexcupEntrada.txt");
}catch(Exception ex){
//Logger.getLogger(jlexcup.class.getName()).log(level.SEVERE,null,ex);}
}
}
}

Mais conteúdo relacionado

Mais procurados

Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con CupLAUNASA NOVENO B
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Raul Hernandez Mayo
 
Casos de éxito de TSP en México
Casos de éxito de TSP en MéxicoCasos de éxito de TSP en México
Casos de éxito de TSP en MéxicoSoftware Guru
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de softwareGeorgy Jose Sanchez
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREPSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREFranklin Parrales Bravo
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
Planificacion de un Proyecto de Software
Planificacion de un Proyecto de SoftwarePlanificacion de un Proyecto de Software
Planificacion de un Proyecto de SoftwareGlamisleidys Chourio
 

Mais procurados (20)

Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Casos de éxito de TSP en México
Casos de éxito de TSP en MéxicoCasos de éxito de TSP en México
Casos de éxito de TSP en México
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Procesos en windows
Procesos en windowsProcesos en windows
Procesos en windows
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREPSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
 
Ieee 830 srs
Ieee 830 srsIeee 830 srs
Ieee 830 srs
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Planificacion de un Proyecto de Software
Planificacion de un Proyecto de SoftwarePlanificacion de un Proyecto de Software
Planificacion de un Proyecto de Software
 

Semelhante a Jlex y cup en java

Manual Instalación JLex & CUP
Manual Instalación JLex & CUPManual Instalación JLex & CUP
Manual Instalación JLex & CUPrubeniii
 
Generación del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKGeneración del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKJorge Iván Meza Martínez
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01Jenny Zambrana
 
Aprendiendo Java
Aprendiendo JavaAprendiendo Java
Aprendiendo Javarickybta
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...Freddy Banguero
 
Instalacionjava
InstalacionjavaInstalacionjava
Instalacionjavaxib32
 
Instalacionjava
InstalacionjavaInstalacionjava
Instalacionjavaxib32
 
Entornodedesarrollodejava
EntornodedesarrollodejavaEntornodedesarrollodejava
EntornodedesarrollodejavaVictor Zapata
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma javaEudris Cabrera
 
Jvm y variables de entorno
Jvm y variables de entornoJvm y variables de entorno
Jvm y variables de entornoSabinaChambi
 
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 César Pajares
 
Registrar variables de entorno para java platform
Registrar variables de entorno para java platformRegistrar variables de entorno para java platform
Registrar variables de entorno para java platformChristian Farinango
 
Instalando Android SDK
Instalando Android SDKInstalando Android SDK
Instalando Android SDKGary Briceño
 

Semelhante a Jlex y cup en java (20)

Reporte de práctica #1
Reporte de práctica #1Reporte de práctica #1
Reporte de práctica #1
 
Manual Instalación JLex & CUP
Manual Instalación JLex & CUPManual Instalación JLex & CUP
Manual Instalación JLex & CUP
 
Generación del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKGeneración del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTK
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01
 
Aprendiendo Java
Aprendiendo JavaAprendiendo Java
Aprendiendo Java
 
Jdk windows
Jdk windowsJdk windows
Jdk windows
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
 
Instalacionjava
InstalacionjavaInstalacionjava
Instalacionjava
 
Instalacionjava
InstalacionjavaInstalacionjava
Instalacionjava
 
Actividad 16
Actividad 16Actividad 16
Actividad 16
 
Actividad 16
Actividad 16Actividad 16
Actividad 16
 
Entornodedesarrollodejava
EntornodedesarrollodejavaEntornodedesarrollodejava
Entornodedesarrollodejava
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java
 
Jvm y variables de entorno
Jvm y variables de entornoJvm y variables de entorno
Jvm y variables de entorno
 
Instalación de jdk
Instalación de jdkInstalación de jdk
Instalación de jdk
 
Instalacion apachetocamtxammp
Instalacion apachetocamtxammpInstalacion apachetocamtxammp
Instalacion apachetocamtxammp
 
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
 
Diapositivas del jdbc magaly y duyen
Diapositivas del jdbc magaly y duyenDiapositivas del jdbc magaly y duyen
Diapositivas del jdbc magaly y duyen
 
Registrar variables de entorno para java platform
Registrar variables de entorno para java platformRegistrar variables de entorno para java platform
Registrar variables de entorno para java platform
 
Instalando Android SDK
Instalando Android SDKInstalando Android SDK
Instalando Android SDK
 

Mais de MARCO POLO SILVA SEGOVIA

Autoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladoresAutoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladoresMARCO POLO SILVA SEGOVIA
 
Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)MARCO POLO SILVA SEGOVIA
 
Tarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompiladorTarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompiladorMARCO POLO SILVA SEGOVIA
 
Autoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidadAutoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidadMARCO POLO SILVA SEGOVIA
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsMARCO POLO SILVA SEGOVIA
 

Mais de MARCO POLO SILVA SEGOVIA (20)

Autoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladoresAutoevaluación portafolio profesor compiladores
Autoevaluación portafolio profesor compiladores
 
Tutorial compiladores
Tutorial compiladoresTutorial compiladores
Tutorial compiladores
 
Lex yacc
Lex yaccLex yacc
Lex yacc
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Capitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazarCapitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazar
 
Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)Capítulo 2 compiladores (willian gallo -------boris chungandro)
Capítulo 2 compiladores (willian gallo -------boris chungandro)
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Tarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompiladorTarea de compiladores carmen vargas_metacompiladordescompilador
Tarea de compiladores carmen vargas_metacompiladordescompilador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Registro anecdótico procesos y calidad
Registro anecdótico procesos y calidadRegistro anecdótico procesos y calidad
Registro anecdótico procesos y calidad
 
Autoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidadAutoevaluación portafolio profesor procesos y calidad
Autoevaluación portafolio profesor procesos y calidad
 
Procesos y calidad i parcial
Procesos y calidad i parcialProcesos y calidad i parcial
Procesos y calidad i parcial
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Procesos itil! aviles maruri
Procesos itil! aviles maruriProcesos itil! aviles maruri
Procesos itil! aviles maruri
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acs
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
 
conceptos de calidad
conceptos de calidadconceptos de calidad
conceptos de calidad
 
Conceptos de calidad
Conceptos de calidadConceptos de calidad
Conceptos de calidad
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (10)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Jlex y cup en java

  • 1. Jlex y Cup en Java
  • 2. Requerimientos  Tener instalado.   JDK cualquiera de sus versiones. Sitios de descarga   JLex http://www.cs.princeton.edu/~appel/modern/j ava/JLex/ Java Cup http://www.cs.princeton.edu/~appel/modern/jav a/CUP/java_cup_v10k.zip
  • 3. Antes de Comenzar  Se   requiere configurar las variables de entorno. Abrimos cmd Ingresamos al directorio donde esté instalado el JDK  Ej:  c:ProgramFilesJavajdk1.7.0_02bin> Tipeamos el comando  set CLASSPATH=c:ProgramFilesJavajdk1.7.0_0 2bin>;%CLASSPATH%  set CLASSPATH=c:ProgramFilesJavajdk1.7.0_0 2bin>;%PATH%
  • 4. INSTALACIÓN JLEX  El archivo que se descargará es el archivo Main.java correspondiente a JLex. Este archivo se puede guardar en cualquier lugar del disco duro, pero luego será necesario, para su integración con Netbeans, moverlo al directorio de instalación de JDK.
  • 5. COMPILACIÓN DE JLEX  Luego de haber copiado/movido el archivo a esta nueva locación, es necesario compilar desde consola esta clase, para que se generen los archivos .class necesario para la completa integración de JLex a Netbeans.  Para compilar el archivo Main.java desde la consola será necesario ubicarse en consola en la carpeta de instalación de JDK y luego dirigirse al subdirectorio donde se copió el archivo Main.java perteneciente a JLex.  El resultado de la compilación terminará con la creación de los archivos .class necesarios para la total integración de JLex.
  • 6. INTEGRACIÓN DE CUP  Para integrar JLex y Cup al proyecto será necesario pegar las carpetas JLex y Java_Cup que han sido previamente colocadas en la carpeta del JDK. Estas dos carpetas deberán de ser copiadas en el subdirectorio src del proyecto creado.
  • 7. ANALIZADOR LEXICO JLEX    La definición de reglas para el analizador léxico, deberá declarase en un ARCHVO. En este ejemplo la case con las reglas del analizador léxico está bajo el nombre “Scanner”. Para la creación de esta clase se deberá de utilizar un editor de texto. Quedando estructurado el archivo de la siguiente manera:  (NOTA: ABRIR ARCHIVO SCANNER )
  • 8. USO DEL JFLEX     Abrimos una consola (cmd) Nos ubicamos en el directorio del JDK Y procedemos a compilar el archivo scanner Dentro del directorio donde esté Scanner se crea Scanner.Java que es el archivo compilado
  • 9. USO DE JAVA_CUP  De igual manera desde una consola  Nos ubicamos en el directorio del JDK y compilamos el archivo parser
  • 10.  Nos dirigimos al directorio del JDK y ubicamos los archivos parser.java y sym.java  Estos archivos deben ser trasladados al directorio src del Proyecto de Netbeans  Al igual que scanner.java  Quedando algo asi:----------->
  • 11. PRUEBA DE LA GRAMÁTICA En proyecto creamos una clase denominada token la cual contiene lo sig:  package jlexcup; public class token { String valor; public token(String val) { this.valor=val; } public String getValue() { return valor; } } //Esta es la funcion que vamos a necesitar
  • 12. GRAMÁTICA A USAR  La gramática a utilizar en este ejemplo de integración de JLex y Cup con Java utilizando un IDE como Netbeans para el desarrollo del ejemplo consiste en la gramática libre de contexto necesaria para reconocer una estructura de una instrucción IF en lenguaje Lisp.  Un ejemplo de la construcción de una instrucción IF en LISP se denota de la siguiente manera: (IF<condicion><consecuencia><alternativa>) Ejemplo: (if (= y 0) 9999999 (/ x y)) Para poder utilizar en nuestro proyecto creamos un archivo .txt y ponemos la gramática ya mencionada Para el ejemplo lo llamaremos Entrada.txt
  • 13. Ejecución package jlexcup; import java.util.logging.Logger; public class Jflexcup { public static void main(String[] args) { try{ parser P=new parser(); P.cargar("C:UsersPaulDesktopjflexcupEntrada.txt"); }catch(Exception ex){ //Logger.getLogger(jlexcup.class.getName()).log(level.SEVERE,null,ex);} } } }