1.6.-Generacion de Tabla de Simbolos y de Direcciones

October 20, 2018 | Author: Omar Cruz | Category: Compiler, Computer Program, Variable (Computer Science), Identifier, Table (Database)
Share Embed Donate


Short Description

Unidad 1. 1.6...

Description

1.6.-GENERACIÓN DE LA TABLA TABLA DE SÍMBOLO Y DE DIRECCIONES. También También se la llama tabla de nombres o tabla de identificadores. Es una estructura e structura 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 programa está asociado asociado con informació informaciónn tal como la ubicación, ubicación, el tipo de datos y el ámbito de cada variable, constante o procedimiento. Funciones pincip!"es#  

Efectuar chequeos semánticos. eneración de código.

 !mbas funciones se reali"an insertando o recuperando desde la tabla tabla de símbolos los atributos de las variables usadas en el programa fuente. Es$os !$i%u$os& $!"es co'o#    

el nombre tipo dirección de almacenamiento dimensión de una variable

L! o(!ni)!ci*n +e "! $!%"! +e s,'%o"os !i! +epen+ien+o +e "!s "i'i$!ciones +e 'e'oi! / $ie'po +e !cceso.     

#na tabla de símbolo provee la siguiente información$ %a un identificador. &ue información es asociada con un nombre. 'omo se asocia esa información con un nombre. 'omo acceder esta información.

(a tabla almacena la información que en cada momento se necesita sobre las vari variab able less de dell prog progra rama, ma, info inform rmac ació iónn tal tal como como$$ no nomb mbre re,, tipo tipo,, dire direcc cció iónn de locali"ación, tama)o, etc. (a gestión de la tabla de símbolos es muy importante, ya que consume gran parte del tiempo de compilación. %e ahí que su eficiencia sea crítica. 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, se centrar principalmente en las variables de usuario.

Lis$! +e A$i%u$os

 

 

 

 

*ombre de identificador. %irección en tiempo de ejecución a partir de la cual se almacenará el identificador si es una variable. En el caso de funciones puede ser la dirección a partir de la cual se colocará el código de la función. Tipo del identificador. +i es una función, es el tipo que devuelve la función. *mero de dimensiones del array, o nmero de miembros de una estructura o clase, o nmero de parámetros si se trata de una función. Tama)o má-imo o rango de cada una de las dimensiones de los arrays, si tienen dimensión estática. Tipo y forma de acceso de cada uno de los miembros de las estructuras, uniones o clases. Tipo de cada uno de los parámetros de las funciones o procedimientos. alor del descriptor del fichero y tipo de los elementos del fichero en el caso de lenguajes basados en ficheros homogéneos. *mero de la línea del te-to fuente en que se hace referencia a la variable.

Consi+e!ciones so%e "! T!%"! +e S,'%o"os    

(a tabla de símbolos puede iniciarse con cierta información til, tal como$ 'onstantes$ /0, E, etc. 1unciones de librería$ E2/, (3, etc. /alabras reservadas. Esto facilita el trabajo al le-icográfico, que tras reconocer un identificador lo busca en la tabla de símbolos, y si es palabra reservada devuelve un to4en asociado.

# 5Es un par que consiste en un nombre de to4en y un valor de atributo opcional. Token

El nombre del to4en es un símbolo abstracto que representa un tipo de unidad lé-ica6 por ejemplo, una palabra clave específica o una secuencia de caracteres de entrada que denotan un identificador. # 5Es una secuencia de caracteres en el programa fuente, que coinciden con el patrón para un to4en y que el anali"ador lé-ico identifica como una instancia de ese to4en.7 Lexema

/ara cada le-ema, el anali"ador lé-ico produce como salida un to4en de la forma$

〈 no'%eTo0en&!"oAi%u$o〉

En el to4en, el primer componente nombreToken es un símbolo abstracto que se utili"a durante el análisis sintáctico, y el siguiente componente valorAtributo apunta a una entrada en la tabla de símbolos. El anali"ador lé-ico encuentra dos to4ens de la forma identificador, para los conjuntos de caracteres suma y resta, para esta etapa de reconocimiento bastará con dicha información6 pero el generador de código necesita saber la posición y uso de éstos identificadores en el programa fuente.

Ee'p"o El anali"ador reali"a esta identificación de le-emas de la siguiente instrucción$ e"oci+!+ 2 +is$!nci! 3 $ie'po 1.e"oci+!+ es un le-ema que se representa por la forma ⟨id89⟩, en donde i+ representa de forma abstracta la palabra identificador y 1 la posición en que se encuentra el le-ema en la tabla de símbolos. :. El símbolo de asignación 2 se representa por el to4en 〈;〉, se asigna 〈>〉 ?. $ie'po con la forma ⟨id8
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF