Jurez Constantino Julin Ismael Liborio Sobrevilla Abraham Isa CARRERA: Ing. Sistemas Computacionales MATERIA: Lenguajes y Autmatas I CATEDRATICO: M en C. Mara Alejandra Rosas Toro Cerro Azul, Ver., a 30 de Abril 2014 INSTITUTO TECNOLOGICO DE CERRO AZUL Tabla: conjunto de pares clave-valor, llamados elementos de la tabla. La tabla de smbolos es una componente necesaria de un compilador. Al declarar un identificador (normalmente una sola vez), ste es insertado en la tabla. Cada vez que se utilice el identificador se realizar una bsqueda en la tabla para obtener la informacin asociada (el valor). Bsqueda: dada la clave de un elemento, encontrar su valor. Insercin: Dado un par clave-valor, aadir un elemento nuevo a la tabla. Cambio de valor: Buscar el elemento y cambiar su valor. Borrado: Eliminar un elemento de la tabla. Longitud de bsqueda (o tiempo de acceso) Una tabla de smbolos es una estructura de datos que contiene un registro por cada identificador, con los campos para los atributos del identificador. Puede manejar los nombres (identificadores y palabras reservadas) del cdigo fuente. la estructura de datos permite encontrar rpidamente el registro de cada identificador y almacenar o consultar rpidamente datos de ese registro. Cada fase puede encontrar errores, sin embargo, despus de detectar un error, cada fase debe tratar de alguna forma ese error, para poder continuar la compilacin, permitiendo la deteccin de mas errores en el programa fuente. Un compilador que se detiene cuando encuentra el primer error, no resulta tan til como debiera. Tipos de errores que se puedan encontrar Error lxico: tokens no reconocibles, los detecta el scaner (anlisis lxico) Tokens: es un elemento o cadena del programa fuente que tiene significado propio, como puede ser las palabras reservadas del lenguaje, los identificadores, los operadores, etc. Error sintctico: son los que no cumplen las reglas de sintaxis del lenguaje, detectndolos el parser (anlisis sintctico). Como la tarea que realiza el analizador lxico es un caso especial de coincidencia de patrones, se necesitan los mtodos de especificacin y reconocimiento de patrones, y estos mtodos son principalmente las expresiones regulares y los autmatas finitos. Sin embargo, un analizador lxico tambin es la parte del traductor que maneja la entrada del cdigo fuente, y puesto que esta entrada a menudo involucra un importante gasto de tiempo, el analizador lxico debe funcionar de manera tan eficiente como sea posible. Un token o componente lxico es una cadena de caracteres que tiene un significado coherente en cierto lenguaje de programacin. Ejemplos de tokens, podran ser palabras clave (if, while, int), identificadores, nmeros, signos, o un operador de varios caracteres. Son los elementos ms bsicos sobre los cuales se desarrolla toda traduccin de un programa, surgen en la primera fase, llamada anlisis lxico. El compilador tiene que: Reportar clara y exactamente la presencia de errores. Recuperarse de cada error lo suficientemente rpido para poder detectar errores subsiguientes: * Tratar de evitar mensajes falsos de error. * Un error que produce un token errneo. *Errores lxicos posibles.