COMS W4115
Programming Languages and Translators
Lecture 14: Syntax-Directed Translation
March 7, 2011

Lecture Outline

  1. Review
  2. Syntax-directed definitions and translation schemes
  3. Synthesized and inherited attributes
  4. S-attributed SDDs
  5. L-attributed SDDs
  6. Reading

1. Review

2. Syntax-Directed Definitions and Translation Schemes

3. Synthesized and Inherited Attributes

4. Examples of S-Attributed SDDs

5. Example of an L-Attributed SDD

6. Practice Problems

  1. Using Yacc, implement a syntax-directed translator that translates sequences of postfix Polish expressions into infix notation. For example, your translator should map 345+* into 3*(4+5).
  2. Optimize your translator so it doesn't generate any redundant parentheses. For example, your translator should still map 345+* into 3*(4+5) but it should map 345*+ into 3+4*5.

7. Reading



aho@cs.columbia.edu