Analizador léxico
Conceptos básicos
Centinela
Carácter especial que no forma parte del programa y marca el final del buffer de entrada
Expresión regular
Reconoce lenguaje regular, describe un conjunto de cadenas de forma general
Palabra reservada
Tiene un significado unico en el programa y no puede utilizarse
Definición regular
Da nombre a una expresión regular, es igual a un componente lexico
Autómata finito
Grafo que acepta palabras válidas para un lenguaje y rechaza las incorrectas
Corresponde a la Primera Fase del Compilador
Reconoce los tokens
Recibe el Programa fuente
Funciones
Generar lista ordenada de tokens a partir de caracteres de entrada
Interactuar con el analizador sintáctico, enviándole los tokens generados
Detección de errores Léxicos
Guardar información necesaria de los tokens para el proceso de compilación
Manejo del fichero de entrada del programa fuente
Abrirlo
Leer sus caracteres
Cerrarlo
Gestionar posibles errores
Eliminar comentarios, espacios en blanco
Inclusión de fichero: #include
Contabilizar el número de columnas y lineas para emitir el mensaje de error
Reconocimiento y ejecución de las directivas de compilación
Componenetes léxico (tokens)
Token
Es una forma que debe cumplír un determinado lexema, es un conjunto de caracteres con significado colectivo
Nombre que se leda al identificado: ID
Símbolos terminales de una gramatica
Identificadores, palabras reservadas
Varios signos pueden formar el token
Lexema
Secuencia de caracteres que concuerdan con un patrón
Son las cadenas que se toman del codigo, concordando con el patron
Patrón
Reglas de describen un conjunto de Lexema
Descripción formal e informal de un Lexema