Difference between revisions of "COMP442/6421 - winter 2022"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
Line 107: Line 107:
 
*[[Media:Assignment2.LL1grammar.COMP442-6421.2022.4.zip|LL(1) grammar]]
 
*[[Media:Assignment2.LL1grammar.COMP442-6421.2022.4.zip|LL(1) grammar]]
 
||
 
||
*[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation: example
+
*[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation concrete examples
 
||
 
||
 
* Programmer on duty
 
* Programmer on duty

Revision as of 19:29, 20 February 2022

Contents

Course Description

COMP 442/6421 - Compiler Design (4 credits)

Prerequisites (COMP442): COMP 228 or SOEN 228 or COEN 311; COMP 335; COMP 352 or COEN 352
Prerequisites (COMP6421): COMP 5201, 5361, 5511.

Compiler organization and implementation. Programming language constructs, their syntax and semantics. Syntax directed translation, code optimization. Run-time organization of programming languages. Project. Lectures: three hours per week. Laboratory: two hours per week.

Course Schedule and Contacts

component day time location instructor email
in-person lecture NN M------ 17:45-20:15 H-507
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
online lecture NN M------ 15:00-17:00 [zoom]
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
office hours --W---- 10:00-12:00 [zoom] Paquet, Joey
online lab NN NI M------ 20:30-22:20 [zoom] Jafarpour, Hamed jafarpour.ha@gmail.com
in-person lab NN NJ M------ 15:45-17:35 H-849 Marhwal, Vashisht vmarhwal97@gmail.com
online lab NN NK M------ 20:30-22:20 [zoom] Jafarpour, Hamed jafarpour.ha@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Marhwal, Vashisht vmarhwal97@gmail.com

Lecture Schedule

wk wk lecture date event lectures topics/material lab material
(for videos - see moodle)
week 1 jan 10
  • no lab
week 2 jan 17
  • [ handout ] [ video ] project assignment #1 (lexical analyzer)
week 3 Jan 24
week 4 jan 31
  • project assignment 1 due (jan 30)
  • [ schedule ] [ grading sheet ] project assignment 1 demonstrations (feb 1-2)
  • [ handout ] [ video ] project assignment #2 (syntactic analyzer)
  • Programmer on duty
week 5 feb 7
  • [ slides ] [ video ] grammar transformation and parsing
week 6 feb 14
week 7 feb 21
  • project assignment 2 due (feb 20)
  • [ schedule ] [ grading sheet ] project assignment 2 demonstrations (feb 22,23)
  • [ handout ] [ video ] project assignment #3 (AST generation) (handout)
  • LL(1) grammar
  • Programmer on duty
midterm break feb 28 - mar 6
week 8 mar 7
  • project assignment 3 due (mar 6)
  • [ schedule ] [ grading sheet ] project assignment 3 demonstrations (mar 8-9)
  • [ handout ] [ video ] project assignment #4 (semantic analysis) (handout)
  • [ slides ] [ video ] Tree traversal and symbol table generation
week 9 mar 14
  • Programmer on duty
week 10 mar 21
  • project assignment 4 due (mar 20)
  • [ schedule ] [ grading sheet ] project assignment 4 demonstrations (mar 22-23)
  • [ handout ] [ video ] project assignment #5 (code generation) (handout)
week 11 mar 28
week 12 apr 4
  • project assignment 5 due (apr 3)
  • [ schedule ] project assignment 5 demonstrations (apr 5-6)
  • [ slides ] [ video ] review and discussion on final examination
week 13 apr 11
  • final project due (apr 10)
  • [ schedule ] [ grading sheet ] final project demonstrations (apr 11-13)
  • no lab
examination week apr 19 - may 1

Course Material and Resources