Instructor: Baishakhi Ray
Class Schedule : Monday and Wednesday 4:10 PM - 5:25 PM
Location : CSB 451
Office Hours: Wednesday 11 am - 12 pm or by appointment
|
|
Office Location | CEPSR 6LE1 |
Jacob Michael Shiers: | Wednesday 5:30-6:30 pm |
Yuchi Tian: | Tuesday 3:00-5:00 pm |
Zachary V Schuermann: | Monday 10:00 am-12:00 pm |
Gurpreet Singh: | Friday 12:00 pm-2:00 pm |
This class will discuss principles of design and implementation of compilers. In particular, we will learn about different phases of a compiler including lexical analysis, syntactic and semantic analysis including type checking, code generation, and optimization. We will also study basic program analysis techniques required to perform compiler optimization.
Students will learn the materials by building new pieces of an existing compiler (Clang/LLVM) in their homework.
Date | Topic | Reading | Assignments | |
---|---|---|---|---|
Announce | Due | |||
Wed Sep 4 | Introduction | Trivia | Prog-1, VM-Setup (optional) | |
Mon Sep 9 | Intro to Compiler | Intro, Ch1,2 | ||
Wed Sep 11 | Lexical Analysis | Lexical | ||
Mon Sep 16 | Prog-2 | |||
Wed Sep 18 | No Class | |||
Mon Sep 23 | HW-1 | Prog-1 | ||
Wed Sep 25 | Syntactic Analysis | Parsing | ||
Mon Sep 30 | HW-1 | |||
Wed Oct 2 | ||||
Mon Oct 7 | Prog-3 | |||
Wed Oct 9 | HW-2 | Prog-2 | ||
Mon Oct 14 | Semantic Analysis | Semantic_Analysis | ||
Wed Oct 16 | Midterm Review | Midterm_Review | Prog-3 | |
Mon Oct 21 | Clang/LLVM review | Prog-4 | HW-2 | |
Wed Oct 23 | Midterm Exam | |||
Mon Oct 28 | Runtime Environment | runtime_environment | ||
Wed Oct 30 | Control-Flow Analysis | control-flow-analysis | ||
Mon Nov 4 | Academic Holiday | |||
Wed Nov 6 | Code Generation | code_generation | Prog-4 | |
Mon Nov 11 | Data-Flow Analysis | data-flow-analysis | Prog-5 | |
Wed Nov 13 | No Class | |||
Mon Nov 18 | Local Optimization and SSA | local_optimization | Prog-6 (optional) | |
Wed Nov 20 | Global Optimization | global_optimization | ||
Mon Nov 25 | Global Optimization | HW-3 (due 8th Dec) |   | |
Wed Nov 27 | Thanksgiving Holiday | |||
Mon Dec 2 | Register Allocation | register_allocation | Prog-5 | |
Wed Dec 4 | Final Review | HW-3 | ||
Mon Dec 9 | Final Exam |