Introduction:
A framework of C Preprocessor analysis and source code rejuvenation tools that perform the task of demacrofication (source to source translation of C++ programs by replacing C Preprocessor macros with equivalent C++11 declarations). It is a set of three tools (i.e., cpp2cxx-suggest, cpp2cxx-validate, and cpp2cxx-finalize).
User guide and installation details: INSTALL.pdf
https://github.com/hiraditya/cpp2cxx/blob/master/INSTALL.pdf
Builds with llvm/clang-3.8
Paper explaining the concepts of demacrofication:
A. Kumar, A. Sutton, and B. Stroustrup, "Rejuvenating C++ Programs through Demacrofication", in Software Maintenance, 2012. ICSM 2012. IEEE Conference on. IEEE, 2012, p. to appear
Video screencast demonstrating the working of the framework:
http://www.youtube.com/watch?v=J2OepRJ2fDg
We have demacrofied version of the following three libraries (available upon request):
-
facebook-hiphop-php
-
scintilla-3.0.4
-
p7zip-9.20.1