116
the list, selecting only information contained in an insertion that is part of the active ver-
sion and not part of a deletion in the active version.
Comparison of two versions is quite simple, since text always appears in the same order in
both versions, although any particular substring may appear in either or both versions, or
neither one. The results of a comparison can be summarized as an ordered sequence of pairs
of ranges in the two versions, with a zero length sequence in a correspondence indicating a
deleted region. This result is accumulated by traversing the structure, enumerating the con-
tents of both versions to be compared. Each point will be contained by one, both, or neither
of the two versions. The comparison result can be accumulated by simply starting a new cor-
respondence pair any time the inclusion state changes in either version. Such an index is
sufficient to allow parallel scrolling and highlighting in two versions (See Figure 6.3).
F F F F iii ig g g gu u u ur r r re e e e 6666....3333:::: VVVVTTTTMMMMLLLL eeeeddddiiiittttoooorrrr ddddiiiiffffffff wwwwiiiinnnnddddoooowwww,,,, wwwwiiiitttthhhh ccccoooorrrrrrrreeeessssppppoooonnnnddddiiiinnnngggg ppppoooorrrrttttiiiioooonnnnssss hhhhiiiigggghhhhlllliiiigggghhhhtttteeeedddd
the list, selecting only information contained in an insertion that is part of the active ver-
sion and not part of a deletion in the active version.
Comparison of two versions is quite simple, since text always appears in the same order in
both versions, although any particular substring may appear in either or both versions, or
neither one. The results of a comparison can be summarized as an ordered sequence of pairs
of ranges in the two versions, with a zero length sequence in a correspondence indicating a
deleted region. This result is accumulated by traversing the structure, enumerating the con-
tents of both versions to be compared. Each point will be contained by one, both, or neither
of the two versions. The comparison result can be accumulated by simply starting a new cor-
respondence pair any time the inclusion state changes in either version. Such an index is
sufficient to allow parallel scrolling and highlighting in two versions (See Figure 6.3).
F F F F iii ig g g gu u u ur r r re e e e 6666....3333:::: VVVVTTTTMMMMLLLL eeeeddddiiiittttoooorrrr ddddiiiiffffffff wwwwiiiinnnnddddoooowwww,,,, wwwwiiiitttthhhh ccccoooorrrrrrrreeeessssppppoooonnnnddddiiiinnnngggg ppppoooorrrrttttiiiioooonnnnssss hhhhiiiigggghhhhlllliiiigggghhhhtttteeeedddd