|
ABSTRACT
Programmers frequently write program generators using the simple model of programs as text. The essence of this approach is its lack of structure. For this reason, it gets no respect from academic researchers. But the flip side of lacking structure is freedom from restrictions. We argue that the latter is important, and perhaps essential, in finding a willing audience for program generation among working programmers. Jumbo is a system for producing run-time program generators, which is designed to offer the programmer a "programs as strings" model to as great an extent as possible, though some constraints are inevitable. We show by several examples that these constraints still allow for both a natural and a powerful program generation model. We then discuss how the approach taken by Jumbo, though possessing less structure than some competing methods, still raises scientific problems that ought to be of interest to researchers in this area.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
T. B. Aktemur, J. Jones, S. Kamin, L. Clausen. Optimizing marshalling by run time program generation. In preparation. 2004.
|
 |
2
|
Giuseppe Attardi , Antonio Cisternino , Andrew Kennedy, CodeBricks: code fragments as building blocks, Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, p.66-74, June 07-07, 2003, San Diego, California, USA
|
| |
3
|
|
| |
4
|
|
 |
5
|
Dawson R. Engler , Wilson C. Hsieh , M. Frans Kaashoek, C: a language for high-level, efficient, and machine-independent dynamic code generation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.131-144, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237765]
|
| |
6
|
M. Frigo, S.G. Johnson. FFTW: An Adaptive Software Architecture for the FFT. Int. Conf. on Acoustics, Speech, and Signal Processing (ICASSP). 1998. 1381--1384.
|
| |
7
|
E. Gamma, R. Helm. R. Johnson, J. Vlissides. Design Patterns. Addison-Wesley. Reading, Mass. 1995.
|
 |
8
|
Jan Hannemann , Gregor Kiczales, Design pattern implementation in Java and aspectJ, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
9
|
Sam Kamin, Routine run-time code generation, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
[doi> 10.1145/949344.949401]
|
| |
10
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
G.T. Leavens, A.L. Baker, and C. Ruby. Preliminary Design of JML: A Behavioral Interface Specification Language for Java. Department of Computer Science, Iowa State University, TR #98-06x. November 2003.
|
| |
15
|
Y. Oiwa, H. Masuhara, A. Yonezawa. DynJava: Type Safe Dynamic Code Generation in Java. 3rd JSSST Workshop on Programming and Programming Languages (PPL2001). March 2001.
|
| |
16
|
R. Sedgewick, K. Wayne. Introduction to Computer Science. Online textbook available at www.cs.princeton.edu/introcs/home/. 2004.
|
 |
17
|
|
 |
18
|
|
|