| ||||
About this courseOfficial course descriptionPhilosophy of the course Availability
|
PeopleLecturer (Ismail Badawi)Teaching assistant (Vineet Kumar) |
|||
Printed ReadingsCourse text (readings)Lecture notes |
Deadlines and Important DatesDeliverables, milestones, and exercisesWeek by week schedule Midterm |
|||
ProjectThe project descriptionThe A- source code (flex/bison/C) The A- source code (SableCC/Java) The A+ project The A+ binary JOOS examples JOOS library source JOOS extern classes |
ProjectThe project descriptionOriginal WIG grammar Yacc-style grammar, most conflicts solved Sablecc-style grammar (version 2) How to run SableCC WIG examples How to compile and run WIG services The <bigwig> projectThe Mawl project
|
|||
Peephole contestRules and prizesResults and Winners
|
Online documentationTheflex scanner generatorThe bison parser generatorThe SableCC compiler generatorThe Java language specification The Java virtual machine The Java API documentation
HTML User Guides Under The Hood articles: |
|||
| ||||
Week 1: Introduction and ScannersSeptember 2012 S M Tu W Th F S 5 6 7 8 * *
Reading C1: Louden, Chapter 1 Students who do not
have a background in regular languages and finite
state automata |
Week 2: Scanners and parsersSeptember 2012 S M Tu W Th F S 9 10 11 12 13 14 15 * * *
Reading C3: Louden, Chapter 3
Standalone lexers with lex: synopsis, examples, and pitfalls |
|||
Week 3: Abstract syntax trees and SableCCSeptember 2012 S M Tu W Th F S 16 17 18 19 20 21 22 * * * Tiny expression language source code
Reading O2: Bison
WIG milestone: form groups and begin planning
|
Week 4:September 2012 S M Tu W Th F S 23 24 25 26 27 28 29 * * * WIG milestone: Try out each toolset on a Tiny example
|
|||
Week 5:October 2012 S M Tu W Th F S 1 2 3 4 5 6 * * *
JOOS deliverable: benchmark programs
Reading O4: HTML
|
Week 6: Symbol tablesOctober 2012 S M Tu W Th F S 7 8 9 10 11 12 13 * * * Regular Lecture slides: Slides, 4-on-1 Special lecture slides: Slides, 4-on-1 WIG milestone: CGI vs. WIG Reading C5, Louden, Chapter 6.3
|
|||
Week 7: Type checkingOctober 2012 S M Tu W Th F S 14 15 16 17 18 19 20 * * * WIG milestone: scanner and parser Reading C6, Louden, Chapter 6.4
|
Week 8: Virtual machinesOctober 2012 S M Tu W Th F S 21 22 23 24 25 26 27 * * ** midterm
WIG milestone: symbol tables |
|||
Week 9: Code generationOctober 2012 S M Tu W Th F S 28 29 30 31 * November 2012 S M Tu W Th F S 1 2 3 * * WIG milestone: type checking
|
Week 10: OptimizationNovember 2012 S M Tu W Th F S 4 5 6 7 8 9 10 * * * JOOS deliverable: stack limits
|
|||
Week 11: Garbage collectionNovember 2012 S M Tu W Th F S 11 12 13 14 15 16 17 * * * Reading C7, Appel, Chapter 13
|
Week 12: Native code generationNovember 2012 S M Tu W Th F S 18 19 20 21 22 23 24 * * * JOOS deliverable: peephole patterns
|
|||
Week 13: Static analysisNovember 2012 S M Tu W Th F S 25 26 27 28 29 30 * * * WIG deliverable: compiler WIG deliverable: report
Reading C8: Appel, Chapter 10
|
Week 14: Presenting your compilersDecember 2012 S M Tu W Th F S 2 3 4 *Group meetings will be scheduled on Monday and Tuesday.
|
Maintained by Ismail Badawi [HOME] |