Homework 3: Semantic Checker

Due Tuesday, 19 February 2008, 6 PM

Homework 3 is to read Chapter 5 of the text and build a static-semantics checker for Appel's Tiger language.

Your code should perform the static semantic checks decribed in Chapter 5:

Your Semant module should export a function with this signature:

      transProg : Absyn.exp -> unit

that checks an AST and outputs error messages if anything is wrong. (Why is our type-checker called transProg rather than something like typeCheck? Because we'll be extending it in Homework 4 to type-check and translate the AST to our intermediate representation.)

You will find a structure Types defining a datatype to represent Tiger types in $TIGER/chap5/types.sml.

You should submit:

Words to the wise:

Last updated 18 February 2008.

Valid XHTML 1.1 Valid CSS!