<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: What&#8217;s on your Stack?</title>
	<atom:link href="http://www.clevegibbon.com/wordpress/2008/03/11/whats-on-your-stack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.clevegibbon.com/wordpress/2008/03/11/whats-on-your-stack/</link>
	<description>Stuff you pick up on the way...</description>
	<lastBuildDate>Thu, 02 Jul 2009 15:03:28 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: yunta</title>
		<link>http://www.clevegibbon.com/wordpress/2008/03/11/whats-on-your-stack/comment-page-1/#comment-163</link>
		<dc:creator>yunta</dc:creator>
		<pubDate>Thu, 20 Mar 2008 15:19:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.clevegibbon.com/wordpress/archives/91#comment-163</guid>
		<description>Those tools (parsers generators) really suck....
They are all written with old mindset: that things should work fast.
Unix history proved that correct order of development stages is (after &quot;the art of unix programming&quot;):
1. Make it work
2. Make it right
3. Make it fast
Applications rarely get to 3rd stage, and if they do - it&#039;s because stage 2 was a failure :)
I want to work fast with my tools. If I have to wait 2 minutes more just to get more meaningful 
error message - it&#039;s ok. Because I would waste more time on interpretation of less intelligent message.
I used to work with yacc-like parser generator for ruby (racc).
As yacc it handles LR grammars. 
70% of its error messages require me to imagine entire parsing process, to check for ambiguities or other inconsistencies.
And that is a terribly difficult task comparing to everyday rails challenges.
I believe it&#039;s just impossible for usual java-slave-worker.
It&#039;s much better with ANTLR. It has nice GUI where you can see ambiguous parsing paths on graphs.
But it&#039;s LL, so it&#039;s somehow... limited.
I dream about real GLR parser generator with GUI like antlrs. 
Generator that can handle ambiguities. Not necessarily fast.

Currently, when I&#039;m about to write DSL - I prefer to play with ruby, like this:
http://yunta.dainet.pl/programming/ruby-as-configuration-language/

But I still believe it is possible to write parser generator with grammars easier to build than internal DSL with ruby.</description>
		<content:encoded><![CDATA[<p>Those tools (parsers generators) really suck&#8230;.<br />
They are all written with old mindset: that things should work fast.<br />
Unix history proved that correct order of development stages is (after &#8220;the art of unix programming&#8221;):<br />
1. Make it work<br />
2. Make it right<br />
3. Make it fast<br />
Applications rarely get to 3rd stage, and if they do &#8211; it&#8217;s because stage 2 was a failure <img src='http://www.clevegibbon.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I want to work fast with my tools. If I have to wait 2 minutes more just to get more meaningful<br />
error message &#8211; it&#8217;s ok. Because I would waste more time on interpretation of less intelligent message.<br />
I used to work with yacc-like parser generator for ruby (racc).<br />
As yacc it handles LR grammars.<br />
70% of its error messages require me to imagine entire parsing process, to check for ambiguities or other inconsistencies.<br />
And that is a terribly difficult task comparing to everyday rails challenges.<br />
I believe it&#8217;s just impossible for usual java-slave-worker.<br />
It&#8217;s much better with ANTLR. It has nice GUI where you can see ambiguous parsing paths on graphs.<br />
But it&#8217;s LL, so it&#8217;s somehow&#8230; limited.<br />
I dream about real GLR parser generator with GUI like antlrs.<br />
Generator that can handle ambiguities. Not necessarily fast.</p>
<p>Currently, when I&#8217;m about to write DSL &#8211; I prefer to play with ruby, like this:<br />
<a href="http://yunta.dainet.pl/programming/ruby-as-configuration-language/" rel="nofollow">http://yunta.dainet.pl/programming/ruby-as-configuration-language/</a></p>
<p>But I still believe it is possible to write parser generator with grammars easier to build than internal DSL with ruby.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
