COMS 4115: Programming Language & Translators

Description
This class will discuss principles of design and implementation of compilers. In particular, we will learn about different phases of a compiler including lexical analysis, syntactic and semantic analysis including type checking, code generation, and optimization. We will also study basic program analysis techniques required to perform compiler optimization.
Students will learn the materials by building new modules on top of an existing compiler (Clang/LLVM) in their programming assignments.
Details about Fall 2020 course will be found here.
Lectures
Reading Materials:
-
Compilers: Principles, Techniques, and Tools
By Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman.
2nd Edition, Addison-Wesley, 2006
-
Research Papers
Distributed by the instructor