Available from September 2, 2022 until November 1, 2022

Course: CS4200 Edition: 2022-2023

One can enroll until Fri, Oct 14, 2022 23:59:00
About the Course

Compilers translate the source code of programs in a high-level programming language into executable (virtual) machine code. In this course you will study the architecture of compilers, and important concepts and techniques underlying the components of that architecture. You will study these techniques by applying them in practice to implement your own compiler for a small language.

The course covers the following topics:

  • Syntax and parsing

  • Static semantics and type checking

  • Virtual machines, assembly code, byte code

  • Interpretation vs. compilation

  • Code generation

  • Memory management, garbage collection

  • Data-flow analysis

  • Optimization

Latest Announcements

Spectests and reference solution updated

For Chapter 2: Remove Complex Operands there was a bug in the reference solution. The reference solution has been fixed and a spectest has been added.

at Tue, Sep 20, 2022 16:39:56

Spectests updated for multiple assignments

Spectests have been updated for:

Chapter 2: Explicate Control
Chapter 2: Select Instructions
Chapter 3: Coloring the graph

at Mon, Sep 19, 2022 11:58:29

View all announcements