Lecture Notes


CS4410/6410: Compilers
Spring 2013


The Book
  • The book for the course is Modern Compiler Implementation in ML by Andrew Appel.
  • You should be able to order the book from bigwords.com.
  • Note that Andrew Appel has a number of versions of the book (for ML, Java, and C) and multiple editions. Just about any version of the book will be okay, but obviously you're better off with the ML version for this course.

SPIM is a simulator written by James Larus for the MIPS-II ISA, a real-world processor architecture that is a very clean RISC design.

  • Assemblers, Linkers, and the SPIM simulator by James Larus. This is an excellent document describing the MIPS assembly language, calling conventions, and the SPIM simulator. (This is Appendix B of Hennessy and Patterson's standard architecture textbook Computer Architecture and Design: The Hardware/Software Interface. It's Appendix A of older versions of the book.)
  • Official (former) SPIM Homepage. To install SPIM on your own machine, you can download source code or binaries from this site. The SPIM simulator runs on Windows, Mac OS X and Linux. It has its own wikipedia page, which also provides links to places you can obtain it. Most linux distributions provide it as a package.