Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55747 - in trunk/libs/spirit: doc doc/html doc/html/spirit doc/html/spirit/abstracts doc/html/spirit/karma/performance_measurements doc/html/spirit/karma/quick_reference doc/html/spirit/karma/reference doc/html/spirit/karma/tutorials doc/html/spirit/lex doc/html/spirit/lex/abstracts doc/html/spirit/lex/reference doc/html/spirit/lex/tutorials doc/html/spirit/notes doc/html/spirit/qi/quick_reference doc/html/spirit/qi/reference doc/html/spirit/qi/tutorials doc/html/spirit/support doc/notes example/qi
From: hartmut.kaiser_at_[hidden]
Date: 2009-08-23 21:56:53


Author: hkaiser
Date: 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
New Revision: 55747
URL: http://svn.boost.org/trac/boost/changeset/55747

Log:
Spirit: more docs
Text files modified:
   trunk/libs/spirit/doc/html/index.html | 4
   trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 16 +-
   trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 18 +-
   trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 2
   trunk/libs/spirit/doc/html/spirit/faq.html | 8
   trunk/libs/spirit/doc/html/spirit/introduction.html | 12 +-
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html | 6
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 44 +++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/char.html | 30 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html | 100 ++++++++--------
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html | 56 ++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 4
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html | 54 ++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 114 +++++++++---------
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html | 12 +-
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/reference/concepts.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html | 8
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 8
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 8
   trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html | 239 +++++++++++++++++++++++++++++++++++++--
   trunk/libs/spirit/doc/html/spirit/preface.html | 18 +-
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 16 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 4
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 16 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html | 56 ++++----
   trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 32 ++--
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 14 +-
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 6
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 8
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 10
   trunk/libs/spirit/doc/html/spirit/support/multi_pass.html | 28 ++--
   trunk/libs/spirit/doc/html/spirit/what_s_new.html | 8
   trunk/libs/spirit/doc/notes/porting_from_1_8.qbk | 76 +++++++++++
   trunk/libs/spirit/doc/spirit2.qbk | 1
   trunk/libs/spirit/example/qi/porting_guide_classic.cpp | 53 ++++++++
   trunk/libs/spirit/example/qi/porting_guide_qi.cpp | 50 ++++++++
   51 files changed, 807 insertions(+), 428 deletions(-)

Modified: trunk/libs/spirit/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/doc/html/index.html (original)
+++ trunk/libs/spirit/doc/html/index.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -34,7 +34,7 @@
 <div><p class="copyright">Copyright © 2001-2009 Joel
       de Guzman, Hartmut Kaiser</p></div>
 <div><div class="legalnotice" title="Legal Notice">
-<a name="id1079797"></a><p>
+<a name="id1079623"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -200,7 +200,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: August 23, 2009 at 20:44:40 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 24, 2009 at 01:49:49 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -29,9 +29,9 @@
 </h3></div></div></div>
 <p>
         Parsing Expression Grammars (PEG)
- <sup>[<a name="id1089698" href="#ftn.id1089698" class="footnote">5</a>]</sup>
+ <sup>[<a name="id1089835" href="#ftn.id1089835" class="footnote">5</a>]</sup>
         are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1089710" href="#ftn.id1089710" class="footnote">6</a>]</sup>
+ <sup>[<a name="id1089847" href="#ftn.id1089847" class="footnote">6</a>]</sup>
         with a different interpretation, designed to represent a recursive descent
         parser. A PEG can be directly represented as a recursive-descent parser.
       </p>
@@ -42,7 +42,7 @@
         Abstract Syntax Tree) for each PEG grammar.
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.sequences"></a><h5>
-<a name="id1089730"></a>
+<a name="id1089867"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.sequences">Sequences</a>
       </h5>
 <p>
@@ -83,7 +83,7 @@
         </p></td></tr>
 </table></div>
 <a name="spirit.abstracts.parsing_expression_grammar.alternatives"></a><h5>
-<a name="id1089848"></a>
+<a name="id1089985"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.alternatives">Alternatives</a>
       </h5>
 <p>
@@ -126,7 +126,7 @@
         about this $$$).
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.loops"></a><h5>
-<a name="id1089987"></a>
+<a name="id1090124"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.loops">Loops</a>
       </h5>
 <p>
@@ -189,7 +189,7 @@
         We will see more of these other mechanisms shortly.
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.difference"></a><h5>
-<a name="id1090128"></a>
+<a name="id1090265"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.difference">Difference</a>
       </h5>
 <p>
@@ -205,11 +205,11 @@
       </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1089698" href="#id1089698" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1089835" href="#id1089835" class="para">5</a>] </sup>
             Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
             Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
           </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1089710" href="#id1089710" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1089847" href="#id1089847" class="para">6</a>] </sup>
             Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
           </p></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -28,20 +28,20 @@
 </h3></div></div></div>
 <p>
         In the next section, we will deal with Parsing Expression Grammars (PEG)
- <sup>[<a name="id1089270" href="#ftn.id1089270" class="footnote">2</a>]</sup>
+ <sup>[<a name="id1089407" href="#ftn.id1089407" class="footnote">2</a>]</sup>
         , a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1089282" href="#ftn.id1089282" class="footnote">3</a>]</sup>
+ <sup>[<a name="id1089419" href="#ftn.id1089419" class="footnote">3</a>]</sup>
         with a different interpretation. It is easier to understand PEG using Syntax
         Diagrams. Syntax diagrams represent a grammar graphically. It was used extensibly
         by Niklaus Wirth
- <sup>[<a name="id1089294" href="#ftn.id1089294" class="footnote">4</a>]</sup>
+ <sup>[<a name="id1089431" href="#ftn.id1089431" class="footnote">4</a>]</sup>
         in the "Pascal User Manual". Syntax Diagrams are easily understandable
         with programmers due to its similarity to flow charts. The isomorphism of
         the diagrams and functions make it ideal for representing Recursive Descent
         parsers which are essentially mutually recursive functions.
       </p>
 <a name="spirit.abstracts.syntax_diagram.elements"></a><h5>
-<a name="id1089306"></a>
+<a name="id1089443"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.elements">Elements</a>
       </h5>
 <p>
@@ -85,7 +85,7 @@
         </p>
 </blockquote></div>
 <a name="spirit.abstracts.syntax_diagram.constructs"></a><h5>
-<a name="id1089406"></a>
+<a name="id1089543"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.constructs">Constructs</a>
       </h5>
 <p>
@@ -156,7 +156,7 @@
         This behavior is quite obvious with syntax diagrams as they resemble flow-charts.
       </p>
 <a name="spirit.abstracts.syntax_diagram.predicates"></a><h5>
-<a name="id1089567"></a>
+<a name="id1089704"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.predicates">Predicates</a>
       </h5>
 <p>
@@ -211,14 +211,14 @@
       </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1089270" href="#id1089270" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1089407" href="#id1089407" class="para">2</a>] </sup>
             Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
             Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
           </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1089282" href="#id1089282" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1089419" href="#id1089419" class="para">3</a>] </sup>
             Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
           </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1089294" href="#id1089294" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1089431" href="#id1089431" class="para">4</a>] </sup>
             Niklaus Wirth: The Programming Language Pascal. (July 1973)
           </p></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/acknowledgments.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/acknowledgments.html (original)
+++ trunk/libs/spirit/doc/html/spirit/acknowledgments.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -47,7 +47,7 @@
       <span class="bold"><strong>FIXME</strong></span>: Add more people
     </p>
 <a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h4>
-<a name="id1295428"></a>
+<a name="id1299537"></a>
       <a class="link" href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
       from the Spirit V1 <span class="emphasis"><em>classic</em></span> Documentation</a>
     </h4>

Modified: trunk/libs/spirit/doc/html/spirit/faq.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/faq.html (original)
+++ trunk/libs/spirit/doc/html/spirit/faq.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.faq"></a><a class="link" href="faq.html" title="Spirit FAQ"> Spirit FAQ</a>
 </h2></div></div></div>
 <a name="spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_"></a><h4>
-<a name="id1288247"></a>
+<a name="id1288019"></a>
       <a class="link" href="faq.html#spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_">I'm
       getting multiple symbol definition errors while using Visual C++. Anything
       I could do about that?</a>
@@ -64,7 +64,7 @@
       static_assert.
     </p>
 <a name="spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_"></a><h4>
-<a name="id1289510"></a>
+<a name="id1289965"></a>
       <a class="link" href="faq.html#spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_">I'm
       very confused about the header hell in my boost/spirit directory. What's all
       this about?</a>
@@ -172,7 +172,7 @@
       are available.
     </p>
 <a name="spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_"></a><h4>
-<a name="id1290020"></a>
+<a name="id1290475"></a>
       <a class="link" href="faq.html#spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_">Why
       doesn't my symbol table work in a <code class="computeroutput"><span class="identifier">no_case</span></code>
       directive?</a>
@@ -184,7 +184,7 @@
       Entries containing one or more uppercase characters will not match any input.
     </p>
 <a name="spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_"></a><h4>
-<a name="id1290102"></a>
+<a name="id1290557"></a>
       <a class="link" href="faq.html#spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_">I'm
       getting a compilation error mentioning <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code>
       and/or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function4</span></code>. What does this mean?</a>

Modified: trunk/libs/spirit/doc/html/spirit/introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/introduction.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -30,7 +30,7 @@
       Boost Spirit is an object-oriented, recursive-descent parser and output generation
       library for C++. It allows you to write grammars and format descriptions using
       a format similar to Extended Backus Naur Form (EBNF)
- <sup>[<a name="id1085446" href="#ftn.id1085446" class="footnote">1</a>]</sup>
+ <sup>[<a name="id1085583" href="#ftn.id1085583" class="footnote">1</a>]</sup>
       directly in C++. These inline 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
@@ -134,7 +134,7 @@
 <p><br class="figure-break">
     </p>
 <a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h4>
-<a name="id1085660"></a>
+<a name="id1085797"></a>
       <a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_">A
       Quick Overview of Parsing with <span class="emphasis"><em>Spirit.Qi</em></span></a>
     </h4>
@@ -224,7 +224,7 @@
       <code class="computeroutput"><span class="special">;</span></code>.
     </p>
 <a name="spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_"></a><h4>
-<a name="id1086616"></a>
+<a name="id1086753"></a>
       <a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_">A
       Quick Overview of Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
     </h4>
@@ -257,7 +257,7 @@
       of the same <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>:
     </p>
 <div class="table">
-<a name="id1088050"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
+<a name="id1088187"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
 <div class="table-contents"><table class="table" summary="Different output formats for `std::vector&lt;int&gt;`">
 <colgroup>
 <col>
@@ -376,7 +376,7 @@
       next table gives some related examples.
     </p>
 <div class="table">
-<a name="id1088434"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id1088571"></a><p class="title"><b>Table 3. Different data types usable with the output format
     `*(int_ &lt;&lt; eol)`</b></p>
 <div class="table-contents"><table class="table" summary="Different data types usable with the output format
     `*(int_ &lt;&lt; eol)`">
@@ -450,7 +450,7 @@
 </div>
 <br class="table-break"><div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1085446" href="#id1085446" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1085583" href="#id1085583" class="para">1</a>] </sup>
           <a href="http://www.cl.cam.ac.uk/%7Emgk25/iso-14977.pdf" target="_top">ISO-EBNF</a>
         </p></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -138,7 +138,7 @@
             <a class="link" href="numeric_performance.html#spirit.karma.int_performance" title="Figure 3. Performance comparison for a single int">figure</a>.
           </p>
 <div class="table">
-<a name="id1246840"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
+<a name="id1246158"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
           times in [s], 10000000 iterations)</b></p>
 <div class="table-contents"><table class="table" summary="Performance comparison for a single int (all
           times in [s], 10000000 iterations)">
@@ -462,7 +462,7 @@
             <a class="link" href="numeric_performance.html#spirit.karma.double_performance" title="Figure 4. Performance comparison for a single double">figure</a>.
           </p>
 <div class="table">
-<a name="id1247897"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
+<a name="id1247215"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
           times in [s], 1000000 iterations)</b></p>
 <div class="table-contents"><table class="table" summary="Performance comparison for a single double (all
           times in [s], 1000000 iterations)">
@@ -806,7 +806,7 @@
             <a class="link" href="numeric_performance.html#spirit.karma.format_performance" title="Figure 5. Performance comparison for a sequence of several items">figure</a>.
           </p>
 <div class="table">
-<a name="id1249564"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
+<a name="id1248882"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
           items (all times in [s], 1000000 iterations)</b></p>
 <div class="table-contents"><table class="table" summary="Performance comparison for a sequence of several
           items (all times in [s], 1000000 iterations)">

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -41,7 +41,7 @@
           <span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>.
         </p>
 <div class="table">
-<a name="id1163816"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
+<a name="id1163619"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
 <div class="table-contents"><table class="table" summary="Spirit.Karma compound generator attribute types">
 <colgroup>
 <col>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -37,7 +37,7 @@
           and <code class="computeroutput"><span class="identifier">eps</span></code>, <code class="computeroutput"><span class="identifier">lazy</span></code> generators.
         </p>
 <a name="spirit.karma.reference.auxiliary.module_header"></a><h6>
-<a name="id1242687"></a>
+<a name="id1242551"></a>
           <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary.hpp&gt;
@@ -48,7 +48,7 @@
 <a name="spirit.karma.reference.auxiliary.eol"></a><a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol" title="eol">eol</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.auxiliary.eol.description"></a><h6>
-<a name="id1242763"></a>
+<a name="id1242627"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
           </h6>
 <p>
@@ -58,7 +58,7 @@
             details).
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
-<a name="id1242816"></a>
+<a name="id1242680"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eol.hpp&gt;
@@ -68,7 +68,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.model_of"></a><h6>
-<a name="id1242890"></a>
+<a name="id1242754"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -81,7 +81,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id1242928"></a>
+<a name="id1242792"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -121,7 +121,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id1243017"></a>
+<a name="id1242881"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -155,7 +155,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id1243095"></a>
+<a name="id1242959"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -172,7 +172,7 @@
             output.
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
-<a name="id1243123"></a>
+<a name="id1242987"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
           </h6>
 </div>
@@ -187,7 +187,7 @@
             or to insert semantic actions into the generation process.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
-<a name="id1243158"></a>
+<a name="id1243022"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
           </h6>
 <p>
@@ -199,7 +199,7 @@
             while using the return value as the criteria to succeed.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
-<a name="id1243257"></a>
+<a name="id1243121"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eps.hpp&gt;
@@ -209,7 +209,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.model_of"></a><h6>
-<a name="id1243332"></a>
+<a name="id1243196"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -236,7 +236,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id1243418"></a>
+<a name="id1243282"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -303,7 +303,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id1243605"></a>
+<a name="id1243469"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -363,7 +363,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id1243767"></a>
+<a name="id1243631"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -379,7 +379,7 @@
             The complexity is constant as no output is generated.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
