Skip to content

A set of C Preprocessor analysis and source code rejuvenation tools that perform source to source translation of C++ programs by replacing C Preprocessor macros with equivalent C++11 declarations.

License

Notifications You must be signed in to change notification settings

hiraditya/cpp2cxx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp2cxx

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):

  1. facebook-hiphop-php

  2. scintilla-3.0.4

  3. p7zip-9.20.1

About

A set of C Preprocessor analysis and source code rejuvenation tools that perform source to source translation of C++ programs by replacing C Preprocessor macros with equivalent C++11 declarations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published