Compiler Construction
About
Compilers translate the source code of programs in a high-level programming language into low-level, 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 (in Scala) your own compiler for a small language.
The course covers the following topics:
- Syntax and parsing
- The x86-64 assembly language
- Control flow
- Liveness
- Loops and data flow analysis
- Functions
- LLVM and SSA