(Taken from the UC Berkeley Course Guide)
Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.
CS 61B and CS 61C
3 hours of lecture and 1 hour of discussion per week.