Professional Documents
Culture Documents
Esquemas de traduccin.
Atributos
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
Grafo de dependencia
Representa la interdependencia entre los atributos heredados y sintetizados en los nodos de un rbol de anlisis sintctico.
Ocultan muchos detalles de la implantacin y no es necesario que se especifique explcitamente el orden en el que tiene lugar la traduccin.
b es un atributo heredado.
Esquemas de traduccin
Un esquema de traduccin es una gramtica de contexto libre en la que se encuentran intercalados, en el lado derecho de la regla de produccin, fragmentos de programas a los que hemos llamado acciones semnticas.
Esquemas de traduccin
Un esquema de traduccin es como una definicin dirigida por sintaxis, con la excepcin de que el orden de evaluacin de las reglas semnticas se muestra explcitamente.
Ejemplo
Definicin dirigida por la sintaxis S L {print(L.val);}
L L + T {L.val = L1.val + T.val;}
L T {L.val = T.val;}
T T1 * F { T.val = T1.val * F.val;}
T F { T.val = F.val;}
F Num {F.val = Num;} Cadena = 5+3*1
Ejemplo
rbol de anlisis sintctico y grafo de dependencia
S
Num
Num
Num
Ejemplo
Esquema de traduccin SD
D T {L.her = T.tipo;}L
Ejemplo
rbol de anlisis sintctico y grafo de dependencia
D
INT
Id
Id
Id