Administracion de tabla de simbolos
Una función esencial de un compilador es registrar los identificadores utilizados en el programa fuente y reunir información sobre los distintos atributos decada identificador. Estos atributos pueden proporcionar información sobre la memoria asignada a un identificador, su tipo, su ámbito (la parte del programa donde tiene validez) y, en el caso denombres de procedimientos, cosas como el número y tipos de sus argumentos, el método de pasar cada argumento (por ejemplo, por referencia) y el tipo que devuelve, si los hay.
Una tabla de símbolos es unaestructura de datos que contiene un registro por cada identificador, con los campos para los atributos del identificador. La estructura de datos permite encontrar rápidamente el registro de cadaidentificador y almacenar o consultar rápidamente datos en un registro
Cuando el analizador léxico detecta un indentificador en el programa fuente, el identificador se introduce en la tabla de símbolos.Sin embargo, normalmente los atributos de un identificador no se pueden determinar durante el análisis léxico. Por ejemplo, en una declaración en Pascal como var posición, inicial, velocidad : real;
Eltipo real no se conoce cuando el analizador léxico encuentra posición, inicial y velocidad.
Las fases restantes introducen información sobre los identificadores en la tabla de símbolos y después lautilizan de varias formas. Por ejemplo, cuando se está haciendo el análisis semántico y la generación de código intermedio, se necesita saber cuáles son los tipos de los identificadores, para podercomprobar si el programa fuente los usa de una forma válida y así poder generar las operaciones apropiadas con ellos. El generador de código, por lo general, introduce y utiliza información detalladasobre la memoria asignada a los identificadores.
Tabla de símbolos
Esta estructura de datos mantiene la información asociada con los identificadores: funciones, variables, constantes y tipos de...
Regístrate para leer el documento completo.