CPSC 411 Compiler construction I

Author: Robin Cockett
Date: 15th January 2016

Assignment #4: Semantic checking for M+
Due date: 3rd April 2016

Using the syntax tree, generated by assignment #3, generate an intermediate representation tree (following the form described in /home/411/M+).  This assignment involve programming a symbol table and correctly implementing the attribute system required to type check and produce the intermediate representation for M+.  

You are expected to draw "plumbing diagrams" alongside the major steps of your code as part of your documentation.  Furthermore, you are expected to pretty print the intermediate representation (use, for example, the test programs in the /home/411).  You are expected to produce at least five of your own test M programs.

For this series of assignments you must look at the  stack based assembly language AM  (see  /home/411/AM) and also at the language description of M+ (see /home/411/M+).