     COMPAR is a part of SOUPR (see SOUPR.DOC).

     The input to COMPAR consists of two ASCII files known as the base
file and the user file. COMPAR will compare the two files and create a
correction file. The correction file details how the user file differs
from the base file.

The command format is:
.R COMPAR
*cor-spec=base-spec,user-spec/switches

Switches:
/BASE           Do wildcarding on the base-spec
/BLANK          In conjunction with the /MATCH switch, the /BLANK switch
                determines whether or not blank lines should be counted.
                /BLANK means that blank lines should be counted, and
                /NOBLANK means that blank lines should not be counted.
                The default is /NOBLANK.
                EXAMPLE: Suppose we use the switches /MATCH:3/NOBLANK.
                Suppose a sequence of 6 lines in the base file is
                exactly equal to a sequence of 6 lines in the user file,
                but 4 of these 6 lines are blank. This sequence is not
                considered to be a match. There are only 2 non-blank
                lines that match, and this is not considered to be
                sufficient. there must be at least 3 non-blank lines
                that match.
                Note that a blank line is defined as any sequence of
                spaces, tabs, and carriage returns followed by a break
                character.
                Note that the use of /NOBLANK does not mean that blank
                lines are ignored. A blank line in the base file must
                compare identically with the blank line in the user file
                (differences in white space are not ignored). The entire
                sequence of 6 lines from the base file must be exactly
                equal to the entire sequence of 6 lines from the user
                file. The /NOBLANK switch does not mean that blank lines
                are ignored, it means only that they are not counted
                when determining the treshold for /MATCH.
/EXIT           Exit to monitor (same as ^Z)
/HELP           Type this text
/LETTER         This switch is similar to /NUMBER except that instead of
                a numeric suffix, an alphabetic suffix is used. For
                example, /NAME:9347/LETTER will label the edits as
                9347A, 9347B, 9347C, etc.
/LOG            Log file names (default)
/MATCH:n        A dissimilarity does not end until n lines match. The
                default is 3.
/NAME:foo       Each patch is labeled with the sixbit name foo. When
                correction files are merged, this label can be used to
                identify the origin of the patch. Labels can also be
                used as conditionals.
/NAME:"string"  Each patch is labeled with the ASCII string. Only the
                first word is significant for conditionals.
/NOBASE         Same as /USER
/NOBLANK        Do not count blank lines (default).
/NOLETT         Don't use alphabetic suffixes (default).
/NOLOG          Don't log file names
/NONUMB         Don't use numeric suffixes (default).
/NOUSER         Same as /BASE
/NUMBER         In addition to labeling the edits, number them as well.
                For example, /NAME:FOO/NUMBER will label the edits as
                FOO1, FOO2, FOO3, etc.
/USER           Do wildcarding on the user-spec (default)

Notes:
1.   The default device is DSK:
2.   The default PPN is the user's path
3.   The default input extension is MAC
4.   The default output extension is COR
5.   User-spec defaults to base-spec (i.e. file specs are sticky)
6.   The filename of the cor-spec defaults to the filename of the
     base-spec
7.   Full wildcards are allowed in all file specs
8.   Consider the files: A.MAC, B.MAC, C.MAC, A.NEW, and B.NEW. The
     command *.COR=*.MAC,*.NEW/BASE will produce an error message
     because C.NEW does not exist. The command *.COR=*.MAC,*.NEW/USER,
     however, we proceed without error.
