lunes, 31 de enero de 2011

DEFINICIÓN DIRIGIDA POR SINTAXIS

Para traducir una construcción de un lenguaje de programación, un compilador puede necesitar tener en cuenta muchas características, además del código generado para la construcción. Una definición dirigida por sintaxis es un formalismo para especificar las traducciones para las construcciones en función de atributos asociados con sus componentes sintácticos.

Es una generalización de una gramática independiente de contexto en la que cada símbolo gramatical tiene asociado un conjunto de atributos

ü Especifica la traducción de una construcción en función de los atributos asociados con sus componentes sintácticos

ü Utilizan una gramática independiente de contexto para especificar la estructura sintáctica de la entrada

ü A cada símbolo de la gramática se le asocia un conjunto de atributos

ü A cada regla de la gramática se le asocia un conjunto de reglas semánticas para calcular los valores de los atributos asociados con los símbolos de esa regla

ü La gramática y el conjunto de reglas semánticas constituyen la definición dirigida por la sintaxis

Definiciones Dirigidas por la Sintáxis.

ü Definiciones S-Atribuidas

ü Definiciones L-Atribuidas

o Implementación de las Definiciones Dirigidas por la Sintáxis:

ü Grafo de Dependencias

ü Definiciones S-Atribuidas

ü Definiciones L-Atribuidas

Una dds es una gramática independiente de contexto

Cada símbolo tiene un conjunto de atributos asociados

ü Atributo: una cadena, número, tipo, posición de memoria, etc

ü NombredeSímbolo.NombredeAtributo

Cada producción A=a tiene asociada un conjunto de acciones semánticas que se representan como una función:

X.atr=f (Y1 .atr, ..., Yn .atr)

n Dos tipos de atributos

Heredados:

El valor de un nodo se pasa a un nivel inferior o igual en el árbol.

Su valor depende del valor de los hermanos y del padre.

Sintetizados (locales):

El valor a asignar a un nodo depende del valor de los nodos hijos

Ejemplo. En el siguiente ejemplo, un atributo heredado distribuye la información sobre los tipos a los distintos identificadores de una declaración.


a4:= real

a5:= a4

Añadetipo (id3, entrada, a5)

a7:= a5

Añadetipo (id2, entrada, a7)

a9:= a7

Añadetipo (id1, entrada, a9)

Webgrafía:

http://serdis.dis.ulpgc.es/~a013775/asignaturas/itis-ti2/TI2/Apuntes%20del%20curso%202002-2003/Traduccion%20dirigida%20por%20la%20sintaxis.ppt

http://www.di-mare.com/adolfo/cursos/2008-1/pp-TradSintax.pdf

No hay comentarios:

Publicar un comentario