Академический Документы
Профессиональный Документы
Культура Документы
Unidad III
Analizador Semntico
Semana 12
Traducciones
Grafo de dependencias
Traduccin Dirigida por la Sintaxis
reduccin de la frase: x + y x * y.
Genera(ADD, ApunE2,ApunT,va[k] *)
(3) E1 E2 - T (* INC(k);
ApunE1 := va[k];
Genera(SUB, ApunE2, ApunT, va[k] *)
(4) T F (* ApunT := ApunF *)
(5) T1 T2 * F (* INC(k);
ApunT1 := v a[k];
Genera(MUL, ApunT2, ApunF, va[k] *)
(6) T1 T2 / F (* INC(k);
ApunT1 := va[k];
Genera(DIV, ApunT2, ApunF, va[k] *)
(7) F x (* ApunF := x; *)
(8) F y (* ApunF := y; *)
(9) F (E) (* ApunF := ApunE; *)
Traduccin a cudruplos
Anlisis de frase: x + y x * y
Continua
Traduccin a cudruplos
Anlisis de frase: x + y x * y
Definicin
Sintaxis Semntica
E0 := E1 + T E0.Value := E1.Value+ T.Value
E := T E.Value := T.value
T := F T.Value := F.Value
o Sintetizados (locales)
Se definen en un determinado nodo del rbol de
derivacin y permiten asignar un valor a un nodo
dependiendo del valor de los nodos hijos
o Heredados
Se pasan a niveles inferiores del rbol. Su valor depende
del valor de los hermanos y del padre. Sirven, por ejemplo,
para saber si hay que utilizar el valor de un identificador o
su direccin segn aparezca en la parte izquierda o
derecha de su asignacin.
Atributos Sintetizados (1/4)
Formas de traduccin dirigida por la sintaxis
X0
X1 Xi Xn
Formas de traduccin dirigida por la sintaxis
Atributos Sintetizados (2/4)
Ejemplo
calculadora
Informacin de tipos
Produccin Reglas Semnticas
DTL L.her := T.tipo
T int T.tipo := integer
T real T.tipo := real
L L1,id L1.her := L.her
aadetipo (id.entrada, L.her)
L id aadetipo (id.entrada, L.her)
Formas de traduccin dirigida por la sintaxis
Atributos Heredados (3/4)
Una declaracin generada por el terminal D en la definicin dirigida
por sintaxis en la figura 4.4 consta de la palabra clave INT o REAL,
seguida de una lista de identificadores.
El no terminal T tiene un atributo sintetizado tipo, cuyo valor viene
determinado por la palabra clave de la declaracin.
La regla semntica L.her:= T.tipo, asociada con la regla de
produccin D T L, asigna al atributo heredado L.her el tipo de la
declaracin.
Entonces las reglas pasan este tipo por el rbol de anlisis sintctico
utilizando el atributo heredado L.her. Las reglas asociadas con las
producciones de L llaman al procedimiento aadetipo para aadir
el tipo de cada identificador a su entrada en la tabla de smbolos
(apuntada por el atributo ptr_tds).
Formas de traduccin dirigida por la sintaxis
Atributos Heredados (4/4)
En la figura 4.5 se muestra un rbol de anlisis sintctico con
anotaciones para la frase real id1, id2, id3. El valor de L.her en los tres
nodos de L da el tipo de los identificadores id1, id2, id3. Estos valores se
determinan calculando el valor del atributo T.tipo en el hijo izquierdo
de la raz y evaluando despus L.her de forma descendente en los tres
nodos de L en el subrbol derecho de la raz. En cada nodo de L
tambin se llama al procedimiento aadetipo para insertar en la tabla
de smbolos el hecho de que el identificador en el hijo derecho de
este nodo tiene tipo real.
Las interdependencias entre atributos
heredados y sintetizados de un rbol de
Grafo de dependencias
Unidad III
Analizador Semntico
Semana 12