<?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"
	>
<channel>
	<title>Comments on: 64k tinypy - parsing woes</title>
	<atom:link href="http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/</link>
	<description>games, tech, web, stuff, biz, and bilge</description>
	<pubDate>Wed, 03 Dec 2008 06:49:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: howard</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-765</link>
		<dc:creator>howard</dc:creator>
		<pubDate>Sat, 26 Jan 2008 10:41:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-765</guid>
		<description>Check out PyParsing
http://pyparsing.wikispaces.com/</description>
		<content:encoded><![CDATA[<p>Check out PyParsing<br />
<a href="http://pyparsing.wikispaces.com/" rel="nofollow">http://pyparsing.wikispaces.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philhassey</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-762</link>
		<dc:creator>philhassey</dc:creator>
		<pubDate>Sat, 26 Jan 2008 03:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-762</guid>
		<description>rh - I'll try and do that next time :)</description>
		<content:encoded><![CDATA[<p>rh - I&#8217;ll try and do that next time <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rh</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-761</link>
		<dc:creator>rh</dc:creator>
		<pubDate>Sat, 26 Jan 2008 02:42:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-761</guid>
		<description>Sounds really cool, but is there any chance of seeing a non-svn download? Even a snapshot or something, for those of us stuck behind firewalls where the svn protocol is unavailable.</description>
		<content:encoded><![CDATA[<p>Sounds really cool, but is there any chance of seeing a non-svn download? Even a snapshot or something, for those of us stuck behind firewalls where the svn protocol is unavailable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philhassey</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-739</link>
		<dc:creator>philhassey</dc:creator>
		<pubDate>Wed, 23 Jan 2008 16:07:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-739</guid>
		<description>http://javascript.crockford.com/tdop/index.html

was also a helpful resource.</description>
		<content:encoded><![CDATA[<p><a href="http://javascript.crockford.com/tdop/index.html" rel="nofollow">http://javascript.crockford.com/tdop/index.html</a></p>
<p>was also a helpful resource.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kumar McMillan</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-734</link>
		<dc:creator>Kumar McMillan</dc:creator>
		<pubDate>Tue, 22 Jan 2008 22:17:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-734</guid>
		<description>I know it looks like a scary edu tool but I saw a presentation on the aperiot module once and it looked surprisingly easy to use.  IIRC it includes a grammar for Python.  As far as speed and error reporting, I saw demos and benchmarks that made it look very attractive.  It may not be as compact as you like, I don't know about this.

http://moncs.cs.mcgill.ca/people/eposse/projects/aperiot/atglance.dtml</description>
		<content:encoded><![CDATA[<p>I know it looks like a scary edu tool but I saw a presentation on the aperiot module once and it looked surprisingly easy to use.  IIRC it includes a grammar for Python.  As far as speed and error reporting, I saw demos and benchmarks that made it look very attractive.  It may not be as compact as you like, I don&#8217;t know about this.</p>
<p><a href="http://moncs.cs.mcgill.ca/people/eposse/projects/aperiot/atglance.dtml" rel="nofollow">http://moncs.cs.mcgill.ca/people/eposse/projects/aperiot/atglance.dtml</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philhassey</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-733</link>
		<dc:creator>philhassey</dc:creator>
		<pubDate>Tue, 22 Jan 2008 19:52:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-733</guid>
		<description>Ben - sounds interesting, I'll take a look at it :)</description>
		<content:encoded><![CDATA[<p>Ben - sounds interesting, I&#8217;ll take a look at it <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-732</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Tue, 22 Jan 2008 19:41:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-732</guid>
		<description>Have a look at this (it's a PDF of about 0.5 MB):

_Compiler Construction_

http://www.google.com/search?client=safari&#38;rls=en-us&#38;q=compiler+construction,+niklaus+wirth&#38;ie=UTF-8&#38;oe=UTF-8

Niklaus Wirth is a master of compact, fast and simple recursive decent parsers. His book also has the great virtue of brevity. 

Sources available too:

http://www.cs.inf.ethz.ch/~wirth/books/CompilerConstruction/</description>
		<content:encoded><![CDATA[<p>Have a look at this (it&#8217;s a PDF of about 0.5 MB):</p>
<p>_Compiler Construction_</p>
<p><a href="http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=compiler+construction,+niklaus+wirth&amp;ie=UTF-8&amp;oe=UTF-8" rel="nofollow">http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=compiler+construction,+niklaus+wirth&amp;ie=UTF-8&amp;oe=UTF-8</a></p>
<p>Niklaus Wirth is a master of compact, fast and simple recursive decent parsers. His book also has the great virtue of brevity. </p>
<p>Sources available too:</p>
<p><a href="http://www.cs.inf.ethz.ch/~wirth/books/CompilerConstruction/" rel="nofollow">http://www.cs.inf.ethz.ch/~wirth/books/CompilerConstruction/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Allefant</title>
		<link>http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-731</link>
		<dc:creator>Allefant</dc:creator>
		<pubDate>Tue, 22 Jan 2008 17:33:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/22/64k-tinypy-parsing-woes/#comment-731</guid>
		<description>I have no idea about LR/LL/whatever either, but the way I did a python-like parser some time ago sort of works like this: Simply look at the first token, then depending on what it is, call a function to handle it. E.g. I see an "if", then I call parse_if(). That now looks again at the first token, and so on. As a special case, I sometimes look ahead. For example:

if 1 + 2 &#62; 3:

I get to the "1" like: parse_program() -&#62; parse_block() -&#62; parse_statement() -&#62; parse_if() -&#62; parse_expression(). Here, I look ahead to the &#62; before I know that I can already handle the "1 + 2". Anway, no idea if this is an algorithm with a name, to me it's just basically doing it all "manually".

My code can be seen here, but I would advice against looking at it, as it's not commented and written in my own pyplus derived language :P http://lland.svn.sourceforge.net/viewvc/lland/landmagic/src/
Anyway, the relevant  files would be pyrser.py and expression.py.</description>
		<content:encoded><![CDATA[<p>I have no idea about LR/LL/whatever either, but the way I did a python-like parser some time ago sort of works like this: Simply look at the first token, then depending on what it is, call a function to handle it. E.g. I see an &#8220;if&#8221;, then I call parse_if(). That now looks again at the first token, and so on. As a special case, I sometimes look ahead. For example:</p>
<p>if 1 + 2 &gt; 3:</p>
<p>I get to the &#8220;1&#8243; like: parse_program() -&gt; parse_block() -&gt; parse_statement() -&gt; parse_if() -&gt; parse_expression(). Here, I look ahead to the &gt; before I know that I can already handle the &#8220;1 + 2&#8243;. Anway, no idea if this is an algorithm with a name, to me it&#8217;s just basically doing it all &#8220;manually&#8221;.</p>
<p>My code can be seen here, but I would advice against looking at it, as it&#8217;s not commented and written in my own pyplus derived language <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> <a href="http://lland.svn.sourceforge.net/viewvc/lland/landmagic/src/" rel="nofollow">http://lland.svn.sourceforge.net/viewvc/lland/landmagic/src/</a><br />
Anyway, the relevant  files would be pyrser.py and expression.py.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
