2.0 ESTRUCTURA DE UN INTERPRETE









Traductor a representación interna















TABLA DE SIMBOLOS



Como ya se dijo en el esbozo la tabla de símbolos es una estructura de datos que se crea en tiempo de traducción del programa fuente. Es como un diccionario variable, debe darle apoyo a la inserción, búsqueda y cancelación de nombres (identificadores) con sus atributos asociados, representando las vinculaciones con las declaraciones. Debe aclararse que no necesariamente deberá estar representada en una tabla como su nombre indica ya que también se emplean árboles, pilas , etc.


Los símbolos se guardan en la tabla con su nombre y una serie de atributos opcionales que dependerán del lenguaje y de los objetivos del procesador, este conjunto de atributos almacenados se denomina registro de la tabla de símbolos.

La siguiente representa una serie de atributos que no es necesaria para todos los compiladores, sin embargo cada uno de ellos se puede utilizar en la implementación de un compilador particular.

nombre del identificador.
dirección en tiempo de ejecución a partir del cual se almacenara el identificador si es una variable.
tipo del identificador. Si es una función, el tipo que devuelve la función.
número de dimensiones del array (arreglo), o número de miembros de una estructura o clase, o números de parámetros si se trata de una función.
tamaño máximo o rango de cada una de las dimensiones de los array, si tiene dimensión estática.
etc.



En la búsqueda, se detectan los identificadores que no hayan sido declarados previamente, emitiendo un mensaje de error.


Ejemplo en lenguaje C: Undefined símbolo 'x', si es una variable que desea usarse pero no se declaró.
En la inserción, se detectan identififcadores que ya han sido declarados previamente, emitiendo un mensaje de error

ejemplo en C: multiple declaration for 'x' si x ya estaba en TS.



Evaluador de Representación Interna: A partir de la Representación Interna anterior y de los datos de entrada, se llevan a cabo las acciones indicadas para obtener los resultados. Durante el proceso de evaluación es necesario contemplar la aparición de errores. Estructura de un intérprete


Tratamiento de errores: Durante el proceso de evaluación pueden aparecer diversos errores como desbordamiento de la pila, divisiones por cero, etc. que el intérprete debe contemplar.



















Comentarios