By now you've probably used several different compilers, but have considered them as "black boxes" that mysteriously translate your high-level source code into machine language instructions. The goal of this course is to de-mystify this process. Compiler-writing is a well-studied science -- we'll study techniques for lexical analysis (recognizing tokens such as keywords and variables), parsing (figuring out how a program corresponds to a programming language grammar), and code generation (translating the results of parsing into another language such as machine code). During the course of the semester you'll write your own complete compiler for a Pascal-like language.
Below are some (old) links to online material for this course:
Return to the Mathematics and Computer
Science Home Page