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

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)
 
(89 intermediate revisions by one user not shown)
Line 19: Line 19:
  
 
|-
 
|-
|| lecture NN    || <tt>M------</tt>                       ||                      || [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ YouTube]     || Paquet, Joey      || [mailto:paquet@cse.concordia.ca paquet@cse.concordia.ca]   
+
|| lecture NN    || <tt>M------</tt>       ||                      || [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube] ] <br> [https://concordia-ca.zoom.us/j/85480310731 [zoom] ] || Paquet, Joey      || [mailto:paquet@cse.concordia.ca paquet@cse.concordia.ca]   
 
|-
 
|-
|| office hours  || <tt>--W----</tt>      || <tt>10:00-12:00</tt> || [zoom]    || Paquet, Joey      ||     
+
|| office hours  || <tt>--W----</tt>      || <tt>10:00-12:00</tt> || [https://concordia-ca.zoom.us/j/81982423034 [zoom] ]    || Paquet, Joey      ||     
 
|-
 
|-
|| lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [zoom]   || TBD  ||
+
|| lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [https://concordia-ca.zoom.us/j/82542014841 [zoom] || Jafarpour, Hamed || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
|| lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || [zoom]    || TBD  ||
+
|| lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || [https://concordia-ca.zoom.us/j/88054286758 [zoom] ]    || Patel, Dhaval    || [mailto:dhavalptl630007@gmail.com dhavalptl630007@gmail.com]
 
|-
 
|-
|| lab NN NK    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [zoom]    || TBD  ||
+
|| marker        ||                       ||                     ||           || Jafarpour, Hamed || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
|| marker        ||                        ||                      ||                   || TBD  ||  
+
|| marker        ||                        ||                      ||           || Patel, Dhaval    || [mailto:dhavalptl630007@gmail.com dhavalptl630007@gmail.com] 
 
|}
 
|}
  
Line 39: Line 39:
 
! {{tableHeaderCell}}| event
 
! {{tableHeaderCell}}| event
 
! {{tableHeaderCell}}| lectures topics/material
 
! {{tableHeaderCell}}| lectures topics/material
! {{tableHeaderCell}}| lab material
+
! {{tableHeaderCell}}| lab material <br> (for videos - see moodle)
 
|-
 
|-
 
|| week 1
 
|| week 1
Line 45: Line 45:
 
||  
 
||  
 
||  
 
||  
*[[Media:COMP442-6421.1.introduction.ppt|introduction]]
+
*[ [[Media:COMP442-6421.1.introduction.2021.4.ppt|slides]] ] [ [https://bit.ly/3svyPj2 video 1/2] ] [ [https://bit.ly/38NQ6w8 video 2/2] ] [ [https://concordia-ca.zoom.us/j/85480310731 zoom] ] introduction
 
||
 
||
 
|-
 
|-
Line 51: Line 51:
 
|| jan 25
 
|| jan 25
 
||
 
||
*[[Media:Assignment1.COMP442-6421.paquet.2021.4.zip|project assignment #1 (lexical analyzer) (handout)]]
+
*[ [[Media:Assignment1.COMP442-6421.paquet.2021.4.zip|handout]] ] [ [https://bit.ly/39Zl8QR video] ] project assignment #1 (lexical analyzer)
 
||
 
||
*[[Media:COMP442-6421.2.lexical.ppt|lexical analysis]]
+
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis
 
||
 
||
*[[Media:COMP442-6421.lab.01.introduction.pdf|lab slides 1]]
+
*[ [[Media:COMP442-6421.lab.01.introduction.2021.4.pdf|slides]] ] introduction
 
|-
 
|-
 
|| week 3
 
|| week 3
Line 61: Line 61:
 
||
 
||
 
||
 
||
*[[Media:COMP442-6421.3.SyntaxI.ppt|syntax analysis: introduction]]
+
*[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction`
 
||
 
||
*[[Media:COMP442-6421.lab.02.lexer.pdf|lab slides 2]]
+
*[ [[Media:COMP442-6421.lab02.lexer.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=270541&node=1052627&a=1351646108&autoplay=1 video] ] lexical analysis
 
|-
 
|-
 
|| week 4
 
|| week 4
 
|| feb 8
 
|| feb 8
 
||
 
||
*project assignment 1 due (feb 12) [ [[Media:Grades.assignment1.COMP442-6421.paquet.2021.4.pdf|grades]] ]
+
*project assignment 1 due (feb 12) [ [https://docs.google.com/spreadsheets/d/167vl4yHS95TRAPZNJLHr4G9y6KaJD-W2vk0ozFF14D0/ schedule] ] [ [[Media:COMP442_6421.assignment1.gradingSheet.paquet.2021.4.xlsx|grading sheet]] ]  
*[schedule] [zoom] project assignment 1 demonstrations (feb 16-17) [grades]
+
*[ [https://docs.google.com/spreadsheets/d/167vl4yHS95TRAPZNJLHr4G9y6KaJD-W2vk0ozFF14D0/edit schedule] ] project assignment 1 demonstrations (feb 16-17)
*[[Media:Assignment2.COMP442-6421.paquet.2021.4.zip|project assignment #2 (syntactic analyzer) (handout)]]
+
*[ [[Media:Assignment2.COMP442-6421.paquet.2021.4.zip|handout]] ] [ [https://bit.ly/39XxgDr video] ] project assignment #2 (syntactic analyzer)
 
||
 
||
*[[Media:COMP442-6421.4.SyntaxII.ppt|top-down parsing I]]
+
*[ [[Media:COMP442-6421.4.SyntaxII.ppt|slides]] ] [ [https://bit.ly/2N3B50R video] ] top-down parsing I
 
||  
 
||  
 
* Programmer On duty
 
* Programmer On duty
Line 80: Line 80:
 
||
 
||
 
||
 
||
*[[Media:COMP442-6421.5.SyntaxIII.ppt|top-down parsing II]]
+
*[ [[Media:COMP442-6421.5.SyntaxIII.ppt|slides]] ] [ [https://bit.ly/37959iv video] ] top-down parsing II
*[[Media:COMP442-6421.6.SDT.ppt|syntax-directed translation I]]
+
*[ [[Media:COMP442-6421.6.SDT.ppt|slides]] ] [ [https://bit.ly/2ZbR5R6 video] ] syntax-directed translation I
 
||
 
||
*[[Media:COMP442-6421.lab.03.parser.pdf|lab slides 3]]
+
*[ [[Media:COMP442-6421.lab04.grammar-parsing.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=285182&node=1082624&a=1557268429&autoplay=1 video] ] grammar transformation and parsing
 
|-
 
|-
 
|| week 6
 
|| week 6
Line 89: Line 89:
 
||
 
||
 
||
 
||
*[[Media:COMP442-6421.7.SDTII.ppt|syntax-directed translation II]]
+
*[ [[Media:COMP442-6421.7.SDTII.ppt|slides]] ] [ [https://bit.ly/3sein5P video] ] syntax-directed translation II
*[[Media:COMP442-6421.8.SDTAST.ppt|AST generation using SDT]]
+
*[ [[Media:COMP442-6421.8.SDTAST.ppt|slides]] ] [ [https://bit.ly/2NnC7VK video] ] AST generation using SDT
 +
||
 +
*[ [[Media:COMP442-6421.lab05.AST.2021.4.zip|slides]] ] [ [https://concordia.yuja.com/V/Video?v=179638&node=807189&a=1041956838&autoplay=1 video] ] AST generation
 +
|-
 +
|| midterm break
 +
|| mar 1 - mar 5
 +
||
 +
*[[Media:Assignment2.LL1grammar.COMP442-6421.2021.4.zip|LL(1) grammar]]
 +
||
 
||
 
||
*[[Media:COMP442-6421.lab.04.SDT.zip|lab slides 4]]
 
 
|-
 
|-
 
|| week 7
 
|| week 7
 
|| mar 8
 
|| mar 8
 
||
 
||
*project assignment 2 due (mar 12)  
+
*project assignment 2 due (mar 17)  
*[schedule] [zoom] project assignment 2 demonstrations (mar 16-17) [grades]
+
*[ [https://docs.google.com/spreadsheets/d/1ayXEMJxM9u1x-24ihs0vGjmz2GsOWMUNgJ1aFBjM-Tk/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment2.gradingSheet.paquet.2021.4.xlsx|grading sheet]] ] project assignment 2 demonstrations (mar 18,20)
*[[Media:assignment3.COMP442-6421.paquet.2021.4.zip|project assignment #3 (symbol table creation)(handout)]]
+
*[ [[Media:assignment3.COMP442-6421.paquet.2021.4.zip|handout]] ] [ [https://bit.ly/30h1R9h video] ] project assignment #3 (symbol table creation) (handout)
 
||
 
||
*[[Media:COMP442-6421.9.VisitorSymTab.ppt|Tree traversal and symbol table generation]]
+
*[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation
 
||
 
||
 
* Programmer On Duty
 
* Programmer On Duty
|-
 
|| midterm break
 
|| mar 1 - mar 5
 
||
 
||
 
||
 
 
|-
 
|-
 
|| week 8
 
|| week 8
Line 115: Line 116:
 
||
 
||
 
||
 
||
*[[Media:COMP442-6421.10.BottomUpI.ppt|bottom-up parsing I]]
+
*[ [[Media:COMP442-6421.10.BottomUpI.ppt|slides]] ] [ [https://bit.ly/2Ne2A8a video] ] bottom-up parsing I
 +
*[ [[Media:COMP442-6421.ASTgeneration.ppt|slides]] ] AST generation: supplementary lecture
 
||
 
||
*[[Media:COMP442-6421.lab.05.Visitor.pdf|lab slides 5]]
+
*[ [[Media:COMP442-6421.lab07.Tree_Traversal_and_Visitor_Pattern.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=307843&node=1138451&a=43321267&autoplay=1 video] ] tree traversal and visitor pattern
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
|-
 
|-
Line 124: Line 126:
 
||
 
||
 
||
 
||
*[[Media:COMP442-6421.11.BottomUpII.ppt|bottom-up parsing II]]
+
*[ [[Media:COMP442-6421.11.BottomUpII.ppt|slides]] ] [ [https://bit.ly/3f0cWUE video] ] bottom-up parsing II
 
||
 
||
*[[Media:COMP442-6421.lab.06.LRparsing.pdf|lab slides 6]]
 
 
|-
 
|-
 
|| week 10
 
|| week 10
 
|| mar 29  
 
|| mar 29  
 
||
 
||
*[video] [ [[Media:assignment4.COMP442-6421.paquet.2021.4.zip|handout]] ] project assignment #4 (code generation) (handout)
+
*[ [[Media:assignment4.COMP442-6421.paquet.2021.4.zip|handout]] ] [ [https://bit.ly/2PEDm3z video] ] project assignment #4 (code generation) (handout)
*project assignment 3 due (apr 2)  
+
*project assignment 3 due (apr 5)  
*[schedule] [zoom] project assignment 3 demonstrations (apr 6-7) [grades]
+
*[ [https://docs.google.com/spreadsheets/d/1v6M2q3MVsOb0Y-my1sMxKmJmO5k_G-BPLS0TKchwBFE/ schedule] ] project assignment 3 demonstrations (apr 6-7)  
 
||
 
||
*[ [https://www.youtube.com/watch?v=BN9Px7bvnBg video] ] [ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] code generation I
+
*[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I
 
||
 
||
* [ [https://www.youtube.com/watch?v=hhygTFmXpjk video] ] [ [[Media:COMP442-6421.lab7.CodeGeneration.zip|slides]] ] lab slides 7
+
* [ [[Media:COMP442-6421.lab06.code.generation.pptx|slides]] ] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=484026787&b=333076&linkType=video video] ] lab slides 7
 
|-
 
|-
 
|| week 11
 
|| week 11
Line 144: Line 145:
 
*apr 5 : University closed
 
*apr 5 : University closed
 
||
 
||
*[ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] [ [[Media:COMP442-6421.13.CodeGenerationII.ppt|slides]] ] code generation II
+
*[ [[Media:COMP442-6421.13.CodeGenerationII.ppt|slides]] ] [ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] code generation II
 
||
 
||
*[ [https://www.youtube.com/watch?v=eFMTL3pQ-3s video] ] [ [[Media:COMP442-6421.lab.08.codegenerationII.zip|slides ]]] lab slides 8
+
*[ [[Media:COMP442-6421.lab08.code.generation.II.pptx|slides ]]] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=1359950929&b=338315&linkType=video video] ]  lab slides 8
 
|-
 
|-
 
|| week 12
 
|| week 12
 
|| apr 12
 
|| apr 12
 
||
 
||
*[ [https://www.youtube.com/watch?v=lZk6wPqwLPg video] ] [ [[Media:Projectdemonstration.COMP442.paquet.2021.4.pdf|handout]] ] final project grading sheet (handout)
+
*[ [[Media:COMP442_6421.final.project.demonstration.gradingSheet.paquet.2021.4.xlsx|handout]] ] final project grading sheet (handout)
*project assignment 4 due (apr 16)
+
*project assignment 4 due (apr 18)
*[schedule] [zoom] project assignment 4 demonstrations (apr 19-20)
+
*[ [https://docs.google.com/spreadsheets/d/1XVLaIzptGSHJlPiJi8rRTYyXTKG4VcBhNGaM1Jkx22o/ schedule] ] project assignment 4 demonstrations (apr 19-20)
 
||
 
||
*[ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] [ [[Media:COMP442-6421.14.review.2021.ppt|slides]] ] review and discussion on final examination
+
*[ [[Media:COMP442-6421.14.review.2021.ppt|slides]] ] [ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] review and discussion on final examination
 
||
 
||
*[ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] [ [[Media:COMP442-6421.exercises.ppt|slides]] ] exercises
+
*[ [[Media:COMP442-6421.exercises.ppt|slides]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises
 
|-
 
|-
 
|| week 13
 
|| week 13
 
|| apr 19
 
|| apr 19
 
||
 
||
* final project due (apr 20-23) [grades]
+
* final project due (apr 20)
 +
*[ [https://docs.google.com/spreadsheets/d/1GZlhiCCBybFWzOADoinvjiVYgg4sNiQh2QOZgsUNDik/ schedule] ] final project demonstrations (apr 21-23)
 
||
 
||
 
||
 
||
Line 170: Line 172:
 
|| apr 24 - may 9
 
|| apr 24 - may 9
 
||
 
||
* final examination (TBD)
+
* [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] final examination (24-hour exam - from apr 26th, noon to apr 27th, noon - confirmed )
 
||
 
||
 
||
 
||

Latest revision as of 08:56, 13 April 2021

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
lecture NN M------ [YouTube ]
[zoom ]
Paquet, Joey paquet@cse.concordia.ca
office hours --W---- 10:00-12:00 [zoom ] Paquet, Joey
lab NN NI M------ 20:30-22:20 [zoom ] Jafarpour, Hamed jafarpour.ha@gmail.com
lab NN NJ M------ 15:45-17:35 [zoom ] Patel, Dhaval dhavalptl630007@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Patel, Dhaval dhavalptl630007@gmail.com

Lecture Schedule

wk wk starting date event lectures topics/material lab material
(for videos - see moodle)
week 1 jan 18
week 2 jan 25
  • [ handout ] [ video ] project assignment #1 (lexical analyzer)
week 3 feb 1
week 4 feb 8
  • Programmer On duty
week 5 feb 15
  • [ slides ] [ video ] grammar transformation and parsing
week 6 feb 22
midterm break mar 1 - mar 5
week 7 mar 8
  • project assignment 2 due (mar 17)
  • [ schedule ] [ grading sheet ] project assignment 2 demonstrations (mar 18,20)
  • [ handout ] [ video ] project assignment #3 (symbol table creation) (handout)
  • [ slides ] [ video ] Tree traversal and symbol table generation
  • Programmer On Duty
week 8 mar 15
  • [ slides ] [ video ] bottom-up parsing I
  • [ slides ] AST generation: supplementary lecture
week 9 mar 22
week 10 mar 29
  • [ handout ] [ video ] project assignment #4 (code generation) (handout)
  • project assignment 3 due (apr 5)
  • [ schedule ] project assignment 3 demonstrations (apr 6-7)
week 11 apr 5
  • apr 5 : University closed
week 12 apr 12
  • [ handout ] final project grading sheet (handout)
  • project assignment 4 due (apr 18)
  • [ schedule ] project assignment 4 demonstrations (apr 19-20)
  • [ slides ] [ video ] review and discussion on final examination
week 13 apr 19
  • final project due (apr 20)
  • [ schedule ] final project demonstrations (apr 21-23)
examination week apr 24 - may 9
  • [ sample examination ] final examination (24-hour exam - from apr 26th, noon to apr 27th, noon - confirmed )

Course Material and Resources