C++ Smart Differencer

The C++ Smart Differencer tool compares two C++ source files to determine the changes made from one to determine the other. It is a member of SD's family of SmartDifferencer tools. An example of the C++ Smart Differencer's results can be seen here.

C++ Smart Differencer Features

  • Compares two C++ files and produces list of explicit changes
  • Handles C++ in a variety of dialects; ANSI, GCC3/4, MS VisualStudio 2005
  • Understands C++ language syntax precisely:
    • All keywords, operators, and identifiers
    • Integer and floating constants as their numeric value
    • Whitespace (ignored)
    • /* ... */ and //... comments (ignored)
  • Output in terms of language syntax elements: identifiers, expressions, statements, blocks, methods, classes
  • Detects consistent renaming within an arbitrary block of code
  • Generates deltas in two forms:
    • Human readable format, showing location of deltas type (language nonterminals), locations (line,column) and before and after text
    • Summary form, showing just succinct summary of delta types and locations
  • Can process batches of files, specified either manually or through a Java-based file-selector GUI.
  • Input encoding in ASCII, European ASCII, or UNICODE (UTF-8 or UTF-16)
  • Output encoding in ASCII, European ASCII, or UNICODE (UTF-8 or UTF-16)

Note: The SmartDifferencer operates on only well-structured C++ source files. C++ source files that contain preprocessor conditionals or macro calls in unusual places will not be processed by the SmartDifferencer tool. This tends to be less of a problem with C++ than it is with C.

Download an evaluation copy

For more information: [email protected]    Follow us at Twitter: @SemanticDesigns


C++ Smart Differencer