COL728 : Compiler Design : References

Textbook

No textbook is required for this class. However, you may find a textbook useful as a reference or to learn more details of some of the ideas discussed in the course. You will find some good textbooks in the list of reference books.

Online resources

  1. The labs (programming assignments) will involve the use of a lexical analyser generator (like GNU Flex, wikipedia page) and a parser generator (like GNU Bison, wikipedia page).
  2. For your labs, you will be required to generate LLVM IR code for C programs. You will also be required to optimize LLVM IR code. A nice LLVM tutorial is available at http://releases-origin.llvm.org/2.6/docs/tutorial/.

Reference books

  1. Compilers: Principles, Techniques, and Tools (Second Edition)
    Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman.
    Addison-Wesley

  2. Modern Compiler Implementation in Java (Second Edition)
    Andrew Appel and Jens Palsberg.
    Cambridge University Press

  3. Engineering a Compiler
    Keith Cooper and Linda Torczon.
    Morgan Kaufman