A Metaprogramming method and its economic justification
IEEE Transactions on Software Engineering
Systematic software development using VDM
Systematic software development using VDM
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
TXL: a rapid prototyping system for programming language dialects
Computer Languages
Building Application Generators
IEEE Software
Visualizing and querying software structures
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
Schema translation using structural transformation
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
Transformation in Intentional Programming
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Aspect language features for concern coverage profiling
Proceedings of the 4th international conference on Aspect-oriented software development
Source transformation, analysis and generation in TXL
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
The denotational semantics of a functional tree-manipulation language
Computer Languages
Reducing time and effort in legacy systems reengineering to MDD using metaprogramming
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Hi-index | 0.00 |
Metaprogramming is the process of specifying generic software source templates from which classes of software components, or parts thereof, can be automatically instantiated to produce new software components. Metaprograms are specified in an annotated by-example style accessible to ordinary programmers of the source language. Annotations are in the form of Prolog-like predicates that specify the conditions under which different parts of the source template are to be instantiated. Instantiation of a source component is done by specifying facts about the new application in a database, from which the appropriate instance of the metaprogram is automatically inferred using Prolog-style deduction.This paper describes a practical metaprogramming system being developed as part of the ITRC Software Life Cycle Technology project, which utilizes source transformation to implement all phases of the metaprogramming process. Metaprograms are automatically transformed into TXL (Tree Transformation Language) source transformation tasks that automatically implement the instantiation process using TXL. Examples are shown of the use of metaprogramming in automatically deriving C language glue routines that allow Prolog programs to access the GL graphics library.