CS 451 - 651   Compiler Construction   Fall 2009

Instructor: David Levine

Office hours:

    Monday and Wednesday, 5:30-6:30
       (earlier by arrangement)
       Also available after class, M-W; and via email/IM whenever ...

no Teaching Assistant this term

Hour Exam  

Hour Exam -- Ideas and Sample questions

  Exam scheduled for Wedn. 21 Oct 2009
(please review policy on what to do if you cannot attend the exam)

Final Exam

Wednesday, Dec 16   6:30 - 9:30
   (regularly scheduled time for M-W 7pm classes)

Note:
No class Nov 11 (Veterans' Day, UMB closed)
YES class Nov 25 (day before Thanksgiving)

Absolute last day for project submission:  7:00 pm Thurs Dec 10 (after last day of class)


Homeworks:


Specific assignments:

HW 11 (due Nov 23) and HW 12 (due Nov 30) :  Implement Functions
  Note:  there are extensive notes available on this topic ... see references from within the HW 11&12 pages.

  A Sample compiler can be downloaded from here.
    execute with "javac -jar jar/FCompiler"   (name changed so it can coexist with your stuff)
 Note that this compiler expects a program consisting of   { stmt-list  } .  Here's a sample input file.


HW 9 (due Nov 9) and HW 10 (due Nov 16) :  Add Arrays, Boolean, relationals, IF-While


HW 7 (due Wed. Oct 28) and HW 8 (due Nov 2 4) : add Semantic Analysis & nameTable; handle scalar variables

HW 5 (due Oct 12) and HW 6 (due Oct 19) : add declarations and "type", and ILOC

HW 4 (due Oct 5) : define Node classes, add constructors to build AST

HW 3 (due Sept 28) : set up CUP system, run with simple grammar


HW 2 (due Sept 21) : simple Recursive Descent Parser

HW 1 (due Sept 14) : simple Recursion exercise


Miscellaneous info:

Use our Google Group:

Members of the class are encouraged to join a Google group, at    groups.google.com/group/umb-cs651

To send email to the group:
    umb-cs651@googleGroups.com

This will provide to share questions (and answers) about issues that come up whenever...



Syllabus (link)

Administrative Notes (link)


Text

Cooper and Torczon, Engineering a Compiler

Also: look at "lexical analysis" and "parse" in Wikipedia -- good summary.




Class Notes

Sept 30:  Tree Structure (misc), LALR Parser in action

Oct 7: discussing ILOC, also Type  ((also info about Scanner and returning values to parser))