Welcome to CS 485: Compilers
Welcome to CS 485: Compilers! This course teaches students how to build an optimizing compiler for a Java-like object-oriented programming language. Topics include program semantics, typechecking, intermediate representations like single static assignment (SSA) form, code generation, and classic compiler optimizations including register allocation via graph coloring, peephole optimizations, and dataflow analyses. Students will also be introduced to functional programming, and its advantages for transformation-based programs like compilers that have strict correctness requirements.
On this course website, you can find:
- the syllabus,
- a course calendar (which includes links to the required readings),
- links to all assignment descriptions,
- information about supported programming languages,
- a staff page,
- useful tutorials, and
- information about exams.