| ||||
About this courseOfficial course descriptionPhilosophy of the course Availability
|
PeopleLecturer (Jesse Doherty)Teaching assistants (Soroush Radpour) |
|||
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 2009 S M Tu W Th F S 1 2 3 4 * *
Reading C1: Louden, Chapter 1 Students who do not
have a background in regular languages and finite
state automata |
Week 2: Scanners and parsersSeptember 2009 S M Tu W Th F S 5 6 7 8 9 10 11 H * *Monday, September 7th is a holiday.
Reading C3: Louden, Chapter 3 |
|||
Week 3: Abstract syntax trees and SableCCSeptember 2009 S M Tu W Th F S 12 13 14 15 16 17 18 * * * Tiny expression language source code
Reading O2: Bison
WIG milestone: form groups and begin planning
|
Week 4:September 2009 S M Tu W Th F S 19 20 21 22 23 24 25 * * * WIG milestone: Try out each toolset on a Tiny example
|
|||
Week 5:September 2009 S M Tu W Th F S 26 27 28 29 30 * * October 2009 S M Tu W Th F S 1 2 *
JOOS deliverable: benchmark programs
Reading O4: HTML
|
Week 6: Symbol tablesOctober 2009 S M Tu W Th F S 3 4 5 6 7 8 9 * * * 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 2009 S M Tu W Th F S 10 11 12 13 14 15 16 H * *Monday, October 12th is a holiday. WIG milestone: scanner and parser Reading C6, Louden, Chapter 6.4
|
Week 8: Virtual machinesOctober 2009 S M Tu W Th F S 17 18 19 20 21 22 23 * * * WIG milestone: symbol tables
|
|||
Week 9: Code generationOctober 2009 S M Tu W Th F S 24 25 26 27 28 29 30 ** * * (midterm) WIG milestone: type checking
|
Week 10: OptimizationNovember 2009 S M Tu W Th F S 1 2 3 4 5 6 * * * JOOS deliverable: stack limits
|
|||
Week 11: Garbage collectionNovember 2009 S M Tu W Th F S 7 8 9 10 11 12 13 * * * Reading C7, Appel, Chapter 13
|
Week 12: Native code generationNovember 2009 S M Tu W Th F S 14 15 16 17 18 19 20 * ** * peephole JOOS deliverable: peephole patterns
|
|||
Week 13: Static analysisNovember 2009 S M Tu W Th F S 21 22 23 24 25 26 27 * * ** project WIG deliverable: compiler WIG deliverable: report
Reading C8: Appel, Chapter 10
|
Week 14: Presenting your compilersNovember 2009 S M Tu W Th F S 28 29 30 * December 2009 S M Tu W Th F S 1 2 3 4 * ** finalGroup meetings will be scheduled on Monday and Wednesday.
|
Maintained by Chris Pickett [HOME] |