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

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Created page with "==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<br>...")
 
(Lecture Schedule)
 
(13 intermediate revisions by one user not shown)
Line 21: Line 21:
 
|| in-person lecture NN    || <tt>M------</tt>      || <tt>17:45-20:15</tt> || H-1070 <br> [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube]] || Paquet, Joey      || [mailto:joey.paquet@concordia.ca joey.paquet@concordia.ca]   
 
|| in-person lecture NN    || <tt>M------</tt>      || <tt>17:45-20:15</tt> || H-1070 <br> [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube]] || Paquet, Joey      || [mailto:joey.paquet@concordia.ca joey.paquet@concordia.ca]   
 
|-
 
|-
|| office hours  || <tt>M------</tt>      || <tt>11:00-13:00</tt> || ER-10-13 <br>[https://concordia-ca.zoom.us/j/84565410380
+
|| office hours  || <tt>M------</tt>      || <tt>11:00-13:00</tt> || ER-10-19 <br>[https://concordia-ca.zoom.us/j/84565410380 [zoom]]    || Paquet, Joey      ||     
https://concordia-ca.zoom.us/j/84565410380 [zoom]]    || Paquet, Joey      ||     
+
 
|-
 
|-
|| lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || H-907   || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
+
|| lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || H-917   || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
|| lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || H-907    || Patel, Priyang || [mailto:vmarhwal97@gmail.com vmarhwal97@gmail.com]
+
|| lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || H-907    || Patel, Priyang || [mailto:priyangpatel001@gmail.com priyangpatel001@gmail.com]
 
|-
 
|-
 
|| marker        ||                        ||                      ||                                                        || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|| marker        ||                        ||                      ||                                                        || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
|| marker        ||                        ||                      ||                                                        || Patel, Priyang || [mailto:priyangpatel001@gmail.com]  
+
|| marker        ||                        ||                      ||                                                        || Patel, Priyang || [mailto:priyangpatel001@gmail.com priyangpatel001@gmail.com]  
 
|}
 
|}
  
Line 47: Line 46:
 
