ASSIGNMENTS (2006):
Assignments must be written in the functional programming language Haskell.
- Getting going in Haskell (here).
(3%)
- Recursive descent parsing, an expression parser and evaluator (here)
(NEW ... extensive hints! Example
solution. ) .
(7%)
- Using Lex and Yacc (here).
(10%)
- Using a symbol table to generate a semantic tree (here).
(10%).
- Stack based code generation (here)
(10%).
ASSIGNMENTS (2007):
- Using lex, here.
(3%)
- Recursive descent parsing and generating basic stack code, here.
(10%)
- Due March 23rd: Using Lex
and Yacc (here) (a supplementary
document is here).
(7%)
- Due April 6th: Using a
symbol table in semantic analysis (here).
(Old notes on symbol table here
...) (10%).
- Due April 13th: Stack
based code generation
(here) (10%).
ASSIGNMENTS (2008):
- Due January 28: Using
lex here (3%)
- Due Febuary 25: Recursive
descent parsing and generating basic stack code here (10%)
- Due March 17: Using Lex
and Yacc
(description of vanilla project here with
the extended version here: tests here) (7%)
- Due April 7: Symbol table
and semantic analysis (the description of the intermediate
representation is here: tests here) (10%).
- Due April 18: Stack
based code generation (the description of the AM machine is here) (10%).
Assignments for 2009:
- Due January 29: Using
lex here (3%)
- Due Febuary 26: Recursive
descent parsing and generating basic stack code here (10%)
- Due March 19: Using Lex
and Yacc (description of project here
with
the extended version here: tests here) (7%)
- Due April 9: Symbol table
and semantic analysis (the description of the intermediate
representation is here: tests here) (10%).
- Due April 17: Stack
based code generation (the description of the AM machine is here) (10%).