<br><br><div class="gmail_quote">On Fri, Feb 12, 2010 at 12:53 PM, Leandro <span dir="ltr">&lt;<a href="mailto:caniglia@dm.uba.ar">caniglia@dm.uba.ar</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">



  

<div bgcolor="#ffffff" text="#000000">
<br>
Levente Uzonyi wrote:
<blockquote type="cite"><br>
You can also get the word based diff using TextDiffBuilder by
subclassing it and overriding #split:. Actually ClassDiffBuilder does
exactly this, so using ClassDiffBuilder instead of TextDiffBuilder will
give you the expected result.
  <br>
  <br>
</blockquote>
<br>
<font face="Helvetica, Arial, sans-serif">I think that the difference
with the implementation Valeria and I did is that ours switches from
lines to words automatically. It also defines &quot;words&quot; as Smalltalk
words, meaning that it understands keyword limits, which gives better
results. The differentiator starts comparing lines, and if the
proportion of line differences isn&#39;t too high, then it reutilizes the
work already done (with lines) and refines it to get differences in
between keywords. The refining strategy was crucial for achieving good
performance.<br></font></div></blockquote><div><br></div><div>What does it do with inst var names within strings as they appear in class definitions, e.g. can they pick out the one work difference between these two?</div>
<div><br></div><div>StackInterpreter subclass: #CoInterpreter</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>instanceVariableNames: &#39;cogit cogMethodZone inFullGC cogCodeSize desiredCogCodeSize heapBase linkSends lastCoggableInterpretedBlockMethod reenterInterpreter deferSmash deferredSmash traceLog traceLogIndex traceSources cogCompiledCodeCompactionCalledFor statCodeCompactionCount statCodeCompactionUsecs lastUncoggableInterpretedBlockMethod processHasThreadId flagInterpretedMethods maxLiteralCountForCompile&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>classVariableNames: &#39;CSCallbackEnter CSCallbackLeave CSCheckEvents CSEnterCriticalSection CSExitCriticalSection CSOwnVM CSResume CSSignal CSSuspend CSThreadSchedulingLoop CSWait CSYield HasBeenReturnedFromMCPC TraceBlockActivation TraceBlockCreation TraceBufferSize TraceCodeCompaction TraceContextSwitch TraceFullGC TraceIncrementalGC TraceIsFromInterpreter TraceIsFromMachineCode TraceSources&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>poolDictionaries: &#39;VMStackFrameOffsets CogMethodConstants&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>category: &#39;VMMaker-JIT&#39;</div>
<div><br></div><div>StackInterpreter subclass: #CoInterpreter</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>instanceVariableNames: &#39;cogit cogMethodZone inFullGC cogCodeSize desiredCogCodeSize heapBase lastCoggableInterpretedBlockMethod reenterInterpreter deferSmash deferredSmash traceLog traceLogIndex traceSources cogCompiledCodeCompactionCalledFor statCodeCompactionCount statCodeCompactionUsecs lastUncoggableInterpretedBlockMethod processHasThreadId flagInterpretedMethods maxLiteralCountForCompile&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>classVariableNames: &#39;CSCallbackEnter CSCallbackLeave CSCheckEvents CSEnterCriticalSection CSExitCriticalSection CSOwnVM CSResume CSSignal CSSuspend CSThreadSchedulingLoop CSWait CSYield HasBeenReturnedFromMCPC TraceBlockActivation TraceBlockCreation TraceBufferSize TraceCodeCompaction TraceContextSwitch TraceFullGC TraceIncrementalGC TraceIsFromInterpreter TraceIsFromMachineCode TraceSources&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>poolDictionaries: &#39;VMStackFrameOffsets CogMethodConstants&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>category: &#39;VMMaker-JIT&#39; </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#ffffff" text="#000000"><font face="Helvetica, Arial, sans-serif">
<br>
Not sure if the full functionality I&#39;m describing here is in the last
Cuis version though.<br>
<br>
/Leandro<br>
</font>
</div>

<br><br>
<br></blockquote></div><br>