Vous êtes sur la page 1sur 5

COMO SE LLEVA A CABO LA CREACION DE LA TABLA DE SIMBOLOS Y DE

DIRECCIONES
FUNCION
CARACTERISTICAS
CONTENIDO
ESTRUCTURA
OPERACIONES
RESUMEN
Una tabla de smbolos es la estructura de datos que permite almacenar
informacin semntica, es decir en ella se encuentra el significado asociado a las
estructuras formales (sintaxis) del lenguaje.
Su objetivo es delimitar el contexto de un conjunto de frases o instrucciones de un
lenguaje libre de contexto, es decir que los lenguajes representados por las
variables se describen recursivamente en trminos de otros lenguajes o de
smbolos primitivos llamados terminales y las reglas que describen el lenguaje
asociado con cada variable se llaman producciones.
Algunas de las utilidades de la tabla de smbolos son:
- Simplifica el anlisis sintctico
- Ayudan en las comprobaciones semnticas
- Y en la generacin de cdigo.
El contenido de la tabla de smbolos es de dos tipos: el propio smbolo y los
atributos necesarios para definir el smbolo a nivel semntico y de generacin de
cdigo, los atributos dependen a nivel general si:
* Del tipo de gestin de memoria
* El lenguaje esta, o no, estructurado en bloques
* El smbolo es, o no, parmetros de un procedimiento o funcin

CONSTRUCCION DE LA TABLA DE SIMBOLOS


1.
El analizador lxico deber:
- Insertar los smbolos detectados en la tabla de smbolos
- Crear la tabla de smbolos parcialmente
- Sealar la lnea del programa fuente en donde aparecen
2.
El analizador semntico:
- Aadir los tipos, si procede, a los smbolos que aparecen en la tabla de
smbolos.

OPERACIONES SOBRE LA TABLA DE SIMBOLOS


1.
Insertar
2.
Consultar
3.
Modificar (aadir atributos nuevos).

Lenguaje con declaraciones de variables est conformado por dos tipos: explicitas e
implcitas, en la primera est compuesta por declaraciones de tipo operacin de
insertar y de referencia donde solo se puede consultar; y en las implcitas contiene las
operaciones de consulta si no est ya incluida e inserta en caso contrario y adems
tiene lenguajes con estructura de bloque, es decir crea subtablas.
En la implementacin de la tabla de smbolos, la distribucin de la informacin
depender de las caractersticas del lenguaje y de las restricciones establecidas para
los smbolos. Est conformado por campos:
Campo para el smbolo que a su vez se divide en formato fijo y variable respecto al
primero como su nombre lo dice establece un lmite en el nmero de caracteres que
forman los smbolos. En el segundo se dispone de la TS de un rea auxiliar en donde
se introducen los smbolos de un modo consecutivo.
Campo de direccin: este se divide en dos lenguajes sin y con estructura de
bloques en esta ltima se necesitan dos campos nmero y direccin de bloque.
Campo tipo: este se introduce cuando se identifica una declaracin explcita o
implcita de una variable. Y se utiliza para determinar la memoria de
almacenamiento y la comprobacin de tipos.
Campo nm. de dimensiones / nm. de parmetros: la realiza el analizador
semntico y sirve para delimitar el tamao de memoria necesaria para representar
el smbolo.
Campo lista cruzada de referencia y puntero de orden: son tiles para el
programador del traductor con objeto de facilitar el uso de la TS.
ORGANIZACIN DE LA TS
Esta se subdivide en dos fases:
1-

Lenguaje SIN estructura de bloque: es por medio de una lista est dividida
por ordenada y no ordenada en la primera se representa por medio de rboles
binarios y tablas hash.
2Lenguajes CON estructura de bloque: una tabla para cada bloque con
estructura de PILA. La estructura consta de una PILA + INDICE.

GRAMATICA CON ATRIBUTOS


Una gramtica con atributos es una gramtica de contexto libre cuyos smbolos
pueden tener asociados atributos y las producciones pueden tener asociadas
reglas de evaluacin de los atributos. Los atributos a mencionar son dos:
1)

ATRIBUTO HEREDADO: si b est asociado con algn smbolo de .


Las reglas de evaluacin se realizan cuando se aplican reducciones en el anlisis
sintctico. Dentro de los requisitos de evaluacin los atributos deben definirse en
funcin de los atributos asociados con los smbolos gramaticales a su derecha y
realizar un anlisis ascendente.
2) ATRIBUTO SINTETIZADO: si b est asociado con el smbolo no terminal A.
Su evaluacin depende de los atributos asociados con los smbolos precedentes
en la derivacin. Como requisito es realizar un anlisis descendente.
GRAFOS DE DEPENDENCIA
Cuando aparecen definidos atributos sintetizados y heredados, es necesario
establecer un ORDEN DE EVALUACION DE LOS ATRIBUTOS, para ello se
utilizan los grafos de dependencia estos estn construidos por nodos y arcos,
cada uno de ellos tiene algn mtodo de evaluacin de las reglas semnticas; por
ejemplo el nodo est compuesto por uno mtodo de evaluacin que es rbol de
anlisis dice que para cada entrada se construye el rbol sintctico. Y en arco
basado en reglas semnticas dependiendo de estas (atributos heredados o
sintetizados) se establece el orden de evaluacin.

COMPROBACIONES SEMANTICAS
ESTATICAS: las comprobaciones sintcticas y semnticas.
DINAMICAS: realizadas en tiempo de ejecucin.
SEMANTICAS:
De tipo: operandos en las expresiones
De flujo de control: puntos de salida y entrada.
De unicidad: verifica la presencia de smbolos de forma nica.
Relacin de nombres. Un mismo nombre puede aparecer ms de una vez.
EXPRESIONES DE TIPOS
Tipos bsicos: boolean, char, integer, real,.
Nombre de tipos
Las expresiones de tipos es representado mediante el grafo dirigido aciclico
(GDA).
CONSTRUCTORES DE TIPOS:
* Matrices
* Producto
* Registro
* Apuntadores
* Funciones

EQUIVALENCIA ESTRUCTURAL
Modo de determinar si dos expresiones de tipos son equivalentes:
- Aplicando GDA
- Algoritmo de anlisis de los constructores
1)
EQUIVALENCIA DE NOMBRE: cuando las expresiones son nombradas,
entonces dos expresiones de tipos son equivalentes de nombre si y solo si ambas
expresiones son idnticas.
2)
ESPECIFICACION DE UN COMPROBADOR DE TIPOS ELEMENTAL
Un comprobador de tipos ha de dispones de:
- Asignacin de tipos
- Comprobador de tipos en las expresiones
- Comprobador de tipos en las proposiciones o sentencias
- Comprobador de tipos de las funciones
- Bsicamente se advierten dos tareas:
- De asignacin
- De evaluacin y comprobacin
TOPICOS EN LA COMPROBACION DE TIPOS
1)
Conversin de tipos (Coercin).
- Implcita: se realiza automticamente por medio del compilador
- Explicita: se explicita por parte del programador la conversin
2)
Sobrecarga de funciones y operadores
+,-, son smbolos sobrecargados ya que su significado depender del contexto.
(,), Pueden estar sobrecargadas (ADA, FORTRAN), ya que se usan como
referencia de elementos de matrices y como funciones.

Ejemplo

Vous aimerez peut-être aussi