First Advisor

Andrew Tolmach

Term of Graduation

Spring 1998

Date of Publication


Document Type


Degree Name

Master of Science (M.S.) in Computer Science


Computer Science




Compilers (Computer programs), Source code (Computer science)



Physical Description

1 online resource (iv, 59 pages)


Traditionally, optimizing transformations have been built into compilers. The end-user has little or no control over guiding any optimizations that may be applied by the compiler. Moreover, the compiler-writer does not have a simple way to direct the optimizations. Thus, many potentially beneficial opportunities for code optimization may be lost. We have built a system that allows the user to participate in guiding source-to-source transformations via the specification of rewrite rules. A clean separation of the rules from the strategy of applying them makes the system easier to use and modify, compared to other integrated systems. This is especially relevant to the application-specific improvement of code, which is hard to achieve through the usual means. We anticipate our system to be a useful aid to both the end-user and the compiler-writer. A sophisticated end-user might use it very effectively by applying his knowledge of the problem domain to the rewrite rules. The compiler-writer, in addition, would benefit from the increased modularity, flexibility and simplicity of use that it provides. A desirable feature of the design is the ability to express the rewrite rules in a language closely allied to the source language. We illustrate this with the help of several examples. Our system is intended to be an extension to the standard optimizing compiler. To our knowledge, existing compilers do not have this facility.


In Copyright. URI:

This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).


If you are the rightful copyright holder of this dissertation or thesis and wish to have it removed from the Open Access Collection, please submit a request to and include clear identification of the work, preferably with URL.

Persistent Identifier