File README.html    Author McKeeman    Copyright © 2007    index

A Short Course in Compilers

Bill McKeeman, MathWorks Fellow
Dartmouth College, Visiting Research Scholar

  photo credit Nathan Chung

What is Here?

  • An implementation of Dijkstra's if-fi do-od programming language.
    • compile-and-go on Intel x86 WIN, Linux and Apple
    • in MATLAB
  • A 10 lecture series compiler writing.
  • Suggested projects.


The starting point is a user language X and xcom, an extensible compiler for X. The material consists of the basic theory and practice of compiler writing, module by module, starting with reading the user input through executing the machine language made by xcom. Each module has unit tests and informative trace and dump facilities. There is a hardware emulator to ease the task of examining compiled code and also to support non-Intel x86 hardware.

If the students choose to do a project, they will form teams (3 is optimal) and will modify the X language, and therefore each module of xcom, while implementing an extension.

What is Needed?

Lecture Outline