$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55178 - in trunk/libs/spirit/repository: doc/html doc/html/spirit_repository doc/html/spirit_repository/karma_components/karma_generator_directives doc/html/spirit_repository/qi_components/qi_parser_directives doc/html/spirit_repository/qi_components/qi_parser_primitives doc/qi example/qi test/qi
From: hartmut.kaiser_at_[hidden]
Date: 2009-07-30 14:42:28
Author: hkaiser
Date: 2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
New Revision: 55178
URL: http://svn.boost.org/trac/boost/changeset/55178
Log:
Spirit: doc updates
Text files modified: 
   trunk/libs/spirit/repository/doc/html/index.html                                                                                |     4                                         
   trunk/libs/spirit/repository/doc/html/spirit_repository/karma_components/karma_generator_directives/karma_confix_generator.html |    18 ++++----                                
   trunk/libs/spirit/repository/doc/html/spirit_repository/preface.html                                                            |     8 +-                                      
   trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_directives/qi_distinct_parser.html              |    86 ++++++++++++++++++--------------------- 
   trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_primitives/qi_flush_multi_pass_parser.html      |    16 +++---                                  
   trunk/libs/spirit/repository/doc/qi/distinct.qbk                                                                                |    45 ++++++++++----------                    
   trunk/libs/spirit/repository/example/qi/distinct.cpp                                                                            |    18 ++++----                                
   trunk/libs/spirit/repository/test/qi/distinct.cpp                                                                               |    35 ++++++---------                         
   8 files changed, 107 insertions(+), 123 deletions(-)
