Assignment Classifying Transformations
Pt
In the first lecture and in Chapter 1 a classification and a number of examples of program transformations where given. The goal of this assignment is to classify a number of actual program transformations by observing their effect on programs. The Tiger
TransformDemo
provides a web-interface to a number of transformations on
Tiger programs labeled with letters from A to M. Each of these transformations corresponds to a transformation from the following list:
- Bound Variable Renaming
- Canonical (side-effect) free expressions
- Compilation
- Desugaring
- Escaping Variables Analysis
- Function Inlining
- Interpreting
- Pretty-printing
- Running Compiled Program
- Tail Recursion Elimination
- Trace Instrumentation
- Translation to Intermediate Representation
- Typechecking
You should find out the correspondence by applying them to some programs.
(Note that transformation M loops on program merge; so avoid that one)
Submission
Submit a single ascii file
classification.txt with for each transformation letter, its name, and its minor and major category in the classification. The file should use the following format:
----------------------------------------------------------
Name: <your name>
Number : <your student number>
Transformation Z : Foobarring - Normalization - Rephrasing
----------------------------------------------------------
Other Demonstrations
Note that the transformation demonstration referred to above also contains other sections which allow you to make your own transformation compositions. See