JB and I were discuting about changing the SHParser by PetitParser, maybe your problem is a good excuse to do it :°<div><br></div><div><br></div><div>Ben</div><div><br><br><div class="gmail_quote">2011/2/26 Edouard Poor <span dir="ltr">&lt;<a href="mailto:edouard.lists@gmail.com">edouard.lists@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I was trying to write the most compact source code to HTML/CSS I could come up with:<div><br></div><div><div>parser := SHParserST80 new.</div>
<div><br></div><div>code := OrderedCollection sourceCodeAt: #sort:.</div><div>ranges := parser rangesIn: code classOrMetaClass: OrderedCollection workspace: nil environment: nil.</div>
<div><br></div><div>dict := Dictionary with: 1-&gt;#whitespace.</div><div>ranges do: [ :range | dict add: range start -&gt; range type; add: range end + 1 -&gt; #whitespace ].</div><div>spans := dict associations sorted overlappingPairsCollect: [ :a :b |</div>

<div><span style="white-space:pre-wrap">        </span>&#39;&lt;span class=&quot;&#39;, a value, &#39;&quot;&gt;&#39;, (code copyFrom: a key to: b key - 1), &#39;&lt;/span&gt;&#39; ].</div></div><div><br></div>
<div>but SHParserST80&#39;s use of #- and #&#39;$&#39; might mess things up a little. What do you think about replacing those two symbols with textual versions (like #minus #characterPrefix)?</div><div><br></div><div>I&#39;m kind of serious - Shout&#39;s two non-textual type names seem ugly.</div>

<div><br></div><div>Cheers,</div><div>Edouard.</div>
</blockquote></div><br></div>