Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Optimization of functional programs by grammar thinning
Webber A. ACM Transactions on Programming Languages and Systems17 (2):293-330,1995.Type:Article
Date Reviewed: Feb 1 1996

Thinner, an optimizer for a LISP-like language, is based on grammar thinning, a technique for eliminating redundant computation from programs. It compiles an input program into a trace grammar, analyzes the grammar to identify a weak conservative thinning example, reformulates the grammar with respect to that example, and finally decompiles the grammar back into the source language. After an introductory example and a discussion of related work, the author proceeds to a well-presented and detailed treatment of the grammar thinning problem for context-free grammars. To allow grammar thinning to be used for program optimization, he develops a comprehensive trace grammar formalism that supports grammatical reformulation.

As Webber points out, Thinner was developed as a proof of concept. Although it can perform a number of optimizations solely by applying grammar thinning (elimination of common subexpressions, elimination of dead code, constant folding, code sinking, loop invariant removal, loop jamming, and loop splitting), using it for such optimizations is inefficient. Rather, grammar thinning should be applied only when its power and generality are needed for more difficult reformulations. The author concludes this well-written paper by pointing out a number of open problems that may prompt further work on the subject.

Reviewer:  D. B. Lange Review #: CR119257 (9602-0129)
Bookmark and Share
 
Optimization (D.3.4 ... )
 
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Grammar Types (F.4.2 ... )
 
 
Language Classifications (D.3.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Optimization": Date
Finite constants
Steffen B., Knoop J. Theoretical Computer Science 80(2): 303-318, 1991. Type: Article
May 1 1992
Optimizing schemes for structured programming language processors
Tsuji T., Ellis Horwood, Upper Saddle River, NJ, 1990. Type: Book (9780138551230)
Apr 1 1992
Optimizing compilers for parallel computers (videotape)
Allen F., University Video Communications, Stanford, CA, 1991. Type: Book
Aug 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy