Compiladores

3
ANALISI LEXICO El analizador léxico es la primera fase de un compilador. Su principal función consiste en 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. El problema de fondo es especificar y diseñar un programa que ejecute ciertas acciones dado que ha identificado una cadena como parte de una expresión regular o patrón. Diagrama:

Transcript of Compiladores

Page 1: Compiladores

ANALISI LEXICOEl analizador léxico es la primera fase de un compilador. Su principal función consiste en 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.El problema de fondo es especificar y diseñar un programa que ejecute ciertas acciones dado que ha identificado una cadena como parte de una expresión regular o patrón.Diagrama:

Page 2: Compiladores

FUNCION– Leer los caracteres de entrada– Generar una secuencia de componentes léxicos o TOKENS, entregando éstos al analizador sintáctico o PARSER– Eliminar comentarios, delimitadores :si el leguaje es deformato libre (espacios, símbolos de puntuación, fin de línea), en general, todo aquello que carezca de significado para la sintaxis del lenguaje.– Lenguajes de formato libre:PASCAL,C– No libre:FOTRAN,COBOL– Relacionar los mensajes de error con las líneas del programa fuente. (Llevar la cuenta de la línea en la que se está haciendo el análisis). En general manejar el archivo fuente.– Introducir identificadores en la tabla de símbolos

Page 3: Compiladores

– Manejar errores léxicos. Por ejemplo identificador que comience con dígito en PASCAL– Puede hacer funciones de preprocesador– Puede manejar un buffer en memoria para mejorar laeficiencia.

Administración de EntradasUtilizar dos buffers de entrada resulta útil cuando es necesario un preanálisis en la entrada para identificar los componentes léxicos. Después se introducen algunas técnicas útiles para aumentar la velocidad del analizador léxico, como el uso de "centinelas" que sirven para marcar el final del buffer.