Vous êtes sur la page 1sur 23

UNJBG-TACNA-PERU BOREASH BOREAS.

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.

asociada a una smbolo.

LA TABLA DE SMBOLOS

REQUERIMIENTOS DE INFORMACIN DE LA TDS


Datos que se almacenan Informacin sobre la asignacin de la memoria

INFORMACIN SOBRE LA ASIGNACIN DE LA MEMORIA DATOS QUE SE ALMACENAN

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

DISEO DE LA TABLA DE SMBOLOS


Estructura de la tabla de smbolos TDS como listas TDS como tabla de dispersin Declaraciones Reglas de mbito

ESTRUCTURA DE LA TABLA DE SMBOLOS


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..

TDS COMO LISTAS

Se utiliza unas sola matriz, o varias, para almacenar nombres y su informacin asociada.
Id1 Info1 Id2 Info2 Idn

DISPONIBLE

Infon

TDS COMO TABLA DE DISPERSIN

Una tabla de dispersin es un array con entradas indexadas:


Una funcin de dispersin convierte el nombre del identificador en un valor entero que corresponde con un ndice. La resolucin de colisiones se lleva a cabo mediante encadenamient o por separado (una lista enlazada en cada ndice).

La funcin de dispersin debe producir pocas colisiones.

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.

GESTIN DE LA TDS EN UN LENGUAJE CON ESTRUCTURA DE BLOQUES


Las estructura de bloques Alternativas de implementacin

LAS ESTRUCTURA DE BLOQUES


Un Ejemplo una tabla hash. lenguaje est en estructurado en bloques: Regla de basado anidacin ms prxima: las referencias a un int i,j; Con varias tablas anidadas: int f(int y size){ Si permite la anidacin de unos bloques dentro de realizada otros, identificador Cdigo a analizar: se refieren siempre a la declaracin en i,temp; int i,j; de una declaracin se limita al bloque y char Si el mbito sus bloques //... el bloque ms int f(intprximo. size){ anidados. { char i,temp; char* j; Implementacin de esta regla en la tabla de smbolos: Ejemplo:

//.. //.. 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 }

comporta como una pila.

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.

Vous aimerez peut-être aussi