<?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: Gazelle is (at least briefly) the most powerful top-down parser generator there is</title>
	<atom:link href="http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/</link>
	<description>parsing, performance, minimalism with C99</description>
	<lastBuildDate>Mon, 06 Feb 2012 23:44:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: The importance of being earnest &#187; Josh the Outspoken</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1143</link>
		<dc:creator>The importance of being earnest &#187; Josh the Outspoken</dc:creator>
		<pubDate>Mon, 12 Jan 2009 01:36:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1143</guid>
		<description>[...] too frequently made claims that are unsupported or premature. The worst example of this was when I claimed to have found an algorithm that computes LL(k) for all k (this is undecidable &#8212; my algorithm turned out to be a heuristic). In other cases, what [...]</description>
		<content:encoded><![CDATA[<p>[...] too frequently made claims that are unsupported or premature. The worst example of this was when I claimed to have found an algorithm that computes LL(k) for all k (this is undecidable &#8212; my algorithm turned out to be a heuristic). In other cases, what [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvain</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1124</link>
		<dc:creator>Sylvain</dc:creator>
		<pubDate>Tue, 07 Oct 2008 16:32:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1124</guid>
		<description>It is unsolvable whether or not a context-free grammar is LL(k) for some k&gt;=0: see Rosenkrantz and Stearns, Properties of deterministic top-down grammars, Information and Control 17:226--256, 1970 http://www.dx.doi.org/10.1016/S0019-9958(70)90446-8</description>
		<content:encoded><![CDATA[<p>It is unsolvable whether or not a context-free grammar is LL(k) for some k&gt;=0: see Rosenkrantz and Stearns, Properties of deterministic top-down grammars, Information and Control 17:226&#8211;256, 1970 <a href="http://www.dx.doi.org/10.1016/S0019-9958(70)90446-8" rel="nofollow">http://www.dx.doi.org/10.1016/S0019-9958(70)90446-8</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Thurston</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1011</link>
		<dc:creator>Adrian Thurston</dc:creator>
		<pubDate>Wed, 30 Jul 2008 17:01:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1011</guid>
		<description>Hi Josh, you should have a look at the generalized top-down parsing algorithms. These algorithms handle any grammar except those with left recursion. Some of them also include additional hacks for dealing with left recursion. Algorithms/technologies to look at: GRDP, Unger&#039;s Method, Combinatorial Parsing, Packrat Parsing, DCGs and TXL, Not all of these are practical, but since they are general (barring left recursion) and LL(*) is not, any tool that implements these parsing methods must be more powerful than Gazelle.</description>
		<content:encoded><![CDATA[<p>Hi Josh, you should have a look at the generalized top-down parsing algorithms. These algorithms handle any grammar except those with left recursion. Some of them also include additional hacks for dealing with left recursion. Algorithms/technologies to look at: GRDP, Unger&#8217;s Method, Combinatorial Parsing, Packrat Parsing, DCGs and TXL, Not all of these are practical, but since they are general (barring left recursion) and LL(*) is not, any tool that implements these parsing methods must be more powerful than Gazelle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: josh</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1002</link>
		<dc:creator>josh</dc:creator>
		<pubDate>Mon, 28 Jul 2008 17:12:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1002</guid>
		<description>@maetl: thanks!  It&#039;s funny, when I started writing Gazelle, I believed pretty strongly in that mantra (&quot;parsing and grammars are amongst the most studied and well understood areas of computer science&quot;).  I didn&#039;t expect to invent any new algorithms, I mainly just wanted to take existing algorithms and give them different packaging.  

But before long I was trying to figure out if I could improve on the properties of those algorithms that made them less that ideal from a user perspective.  I studied the documentation from existing tools and looked at the cases they said they couldn&#039;t handle, and tried to figure out if I could handle them.  And before I knew it, I had thought of a new algorithm!

@Kay: thanks!  I agree that having the tool be able to tell you definitively that it is not LL(k) or LL(*) will make things much more user-friendly.  I could still use a bit of work on error messages that give you every bit of information about *why* it was not LL(k) or LL(*).  In the future I should be able to draw pretty graphs that make the problem obvious.  That will take a bit of work, but it&#039;s totally doable, and I think will make for a compelling user experience.</description>
		<content:encoded><![CDATA[<p>@maetl: thanks!  It&#8217;s funny, when I started writing Gazelle, I believed pretty strongly in that mantra (&#8220;parsing and grammars are amongst the most studied and well understood areas of computer science&#8221;).  I didn&#8217;t expect to invent any new algorithms, I mainly just wanted to take existing algorithms and give them different packaging.  </p>
<p>But before long I was trying to figure out if I could improve on the properties of those algorithms that made them less that ideal from a user perspective.  I studied the documentation from existing tools and looked at the cases they said they couldn&#8217;t handle, and tried to figure out if I could handle them.  And before I knew it, I had thought of a new algorithm!</p>
<p>@Kay: thanks!  I agree that having the tool be able to tell you definitively that it is not LL(k) or LL(*) will make things much more user-friendly.  I could still use a bit of work on error messages that give you every bit of information about *why* it was not LL(k) or LL(*).  In the future I should be able to draw pretty graphs that make the problem obvious.  That will take a bit of work, but it&#8217;s totally doable, and I think will make for a compelling user experience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kay Roepke</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1001</link>
		<dc:creator>Kay Roepke</dc:creator>
		<pubDate>Mon, 28 Jul 2008 04:23:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1001</guid>
		<description>That&#039;s great news!

I just love &quot;tell you definitively when a grammar is not LL(k) or LL(*) (others make you tweak search depth constants)&quot; which can be a hassle currently, especially if the cause is not immediately obvious.

All power to innovators! :)</description>
		<content:encoded><![CDATA[<p>That&#8217;s great news!</p>
<p>I just love &#8220;tell you definitively when a grammar is not LL(k) or LL(*) (others make you tweak search depth constants)&#8221; which can be a hassle currently, especially if the cause is not immediately obvious.</p>
<p>All power to innovators! <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maetl</title>
		<link>http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/comment-page-1/#comment-1000</link>
		<dc:creator>maetl</dc:creator>
		<pubDate>Mon, 28 Jul 2008 02:18:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/2008/07/27/gazelle-is-at-least-briefly-the-most-powerful-top-down-parser-there-is/#comment-1000</guid>
		<description>Well done Josh...

Great to see that you&#039;re not content to let the standard dogma that &quot;parsing and grammars are amongst the most studied and well understood areas of computer science&quot; get in the way of making new implementations in this field...</description>
		<content:encoded><![CDATA[<p>Well done Josh&#8230;</p>
<p>Great to see that you&#8217;re not content to let the standard dogma that &#8220;parsing and grammars are amongst the most studied and well understood areas of computer science&#8221; get in the way of making new implementations in this field&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