Modified: trunk/libs/spirit/repository/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/repository/doc/html/index.html	(original)
+++ trunk/libs/spirit/repository/doc/html/index.html	2009-07-26 12:55:35 EDT (Sun, 26 Jul 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="id1009891"></a><p>
+<a name="id964454"></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>
@@ -68,7 +68,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: July 26, 2009 at 03:33:36 GMT</small></p></td>
+<td align="left"><p><small>Last revised: July 26, 2009 at 16:54:46 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
Modified: trunk/libs/spirit/repository/doc/html/spirit_repository/karma_components/karma_generator_directives/karma_confix_generator.html
==============================================================================
--- trunk/libs/spirit/repository/doc/html/spirit_repository/karma_components/karma_generator_directives/karma_confix_generator.html	(original)
+++ trunk/libs/spirit/repository/doc/html/spirit_repository/karma_components/karma_generator_directives/karma_confix_generator.html	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -27,7 +27,7 @@
         Confix Generator</a>
 </h4></div></div></div>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.description"></a><h6>
-<a name="id1017098"></a>
+<a name="id972668"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.description">Description</a>
         </h6>
 <p>
@@ -94,20 +94,20 @@
           tag using a simple: <code class="computeroutput"><span class="identifier">ol</span><span class="special">[</span><span class="string">"Some text"</span><span class="special">]</span></code> (which results in <code class="computeroutput"><span class="special"><</span><span class="identifier">ol</span><span class="special">></span><span class="identifier">Some</span> <span class="identifier">text</span><span class="special"></</span><span class="identifier">ol</span><span class="special">></span></code>).
         </p>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.header"></a><h6>
-<a name="id1018022"></a>
+<a name="id973592"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to <boost/spirit/repository/home/karma/confix.hpp>
 </span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">repository</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_confix</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.synopsis"></a><h6>
-<a name="id1018096"></a>
+<a name="id973665"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">confix</span><span class="special">(</span><span class="identifier">prefix</span><span class="special">,</span> <span class="identifier">suffix</span><span class="special">)[</span><span class="identifier">subject</span><span class="special">]</span>
 </pre>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.parameters"></a><h6>
-<a name="id1018144"></a>
+<a name="id973713"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.parameters">Parameters</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -176,7 +176,7 @@
           All three parameters can be arbitrary complex generators themselves.
         </p>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.attribute"></a><h6>
-<a name="id1018302"></a>
+<a name="id973871"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.attribute">Attribute</a>
         </h6>
 <p>
@@ -203,7 +203,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.example"></a><h6>
-<a name="id1018477"></a>
+<a name="id974046"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.example">Example</a>
         </h6>
 <p>
@@ -212,7 +212,7 @@
           styles and a function prototype (for the full example code see here: confix.cpp)
         </p>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.prerequisites"></a><h6>
-<a name="id1018507"></a>
+<a name="id974076"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -250,7 +250,7 @@
 <p>
         </p>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.generating_different_comment_styles"></a><h6>
-<a name="id1018751"></a>
+<a name="id974321"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.generating_different_comment_styles">Generating
           Different Comment Styles</a>
         </h6>
@@ -302,7 +302,7 @@
           */</span> </code>.
         </p>
 <a name="spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.generating_a_function_prototype"></a><h6>
-<a name="id1019052"></a>
+<a name="id974622"></a>
           <a class="link" href="karma_confix_generator.html#spirit_repository.karma_components.karma_generator_directives.karma_confix_generator.generating_a_function_prototype">Generating
           a Function Prototype</a>
         </h6>
Modified: trunk/libs/spirit/repository/doc/html/spirit_repository/preface.html
==============================================================================
--- trunk/libs/spirit/repository/doc/html/spirit_repository/preface.html	(original)
+++ trunk/libs/spirit/repository/doc/html/spirit_repository/preface.html	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -27,7 +27,7 @@
 <a name="spirit_repository.preface"></a><a class="link" href="preface.html" title="Preface">Preface</a>
 </h2></div></div></div>
 <a name="spirit_repository.preface.the_spirit_repository"></a><h4>
-<a name="id1009921"></a>
+<a name="id964484"></a>
       <a class="link" href="preface.html#spirit_repository.preface.the_spirit_repository">The Spirit
       Repository</a>
     </h4>
@@ -40,7 +40,7 @@
       General List</a>.
     </p>
 <a name="spirit_repository.preface.how_to_use_this_manual"></a><h4>
-<a name="id1009956"></a>
+<a name="id964519"></a>
       <a class="link" href="preface.html#spirit_repository.preface.how_to_use_this_manual">How to use
       this manual</a>
     </h4>
@@ -49,7 +49,7 @@
       icons precede some text to indicate:
     </p>
 <div class="table">
-<a name="id1009969"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id964532"></a><p class="title"><b>Table 1. Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -170,7 +170,7 @@
       Tools</a>.
     </p>
 <a name="spirit_repository.preface.support"></a><h4>
-<a name="id1010210"></a>
+<a name="id964773"></a>
       <a class="link" href="preface.html#spirit_repository.preface.support">Support</a>
     </h4>
 <p>
Modified: trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_directives/qi_distinct_parser.html
==============================================================================
--- trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_directives/qi_distinct_parser.html	(original)
+++ trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_directives/qi_distinct_parser.html	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -28,50 +28,48 @@
         Distinct Parser</a>
 </h4></div></div></div>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.description"></a><h6>
-<a name="id1011512"></a>
+<a name="id968811"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.description">Description</a>
         </h6>
 <p>
           The <span class="emphasis"><em>Spirit.Qi</em></span> <code class="computeroutput"><span class="identifier">distinct</span></code>
           parser is a directive component allowing to avoid partial matches while
           parsing using a skipper. A simple example is the common task of matching
-          a C identifier. Consider:
+          a C keyword. Consider:
         </p>
-<pre class="programlisting"><span class="string">"declare"</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
+<pre class="programlisting"><span class="string">"description"</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
 </pre>
 <p>
           intending to match a variable declaration rule in some imaginary language.
           Let's assume further, that this rule is used with a <code class="computeroutput"><span class="identifier">space</span></code>
           skipper and that we have the following strings in the input:
         </p>
-<pre class="programlisting"><span class="string">"declare: ident\n"</span>
-<span class="string">"declare ident\n"</span>
-<span class="string">"declareident\n"</span>
+<pre class="programlisting"><span class="string">"description: ident\n"</span>
+<span class="string">"description ident\n"</span>
+<span class="string">"descriptionident\n"</span>
 </pre>
 <p>
           It might seem unexpected, but the parser above matches all three inputs
           just fine, even if the third input should not match at all! In order to
-          avoid the unwanted match we are forced to make our rule more complicated,
-          intermixing the intended syntactic analysis with semantic verification:
+          avoid the unwanted match we are forced to make our rule more complicated:
         </p>
-<pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="string">"declare"</span> <span class="special">>></span> <span class="special">&</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z_0-9"</span><span class="special">)]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="string">"description"</span> <span class="special">>></span> <span class="special">!</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z_0-9"</span><span class="special">)]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
 </pre>
 <p>
