I will update these references as the course progresses. Please let me know if there’s anything you’d like me to include!

Getting Started

We will be using an Amazon EC2 instance as our class server. All of your homework must run on this server. Feel free to develop on this server as well. Here’s some nice ssh tips and tricks. I think passwordless and file transfer are especially useful:

http://matt.might.net/articles/ssh-hacks/

Textbooks

There is no required textbook for this class. I will be drawing from several of them as well as academic papers.

The first two modules will draw heavily from the classic (2006) Dragon Book and the more modern (2011) Engineering: A Compiler.

The university library has online copies of Engineering: A Compiler available. We will call this book EAC, and I will provide additional readings from this book.

Here is a link to the course reserve for EAC: link

Unfortunately, the library does not have the dragon book online. If you are extremely motivated, talk to me and I can borrow you a kidle version.

Module 1

The homeworks will be using the Yacc and Lex wrappers for Python called PLY.

Module 2

Module 3

Module 4

Module 5