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

Columbia University

New York City, NY 10027, USA