Difference between revisions of "COMP442/6421 - winter 2021"
From Dr. Joey Paquet Web Site
(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> | + | || 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] | + | || 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] || | + | || 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] |
|- | |- | ||
− | || | + | || marker || || || || Jafarpour, Hamed || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com] |
|- | |- | ||
− | || marker || || || | + | || 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| | + | *[ [[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) | + | *[ [[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| | + | *[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] lexical analysis |
|| | || | ||
− | *[[Media:COMP442-6421.lab.01.introduction.pdf| | + | *[ [[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. | + | *[ [[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: | + | *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] | + | *[ [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) | + | *[ [[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. | + | *[ [[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]] | ||
+ | || | ||
|| | || | ||
− | |||
|- | |- | ||
|| week 7 | || week 7 | ||
|| mar 8 | || mar 8 | ||
|| | || | ||
− | *project assignment 2 due (mar | + | *project assignment 2 due (mar 17) |
− | *[schedule] [ | + | *[ [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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|| 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. | + | *[ [[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 |
|| | || | ||
− | |||
|- | |- | ||
|| week 10 | || week 10 | ||
|| mar 29 | || mar 29 | ||
|| | || | ||
− | * | + | *[ [[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 | + | *project assignment 3 due (apr 5) |
− | *[schedule] | + | *[ [https://docs.google.com/spreadsheets/d/1v6M2q3MVsOb0Y-my1sMxKmJmO5k_G-BPLS0TKchwBFE/ schedule] ] project assignment 3 demonstrations (apr 6-7) |
|| | || | ||
− | * | + | *[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I |
|| | || | ||
− | * | + | * [ [[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]] ] [ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] code generation II |
|| | || | ||
− | * | + | *[ [[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 | ||
|| | || | ||
− | * | + | *[ [[Media:COMP442_6421.final.project.demonstration.gradingSheet.paquet.2021.4.xlsx|handout]] ] final project grading sheet (handout) |
− | *project assignment 4 due (apr | + | *project assignment 4 due (apr 18) |
− | *[schedule] | + | *[ [https://docs.google.com/spreadsheets/d/1XVLaIzptGSHJlPiJi8rRTYyXTKG4VcBhNGaM1Jkx22o/ schedule] ] project assignment 4 demonstrations (apr 19-20) |
|| | || | ||
− | * | + | *[ [[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]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises |
|- | |- | ||
|| week 13 | || week 13 | ||
|| apr 19 | || apr 19 | ||
|| | || | ||
− | * final project due (apr 20 | + | * 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 ( | + | * [ [[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 | |
---|---|---|---|---|---|
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 |
| ||
week 3 | feb 1 | |||
week 4 | feb 8 |
|
| |
week 5 | feb 15 | |||
week 6 | feb 22 | |||
midterm break | mar 1 - mar 5 | |||
week 7 | mar 8 |
|
| |
week 8 | mar 15 |
| ||
week 9 | mar 22 | |||
week 10 | mar 29 | |||
week 11 | apr 5 |
|
||
week 12 | apr 12 | |||
week 13 | apr 19 |
|
||
examination week | apr 24 - may 9 |
|