CMPUT 415 - Compiler Design

Lectures

Topic Week Title Slides Link Video Link Duration
V00 Week 1 Lexical Analysis and Parsing Slides Video 14:41
V01 Week 1 Building a Lexer and a Parser from Scratch Slides Video 7:04
V02 Week 1 Language Hierarchy Slides Video 8:15
V03 Week 1 Ambiguity Slides Video 10:07
V04 Week 1 LL and LR Parsers Slides Video 13:38
V05 Week 1 Parser Generators Slides Video 6:26
V06 Week 1 Recursive-Descent Recognizer Slides Video 10:15
V07 Week 1 First and Follow Sets Slides Video 10:38
V08 Week 1 LL(k) Recursive Descent Parser Slides Video 22:30
V09 Week 2 Listeners and Visitors Slides Video
16:24
V0A Week 2 Decoupling Grammar and Application Slides Video part 1 22:41
V0B Week 2 Controlling Walks Slides Video 9:38
V0C Week 2 Sharing Information Among Methods Slides Video 13:04
V0D Week 2 Calculator And Translator Slides Video 17:52
V0E Week 2 Actions in Grammars Slides Video 9:31
V0F Week 3 SemanticPredicates Slides Video 7:31
V10 Week 3 LexicalModes Slides Video 8:13
V11 Week 3 ParsingDOT Slides Video 10:29
V12 Week 3 SymbolsAndScopes Slides Video 20:36
V13 Week 3 Symbol Table Slides Video 15:13
V14 Week 4 Nested Scopes Slides Video 36:35
V15 Week 4 Data-Aggregate Symbols Slides Video (part1)
Video (part2)
11:51
21:52
V16 Week 5 Class Symbols Slides Video 18:30
V17 Week 5 Static Typing Slides Video 29:46
V18 Week 5 Type Promotion Slides Video 24:05
V19 Week 5 Type Safety Slides Video 27:54
V1A Week 5 Semantic Predicates Slides Video part1
Video part2
Video part3
15:32
12:03
12:47
V1B Week 5 Error Handling Slides Video part 1
Video part 2
Video part 3
Video part 4
14:30
7:01
10:55
11:02
V1C Week 6 LL(*) Parsing Slides Video part1
Video part2
23:05
22:06
V1D Week 6 Nondeterminism Slides Video part1
Video part2
14:52
6:11
V1E Week 6 Parsing Strategies Slides Video 13:28
V1F Week 7 DFAs and NFAs Slides Video 21:28
V20 Week 7 Predictive Parser Slides Video 27:30
V21 Week 7 A Bottom-Up Parser Slides Video 19:11
V22 Week 7 Earley Parser Slides Video 26:20
V23 Week 7 GLR Parser Slides Video 30:29
V24 Week 8 Elkhound Slides Video 26:00
V25 Week 8 TDPL, PEG, and GLL Slides Video 9:22
V26 Week 8 ANTLR Slides Video 37:07
V27 Week 8 Control Flow Graph Slides Video 11:25
V28 Week 8 Dominance Slides Video 21:08
V29 Week 9 Points and Paths Slides Video 19:07
V2A Week 9 Reaching Definitions Slides Video 23:14
V2B Week 9 Static Single Assignment Slides Video 13:10
V2C Week 9 SSA History Slides Video 9:44
V2D Week 9 Phi Functions Slides Video 15:40
V2E Week 9 Dominance and SSA Slides Video 24:52
V2F Week 9 Shreedar-Gao Algorithm Slides Video 12:32
V30 Week 9 SSA Example Slides Video 9:44
V31 Week 10 Register Allocation Slides Video part1
Video part2
Video part3
22:30
14:11
4:39

Extra content

Date Title Download Content Video Link Duration
Sept 8 ANTLR CSV project tar
ANTLRDemo.tar.gz
Video from Fall 2020 2:57:26
Sept 15 Printing to File CSV project tar
Sept 22 Git and Github https://ualberta.yuja.com/V/Video?v=1112209&node=6146202&a=11467481 Video from Fall 2020 1:56:42
Sept 29 LLVM/MLIR Intro Slides
Edited SCalcBase
Video from Fall 2020 15:07
Oct 6 Using LLVM and MLIR Slides Video from Fall 2020 56:33
Oct 13 LLVM Struct Types Edited VCalcBase
Oct 20 LLVM Dialect MLIR Loop example Edited VCalcBase
Oct 27 LLVM Dialect MLIR Create Function example Edited VCalcBase
Nov 3 Reading from stdin and creating input stream tests Edited VCalcBase
Oct 05 TVM Fuzzing Slides