Está en la página 1de 6

UNIVERSIDAD TECNICA “LUIS VARGAS TORRES” DE ESMERALDAS

SEDE – SANTO DOMINGO DE LOS TSÁCHILAS

FACULTAD DE INGENIERIAS

PROGRAMACION IV

INFORME DE LOS ANALIZADORES LEXICOS USANDO FLEX

ESTUDIANTE
GUIDO CEDEÑO

DOCENTE DE LA ASIGNATURA

ING. MIGUEL MORETA, MGS

SANTO DOMINGO
2019 - IIS
IIS-2019

1. Título.

Informe de los analizadores léxicos usando Flex

2. Introducción

Vimos que la primera fase del análisis es el análisis léxico. El principal objetivo del
analizador léxico es leer el flujo de caracteres de entrada y transformarlo en una secuencia
de componentes léxicos que utilizara el analizador sintáctico. Al tiempo que realiza esta
función, el analizador léxico se ocupa de ciertas labores de “limpieza”. Entre ellas esta
eliminar los blancos o los comentarios. También se ocupa de los problemas que pueden
surgir por los distintos juegos de caracteres o si el lenguaje no distingue mayúsculas y
minúsculas. Para reducir la complejidad, los posibles símbolos se agrupan en lo que
llamaremos categorías léxicas. Tendremos que especificar qué elementos componen estas
categorías, para lo que emplearemos expresiones regulares. También será necesario
determinar si una cadena pertenece o no a una categoría, lo que se puede hacer
eficientemente mediante autómatas de estados finitos.

3. Objetivos
3.1 Objetivo general
 Fundamentar las bases que permiten que la funcionalidad de los analizadores
léxicos se dé la mejor manera gracias a constructores como en el caso de Flex

3.2 Objetivos Específicos

 Interpretar cada uno de los subapartados que conforman el esquema de analizadores


léxicos.
 Analizar la comunicación que surge desde entre el fichero de código fuente para
obtener los tokens adecuados
 Resumir la vitalidad de todos estos procesos.

1
IIS-2019

4. Desarrollo Temático

El analizador de léxico lee el flujo de caracteres que componen el programa fuente y los
agrupa en secuencias significativas, conocidas como lexemas.
También el scanner tiene como función desechar espacios en blanco y comentarios entre
los tokens. Para cada lexema, el analizador léxico produce como salida un token de la
forma:
(nombre-token, valor-atributo)

Este token, pasa a la siguiente fase, el análisis de la sintaxis.


En el token, el primer componente nombre-token, es un símbolo abstracto que se utiliza
durante el análisis sintáctico, y el segundo componente valor-atributo, apunta a una entrada
en la salida en la tabla de símbolos para este token.
La información de la entrada en la tabla de símbolos se necesita para el análisis semántico y
la generación de código.

Para que el analizador léxico consiga el objetivo de dividir la entrada en partes,


tiene que poder decidir por cada una de esas partes si es un componente separado y, en su
caso, de qué tipo.
De forma natural, surge el concepto de categoría léxica, que es un tipo de símbolo
elemental
del lenguaje de programación. Por ejemplo: identificadores, palabras clave, números
enteros, etc. El analizador léxico/morfológico de un compilador es el responsable de
identificar en el fichero del programa fuente las unidades sintácticas o tokens del lenguaje
particular para el que ha sido construido.

2
IIS-2019

Ilustración 1. Esquema de analizador léxico

Fundamentos básicos de Flex:

 Flex es una herramienta para construir analizadores léxicos.


 Flex recibe como entrada un conjunto de descripciones de tokens, y genera la
función C yylex() que es un analizador léxico que reconoce dichos tokens.
 Los tokens se describen mediante patrones que son extensiones de las expresiones
regulares.
 Al conjunto de las descripciones de tokens se le llama especificación Flex.

Ilustración 2. Proceso de
la función yylex()

EJEMPLO:

Construir un analizador léxico, utilizando la herramienta Flex, que cumpla las

siguientes especificaciones:

 Reconoce en el fichero de entrada las palabras “INICIO” , “FIN”, “VECTOR”,


“ENTERO” y “LOGICO” .
 Cada vez que el analizador reconoce una de las palabras anteriores, muestra en la
salida estándar un mensaje de aviso de token reconocido. Los mensajes indican qué
token se ha identificado con el siguiente texto:

3
IIS-2019

“reconocido INICIO”, “reconocido FIN”, “reconocido VECTOR”, “reconocido ENTERO”,


“reconocido LOGICO”

El fichero de
especificación Flex se llamará ejemplo1.lIlustración 3. Visión Grafica de primer ejemplo

4
IIS-2019

5. Conclusiones

Entender la primera parte del proceso interno que realiza el simple hecho de ejecutar una
compilación de algún programa, es saber que la vitalidad de seguir una secuencia de
instrucciones plasmadas de forma secuencial y muy bien estructuradas es beneficioso
debido a que el usuario podrá modificar el código si es que en algún momento se presenta
un error caso que con los constructores de analizadores léxicos que es la primera fase de
compilación, se pretende eliminar.
Recomendaciones:
 Ver estructuras y procedimientos de demás constructores de analizadores léxicos.
 Indagar si existen aspectos que ayuden en fases de compilación.
 Analizar mas funciones que permitan los constructores.

6. Bibliografía
García Fernández, L. A., & Martínez Vidal, M. G. (2005). Primera práctica: Introducción al
Analizador Léxico FLEX.

Vivancos Rubio, E. (2011). Flex. Desarrollo de un analizador léxico usando Flex.

Resendiz Chavez, G. (2015). Herramienta Flex para el analisis lexicográfico de lenguajes


formales.

Vilar Torres, J. M. (2016). Analizador léxico (versión del curso 2015-2016).

También podría gustarte