Está en la página 1de 5

ESCUELA DE INGENIERÍA

SEMESTRE ABRIL – AGOSTO


2021
COMPILADORES
ACTIVIDAD EN CLASES N° 11
Fecha: 09-06-2021
Nombre: Alejandro Enríquez

ANALISIS LÉXICO

Contestar las siguientes preguntas

¿Qué tareas son las más importantes que cumple un analizador


léxico?

• Eliminar los espacios en blanco, los caracteres de tabulación, los


saltos de línea y de página entro otros caracteres propios del
dispositivo de entrada.
• Eliminar los comentarios que tenga el código.
• Detectar los errores léxicos
• En lenguajes de programación: reconocer los identificadores de
variables, tipo, constantes, etc.
• Relacionar los mensajes de error del compilador con el lugar en
el que aparecen en el programa

¿Cuál es la necesidad de tener un analizador léxico en un


compilador?

Si las distintas fases del compilador tuvieran que trabajar con los caracteres directamente sería más
complicado descubrir la estructura de un programa
¿En qué se convierte el analizador léxico con el analizador
sintáctico?
El analizador léxico suele convertirse en una subrutina del analizador sintáctico. Aquí tenemos
varias razones para su independencia:
a. Se simplifica el diseño del analizador sintáctico
b. Se consigue un compilador más eficiente
c. Un sistema de entrada optimizado aumenta la velocidad de lectura
d. Añade portabilidad al compilador: independencia del alfabeto

¿A qué se refiere el término Tóken?


Token o componente léxico es una secuencia de caracteres con significado sintáctico propio

¿A qué se refiere el término lexema?


Lexema es una secuencia de caracteres cuya estructura se corresponde con el patrón de un tóken

¿A qué se refiere el término Patrón dentro de un análisis léxico?


Patrón es una regla que puede describir los lexemas correspondientes a un tóken

¿Cuáles son los componentes léxicos más significativos dentro de un lenguaje de


programación?
✓ Palabra reservada
✓ Operadores de comparación, asignación, lógicos y aritméticos
✓ Identificadores
✓ Constantes
✓ Signos de puntuación, paréntesis, puntos y comas
✓ Marcas de comienza y fin de bloques
Observando las siguientes capturas, realice el análisis léxico de un programa que compare las
edades entre 3 personas, ingresando cada una de las edades, el programa debe ser desarrollado
en c++.
El análisis debe quedar con la siguiente descripción:

If = palabra_reservada

X = identificador

< op_menor

10 = Literal_entero

Then = Palabra reservada

X = Identificador

:= Asignación

X = Identificador

+ = Identificador

X = op_suma
.

También podría gustarte