Last programming assignment
CSCI 4627
Spring 2002

Due: Monday, April 29.

Your last programming assignment is to do the following.

  1. Modify your translator to perform type checking of function arguments. That means modifying how types are stored in the symbol table. One approach is to store the return type of a function in the same place where you store the type of a variable, and to store a separate list of the types of the arguments of a function. Check each use of a function to see that it is being used correctly.

  2. Fix mistakes in your translator. Make it compile as much of the language as possible. Do not try to do everything at once. Gradually add more and more correct functionality.

For uniformity, please make your translator read and write according to the following conventions.

  1. Read either from the standard input or from a file that is a command line argument. (Take your choice, but only do one.)
  2. Write the byte code to a file called bytecode.
My tester will assume that you have followed these conventions.

Submit this your final compiler as assignment 4 using handin. Also submit a file called readme.txt telling how much of the language you have managed to implement. If you have implemented everything, say so.