P. 1
Tabla Simbolos

Tabla Simbolos

|Views: 7|Likes:
Publicado porjobdgaos
Funcionamiento básico de una tabla de símbolos. para un compilador
Funcionamiento básico de una tabla de símbolos. para un compilador

More info:

Categories:Types, Presentations
Published by: jobdgaos on Jun 07, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

03/10/2015

pdf

text

original

Tabla de Símbolos

Organización de Lenguajes y Compiladores 1 USAC

Guatemala, 2013

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.

información tal como: nombre. tamaño. etc. dirección de localización. excepto en aquellos casos en que se compila con opciones de depuración. . tipo.Tabla de Símbolos Permanece sólo en tiempo de compilación. La tabla almacena la información que en cada momento se necesita sobre las variables del programa. no de ejecución.

Funcionamiento de la Tabla de Símbolos Tabla de Símbolos  Introducir_Identificador  Completar_Atributo  Completar_Atributo Obtener_Atributo  Análisis Léxico Análisis Sintáctico Análisis Semántico Código Intermedio Optimización de Código Generación de Código Obtener_Atributo  Obtener_Atributo  Obtener_Atributo  .

Contenido de la Tabla de Símbolos Nombre: Se puede hacer con o sin límite. . Si lo hacemos con límite. y desperdicia espacio en la mayoría. emplearemos una longitud fija para cada variable. pero limita la longitud en unos casos. lo cual aumenta la velocidad de creación. Tipo: Almacenara el tipo del identificador para poder ser utilizado en validaciones semánticas.

también cuando se trata de variables globales. . las direcciones se van asignando secuencialmente a medida que se hacen las declaraciones.Contenido de la Tabla de Símbolos Dirección de memoria en que se guardará: Esta dirección es necesaria. En lenguajes que no permiten recursividad. porque las instrucciones que referencian a una variable deben saber donde encontrar el valor de esa variable en tiempo de ejecución.

Contenido de la Tabla de Símbolos Dirección de memoria en que se guardará: En lenguajes con estructuras de bloques. la dirección se da con respecto al comienzo del bloque de datos de ese bloque. Ámbito: En los lenguajes orientados a objetos y con estructura de bloques pueden existir múltiples símbolos con el mismo identificador en ámbitos distintos. sirviendo este atributo para determinar el ámbito a que pertenecen. (función o procedimiento) en concreto. .

o el de parámetros de una función o procedimiento junto con el tipo de cada uno de ellos es útil para el chequeo semántico. El número de dimensiones de una variable array. .Contenido de la Tabla de Símbolos Guardar información de los números de línea y columna en que se declaró.

. tal como: . .Contenido de la Tabla de Símbolos La tabla de símbolos puede iniciarse con cierta información útil. etc.Palabras reservadas: Esto facilita el trabajo al lexicográfico. que tras reconocer un identificador lo busca en la tabla de símbolos. E. . y si es palabra reservada devuelve un token asociado.Constantes: PI.Funciones de librería.

.Operaciones de la Tabla de Símbolos Inserción: Almacena información proporcionada por las declaraciones de nombre cuando estas son procesadas. Búsqueda: Recupera la información asociada con un nombre cuando este se utiliza en una declaración o el código asociado.

Eliminación: Elimina la información asociada con un nombre de la tabla de símbolos. .Operaciones de la Tabla de Símbolos Modificación: Modifica información proporcionada por las declaraciones de nombre cuando estas son procesadas.

Compiladores de una pasada Generan el código maquina a partir de una única lectura el código fuente. generando el código o programa objeto. . es decir examina el código fuente una vez.

Genera poca actividad de entrada/salida. Mucha necesidad de memoria. Desventajas Limitaciones en la calidad del código generado. .Compiladores de una pasada Ventajas Fácil de implementar.

la Tabla de Símbolos se crea durante el análisis léxico y sintáctico. .Compiladores de varias pasadas En un compilador de varias pasadas.

.Compiladores de varias pasadas No es hasta las fases de análisis semántico y de generación de código cuando vuelve a utilizarse la Tabla de Símbolos. pues en estas fases ocurre que alguno de los atributos asociados a un identificador se les pueda asignar un valor en la Tabla de Símbolos.

. también se emplean árboles. Aunque su nombre parece indicar una estructuración en una tabla no es necesariamente ésta la única estructura de datos utilizada. pilas. etc. tabla hash.Estructura de una Tabla de Símbolos Una Tabla de Símbolos se puede definir como una estructura de datos organizada en función de los identificadores que aparecen en el programa fuente.

Estructura de una Tabla de Símbolos bit.ly/17734ha .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->