*[ [[Media:Assignment1.COMP442-6421.paquet.2024.4.zip|handout]] ]  [ [https://bit.ly/3WfbHmL video] ] project assignment #1 (lexical analyzer)  
 
*[ [[Media:Assignment1.COMP442-6421.paquet.2024.4.zip|handout]] ]  [ [https://bit.ly/3WfbHmL video] ] project assignment #1 (lexical analyzer)  
 
||  
 
||  
*[ [[Media:COMP442-6421.1.introduction.2023.4.ppt|slides]] ] [ [https://bit.ly/38NQ6w8 video] ]  introduction
+
*[ [[Media:COMP442-6421.1.introduction.2024.4.ppt|slides]] ] [ [https://bit.ly/38NQ6w8 video] ]  introduction
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis (2/2)
+
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis (1/2)
 
||
 
||
 
*[ [[Media:COMP442-6421.lab.01.introduction.2022.4.pdf|slides]] ] introduction
 
*[ [[Media:COMP442-6421.lab.01.introduction.2022.4.pdf|slides]] ] introduction
Line 62: Line 61:
 
|-
 
|-
 
|| week 3
 
|| week 3
|| Jan 23
+
|| jan 29
 
||
 
||
||
+
*project assignment 1 due (jan 28)  
*[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction
+
*[ schedule ] [ [[Media:COMP442_6421.assignment1.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:A1.grades.COMP442-6421.paquet.2024.4.pdf|grades]] ] project assignment 1 demonstrations (jan 30-feb 1)
||
+
*[ [[Media:Assignment2.COMP442-6421.paquet.2024.4.zip|handout]] ] [ [https://bit.ly/3XV0E3F video] ] project assignment #2 (syntactic analyzer)
|-
+
|| week 4
+
|| jan 30
+
||
+
*project assignment 1 due (jan 29)  
+
*[ [https://docs.google.com/spreadsheets/d/18FbxKrag02r-FNuweRnBjEdxywRveU-j5qDQ3EpYfq0/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment1.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:A1.grades.COMP442-6421.paquet.2023.4.pdf|grades]] ] project assignment 1 demonstrations (jan 31-feb 1)
+
*[ [[Media:Assignment2.COMP442-6421.paquet.2023.4.zip|handout]] ] [ [https://bit.ly/3XV0E3F video] ] project assignment #2 (syntactic analyzer)
+
 
||
 
||
 
*[ [[Media:COMP442-6421.4.SyntaxII.ppt|slides]] ] [ [https://bit.ly/2N3B50R video] ] top-down parsing I
 
*[ [[Media:COMP442-6421.4.SyntaxII.ppt|slides]] ] [ [https://bit.ly/2N3B50R video] ] top-down parsing I
Line 79: Line 71:
 
* Programmer on duty
 
* Programmer on duty
 
|-
 
|-
|| week 5
+
|| week 4
|| feb 6
+
|| feb 5
 
||
 
||
 
||
 
||
Line 88: Line 80:
 
*[ [[Media:COMP442-6421.lab04.grammar-parsing.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=495114&node=2070774&a=1000632278&autoplay=1 video] ] grammar transformation and parsing
 
*[ [[Media:COMP442-6421.lab04.grammar-parsing.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=495114&node=2070774&a=1000632278&autoplay=1 video] ] grammar transformation and parsing
 
|-
 
|-
|| week 6
+
|| week 5
|| feb 13
+
|| feb 12
 
||
 
||
 
||
 
||
 
*[ [[Media:COMP442-6421.7.SDTII.ppt|slides]] ] [ [https://bit.ly/3sein5P video] ] syntax-directed translation II
 
*[ [[Media:COMP442-6421.7.SDTII.ppt|slides]] ] [ [https://bit.ly/3sein5P video] ] syntax-directed translation II
 
||
 
||
*[ [[Media:COMP442-6421.lab05.AST.2021.4.zip|slides]] ] [ [https://concordia.yuja.com/V/Video?v=500283&node=2085385&a=1657358570&autoplay=1 video] ] AST generation
+
* Programmer on duty
 
|-
 
|-
|| week 7
+
|| week 6
|| feb 20
+
|| feb 19
 
||
 
||
*project assignment 2 due (feb 19)  
+
*project assignment 2 due (feb 18)  
*[ [https://docs.google.com/spreadsheets/d/1ZEnESCyuYFabwOZB1rRoVh4Dp1t3dM1gIkUXM2vSIac/ schedule] ] [ [[Media:COMP442_6421.assignment2.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:A2.grades.COMP442-6421.paquet.2023.4.pdf|grades]] ] project assignment 2 demonstrations (feb 21,22)
+
*[ schedule ] [ [[Media:COMP442_6421.assignment2.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:A2.grades.COMP442-6421.paquet.2024.4.pdf|grades]] ] project assignment 2 demonstrations (feb 20 - feb 22)
*[ [[Media:assignment3.COMP442-6421.paquet.2023.4.zip|handout]] ] [ [https://bit.ly/3lXSyJD video] ] project assignment #3 (AST generation)
+
*[ [[Media:assignment3.COMP442-6421.paquet.2024.4.zip|handout]] ] [ [https://bit.ly/3lXSyJD video] ] project assignment #3 (AST generation)
 
||
 
||
 
*[ [[Media:COMP442-6421.8.SDTAST.ppt|slides]] ] [ [https://bit.ly/2NnC7VK video] ] AST generation using SDT
 
*[ [[Media:COMP442-6421.8.SDTAST.ppt|slides]] ] [ [https://bit.ly/2NnC7VK video] ] AST generation using SDT
Line 107: Line 99:
 
*[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation concrete examples
 
*[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation concrete examples
 
||
 
||
* Programmer on duty
+
*[ [[Media:COMP442-6421.lab05.AST.2021.4.zip|slides]] ] [ [https://concordia.yuja.com/V/Video?v=500283&node=2085385&a=1657358570&autoplay=1 video] ] AST generation
 
|-
 
|-
 
|| midterm break
 
|| midterm break
|| feb 27 - mar 5
+
|| feb 26 - mar 3
 
||
 
||
 
||
 
||
 
||
 
||
 
|-
 
|-
|| week 8
+
|| week 7
|| mar 6
+
|| mar 4
 
||
 
||
*project assignment 3 due (mar 5)
 
*[ [https://docs.google.com/spreadsheets/d/1cMu9M3eV1Ong-OVwHenoYY3PJ3kJftIJXBVsLTE_NLM/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment3.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:A3.grades.COMP442-6421.paquet.2023.4.pdf|grades]] ] project assignment 3 demonstrations (mar 7-8)
 
*[ [[Media:assignment4.COMP442-6421.paquet.2023.4.zip|handout]] ] [ [http://bit.ly/3JmTosE video] ] project assignment #4 (semantic analysis)
 
 
||
 
||
 
*[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation
 
*[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation
Line 127: Line 116:
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
|-
 
|-
|| week 9
+
|| week 8
|| mar 13
+
|| mar 11
 
||
 
||
 +
*[ [[Media:assignment4.COMP442-6421.paquet.2024.4.zip|handout]] ] [ [http://bit.ly/3JmTosE video] ] project assignment #4 (semantic analysis)
 +
 +
*project assignment 3 due (mar 10)
 +
*[ schedule ] [ [[Media:COMP442_6421.assignment3.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:A3.grades.COMP442-6421.paquet.2024.4.pdf|grades]] ] project assignment 3 demonstrations (mar 12-14)
 
||
 
||
 
*[ [[Media:COMP442-6421.10.BottomUpI.ppt|slides]] ] [ [https://bit.ly/2Ne2A8a video] ] bottom-up parsing I
 
*[ [[Media:COMP442-6421.10.BottomUpI.ppt|slides]] ] [ [https://bit.ly/2Ne2A8a video] ] bottom-up parsing I
 +
||
 +
* Programmer on duty
 +
|-
 +
|| week 9
 +
|| mar 18
 +
||
 +
||
 
*[ [[Media:COMP442-6421.11.BottomUpII.ppt|slides]] ] [ [https://bit.ly/3f0cWUE video] ] bottom-up parsing II
 
*[ [[Media:COMP442-6421.11.BottomUpII.ppt|slides]] ] [ [https://bit.ly/3f0cWUE video] ] bottom-up parsing II
 
||
 
||
Line 137: Line 137:
 
|-
 
|-
 
|| week 10
 
|| week 10
|| mar 20
+
|| mar 25
 
||
 
||
*project assignment 4 due (mar 19)  
+
*project assignment 4 due (mar 24)  
*[ [https://docs.google.com/spreadsheets/d/1DQJCxXsJpPDbpsYzwYmzpmpgX2Dw-NEBwrsY0_fpbno/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment4.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:A4.grades.COMP442-6421.paquet.2023.4.pdf|grades]] ] project assignment 4 demonstrations (mar 22-23)  
+
*[ schedule ] [ [[Media:COMP442_6421.assignment4.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:A4.grades.COMP442-6421.paquet.2024.4.pdf|grades]] ] project assignment 4 demonstrations (mar 26-28)  
*[ [[Media:assignment5.COMP442-6421.paquet.2023.4.zip|handout]] ] [ [https://bit.ly/3qhO9k0 video] ] project assignment #5 (code generation)
+
*[ [[Media:assignment5.COMP442-6421.paquet.2024.4.zip|handout]] ] [ [https://bit.ly/3qhO9k0 video] ] project assignment #5 (code generation)
 
||
 
||
 
*[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I
 
*[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I
Line 148: Line 148:
 
|-
 
|-
 
|| week 11
 
|| week 11
|| mar 27
+
|| apr 8
 
||
 
||
 
||
 
||
Line 156: Line 156:
 
|-
 
|-
 
|| week 12
 
|| week 12
|| apr 3
+
|| apr 15
 
||
 
||
*project assignment 5 due (apr 2)
+
*project assignment 5 due (apr 11)
*[ [https://docs.google.com/spreadsheets/d/1w89b0SwQEMHH3nY1R1DedoVx-iZZAicDdvy_xUK0SLA/ schedule] ] [ [[Media:COMP442_6421.assignment5.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:A5.grades.COMP442-6421.paquet.2023.4.pdf|grades]] ] project assignment 5 demonstrations (apr 4-5)
+
*[ schedule ] [ [[Media:COMP442_6421.assignment5.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:A5.grades.COMP442-6421.paquet.2024.4.pdf|grades]] ] project assignment 5 demonstrations (apr 12-14)
 +
* final project due (apr 14)
 +
*[ schedule ] [ [[Media:COMP442_6421.final.project.demonstration.gradingSheet.paquet.2024.4.pdf|grading sheet]] ] [ [[Media:finalProjectDemonstration.grades.COMP442-6421.paquet.2024.4.pdf|grades distribution]] ] final project demonstrations (apr 15-17)
 +
*[ [[Media:COMP442-6421.14.review.2024.ppt|slides]] ] [ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] review and discussion on final examination
 
||
 
||
*[ [[Media:COMP442-6421.14.review.2023.ppt|slides]] ] [ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] review and discussion on final examination
 
 
||
 
||
 
*[ [[Media:COMP442-6421.exercises.ppt|slides]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises
 
*[ [[Media:COMP442-6421.exercises.ppt|slides]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises
|-
 
|| week 13
 
|| apr 17
 
||
 
* final project due (apr 16)
 
*[ [https://docs.google.com/spreadsheets/d/1S5TtptAmQu-w8EqHvDIsUh7tYuqZextXX6czHFjTu9c/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.final.project.demonstration.gradingSheet.paquet.2023.4.pdf|grading sheet]] ] [ [[Media:finalProjectDemonstration.grades.COMP442-6421.paquet.2023.4.pdf|grades distribution]] ] final project demonstrations (apr 17-19)
 
||
 
||
 
* no lab
 
 
|-
 
|-
 
|| examination period
 
|| examination period
|| apr 20 - may 2
+
|| apr 18 - may 1
 
||
 
||
* [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] [ [[Media:finalExamination.grades.COMP442-6421.paquet.2023.4.pdf|grades distribution]] ] final examination (confirmed -- apr 24, 19h00-22h00, H903 and H967)
+
* [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] [ [[Media:finalExamination.grades.COMP442-6421.paquet.2024.4.pdf|grades distribution]] ] final examination (April 22nd 2024, 19h00-22h00 in H-967)
 
||
 
||
 
||
 
||
Line 184: Line 177:
 
==Course Material and Resources==
 
==Course Material and Resources==
  
*[[Media:syllabus.COMP442-6421.paquet.2023.4.pdf|Course outline]]
+
*[[Media:syllabus.COMP442-6421.paquet.2024.4.pdf|Course outline]]
 
*[[Media:Moon.zip|Moon processor simulator: code, documentation, libraries, examples]]
 
*[[Media:Moon.zip|Moon processor simulator: code, documentation, libraries, examples]]

Latest revision as of 09:08, 22 April 2024

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-1070
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
office hours M------ 11:00-13:00 ER-10-19
[zoom]
Paquet, Joey
lab NN NI M------ 20:30-22:20 H-917 Jafarpour, Hamed jafarpour.ha@gmail.com
lab NN NJ M------ 15:45-17:35 H-907 Patel, Priyang priyangpatel001@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Patel, Priyang priyangpatel001@gmail.com

Lecture Schedule

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

Course Material and Resources