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

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
 
(66 intermediate revisions by one user not shown)
Line 55: Line 55:
 
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis
 
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis
 
||
 
||
*[ [[Media:COMP442-6421.lab.01.introduction.2021.4.pdf|slides]] ] lab slides 1 - introduction
+
*[ [[Media:COMP442-6421.lab.01.introduction.2021.4.pdf|slides]] ] introduction
 
|-
 
|-
 
|| week 3
 
|| week 3
Line 63: Line 63:
 
*[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction`
 
*[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction`
 
||
 
||
*[[COMP442-6421.lab02.lexer.2021.4.pdf|lab slides 2 - lexer]]
+
*[ [[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
 
||
 
||
*[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