-<a name="id1243795"></a>
+<a name="id1243659"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
           </h6>
 </div>
@@ -388,7 +388,7 @@
 <a name="spirit.karma.reference.auxiliary.lazy"></a><a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy">lazy</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.auxiliary.lazy.description"></a><h6>
-<a name="id1243819"></a>
+<a name="id1243683"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
           </h6>
 <p>
@@ -398,7 +398,7 @@
             its return value as the actual generator to produce the output.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
-<a name="id1243843"></a>
+<a name="id1243707"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/lazy.hpp&gt;
@@ -408,7 +408,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.model_of"></a><h6>
-<a name="id1243917"></a>
+<a name="id1243781"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
             of</a>
           </h6>
@@ -446,7 +446,7 @@
             Actions</a>).
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id1244059"></a>
+<a name="id1243923"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -509,7 +509,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id1244211"></a>
+<a name="id1244075"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -561,7 +561,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id1244360"></a>
+<a name="id1244224"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
           </h6>
 <p>
@@ -570,7 +570,7 @@
             <code class="computeroutput"><span class="identifier">fg</span></code>.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
-<a name="id1244391"></a>
+<a name="id1244255"></a>
             <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
           </h6>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/char.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/char.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -38,7 +38,7 @@
           generators.
         </p>
 <a name="spirit.karma.reference.char.module_header"></a><h6>
-<a name="id1172836"></a>
+<a name="id1173181"></a>
           <a class="link" href="char.html#spirit.karma.reference.char.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char.hpp&gt;
@@ -50,7 +50,7 @@
           Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.char.char_generator.description"></a><h6>
-<a name="id1172912"></a>
+<a name="id1173257"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.description">Description</a>
           </h6>
 <p>
@@ -177,7 +177,7 @@
             Encoding Namespace</a> used by the corresponding character generator.
           </p>
 <a name="spirit.karma.reference.char.char_generator.header"></a><h6>
-<a name="id1173364"></a>
+<a name="id1173709"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char.hpp&gt;
@@ -187,7 +187,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.char.char_generator.model_of"></a><h6>
-<a name="id1173438"></a>
+<a name="id1173784"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.model_of">Model
             of</a>
           </h6>
@@ -226,7 +226,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.char.char_generator.expression_semantics"></a><h6>
-<a name="id1173567"></a>
+<a name="id1173912"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -461,7 +461,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.char.char_generator.attributes"></a><h6>
-<a name="id1174680"></a>
+<a name="id1175022"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -583,7 +583,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.char.char_generator.complexity"></a><h6>
-<a name="id1175103"></a>
+<a name="id1175444"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -612,7 +612,7 @@
             set, where N is the number of characters in the character set.
           </p>
 <a name="spirit.karma.reference.char.char_generator.example"></a><h6>
-<a name="id1175286"></a>
+<a name="id1175628"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_generator.example">Example</a>
           </h6>
 <p>
@@ -724,7 +724,7 @@
           Class Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.char.char_class.description"></a><h6>
-<a name="id1178372"></a>
+<a name="id1178168"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.description">Description</a>
           </h6>
 <p>
@@ -927,7 +927,7 @@
             and will not compile if no attribute is associated.
           </p>
 <a name="spirit.karma.reference.char.char_class.header"></a><h6>
-<a name="id1179079"></a>
+<a name="id1178874"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char_class.hpp&gt;
@@ -937,7 +937,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.char.char_class.model_of"></a><h6>
-<a name="id1179154"></a>
+<a name="id1178949"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.model_of">Model
             of</a>
           </h6>
@@ -961,7 +961,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.char.char_class.expression_semantics"></a><h6>
-<a name="id1179222"></a>
+<a name="id1179017"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1201,7 +1201,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.char.char_class.attributes"></a><h6>
-<a name="id1180096"></a>
+<a name="id1179891"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1216,7 +1216,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.char.char_class.complexity"></a><h6>
-<a name="id1180135"></a>
+<a name="id1179930"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1233,7 +1233,7 @@
             per invocation.
           </p>
 <a name="spirit.karma.reference.char.char_class.example"></a><h6>
-<a name="id1180163"></a>
+<a name="id1179958"></a>
             <a class="link" href="char.html#spirit.karma.reference.char.char_class.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -50,7 +50,7 @@
           controlling case sensitivity (<code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code>), field width (<code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[]</span></code>), buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>), and attribute handling (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>).
         </p>
 <a name="spirit.karma.reference.directive.module_header"></a><h6>
-<a name="id1203695"></a>
+<a name="id1203670"></a>
           <a class="link" href="directive.html#spirit.karma.reference.directive.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive.hpp&gt;
