Professional Documents
Culture Documents
24 de enero de 2008
Alfabeto: los d gitos del 0 al 9 y los signos de suma (+) y resta () Se propone construir un programa que recibe una expresi on aritm etica en injo, por ejemplo: 6 + (9 (8 + 3)) y genera la misma expresi on en postjo, para el ejemplo anterior: 6983 + +
expr expr + term | expr term | term term term factor | term / factor | factor factor 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |( expr )
Una denici on dirigida por sintaxis: Especica la traducci on de una construcci on en t erminos de los atributos asociados con sus componentes sint acticos. Asocia un conjunto de atributos a cada s mbolo y un conjunto de reglas sem anticas a cada producci on. Las reglas permiten calcular los valores de los atributos de los s mbolos.
Arbol anotado
Atributos sintetizados
Se construye el arbol de sintaxis de forma bottom-up El valor de los atributos de un nodo se calcula a partir de los valores de sus hijos
Atributos heredados
Producciones expr expr1 + term expr expr1 term expr term term 0 ... term 9
Reglas sem anticas expr .t := expr1 .t term.t expr .t := expr1 .t term.t expr .t := term.t term.t := 0 ... term.t := 9
Esquema de traducci on
Se pueden incluir fragmentos de programas, llamados acciones sem anticas, en cualquier punto de la parte derecha de las producciones. A diferencia de las reglas sem anticas, en este caso el orden de evaluaci on de las acciones es expl cito.
Se puede realizar con costo lineal Procede en forma top-down Requiere que las reglas que tienen el mismo lado izquierdo tengan el FIRST disyunto Debe eliminarse la recursi on por la izquierda, pues causa ciclos innitos
A A|
A R R R |
Es popular como representaci on intermedia i-valores y d-valores Operaciones sobre la pila Instrucciones de control