next up previous
Next: Exercise 6. Up: Final-2003 Previous: Exercise 4.

Exercise 5.

Consider the following syntax-directed definition.
Production Semantic Rule
S $ \longmapsto$ E E.env := initialEnv()
E1 $ \longmapsto$ $ \bf let$ $ \bf id$ $ \bf =$ E2 $ \bf in$ E3 $ \bf end$ E2.env := E1.env
  E3.env := Update( E1.env,$ \bf id$, E2.val)
  E1.val := E3.val
E1 $ \longmapsto$ (E2 + E3) E1.val := E2.val + E3.val
  E2.env := E1.env
  E3.env := E1.env
E $ \longmapsto$ $ \bf id$ E.val := LookUp( $ \bf id$, E.env)
E $ \longmapsto$ $ \bf 1$ E.val := $ \bf 1$
E $ \longmapsto$ $ \bf0$ E.val := $ \bf0$
Write a translation scheme for this syntax-directed definition.

Answer 5  
S $ \longmapsto$  
     
     
     
     
E1 $ \longmapsto$  
     
     
     
     
E1 $ \longmapsto$  
     
     
     
     
E $ \longmapsto$  
     
E $ \longmapsto$  
     
E $ \longmapsto$  
     


next up previous
Next: Exercise 6. Up: Final-2003 Previous: Exercise 4.
Marc Moreno Maza
2004-12-02