Pragmatic Aspects of Reusable Program Generators
When writing a program generator requires considerable intellectual
effort, it is pleasant to amortize that effort by
using the generator to
build more than one application.
When a program generator serves multiple clients, however, the
implementor must address
pragmatic questions that implementors of single-use program generators
can ignore.
In how many languages should generated code be written?
How should code be packaged?
What should the interfaces to the client code look like?
How should a user control variations?
This paper uses examples from SLED, \-RTL, and ASDL to elaborate on
these questions.
It is hoped that the paper will stimulate discussion and the
development of better techniques.
Most urgently needed is a simple, clear way to control interfaces
to generated code.
Full paper
The paper is available as
US Letter PostScript (212K),
US Letter PDF (247K),
HTML (76K),
US Letter TeX DVI (85K),
gzipped US Letter PostScript (82K),
and
gzipped US Letter TeX DVI (34K).