Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definición
Reglas semánticas
Esquema de traducción
2
DEFINICIÓN
3
REGLAS SEMÁNTICAS
Etc.
4
NOTACIONES DE LAS REGLAS SEMANTICAS
Existen dos notaciones para asociar información
a las reglas semánticas:
5
ATRIBUTOS Y GRAMÁTICA DE ATRIBUTOS
Informalmente, se llamará atributos de un símbolo de la
gramática a toda información añadida en el árbol de derivación
por el analizador semántico, asociada a los símbolos de los nodos
anotados. Un componente importante de las gramáticas de
atributos es el algoritmo de cálculo de los valores.
Ejemplos de atributos:
6
ATRIBUTOS Y GRAMÁTICA DE ATRIBUTOS
Una gramática de atributos es una gramática independiente
del contexto en la cual a sus símbolos terminales y no
terminales se les dota de unos atributos y a sus producciones
de unas funciones de evaluación que hacen que dichos
atributos se propaguen a través de la gramática. Su fin es
conocer un determinado valor de un atributo en cualquier parte
del árbol de derivación y tomar la decisión oportuna.
10
ATRIBUTOS Y GRAMÁTICA DE ATRIBUTOS
A.a=f (X1.a,X2.b,…Xm.z)
a es un atributo asociado al símbolo no terminal A y obtiene su valor en función
de los atributos: a asociado a X1, b asociado a X2 ,…y z asociado a Xm ( es un
atributo obtenido en función de la parte derecha de la producción)
X1.a=f (A.a,X2.b)
a es un atributo asociado al símbolo X1 y obtiene su valor en función de los
atributos: a asociado a A, b asociado a X2 ( es un atributo obtenido en función
de elementos de la parte derecha e izquierda de la producción)
11
ATRIBUTOS Y GRAMÁTICA DE ATRIBUTOS
Atributos Sintetizados: Son atributos que se propagan desde las
hojas a la raíz
S→A$ {A.num=0}
A→aA {A2.num=1+A1.num}
A→a {writeln (A.num+1}
13
DEFINICIONES CON ATRIBUTOS POR LA
IZQUIERDA
14
ESQUEMAS DE TRADUCCIÓN
15
ESQUEMAS DE TRADUCCIÓN
16
ESQUEMAS DE TRADUCCIÓN
N. G. L-Attr N. ET para G
1 DT L 1 DT{L.in=T.type} L
2 Tint 2 Tint {T.tipo=integer}
3 Treal 3 Treal {T.tipo=real}
4 L1L2,id 4 L1 {L1.in=L.in} L2,id{addtype(id.entry,L.in}
5 Lid 5 L id{addtype(id.entry, L.in}
17
ESQUEMAS DE TRADUCCIÓN
18
ET DISEÑO
1er Caso: Atributos Sintetizados: se puede construir un
ET creando una acción semántica que es una
asignación y se ubica esta acción al final de la parte
derecha de la producción.
19
ET DISEÑO
20
ET DISEÑO
21
ET DISEÑO
22
ET TÉCNICA DE CONSTRUCCIÓN
23
ET TÉCNICA DE CONSTRUCCIÓN
Como sucede con el método clásico el código para el no terminal A decide que
producción usar basado en el lookahead.
24