-          (the rule reads as: match <code class="computeroutput"><span class="string">"declare"</span></code>
+          (the rule reads as: match <code class="computeroutput"><span class="string">"description"</span></code>
           as long as it's not <span class="emphasis"><em>directly</em></span> followed by a valid identifier).
         </p>
 <p>
           The <code class="computeroutput"><span class="identifier">distinct</span><span class="special">[]</span></code>
-          directive can be used to simplify the rule above, allowing at the same
-          time to avoid the semantic verification at parse time:
+          directive is meant to simplify the rule above:
         </p>
-<pre class="programlisting"><span class="identifier">distinct</span><span class="special">(</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z_0-9"</span><span class="special">))[</span><span class="string">"declare"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">distinct</span><span class="special">(</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z_0-9"</span><span class="special">))[</span><span class="string">"description"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
 </pre>
 <p>
           Using the <code class="computeroutput"><span class="identifier">distinct</span><span class="special">[]</span></code>
           component instead of the explicit sequence has the advantage of being able
-          to encapsulate the tail as a separate parser construct. The following code
-          snippet illustrates the idea (for the full code of this example please
+          to encapsulate the tail (i.e the <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z_0-9"</span><span class="special">)</span></code>) as a separate parser construct. The following
+          code snippet illustrates the idea (for the full code of this example please
           see distinct.cpp):
         </p>
 <p>
@@ -91,21 +89,14 @@
 </span>    <span class="comment">// construct
 </span>    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tail</span><span class="special">></span>
     <span class="keyword">struct</span> <span class="identifier">distinct_spec</span>
-    <span class="special">{</span>
-        <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">terminal</span><span class="special"><</span>
-            <span class="identifier">repository</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">distinct</span><span class="special">(</span><span class="identifier">Tail</span><span class="special">)</span>
-        <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-    <span class="special">};</span>
+      <span class="special">:</span> <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">terminal</span><span class="special"><</span><span class="identifier">repository</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">distinct</span><span class="special">(</span><span class="identifier">Tail</span><span class="special">)></span>
+    <span class="special">{};</span>
 
     <span class="comment">// Metafunction allowing to get the type of any ascii::char_(...) construct
 </span>    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">String</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">char__spec</span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">terminal</span><span class="special"><</span>
-            <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">String</span><span class="special">)</span>
-        <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-    <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">char_spec</span>
+      <span class="special">:</span> <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">terminal</span><span class="special"><</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">String</span><span class="special">)></span>
+    <span class="special">{};</span>
 <span class="special">};</span>
 
 <span class="comment">// Define a helper function allowing to create a distinct() construct from 
@@ -120,21 +111,21 @@
 <span class="comment">// Define a helper function allowing to create a ascii::char_() construct 
 </span><span class="comment">// from an arbitrary string representation
 </span><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">String</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">char__spec</span><span class="special"><</span><span class="identifier">String</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">char__spec</span><span class="special">(</span><span class="identifier">String</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">str</span><span class="special">)</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">char_spec</span><span class="special"><</span><span class="identifier">String</span><span class="special">>::</span><span class="identifier">type</span>
+<span class="identifier">char_spec</span><span class="special">(</span><span class="identifier">String</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">str</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">return</span> <span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">str</span><span class="special">);</span>
 <span class="special">}</span>
 
 <span class="comment">// the following constructs the type of a distinct_spec holding a
 </span><span class="comment">// charset("0-9a-zA-Z_") as its tail parser
-</span><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">char__spec</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">charset_tag_type</span><span class="special">;</span>
+</span><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">char_spec</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">charset_tag_type</span><span class="special">;</span>
 <span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">distinct_spec</span><span class="special"><</span><span class="identifier">charset_tag_type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">keyword_tag_type</span><span class="special">;</span>
 
 <span class="comment">// Define a new Qi 'keyword' directive usable as a shortcut for a
 </span><span class="comment">// repository::distinct(char_(std::string("0-9a-zA-Z_")))
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span> <span class="identifier">keyword_spec</span><span class="special">(</span><span class="string">"0-9a-zA-Z_"</span><span class="special">);</span>
-<span class="identifier">keyword_tag_type</span> <span class="keyword">const</span> <span class="identifier">keyword</span> <span class="special">=</span> <span class="identifier">distinct_spec</span><span class="special">(</span><span class="identifier">char__spec</span><span class="special">(</span><span class="identifier">keyword_spec</span><span class="special">));</span> 
+<span class="identifier">keyword_tag_type</span> <span class="keyword">const</span> <span class="identifier">keyword</span> <span class="special">=</span> <span class="identifier">distinct_spec</span><span class="special">(</span><span class="identifier">char_spec</span><span class="special">(</span><span class="identifier">keyword_spec</span><span class="special">));</span> 
 </pre>
 <p>
           </p>
@@ -144,7 +135,7 @@
           These definitions define a new Qi parser recognizing keywords! This allows
           to rewrite our declaration parser expression as:
         </p>
-<pre class="programlisting"><span class="identifier">keyword</span><span class="special">[</span><span class="string">"declare"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">keyword</span><span class="special">[</span><span class="string">"description"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">":"</span><span class="special">)</span> <span class="special">>></span> <span class="special">*(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="identifier">eol</span><span class="special">)</span>
 </pre>
 <p>
           which is much more readable and concise if compared to the original parser
@@ -153,20 +144,20 @@
           above.
         </p>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.header"></a><h6>
-<a name="id1015563"></a>
+<a name="id970044"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to <boost/spirit/repository/home/qi/distinct.hpp>
 </span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">repository</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi_distinct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.synopsis"></a><h6>
-<a name="id1015636"></a>
+<a name="id970117"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">distinct</span><span class="special">(</span><span class="identifier">tail</span><span class="special">)[</span><span class="identifier">subject</span><span class="special">]</span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.parameters"></a><h6>
-<a name="id1015676"></a>
+<a name="id970156"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.parameters">Parameters</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -219,7 +210,7 @@
           All two parameters can be arbitrary complex parsers themselves.
         </p>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.attribute"></a><h6>
-<a name="id1015774"></a>
+<a name="id970255"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.attribute">Attribute</a>
         </h6>
 <p>
@@ -233,7 +224,7 @@
 <pre class="programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span><span class="special">,</span> <span class="identifier">b</span><span class="special">:</span> <span class="identifier">B</span> <span class="special">--></span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">b</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">A</span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.example"></a><h6>
-<a name="id1015887"></a>
+<a name="id970368"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.example">Example</a>
         </h6>
 <p>
@@ -241,7 +232,7 @@
           parser. distinct.cpp)
         </p>
 <a name="spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.prerequisites"></a><h6>
-<a name="id1015917"></a>
+<a name="id970398"></a>
           <a class="link" href="qi_distinct_parser.html#spirit_repository.qi_components.qi_parser_directives.qi_distinct_parser.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -280,8 +271,9 @@
 <p>
           We show several examples of how the <code class="computeroutput"><span class="identifier">distinct</span><span class="special">[]</span></code> directive can be used to force correct
           behavior while matching keywords. The first two code snippets show the
-          correct matching of the declare keyword (in this hypothetical example we
-          allow keywords to be directly followed by an optional <code class="computeroutput"><span class="string">"--"</span></code>):
+          correct matching of the <code class="computeroutput"><span class="identifier">description</span></code>
+          keyword (in this hypothetical example we allow keywords to be directly
+          followed by an optional <code class="computeroutput"><span class="string">"--"</span></code>):
         </p>
 <p>
           </p>
@@ -289,10 +281,10 @@
             
 </p>
 <pre class="programlisting"><span class="special">{</span>
-    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"declare ident"</span><span class="special">);</span>
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"description ident"</span><span class="special">);</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">first</span><span class="special">(</span><span class="identifier">str</span><span class="special">.</span><span class="identifier">begin</span><span class="special">());</span>
     <span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">phrase_parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span>
-      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"declare"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
+      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"description"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
       <span class="special">,</span> <span class="identifier">space</span><span class="special">);</span>
     <span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">r</span> <span class="special">&&</span> <span class="identifier">first</span> <span class="special">==</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
 <span class="special">}</span>
