Home
  Contact
  Short Vita
  Research
  Teaching
  LSDIS Lab
  Links

Programming Project: Part 3 [60 pts.]

Due: May 1, 2011

  1. Convert the syntax-directed definition for Micro-C (the one that you used for the construction of your parser and semantic analyzer for Micro-C) into a translation scheme. The translation scheme should specify correct code patterns for each of the different constructs of Micro-C. The code patterns should be specified in terms of sequences of one or more instructions of the UGAVAC Assembly Language.
  2. Implement the translator of Micro-C programs into UGAVAC Assembly. The UGAVAC interpreter is installed both on atlas and on odin. In order to use it, you must have /usr/local/bin on your shell's PATH environment variable. Alternatively, you may use the interpreter's absolute path, which is
    /usr/local/ugavac-dir/ugavac.

Submit (using submit) the directory containing your translator to the user csx570 (on odin).

IMPORTANT

The directory MUST contain all sources and an executable version of your translator called ucc. Your translator must accept exactly one command line argument -- the name of a file with the source program. The source file should have the suffix .c, and the resulting UGAVAC assembly file must have the suffix .asm. For example, a call to your translator, such as

   ucc sample1.c

should produce a file called sample1.asm containing the UGAVAC Assembly equivalent of sample1.c, provided sample1.c contains a correct Micro-C program.

You must also provide a file called README, specifying how to use your translator.

Late programs WILL NOT be accepted.