JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Program generators and the tools to make them
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
DiSTiL: a transformation library for data structures
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Content is capricious: a case for dynamic system generation
ADBIS'06 Proceedings of the 10th East European conference on Advances in Databases and Information Systems
Hi-index | 0.00 |
Program generation is the process of generating code in a high-level language (e.g., C, C++, Java) to implement an abstract specification of a program. Generated programs are created by synthesizing and composing code fragments. A fundamental problem of fragment composition is variable binding -- i.e., binding identifiers in generated code with their correct variable definitions. In this paper we present generation scoping: a mechanism for specifying interdependencies among code fragments that solves the variable binding problem. Generation scoping employs ideas similar to hygienic macro expansion and syntactic closures -- i.e., advanced macro expansion techniques developed for extensible programming languages -- adapted to suit program generators.