Академический Документы
Профессиональный Документы
Культура Документы
Unidad II
Analizador Sintáctico
Semana 7
Tabla de símbolos
Objetivo General
Tabla de Símbolos
Definición
La tabla de símbolos es una estructura de
datos que se utiliza para almacenar
información (atributos) asociados a símbolos
Generalidades
declarados en el programa.
Funciones de la Tabla de Símbolos
La tabla de símbolos también es conocido
como tabla de nombres o tabla de
identificadores y es accedido por dos
Generalidades
funciones principales:
en un vector de nombres.
ESTRUCTURA
A. Nombre del símbolo. Almacenamiento externo
puntero.
ESTRUCTURA
B. Dirección de memoria
Gener
INICIALIZACION
ador
Análisis Análisis de
léxico sintáctico código
Análisis Semántico
TABLA DE SIMBOLOS
FUNCIONAMIENTO
a. La TS puede inicializarse con cierta información
sobre símbolos especiales en el lenguaje, como son
las palabras reservadas, funciones de librerías,
Tabla de Símbolos
var a, b, c: char;
…
procedure g;
var a, b : char;
procedure h; f(): g(): j():
var c, d : char;
… a, b, c a, b b, d
procedure i; h, i
var b, c: char;
…
…
procedure j; h(): i():
var b, d:char; c, d b, c
…
…
ESTRUCTURAS DE DATOS
Lista no ordenada:
• Búsqueda e inserción no eficaces
• Solo es valida cuando va a haber pocos símbolos
Tabla de Símbolos
Lista ordenada:
• Búsqueda mas rápida si se implementa por una matriz
• Inserción sigue siendo lenta
Árbol binario:
• Búsqueda e inserción rápidas (si se mantienen balanceados)
• Eficientes en términos de espacio
Tablas hash:
• Las mas utilizadas por su eficiencia
• La función hash debe mantener los nombres uniformemente
distribuidos
ESTRUCTURAS DE DATOS
Lista no ordenada
Tabla de Símbolos
ESTRUCTURAS DE DATOS
Árbol binario
Tabla de Símbolos
ESTRUCTURAS DE DATOS
(bosque de árboles)
En este caso la TS esta formada por múltiples arboles,
uno por cada bloque. Se usa una estructura de datos
Tabla de Símbolos
Índice de 1 2 3
bloque
cinco … (a)
ESTRUCTURAS DE DATOS
(bosque de árboles)
Las operaciones sobre esta son:
Tabla de Símbolos
Dos cadenas
diferentes pueden
estar asociadas al
mismo índice
(COLISION).
La función de dispersión h:
asocia una cadena de
caracteres con un código de
dispersión = índice de la tabla.
TRABAJO
Al analizador lexicográfico desarrollado,
incorporar la implementación y uso de
Tabla de Símbolos
Unidad II
Analizador Sintáctico
Semana 7
Tabla de símbolos