Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

_DiffEngine Class Reference

List of all members.

Public Member Functions

 diff ($from_lines, $to_lines)
 _diag ($xoff, $xlim, $yoff, $ylim, $nchunks)
 _lcs_pos ($ypos)
 _compareseq ($xoff, $xlim, $yoff, $ylim)
 _shift_boundaries ($lines, &$changed, $other_changed)

Detailed Description

Class used internally by Diff to actually compute the diffs.

The algorithm used here is mostly lifted from the perl module Algorithm::Diff (version 1.06) by Ned Konz, which is available at: http://www.perl.com/CPAN/authors/id/N/NE/NEDKONZ/Algorithm-Diff-1.06.zip

More ideas are taken from: http://www.ics.uci.edu/~eppstein/161/960229.html

Some ideas are (and a bit of code) are from from analyze.c, from GNU diffutils-2.7, which can be found at: ftp://gnudist.gnu.org/pub/gnu/diffutils/diffutils-2.7.tar.gz

closingly, some ideas (subdivision by NCHUNKS > 2, and some optimizations) are my own.

Author:
Geoffrey T. Dairiki private

Definition at line 284 of file DifferenceEngine.php.


Member Function Documentation

_DiffEngine::_compareseq xoff,
xlim,
yoff,
ylim
 

Definition at line 500 of file DifferenceEngine.php.

References _compareseq().

Referenced by _compareseq(), and diff().

_DiffEngine::_diag xoff,
xlim,
yoff,
ylim,
nchunks
 

Definition at line 390 of file DifferenceEngine.php.

References $i, $line, $n, _diag(), _lcs_pos(), and USE_ASSERTS.

Referenced by _diag().

_DiffEngine::_lcs_pos ypos  ) 
 

Definition at line 464 of file DifferenceEngine.php.

References _lcs_pos(), and USE_ASSERTS.

Referenced by _diag(), and _lcs_pos().

_DiffEngine::_shift_boundaries lines,
&$  changed,
other_changed
 

Definition at line 557 of file DifferenceEngine.php.

References $i, $lines, _shift_boundaries(), and USE_ASSERTS.

Referenced by _shift_boundaries(), and diff().

_DiffEngine::diff from_lines,
to_lines
 

Definition at line 286 of file DifferenceEngine.php.

References $line, _compareseq(), _shift_boundaries(), diff(), and USE_ASSERTS.

Referenced by diff().


The documentation for this class was generated from the following file:
Generated on Tue Jun 29 23:40:16 2004 for Mediawiki by doxygen 1.3.7