Está en la página 1de 7

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO SUPERIOR DE


ZONGOLÍCA

LENGUAJES Y AUTÓMATAS I

ANÁLISIS LÉXICO

Presenta:

Marco Antonio Romero Andrade

Ingeniería en Sistemas Computacionales

Docente:

Humberto Marín Vega

Nogales, Veracruz, 01/06/2023


Contenido
UNIDAD IV. ANÁLISIS LÉXICO. ............................................................................................... 3

INTRODUCCIÓN. ......................................................................................................................... 3

4.1 FUNCIONES DEL ANALIZADOR LÉXICO. ............................................................... 4

4.2 COMPONENTES LÉXICOS, PATRONES Y LEXEMAS. ........................................... 4

4.3 CREACIÓN DE TABLAS DE TOKENS. ...................................................................... 5

4.4 ERRORES LÉXICOS. ..................................................................................................... 6

4.5 GENERADORES DE ANALIZADORES LÉXICOS. ................................................... 6

CONCLUSIÓN. .............................................................................................................................. 7

Referencias...................................................................................................................................... 7
UNIDAD IV. ANÁLISIS LÉXICO.

INTRODUCCIÓN.
El análisis léxico es una etapa fundamental en el proceso de compilación de un lenguaje de
programación. Es el primer paso que se realiza al procesar el código fuente y tiene como objetivo
identificar y clasificar los componentes léxicos o tokens que conforman el programa. Estos tokens
son unidades básicas del lenguaje, como palabras clave, identificadores, operadores y constantes.

El análisis léxico se encarga de reconocer y separar el código fuente en tokens significativos,


eliminando los comentarios y espacios en blanco que no afectan la estructura del programa.
Además, verifica que los lexemas cumplan con las reglas léxicas establecidas por el lenguaje,
detectando errores léxicos como palabras clave mal escritas o caracteres inválidos.

Para llevar a cabo el análisis léxico, se utilizan patrones o expresiones regulares que describen la
estructura de los tokens. Estos patrones permiten identificar y reconocer los lexemas en el código
fuente. El analizador léxico, también conocido como escáner, es responsable de aplicar estos
patrones y construir una secuencia de tokens que se utilizará en las etapas posteriores del
compilador, como el análisis sintáctico y la generación de código.

El análisis léxico se apoya en el uso de generadores de analizadores léxicos, herramientas que


automatizan la generación del código del analizador a partir de una especificación de los
componentes léxicos y sus patrones correspondientes. Estos generadores simplifican en gran
medida la implementación del análisis léxico, garantizando una mayor eficiencia y precisión en el
proceso.
4.1 FUNCIONES DEL ANALIZADOR LÉXICO.
El analizador léxico es la primera fase de un compilador y su principal función es la de leer los
caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el
analizador sintáctico para hacer el análisis.

También tiene como funcionalidad secundaria. Puede intervenir en la interfaz de usuario, como
eliminar del programa fuente comentarios y espacios en blanco en forma de caracteres de espacio
blanco, como es el TAB. También puede relacionar los mensajes de error del compilador con los
del programa fuente. También en otro tipo de compiladores, el analizador léxico se puede hacer
cargo de una copia del programa fuente en el que están marcados los errores.

4.2 COMPONENTES LÉXICOS, PATRONES Y LEXEMAS.


Los componentes o símbolos léxicos, son unidades básicas de un lenguaje de programación
reconocidas por un analizador léxico, entre estos pueden incluir lo siguiente:

Identificadores. Estos son los nombres utilizados para representar variables definidas por el
programador.

Palabras clave. Éstas son palabras reservadas del lenguaje que tienen un significado específico,
como lo son if, while, for, etc.

Operadores. Son símbolos que se utilizan para realizar operaciones matemáticas, lógicas y de
asignación, como lo son +, -, *, /, =, etc.

Constantes. Son definidos como valores fijos que no cambian durante la ejecución del programa,
como son los números enteros, flotantes y cadenas de caracteres.