@@ -305,10 +297,10 @@
             
 </p>
 <pre class="programlisting"><span class="special">{</span>
-    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"declare--ident"</span><span class="special">);</span>
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"description--ident"</span><span class="special">);</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">first</span><span class="special">(</span><span class="identifier">str</span><span class="special">.</span><span class="identifier">begin</span><span class="special">());</span>
     <span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">phrase_parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span>
-      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"declare"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
+      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"description"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
       <span class="special">,</span> <span class="identifier">space</span><span class="special">);</span>
     <span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">r</span> <span class="special">&&</span> <span class="identifier">first</span> <span class="special">==</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
 <span class="special">}</span>
@@ -319,7 +311,7 @@
         </p>
 <p>
           The last example shows that the <code class="computeroutput"><span class="identifier">distinct</span><span class="special">[]</span></code> parser component correctly refuses to
-          match "declare-ident":
+          match "description-ident":
         </p>
 <p>
           </p>
@@ -327,10 +319,10 @@
             
 </p>
 <pre class="programlisting"><span class="special">{</span>
-    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"declare-ident"</span><span class="special">);</span>
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"description-ident"</span><span class="special">);</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">first</span><span class="special">(</span><span class="identifier">str</span><span class="special">.</span><span class="identifier">begin</span><span class="special">());</span>
     <span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">phrase_parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span>
