<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Spirit V2.4</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="../../index.html" title="Spirit 2.4.1">
<link rel="up" href="../what_s_new.html" title="What's New">
<link rel="prev" href="spirit_2_4_1.html" title="Spirit V2.4.1">
<link rel="next" href="spirit_2_3.html" title="Spirit V2.3">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="spirit_2_4_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="spirit.what_s_new.spirit_2_4"></a><a class="link" href="spirit_2_4.html" title="Spirit V2.4">Spirit V2.4</a>
</h3></div></div></div>
<a name="spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_"></a><h5>
<a name="id780213"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_">What's
        changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
        from V2.3 (Boost V1.43.0) to V2.4 (Boost V1.44.0)</a>
      </h5>
<a name="spirit.what_s_new.spirit_2_4.new_features"></a><h5>
<a name="id780235"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.new_features">New Features</a>
      </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
            The customization point <a class="link" href="../advanced/customize/transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"><code class="computeroutput"><span class="identifier">transform_attribute</span></code></a> now takes
            an additional template parameter <code class="computeroutput"><span class="identifier">Domain</span></code>
            allowing to better specialize the customization point for either <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span></code> or <code class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">domain</span></code>.
          </li></ul></div>
<div class="important"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
<th align="left">Important</th>
</tr>
<tr><td align="left" valign="top"><p>
          This is a interface breaking change requiring to modify existing code.
          If you have a specialization of this customization point in your code you
          need to add the specialization for the new template parameter, i.e. either
          <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span></code> or <code class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">domain</span></code>.
        </p></td></tr>
</table></div>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
            Semantic actions in <span class="emphasis"><em>Spirit.Qi</em></span> now implicitly invoke
            the function <code class="computeroutput"><span class="identifier">pre</span></code> of the
            customization point <a class="link" href="../advanced/customize/transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"><code class="computeroutput"><span class="identifier">transform_attribute</span></code></a> to convert
            the supplied attribute to the exposed attribute type, as needed. The
            functions <code class="computeroutput"><span class="identifier">post</span></code> and <code class="computeroutput"><span class="identifier">fail</span></code> of this customization point are
            not invoked by this component (as this would not make any sense).
          </li>
<li class="listitem">
            Semantic actions in <span class="emphasis"><em>Spirit.Karma</em></span> now implicitly
            invoke the function <code class="computeroutput"><span class="identifier">pre</span></code>
            of the customization point <a class="link" href="../advanced/customize/transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"><code class="computeroutput"><span class="identifier">transform_attribute</span></code></a> to convert
            the supplied attribute to the consumed attribute type, as needed.
          </li>
<li class="listitem">
            Added the <span class="emphasis"><em>Spirit.Karma</em></span> <a class="link" href="../karma/reference/directive/omit.html" title="Consume Attribute (omit[] and skip[])"><code class="computeroutput"><span class="identifier">skip</span></code></a> directive which is semantically
            equivalent to the <span class="emphasis"><em>Spirit.Karma</em></span> <a class="link" href="../karma/reference/directive/omit.html" title="Consume Attribute (omit[] and skip[])"><code class="computeroutput"><span class="identifier">omit</span></code></a> directive except that it
            will not execute the embedded generator.
          </li>
<li class="listitem">
            Added debug support to <span class="emphasis"><em>Spirit.Karma</em></span> rules.
          </li>
<li class="listitem">
            Added strict mode to <span class="emphasis"><em>Spirit.Karma</em></span>, leaving the current
            behavior (unchanged) as relaxed mode. Added <span class="emphasis"><em>Spirit.Karma</em></span>
            compile time directives <code class="computeroutput"><span class="identifier">strict</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">relaxed</span><span class="special">[]</span></code> allowing to switch between the two.
          </li>
<li class="listitem">
            Added <span class="emphasis"><em>Spirit.Karma</em></span> <a class="link" href="../karma/reference/directive/duplicate.html" title="Duplicate Attribute (duplicate[])"><code class="computeroutput"><span class="identifier">duplicate</span></code></a> directive which duplicates
            the supplied attribute to all elements of an embedded generator sequence.
          </li>
</ul></div>
<a name="spirit.what_s_new.spirit_2_4.bug_fixes"></a><h5>
<a name="id780517"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.bug_fixes">Bug Fixes</a>
      </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
            Components in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
            now accept one element Fusion sequences as their attributes as long as
            the element in the Fusion sequence is compatible with the component's
            attribute type.
          </li>
<li class="listitem">
            The character range parser and generator components can now additionally
            be written as <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span>
            <span class="string">"z"</span><span class="special">)</span></code>
            instead of <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'z'</span><span class="special">)</span></code> making it consistent with the syntax
            of the <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">'a'</span><span class="special">)</span></code> component
            (which can be written as <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a"</span><span class="special">)</span></code> as well). Please note that the mixed
            syntax forms, i.e. <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span>
            <span class="string">"z"</span><span class="special">)</span></code>
            and <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span>
            <span class="char">'z'</span><span class="special">)</span></code>,
            are not supported.
          </li>
<li class="listitem">
            Fixed attribute handling in <span class="emphasis"><em>Spirit.Karma</em></span> sequences
            when all elements of that sequence consume either the same attribute
            type or containers of that attribute type and the passed in attribute
            is a container of that attribute type as well. In this case using a repetitive
            container was supported only when it was the last element of the sequence.
            Now it is possible to have a <a class="link" href="../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span></code></a><code class="computeroutput"><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
            generator at any position (well, actually you can have any repetitive
            container at any position now, but this doesn't always make sense as
            it normally would eat up all supplied attribute values).
          </li>
<li class="listitem">
            Fixed debug output for variants where a variant element is an STL sequence.
          </li>
<li class="listitem">
            Fixed a problem in multi_pass, avoiding to loose a character at end of
            input when switching iterators.
          </li>
</ul></div>
<a name="spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_"></a><h5>
<a name="id780753"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_">What's
        changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.3 (Boost V1.43.0) to V2.4
        (Boost V1.44.0)</a>
      </h5>
<a name="spirit.what_s_new.spirit_2_4.new_lexer_features"></a><h5>
<a name="id780771"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.new_lexer_features">New Lexer
        Features</a>
      </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
            The lexer is now well integrated with the debug output generated by Qi's
            simple_trace utility. Tokens are printed as: '&lt;' matched sequence
            '&gt;'.
          </li></ul></div>
<a name="spirit.what_s_new.spirit_2_4.lexer_bug_fixes"></a><h5>
<a name="id780795"></a>
        <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.lexer_bug_fixes">Lexer Bug Fixes</a>
      </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
            Fixed a problem with using lex::_val as a rvalue in lexer semantic expressions.
          </li>
<li class="listitem">
            Token values are now available for introspection (as an iterator_range)
            inside lexer semantic expressions as well.
          </li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2010 Joel de Guzman, Hartmut Kaiser<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="spirit_2_4_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
