Spiff compares the contents of two files and prints a description of the important differences between the files. White space is ignored except to separate other objects. Spiff maintains tolerances below which differences between two floating point numbers are ignored. Differences in floating point notation (such as 3.4 3.40 and 3.4e01) are treated as unimportant. User specified delimited strings (i.e. comments) can also be ignored. There are options for C and other languages; comments are understood and normally ignored. Inside other user specified delimited strings (i.e. quoted strings) whitespace can be significant. Spiff's operation can be altered via command line options, a command script, and with commands that are embedded in the input files. Each of two input files is read and stored in core. Then it is parsed into a series of tokens (literal strings and floating point numbers, white space is ignored). The token sequences are stored in core as well. After both files have been parsed, a differencing algorithm is applied to the token sequences. The differencing algorithm produces an edit script, which is then passed to an output routine. The result is much slower than regular diff, but much more controllable.
No homepage
None
None
None