-      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"declare"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
+      <span class="special">,</span> <span class="identifier">distinct</span><span class="special">(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)[</span><span class="string">"description"</span><span class="special">]</span> <span class="special">>></span> <span class="special">-</span><span class="identifier">lit</span><span class="special">(</span><span class="string">"--"</span><span class="special">)</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">alnum</span> <span class="special">|</span> <span class="char">'_'</span><span class="special">)</span>
       <span class="special">,</span> <span class="identifier">space</span><span class="special">);</span>
     <span class="identifier">BOOST_ASSERT</span><span class="special">(!</span><span class="identifier">r</span> <span class="special">&&</span> <span class="identifier">first</span> <span class="special">==</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">begin</span><span class="special">());</span>
 <span class="special">}</span>
Modified: trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_primitives/qi_flush_multi_pass_parser.html
==============================================================================
--- trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_primitives/qi_flush_multi_pass_parser.html	(original)
+++ trunk/libs/spirit/repository/doc/html/spirit_repository/qi_components/qi_parser_primitives/qi_flush_multi_pass_parser.html	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -28,7 +28,7 @@
         flush_multi_pass parser</a>
 </h4></div></div></div>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.description"></a><h6>
-<a name="id1010282"></a>
+<a name="id964845"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.description">Description</a>
         </h6>
 <p>
@@ -53,20 +53,20 @@
           <code class="computeroutput"><span class="identifier">eps</span></code>).
         </p>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.header"></a><h6>
-<a name="id1010390"></a>
+<a name="id964953"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to <boost/spirit/repository/home/qi/flush_multi_pass.hpp>
 </span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">repository</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi_flush_multi_pass</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.synopsis"></a><h6>
-<a name="id1010463"></a>
+<a name="id965026"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">flush_multi_pass</span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.parameters"></a><h6>
-<a name="id1010485"></a>
+<a name="id965048"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.parameters">Parameters</a>
         </h6>
 <p>
@@ -74,7 +74,7 @@
           not require any parameters.
         </p>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.attribute"></a><h6>
-<a name="id1010509"></a>
+<a name="id965072"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.attribute">Attribute</a>
         </h6>
 <p>
@@ -84,7 +84,7 @@
 <pre class="programlisting"><span class="identifier">flush_multi_pass</span> <span class="special">--></span> <span class="identifier">unused</span>
 </pre>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.example"></a><h6>
-<a name="id1010558"></a>
+<a name="id965121"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.example">Example</a>
         </h6>
 <p>
@@ -96,7 +96,7 @@
           a function prototype (for the full example code see here: flush_multi_pass.cpp)
         </p>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.prerequisites"></a><h6>
-<a name="id1010590"></a>
+<a name="id965153"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -133,7 +133,7 @@
 <p>
         </p>
 <a name="spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.clearing_the_internal_buffer"></a><h6>
-<a name="id1010806"></a>
+<a name="id965369"></a>
           <a class="link" href="qi_flush_multi_pass_parser.html#spirit_repository.qi_components.qi_parser_primitives.qi_flush_multi_pass_parser.clearing_the_internal_buffer">Clearing
           the internal buffer</a>
         </h6>
Modified: trunk/libs/spirit/repository/doc/qi/distinct.qbk
==============================================================================
--- trunk/libs/spirit/repository/doc/qi/distinct.qbk	(original)
+++ trunk/libs/spirit/repository/doc/qi/distinct.qbk	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -12,37 +12,36 @@
 
 The __qi__ `distinct` parser is a directive component allowing to avoid partial 
 matches while parsing using a skipper. A simple example is the common task of 
