SlideShare a Scribd company logo
1 of 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);}
}
}
}

More Related Content

What's hot

Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++Idalia Tristan
 
Típos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesTípos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesElmer André Boulangger Alberca
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasRaul
 

What's hot (20)

Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Cuestionario de drivers
Cuestionario de driversCuestionario de drivers
Cuestionario de drivers
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Típos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesTípos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretes
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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)
 
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
 
PROCESOS
PROCESOSPROCESOS
PROCESOS
 

Recently uploaded

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Recently uploaded (16)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

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);} } } }