Computer Language Processing
CS-320, Edition 2015
Staff
Instructor | Viktor Kuncak |
PhD Assistants | Manos Koukoutos and Ravi Kandhadai |
MSc Assistants | Tristan Overney and Allan Renucci |
Infrastructure advice | Etienne Kneuss |
Secretary | Yvette Gallay |
Grading
- 50% Projects
- 50% Quiz (expected tentatively on Wednesday, November 18)
Stuff: Course Materials
Slides on drive: accessible here.
Week 01, September 14
Monday 10:15am | CE 1103 | Lecturecise 01: Introduction to Computer Language |
Wednesday 8:15am | INF213 | Labs (always bring own laptops) Labs setup and then Labs 01 |
Wednesday 10:15am | INF213 | Lecturecise 02: Formal Languages. Regular Expressions. Building Lexers |
Week 02, September 21
Monday | NO CLASSES | |
Wednesday 8:15am | INF213 | Finish Labs 01 and Start Labs 02 |
Wednesday 10:15am | INF213 | Lecturecise 03: Maximal Munch. Regular Expressions to Automata and Lexers |
Week 03, September 28
Monday 10:15am | CE 1103 | Lecturecise 04: Regular Expressions, Automata and Lexers (PDF) |
Wednesday 8:15am | INF213 | Labs 02 - Lexer |
Wednesday 10:15am | INF213 | Lecturecise 05: Grammars and Parsing |
Week 04, October 5
Monday 10:15am | CE 1103 | Lecturecise 06: Building Trees in Recursive Descent Parsing (PDF) |
Wednesday 8:15am | INF213 | Labs 02 - Lexer |
Wednesday 10:15am | INF213 | Lecturecise 07: Ambiguity Exercise. Nullable, first, and follow sets and parsing table (PDF) |
Week 05, October 12
Monday 10:15am | CE 1103 | Lecturecise 08: Generic LL(1) Parser. Dangling Else. CYK Parser (PDF) |
Wednesday 8:15am | INF213 | Labs 03 - Parser |
Wednesday 10:15am | INF213 | Lecturecise 09: Conversion to Chomsky Normal Form and Exercises on LL(1) ( PDF) Exercise 5 solution |
Week 06, October 19
Monday 10:15am | CE 1103 | Lecturecise 10: Name Analysis (PDF) |
Wednesday 08:15am | INF213 | Labs 03 - Parser |
Wednesday 10:15am | INF213 | Lecturecise 11: Exercises on CYK and CNF (PDF) Exercise 10 solution |
Week 07, October 26
Monday 10:15am | CE 1103 | Lecturecise 12: Type Checking Introduction (PDF) |
Wednesday 8:15am | INF213 | Labs 03 - Parser (no exercises or lecture!) |
Wednesday 10:15am | INF213 | Labs 03 - Parser (no exercises or lecture!) |
Week 08, November 2
Monday 10:15am | CE 1103 | Lecturecise 13: Type Checking: Subtyping and Soundness (PDF) |
Wednesday 8:15am - 10pm | INF213 | Labs 04 - Name analysis |
Wednesday 10:15am - 12pm | INF213 | Lecturecise 14: Type Checking Exercises (PDF) |
Week 09, November 9
Monday 10:15am | CE 1103 | Lecturecise 15: Code generation - Introduction (PDF) |
Wednesday 8:15am | INF213 | Labs 04 - Name analysis & Labs 05 - Type checking |
Wednesday 10:15am | INF213 | Lecturecise 16: Type Checking Exercises (PDF) |
Week 10, November 16
Monday 10:15am | CE 1103 | Lecturecise 17: Quiz review. See sample quizzes from past years |
Wednesday 8.15am-11:55 | INF213 | QUIZ quiz-solution make-up quiz solution |
Week 11, November 23
Monday 10:15am | CE 1103 | Lecturecise 18: Code generation - Conditions and Loops (PDF) |
Wednesday 8:15am | INF213 | Labs 05 - Type Checking |
Wednesday 10:15am | INF213 | Lecturecise 19: Code generation: Complex Control Flow (PDF) |
Week 12, November 30
Monday 10:15am | CE 1103 | Lecturecise 20: Code generation: Register Allocation (PDF) |
Wednesday 8:15am | INF213 | Labs 06 - Code generation |
Wednesday 10:15am | INF213 | Lecturecise 21: Dataflow analysis as Constraint Solving (PDF) |
Week 13, December 7
Monday 10:15am | CE 1103 | Continue Labs 06, Final Project Phase Assignment |
Wednesday 8:15am | INF213 | Final Project Phase |
Wednesday 10:15am | INF213 | Lecturecise 22: Dataflow analysis in PHP, Scala and Leon (Etienne) |
Week 14, December 14
Monday 10:15am | CE 1103 | Labs 07 - Final Project Phase |
Wednesday 8:00am | INF213 | Presentations of Final Projects |
Wednesday 10:15am | INF213 | Presentations of Final Projects |
Last year's edition: 2014
Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) Creative Commons Licence