-matching a C identifier. Consider:
+matching a C keyword. Consider:
 
-    "declare" >> -lit(":") >> *(char_ - eol)
+    "description" >> -lit(":") >> *(char_ - eol)
 
 intending to match a variable declaration rule in some imaginary language. Let's
 assume further, that this rule is used with a `space` skipper and that we have 
 the following strings in the input:
 
-    "declare: ident\n"
-    "declare ident\n"
-    "declareident\n"
+    "description: ident\n"
+    "description ident\n"
+    "descriptionident\n"
 
 It might seem unexpected, but the parser above matches all three inputs just 
 fine, even if the third input should not match at all! In order to avoid the 
-unwanted match we are forced to make our rule more complicated, intermixing 
-the intended syntactic analysis with semantic verification:
+unwanted match we are forced to make our rule more complicated:
 
-    lexeme["declare" >> &char_("a-zA-Z_0-9")] >> -lit(":") >> *(char_ - eol)
+    lexeme["description" >> !char_("a-zA-Z_0-9")] >> -lit(":") >> *(char_ - eol)
 
-(the rule reads as: match `"declare"` as long as it's not /directly/ followed 
-by a valid identifier).
+(the rule reads as: match `"description"` as long as it's not /directly/ 
+followed by a valid identifier).
 
-The `distinct[]` directive can be used to simplify the rule above, allowing at 
-the same time to avoid the semantic verification at parse time:
+The `distinct[]` directive is meant to simplify the rule above:
 
-    distinct(char_("a-zA-Z_0-9"))["declare"] >> -lit(":") >> *(char_ - eol)
+    distinct(char_("a-zA-Z_0-9"))["description"] >> -lit(":") >> *(char_ - eol)
 
 Using the `distinct[]` component instead of the explicit sequence has the 
-advantage of being able to encapsulate the tail as a separate parser construct. 
-The following code snippet illustrates the idea (for the full code of this 
-example please see [@../../test/qi/distinct.cpp distinct.cpp]):
+advantage of being able to encapsulate the tail (i.e the `char_("a-zA-Z_0-9")`) 
+as a separate parser construct. The following code snippet illustrates the idea 
+(for the full code of this example please see 
+[@../../test/qi/distinct.cpp distinct.cpp]):
 
 [import ../test/qi/distinct.cpp]
 [qi_distinct_encapsulation]
@@ -50,7 +49,7 @@
 These definitions define a new Qi parser recognizing keywords! This allows to 
 rewrite our declaration parser expression as:
 
-    keyword["declare"] >> -lit(":") >> *(char_ - eol)
+    keyword["description"] >> -lit(":") >> *(char_ - eol)
 
 which is much more readable and concise if compared to the original parser 
 expression. In addition the new `keyword[]` directive has the advantage to be 
@@ -109,15 +108,15 @@
 
 We show several examples of how the `distinct[]` directive can be used to force
 correct behavior while matching keywords. The first two code snippets show 
-the correct matching of the declare keyword (in this hypothetical example we 
-allow keywords to be directly followed by an optional `"--"`):
+the correct matching of the `description` keyword (in this hypothetical example 
+we allow keywords to be directly followed by an optional `"--"`):
 
-[qi_distinct_declare_ident]
-[qi_distinct_declare__ident]
+[qi_distinct_description_ident]
+[qi_distinct_description__ident]
 
 The last example shows that the `distinct[]` parser component correctly refuses
-to match "declare-ident":
+to match "description-ident":
 
-[qi_distinct_declare_ident_error]
+[qi_distinct_description_ident_error]
 
 [endsect]