En el análisis léxico, se utilizan patrones para reconocer los lexemas (o unidades léxicas) en el
código fuente. Un patrón es una descripción formal de la estructura de un lexema, expresada
mediante una gramática regular o expresiones regulares. Por ejemplo, el patrón para reconocer un
número entero podría ser "\d+", donde "\d" representa cualquier dígito del 0 al 9 y "+" indica que
el dígito puede repetirse una o más veces.
Un lexema es una instancia concreta de un componente léxico reconocido por el analizador léxico.
Por ejemplo, si el código fuente contiene el token "if", el lexema correspondiente sería la cadena
de caracteres "if".

4.3 CREACIÓN DE TABLAS DE TOKENS.


La creación de la tabla de tokens es una tarea fundamental en el análisis léxico de un compilador.
A continuación, se presenta una descripción general del proceso y algunas referencias donde
puedes encontrar información adicional sobre este tema.

La tabla de tokens se construye durante el análisis léxico y almacena información sobre cada
lexema reconocido en el código fuente. Cada entrada de la tabla de tokens puede contener
información como el tipo de token, la posición en el código fuente, y, en algunos casos, el valor
del token.

El proceso de creación de la tabla de tokens generalmente sigue los siguientes pasos:

Definición de los componentes léxicos: Identificar los componentes léxicos del lenguaje, como
identificadores, palabras clave, operadores y constantes.

Especificación de patrones: Definir los patrones que describen la estructura de cada componente
léxico utilizando gramáticas regulares o expresiones regulares.

Implementación del analizador léxico: Utilizar un generador de analizadores léxicos o


implementar manualmente el analizador léxico que reconozca los lexemas y los clasifique según
sus tipos.

Construcción de la tabla de tokens: A medida que el analizador léxico reconoce los lexemas, se va
llenando la tabla de tokens con la información correspondiente a cada lexema identificado.
4.4 ERRORES LÉXICOS.
Los errores léxicos son la fase que sigue después del análisis léxico. En ésta parte el programa
fuente es leído de izquierda a derecha y se agrupa en componentes léxicos (también llamados
tokens). Todos los espacios en blanco y demás información necesaria, son eliminados del
programa fuente. También se comprueban que los símbolos del lenguaje sean escritos
correctamente.

Los errores ocurren cuando el analizador encuentra lexemas que no cumplen con las reglas léxicas
del lenguaje. Los errores son detectados en el análisis léxico y se reportan al programador para su
corrección. Los ejemplos más comunes son los siguientes:

Identificadores inválidos: Cuando se utiliza un identificador que no cumple con las reglas léxicas
del lenguaje, como incluir caracteres especiales o comenzar con un número.

Palabras clave mal escritas: Cuando una palabra clave del lenguaje está mal escrita, lo cual puede
suceder por errores de ortografía o el uso incorrecto de mayúsculas y minúsculas.

Caracteres no válidos: Cuando se utiliza un carácter que no está permitido dentro del lenguaje,
como símbolos no reconocidos o caracteres de control.

Números mal formados: Cuando se utilizan números que no cumplen con la sintaxis válida del
lenguaje, como números con formatos incorrectos o valores fuera del rango permitido.

4.5 GENERADORES DE ANALIZADORES LÉXICOS.


Un generador de análisis léxico es una herramienta que facilita la creación del analizador léxico
de un compilador. Estas herramientas automatizan el proceso de reconocimiento de lexemas y
generan código fuente del analizador léxico a partir de una especificación de los componentes
léxicos y los patrones correspondientes.
CONCLUSIÓN.
Para finalizar, nos damos cuenta que el análisis léxico es una etapa esencial en la construcción de
compiladores y también para la creación e lenguajes de programación. Sus principales trabajos son
separar el código fuente en tokens, reconocer los errores léxicos.

Referencias
K, A. (2018). Modern Compiler implementation in C.

Yermo, C. E. (2017). Lenguajes y automatas. Obtenido de


https://lenguajesyautomatasblog.wordpress.com/

También podría gustarte