@@ -62,7 +62,7 @@
           Directives (<code class="computeroutput"><span class="identifier">left_align</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">center</span><span class="special">[]</span></code>, and <code class="computeroutput"><span class="identifier">right_align</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.alignment.description"></a><h6>
-<a name="id1203804"></a>
+<a name="id1203847"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.description">Description</a>
           </h6>
 <p>
@@ -71,7 +71,7 @@
             an arbitrary generator to create the padding.
           </p>
 <a name="spirit.karma.reference.directive.alignment.header"></a><h6>
-<a name="id1203820"></a>
+<a name="id1203864"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.header">Header</a>
           </h6>
 <p>
@@ -99,7 +99,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.alignment.model_of"></a><h6>
-<a name="id1204044"></a>
+<a name="id1204087"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.model_of">Model
             of</a>
           </h6>
@@ -138,7 +138,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.alignment.expression_semantics"></a><h6>
-<a name="id1204194"></a>
+<a name="id1204237"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -417,7 +417,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.alignment.attributes"></a><h6>
-<a name="id1205233"></a>
+<a name="id1205276"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -636,7 +636,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.alignment.complexity"></a><h6>
-<a name="id1207060"></a>
+<a name="id1207218"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -654,7 +654,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.alignment.example"></a><h6>
-<a name="id1207091"></a>
+<a name="id1207250"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.example">Example</a>
           </h6>
 <p>
@@ -741,7 +741,7 @@
           Directive (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.repeat.description"></a><h6>
-<a name="id1209436"></a>
+<a name="id1209594"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.description">Description</a>
           </h6>
 <p>
@@ -749,7 +749,7 @@
             while optionally specifying the lower and upper repetition counts.
           </p>
 <a name="spirit.karma.reference.directive.repeat.header"></a><h6>
-<a name="id1209453"></a>
+<a name="id1209611"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/repeat.hpp&gt;
@@ -759,7 +759,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.repeat.model_of"></a><h6>
-<a name="id1209527"></a>
+<a name="id1209685"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.model_of">Model
             of</a>
           </h6>
@@ -791,7 +791,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.repeat.expression_semantics"></a><h6>
-<a name="id1209649"></a>
+<a name="id1209808"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -896,7 +896,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.repeat.attributes"></a><h6>
-<a name="id1210039"></a>
+<a name="id1210198"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1001,7 +1001,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.repeat.complexity"></a><h6>
-<a name="id1210758"></a>
+<a name="id1210917"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1016,7 +1016,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.repeat.example"></a><h6>
-<a name="id1210782"></a>
+<a name="id1210941"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.example">Example</a>
           </h6>
 <p>
@@ -1108,7 +1108,7 @@
           Controlling Automatic Delimiting (<code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.delimit.description"></a><h6>
-<a name="id1213103"></a>
+<a name="id1213262"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.description">Description</a>
           </h6>
 <p>
@@ -1117,7 +1117,7 @@
             while the directive <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code> (re-)enable automatic delimiting.
           </p>
 <a name="spirit.karma.reference.directive.delimit.header"></a><h6>
-<a name="id1213163"></a>
+<a name="id1213322"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.header">Header</a>
           </h6>
 <p>
@@ -1138,7 +1138,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.delimit.model_of"></a><h6>
-<a name="id1213319"></a>
+<a name="id1213478"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.model_of">Model
             of</a>
           </h6>
@@ -1172,7 +1172,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.delimit.expression_semantics"></a><h6>
-<a name="id1213445"></a>
+<a name="id1213604"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1248,7 +1248,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.delimit.attributes"></a><h6>
-<a name="id1213679"></a>
+<a name="id1213838"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1320,7 +1320,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.delimit.complexity"></a><h6>
-<a name="id1214123"></a>
+<a name="id1214282"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1336,7 +1336,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.delimit.example"></a><h6>
-<a name="id1214169"></a>
+<a name="id1214327"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.example">Example</a>
           </h6>
 <p>
@@ -1423,7 +1423,7 @@
           Controlling Case Sensitivity (<code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.upperlower.description"></a><h6>
-<a name="id1215731"></a>
+<a name="id1215480"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.description">Description</a>
           </h6>
 <p>
@@ -1433,7 +1433,7 @@
             Encoding Namespace</a>).
           </p>
 <a name="spirit.karma.reference.directive.upperlower.header"></a><h6>
-<a name="id1215796"></a>
+<a name="id1215545"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/upper_lower_case.hpp&gt;
@@ -1443,7 +1443,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.upperlower.model_of"></a><h6>
-<a name="id1215870"></a>
+<a name="id1215619"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.model_of">Model
             of</a>
           </h6>
@@ -1475,7 +1475,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.upperlower.expression_semantics"></a><h6>
-<a name="id1215979"></a>
+<a name="id1215728"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1557,7 +1557,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.upperlower.attributes"></a><h6>
-<a name="id1216246"></a>
+<a name="id1215995"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1613,7 +1613,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.upperlower.complexity"></a><h6>
-<a name="id1216564"></a>
+<a name="id1216313"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1630,7 +1630,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.upperlower.example"></a><h6>
-<a name="id1216624"></a>
+<a name="id1216373"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.example">Example</a>
           </h6>
 <p>
@@ -1712,7 +1712,7 @@
           the Maximum Field Wield (<code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.maxwidth.description"></a><h6>
-<a name="id1217409"></a>
+<a name="id1217157"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.description">Description</a>
           </h6>
 <p>
@@ -1721,7 +1721,7 @@
             generated by the embedded generator.
           </p>
 <a name="spirit.karma.reference.directive.maxwidth.header"></a><h6>
-<a name="id1217436"></a>
+<a name="id1217185"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/maxwidth.hpp&gt;
@@ -1731,7 +1731,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.maxwidth.model_of"></a><h6>
-<a name="id1217511"></a>
+<a name="id1217259"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.model_of">Model
             of</a>
           </h6>
@@ -1763,7 +1763,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.maxwidth.expression_semantics"></a><h6>
-<a name="id1217623"></a>
+<a name="id1217372"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1852,7 +1852,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.maxwidth.attributes"></a><h6>
-<a name="id1219125"></a>
+<a name="id1219283"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1908,7 +1908,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.maxwidth.complexity"></a><h6>
-<a name="id1219421"></a>
+<a name="id1219579"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1924,7 +1924,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.maxwidth.example"></a><h6>
-<a name="id1219463"></a>
+<a name="id1219621"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.maxwidth.example">Example</a>
           </h6>
 <p>
@@ -2008,7 +2008,7 @@
           Output Buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.buffer.description"></a><h6>
-<a name="id1220278"></a>
+<a name="id1220436"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.description">Description</a>
           </h6>
 <p>
@@ -2022,7 +2022,7 @@
             underlying stream only after the embedded generator succeeded.
           </p>
 <a name="spirit.karma.reference.directive.buffer.header"></a><h6>
-<a name="id1220307"></a>
+<a name="id1220465"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/buffer.hpp&gt;
@@ -2032,7 +2032,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.buffer.model_of"></a><h6>
-<a name="id1220381"></a>
+<a name="id1220539"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.model_of">Model
             of</a>
           </h6>
@@ -2059,7 +2059,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.buffer.expression_semantics"></a><h6>
-<a name="id1220470"></a>
+<a name="id1220628"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -2115,7 +2115,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.buffer.attributes"></a><h6>
-<a name="id1220643"></a>
+<a name="id1220801"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -2153,7 +2153,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.buffer.complexity"></a><h6>
-<a name="id1220803"></a>
+<a name="id1220962"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -2168,7 +2168,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.buffer.example"></a><h6>
-<a name="id1220827"></a>
+<a name="id1220986"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.buffer.example">Example</a>
           </h6>
 <p>
@@ -2258,7 +2258,7 @@
           (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.omit.description"></a><h6>
-<a name="id1221995"></a>
+<a name="id1222141"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.description">Description</a>
           </h6>
 <p>
@@ -2266,7 +2266,7 @@
             any output.
           </p>
 <a name="spirit.karma.reference.directive.omit.header"></a><h6>
-<a name="id1222012"></a>
+<a name="id1222158"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/omit.hpp&gt;
@@ -2276,7 +2276,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.omit.model_of"></a><h6>
-<a name="id1222086"></a>
+<a name="id1222232"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.model_of">Model
             of</a>
           </h6>
@@ -2303,7 +2303,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.omit.expression_semantics"></a><h6>
-<a name="id1222175"></a>
+<a name="id1222321"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -2344,7 +2344,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.omit.attributes"></a><h6>
-<a name="id1222289"></a>
+<a name="id1222435"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -2382,7 +2382,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.omit.complexity"></a><h6>
-<a name="id1222450"></a>
+<a name="id1222596"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -2396,7 +2396,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.directive.omit.example"></a><h6>
-<a name="id1222481"></a>
+<a name="id1222627"></a>
             <a class="link" href="directive.html#spirit.karma.reference.directive.omit.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -50,7 +50,7 @@
 <a name="spirit.karma.reference.generator_concepts.generator"></a><a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator" title="Generator">Generator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.generator.description"></a><h6>
-<a name="id1167543"></a>
+<a name="id1167891"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator.description">Description</a>
           </h6>
 <p>
@@ -104,7 +104,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.generator.valid_expressions"></a><h6>
-<a name="id1167797"></a>
+<a name="id1168146"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -187,7 +187,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.generator.type_expressions"></a><h6>
-<a name="id1168058"></a>
+<a name="id1168953"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -254,7 +254,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.generator.postcondition"></a><h6>
-<a name="id1168323"></a>
+<a name="id1169218"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator.postcondition">Postcondition</a>
           </h6>
 <p>
@@ -276,7 +276,7 @@
             </li>
 </ul></div>
 <a name="spirit.karma.reference.generator_concepts.generator.models"></a><h6>
-<a name="id1168393"></a>
+<a name="id1169288"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator.models">Models</a>
           </h6>
 <p>
@@ -289,7 +289,7 @@
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator"></a><a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator">PrimitiveGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.description"></a><h6>
-<a name="id1168435"></a>
+<a name="id1169330"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator.description">Description</a>
           </h6>
 <p>
@@ -297,7 +297,7 @@
             that the client uses to build more complex generators.
           </p>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of"></a><h6>
-<a name="id1168455"></a>
+<a name="id1169350"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -311,7 +311,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit"></a><h6>
-<a name="id1168489"></a>
+<a name="id1169384"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit">Post-delimit</a>
           </h6>
 <p>
@@ -324,7 +324,7 @@
 <pre class="programlisting"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">delimit_out</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">delimit</span><span class="special">);</span>
 </pre>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions"></a><h6>
-<a name="id1168562"></a>
+<a name="id1169457"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -363,7 +363,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.models"></a><h6>
-<a name="id1168696"></a>
+<a name="id1169591"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator.models">Models</a>
           </h6>
 <p>
@@ -394,7 +394,7 @@
 <a name="spirit.karma.reference.generator_concepts.unarygenerator"></a><a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator" title="UnaryGenerator">UnaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.description"></a><h6>
-<a name="id1168788"></a>
+<a name="id1169682"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.description">Description</a>
           </h6>
 <p>
@@ -403,7 +403,7 @@
             following the Delegate Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.refinement_of"></a><h6>
-<a name="id1168808"></a>
+<a name="id1169703"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -430,7 +430,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions"></a><h6>
-<a name="id1168885"></a>
+<a name="id1169780"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -480,7 +480,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.type_expressions"></a><h6>
-<a name="id1169000"></a>
+<a name="id1169895"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -533,7 +533,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.invariants"></a><h6>
-<a name="id1169166"></a>
+<a name="id1170060"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -544,7 +544,7 @@
 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special">&lt;</span><span class="identifier">G</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
 </li></ul></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.models"></a><h6>
-<a name="id1169251"></a>
+<a name="id1170146"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator.models">Models</a>
           </h6>
 <p>
@@ -606,7 +606,7 @@
 <a name="spirit.karma.reference.generator_concepts.binarygenerator"></a><a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator" title="BinaryGenerator">BinaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.description"></a><h6>
-<a name="id1169539"></a>
+<a name="id1170434"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.description">Description</a>
           </h6>
 <p>
@@ -618,7 +618,7 @@
             Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.refinement_of"></a><h6>
-<a name="id1169586"></a>
+<a name="id1170480"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -645,7 +645,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions"></a><h6>
-<a name="id1169662"></a>
+<a name="id1170557"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -714,7 +714,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.type_expressions"></a><h6>
-<a name="id1169824"></a>
+<a name="id1170719"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -779,7 +779,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.invariants"></a><h6>
-<a name="id1170024"></a>
+<a name="id1170918"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -795,7 +795,7 @@
 </li>
 </ul></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.models"></a><h6>
-<a name="id1170160"></a>
+<a name="id1171055"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.binarygenerator.models">Models</a>
           </h6>
 <p>
@@ -814,7 +814,7 @@
 <a name="spirit.karma.reference.generator_concepts.narygenerator"></a><a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator" title="NaryGenerator">NaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.description"></a><h6>
-<a name="id1171943"></a>
+<a name="id1172289"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.description">Description</a>
           </h6>
 <p>
@@ -824,7 +824,7 @@
             Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.refinement_of"></a><h6>
-<a name="id1171974"></a>
+<a name="id1172320"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -851,7 +851,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.valid_expressions"></a><h6>
-<a name="id1172051"></a>
+<a name="id1172397"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -902,7 +902,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.type_expressions"></a><h6>
-<a name="id1172171"></a>
+<a name="id1172517"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -955,7 +955,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.invariants"></a><h6>
-<a name="id1172338"></a>
+<a name="id1172683"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -967,7 +967,7 @@
 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
 </li></ul></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.models"></a><h6>
-<a name="id1172423"></a>
+<a name="id1172769"></a>
             <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.narygenerator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.karma_basics"></a><a class="link" href="karma_basics.html" title="Basics"> Basics</a>
 </h4></div></div></div>
 <a name="spirit.karma.reference.karma_basics.lazy_argument"></a><h6>
-<a name="id1172498"></a>
+<a name="id1172843"></a>
           <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
           Argument</a>
         </h6>
@@ -53,7 +53,7 @@
           Actions</a>).
         </p>
 <a name="spirit.karma.reference.karma_basics.character_encoding_namespace"></a><h6>
-<a name="id1172638"></a>
+<a name="id1172983"></a>
           <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
           Encoding Namespace</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -40,7 +40,7 @@
           integer, and floating point number generators.
         </p>
 <a name="spirit.karma.reference.numeric.module_header"></a><h6>
-<a name="id1181261"></a>
+<a name="id1180889"></a>
           <a class="link" href="numeric.html#spirit.karma.reference.numeric.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric.hpp&gt;
@@ -52,7 +52,7 @@
           Integer Number Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.signed_int.description"></a><h6>
-<a name="id1181337"></a>
+<a name="id1180965"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.description">Description</a>
           </h6>
 <p>
@@ -310,7 +310,7 @@
             of Numeric Generators</a>
           </p>
 <a name="spirit.karma.reference.numeric.signed_int.header"></a><h6>
-<a name="id1182138"></a>
+<a name="id1181766"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/int.hpp&gt;
@@ -320,7 +320,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.signed_int.model_of"></a><h6>
-<a name="id1182213"></a>
+<a name="id1181841"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.model_of">Model
             of</a>
           </h6>
@@ -350,7 +350,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.signed_int.expression_semantics"></a><h6>
-<a name="id1182315"></a>
+<a name="id1181943"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -527,7 +527,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.additional_requirements"></a><h6>
-<a name="id1182970"></a>
+<a name="id1183686"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -582,7 +582,7 @@
             </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.signed_int.attributes"></a><h6>
-<a name="id1183421"></a>
+<a name="id1184137"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -768,7 +768,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.complexity"></a><h6>
-<a name="id1183978"></a>
+<a name="id1184694"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -782,7 +782,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.numeric.signed_int.example"></a><h6>
-<a name="id1184009"></a>
+<a name="id1184725"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.signed_int.example">Example</a>
           </h6>
 <p>
@@ -886,7 +886,7 @@
           Integer Number Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.description"></a><h6>
-<a name="id1186900"></a>
+<a name="id1187070"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.description">Description</a>
           </h6>
 <p>
@@ -1249,7 +1249,7 @@
             of Numeric Generators</a>
           </p>
 <a name="spirit.karma.reference.numeric.unsigned_int.header"></a><h6>
-<a name="id1187964"></a>
+<a name="id1188134"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/uint.hpp&gt;
@@ -1259,7 +1259,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.unsigned_int.model_of"></a><h6>
-<a name="id1188039"></a>
+<a name="id1188209"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.model_of">Model
             of</a>
           </h6>
@@ -1289,7 +1289,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.unsigned_int.expression_semantics"></a><h6>
-<a name="id1188138"></a>
+<a name="id1188308"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1497,7 +1497,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.additional_requirements"></a><h6>
-<a name="id1188790"></a>
+<a name="id1188960"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -1549,7 +1549,7 @@
             </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.attributes"></a><h6>
-<a name="id1189572"></a>
+<a name="id1189605"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1775,7 +1775,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.complexity"></a><h6>
-<a name="id1190281"></a>
+<a name="id1190314"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1789,7 +1789,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.example"></a><h6>
-<a name="id1190312"></a>
+<a name="id1190346"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.unsigned_int.example">Example</a>
           </h6>
 <p>
@@ -1893,7 +1893,7 @@
           Point Number Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.floating_point.description"></a><h6>
-<a name="id1191554"></a>
+<a name="id1191587"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.description">Description</a>
           </h6>
 <p>
@@ -2116,7 +2116,7 @@
             of Floating Point Numeric Generators</a>
           </p>
 <a name="spirit.karma.reference.numeric.floating_point.header"></a><h6>
-<a name="id1192214"></a>
+<a name="id1192247"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/real.hpp&gt;
@@ -2126,7 +2126,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.floating_point.model_of"></a><h6>
-<a name="id1192288"></a>
+<a name="id1192321"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.model_of">Model
             of</a>
           </h6>
@@ -2156,7 +2156,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.floating_point.expression_semantics"></a><h6>
-<a name="id1192388"></a>
+<a name="id1192421"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -2307,7 +2307,7 @@
             see <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.floating_point_formatting_policies">below</a>).
           </p>
 <a name="spirit.karma.reference.numeric.floating_point.additional_requirements"></a><h6>
-<a name="id1192946"></a>
+<a name="id1192979"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -2344,7 +2344,7 @@
             </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.floating_point.attributes"></a><h6>
-<a name="id1193258"></a>
+<a name="id1193291"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -2502,7 +2502,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.floating_point.floating_point_formatting_policies"></a><h6>
-<a name="id1199411"></a>
+<a name="id1197116"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.floating_point_formatting_policies">Floating
             Point Formatting Policies</a>
           </h6>
@@ -2535,7 +2535,7 @@
             be used as the attribute type of the created floating point generator.
           </p>
 <a name="spirit.karma.reference.numeric.floating_point.floating_point_formatting_policy_expression_semantics"></a><h6>
-<a name="id1199766"></a>
+<a name="id1197472"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.floating_point_formatting_policy_expression_semantics">Floating
             Point Formatting Policy Expression Semantics</a>
           </h6>
@@ -3053,7 +3053,7 @@
             of the formatting which need to be changed.
           </p>
 <a name="spirit.karma.reference.numeric.floating_point.complexity"></a><h6>
-<a name="id1202230"></a>
+<a name="id1202205"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -3068,7 +3068,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.numeric.floating_point.example"></a><h6>
-<a name="id1202264"></a>
+<a name="id1202238"></a>
             <a class="link" href="numeric.html#spirit.karma.reference.numeric.floating_point.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -54,7 +54,7 @@
           and the <span class="emphasis"><em>not</em></span> predicate (unary <code class="computeroutput"><span class="special">!</span></code>).
         </p>
 <a name="spirit.karma.reference.operator.module_header"></a><h6>
-<a name="id1224991"></a>
+<a name="id1225133"></a>
           <a class="link" href="operator.html#spirit.karma.reference.operator.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator.hpp&gt;
@@ -66,7 +66,7 @@
           (<code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.sequence.description"></a><h6>
-<a name="id1225078"></a>
+<a name="id1225219"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.description">Description</a>
           </h6>
 <p>
@@ -75,7 +75,7 @@
             to right as long as they succeed.
           </p>
 <a name="spirit.karma.reference.operator.sequence.header"></a><h6>
-<a name="id1225094"></a>
+<a name="id1225236"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/sequence.hpp&gt;
@@ -85,7 +85,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.sequence.model_of"></a><h6>
-<a name="id1225169"></a>
+<a name="id1225310"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.model_of">Model
             of</a>
           </h6>
@@ -99,7 +99,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.sequence.expression_semantics"></a><h6>
-<a name="id1225205"></a>
+<a name="id1225346"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -171,7 +171,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.sequence.attributes"></a><h6>
-<a name="id1225398"></a>
+<a name="id1225539"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -244,7 +244,7 @@
             the attribute supplied
           </p>
 <a name="spirit.karma.reference.operator.sequence.complexity"></a><h6>
-<a name="id1226196"></a>
+<a name="id1226337"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -259,7 +259,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.sequence.example"></a><h6>
-<a name="id1226220"></a>
+<a name="id1226361"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.sequence.example">Example</a>
           </h6>
 <p>
@@ -340,7 +340,7 @@
           (<code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.alternative.description"></a><h6>
-<a name="id1227045"></a>
+<a name="id1227733"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.description">Description</a>
           </h6>
 <p>
@@ -349,7 +349,7 @@
             from left to right until one of them succeeds.
           </p>
 <a name="spirit.karma.reference.operator.alternative.header"></a><h6>
-<a name="id1227062"></a>
+<a name="id1227750"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/alternative.hpp&gt;
@@ -359,7 +359,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.alternative.model_of"></a><h6>
-<a name="id1227137"></a>
+<a name="id1227824"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.model_of">Model
             of</a>
           </h6>
@@ -373,7 +373,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.alternative.expression_semantics"></a><h6>
-<a name="id1227170"></a>
+<a name="id1227858"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -425,7 +425,7 @@
             an element succeeded.
           </p>
 <a name="spirit.karma.reference.operator.alternative.attributes"></a><h6>
-<a name="id1227282"></a>
+<a name="id1227969"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -487,7 +487,7 @@
             an example of this behavior.
           </p>
 <a name="spirit.karma.reference.operator.alternative.complexity"></a><h6>
-<a name="id1227781"></a>
+<a name="id1228468"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -503,7 +503,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.alternative.example"></a><h6>
-<a name="id1227805"></a>
+<a name="id1228492"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.alternative.example">Example</a>
           </h6>
 <p>
@@ -608,7 +608,7 @@
           (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.kleene.description"></a><h6>
-<a name="id1228898"></a>
+<a name="id1229586"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.description">Description</a>
           </h6>
 <p>
@@ -617,7 +617,7 @@
             generator, the Kleene star generator always succeeds.
           </p>
 <a name="spirit.karma.reference.operator.kleene.header"></a><h6>
-<a name="id1228915"></a>
+<a name="id1229602"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/kleene.hpp&gt;
@@ -627,7 +627,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.kleene.model_of"></a><h6>
-<a name="id1230108"></a>
+<a name="id1229698"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.model_of">Model
             of</a>
           </h6>
@@ -641,7 +641,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.kleene.expression_semantics"></a><h6>
-<a name="id1230146"></a>
+<a name="id1229737"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -685,7 +685,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.kleene.attributes"></a><h6>
-<a name="id1230253"></a>
+<a name="id1229844"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -784,7 +784,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.kleene.complexity"></a><h6>
-<a name="id1230578"></a>
+<a name="id1230169"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -801,7 +801,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.kleene.example"></a><h6>
-<a name="id1230602"></a>
+<a name="id1230193"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.kleene.example">Example</a>
           </h6>
 <p>
@@ -887,7 +887,7 @@
           <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.plus.description"></a><h6>
-<a name="id1231521"></a>
+<a name="id1231112"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.description">Description</a>
           </h6>
 <p>
@@ -896,7 +896,7 @@
             executed at least once.
           </p>
 <a name="spirit.karma.reference.operator.plus.header"></a><h6>
-<a name="id1231538"></a>
+<a name="id1231129"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/plus.hpp&gt;
@@ -906,7 +906,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.plus.model_of"></a><h6>
-<a name="id1231612"></a>
+<a name="id1231203"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -919,7 +919,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.plus.expression_semantics"></a><h6>
-<a name="id1231651"></a>
+<a name="id1231242"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -964,7 +964,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.attributes"></a><h6>
-<a name="id1231758"></a>
+<a name="id1231348"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1063,7 +1063,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.complexity"></a><h6>
-<a name="id1232083"></a>
+<a name="id1231674"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1079,7 +1079,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.plus.example"></a><h6>
-<a name="id1232107"></a>
+<a name="id1231698"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.plus.example">Example</a>
           </h6>
 <p>
@@ -1180,7 +1180,7 @@
 <a name="spirit.karma.reference.operator.list"></a><a class="link" href="operator.html#spirit.karma.reference.operator.list" title="Lists (operator%())"> Lists (<code class="computeroutput"><span class="keyword">operator</span><span class="special">%()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.list.description"></a><h6>
-<a name="id1234397"></a>
+<a name="id1234534"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.description">Description</a>
           </h6>
 <p>
@@ -1190,7 +1190,7 @@
             at least once.
           </p>
 <a name="spirit.karma.reference.operator.list.header"></a><h6>
-<a name="id1234414"></a>
+<a name="id1234551"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/list.hpp&gt;
@@ -1200,7 +1200,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.list.model_of"></a><h6>
-<a name="id1234489"></a>
+<a name="id1234626"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1213,7 +1213,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.list.expression_semantics"></a><h6>
-<a name="id1234527"></a>
+<a name="id1234664"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1266,7 +1266,7 @@
             the list generator.
           </p>
 <a name="spirit.karma.reference.operator.list.attributes"></a><h6>
-<a name="id1234708"></a>
+<a name="id1234845"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1379,7 +1379,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.list.complexity"></a><h6>
-<a name="id1235110"></a>
+<a name="id1235247"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1395,7 +1395,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.list.example"></a><h6>
-<a name="id1235134"></a>
+<a name="id1235271"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.list.example">Example</a>
           </h6>
 <p>
@@ -1481,7 +1481,7 @@
           (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.optional.description"></a><h6>
-<a name="id1236339"></a>
+<a name="id1236203"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.description">Description</a>
           </h6>
 <p>
@@ -1489,7 +1489,7 @@
             It succeeds always.
           </p>
 <a name="spirit.karma.reference.operator.optional.header"></a><h6>
-<a name="id1236356"></a>
+<a name="id1236220"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/optional.hpp&gt;
@@ -1499,7 +1499,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.optional.model_of"></a><h6>
-<a name="id1236430"></a>
+<a name="id1236294"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.model_of">Model
             of</a>
           </h6>
@@ -1513,7 +1513,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.optional.expression_semantics"></a><h6>
-<a name="id1236469"></a>
+<a name="id1236333"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1555,7 +1555,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.optional.attributes"></a><h6>
-<a name="id1236568"></a>
+<a name="id1236432"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1637,7 +1637,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.optional.complexity"></a><h6>
-<a name="id1236865"></a>
+<a name="id1236729"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1652,7 +1652,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.optional.example"></a><h6>
-<a name="id1236889"></a>
+<a name="id1236753"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.optional.example">Example</a>
           </h6>
 <p>
@@ -1750,7 +1750,7 @@
           Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.and_predicate.description"></a><h6>
-<a name="id1237827"></a>
+<a name="id1237691"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.description">Description</a>
           </h6>
 <p>
@@ -1759,7 +1759,7 @@
             succeeds.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.header"></a><h6>
-<a name="id1237846"></a>
+<a name="id1237710"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/and_predicate.hpp&gt;
@@ -1769,7 +1769,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.model_of"></a><h6>
-<a name="id1237921"></a>
+<a name="id1237785"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.model_of">Model
             of</a>
           </h6>
@@ -1783,7 +1783,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.expression_semantics"></a><h6>
-<a name="id1237957"></a>
+<a name="id1237821"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -1830,7 +1830,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.attributes"></a><h6>
-<a name="id1238060"></a>
+<a name="id1237924"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -1878,7 +1878,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.and_predicate.complexity"></a><h6>
-<a name="id1239432"></a>
+<a name="id1239296"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -1893,7 +1893,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.example"></a><h6>
-<a name="id1239458"></a>
+<a name="id1239322"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.and_predicate.example">Example</a>
           </h6>
 <p>
@@ -1981,7 +1981,7 @@
           Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.not_predicate.description"></a><h6>
-<a name="id1240532"></a>
+<a name="id1240396"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.description">Description</a>
           </h6>
 <p>
@@ -1990,7 +1990,7 @@
             fails.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.header"></a><h6>
-<a name="id1240552"></a>
+<a name="id1240416"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/not_predicate.hpp&gt;
@@ -2000,7 +2000,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.model_of"></a><h6>
-<a name="id1240626"></a>
+<a name="id1240490"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.model_of">Model
             of</a>
           </h6>
@@ -2014,7 +2014,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.expression_semantics"></a><h6>
-<a name="id1240662"></a>
+<a name="id1240526"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -2061,7 +2061,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.attributes"></a><h6>
-<a name="id1240765"></a>
+<a name="id1240629"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -2109,7 +2109,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.not_predicate.complexity"></a><h6>
-<a name="id1240892"></a>
+<a name="id1240756"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -2124,7 +2124,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.example"></a><h6>
-<a name="id1240919"></a>
+<a name="id1240783"></a>
             <a class="link" href="operator.html#spirit.karma.reference.operator.not_predicate.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -28,7 +28,7 @@
         Generator Attributes</a>
 </h4></div></div></div>
 <a name="spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators"></a><h6>
-<a name="id1149899"></a>
+<a name="id1150006"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators">Attributes
           of Primitive Generators</a>
         </h6>
@@ -59,7 +59,7 @@
 <span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
 </pre>
 <a name="spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators"></a><h6>
-<a name="id1150091"></a>
+<a name="id1150198"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators">Attributes
           of Compound Generators</a>
         </h6>
@@ -118,7 +118,7 @@
           Attribute Rules</a>.
         </p>
 <a name="spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators"></a><h6>
-<a name="id1150435"></a>
+<a name="id1150543"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators">The
           Attribute of Sequence Generators</a>
         </h6>
@@ -185,7 +185,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.karma_attributes.the_attribute_of_alternative_generators"></a><h6>
-<a name="id1151054"></a>
+<a name="id1151410"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.the_attribute_of_alternative_generators">The
           Attribute of Alternative Generators</a>
         </h6>
@@ -214,7 +214,7 @@
           well. We will apply this rule later for our complex number generators.
         </p>
 <a name="spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators"></a><h6>
-<a name="id1151251"></a>
+<a name="id1151607"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators">More
           About Attributes of Compound Generators</a>
         </h6>
@@ -321,7 +321,7 @@
           again, allowing to simplify the overall attribute type of an expression.
         </p>
 <a name="spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars"></a><h6>
-<a name="id1151987"></a>
+<a name="id1152343"></a>
           <a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars">Attributes
           of Rules and Grammars</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
 </h4></div></div></div>
 <a name="spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_"></a><h6>
-<a name="id1144308"></a>
+<a name="id1143852"></a>
           <a class="link" href="quick_start.html#spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_">Spirit.Karma
           - what's that?</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -269,7 +269,7 @@
           The examples above can be found here: actions.cpp
         </p>
 <a name="spirit.karma.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1149005"></a>
+<a name="id1149112"></a>
           <a class="link" href="semantic_actions.html#spirit.karma.tutorials.semantic_actions.phoenix">Phoenix</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -31,7 +31,7 @@
           We will start from trivial examples, ramping up as we go.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number"></a><h6>
-<a name="id1144434"></a>
+<a name="id1143978"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number">Trivial
           Example #1 Generating a number</a>
         </h6>
@@ -51,7 +51,7 @@
           to a floating point generator or parser: <code class="computeroutput"><span class="identifier">double_</span></code>.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers"></a><h6>
-<a name="id1144477"></a>
+<a name="id1144021"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers">Trivial
           Example #2 Generating two numbers</a>
         </h6>
@@ -89,7 +89,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers"></a><h6>
-<a name="id1144562"></a>
+<a name="id1144106"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers">Trivial
           Example #3 Generating one or more numbers</a>
         </h6>
@@ -114,7 +114,7 @@
           numbers, if needed.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1144610"></a>
+<a name="id1144154"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers">Trivial
           Example #4 Generating a comma-delimited list of numbers</a>
         </h6>
@@ -137,7 +137,7 @@
           in the generated output zero or more times.
         </p>
 <a name="spirit.karma.tutorials.warming_up.let_s_generate_"></a><h6>
-<a name="id1144744"></a>
+<a name="id1144289"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.let_s_generate_">Let's
           Generate!</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -67,7 +67,7 @@
             of the <span class="emphasis"><em>Spirit.Lex</em></span> library.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token"></a><h6>
-<a name="id1262788"></a>
+<a name="id1262790"></a>
             <a class="link" href="lexer_primitives.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token">The
             Anatomy of a Token</a>
           </h6>
@@ -203,7 +203,7 @@
             when it is requested for the first time.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition"></a><h6>
-<a name="id1263282"></a>
+<a name="id1263284"></a>
             <a class="link" href="lexer_primitives.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition">The
             Physiognomy of a Token Definition</a>
           </h6>
@@ -276,7 +276,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_"></a><h6>
-<a name="id1263538"></a>
+<a name="id1263540"></a>
             <a class="link" href="lexer_primitives.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_">Examples
             of using <a class="link" href="../reference/token_class.html" title="Token Class"><code class="computeroutput"><span class="identifier">lexertl_token</span><span class="special">&lt;&gt;</span></code></a></a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -105,7 +105,7 @@
 <span class="keyword">void</span> <span class="identifier">f</span> <span class="special">();</span>
 </pre>
 <a name="spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action"></a><h6>
-<a name="id1267977"></a>
+<a name="id1267832"></a>
           <a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action">The
           context of a lexer semantic action</a>
         </h6>
@@ -120,7 +120,7 @@
           of the available functionality.
         </p>
 <div class="table">
-<a name="id1267997"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
+<a name="id1267852"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
         semantic action</b></p>
 <div class="table-contents"><table class="table" summary="Functions exposed by any context passed to a lexer
         semantic action">
@@ -241,7 +241,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix"></a><h6>
-<a name="id1268515"></a>
+<a name="id1268370"></a>
           <a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix">Lexer
           Semantic Actions Using Phoenix</a>
         </h6>
@@ -253,7 +253,7 @@
           predefined Spirit placeholders:
         </p>
 <div class="table">
-<a name="id1268538"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
+<a name="id1268393"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
         actions</b></p>
 <div class="table-contents"><table class="table" summary="Predefined Phoenix placeholders for lexer semantic
         actions">
@@ -384,7 +384,7 @@
           table lists the available support functions and describes their functionality:
         </p>
 <div class="table">
-<a name="id1268817"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
+<a name="id1268672"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
         inside lexer semantic actions</b></p>
 <div class="table-contents"><table class="table" summary="Support functions usable from Phoenix expressions
         inside lexer semantic actions">

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,17 +27,17 @@
 <a name="spirit.lex.abstracts.lexer_states"></a><a class="link" href="lexer_states.html" title="Lexer States"> Lexer States</a>
 </h4></div></div></div>
 <a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions"></a><h6>
-<a name="id1277710"></a>
+<a name="id1277560"></a>
           <a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions">Controlling
           the Lexer State from Lexer Semantic Actions</a>
         </h6>
 <a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions"></a><h6>
-<a name="id1277723"></a>
+<a name="id1277574"></a>
           <a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions">Controlling
           the Lexer State from Parser Semantic Actions</a>
         </h6>
 <a name="spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser"></a><h6>
-<a name="id1277736"></a>
+<a name="id1277587"></a>
           <a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser">Using
           a Lexer State for the Skip Parser</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -176,7 +176,7 @@
 <p>
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h6>
-<a name="id1271529"></a>
+<a name="id1271380"></a>
           <a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer">Generating
           the Static Analyzer</a>
         </h6>
@@ -225,7 +225,7 @@
           the next topic (the full generated code can be viewed here).
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer"></a><h6>
-<a name="id1271857"></a>
+<a name="id1271707"></a>
           <a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer">Modifying
           the Dynamic Analyzer</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -28,7 +28,7 @@
         Input Data</a>
 </h4></div></div></div>
 <a name="spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function"></a><h6>
-<a name="id1265139"></a>
+<a name="id1264448"></a>
           <a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function">The
           tokenize function</a>
         </h6>
@@ -228,7 +228,7 @@
 </dl>
 </div>
 <a name="spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function"></a><h6>
-<a name="id1267355"></a>
+<a name="id1267210"></a>
           <a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function">The
           generate_static function</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -56,7 +56,7 @@
         </li>
 </ul></div>
 <a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h5>
-<a name="id1249917"></a>
+<a name="id1249235"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.why_use_a_separate_lexer_">Why
         Use a Separate Lexer?</a>
       </h5>
@@ -155,7 +155,7 @@
         grammar recognizers.
       </p>
 <a name="spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1250126"></a>
+<a name="id1249444"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_">Advantages
         of using <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h5>
@@ -203,7 +203,7 @@
         application.
       </p>
 <a name="spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1250229"></a>
+<a name="id1249547"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_">The
         Library Structure of <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h5>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/concepts.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/concepts.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/concepts.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -36,7 +36,7 @@
 <a name="spirit.lex.reference.concepts.lexer"></a><a class="link" href="concepts.html#spirit.lex.reference.concepts.lexer" title="Lexer">Lexer</a>
 </h5></div></div></div>
 <div class="table">
-<a name="id1277788"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
+<a name="id1277638"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
 <div class="table-contents"><table class="table" summary="Regular expressions support">
 <colgroup>
 <col>
@@ -511,7 +511,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.lex.reference.concepts.lexer.regular_expression_precedence"></a><h6>
-<a name="id1279366"></a>
+<a name="id1279216"></a>
             <a class="link" href="concepts.html#spirit.lex.reference.concepts.lexer.regular_expression_precedence">Regular
             Expression Precedence</a>
           </h6>
@@ -530,7 +530,7 @@
             </li>
 </ul></div>
 <a name="spirit.lex.reference.concepts.lexer.macros"></a><h6>
-<a name="id1279469"></a>
+<a name="id1279320"></a>
             <a class="link" href="concepts.html#spirit.lex.reference.concepts.lexer.macros">Macros</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,22 +27,22 @@
 <a name="spirit.lex.reference.lexer_class"></a><a class="link" href="lexer_class.html" title="Lexer Class">Lexer Class</a>
 </h4></div></div></div>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1279581"></a>
+<a name="id1279431"></a>
           <a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model">The
           lexertl_lexer Class Implementing the Dynamic Model</a>
         </h6>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1279594"></a>
+<a name="id1279444"></a>
           <a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model">The
           lexertl_actor_lexer Class Implementing the Dynamic Model</a>
         </h6>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1279607"></a>
+<a name="id1279458"></a>
           <a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model">The
           lexertl_static_lexer Class Implementing the Static Model</a>
         </h6>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1279620"></a>
+<a name="id1279471"></a>
           <a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model">The
           lexertl_static_actor_lexer Class Implementing the Static Model</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -39,7 +39,7 @@
           (for the full example code see here: word_count_functor.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.prerequisites"></a><h6>
-<a name="id1250498"></a>
+<a name="id1249816"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -78,7 +78,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.defining_tokens"></a><h6>
-<a name="id1250872"></a>
+<a name="id1250736"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.defining_tokens">Defining
           Tokens</a>
         </h6>
@@ -133,7 +133,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work"></a><h6>
-<a name="id1251180"></a>
+<a name="id1251044"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work">Doing
           the Useful Work</a>
         </h6>
@@ -198,7 +198,7 @@
           as well.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together"></a><h6>
-<a name="id1251680"></a>
+<a name="id1251544"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together">Pulling
           Everything Together</a>
         </h6>
@@ -251,7 +251,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_"></a><h6>
-<a name="id1252506"></a>
+<a name="id1252370"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_">Comparing
           <span class="emphasis"><em>Spirit.Lex</em></span> with Flex</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -40,7 +40,7 @@
           options along the lines (for the full example code see here: word_count_lexer.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.prerequisites"></a><h6>
-<a name="id1254654"></a>
+<a name="id1254518"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -114,7 +114,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_"></a><h6>
-<a name="id1255303"></a>
+<a name="id1255167"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_">Semantic
           Actions in <span class="emphasis"><em>Spirit.Lex</em></span></a>
         </h6>
@@ -173,7 +173,7 @@
           Semantic Actions</a>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer"></a><h6>
-<a name="id1255921"></a>
+<a name="id1255785"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer">Associating
           Token Definitions with the Lexer</a>
         </h6>
@@ -209,7 +209,7 @@
           with the constant defined by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">lex</span><span class="special">::</span><span class="identifier">min_token_id</span></code>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together"></a><h6>
-<a name="id1256209"></a>
+<a name="id1256073"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together">Pulling
           everything together</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -65,7 +65,7 @@
           code see here: word_count.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.prerequisites"></a><h6>
-<a name="id1257281"></a>
+<a name="id1257691"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -115,7 +115,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.defining_tokens"></a><h6>
-<a name="id1257712"></a>
+<a name="id1258122"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.defining_tokens">Defining
           Tokens</a>
         </h6>
@@ -168,7 +168,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers"></a><h6>
-<a name="id1258049"></a>
+<a name="id1258459"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers">Using
           Token Definition Instances as Parsers</a>
         </h6>
@@ -322,7 +322,7 @@
           <span class="identifier">size</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)</span></code>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together"></a><h6>
-<a name="id1261802"></a>
+<a name="id1261804"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together">Pulling
           Everything Together</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html (original)
+++ trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -40,7 +40,7 @@
         <a href="http://spirit.sourceforge.net" target="_top">Spirit</a>.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.include_files"></a><h5>
-<a name="id1290300"></a>
+<a name="id1290755"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.include_files">Include
         Files</a>
       </h5>
@@ -113,7 +113,7 @@
               </td>
 <td>
               <p>
- none, use Phoenix
+ none, use Boost.Phoenix
                 for writing semantic actions
               </p>
               </td>
@@ -163,9 +163,9 @@
               </td>
 <td>
               <p>
- none, use predicates instead of if_p, while_p, for_p (included by
- <code class="computeroutput"><span class="identifier">qi_core</span><span class="special">.</span><span class="identifier">hpp</span></code>), the equivalent for lazy_p
- is now included by <code class="computeroutput"><span class="identifier">qi_auxiliary</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ none, use <span class="emphasis"><em>Spirit.Qi</em></span> predicates instead of if_p,
+ while_p, for_p (included by <code class="computeroutput"><span class="identifier">qi_core</span><span class="special">.</span><span class="identifier">hpp</span></code>),
+ the equivalent for lazy_p is now included by <code class="computeroutput"><span class="identifier">qi_auxiliary</span><span class="special">.</span><span class="identifier">hpp</span></code>
               </p>
               </td>
 </tr>
@@ -221,7 +221,7 @@
 </tbody>
 </table></div>
 <a name="spirit.notes.porting_from_spirit_1_8_x.the_free_parse_functions"></a><h5>
-<a name="id1290930"></a>
+<a name="id1291388"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.the_free_parse_functions">The
         Free Parse Functions</a>
       </h5>
@@ -251,6 +251,7 @@
           
 </p>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">classic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostreams</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
 </pre>
@@ -339,7 +340,8 @@
 <span class="keyword">else</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"stopped at: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">it</span><span class="special">,</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
 
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"matched length: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">it</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="comment">// seldomly needed: use std::distance to calculate the length of the match
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"matched length: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">it</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
 </pre>
 <p>
         </p>
@@ -347,7 +349,7 @@
       </p>
 <p>
         The changes required for phrase parsing (i.e. parsing using a skipper) are
- similar. Here is how phrase parsing worked in <span class="emphasis"><em>Spirit.Classic</em></span>:
+ similar. Here is how phrase parsing works in <span class="emphasis"><em>Spirit.Classic</em></span>:
       </p>
 <p>
         </p>
@@ -391,19 +393,20 @@
 <span class="keyword">else</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"stopped at: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">it</span><span class="special">,</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
 
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"matched length: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">it</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="comment">// seldomly needed: use std::distance to calculate the length of the match
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"matched length: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">it</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
 </pre>
 <p>
         </p>
 <p>
       </p>
 <p>
- Note, how character parsers are now in a separate namespace (here <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span></code>) as <span class="emphasis"><em>Spirit.Qi</em></span>
+ Note, how character parsers are in a separate namespace (here <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span></code>) as <span class="emphasis"><em>Spirit.Qi</em></span>
         now supports working with different character sets. See the section <a class="link" href="../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
         Encoding Namespace</a> for more information.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.naming_conventions"></a><h5>
-<a name="id1294703"></a>
+<a name="id1294668"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.naming_conventions">Naming
         Conventions</a>
       </h5>
@@ -414,14 +417,14 @@
         lazy actions, <code class="computeroutput"><span class="string">"_d"</span></code>
         for directives, etc. In <span class="emphasis"><em>Spirit.Qi</em></span> we don't have anything
         similar. The only suffixes are single underscore letters <code class="computeroutput"><span class="string">"_"</span></code>
- applied where the name would otherwise conflict with a keyword or otherwie
- predefined name (such as <code class="computeroutput"><span class="identifier">int_</span></code>
- for the integer parser). Please see the <a class="link" href="../qi/quick_reference.html" title="Quick Reference">Qi
+ applied where the name would otherwise conflict with a keyword or predefined
+ name (such as <code class="computeroutput"><span class="identifier">int_</span></code> for the
+ integer parser). Please see the <a class="link" href="../qi/quick_reference.html" title="Quick Reference">Qi
         Quick Reference</a> for an overview on the names for the different available
         parser primitives, directives and operators.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.parser_attributes"></a><h5>
-<a name="id1294773"></a>
+<a name="id1294738"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.parser_attributes">Parser
         Attributes</a>
       </h5>
@@ -438,6 +441,212 @@
         parsers to take advantage of the generates parser specific attributes, sometimes
         it is helpful to get access to the underlying matched input sequence.
       </p>
+<a name="spirit.notes.porting_from_spirit_1_8_x.grammars_and_rules"></a><h5>
+<a name="id1294792"></a>
+ <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.grammars_and_rules">Grammars
+ and Rules</a>
+ </h5>
+<p>
+ The <code class="computeroutput"><span class="identifier">grammar</span><span class="special">&lt;&gt;</span></code>
+ and <code class="computeroutput"><span class="identifier">rule</span><span class="special">&lt;&gt;</span></code>
+ types are of equal importance to <span class="emphasis"><em>Spirit.Qi</em></span> as they are
+ for <span class="emphasis"><em>Spirit.Classic</em></span>. Their main purpose is still the
+ same: they allow to define non-terminals and they are the main building blocks
+ for more complex parsers. Nevertheless, both types have been redesigned and
+ their interfaces have changed. Let's have a look at two examples first, we'll
+ explain the differences afterwards. Here is a simple grammar and its usage
+ in <span class="emphasis"><em>Spirit.Classic</em></span>:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">roman</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">roman</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ScannerT</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">definition</span>
+ <span class="special">{</span>
+ <span class="identifier">definition</span><span class="special">(</span><span class="identifier">roman</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">self</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">hundreds</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"C"</span> <span class="special">,</span> <span class="number">100</span><span class="special">)(</span><span class="string">"CC"</span> <span class="special">,</span> <span class="number">200</span><span class="special">)(</span><span class="string">"CCC"</span> <span class="special">,</span> <span class="number">300</span><span class="special">)(</span><span class="string">"CD"</span> <span class="special">,</span> <span class="number">400</span><span class="special">)(</span><span class="string">"D"</span> <span class="special">,</span> <span class="number">500</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"DC"</span> <span class="special">,</span> <span class="number">600</span><span class="special">)(</span><span class="string">"DCC"</span> <span class="special">,</span> <span class="number">700</span><span class="special">)(</span><span class="string">"DCCC"</span> <span class="special">,</span> <span class="number">800</span><span class="special">)(</span><span class="string">"CM"</span> <span class="special">,</span> <span class="number">900</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="identifier">tens</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"X"</span> <span class="special">,</span> <span class="number">10</span><span class="special">)(</span><span class="string">"XX"</span> <span class="special">,</span> <span class="number">20</span><span class="special">)(</span><span class="string">"XXX"</span> <span class="special">,</span> <span class="number">30</span><span class="special">)(</span><span class="string">"XL"</span> <span class="special">,</span> <span class="number">40</span><span class="special">)(</span><span class="string">"L"</span> <span class="special">,</span> <span class="number">50</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"LX"</span> <span class="special">,</span> <span class="number">60</span><span class="special">)(</span><span class="string">"LXX"</span> <span class="special">,</span> <span class="number">70</span><span class="special">)(</span><span class="string">"LXXX"</span> <span class="special">,</span> <span class="number">80</span><span class="special">)(</span><span class="string">"XC"</span> <span class="special">,</span> <span class="number">90</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="identifier">ones</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"I"</span> <span class="special">,</span> <span class="number">1</span><span class="special">)(</span><span class="string">"II"</span> <span class="special">,</span> <span class="number">2</span><span class="special">)(</span><span class="string">"III"</span> <span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="string">"IV"</span> <span class="special">,</span> <span class="number">4</span><span class="special">)(</span><span class="string">"V"</span> <span class="special">,</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"VI"</span> <span class="special">,</span> <span class="number">6</span><span class="special">)(</span><span class="string">"VII"</span> <span class="special">,</span> <span class="number">7</span><span class="special">)(</span><span class="string">"VIII"</span> <span class="special">,</span> <span class="number">8</span><span class="special">)(</span><span class="string">"IX"</span> <span class="special">,</span> <span class="number">9</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="identifier">first</span> <span class="special">=</span> <span class="identifier">eps_p</span> <span class="special">[</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">r</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">(</span><span class="number">0</span><span class="special">)]</span>
+ <span class="special">&gt;&gt;</span> <span class="special">(</span> <span class="special">+</span><span class="identifier">ch_p</span><span class="special">(</span><span class="char">'M'</span><span class="special">)</span> <span class="special">[</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">r</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">(</span><span class="number">1000</span><span class="special">)]</span>
+ <span class="special">||</span> <span class="identifier">hundreds</span> <span class="special">[</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">r</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">||</span> <span class="identifier">tens</span> <span class="special">[</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">r</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">||</span> <span class="identifier">ones</span> <span class="special">[</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">r</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">)</span> <span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">ScannerT</span><span class="special">&gt;</span> <span class="identifier">first</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">hundreds</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">tens</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">ones</span><span class="special">;</span>
+
+ <span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">ScannerT</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">start</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">first</span><span class="special">;</span> <span class="special">}</span>
+ <span class="special">};</span>
+
+ <span class="identifier">roman</span><span class="special">(</span><span class="keyword">unsigned</span><span class="special">&amp;</span> <span class="identifier">r_</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">r_</span><span class="special">)</span> <span class="special">{}</span>
+ <span class="keyword">unsigned</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">input</span><span class="special">(</span><span class="string">"MMIX"</span><span class="special">);</span> <span class="comment">// MMIX == 2009
+</span><span class="keyword">unsigned</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="identifier">roman</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">value</span><span class="special">);</span>
+<span class="identifier">parse_info</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">&gt;</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">parse</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">r</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">pi</span><span class="special">.</span><span class="identifier">hit</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"successfully matched: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ And here is a similar grammar and its usage in <span class="emphasis"><em>Spirit.Qi</em></span>:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">roman</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">roman</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">roman</span> <span class="special">:</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">roman</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;(</span><span class="identifier">first</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">hundreds</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"C"</span> <span class="special">,</span> <span class="number">100</span><span class="special">)(</span><span class="string">"CC"</span> <span class="special">,</span> <span class="number">200</span><span class="special">)(</span><span class="string">"CCC"</span> <span class="special">,</span> <span class="number">300</span><span class="special">)(</span><span class="string">"CD"</span> <span class="special">,</span> <span class="number">400</span><span class="special">)(</span><span class="string">"D"</span> <span class="special">,</span> <span class="number">500</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"DC"</span> <span class="special">,</span> <span class="number">600</span><span class="special">)(</span><span class="string">"DCC"</span> <span class="special">,</span> <span class="number">700</span><span class="special">)(</span><span class="string">"DCCC"</span> <span class="special">,</span> <span class="number">800</span><span class="special">)(</span><span class="string">"CM"</span> <span class="special">,</span> <span class="number">900</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="identifier">tens</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"X"</span> <span class="special">,</span> <span class="number">10</span><span class="special">)(</span><span class="string">"XX"</span> <span class="special">,</span> <span class="number">20</span><span class="special">)(</span><span class="string">"XXX"</span> <span class="special">,</span> <span class="number">30</span><span class="special">)(</span><span class="string">"XL"</span> <span class="special">,</span> <span class="number">40</span><span class="special">)(</span><span class="string">"L"</span> <span class="special">,</span> <span class="number">50</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"LX"</span> <span class="special">,</span> <span class="number">60</span><span class="special">)(</span><span class="string">"LXX"</span> <span class="special">,</span> <span class="number">70</span><span class="special">)(</span><span class="string">"LXXX"</span> <span class="special">,</span> <span class="number">80</span><span class="special">)(</span><span class="string">"XC"</span> <span class="special">,</span> <span class="number">90</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="identifier">ones</span><span class="special">.</span><span class="identifier">add</span>
+ <span class="special">(</span><span class="string">"I"</span> <span class="special">,</span> <span class="number">1</span><span class="special">)(</span><span class="string">"II"</span> <span class="special">,</span> <span class="number">2</span><span class="special">)(</span><span class="string">"III"</span> <span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="string">"IV"</span> <span class="special">,</span> <span class="number">4</span><span class="special">)(</span><span class="string">"V"</span> <span class="special">,</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">(</span><span class="string">"VI"</span> <span class="special">,</span> <span class="number">6</span><span class="special">)(</span><span class="string">"VII"</span> <span class="special">,</span> <span class="number">7</span><span class="special">)(</span><span class="string">"VIII"</span> <span class="special">,</span> <span class="number">8</span><span class="special">)(</span><span class="string">"IX"</span> <span class="special">,</span> <span class="number">9</span><span class="special">)</span> <span class="special">;</span>
+
+ <span class="comment">// _val refers to the attribute of the rule on the left hand side
+</span> <span class="identifier">first</span> <span class="special">=</span> <span class="identifier">eps</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">=</span> <span class="number">0</span><span class="special">]</span>
+ <span class="special">&gt;&gt;</span> <span class="special">(</span> <span class="special">+</span><span class="identifier">lit</span><span class="special">(</span><span class="char">'M'</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="number">1000</span><span class="special">]</span>
+ <span class="special">||</span> <span class="identifier">hundreds</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">||</span> <span class="identifier">tens</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">||</span> <span class="identifier">ones</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]</span>
+ <span class="special">)</span> <span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="identifier">qi</span><span class="special">::</span><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;</span> <span class="identifier">first</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">hundreds</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">tens</span><span class="special">;</span>
+ <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span> <span class="identifier">ones</span><span class="special">;</span>
+ <span class="special">};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">input</span><span class="special">(</span><span class="string">"MMIX"</span><span class="special">);</span> <span class="comment">// MMIX == 2009
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">it</span> <span class="special">=</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="identifier">roman</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">it</span><span class="special">,</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">value</span><span class="special">))</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"successfully matched: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Both versions look similarily enough, but we see several differences (we
+ will cover each of those differences in more detail below):
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Neither the grammars nor the rules depend on a scanner type anymore, both
+ depend only on the underlying iterator type. That means the dreaded scanner
+ business is no issue anymore!
+ </li>
+<li class="listitem">
+ Grammars have no embedded class <code class="computeroutput"><span class="identifier">definition</span></code>
+ anymore
+ </li>
+<li class="listitem">
+ Grammars and rules may have an explicit attribute type specified in their
+ definition
+ </li>
+<li class="listitem">
+ Grammars do not have any explicit start rules anymore. Instead one of the
+ contained rules is used as a start rule by default.
+ </li>
+</ul></div>
+<p>
+ The first two points are tightly interrelated. The scanner business (see
+ the FAQ number one of <span class="emphasis"><em>Spirit.Classic</em></span> here: <a href="../../../../../../libs/spirit/classic/doc/faq.html#scanner_business" target="_top">The
+ Scanner Business</a>) has been a problem for a long time. The grammar
+ and rule types have been specifically redesigned to avoid this problem in
+ the future. This also means that we don't need any delayed instantiation
+ of the inner definition class in a grammar anymore. So the redesign not only
+ helped fixing a long standing design problem, it helped to simplify things
+ considerably.
+ </p>
+<p>
+ All <span class="emphasis"><em>Spirit.Qi</em></span> parser components have well defined attribute
+ types. Grammars and rules are no exception. But since both need to be generic
+ enough to be usable for any parser their attribute type has to be explicitely
+ specified. In the example above the <code class="computeroutput"><span class="identifier">roman</span></code>
+ grammar and the rule <code class="computeroutput"><span class="identifier">first</span></code>
+ both have an <code class="computeroutput"><span class="keyword">unsigned</span></code> attribute:
+ </p>
+<pre class="programlisting"><span class="comment">// grammar definition
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">roman</span> <span class="special">:</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;</span> <span class="special">{...};</span>
+
+<span class="comment">// rule definition
+</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;</span> <span class="identifier">first</span><span class="special">;</span>
+</pre>
+<p>
+ The used notation resembles the definition of a function type. This is very
+ natural as you can think of the synthesized attribute of the grammar and
+ the rule as of its 'return value'. In fact the rule and the grammar both
+ 'return' an unsigned value - the value they matched.
+ </p>
+<p>
+ If no attribute is desired none needs to be specified. The default attrribute
+ type for both, grammars and rules, is <code class="computeroutput"><span class="identifier">unused_type</span></code>,
+ which is a special placeholder type.
+ </p>
+<p>
+ The last difference might seem to be rather cosmetic and insignificant. But
+ it turns out that not having to specify which rule in a grammar is the start
+ rule (by returning it from the function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code>) also means that any rule in a grammar
+ can be directly used as the start rule. Nevertheless, the grammar base class
+ gets initialized with the rule it has to use as the start rule in case the
+ grammar instance is directly used as a parser.
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: trunk/libs/spirit/doc/html/spirit/preface.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/preface.html (original)
+++ trunk/libs/spirit/doc/html/spirit/preface.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -41,11 +41,11 @@
       </p>
 </blockquote></div>
 <a name="spirit.preface.history"></a><h4>
-<a name="id1079848"></a>
+<a name="id1079673"></a>
       <a class="link" href="preface.html#spirit.preface.history">History</a>
     </h4>
 <a name="spirit.preface._emphasis_80s__emphasis_"></a><h4>
-<a name="id1079861"></a>
+<a name="id1079687"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_80s__emphasis_"><span class="emphasis"><em>80s</em></span></a>
     </h4>
 <p>
@@ -59,7 +59,7 @@
       parser. This worked very well.
     </p>
 <a name="spirit.preface._emphasis_90s__emphasis_"></a><h4>
-<a name="id1079879"></a>
+<a name="id1079705"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_90s__emphasis_"><span class="emphasis"><em>90s</em></span></a>
     </h4>
 <p>
@@ -97,7 +97,7 @@
       here: pre-Spirit.
     </p>
 <a name="spirit.preface._emphasis_2001_to_2006__emphasis_"></a><h4>
-<a name="id1079921"></a>
+<a name="id1079747"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_2001_to_2006__emphasis_"><span class="emphasis"><em>2001
       to 2006</em></span></a>
     </h4>
@@ -127,7 +127,7 @@
       for design and implementation quality, robustness, and reusability.
     </p>
 <a name="spirit.preface._emphasis_2007__emphasis_"></a><h4>
-<a name="id1079956"></a>
+<a name="id1079781"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_2007__emphasis_"><span class="emphasis"><em>2007</em></span></a>
     </h4>
 <p>
@@ -164,7 +164,7 @@
       gives you the right ingredients to create a sledgehammer easily.
     </p>
 <a name="spirit.preface.new_ideas__spirit_v2"></a><h4>
-<a name="id1080031"></a>
+<a name="id1079857"></a>
       <a class="link" href="preface.html#spirit.preface.new_ideas__spirit_v2">New Ideas: Spirit V2</a>
     </h4>
 <p>
@@ -202,7 +202,7 @@
       same underlying component library as for the parser and generator libraries.
     </p>
 <a name="spirit.preface.how_to_use_this_manual"></a><h4>
-<a name="id1080082"></a>
+<a name="id1079907"></a>
       <a class="link" href="preface.html#spirit.preface.how_to_use_this_manual">How to use this manual</a>
     </h4>
 <p>
@@ -233,7 +233,7 @@
       icons precede some text to indicate:
     </p>
 <div class="table">
-<a name="id1080134"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id1079960"></a><p class="title"><b>Table 1. Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -354,7 +354,7 @@
       Tools</a>.
     </p>
 <a name="spirit.preface.support"></a><h4>
-<a name="id1080376"></a>
+<a name="id1080201"></a>
       <a class="link" href="preface.html#spirit.preface.support">Support</a>
     </h4>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -41,7 +41,7 @@
           <span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>.
         </p>
 <div class="table">
-<a name="id1119751"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
+<a name="id1119841"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
 <div class="table-contents"><table class="table" summary="compound parser attribute types">
 <colgroup>
 <col>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -34,7 +34,7 @@
           <code class="computeroutput"><span class="identifier">eps</span></code>, and <code class="computeroutput"><span class="identifier">lazy</span></code> parsers.
         </p>
 <a name="spirit.qi.reference.auxiliary.module_header"></a><h6>
-<a name="id1131680"></a>
+<a name="id1131770"></a>
           <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary.hpp&gt;
@@ -49,7 +49,7 @@
               consuming any input
             </li></ul></div>
 <a name="spirit.qi.reference.auxiliary.attr.description"></a><h6>
-<a name="id1131784"></a>
+<a name="id1131875"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.description">Description</a>
           </h6>
 <p>
@@ -60,7 +60,7 @@
             an attribute to the parsing process.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.header"></a><h6>
-<a name="id1131816"></a>
+<a name="id1131906"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/attr.hpp&gt;
@@ -70,7 +70,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.model_of"></a><h6>
-<a name="id1131890"></a>
+<a name="id1131980"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -98,7 +98,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.auxiliary.attr.expression_semantics"></a><h6>
-<a name="id1131972"></a>
+<a name="id1132062"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -155,7 +155,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr.attributes"></a><h6>
-<a name="id1132131"></a>
+<a name="id1132222"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -205,7 +205,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr.complexity"></a><h6>
-<a name="id1132276"></a>
+<a name="id1132367"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -222,7 +222,7 @@
             done.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.example"></a><h6>
-<a name="id1132304"></a>
+<a name="id1132394"></a>
             <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.attr.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
 </h4></div></div></div>
 <a name="spirit.qi.reference.basics.lazy_argument"></a><h6>
-<a name="id1130012"></a>
+<a name="id1129624"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.lazy_argument">Lazy Argument</a>
         </h6>
 <p>
@@ -51,7 +51,7 @@
           second argument. This is done for uniformity with Semantic Actions).
         </p>
 <a name="spirit.qi.reference.basics.character_encoding_namespace"></a><h6>
-<a name="id1130148"></a>
+<a name="id1129761"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
           Encoding Namespace</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -34,7 +34,7 @@
           <code class="computeroutput"><span class="identifier">raw</span></code>, and <code class="computeroutput"><span class="identifier">skip</span></code> directives.
         </p>
 <a name="spirit.qi.reference.directive.module_header"></a><h6>
-<a name="id1133355"></a>
+<a name="id1133446"></a>
           <a class="link" href="directive.html#spirit.qi.reference.directive.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive.hpp&gt;
@@ -49,7 +49,7 @@
               forcing all embedded parsers to do case in-sensitive matching.
             </li></ul></div>
 <a name="spirit.qi.reference.directive.no_case.description"></a><h6>
-<a name="id1133460"></a>
+<a name="id1133550"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.description">Description</a>
           </h6>
 <p>
@@ -59,7 +59,7 @@
             of all embedded parsers to be case in-sensitive.
           </p>
 <a name="spirit.qi.reference.directive.no_case.header"></a><h6>
-<a name="id1133487"></a>
+<a name="id1133578"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/no_case.hpp&gt;
@@ -69,7 +69,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.no_case.model_of"></a><h6>
-<a name="id1133562"></a>
+<a name="id1133652"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.model_of">Model
             of</a>
           </h6>
@@ -94,7 +94,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.no_case.expression_semantics"></a><h6>
-<a name="id1133624"></a>
+<a name="id1133714"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -155,7 +155,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_case.attributes"></a><h6>
-<a name="id1134135"></a>
+<a name="id1134226"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -190,7 +190,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_case.complexity"></a><h6>
-<a name="id1134224"></a>
+<a name="id1134314"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -203,7 +203,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.qi.reference.directive.no_case.example"></a><h6>
-<a name="id1134248"></a>
+<a name="id1134338"></a>
             <a class="link" href="directive.html#spirit.qi.reference.directive.no_case.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -49,7 +49,7 @@
 <a name="spirit.qi.reference.parser_concepts.parser"></a><a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser" title="Parser">Parser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.parser.description"></a><h6>
-<a name="id1127087"></a>
+<a name="id1126631"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser.description">Description</a>
           </h6>
 <p>
@@ -104,7 +104,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.parser.valid_expressions"></a><h6>
-<a name="id1127350"></a>
+<a name="id1126894"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -184,7 +184,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.parser.type_expressions"></a><h6>
-<a name="id1127617"></a>
+<a name="id1127161"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -237,7 +237,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.parser.postcondition"></a><h6>
-<a name="id1127815"></a>
+<a name="id1127359"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser.postcondition">Postcondition</a>
           </h6>
 <p>
@@ -271,7 +271,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.reference.parser_concepts.parser.models"></a><h6>
-<a name="id1127942"></a>
+<a name="id1127487"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.parser.models">Models</a>
           </h6>
 <p>
@@ -284,7 +284,7 @@
 <a name="spirit.qi.reference.parser_concepts.primitiveparser"></a><a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser" title="PrimitiveParser">PrimitiveParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.description"></a><h6>
-<a name="id1127977"></a>
+<a name="id1127521"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser.description">Description</a>
           </h6>
 <p>
@@ -292,7 +292,7 @@
             that the client uses to build more complex parsers.
           </p>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.refinement_of"></a><h6>
-<a name="id1128000"></a>
+<a name="id1127544"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -306,7 +306,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.pre_skip"></a><h6>
-<a name="id1128041"></a>
+<a name="id1127654"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser.pre_skip">Pre-skip</a>
           </h6>
 <p>
@@ -320,7 +320,7 @@
 <pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip_over</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">skip</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.type_expressions"></a><h6>
-<a name="id1128132"></a>
+<a name="id1127745"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -359,7 +359,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.models"></a><h6>
-<a name="id1128269"></a>
+<a name="id1127882"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.primitiveparser.models">Models</a>
           </h6>
 <p>
@@ -372,7 +372,7 @@
 <a name="spirit.qi.reference.parser_concepts.unaryparser"></a><a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser" title="UnaryParser">UnaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.description"></a><h6>
-<a name="id1128310"></a>
+<a name="id1127922"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.description">Description</a>
           </h6>
 <p>
@@ -381,7 +381,7 @@
             the Delegate Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.refinement_of"></a><h6>
-<a name="id1128335"></a>
+<a name="id1127948"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -408,7 +408,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.valid_expressions"></a><h6>
-<a name="id1128414"></a>
+<a name="id1128027"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -458,7 +458,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.type_expressions"></a><h6>
-<a name="id1128528"></a>
+<a name="id1128141"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -511,7 +511,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.invariants"></a><h6>
-<a name="id1128696"></a>
+<a name="id1128309"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -522,7 +522,7 @@
 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
 </li></ul></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.models"></a><h6>
-<a name="id1128782"></a>
+<a name="id1128394"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.unaryparser.models">Models</a>
           </h6>
 <p>
@@ -535,7 +535,7 @@
 <a name="spirit.qi.reference.parser_concepts.binaryparser"></a><a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser" title="BinaryParser">BinaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.description"></a><h6>
-<a name="id1128816"></a>
+<a name="id1128429"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.description">Description</a>
           </h6>
 <p>
@@ -545,7 +545,7 @@
             following the Composite Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.refinement_of"></a><h6>
-<a name="id1128868"></a>
+<a name="id1128480"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -572,7 +572,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.valid_expressions"></a><h6>
-<a name="id1128947"></a>
+<a name="id1128560"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -641,7 +641,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.type_expressions"></a><h6>
-<a name="id1129108"></a>
+<a name="id1128720"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -706,7 +706,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.invariants"></a><h6>
-<a name="id1129310"></a>
+<a name="id1128922"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -722,7 +722,7 @@
 </li>
 </ul></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.models"></a><h6>
-<a name="id1129449"></a>
+<a name="id1129061"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.binaryparser.models">Models</a>
           </h6>
 <p>
@@ -735,7 +735,7 @@
 <a name="spirit.qi.reference.parser_concepts.naryparser"></a><a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser" title="NaryParser">NaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.description"></a><h6>
-<a name="id1129484"></a>
+<a name="id1129096"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.description">Description</a>
           </h6>
 <p>
@@ -745,7 +745,7 @@
             Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.naryparser.refinement_of"></a><h6>
-<a name="id1129520"></a>
+<a name="id1129132"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -772,7 +772,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.valid_expressions"></a><h6>
-<a name="id1129599"></a>
+<a name="id1129211"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -823,7 +823,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.type_expressions"></a><h6>
-<a name="id1129721"></a>
+<a name="id1129334"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -876,7 +876,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.invariants"></a><h6>
-<a name="id1129893"></a>
+<a name="id1129505"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -888,7 +888,7 @@
 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
 </li></ul></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.models"></a><h6>
-<a name="id1129978"></a>
+<a name="id1129590"></a>
             <a class="link" href="parser_concepts.html#spirit.qi.reference.parser_concepts.naryparser.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -35,7 +35,7 @@
           the literal and string parsers and the symbol table.
         </p>
 <a name="spirit.qi.reference.string.module_header"></a><h6>
-<a name="id1135358"></a>
+<a name="id1135448"></a>
           <a class="link" href="string.html#spirit.qi.reference.string.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string.hpp&gt;
@@ -58,7 +58,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.reference.string.lit_string.description"></a><h6>
-<a name="id1135521"></a>
+<a name="id1135612"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.description">Description</a>
           </h6>
 <p>
@@ -67,7 +67,7 @@
             parser is not applied in between characters of the string.
           </p>
 <a name="spirit.qi.reference.string.lit_string.header"></a><h6>
-<a name="id1135545"></a>
+<a name="id1135636"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string/lit.hpp&gt;
@@ -77,7 +77,7 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.string.lit_string.model_of"></a><h6>
-<a name="id1135620"></a>
+<a name="id1135710"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.model_of">Model
             of</a>
           </h6>
@@ -112,7 +112,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.string.lit_string.expression_semantics"></a><h6>
-<a name="id1135755"></a>
+<a name="id1135846"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -222,7 +222,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.lit_string.attributes"></a><h6>
-<a name="id1137216"></a>
+<a name="id1137852"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -326,7 +326,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.lit_string.complexity"></a><h6>
-<a name="id1137642"></a>
+<a name="id1138278"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -343,7 +343,7 @@
             of characters in the string to be parsed.
           </p>
 <a name="spirit.qi.reference.string.lit_string.example"></a><h6>
-<a name="id1137676"></a>
+<a name="id1138313"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.lit_string.example">Example</a>
           </h6>
 <p>
@@ -459,7 +459,7 @@
 <a name="spirit.qi.reference.string.symbols"></a><a class="link" href="string.html#spirit.qi.reference.string.symbols" title="symbols">symbols</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.string.symbols.description"></a><h6>
-<a name="id1138788"></a>
+<a name="id1139424"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.description">Description</a>
           </h6>
 <p>
@@ -479,7 +479,7 @@
             its behavior.
           </p>
 <a name="spirit.qi.reference.string.symbols.header"></a><h6>
-<a name="id1138822"></a>
+<a name="id1139459"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string/symbols.hpp&gt;
@@ -489,14 +489,14 @@
             Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.string.symbols.synopsis"></a><h6>
-<a name="id1138897"></a>
+<a name="id1139533"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Char</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">symbols</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.string.symbols.template_parameters"></a><h6>
-<a name="id1138962"></a>
+<a name="id1139598"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.template_parameters">Template
             parameters</a>
           </h6>
@@ -561,7 +561,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.symbols.model_of"></a><h6>
-<a name="id1139089"></a>
+<a name="id1139725"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -623,7 +623,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.string.symbols.expression_semantics"></a><h6>
-<a name="id1141303"></a>
+<a name="id1141394"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -857,14 +857,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.symbols.attributes"></a><h6>
-<a name="id1142368"></a>
+<a name="id1142458"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.attributes">Attributes</a>
           </h6>
 <p>
             The attribute of <code class="computeroutput"><span class="identifier">symbol</span><span class="special">&lt;</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code> is <code class="computeroutput"><span class="identifier">T</span></code>.
           </p>
 <a name="spirit.qi.reference.string.symbols.example"></a><h6>
-<a name="id1142418"></a>
+<a name="id1142509"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.symbols.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -179,7 +179,7 @@
           has a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> attribute.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.lexeme"></a><h6>
-<a name="id1103630"></a>
+<a name="id1103450"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.lexeme">Lexeme</a>
         </h6>
 <pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
@@ -196,7 +196,7 @@
           a double quote.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.difference"></a><h6>
-<a name="id1103743"></a>
+<a name="id1103563"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.difference">Difference</a>
         </h6>
 <p>
@@ -215,7 +215,7 @@
           is just <code class="computeroutput"><span class="keyword">char</span></code>.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.plus"></a><h6>
-<a name="id1103851"></a>
+<a name="id1103671"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.plus">Plus</a>
         </h6>
 <pre class="programlisting"><span class="special">+</span><span class="identifier">a</span>
@@ -234,7 +234,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h6>
-<a name="id1103977"></a>
+<a name="id1103797"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute">Sequence
           Attribute</a>
         </h6>
@@ -275,7 +275,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing"></a><h6>
-<a name="id1104199"></a>
+<a name="id1104019"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing">Attribute
           Collapsing</a>
         </h6>
@@ -307,7 +307,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.auto_rules"></a><h6>
-<a name="id1104438"></a>
+<a name="id1104258"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.auto_rules">Auto
           Rules</a>
         </h6>
@@ -345,7 +345,7 @@
           directly into the rule's attribute, in-situ.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.finally"></a><h6>
-<a name="id1104757"></a>
+<a name="id1104577"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.finally">Finally</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -69,7 +69,7 @@
           for testing purposes. "4.toyxml" has an error in it.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.first_cut"></a><h6>
-<a name="id1105549"></a>
+<a name="id1105639"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.first_cut">First Cut</a>
         </h6>
 <p>
@@ -145,7 +145,7 @@
           by the placeholder <code class="computeroutput"><span class="identifier">_val</span></code>).
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.alternates"></a><h6>
-<a name="id1106730"></a>
+<a name="id1106820"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.alternates">Alternates</a>
         </h6>
 <pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">;</span>
@@ -175,7 +175,7 @@
 <span class="special">;</span>
 </pre>
 <a name="spirit.qi.tutorials.mini_xml___asts_.not_predicate"></a><h6>
-<a name="id1107057"></a>
+<a name="id1107148"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.not_predicate">Not
           Predicate</a>
         </h6>
@@ -202,7 +202,7 @@
           at this point.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.inherited_attribute"></a><h6>
-<a name="id1108859"></a>
+<a name="id1108950"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.inherited_attribute">Inherited
           Attribute</a>
         </h6>
@@ -228,7 +228,7 @@
           <code class="computeroutput"><span class="identifier">_r3</span></code>, etc. if you have more).
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit"></a><h6>
-<a name="id1109054"></a>
+<a name="id1109144"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit">A Lazy
           Lit</a>
         </h6>
@@ -262,7 +262,7 @@
           accessors, provided by Phoenix.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.how_it_all_works"></a><h6>
-<a name="id1109385"></a>
+<a name="id1109475"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.how_it_all_works">How
           it all works</a>
         </h6>
@@ -309,7 +309,7 @@
           as <code class="computeroutput"><span class="identifier">_r1</span></code>.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.the_structures"></a><h6>
-<a name="id1109681"></a>
+<a name="id1109772"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.the_structures">The
           Structures</a>
         </h6>
@@ -342,7 +342,7 @@
 <p>
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants"></a><h6>
-<a name="id1109877"></a>
+<a name="id1109967"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants">Of
           Alternates and Variants</a>
         </h6>
@@ -369,7 +369,7 @@
           of <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">B</span></code> is the attribute of <code class="computeroutput"><span class="identifier">b</span></code>.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again"></a><h6>
-<a name="id1110041"></a>
+<a name="id1110132"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again">Adapting
           structs again</a>
         </h6>
@@ -395,7 +395,7 @@
 <p>
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.one_more_take"></a><h6>
-<a name="id1110182"></a>
+<a name="id1110272"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.one_more_take">One
           More Take</a>
         </h6>
@@ -464,7 +464,7 @@
           in the <code class="computeroutput"><span class="identifier">xml</span></code> rule:
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.local_variables"></a><h6>
-<a name="id1111644"></a>
+<a name="id1111734"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.local_variables">Local
           Variables</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -44,7 +44,7 @@
           What's new?
         </p>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.readable_names"></a><h6>
-<a name="id1111949"></a>
+<a name="id1112039"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.readable_names">Readable
           Names</a>
         </h6>
@@ -63,7 +63,7 @@
 <span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.on_error"></a><h6>
-<a name="id1112129"></a>
+<a name="id1112219"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.on_error">On
           Error</a>
         </h6>
@@ -241,7 +241,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.expectation_points"></a><h6>
-<a name="id1112638"></a>
+<a name="id1112728"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.expectation_points">Expectation
           Points</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
 </h4></div></div></div>
 <a name="spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_"></a><h6>
-<a name="id1090212"></a>
+<a name="id1090349"></a>
           <a class="link" href="quick_start.html#spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_">Why
           would you want to use Spirit.Qi?</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -41,7 +41,7 @@
           </li>
 </ul></div>
 <a name="spirit.qi.tutorials.roman_numerals.symbol_table"></a><h6>
-<a name="id1097518"></a>
+<a name="id1098163"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.symbol_table">Symbol
           Table</a>
         </h6>
@@ -173,7 +173,7 @@
           They are all parsers.
         </p>
 <a name="spirit.qi.tutorials.roman_numerals.rules"></a><h6>
-<a name="id1099676"></a>
+<a name="id1099480"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.rules">Rules</a>
         </h6>
 <p>
@@ -253,7 +253,7 @@
 <pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.tutorials.roman_numerals.grammars"></a><h6>
-<a name="id1100068"></a>
+<a name="id1099873"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.grammars">Grammars</a>
         </h6>
 <p>
@@ -358,7 +358,7 @@
           </li>
 </ul></div>
 <a name="spirit.qi.tutorials.roman_numerals.let_s_parse_"></a><h6>
-<a name="id1100795"></a>
+<a name="id1100600"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.let_s_parse_">Let's Parse!</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -233,7 +233,7 @@
           The examples above can be found here: ../../example/qi/actions.cpp
         </p>
 <a name="spirit.qi.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1093791"></a>
+<a name="id1093632"></a>
           <a class="link" href="semantic_actions.html#spirit.qi.tutorials.semantic_actions.phoenix">Phoenix</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -31,7 +31,7 @@
           on how to build parsers from the simplest parser, building up as we go.
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number"></a><h6>
-<a name="id1090257"></a>
+<a name="id1090394"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number">Trivial
           Example #1 Parsing a number</a>
         </h6>
@@ -46,7 +46,7 @@
           parsers and consistent naming conventions help you keep from going insane!
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers"></a><h6>
-<a name="id1090286"></a>
+<a name="id1090423"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers">Trivial
           Example #2 Parsing two numbers</a>
         </h6>
@@ -79,7 +79,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers"></a><h6>
-<a name="id1090347"></a>
+<a name="id1090484"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers">Trivial
           Example #3 Parsing one or more numbers</a>
         </h6>
@@ -103,7 +103,7 @@
           in most places.
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1090392"></a>
+<a name="id1090529"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers">Trivial
           Example #4 Parsing a comma-delimited list of numbers</a>
         </h6>
@@ -126,7 +126,7 @@
           star encloses the complete expression above.
         </p>
 <a name="spirit.qi.tutorials.warming_up.let_s_parse_"></a><h6>
-<a name="id1090523"></a>
+<a name="id1090660"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.let_s_parse_">Let's Parse!</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/support/multi_pass.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/support/multi_pass.html (original)
+++ trunk/libs/spirit/doc/html/spirit/support/multi_pass.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -61,7 +61,7 @@
         iterator was created.
       </p>
 <a name="spirit.support.multi_pass.using_the_multi_pass"></a><h5>
-<a name="id1279761"></a>
+<a name="id1279611"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_multi_pass">Using the
         multi_pass</a>
       </h5>
@@ -209,7 +209,7 @@
 <p>
       </p>
 <a name="spirit.support.multi_pass.using_the_flush_multi_pass_parser"></a><h5>
-<a name="id1281264"></a>
+<a name="id1280953"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_flush_multi_pass_parser">Using
         the flush_multi_pass parser</a>
       </h5>
@@ -231,7 +231,7 @@
         thrown.
       </p>
 <a name="spirit.support.multi_pass.the_multi_pass_policies"></a><h5>
-<a name="id1281357"></a>
+<a name="id1281047"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.the_multi_pass_policies">The multi_pass
         Policies</a>
       </h5>
@@ -272,7 +272,7 @@
         the functionality groups:
       </p>
 <div class="table">
-<a name="id1281463"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
+<a name="id1281152"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
 <div class="table-contents"><table class="table" summary="Policies needed for default_policy template">
 <colgroup>
 <col>
@@ -355,7 +355,7 @@
         implementations.
       </p>
 <a name="spirit.support.multi_pass.predefined_policies"></a><h5>
-<a name="id1281655"></a>
+<a name="id1281344"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.predefined_policies">Predefined
         policies</a>
       </h5>
@@ -364,7 +364,7 @@
         policies are defined in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">iterator_policies</span></code>.
       </p>
 <div class="table">
-<a name="id1281697"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
+<a name="id1281386"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
 <div class="table-contents"><table class="table" summary="Predefined policy classes">
 <colgroup>
 <col>
@@ -601,7 +601,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass"></a><h5>
-<a name="id1284223"></a>
+<a name="id1283376"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass">Combinations:
         How to specify your own custom multi_pass</a>
       </h5>
@@ -647,7 +647,7 @@
         behaviors while wrapping an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream_iterator</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></code>.
       </p>
 <a name="spirit.support.multi_pass.dealing_with_constant_look_ahead"></a><h5>
-<a name="id1284646"></a>
+<a name="id1283798"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.dealing_with_constant_look_ahead">Dealing
         with constant look ahead</a>
       </h5>
@@ -666,7 +666,7 @@
         StoragePolicy.
       </p>
 <a name="spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy"></a><h5>
-<a name="id1284778"></a>
+<a name="id1283930"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy">How
         to write a functor for use with the <code class="computeroutput"><span class="identifier">functor_input</span></code>
         InputPolicy</a>
@@ -725,7 +725,7 @@
 <span class="special">}</span>
 </pre>
 <a name="spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass"></a><h5>
-<a name="id1285364"></a>
+<a name="id1284517"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass">How
         to write policies for use with multi_pass</a>
       </h5>
@@ -742,7 +742,7 @@
         copies of a particular <code class="computeroutput"><span class="identifier">multi_pass</span></code>.
       </p>
 <a name="spirit.support.multi_pass.inputpolicy"></a><h5>
-<a name="id1285439"></a>
+<a name="id1284591"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.inputpolicy">InputPolicy</a>
       </h5>
 <p>
@@ -838,7 +838,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.ownershippolicy"></a><h5>
-<a name="id1286319"></a>
+<a name="id1286091"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.ownershippolicy">OwnershipPolicy</a>
       </h5>
 <p>
@@ -905,7 +905,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.checkingpolicy"></a><h5>
-<a name="id1286853"></a>
+<a name="id1286625"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.checkingpolicy">CheckingPolicy</a>
       </h5>
 <p>
@@ -964,7 +964,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.storagepolicy"></a><h5>
-<a name="id1287304"></a>
+<a name="id1287076"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.storagepolicy">StoragePolicy</a>
       </h5>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new.html 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -27,7 +27,7 @@
 <a name="spirit.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
 </h2></div></div></div>
 <a name="spirit.what_s_new.spirit_classic"></a><h4>
-<a name="id1080428"></a>
+<a name="id1080254"></a>
       <a class="link" href="what_s_new.html#spirit.what_s_new.spirit_classic">Spirit Classic</a>
     </h4>
 <p>
@@ -66,11 +66,11 @@
       for existing applications.
     </p>
 <a name="spirit.what_s_new.spirit_v2_1"></a><h4>
-<a name="id1080619"></a>
+<a name="id1080445"></a>
       <a class="link" href="what_s_new.html#spirit.what_s_new.spirit_v2_1">Spirit V2.1</a>
     </h4>
 <a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_"></a><h4>
-<a name="id1080632"></a>
+<a name="id1080458"></a>
       <a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_">What's
       changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
       from V2.0 (Boost V1.37.0) to 2.x (Boost V1.41.0)</a>
@@ -189,7 +189,7 @@
       </li>
 </ul></div>
 <a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_"></a><h4>
-<a name="id1084749"></a>
+<a name="id1084886"></a>
       <a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_">What's
       changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.0 (Boost V1.37.0) to 2.x
       (Boost V1.41.0)</a>

Modified: trunk/libs/spirit/doc/notes/porting_from_1_8.qbk
==============================================================================
--- trunk/libs/spirit/doc/notes/porting_from_1_8.qbk (original)
+++ trunk/libs/spirit/doc/notes/porting_from_1_8.qbk 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -50,13 +50,13 @@
 [table
     [[Include file in /Spirit.Classic/] [Include file in /Spirit.Qi/]]
     [[`classic.hpp`] [`qi.hpp`]]
- [[`classic_actor.hpp`] [none, use __phoenix__ for writing semantic actions]]
+ [[`classic_actor.hpp`] [none, use __boost_phoenix__ for writing semantic actions]]
     [[`classic_attribute.hpp`] [none, use local variables for rules instead of closures,
                                          the primitives parsers now directly support lazy
                                          parametrization]]
     [[`classic_core.hpp`] [`qi_core.hpp`]]
     [[`classic_debug.hpp`] [`qi_debug.hpp`]]
- [[`classic_dynamic.hpp`] [none, use predicates instead of if_p, while_p, for_p
+ [[`classic_dynamic.hpp`] [none, use __qi__ predicates instead of if_p, while_p, for_p
                                          (included by `qi_core.hpp`), the equivalent for lazy_p
                                          is now included by `qi_auxiliary.hpp`]]
     [[`classic_error_handling.hpp`] [none, included in `qi_core.hpp`]]
@@ -100,7 +100,7 @@
 [porting_guide_qi_parse]
 
 The changes required for phrase parsing (i.e. parsing using a skipper) are
-similar. Here is how phrase parsing worked in __classic__:
+similar. Here is how phrase parsing works in __classic__:
 
 [porting_guide_classic_phrase_parse]
 
@@ -108,7 +108,7 @@
 
 [porting_guide_qi_phrase_parse]
 
-Note, how character parsers are now in a separate namespace (here
+Note, how character parsers are in a separate namespace (here
 `boost::spirit::ascii::space`) as __qi__ now supports working with different
 character sets. See the section __char_encoding_namespace__ for more information.
 
@@ -118,7 +118,7 @@
 encoding their type: `"_p"` for parsers, `"_a"` for lazy actions, `"_d"` for
 directives, etc. In __qi__ we don't have anything similar. The only suffixes
 are single underscore letters `"_"` applied where the name would otherwise
-conflict with a keyword or otherwie predefined name (such as `int_` for the
+conflict with a keyword or predefined name (such as `int_` for the
 integer parser). Please see the __sec_qi_quickref__ for an overview on the
 names for the different available parser primitives, directives and operators.
 
@@ -134,5 +134,71 @@
 attributes, sometimes it is helpful to get access to the underlying matched
 input sequence.
 
+[heading Grammars and Rules]
+
+The `grammar<>` and `rule<>` types are of equal importance to __qi__ as they
+are for __classic__. Their main purpose is still the same: they allow to
+define non-terminals and they are the main building blocks for more complex
+parsers. Nevertheless, both types have been redesigned and their interfaces
+have changed. Let's have a look at two examples first, we'll explain the
+differences afterwards. Here is a simple grammar and its usage in __classic__:
+
+[porting_guide_classic_grammar]
+[porting_guide_classic_use_grammar]
+
+And here is a similar grammar and its usage in __qi__:
+
+[porting_guide_qi_grammar]
+[porting_guide_qi_use_grammar]
+
+Both versions look similarily enough, but we see several differences (we will
+cover each of those differences in more detail below):
+
+* Neither the grammars nor the rules depend on a scanner type anymore, both
+ depend only on the underlying iterator type. That means the dreaded scanner
+ business is no issue anymore!
+* Grammars have no embedded class `definition` anymore
+* Grammars and rules may have an explicit attribute type specified in their
+ definition
+* Grammars do not have any explicit start rules anymore. Instead one of the
+ contained rules is used as a start rule by default.
+
+The first two points are tightly interrelated. The scanner business (see the
+FAQ number one of __classic__ here: __scanner_business__) has been
+a problem for a long time. The grammar and rule types have been specifically
+redesigned to avoid this problem in the future. This also means that we don't
+need any delayed instantiation of the inner definition class in a grammar
+anymore. So the redesign not only helped fixing a long standing design problem,
+it helped to simplify things considerably.
+
+All __qi__ parser components have well defined attribute types. Grammars and
+rules are no exception. But since both need to be generic enough to be usable
+for any parser their attribute type has to be explicitely specified. In the
+example above the `roman` grammar and the rule `first` both have an `unsigned`
+attribute:
+
+ // grammar definition
+ template <typename Iterator>
+ struct roman : qi::grammar<Iterator, unsigned()> {...};
+
+ // rule definition
+ qi::rule<Iterator, unsigned()> first;
+
+The used notation resembles the definition of a function type. This is very
+natural as you can think of the synthesized attribute of the grammar and the
+rule as of its 'return value'. In fact the rule and the grammar both 'return'
+an unsigned value - the value they matched.
+
+If no attribute is desired none needs to be specified. The default attrribute
+type for both, grammars and rules, is __unused_type__, which is a special
+placeholder type.
+
+The last difference might seem to be rather cosmetic and insignificant. But it
+turns out that not having to specify which rule in a grammar is the start rule
+(by returning it from the function `start()`) also means that any rule in a
+grammar can be directly used as the start rule. Nevertheless, the grammar base
+class gets initialized with the rule it has to use as the start rule in case
+the grammar instance is directly used as a parser.
+
 [endsect]
 

Modified: trunk/libs/spirit/doc/spirit2.qbk
==============================================================================
--- trunk/libs/spirit/doc/spirit2.qbk (original)
+++ trunk/libs/spirit/doc/spirit2.qbk 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -71,6 +71,7 @@
 
 [def __fixme__ *FIXME*]
 
+[def __scanner_business__ [@boost:/libs/spirit/classic/doc/faq.html#scanner_business The Scanner Business]]
 
 [/ Sections ]
 

Modified: trunk/libs/spirit/example/qi/porting_guide_classic.cpp
==============================================================================
--- trunk/libs/spirit/example/qi/porting_guide_classic.cpp (original)
+++ trunk/libs/spirit/example/qi/porting_guide_classic.cpp 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -7,6 +7,7 @@
 =============================================================================*/
 //[porting_guide_classic_includes
 #include <boost/spirit/include/classic.hpp>
+#include <boost/spirit/include/phoenix1.hpp>
 #include <iostreams>
 #include <string>
 //]
@@ -15,6 +16,47 @@
 using namespace boost::spirit::classic;
 //]
 
+//[porting_guide_classic_grammar
+struct roman : public grammar<roman>
+{
+ template <typename ScannerT>
+ struct definition
+ {
+ definition(roman const& self)
+ {
+ hundreds.add
+ ("C" , 100)("CC" , 200)("CCC" , 300)("CD" , 400)("D" , 500)
+ ("DC" , 600)("DCC" , 700)("DCCC" , 800)("CM" , 900) ;
+
+ tens.add
+ ("X" , 10)("XX" , 20)("XXX" , 30)("XL" , 40)("L" , 50)
+ ("LX" , 60)("LXX" , 70)("LXXX" , 80)("XC" , 90) ;
+
+ ones.add
+ ("I" , 1)("II" , 2)("III" , 3)("IV" , 4)("V" , 5)
+ ("VI" , 6)("VII" , 7)("VIII" , 8)("IX" , 9) ;
+
+ first = eps_p [phoenix::var(self.r) = phoenix::val(0)]
+ >> ( +ch_p('M') [phoenix::var(self.r) += phoenix::val(1000)]
+ || hundreds [phoenix::var(self.r) += _1]
+ || tens [phoenix::var(self.r) += _1]
+ || ones [phoenix::var(self.r) += _1]
+ ) ;
+ }
+
+ rule<ScannerT> first;
+ symbols<unsigned> hundreds;
+ symbols<unsigned> tens;
+ symbols<unsigned> ones;
+
+ rule<ScannerT> const& start() const { return first; }
+ };
+
+ roman(unsigned& r_) : r(r_) {}
+ unsigned& r;
+};
+//]
+
 int main()
 {
     {
@@ -50,6 +92,17 @@
         std::cout << "matched length: " << pi.length << "\n";
         //]
     }
+
+ {
+ //[porting_guide_classic_use_grammar
+ std::string input("MMIX"); // MMIX == 2009
+ unsigned value = 0;
+ roman r(value);
+ parse_info<std::string::iterator> pi = parse(input.begin(), input.end(), r);
+ if (pi.hit)
+ std::cout << "successfully matched: " << value << "\n";
+ //]
+ }
     return 0;
 }
 

Modified: trunk/libs/spirit/example/qi/porting_guide_qi.cpp
==============================================================================
--- trunk/libs/spirit/example/qi/porting_guide_qi.cpp (original)
+++ trunk/libs/spirit/example/qi/porting_guide_qi.cpp 2009-08-23 21:56:47 EDT (Sun, 23 Aug 2009)
@@ -16,6 +16,43 @@
 using namespace boost::spirit;
 //]
 
+//[porting_guide_qi_grammar
+struct roman : public grammar<roman>
+{
+ template <typename Iterator>
+ struct roman : qi::grammar<Iterator, unsigned()>
+ {
+ roman() : qi::grammar<Iterator, unsigned()>(first)
+ {
+ hundreds.add
+ ("C" , 100)("CC" , 200)("CCC" , 300)("CD" , 400)("D" , 500)
+ ("DC" , 600)("DCC" , 700)("DCCC" , 800)("CM" , 900) ;
+
+ tens.add
+ ("X" , 10)("XX" , 20)("XXX" , 30)("XL" , 40)("L" , 50)
+ ("LX" , 60)("LXX" , 70)("LXXX" , 80)("XC" , 90) ;
+
+ ones.add
+ ("I" , 1)("II" , 2)("III" , 3)("IV" , 4)("V" , 5)
+ ("VI" , 6)("VII" , 7)("VIII" , 8)("IX" , 9) ;
+
+ // _val refers to the attribute of the rule on the left hand side
+ first = eps [_val = 0]
+ >> ( +lit('M') [_val += 1000]
+ || hundreds [_val += _1]
+ || tens [_val += _1]
+ || ones [_val += _1]
+ ) ;
+ }
+
+ qi::rule<Iterator, unsigned()> first;
+ symbols<char, unsigned> hundreds;
+ symbols<char, unsigned> tens;
+ symbols<char, unsigned> ones;
+ };
+};
+//]
+
 int main()
 {
     {
@@ -32,6 +69,7 @@
         else
             std::cout << "stopped at: " << std::string(it, input.end()) << "\n";
 
+ // seldomly needed: use std::distance to calculate the length of the match
         std::cout << "matched length: " << std::distance(input.begin(), it) << "\n";
         //]
     }
@@ -50,9 +88,21 @@
         else
             std::cout << "stopped at: " << std::string(it, input.end()) << "\n";
 
+ // seldomly needed: use std::distance to calculate the length of the match
         std::cout << "matched length: " << std::distance(input.begin(), it) << "\n";
         //]
     }
+
+ {
+ //[porting_guide_qi_use_grammar
+ std::string input("MMIX"); // MMIX == 2009
+ std::string::iterator it = input.begin();
+ unsigned value = 0;
+ roman r;
+ if (qi::parse(it, input.end(), r, value))
+ std::cout << "successfully matched: " << value << "\n";
+ //]
+ }
     return 0;
 }
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk