23 lines
1.2 KiB
Plaintext
23 lines
1.2 KiB
Plaintext
|
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.
|