Study and Analysis of C++ Extension Conception with Transformers

From LRDE

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 Transformers project aims at providing source to source transformations for C and C++ languages. This consists in parsing the input source, a C/C++ source code extended to accept new syntactic rules. The input code is then transformed into standard C/C++. This is similar to the process used by the C++ ancestor, “C with classes”which was an extension of C and which was transformed into C before being compiled. We will show how to write an extension of the C++ grammar using the Transformers project, and to transform the extended C++ input into standard C++. For this purpose, we will use extensions that have already been implemented (ContractC++class-namespaces) as examples. We will analyse to what extent the technologies like attribute grammars used in Transformers help us.