COM W4115: Programming Language & Translators, Fall 2019

Lecture Details

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

Teaching Assistants
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


Description

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.

Schedule (Tentative)
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