<?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: Build a Compiler</title>
	<atom:link href="http://boost-spirit.com/home/2009/12/02/build-a-compiler/feed/" rel="self" type="application/rss+xml" />
	<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=build-a-compiler</link>
	<description>Home of The Boost.Spirit Library</description>
	<lastBuildDate>Fri, 06 Apr 2012 07:20:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: kyunghoon</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-3104</link>
		<dc:creator>kyunghoon</dc:creator>
		<pubDate>Mon, 19 Apr 2010 00:12:46 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-3104</guid>
		<description>Lisp like languages are too easy to parse, therefore would not be a very good exercise in that area. My vote is for JavaScript. Building something on par with the other speedy JavaScript engines out there would be very interesting.</description>
		<content:encoded><![CDATA[<p>Lisp like languages are too easy to parse, therefore would not be a very good exercise in that area. My vote is for JavaScript. Building something on par with the other speedy JavaScript engines out there would be very interesting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy Straszheim</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-688</link>
		<dc:creator>Troy Straszheim</dc:creator>
		<pubDate>Sun, 03 Jan 2010 20:28:40 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-688</guid>
		<description>While I&#039;m at it, that&#039;s from the &#039;major goals for D&#039; section:

- Make D substantially easier to implement a compiler for than C++.
- Be compatible with the local C application binary interface.
- Have a context-free grammar.

of this page:  http://www.digitalmars.com/d/2.0/overview.html</description>
		<content:encoded><![CDATA[<p>While I&#8217;m at it, that&#8217;s from the &#8216;major goals for D&#8217; section:</p>
<p>- Make D substantially easier to implement a compiler for than C++.<br />
- Be compatible with the local C application binary interface.<br />
- Have a context-free grammar.</p>
<p>of this page:  <a href="http://www.digitalmars.com/d/2.0/overview.html" rel="nofollow">http://www.digitalmars.com/d/2.0/overview.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy Straszheim</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-687</link>
		<dc:creator>Troy Straszheim</dc:creator>
		<pubDate>Sun, 03 Jan 2010 20:16:15 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-687</guid>
		<description>There&#039;s &quot;D&quot;, which was designed from the beginning to be C-like with a context-free grammar....</description>
		<content:encoded><![CDATA[<p>There&#8217;s &#8220;D&#8221;, which was designed from the beginning to be C-like with a context-free grammar&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-641</link>
		<dc:creator>Jesse</dc:creator>
		<pubDate>Wed, 30 Dec 2009 17:43:05 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-641</guid>
		<description>lol! I used to know a fellow (Brian Prentice) who had worked for Boeing, and he told me that whenever they got a new system the first thing he&#039;d do was to implement a Forth for it, since as far as he was concerned that was the quickest way to bootstrap pretty much everything.</description>
		<content:encoded><![CDATA[<p>lol! I used to know a fellow (Brian Prentice) who had worked for Boeing, and he told me that whenever they got a new system the first thing he&#8217;d do was to implement a Forth for it, since as far as he was concerned that was the quickest way to bootstrap pretty much everything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel de Guzman</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-625</link>
		<dc:creator>Joel de Guzman</dc:creator>
		<pubDate>Wed, 30 Dec 2009 01:07:30 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-625</guid>
		<description>Ah Forth! Brings in fond memories :-) Do you need a parser for that? ;-)</description>
		<content:encoded><![CDATA[<p>Ah Forth! Brings in fond memories <img src='http://boost-spirit.com/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Do you need a parser for that? <img src='http://boost-spirit.com/home/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-623</link>
		<dc:creator>Jesse</dc:creator>
		<pubDate>Wed, 30 Dec 2009 00:46:14 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-623</guid>
		<description>I guess it comes back to the goal of your project. If the goal is to introduce Spirit by example, I think something like Scheme that is quite small yet fairly widely-known is not a bad idea. 

On the other hand, something more ALGOL like could have more appeal, since a lot of people use those kinds of languages and could see familiar constructs. The advantage might be that learners could focus less on trying to figure out the language being implemented, and more on how Spirit is used to implement familiar constructs.

On the other other hand (am I out of hands, yet?) I don&#039;t think anyone&#039;s mentioned Forth. ;-)</description>
		<content:encoded><![CDATA[<p>I guess it comes back to the goal of your project. If the goal is to introduce Spirit by example, I think something like Scheme that is quite small yet fairly widely-known is not a bad idea. </p>
<p>On the other hand, something more ALGOL like could have more appeal, since a lot of people use those kinds of languages and could see familiar constructs. The advantage might be that learners could focus less on trying to figure out the language being implemented, and more on how Spirit is used to implement familiar constructs.</p>
<p>On the other other hand (am I out of hands, yet?) I don&#8217;t think anyone&#8217;s mentioned Forth. <img src='http://boost-spirit.com/home/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glen</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-574</link>
		<dc:creator>Glen</dc:creator>
		<pubDate>Sun, 27 Dec 2009 03:51:46 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-574</guid>
		<description>Hey Joel

I&#039;ve only just casually come across your site, so I might not understand what you are thinking about doing, but you said:

&quot;C++ would be the ultimate. But that would mean spending the next N years of my life working on it  &quot;

Well Bjarne has just published this work which seems like a paper that might help?:
http://www2.research.att.com/~bs/macis09.pdf

Wouldn&#039;t his paper make your job a heck of a lot easier? So maybe you can do it after all, waddya think? Maybe he&#039;d even help ;)

Anyway, the link had a security server error when I tried to open it but I saw an older version of this document (I think) so when it&#039;s back up take a look. I found it via Bjarne&#039;s usual papers page:

http://www2.research.att.com/~bs/papers.html

Thanks.</description>
		<content:encoded><![CDATA[<p>Hey Joel</p>
<p>I&#8217;ve only just casually come across your site, so I might not understand what you are thinking about doing, but you said:</p>
<p>&#8220;C++ would be the ultimate. But that would mean spending the next N years of my life working on it  &#8221;</p>
<p>Well Bjarne has just published this work which seems like a paper that might help?:<br />
<a href="http://www2.research.att.com/~bs/macis09.pdf" rel="nofollow">http://www2.research.att.com/~bs/macis09.pdf</a></p>
<p>Wouldn&#8217;t his paper make your job a heck of a lot easier? So maybe you can do it after all, waddya think? Maybe he&#8217;d even help <img src='http://boost-spirit.com/home/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway, the link had a security server error when I tried to open it but I saw an older version of this document (I think) so when it&#8217;s back up take a look. I found it via Bjarne&#8217;s usual papers page:</p>
<p><a href="http://www2.research.att.com/~bs/papers.html" rel="nofollow">http://www2.research.att.com/~bs/papers.html</a></p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Allan</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-412</link>
		<dc:creator>Ben Allan</dc:creator>
		<pubDate>Sat, 19 Dec 2009 11:19:24 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-412</guid>
		<description>I&#039;ll nominate Java, since I&#039;d really love to see a grammar I can then use to derive open-source source-to-source tools for taking code out of Java  and several other java-like languages and into C/C++ without a tool-chain dependence on llvm or a java compiler/runtime.

Or +1 for C, and particularly for just updating Hartmut&#039;s example from http://spirit.sourceforge.net/ as a full example of up-porting to 2.1 from 1.x. Separately, the tutorial aspects of walking a C ast, handling crufty bits in &quot;real&quot; languages, etc could be built on top of the updated base of parsing C.</description>
		<content:encoded><![CDATA[<p>I&#8217;ll nominate Java, since I&#8217;d really love to see a grammar I can then use to derive open-source source-to-source tools for taking code out of Java  and several other java-like languages and into C/C++ without a tool-chain dependence on llvm or a java compiler/runtime.</p>
<p>Or +1 for C, and particularly for just updating Hartmut&#8217;s example from <a href="http://spirit.sourceforge.net/" rel="nofollow">http://spirit.sourceforge.net/</a> as a full example of up-porting to 2.1 from 1.x. Separately, the tutorial aspects of walking a C ast, handling crufty bits in &#8220;real&#8221; languages, etc could be built on top of the updated base of parsing C.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bytecolor</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-369</link>
		<dc:creator>bytecolor</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:31:03 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-369</guid>
		<description>Joel
What did you have in mind when you said:

interpreter that can be immediately executable

I&#039;ve been working on an ISO EBNF parser. It works pretty good. I think I have all
of the syntax parsing correctly, including the alternate symbols (/ /) / ! etc.
I&#039;ve got a visitor written that just writes the data structures back out as
semi-formatted EBNF.

?&gt; foo = [&quot;this&quot; &#124; &quot;that&quot;], 4*&quot;x&quot;;
foo
&#160;&#160;&#160;&#160;= [&#039;this&#039; &#124; &#039;that&#039;], 4 * &#039;x&#039;
&#160;&#160;&#160;&#160;;
?&gt; foo = (/&#039;this&#039; / &quot;that&quot;/), 4*&quot;x&quot; .
foo
&#160;&#160;&#160;&#160;= [&#039;this&#039; &#124; &#039;that&#039;], 4 * &#039;x&#039;
&#160;&#160;&#160;&#160;;</description>
		<content:encoded><![CDATA[<p>Joel<br />
What did you have in mind when you said:</p>
<p>interpreter that can be immediately executable</p>
<p>I&#8217;ve been working on an ISO EBNF parser. It works pretty good. I think I have all<br />
of the syntax parsing correctly, including the alternate symbols (/ /) / ! etc.<br />
I&#8217;ve got a visitor written that just writes the data structures back out as<br />
semi-formatted EBNF.</p>
<p>?&gt; foo = ["this" | "that"], 4*&#8221;x&#8221;;<br />
foo<br />
&nbsp;&nbsp;&nbsp;&nbsp;= ['this' | 'that'], 4 * &#8216;x&#8217;<br />
&nbsp;&nbsp;&nbsp;&nbsp;;<br />
?&gt; foo = (/&#8217;this&#8217; / &#8220;that&#8221;/), 4*&#8221;x&#8221; .<br />
foo<br />
&nbsp;&nbsp;&nbsp;&nbsp;= ['this' | 'that'], 4 * &#8216;x&#8217;<br />
&nbsp;&nbsp;&nbsp;&nbsp;;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas Persson</title>
		<link>http://boost-spirit.com/home/2009/12/02/build-a-compiler/comment-page-1/#comment-343</link>
		<dc:creator>Jonas Persson</dc:creator>
		<pubDate>Tue, 15 Dec 2009 15:11:57 +0000</pubDate>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=653#comment-343</guid>
		<description>RAD spirit would be cool. A small language where you could connect a qi grammar and a karma grammar and have it typechecked for compatible attributes could make for a really nice and simple text transformation tool.</description>
		<content:encoded><![CDATA[<p>RAD spirit would be cool. A small language where you could connect a qi grammar and a karma grammar and have it typechecked for compatible attributes could make for a really nice and simple text transformation tool.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

