Está en la página 1de 3

KEVIN SLEYTER ORTIZ MARTÍNEZ

1090-16-20399
UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

Analizador Léxico

Un analizador léxico lee carácter a carácter del programa fuente y genera una
secuencia de componentes léxicos (tokens) que corresponden a unos patrones a
los que asocia, si es necesario, unos atributos.

Tareas del analizador Léxico

• Reconocer los componentes léxicos en la entrada.


• Eliminar los espacios en blanco, los caracteres de tabulación, los saltos de
línea y de página y otros caracteres propios del dispositivo de entrada.
• Eliminar los comentarios de entrada.
• Detectar errores léxicos.

En lenguajes de programación, además:

• Reconocer los identificadores de variable, tipo, constantes, etc. y guardarlos


en la tabla de símbolos.
• Relacionar los mensajes de error del compilador con el lugar en el que
aparecen en el programa fuente (línea, columna, etc.).

Independencia de léxico y sintáctico

El analizador léxico suele convertirse en una subrutina del analizador sintáctico. •


Varias razones para su independencia:

• Se simplifica el diseño del analizador sintáctico.


KEVIN SLEYTER ORTIZ MARTÍNEZ
1090-16-20399
UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

• Se consigue un compilador más eficiente.


• Un sistema de entrada optimizado aumenta la velocidad de lectura.
Añade portabilidad al compilador:
Independencia del alfabeto.
• Se comunican mediante:

Buffer intermedio.
Llamada a subrutina.

Token (o componente léxico):


Son las unidades lógicas que genera el analizador léxico. Formar caracteres
en tokens es muy parecido a formar palabras en un lenguaje natural. Es el conjunto
de cadenas de entrada que produce como salida el mismo componente léxico.
Cada token es una secuencia de caracteres que representa una unidad de
información en el programa fuente. Los componentes léxicos más comunes son los
siguientes:
palabras clave o reservadas
• operadores aritméticos
• operadores relacionales
• operadores lógicos
• operador de asignación
• identificadores
• constantes
• cadenas
• literales
• signos de puntuación
• librerías

Patrón: Regla que describe el conjunto de lexemas que pueden representar a un


determinado componente léxico en los programas fuente. En otras palabras, es la
descripción del componente léxico mediante una regla.
KEVIN SLEYTER ORTIZ MARTÍNEZ
1090-16-20399
UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

Lexema: El lexema, también conocido como morfema léxico, es la unidad mínima


de una palabra con valor léxico, es decir, con significado. El lexema es la raíz de
una palabra sin morfemas gramaticales. En este sentido, es la parte de la palabra
que se mantiene igual en todas sus variaciones y derivaciones. Es, pues, al
lexema al que se le añaden otros morfemas que son los que contienen la
información gramatical como, por ejemplo, género, número, persona, tiempo o
modo.

Representan cadenas de caracteres en el programa fuente que se pueden tratar


juntos como una unidad léxica. Un lexema es una secuencia de caracteres en el
programa fuente con la que concuerda el patrón para un componente léxico.

Componentes léxicos

En la mayoría de los lenguajes de programación, se consideran componentes


léxicos (tokens):

• palabras reservadas
• operadores (de comparación, asignación, lógicos, aritméticos …)
• identificadores
• constantes
• signos de puntuación (paréntesis, punto y coma …)
• marcas de comienzo y fin de bloque

También podría gustarte