ICS 142
Homework 8
Due 6/7
- (30 points) Design the following language processors using data-flow diagrams. Briefly describe the functions performed by each module.
- A one-pass non-optimizing compiler.
- A multi-pass fully-optimizing compiler.
- An Ada interpreter.
- (70 points) Write an interpreter for Tiny-Ada.
- (40 points) Implement declare blocks, assignment statements, expressions, if-then-else, while, and input/output statements.
- I have provided a front-end in http://www.ics.uci.edu/~klefstad/s/142/src//hw8/tiny-ada.*.
- (30 points) Implement a pretty-printer for Tiny-Ada that regenerates the original source code via a traversal of the internal representation.
- There is a new make file called makefile.
- Submit the source to your interpreter with a sample session showing it executes several interesting programs. Demonstrate your pretty printer for a two complex programs. Submit your designs for the language processors.