SlideShare una empresa de Scribd logo
1 de 27
INTRODUCCIÓN A JFLEX  Y JAVA CUP Julio Rene Santizo Ochoa
Fases del compilador
Scanner Expresiones regulares Parser Gramatica Lexema Produccion
Análisis descendente LL1 Análisis ascendente SLR LR1 LALR
Que es JFlex? Es una herramienta que genera analizadores lexicos, escritos en Java.
Que es JFlex? Definicion del AL JFlex Analizador Lexico
Que es Java CUP Es una herramienta para la construcción de analizadores sintácticos que genera parsers escritos en java. Los parsers que se obtienen utilizan el método de análisis ascendente LALR
Que es Java CUP Definicion del AS CUP Analizador Sintactico
Como se usan? Se les da un archivo de entrada, con las especificaciones del analizador que queremos generar, estas herramientas se encargan de generarlos y luego podemos utilizar los analizadores generados, en cualquier proyecto de Java.
Como se usan? Para utilizarlos, debemos tenerlos dentro del classpath, invocarlos y luego utilizar las clases generadas como querramos.
Que es el CLASSPATH? The Classpath is an argument set on the command-line, or through an environment variable, that tells the Java Virtual Machine where to look for user-defined classes and packages in Java programs.
Que es una variable de entorno? export CLASSPATH =  echo $CLASSPATH
EJEMPLO #1
Integracion con eclipse Agregar external tool jflex Agregar external tool java_cup Agregar biblioteca java_cup.runtime Configurar builders
EJEMPLO #2
Archivos .jflex CODIGO DE USUARIO %% OPCIONES Y MACROS %% REGLAS Y ACCIONES
Codigo de usuario Este codigo, se copia literalmente a la clase del scanner generado. Si esta seccion termina con un comentario de documentacion de la clase para javadoc, se coloca este comentario, de lo contrario se genera un comentario automatico.
Opciones y macros Todas las opciones empiezan con % %class %public %apiprivate %{ ... %}
Opciones y macros %init{ ... %init} %cup %ignorecase %char %line %column MACRO = exp regular
Estados %states <STRING> { expr1  { action1 } expr2  { action2 } }
Reglas y acciones '[:jletter:]'  '[:jletterdigit:]'  '[:letter:]'  '[:digit:]'  '[:uppercase:]'  '[:lowercase:]'  '.'
Reglas y acciones [a-zA-Z] [abc] [^a]
Reglas y acciones * unary postfix operators ('*', '+', '?', {n}, {n,m}) * unary prefix operators ('!', '~') * concatenation (RegExp::= RegExp Regexp) * union (RegExp::= RegExp '|' RegExp)
Funciones en las acciones yytext() Devuelve el lexema reconocido. yylength() Devuelve el la longitud del lexema. yycharat( int n ) Devuelve el enésimo carácter del lexema reconocido. yychar yyline yycolumn
Archivos .cup Package e imports Codigo de usuario Lista de simbolos Precedencia y asociacion Gramatica
Bibliografia http://jflex.de/manual.html http://www2.cs.tum.edu/projects/cup/manual.html LIBRO DEL DRAGON
Material http://www.coecys.com/archivos/MaterialJlexyCup.zip

Más contenido relacionado

La actualidad más candente

Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Maztherprozh
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
Gabriel Calderon
 
Primer programa en java
Primer programa en javaPrimer programa en java
Primer programa en java
martaferrari
 
4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal
Luis Fernando Jimenez
 

La actualidad más candente (19)

Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharp
 
Sintaxisenjava
Sintaxisenjava Sintaxisenjava
Sintaxisenjava
 
Interprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpInterprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharp
 
Shell script en linux
Shell script en linuxShell script en linux
Shell script en linux
 
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
 
preparedstatement
preparedstatementpreparedstatement
preparedstatement
 
Librerias java
Librerias javaLibrerias java
Librerias java
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operators
 
Comandos java
Comandos javaComandos java
Comandos java
 
COMANDOS DE JAVA
COMANDOS DE JAVACOMANDOS DE JAVA
COMANDOS DE JAVA
 
Primer programa en java
Primer programa en javaPrimer programa en java
Primer programa en java
 
Informe tecnico u4 final
Informe tecnico u4 finalInforme tecnico u4 final
Informe tecnico u4 final
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
Guia del trabajo con excepciones
Guia del trabajo con excepcionesGuia del trabajo con excepciones
Guia del trabajo con excepciones
 
Documeto compilardorcontadorletras
Documeto compilardorcontadorletrasDocumeto compilardorcontadorletras
Documeto compilardorcontadorletras
 
4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal
 
Archivos java
Archivos javaArchivos java
Archivos java
 

Similar a J Flex Cup

Realidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de JavaRealidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de Java
Proyectos Urbe XXI, C.A
 
Cap3
Cap3Cap3
Cap3
CJAO
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
jorg_marq
 

Similar a J Flex Cup (20)

Introduccion a la algoritmia 2011-i
Introduccion a la algoritmia   2011-iIntroduccion a la algoritmia   2011-i
Introduccion a la algoritmia 2011-i
 
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de JavaComandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
Comandos, Sentencias y/o Paquetes del Lenguaje de Programación de Java
 
Introducción a la Algoritmia
Introducción a la AlgoritmiaIntroducción a la Algoritmia
Introducción a la Algoritmia
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETES
 
investigación de Comandos, Sentencias y/o Paquetes del Lenguaje de Programaci...
investigación de Comandos, Sentencias y/o Paquetes del Lenguaje de Programaci...investigación de Comandos, Sentencias y/o Paquetes del Lenguaje de Programaci...
investigación de Comandos, Sentencias y/o Paquetes del Lenguaje de Programaci...
 
Realidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de JavaRealidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de Java
 
Comandos
ComandosComandos
Comandos
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Programacion java basica
Programacion java basicaProgramacion java basica
Programacion java basica
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETES
 
Ap01 java
Ap01 javaAp01 java
Ap01 java
 
Unidad 2 programación estructurada
Unidad 2 programación estructuradaUnidad 2 programación estructurada
Unidad 2 programación estructurada
 
Cap3
Cap3Cap3
Cap3
 
Cap3 compiladores
Cap3 compiladoresCap3 compiladores
Cap3 compiladores
 
Jyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzado
 
Java Script Frame Works
Java Script Frame WorksJava Script Frame Works
Java Script Frame Works
 
Compilador concatenacion
Compilador concatenacionCompilador concatenacion
Compilador concatenacion
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
 

Último

Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Demetrio Ccesa Rayme
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
 
Motivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en JesúsMotivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en Jesús
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
PLAN ANUAL DE TUTORIA PARA SEGUNDO AÑO DE SECUNDARIA
PLAN ANUAL DE TUTORIA PARA  SEGUNDO AÑO DE SECUNDARIAPLAN ANUAL DE TUTORIA PARA  SEGUNDO AÑO DE SECUNDARIA
PLAN ANUAL DE TUTORIA PARA SEGUNDO AÑO DE SECUNDARIA
 
Presentación NORMA TECNICA 2024. minedu peru
Presentación NORMA  TECNICA 2024. minedu peruPresentación NORMA  TECNICA 2024. minedu peru
Presentación NORMA TECNICA 2024. minedu peru
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióRealitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
 
Programa dia de las madres para la convi
Programa dia de las madres para la conviPrograma dia de las madres para la convi
Programa dia de las madres para la convi
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 

J Flex Cup