Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Tutorial: compiling concurrent languages for sequential processors
Edwards S. ACM Transactions on Design Automation of Electronic Systems8 (2):141-187,2003.Type:Article
Date Reviewed: Jul 18 2003

A reactive computation exchanges events with the environment in which the computation runs. Reactive computations execute with concurrency, but many compilers for reactive languages attempt to improve execution performance by generating purely sequential code.

This paper presents a tutorial survey of the techniques used by ten compilers that produce sequential code from reactive computations; the compilers represent seven reactive programming languages. The principle areas surveyed in each compiler are the translation from high-level to low-level concurrency, and the accompanying intermediate representation, the analysis used to reconfigure available concurrency, and code generation techniques. Code generation is presented in terms of partial evaluation on interpreters for the intermediate code.

The author’s stated objective for this paper is to motivate work on combining the disparate techniques used by current compilers into a single compiler. This objective might have been better served if the paper’s structure had been inverted: rather than have a single section on each compiler, the author should have devoted a section to each compilation technique, with examples drawn from current compilers. As it stands, however, the paper fulfills the expectations raised by its title. There is enough detail to prototype the various techniques presented, but not enough detail to extend the prototypes into even a rudimentary compiler for modest reactive language.

The reader should be familiar with reactive systems; familiarity with general compilation techniques is helpful, but not required. The bibliography has broad coverage, with depth in the relevant details.

Reviewer:  R. Clayton Review #: CR127977 (0311-1234)
Bookmark and Share
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Concurrent Programming Structures (D.3.3 ... )
 
 
Optimization (D.3.4 ... )
 
 
Models Of Computation (F.1.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent, Distributed, And Parallel Languages": Date
Parallel programming
Coffin M., Silicon Press, Summit, NJ, 1992. Type: Book (9780929306131)
Apr 1 1993
Compositional parallel programming languages
Foster I. ACM Transactions on Programming Languages and Systems 18(4): 454-476, 1996. Type: Article
Jan 1 1997
Coordination languages and their significance
Gelernter D., Carriero N. Communications of the ACM 35(2): 97-107, 1992. Type: Article
Mar 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