C-Transformers — A Framework to Write C Program Transformations

From LRDE

Abstract

Program transformation techniques have reached a maturity level that allows processing high-level language sources in new ways. Not only do they revolutionize the implementation of compilers and interpreters, but with modularity as a design philosophy, they also permit the seamless extension of the syntax and semantics of existing programming languages. The C-Transformers project provides a transformation environment for C, a language that proves to be hard to transform. We demonstrate the effectiveness of C-Transformers by extending C's instructions and control flow to support Design by Contract. C-Transformers is developed by members of the LRDE: EPITA undergraduate students.

Documents

Bibtex (lrde.bib)

@Article{	  borghi.06.crossroads,
  author	= {Alexandre Borghi and Valentin David and Akim Demaille},
  title		= {{C}-{T}ransformers --- {A} Framework to Write {C} Program
		  Transformations},
  journal	= {ACM Crossroads},
  year		= 2006,
  volume	= 12,
  number	= 3,
  month		= {Spring},
  note		= {\url{http://www.acm.org/crossroads/xrds12-3/contractc.html}},
  abstract	= {Program transformation techniques have reached a maturity
		  level that allows processing high-level language sources in
		  new ways. Not only do they revolutionize the implementation
		  of compilers and interpreters, but with modularity as a
		  design philosophy, they also permit the seamless extension
		  of the syntax and semantics of existing programming
		  languages. The C-Transformers project provides a
		  transformation environment for C, a language that proves to
		  be hard to transform. We demonstrate the effectiveness of
		  C-Transformers by extending C's instructions and control
		  flow to support Design by Contract. C-Transformers is
		  developed by members of the LRDE: EPITA undergraduate
		  students.}
}