<?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: Garburator works!</title>
	<atom:link href="http://blog.mozilla.org/tglek/2007/11/02/garburator-works/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.org/tglek/2007/11/02/garburator-works/</link>
	<description>Taras&#039; blog on Snappy, Startup, Telemetry and other Firefox peroformance matters</description>
	<lastBuildDate>Tue, 27 Nov 2012 16:50:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: fredrik</title>
		<link>http://blog.mozilla.org/tglek/2007/11/02/garburator-works/comment-page-1/#comment-5246</link>
		<dc:creator>fredrik</dc:creator>
		<pubDate>Sun, 04 Nov 2007 11:10:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.org/tglek/2007/11/02/garburator-works/#comment-5246</guid>
		<description><![CDATA[Not currently. It&#039;s in a bit of a shambles, it currently doesn&#039;t extract literal values, the files are in the SpiderMonkey src folder and there is no makefile etc. As soon as I clean that up, I&#039;ll try to put it somewhere reachable.

&gt;echo &quot;var x = 3;&quot;&#124;./parse_test
{&quot;token&quot; : &quot;LC&quot;, &quot;start_pos&quot; : [0, 0], &quot;end_pos&quot; : [1, 10], &quot;arity&quot; : -1, &quot;expr_list&quot; : [{&quot;token&quot; : &quot;VAR&quot;, &quot;start_pos&quot; : [1, 0], &quot;end_pos&quot; : [1, 5], &quot;arity&quot; : -1, &quot;expr_list&quot; : [{&quot;token&quot; : &quot;NAME&quot;, &quot;start_pos&quot; : [1, 4], &quot;end_pos&quot; : [1, 5], &quot;arity&quot; : &quot;name&quot;, &quot;value&quot; : &quot;x&quot;, &quot;expr&quot; : {&quot;token&quot; : &quot;NUMBER&quot;, &quot;start_pos&quot; : [1, 8], &quot;end_pos&quot; : [1, 9], &quot;arity&quot; : 0}}]}]}]]></description>
		<content:encoded><![CDATA[<p>Not currently. It&#8217;s in a bit of a shambles, it currently doesn&#8217;t extract literal values, the files are in the SpiderMonkey src folder and there is no makefile etc. As soon as I clean that up, I&#8217;ll try to put it somewhere reachable.</p>
<p>&gt;echo &#8220;var x = 3;&#8221;|./parse_test<br />
{&#8220;token&#8221; : &#8220;LC&#8221;, &#8220;start_pos&#8221; : [0, 0], &#8220;end_pos&#8221; : [1, 10], &#8220;arity&#8221; : -1, &#8220;expr_list&#8221; : [{"token" : "VAR", "start_pos" : [1, 0], &#8220;end_pos&#8221; : [1, 5], &#8220;arity&#8221; : -1, &#8220;expr_list&#8221; : [{"token" : "NAME", "start_pos" : [1, 4], &#8220;end_pos&#8221; : [1, 5], &#8220;arity&#8221; : &#8220;name&#8221;, &#8220;value&#8221; : &#8220;x&#8221;, &#8220;expr&#8221; : {&#8220;token&#8221; : &#8220;NUMBER&#8221;, &#8220;start_pos&#8221; : [1, 8], &#8220;end_pos&#8221; : [1, 9], &#8220;arity&#8221; : 0}}]}]}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tglek</title>
		<link>http://blog.mozilla.org/tglek/2007/11/02/garburator-works/comment-page-1/#comment-5227</link>
		<dc:creator>tglek</dc:creator>
		<pubDate>Sun, 04 Nov 2007 02:04:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.org/tglek/2007/11/02/garburator-works/#comment-5227</guid>
		<description><![CDATA[Wow, that sounds pretty awesome. I haven&#039;t had a chance to look at the previous parser in any detail yet, awesome to hear so much progress.

I completely agree on staying the hell away from C/C++ :)

Is your work available somewhere?]]></description>
		<content:encoded><![CDATA[<p>Wow, that sounds pretty awesome. I haven&#8217;t had a chance to look at the previous parser in any detail yet, awesome to hear so much progress.</p>
<p>I completely agree on staying the hell away from C/C++ <img src='http://blog.mozilla.org/tglek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Is your work available somewhere?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fredrik</title>
		<link>http://blog.mozilla.org/tglek/2007/11/02/garburator-works/comment-page-1/#comment-5223</link>
		<dc:creator>fredrik</dc:creator>
		<pubDate>Sun, 04 Nov 2007 01:20:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.org/tglek/2007/11/02/garburator-works/#comment-5223</guid>
		<description><![CDATA[That is awesome!

I&#039;ve spent some time poking at the JavaScript rewriting stuff. Basically, I updated the parser you linked to in the previous post to handle JS1.7 and made it emit a JSON representation of the raw AST. (It may end up being a good idea to rewrite the whole thing, since there are some edge cases that may run the risk of making the current hack a bowl of spaghetti.)

Some preliminary testing with traversing the JSON AST using Python look promising. There are some issues with exact source positions for e.g. function arguments, but I figure it&#039;s possible to further annotate the AST in a second pass for those regions. Right now I&#039;m leaning towards using Python for the first pass, and have that emit a .js file with predetermined fields (e.g. scope information, preprocessor line no. offsets, the final AST etc.) and use that file as the input to DeHydra. Mostly because doing all that in C/C++ seems to be a lot of unnecessary work which is easily accomplished in Python.]]></description>
		<content:encoded><![CDATA[<p>That is awesome!</p>
<p>I&#8217;ve spent some time poking at the JavaScript rewriting stuff. Basically, I updated the parser you linked to in the previous post to handle JS1.7 and made it emit a JSON representation of the raw AST. (It may end up being a good idea to rewrite the whole thing, since there are some edge cases that may run the risk of making the current hack a bowl of spaghetti.)</p>
<p>Some preliminary testing with traversing the JSON AST using Python look promising. There are some issues with exact source positions for e.g. function arguments, but I figure it&#8217;s possible to further annotate the AST in a second pass for those regions. Right now I&#8217;m leaning towards using Python for the first pass, and have that emit a .js file with predetermined fields (e.g. scope information, preprocessor line no. offsets, the final AST etc.) and use that file as the input to DeHydra. Mostly because doing all that in C/C++ seems to be a lot of unnecessary work which is easily accomplished in Python.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
