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
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:
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...
- everyone can see the answers to questions (some of which may be
relevant or interesting to you)
- someone else might provide an answer before I can get back to you
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))