Metagene, a C++ meta-program generation tool

From LRDE

Revision as of 15:43, 22 October 2013 by Bot (talk | contribs) (Created page with "{{Publication | date = 2004-06-01 | authors = Francis Maes | title = Metagene, a C++ meta-program generation tool | booktitle = Proceedings of the Workshop on Multiple Paradig...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Abstract

The C++ language offers a two layer evaluation model. Thus, it is possible to evaluate a program in two steps: the so-called static and dynamic evaluations. Static evaluation is used for reducing the amount of work done at execution-time. Programs executed statically (called metaprograms) are written in C++ through an intensive use of template classes. Due to the complexity of these structures, writing, debugging and maintaining C++ meta-programs is a difficult task. Metagene is a program transformation tool which simplifies the development of such programs. Due to the similarities between C++ meta-programming and functional programming, the input language of Metagene is an ML language. Given a functional input program, Metagene outputs the corresponding C++ meta-program expressed using template classes.


Bibtex (lrde.bib)

@InProceedings{	  maes.04.mpool,
  author	= {Francis Maes},
  title		= {Metagene, a {C++} meta-program generation tool},
  booktitle	= {Proceedings of the Workshop on Multiple Paradigm with OO
		  Languages (MPOOL; in conjunction with ECOOP)},
  year		= 2004,
  address	= {Oslo, Norway},
  month		= jun,
  project	= {Software},
  abstract	= {The C++ language offers a two layer evaluation model.
		  Thus, it is possible to evaluate a program in two steps:
		  the so-called static and dynamic evaluations. Static
		  evaluation is used for reducing the amount of work done at
		  execution-time. Programs executed statically (called
		  metaprograms) are written in C++ through an intensive use
		  of template classes. Due to the complexity of these
		  structures, writing, debugging and maintaining C++
		  meta-programs is a difficult task. Metagene is a program
		  transformation tool which simplifies the development of
		  such programs. Due to the similarities between C++
		  meta-programming and functional programming, the input
		  language of Metagene is an ML language. Given a functional
		  input program, Metagene outputs the corresponding C++
		  meta-program expressed using template classes.}
}