CS 160, Fall 2022

Translation of Programming Languages


Tentative Schedule of lectures: This schedule is relatively fluid and will change as the quarter progresses. You can find the notes, slides, and videos for the course in the box folder that has been shared with you.


<
WeekDateTopicReadingDue
1 22-Sep Introduction & Overview of Compilers Chapters 1 and 2 P1 Out
2
27-Sep Lexical Analysis (Scanning)
29-Sep No Class P1 Due, P2 Out
3
4-Oct Lexical Analysis (Scanning) + Intro to Parsing Sections 3.1, 3.2 and 3.3
6-Oct Top Down Parsing Sections 3.4, 3.5, 3.6, 3.7
4
11-Oct Bottom Up Parsing Sections 3.4, 3.5, 3.6, 3.7
13-Oct LR(0) + SLR + LR(1) Parsing P3 Out, P2 Due
5
18-Oct LR Parsing + Implementation Optimizations + Abstract Syntax Tree
20-Oct Introduction to Semantic Analysis Sections 4.3, 4.4
6
25-Oct Ad-hoc Syntax-directed Translation and Type System Sections 4.2, 4.4
27-Oct Type Analysis Sections 4.2 P4 Out, P3 Due
7
1-Nov Name Analysis and Symbol Table Chapter 4, Chapter 5.5, Chapter 6.3
3-Nov Address Translation and Memory Allocation Chapter 6
8
8-NovHeap Management and Garbage Collection
10-Nov Code Generation: Stack-Machine Code Section 7 P4 Due, P5 Out
9
15-Nov Code Generation: Stack-Machine Code Section 7
17-Nov No Class
10
22-Nov Code Generation: Three-Address Code Section 7 P5 Due, P6 Out
24-Nov Holiday
11
29-Nov Practice Exam Discussion
1-Dec Guest Lecture
12
5-Dec (12pm - 3pm) In-class Final Exam P6 Due