<div dir="ltr"><div><div><div><div><div><div><div><div>There is however something lacking for making primitive 103 or cousin work.<br></div>A primitive has no idea of how to reach #endOfRun and #crossedX symbols, so answering hardcoded symbols is of no help, they must be registered somewhere...<br>
<br></div>A possibility would be to answer the index. For example, we could encode a:<br></div>    stopHelper := (1 to: stopConditions size)<br>        collect: [:i | (stopConditions at: i) ifNil: [i-1] ifNotNil: [i\\256]]<br>
        as:ByteArray.<br><br></div>Then test in the inner scan loop:<br>    (stopHelper at: i + 1) = i ifFalse: [^i + 1]<br><br></div>and in the outer loop:<br></div>    [stopIndex := self scanWithHelper: stopHelper.<br></div>
    self perform: (stopConditions at: stopIndex)] whileFalse.<br><br></div>That would mean restoring some kind of TextStopConditions managing both the 258 stopConditions and the stopHelper... A bit too much to my taste. I think it&#39;s too late for my brain ;)<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/10 David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, Oct 10, 2013 at 02:23:00AM +0200, Nicolas Cellier wrote:<br>
&gt; I propose to commit, and tim tries the performances on the Pi.<br>
&gt; If ever someone yells, we&#39;ll roll back.<br>
<br>
</div>You guys make a great team :-)<br>
<br>
Dave<br>
<br>
<br>
</blockquote></div><br></div>