lex jflex alvarez

Post on 26-Oct-2015

26 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related