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

36eb36b · Jan 3, 2018

History

37 Commits
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jul 1, 2012
Nov 21, 2012
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
May 19, 2014
Jul 1, 2012
Jan 4, 2016
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jul 1, 2012
Jan 4, 2016
Jul 1, 2012
Jan 4, 2016
Jul 1, 2012
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jul 1, 2012
Jul 1, 2012
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jan 4, 2016
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jan 3, 2018
Jan 4, 2016
Jan 4, 2016
Jul 1, 2012
Jul 1, 2012
Jan 4, 2016
Jan 4, 2016
Jul 2, 2012
Jul 1, 2012
Jan 3, 2016
Jan 4, 2016
Jul 1, 2012
Jul 1, 2012
Jan 4, 2016
Jul 1, 2012

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