ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tabla De Simbolos


Enviado por   •  7 de Abril de 2015  •  466 Palabras (2 Páginas)  •  200 Visitas

Página 1 de 2

Tabla de Símbolos

También recibe el nombre de tabla de nombres o tabla de identificadores y tiene dos funciones principales:

- Efectuar chequeos de la semántica.

- La generación de código.

Este permanece sólo en la compilación, no en la ejecución. La tabla almacena la información tal como: nombre, tipo, dirección de localización, tamaño, etc. De ahí que su eficiencia sea crítica. Aunque también sirve para guardar información referente a los tipos creados por el usuario, tipos enumerados y, en general, a cualquier identificador creado por el usuario, nos vamos a centrar principalmente en las variables de usuario. Respecto a cada una de ellas podemos guardar el almacenamiento del nombre. Donde se puede hacer con o sin límite. El tipo también se almacena en la tabla. las dirección de memoria en que se guardará.

Esta dirección es necesaria, porque las instrucciones que referencian a una variable deben saber dónde encontrar el valor de esa variable en tiempo de ejecución, también cuando se trata de variables globales. En lenguajes que no permiten recursividad, las direcciones se van asignando secuencialmente a medida que se hacen las declaraciones. En lenguajes con estructuras de bloques, la dirección se da con respecto al comienzo del bloque de datos de ese bloque, (función o procedimiento) en concreto.

Consideraciones sobre la Tabla de Símbolos.

La tabla de símbolos puede iniciarse con cierta información útil, tal como:

- Constantes.

- Funciones de librería.

- Palabras reservadas.

La tabla de símbolos contiene información útil para poder compilar, por tanto existe en tiempo de compilación, y no de ejecución.

Sin embargo, en un intérprete, dado que la compilación y ejecución se producen a la vez, la tabla de símbolos permanece todo el tiempo.

Ejemplo

Vamos a hacer un intérprete.

Queremos hacer las siguientes operaciones:

a = 7 * 3

b = 3 * a

En la segunda instrucción necesitamos saber cuánto vale ‘a’; es decir el valor de ‘a’ debe estar guardado en algún sitio. Para ello utilizaremos una lista de pares: de forma que cuando nos encontremos con la instrucción a = 7 * 3, miremos en la tabla, si no está ‘a’ en la tabla, creamos un nodo para introducirla.

A continuación nos encontramos con b = 3 * a. ¿Qué es ‘a’? Busco en la tabla de símbolos

y vemos que el valor de ‘a’ es 21.

b = 3 * a Ahora buscamos b en la tabla de símbolos y como no está lo creamos.

Si ejecutáramos ahora la instrucción: a = a + b

Tendríamos a ‘a’ y ‘b’ en la tabla de símbolos con lo cual solo tendríamos que modificar el valor de ‘a’.

Como

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com