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: ANSI89, GCC3/4, MS VisualC6, and MS Visual Studio 2005.
- Understands C language syntax precisely:
- All keywords, operators, and identifiers
- Integer and floating constants as their numeric value
- Characters, strings and corresponding escape sequences
- Whitespace (ignored)
- /* ... */ and //... comments (ignored)
- Output in terms of language syntax elements: identifiers, expressions, statements, blocks, and functions
- 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 C-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