Administrador De La Tabla De Simbolos
Una tabla de símbolos es una estructura de datos que usa el proceso de traducción de un lenguaje de programación, por un compilador o un intérprete, donde cada símbolo en el código fuente de un programa está asociado con información tal como la ubicación, el tipo de datos y el ámbito de cada variable, constante o procedimiento.
Los símbolos en la tablade símbolos pueden referirse a constantes, a funciones o a tipos de datos en el código fuente de un programa.
El administrador de la tabla de símbolos se encarga de manejar los accesos a la tabla de símbolos, en cada una de las etapas de compilación de un programa.
Tabla de símbolos
La Tabla de Símbolos interacciona con el analizador léxico y con el analizador sintáctico. Ambos introduceninformación o necesitan consultarla durante todo el proceso de la compilación.
La tabla almacena la información que en cada momento se necesita sobre las variables del programa, como: nombre, tipo, dirección de localización, tamaño, etc. La gestión de la tabla de símbolos es muy importante, ya que consume gran parte del tiempo de compilación. Aunque también sirve para guardar información de lostipos creados por el usuario.
Se examina la Tabla de Símbolos cada vez que se encuentra un identificador.
• La tabla de símbolos (TS) es una estructura de datos que usa un compilador para manipulas los identificadores que aparecen en un código fuente.
• Almacena todas las características necesarias de un identificador.
• La estructura y organización de las TS depende de lascaracterísticas del Lenguaje Fuente.
• La TS es consultada constantemente durante la compilación por lo que es importante que su organización sea eficiente.
La TS está vigente solo durante la compilación del programa fuente por lo que se ubica en la memoria principal.
Es usada en varias fases de un compilador:
• Semántico
- Para incluir nuevos identificadores
- Para verificar si un identificadorya existe
- Para verificación de tipos
• Generación de código
- Para generara el código (direcciones de los operadores)
Objetivos de la Tabla de Símbolos
Las misiones principales de la Tabla de Símbolos en el proceso de traducción son:
• Colaborar con las comprobaciones semánticas.
• Facilitar ayuda a la generación de código.
La información almacenada en la TS depende deltipo de elementos del lenguaje a procesar y de sus características. Los elementos del lenguaje que requieren el uso de la TS son los distintos tipos de identificadores del lenguaje (nombres de variables, de objetos, de funciones, de etiquetas, de clases, de métodos, etc.).
Permanece solo en tiempo de compilación, no de ejecución, excepto en aquellos casos en que se compila con opciones dedepuración. Las palabras reservadas no están en la TS.
Operaciones de las Tablas de Símbolos
Un aspecto importante de las TS es su organización de tal manera que su acceso sea eficiente.
Se debe especificar las operaciones validas sobre esta estructura y cada operación deberá estar asociad generalmente a una acción semántica (un método).
• Inclusión
Se realiza cada vez que apareceun nuevo identificador en el programa fuente.
La operación se realiza cuando no existe otro identificador con el mismo nombre. Normalmente se incluye el nombre del identificador y su tipo.
• Consulta
Siempre que aparece la referencia a un identificador es necesario verificar si este ya está en la TS. Dependienta del lenguaje si el identificador no está:
• Hay que incluirlo (lenguajesin declaración de variables)
• Hay un error (lenguaje con declaración de variables)
En el análisis semántico se consulta para realizar la verificación de tipos (entero, real, arreglos, etc.).
En el generador de código se consulta para obtener la dirección asignada al identificador
• Modificación
Algunos de los valores se conocen con posterioridad a la declaración por primera vez...
Regístrate para leer el documento completo.