martes, 16 de junio de 2015

ANALIZADOR LÉXICO Y SUS FUNCIONES

  Definición de analizador léxico

 El analizador  léxico es una herramienta de un compilador que nos ayuda a leer los caracteres de  entrada para formar componentes y así poder identificarlos y pasar la información a analizadores sintáctico.
 Los componentes léxicos representan:

 Palabras reservadas: if, while, do ect.
Operadores. =+-*/== > <!=..
Constantes numéricas
Constantes de caracteres

 ¿Cuál es su función?

Construye elementos léxicos llamados patrones que serán utilizados posteriormente por una analizador sintáctico. Un patrón es una  pareja ordenada compuesta por un tokens y un lexema.
Un lexema es la secuencia de caracteres que coinciden con tokens.
Un analizador léxico aísla el analizador sintáctico de la representación de lexemas de los componentes léxicos.










El analizador léxico opera bajo petición del analizador sintáctico devolviendo un componente léxico conforme el analizador sintáctico lo va necesitando para avanzar en la gramática. Los componentes léxicos son los símbolos terminales de la gramática.

Suele implementarse como una subrutina del analizador sintáctico. Cuando recibe la orden obtén el siguiente componente léxico, el analizador léxico lee los caracteres de entrada hasta identificar el siguiente componente léxico.

Otras Funciones:
  • Manejo del fichero de entrada del programa fuente: abrirlo, leer sus caracteres, cerrarlo y gestionar posibles errores de lectura.
  • Eliminar comentarios, espacios en blanco, tabuladores y saltos de línea (caracteres no validos para formar un token).
  • Inclusión de ficheros: # include...
  • La expansión de macros y funciones in line: # define...
  • Contabilizar el número de líneas y columnas para emitir mensajes de error.
  • Reconocimiento y ejecución de las directivas de compilación (por ejemplo, para depurar u optimizar el código fuente).



SALIDA DEL ANALIZADOR LÉXICO

 A la salida del analizador léxico es un conjunto de tokens


Ejemplo:
Identificadores
Enteros
Palabras reservadas
Espacios en blanco
Paréntesis


Definiciones.

Tokens:
  • Símbolos terminales de una gramática
o    Identificadores, palabras reservadas, operadores,...
o    Varios signos pueden forman el mismo token
Atributos:


Información adicional que tiene el token, de utilidad para el análisis sintáctico y semántico.



Componentes léxicos (tokens):



unidad mínima de información que significa algo a la hora de compilar; concepto de palabra; las fases de un lenguaje constan de cadenas de componentes léxicos.



Lexema:



Una secuencia de caracteres de entrada que comprenden un solo componente léxico se llama lexema; cadena de caracteres que extrae el componente abstracto del componente léxico.



Patrón:



Descripción de la forma que han de tomarlos lexemas para ajustarse a un componente léxico.






No hay comentarios:

Publicar un comentario