lex jflex alvarez
TRANSCRIPT
es
Una herramienta para la generación automática de análisis léxico donde
se necesita conocer la especificación de tokens a reconocer.
Lex
JFlex
Es
Una herramienta que permite especificar un
análisis léxico mediante de especificaciones de
expresiones regulares para describir patrones de
los tokens.
Un generador de analizador léxico también conocido como generador de Scanner que acepta una especificación para la concordancia de cadenas de caracteres y produce un programa en un lenguaje de propósito general que
reconoce expresiones regulares.
es
Diferencia con Lex
Utiliza el lenguaje Java
Como se usa
Transformaciones
simples
Análisis y estudios
estadísticos al
nivel léxico
Para generar un
analizador léxico para un
compilador.
Formato general de
un programa
{Código del usuario} %% {Opciones y declaraciones} %% {Reglas léxicas}
Su diferencia Con JFlex
Sus acciones por lo regular son
escritas en C y es considerada
como una herramienta de Linux.
Se utiliza para
Transformaciones
sencillas.
Análisis y
estudios
estadísticos
al nivel
léxico
Se puede utilizar con un
generador de análisis para
llevar a cabo la fase de
análisis léxico.
Sección código del usuario
Utilizado para incluir cualquier declaración java (paquete, importación o
clase) que sea necesaria para compilar el scanner.
Sección opciones y declaraciones
Es el código que se incluye de la clase que declara un
analizador léxico, estados léxicos y macro declaraciones.
Sección de reglas léxicas
Se usa para especificar los
patrones a reconocer y las
acciones que tienes asociadas.
Contiene expresiones regulares y
acciones que se ejecutan cuando
el analizador léxico encuentra un
lexema que cumple con la
expresión regular.
Generador de Analizador
Léxico
Se utiliza para
Adaptar JFlex al framework 1. El escáner pertenece al paquete compiler.lexical 2. Debe importarse: La clase Token El interfaz ScannerIF Las clases de gestión de errores 3. Debe activarse la compatibilidad con el framework %cup %implements ScannerIF %scanerror LexicalError 4. Opcionalmente declararse la función crearToken 5. Cada acción debe acabar con un return crearToken (…);
Alvarez Cahuich Duviara Isabel-42302- 7mo. “A” Actividad 2.3 Lex/JFlex
-Compiladores: Principios, Técnicas y herramientas- 2da Edición-Aho, Lam, Sethi, Ullman Addison.
-Diseño de Compiladores- A. Garrido, J. Iñesta, J. Moreno y J. Pérez 2002