<?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: Creating specialized compilers with the Flex Compiler API</title>
	<atom:link href="http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/</link>
	<description></description>
	<lastBuildDate>Sun, 07 Mar 2010 14:29:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Theo</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7883</link>
		<dc:creator>Theo</dc:creator>
		<pubDate>Thu, 06 Aug 2009 08:25:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7883</guid>
		<description>&lt;p&gt;There is currently no way to hook into the Flex compiler&#039;s own code generation phase without rewriting the compiler itself. There compiler probably doesn&#039;t even generate code as such, more likely it modifies the syntax tree after the code has been parsed and there is no way to make it run arbitrary code at that point. The compiler API is strictly a way to run the parser programmatically.&lt;/p&gt;

&lt;p&gt;I know this is a feature that the compiler team has received requests for, and I haven&#039;t looked at the compiler API in Flex 4, so perhaps it&#039;s something we will get in the future.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>There is currently no way to hook into the Flex compiler&#8217;s own code generation phase without rewriting the compiler itself. There compiler probably doesn&#8217;t even generate code as such, more likely it modifies the syntax tree after the code has been parsed and there is no way to make it run arbitrary code at that point. The compiler API is strictly a way to run the parser programmatically.</p>

<p>I know this is a feature that the compiler team has received requests for, and I haven&#8217;t looked at the compiler API in Flex 4, so perhaps it&#8217;s something we will get in the future.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Lance</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7882</link>
		<dc:creator>Lance</dc:creator>
		<pubDate>Wed, 05 Aug 2009 21:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7882</guid>
		<description>&lt;p&gt;Hey,&lt;/p&gt;

&lt;p&gt;I&#039;m not sure if you are talking about as3 code generation here, but do you know how to customize the compiler-generated as3 code at all?  I would like to customize the [Bindable] tag parsing, and some stuff with the new State syntax.  Any ideas how to get in there and make changes without modifying the core compiler code?&lt;/p&gt;

&lt;p&gt;Thanks Theo,
Lance&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey,</p>

<p>I&#8217;m not sure if you are talking about as3 code generation here, but do you know how to customize the compiler-generated as3 code at all?  I would like to customize the [Bindable] tag parsing, and some stuff with the new State syntax.  Any ideas how to get in there and make changes without modifying the core compiler code?</p>

<p>Thanks Theo,
Lance</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Theo</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7790</link>
		<dc:creator>Theo</dc:creator>
		<pubDate>Fri, 03 Apr 2009 15:54:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7790</guid>
		<description>&lt;p&gt;Sorry, I have no idea. It won&#039;t be faster or less memory-intensive than running mxmlc on the command line. If your app is written in Java it will at least be faster than exec&#039;ing to call mxmlc.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Sorry, I have no idea. It won&#8217;t be faster or less memory-intensive than running mxmlc on the command line. If your app is written in Java it will at least be faster than exec&#8217;ing to call mxmlc.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Rajiv</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7789</link>
		<dc:creator>Rajiv</dc:creator>
		<pubDate>Fri, 03 Apr 2009 14:40:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7789</guid>
		<description>&lt;p&gt;Any thoughts on memory requirement by this API.&lt;/p&gt;

&lt;p&gt;We want to use this in an application where mxml is generated at runtime and compiled thru this API to SWF.&lt;/p&gt;

&lt;p&gt;Will it be able to support medium to large number of concurrent requests ?&lt;/p&gt;

&lt;p&gt;Thanks
Rajiv&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Any thoughts on memory requirement by this API.</p>

<p>We want to use this in an application where mxml is generated at runtime and compiled thru this API to SWF.</p>

<p>Will it be able to support medium to large number of concurrent requests ?</p>

