<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Boost.Spirit</title>
	<atom:link href="http://boost-spirit.com/home/feed/" rel="self" type="application/rss+xml" />
	<link>http://boost-spirit.com/home</link>
	<description>Home of The Boost.Spirit Library</description>
	<lastBuildDate>Sun, 17 May 2015 00:38:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.14</generator>
<site xmlns="com-wordpress:feed-additions:1">10652591</site>	<item>
		<title>Spirit 3.0.0</title>
		<link>http://boost-spirit.com/home/2015/05/16/spirit-3-0-0/</link>
					<comments>http://boost-spirit.com/home/2015/05/16/spirit-3-0-0/#comments</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Sun, 17 May 2015 00:15:03 +0000</pubDate>
				<category><![CDATA[C++Now 2015]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1665</guid>

					<description><![CDATA[C++ Now 2015. Today is the official release of Spirit X3, aka Spirit 3.0.0. X3 will be in beta, coexisting side by side with Qi, Karma, Lex and Classic. If you are a Qi user, the best place to start are the examples, especially rexpr and x3 fun. Remember to use a compiler with c++14 [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<div id="attachment_1673" style="width: 550px" class="wp-caption aligncenter"><a href="http://boost-spirit.com/home/wp-content/uploads/2015/05/aspen2015.jpg"><img aria-describedby="caption-attachment-1673" class="wp-image-1673" src="http://boost-spirit.com/home/wp-content/uploads/2015/05/aspen2015.jpg" alt="aspen2015" width="540" height="405" srcset="http://boost-spirit.com/home/wp-content/uploads/2015/05/aspen2015.jpg 960w, http://boost-spirit.com/home/wp-content/uploads/2015/05/aspen2015-300x225.jpg 300w" sizes="(max-width: 540px) 100vw, 540px" /></a><p id="caption-attachment-1673" class="wp-caption-text">C++Now 2015</p></div>
<p>C++ Now 2015. Today is the official release of Spirit X3, aka Spirit 3.0.0. X3 will be in beta, coexisting side by side with Qi, Karma, Lex and Classic.</p>
<p>If you are a Qi user, the best place to start are the examples, especially <a href="http://ciere.com/cppnow15/x3_docs/spirit/tutorials/rexpr.html">rexpr</a> and <a href="https://github.com/cierelabs/x3_fun/">x3 fun</a>.</p>
<p>Remember to use a compiler with c++14 capabilities:</p>
<ul>
<li>clang 3.4 or greater</li>
<li>gcc 4.9 or greater</li>
</ul>
<hr />
<h2>Documents</h2>
<p>Docs: <a href="http://ciere.com/cppnow15/x3_docs/">X3 Documentation</a></p>
<p>Slides: <a href="http://ciere.com/cppnow15/using_x3.pdf">Using X3 Slides</a></p>
<hr />
<h2>Spirit X3 Source</h2>
<p>GitHub: <a href="https://github.com/boostorg/spirit/">git@github.com:boostorg/spirit.git</a></p>
<p>Use the <em>develop</em> branch.</p>
<p>Zip of develop: <a href="https://github.com/cierelabs/x3_fun/archive/develop.zip">develop.zip</a></p>
<p>You will find boilerplate (getting started) projects in: example/x3/rexpr<br />
There are two directories.</p>
<ul>
<li>rexpr_min &#8211; contains a single file to start things off.</li>
<li>rexpr_full &#8211; contains a structure similar to the one in the presentation complete with tests.</li>
</ul>
<hr />
<h2>X3 Fun</h2>
<p>GitHub: <a href="https://github.com/cierelabs/x3_fun/">git@github.com:cierelabs/x3_fun.git</a></p>
<p>&nbsp;</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2015/05/16/spirit-3-0-0/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1665</post-id>	</item>
		<item>
		<title>Fastest numeric parsers in the world!</title>
		<link>http://boost-spirit.com/home/2014/09/03/fastest-numeric-parsers-in-the-world/</link>
					<comments>http://boost-spirit.com/home/2014/09/03/fastest-numeric-parsers-in-the-world/#comments</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Thu, 04 Sep 2014 01:36:06 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Numeric Parsing]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1656</guid>

					<description><![CDATA[Spirit.Qi numeric parsers are the fastest in the world of C++ and surpasses even hand-written low level parsers such as atoi and atof written in C. This is old news actually. The numeric parsers are highly optimised from the very start, when I started writing Spirit V2. The tests were written in 2009, yet are [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>Spirit.Qi numeric parsers are the fastest in the world of C++ and surpasses even hand-written low level parsers such as atoi and atof written in C. This is old news actually. The numeric parsers are highly optimised from the very start, when I started writing Spirit V2. The tests were written in 2009, yet are still very relevant now. Here are the benchmark results from the same tests I ran today on a Mac using Clang. The benchmark code is in Github (<a href="https://github.com/boostorg/spirit/tree/master/workbench/qi">qi/workbench</a>):</p>
<h2>Integer tests</h2>
<p>atoi_test:  4.7452590000 [s] {checksum: 213ce33a}<br />
strtol_test: 4.5116520000 [s] {checksum: 213ce33a}<br />
spirit_int_test: 1.4126110000 [s] {checksum: 213ce33a}</p>
<h2>Double Tests</h2>
<p>atof_test: 3.2435210000 [s] {checksum: 84a4f7d}<br />
strtod_test: 3.1327660000 [s] {checksum: 84a4f7d}<br />
spirit_double_test: 0.7237810000 [s] {checksum: 84a4f7d}</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2014/09/03/fastest-numeric-parsers-in-the-world/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1656</post-id>	</item>
		<item>
		<title>BMC &#8212; Braille Music Compiler</title>
		<link>http://boost-spirit.com/home/2014/03/01/bmc-braille-music-compiler/</link>
					<comments>http://boost-spirit.com/home/2014/03/01/bmc-braille-music-compiler/#respond</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Sat, 01 Mar 2014 12:47:27 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1648</guid>

					<description><![CDATA[Cool, so it seems Spirit is also useful for blind musicians. BMC &#8212; Braille Music Compiler BMC translates between braille music code and visual music notation. It uses Boost.Spirit to parse braille music code into an AST which is later enhanced with various algorithms to resolve ambiguities inherent to braille music code. It can currently [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>Cool, so it seems Spirit is also useful for blind musicians.</p>
<p><a href="https://github.com/mlang/bmc">BMC &#8212; Braille Music Compiler</a></p>
<p>BMC translates between braille music code and visual music notation. It uses Boost.Spirit to parse braille music code into an AST which is later enhanced with various algorithms to resolve ambiguities inherent to braille music code. It can currently convert to LilyPond source format, which can later be translated to a PDF and MIDI representation by LilyPond. BMC aims to become an universal translator between tactile and visual music notation, eventually covering both directions. We are looking for developers with a background in music notation who might be interested to contribute to this unique free software project which aims to bridge the gap between blind and sighted musicians.</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2014/03/01/bmc-braille-music-compiler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1648</post-id>	</item>
		<item>
		<title>Farewell Phoenix-2</title>
		<link>http://boost-spirit.com/home/2013/12/13/farewell-phoenix-2/</link>
					<comments>http://boost-spirit.com/home/2013/12/13/farewell-phoenix-2/#respond</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Sat, 14 Dec 2013 02:38:24 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Phoenix]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1644</guid>

					<description><![CDATA[Boost C++&#8230; After more than a decade, I finally retired Phoenix-2 from the Boost Spirit code base. I feel sad. It&#8217;s like farewell to a good friend. Onwards to Phoenix-3. Rating: 0.0/5 (0 votes cast)<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>Boost C++&#8230; After more than a decade, I finally retired Phoenix-2 from the Boost Spirit code base. I feel sad. It&#8217;s like farewell to a good friend. Onwards to Phoenix-3.</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2013/12/13/farewell-phoenix-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1644</post-id>	</item>
		<item>
		<title>SpiritKaleidoscope</title>
		<link>http://boost-spirit.com/home/2013/09/30/spiritkaleidoscope/</link>
					<comments>http://boost-spirit.com/home/2013/09/30/spiritkaleidoscope/#respond</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Mon, 30 Sep 2013 23:27:37 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1637</guid>

					<description><![CDATA[Here&#8217;s something cool: SpiritKaleidoscope is a rewrite of the LLVM-Kaleidoscope tutorial using boost::spirit parser. The author is targeting on making it a complete step-by-step tutorial &#8230; still work in progress, though. Check it out: SpiritKaleidoscope Rating: 0.0/5 (0 votes cast)<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>Here&#8217;s something cool: <strong>SpiritKaleidoscope</strong> is a rewrite of the LLVM-Kaleidoscope tutorial using boost::spirit parser. The author is targeting on making it a complete step-by-step tutorial &#8230; still work in progress, though. Check it out: <a href="https://github.com/KKostya/SpiritKaleidoscope">SpiritKaleidoscope</a></p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2013/09/30/spiritkaleidoscope/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1637</post-id>	</item>
		<item>
		<title>Tales of C++: Spirit X3 Customization Points</title>
		<link>http://boost-spirit.com/home/2013/08/04/tales-of-c-spirit-x3-customization-points/</link>
					<comments>http://boost-spirit.com/home/2013/08/04/tales-of-c-spirit-x3-customization-points/#respond</comments>
		
		<dc:creator><![CDATA[Agustín K-ballo Bergé]]></dc:creator>
		<pubDate>Mon, 05 Aug 2013 00:55:38 +0000</pubDate>
				<category><![CDATA[Advanced]]></category>
		<category><![CDATA[Spirit X3]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1619</guid>

					<description><![CDATA[A customization point is a code construct that the user can leverage to specialize how a particular library action is handled. A common way of implementing this in C++ is to define a template with the default behavior, and let users specialize it for their own types —e.g., std::hash—. This is the story of Spirit [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>A <em>customization point</em> is a code construct that the user can leverage to specialize how a particular library action is handled. A common way of implementing this in <strong>C++</strong> is to define a template with the default behavior, and let users specialize it for their own types —e.g., <a title="std::hash - cppreference.com" href="http://en.cppreference.com/w/cpp/utility/hash"><code>std::hash</code></a>—. This is the story of <a title="Boost.Spirit" href="http://boost-spirit.com"><em>Spirit X3</em></a> and how it lets you specialize customization points without ever leaving your own namespace, sort of&#8230;</p>
<h5 style="padding-left: 30px"><a title="True Story: I Will Always Find You - Tales of C++" href="http://talesofcpp.fusionfenix.com/post-8/true-story-i-will-always-find-you" target="_blank">I Will Always Find You &#8211; Tales of C++</a></h5>
<p style="padding-left: 30px"><a title="True Story: I Will Always Find You - Tales of C++" href="http://talesofcpp.fusionfenix.com/post-8/true-story-i-will-always-find-you" target="_blank"> http://talesofcpp.fusionfenix.com/post-8/true-story-i-will-always-find-you</a></p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2013/08/04/tales-of-c-spirit-x3-customization-points/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1619</post-id>	</item>
		<item>
		<title>Spirit X3 on Github</title>
		<link>http://boost-spirit.com/home/2013/02/23/spirit-x3-on-github/</link>
					<comments>http://boost-spirit.com/home/2013/02/23/spirit-x3-on-github/#comments</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Sun, 24 Feb 2013 03:19:52 +0000</pubDate>
				<category><![CDATA[C++Now 2013]]></category>
		<category><![CDATA[Spirit X3]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1587</guid>

					<description><![CDATA[Oh, in case anyone wants to follow the development of X3, here are the Github links: https://github.com/djowel/spirit_x3 https://github.com/djowel/spirit_x3.git git@github.com:djowel/spirit_x3.git The full attribute mechanism works + basic C++lambda support. I&#8217;ve ported one example (calc4.cpp) which parses to an AST. The AST remains the same. Only the way the grammars are written had to change. For a [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>Oh, in case anyone wants to follow the development of X3, here are the Github links:</p>
<blockquote><p><a href="https://github.com/djowel/spirit_x3">https://github.com/djowel/spirit_x3</a><br />
<a href="https://github.com/djowel/spirit_x3.git">https://github.com/djowel/spirit_x3.git</a><br />
<a href="git@github.com:djowel/spirit_x3.git">git@github.com:djowel/spirit_x3.git</a></p></blockquote>
<p>The full attribute mechanism works + basic C++lambda support. I&#8217;ve ported one example (calc4.cpp) which parses to an AST. The AST remains the same. Only the way the grammars are written had to change.</p>
<p>For a teaser: here&#8217;s GCC times:</p>
<p>SpiritX3: TOTAL :   4.27 secs<br />
Spirit2:  TOTAL :  10.00 secs</p>
<p>Even faster at CT than the first Spirit3 attempt. Runtime speed? I expect it to be faster than Spirit-2. The rules have changed (pun intentional). Now, there&#8217;s no longer the need for virtual functions and auto is used extensively. I expect code size to be smaller too because the compiler can generate more efficient code.</p>
<p>Here&#8217;s the calculator grammar (based on calc3.cpp):</p>
<pre class="brush: cpp; title: ; notranslate">
///////////////////////////////////////////////////////////////////////////////
//  The calculator grammar
///////////////////////////////////////////////////////////////////////////////
namespace calculator_grammar
{
    using x3::uint_;
    using x3::char_;

    x3::rule&lt;class expression, ast::program&gt; const expression;
    x3::rule&lt;class term, ast::program&gt; const term;
    x3::rule&lt;class factor, ast::operand&gt; const factor;

    auto const expression_def =
        term
        &gt;&gt; *(   (char_('+') &gt;&gt; term)
            |   (char_('-') &gt;&gt; term)
            )
        ;

    auto const term_def =
        factor
        &gt;&gt; *(   (char_('*') &gt;&gt; factor)
            |   (char_('/') &gt;&gt; factor)
            )
        ;

    auto const factor_def =
            uint_
        |   '(' &gt;&gt; expression &gt;&gt; ')'
        |   (char_('-') &gt;&gt; factor)
        |   (char_('+') &gt;&gt; factor)
        ;

    auto const calculator = x3::grammar(
            expression = expression_def,
            term = term_def,
            factor = factor_def
        );
}

using calculator_grammar::calculator;
</pre>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2013/02/23/spirit-x3-on-github/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1587</post-id>	</item>
		<item>
		<title>Spirit X3</title>
		<link>http://boost-spirit.com/home/2013/02/23/spirit-x3/</link>
					<comments>http://boost-spirit.com/home/2013/02/23/spirit-x3/#comments</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Sun, 24 Feb 2013 00:33:01 +0000</pubDate>
				<category><![CDATA[C++Now 2013]]></category>
		<category><![CDATA[Spirit X3]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1577</guid>

					<description><![CDATA[My proposal &#8220;Inside Spirit X3. Redesigning Boost.Spirit for C++11&#8221; has been accepted for presentation at the C++ Now! 2013 in Aspen Colorado. So after a 2 year hiatus, I&#8217;m back to Aspen. Here&#8217;s the abstract: Inside Spirit X3.Redesigning Boost.Spirit for C++11 Joel de Guzman, 2013 The hugely successful BoostCon &#8217;07 &#8217;08, &#8217;09 and &#8217;10 Spirit [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">My proposal &#8220;Inside Spirit X3. Redesigning Boost.Spirit for C++11&#8221; has been accepted for presentation at the C++ Now! 2013 in Aspen Colorado. So after a 2 year hiatus, I&#8217;m back to Aspen.</p>
<p>Here&#8217;s the abstract:</p>
<blockquote><p><strong>Inside Spirit X3.</strong><em><strong>Redesigning Boost.Spirit for C++11<br />
</strong></em>Joel de Guzman, 2013</p>
<p>The hugely successful BoostCon &#8217;07 &#8217;08, &#8217;09 and &#8217;10 Spirit talks provided walk-through presentations and tutorials on how to use Spirit. This, time, I propose a presentation that will focus on the design and implementation of Spirit. But to add more to the thrill, I will present a major redesign of Spirit from the ground up, taking advantage of the new C++11 features. One important goal of this experimental version of Spirit (named X3) is to bring back the elegant simplicity of &#8220;Classic&#8221; Spirit, which was somehow lost with the complexity of Spirit-2 primarily due to the lack of important language features that are just starting to appear in C++ compilers. In this 90-minute presentation, I would like to get down and dirty with Modern C++11 code, and along the way, share my experience as well as expose some of C++11&#8217;s shortcomings and my wishes for C++1y.</p></blockquote>
<p>Hope to see you there!</p>
<p><img loading="lazy" class="aligncenter" alt="" src="http://cppnow.org/files/2012/04/273902_web.jpg" width="377" height="248" /></p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2013/02/23/spirit-x3/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1577</post-id>	</item>
		<item>
		<title>Official Spirit IRC channel</title>
		<link>http://boost-spirit.com/home/2011/08/10/official-spirit-irc-channel/</link>
					<comments>http://boost-spirit.com/home/2011/08/10/official-spirit-irc-channel/#respond</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Wed, 10 Aug 2011 19:40:14 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1549</guid>

					<description><![CDATA[We&#8217;ve had a Spirit IRC channel for a few months now. It started out as a semi-private channel. Well, we made it officially public now. You can get Spirit support via the ##spirit or #boost IRC channels at freenode, where you will often find knowledgeable people willing to help with your Spirit questions. The #boost [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></description>
										<content:encoded><![CDATA[<p>We&#8217;ve had a Spirit IRC channel for a few months now. It started out as a semi-private channel. Well, we made it officially public now. You can get Spirit support via the ##spirit or #boost IRC channels at freenode, where you will often find knowledgeable people willing to help with your Spirit questions. The #boost channel is for anything Boost related, including Spirit. The ##spirit channel is solely for Spirit and Spirit related libraries (Fusion, Phoenix and Wave).</p>
<p>See you there!</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2011/08/10/official-spirit-irc-channel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1549</post-id>	</item>
		<item>
		<title>10 Years of Spirit</title>
		<link>http://boost-spirit.com/home/2011/07/24/10-years-of-spirit/</link>
					<comments>http://boost-spirit.com/home/2011/07/24/10-years-of-spirit/#comments</comments>
		
		<dc:creator><![CDATA[Joel de Guzman]]></dc:creator>
		<pubDate>Mon, 25 Jul 2011 00:39:08 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1522</guid>

					<description><![CDATA[Spirit is 10 years old! It&#8217;s hard to pinpoint exactly the birthday of Spirit. Looking back, Spirit 1.0 which was uploaded to SourceForge in July 27, 2001 contains this comment in its main header file: 8/28/1999    Original Implementation [ run time polymorphic version ] (JDG) 4/30/2001    Template meta-programming implementation (JDG) 5/13/2001    Major redesign using iterators [&#8230;]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (5 votes cast)</div><br />]]></description>
										<content:encoded><![CDATA[<h3>Spirit is 10 years old!</h3>
<p>It&#8217;s hard to pinpoint exactly the birthday of Spirit. Looking back, <a title="Spirit 1.0" href="http://sourceforge.net/projects/spirit/files/spirit/1.0/">Spirit 1.0 which was uploaded to SourceForge</a> in July 27, 2001 contains this comment in its main header file:</p>
<blockquote><p>8/28/1999    Original Implementation [ run time polymorphic version ] (JDG)<br />
4/30/2001    Template meta-programming implementation (JDG)<br />
5/13/2001    Major redesign using iterators (JDG)<br />
5/26/2001    Port to G++3.0 and BCC 5.5.1 thanks to Vladimir Prus<br />
5/27/2001    Bug fixes in Difference and Xor classes (JDG)<br />
5/30/2001    Added Iterators (JDG)</p></blockquote>
<p><span id="more-1522"></span></p>
<p>And then, there&#8217;s the original post to Boost developer&#8217;s list dated May 21, 2001:</p>
<blockquote><p>Hello there,</p>
<p>Spirit is an object oriented recursive descent parser generator framework implemented using template meta-programming techniques. Expression templates allow us to approximate the syntax of Extended Backus Normal Form (EBNF) completely in C++. The Spirit framework enables a target grammar to be written exclusively in C++. EBNF grammar specifications can mix freely with other C++ code and, thanks to the generative power of C++ templates, are immediately executable. In retrospect, conventional compiler-compilers or parser-generators have to perform an additional translation step from the source EBNF code to C or C++ code.</p>
<p>The documentation and source code can be found at http://isis-tech.n3.net. I would appreciate feedback and comments.</p>
<p>Joel de Guzman</p></blockquote>
<p>Let me declare that the July 27, 2001 SF upload should mark Spirit&#8217;s birthday. That&#8217;ll be 3 days from now.</p>
<p><strong>Happy 10 years, Spirit!</strong></p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (5 votes cast)</div><br />]]></content:encoded>
					
					<wfw:commentRss>http://boost-spirit.com/home/2011/07/24/10-years-of-spirit/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1522</post-id>	</item>
	</channel>
</rss>
