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&go from MATLAB for Intel x86 WIN, Linux and OS-X.
  • A 10 lecture short course compiler writing.
  • Suggested projects.

Summary

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, 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.

Students in a quarter-long course will 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?

Teaching Materials