<p>Thanks
Rajiv</p>]]></content:encoded>
	</item>
	<item>
		<title>By: TK</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7649</link>
		<dc:creator>TK</dc:creator>
		<pubDate>Fri, 07 Nov 2008 21:16:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7649</guid>
		<description>&lt;p&gt;Awesome. Well that&#039;s great to know. Thanks for the great post, Theo!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Awesome. Well that&#8217;s great to know. Thanks for the great post, Theo!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Theo</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7648</link>
		<dc:creator>Theo</dc:creator>
		<pubDate>Fri, 07 Nov 2008 20:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7648</guid>
		<description>&lt;p&gt;Not unless you really know what you&#039;re doing. But the whole thing is open source now so there&#039;s nothing stopping you in that respect.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Not unless you really know what you&#8217;re doing. But the whole thing is open source now so there&#8217;s nothing stopping you in that respect.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: TK</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7647</link>
		<dc:creator>TK</dc:creator>
		<pubDate>Fri, 07 Nov 2008 18:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7647</guid>
		<description>&lt;p&gt;Theo, thanks for getting back to me. So it&#039;s pretty safe to say that the compiler API only supports creating simple &quot;marker&quot; metadata tags, like [Font] or [Test] as you mentioned in your post. Dang, I was actually thinking I could finally create my own system of data binding and build my own AS3 annotation implementation ... :(&lt;/p&gt;

&lt;p&gt;Is there any way to crack into the actual compiler? I&#039;ve really got the itch to do some crazy stuff with metadata and AS3 :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Theo, thanks for getting back to me. So it&#8217;s pretty safe to say that the compiler API only supports creating simple &#8220;marker&#8221; metadata tags, like [Font] or [Test] as you mentioned in your post. Dang, I was actually thinking I could finally create my own system of data binding and build my own AS3 annotation implementation &#8230; :(</p>

<p>Is there any way to crack into the actual compiler? I&#8217;ve really got the itch to do some crazy stuff with metadata and AS3 :)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Theo</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7646</link>
		<dc:creator>Theo</dc:creator>
		<pubDate>Fri, 07 Nov 2008 13:22:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7646</guid>
		<description>&lt;p&gt;@TK&lt;/p&gt;

&lt;p&gt;Don&#039;t expect a full code example =)&lt;/p&gt;

&lt;p&gt;If I remember correctly the compiler API doesn&#039;t have callbacks for the code parser (or for any part of the compilation for that matter, it&#039;s just a front to the compiler), so you can&#039;t just plug in and replace metadata tags on the fly while the compiler is parsing the code. Instead you will have to implement your own preprocessor that just scans the code for your metadata tags, and replace these with your generated code.&lt;/p&gt;

&lt;p&gt;The nice thing about the compiler API is that you don&#039;t have to save the preprocessed code, you can use it from memory via &quot;virtual files&quot; (as I seem to remember the name was, you have to look it up in the documentation).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@TK</p>

<p>Don&#8217;t expect a full code example =)</p>

<p>If I remember correctly the compiler API doesn&#8217;t have callbacks for the code parser (or for any part of the compilation for that matter, it&#8217;s just a front to the compiler), so you can&#8217;t just plug in and replace metadata tags on the fly while the compiler is parsing the code. Instead you will have to implement your own preprocessor that just scans the code for your metadata tags, and replace these with your generated code.</p>

<p>The nice thing about the compiler API is that you don&#8217;t have to save the preprocessed code, you can use it from memory via &#8220;virtual files&#8221; (as I seem to remember the name was, you have to look it up in the documentation).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: TK</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7643</link>
		<dc:creator>TK</dc:creator>
		<pubDate>Fri, 07 Nov 2008 02:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7643</guid>
		<description>&lt;p&gt;Theo, how would I create my own implementation of Bindable in the flex compiler API? I&#039;m kind of confused by the whole metadata thing.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Theo, how would I create my own implementation of Bindable in the flex compiler API? I&#8217;m kind of confused by the whole metadata thing.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: TK</title>
		<link>http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/comment-page-1/#comment-7642</link>
		<dc:creator>TK</dc:creator>
		<pubDate>Fri, 07 Nov 2008 01:12:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/#comment-7642</guid>
		<description>&lt;p&gt;This is absolutely brilliant. I&#039;ve been wanting to crack open the compiler and change some stuff, and this is exactly what I need to get started. Thanks so much!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TK&lt;/li&gt;
&lt;/ul&gt;
</description>
		<content:encoded><![CDATA[<p>This is absolutely brilliant. I&#8217;ve been wanting to crack open the compiler and change some stuff, and this is exactly what I need to get started. Thanks so much!</p>

<ul>
<li>TK</li>
</ul>]]></content:encoded>
	</item>
</channel>
</rss>