Modified: trunk/libs/spirit/repository/example/qi/distinct.cpp
==============================================================================
--- trunk/libs/spirit/repository/example/qi/distinct.cpp	(original)
+++ trunk/libs/spirit/repository/example/qi/distinct.cpp	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -23,34 +23,34 @@
 
 int main()
 {
-    //[qi_distinct_declare_ident
+    //[qi_distinct_description_ident
     {
-        std::string str("declare ident");
+        std::string str("description ident");
         std::string::iterator first(str.begin());
         bool r = qi::phrase_parse(first, str.end()
-          , distinct(alnum | '_')["declare"] >> -lit("--") >> +(alnum | '_')
+          , distinct(alnum | '_')["description"] >> -lit("--") >> +(alnum | '_')
           , space);
         BOOST_ASSERT(r && first == str.end());
     }
     //]
 
-    //[qi_distinct_declare__ident
+    //[qi_distinct_description__ident
     {
-        std::string str("declare--ident");
+        std::string str("description--ident");
         std::string::iterator first(str.begin());
         bool r = qi::phrase_parse(first, str.end()
-          , distinct(alnum | '_')["declare"] >> -lit("--") >> +(alnum | '_')
+          , distinct(alnum | '_')["description"] >> -lit("--") >> +(alnum | '_')
           , space);
         BOOST_ASSERT(r && first == str.end());
     }
     //]
 
-    //[qi_distinct_declare_ident_error
+    //[qi_distinct_description_ident_error
     {
-        std::string str("declare-ident");
+        std::string str("description-ident");
         std::string::iterator first(str.begin());
         bool r = qi::phrase_parse(first, str.end()
-          , distinct(alnum | '_')["declare"] >> -lit("--") >> +(alnum | '_')
+          , distinct(alnum | '_')["description"] >> -lit("--") >> +(alnum | '_')
           , space);
         BOOST_ASSERT(!r && first == str.begin());
     }
Modified: trunk/libs/spirit/repository/test/qi/distinct.cpp
==============================================================================
--- trunk/libs/spirit/repository/test/qi/distinct.cpp	(original)
+++ trunk/libs/spirit/repository/test/qi/distinct.cpp	2009-07-26 12:55:35 EDT (Sun, 26 Jul 2009)
@@ -38,21 +38,14 @@
         // construct
         template <typename Tail>
         struct distinct_spec
-        {
-            using namespace boost::spirit;
-            typedef typename spirit::result_of::terminal<
-                repository::tag::distinct(Tail)
-            >::type type;
-        };
+          : spirit::result_of::terminal<repository::tag::distinct(Tail)>
+        {};
 
         // Metafunction allowing to get the type of any ascii::char_(...) construct
         template <typename String>
-        struct char__spec
-        {
-            typedef typename spirit::result_of::terminal<
-                spirit::tag::ascii::char_(String)
-            >::type type;
-        };
+        struct char_spec
+          : spirit::result_of::terminal<spirit::tag::ascii::char_(String)>
+        {};
     };
 
     // Define a helper function allowing to create a distinct() construct from 
@@ -67,21 +60,21 @@
     // Define a helper function allowing to create a ascii::char_() construct 
     // from an arbitrary string representation
     template <typename String>
-    inline typename traits::char__spec<String>::type
-    char__spec(String const& str)
+    inline typename traits::char_spec<String>::type
+    char_spec(String const& str)
     {
         return ascii::char_(str);
     }
 
     // the following constructs the type of a distinct_spec holding a
     // charset("0-9a-zA-Z_") as its tail parser
-    typedef traits::char__spec<std::string>::type charset_tag_type;
+    typedef traits::char_spec<std::string>::type charset_tag_type;
     typedef traits::distinct_spec<charset_tag_type>::type keyword_tag_type;
 
     // Define a new Qi 'keyword' directive usable as a shortcut for a
     // repository::distinct(char_(std::string("0-9a-zA-Z_")))
     std::string const keyword_spec("0-9a-zA-Z_");
-    keyword_tag_type const keyword = distinct_spec(char__spec(keyword_spec)); 
+    keyword_tag_type const keyword = distinct_spec(char_spec(keyword_spec)); 
     //]
 }
 
@@ -95,12 +88,12 @@
         using namespace boost::spirit::ascii;
 
         qi::rule<char const*, space_type> r;
-        r = distinct::keyword["declare"] >> -lit(':') >> distinct::keyword["ident"];
+        r = distinct::keyword["description"] >> -lit(':') >> distinct::keyword["ident"];
 
-        BOOST_TEST(test("declare ident", r, space));
-        BOOST_TEST(test("declare:ident", r, space));
-        BOOST_TEST(test("declare: ident", r, space));
-        BOOST_TEST(!test("declareident", r, space));
+        BOOST_TEST(test("description ident", r, space));
+        BOOST_TEST(test("description:ident", r, space));
+        BOOST_TEST(test("description: ident", r, space));
+        BOOST_TEST(!test("descriptionident", r, space));
     }
 
     return boost::report_errors();