Académique Documents
Professionnel Documents
Culture Documents
LA TABLA DE SMBOLOS
INTEGRANTES: Victor Mamani Catachura Gabriela Mamani Musaja
04-26451 04-26405
CONTENIDO
La tabla de smbolos TDS Requerimientos de informacin de la TDS Diseo de la tabla de smbolos Gestin de la TDS en un lenguaje con estructura de bloques. Bibliografa
LA TABLA DE SMBOLOS
Operaciones Contiene una principales: entradaes para cada uno de los La tabla de smbolos una estructura smbolos definidos el programa fuente. global utilizada por en distintos mdulos del Insertar: compilador. introduce un
Sobre los smbolo tras identificadores, y una opcionalmente declaracin. Buscar: sobre las palabras Es el principal atributo recupera reservadas y las constantes. informacin
Eliminar: borra la informacin Informacin sobre el unde datos, lexema, de tipo smbolo mbito y direccin en heredado. cuando ya no memoria. se utiliza.
LA TABLA DE SMBOLOS
En TDS se mantiene informacin acerca de las la Para un array: posiciones de memoria que se ligaran a nombres Tipo de los elementos. durante la ejecucin. Nmero de elementos. Lmitesobjeto inferior es y superior. Si el cdigo lenguaje ensamblador, el ensamblador puede encargarse de la posiciones de Para una funcin: memoria parade los distintos nombres. Nmero parmetros. Tipo de los parmetros. El compilador genera cdigo de maquina, entonces Forma de paso de parmetros. se debe indagar la posicin de cada objeto de datos Tipo de origen retorno.fijo. relativa a un
Estructura de la tabla de smbolos TDS como listas TDS como tabla de dispersin Declaraciones Reglas de mbito
Listas lineales simple o doblemente enlazadas, normalmente de tamao variable. Es un sistema sencillo, pero lento cuando hay muchas entradas.
Las entradas Estructura de de datos la tabla global dede smbolos tipo deben diccionario. ser suficientemente flexibles como para almacenar informacin Principalmente hay tresheterognea. estructuras de implementacin: rboles de
bsqueda binarios, AVL y rboles B. No demasiado tiles por la complejidad de ciertas operaciones como la eliminacin. Tablas de dispersin (hash), su eficacia depende de la tabla de dispersin elegida. Es la ms utilizada..
Se utiliza unas sola matriz, o varias, para almacenar nombres y su informacin asociada.
Id1 Info1 Id2 Info2 Idn
DISPONIBLE
Infon
DECLARACIONES
Declaraciones implcitas: en explcitas Fortran un Dos tipos de declaraciones: e identificador implcitas. no declarado que comience por una entre la i de y la n es un entero. Hay letra cuatro clases declaraciones Los atributos asociados a un nombre en la explcitas: tabla de smbolos dependen del tipo de De constante: const double PI = 3.1415; De tipo: struct Complejo{ float re, im; } declaracin.
De variable: bool encontrado; De funcin: void f(int,float);
REGLAS DE MBITO
Aunque varan mucho entre los diferentes lenguajes de programacin, es posible identificar reglas comunes.
Declaracin antes del uso: regla que obliga a declarar un identificador antes de hacer referencia a l en el programa fuente. Facilita la compilacin, Facilita la compilacin, Si al hacer una Estructura de bloques: cada bloque puede pues permite construir la pues permite construir la bsqueda de un smbolo, sta falla, se TDS a medida que se declaraciones, TDS a medida que se contener algunas de las cuales detecta una violacin de analiza sintcticamente el analiza sintcticamente el la regla. pueden cdigo fuente. incluir nombres ya utilizados. cdigo fuente.
//.. //.. float g(int a, floatb){ } { int x, y; La operacin La operacin } char* j; La operacin for (x=0;x<10;x++){ Buscar debe Eliminar slo Insertar no//.. debe bool encontrado; regla de animacin encontrar elimina la } sobrescribir //... mas prxima siempre la declaracin } declaraciones { declaracin ms reciente anteriores. x; //... mschar* reciente. de un nombre. } Se supone que la aplicacin de la funcin de dispersin sobre } j y size retorna elanidados, mismo valor: 1 de smbolos se Al procesar mbitos la tabla }
ALTERNATIVAS DE IMPLEMENTACIN
En lenguajes los que los mbitos estn Construir unaen nueva tabla de smbolos para contenidos unos en otroslas (Pascal) cada mbito, vinculando tablas puede desde los bastar con numerar losmbitos mbitosexternos. por niveles mbitos internos a los
Al cambiar de Una operacin de mbito, se Al abandonar un La insercin bsqueda continuara incrementa o Es un mtodo mbito, se elimina la de un en la tabla padre sidecrementa el nivel mas sencillo actual (al llamar a de smbolos tabla elemento se no obtiene resultados una funcin se pero menos completa. realiza en el en la tabla actual. incrementa y al eficiente. retornar se nivel actual. decrementa).
BIBLIOGRAFA
Construccin de compiladores. Principios y prctica. Kenneth C. Louden. ThomsonParaninfo. 2004. Compiladores: principios, tcnicas y herramientas. A.V. Aho, R. Sethi, J.D. Ullman. Addison-Wesley Iberoamerica. 1990.