Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a working Semantic Diff tool for C++?

I've found only abandoned projects, theories and feature lists. But I could not find a tool which can compare two C++ source files and show semantic differences.

Of course I would not compare two unrelated files, or changes accumulated during 10 years of development and maintenance. But changes usually discussed at a code review would be understood more easily, if presented together with proper meaning, instead of textual changes at char/word/line level

like image 657
CsTamas Avatar asked Aug 10 '09 20:08

CsTamas


1 Answers

A true "semantic diff" is impossible. Closer would be a tool that compared two source files to see how one was derived from the other by abstract editing operations (delete, copy, move, rename) on program structures (variables, expressions, statements, methods). See our Smart Differencer for a tool that does this for a few languages, with C++ coming soon.

March 2013: GCC/MS dialects of C++11 supported.

like image 76
Ira Baxter Avatar answered Oct 20 '22 14:10

Ira Baxter