Compilers (CS 143) is the main course on constructing parsers and compilers at Stanford. The CS Department offers the course in the fall, winter, and spring quarters. Lectures are in Gates B03, TuTh from 11:00am-12:15pm. For information about the current course, see CS 143 (winter 2007).
Credit and prerequisitesEdit
The following is from the course website:
The prerequisites for the course are CS 103B/X (or CS 109) and CS 107. From CS 103, you should be familiar with regular expressions, context free grammars, graphs, sets, and formal languages. From CS 107, you should have well-developed programming skills and debugging ability, understand simple code generation and function calling conventions, and have some exposure to different language paradigms. If you don't quite meet all the pre-reqs but are gung-ho to pursue the course, plan on working hard on your own to fill where you have gaps.
The course covers the principles and design practices of implementing compilers and interpreters, from language parsing to code generation and runtime environments. Specifically, the topics included are lexical anlysis, parsing theory, symbol tables, type systems, scope, semantic analysis, intermediate representations, runtime environments, code generation, basic program analysis and optimization. The course project is constructing a simple object-oriented programming language.