On-line Notes
CS536-S24 Intro to PLs and Compilers


These notes were originally written by Professor Emerita Susan Horwitz and used, maintained, and updated by subsequent CS 536 instructors including Beck Hasti, Drew Davidson, Loris D'Antoni, and Aws Albarghouthi.


  1. Overview

  2. Scanning

  3. JLex

  4. Context-free Grammars

  5. Syntax-directed Translation

  6. JavaCUP

  7. Parsing

  8. Top-down Parsing

  9. Syntax-directed Translation for Predictive Parsing

  10. Symbol Tables and Static Checks

  11. Runtime Environments

  12. Parameter Passing

  13. Runtime Access to Variables

  14. Code Generation

  15. Optimization