Beruflich Dokumente
Kultur Dokumente
8 numero
2
La gramática que se presenta es de tipo LR(1) por tanto
se necesita determinar atributos sintetizados, además
los atributos de herencia nos permitirán calcular el
valor de una expresión correspondiente a la gramática.
term exp’
8 numero
2
Los atributos
factor .v=3 sintetizados se
factor.v=numero.v calculan de forma
ascendente.
numero.v=3
exp
term exp’
8 numero
2
• Un atributo heredado está definido a partir de los atributos
de su padre y/o de sus hermanos.
term exp’
8 numero
2
• El atributo sintetizado de term’2 se calcula a partir del
atributo heredado de term’1 y el sintetizado de factor.
term exp’
8 numero
2
• Cuando existe una producción vacía el atributo
sintetizado de un símbolo es igual al valor del atributo
heredado del mismo.
exp.v=12 exp term exp’
exp’.h = term.v
exp.v= exp’.v
term .v=12 exp’.h=12
exp’v=12 exp’
exp’.v=exp’.h
exp
term exp’
8 numero
2
• El valor del atributo sintetizado de exp asciende
hasta el atributo sintetizado de factor
factor .v=12
exp .v=12
factor (exp)
factor.v=exp.v
exp
term exp’
8 numero
2
•El atributo heredado de term’ se calcula a partir del atributo de su
hermano factor
•El atributo sintetizado de term’ toma el valor del atributo
heredado del mismo
term.v=(12)
term’.h=factor.v
term.v=term’.v
exp
term exp’
8 numero
2
•El atributo heredado de exp’.h toma el valor del atributo de su
hermano term.v, sin embargo el atributo sintetizado de exp’ no tiene
aún valor hasta que no calculemos el valor de los atributos de sus
hijos, por tanto no podemos calcular el valor de exp.v
exp.v=?
term exp’
8 numero
2
El valor del atributo sintetizado term’2.v es
calculado a partir del atributo heredado de su
padre term’1.v y el atributo sintetizado de factor.v,
a su vez term’1.v toma el valor del atributo
sintetizado de term’2.v
term’ 1 * factor term’ 2
term’2.v= term’ 1.h * factor.v
term’ 1.v= term’2.v
term exp’
8 numero
2
1. El atributo heredado de exp’1 tendrá el valor del atributo
sintetizado de su hermano term, en este caso es vacío.
2. El atributo exp’2.v se calcula a partir de exp’1.h, y el valor
de term.v. En este caso el valor de exp’1.h es 0 por
consiguiente exp’1.v=‘16
exp’.v=-16
exp’1.h=
exp’ 1 - term exp’ 2 exp’1.v=-16
term .v= 1
exp’2.h= exp’ 1.h-term.v 2
exp’ 1.v= exp’2.v exp’2.h=-16
term .v=16 exp’2.v=-16
exp
term exp’
term exp’
8 numero
2
• Recordemos que en el paso 7 obtuvimos el atributo heredado
de exp’ a partir de su hermano term
2. El valor de exp’.2.v
se calcula a partir
de el valor de
exp’1.h y el valor de
term.v. El valor de
exp’1.v se sintetiza
de exp’2.v
Por último se calcula el valor del atributo sintetizado
de la raíz que nos dará el valor de la expresión
exp exp.v=-4
exp=(3* 4)+(-8*2) term exp’ exp’.v=-4
exp.v=-4
factor term’ term exp’
8 numero
2
Andrea Elizabeth Díaz
Jhomara Tatiana Luzuriaga
Noveno “B”