$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: hartmut.kaiser_at_[hidden]
Date: 2008-06-27 15:03:26
Author: hkaiser
Date: 2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
New Revision: 46788
URL: http://svn.boost.org/trac/boost/changeset/46788
Log:
Spirit: Fixed most of the inspect errors
Text files modified: 
   trunk/boost/spirit/home/classic/core/non_terminal/impl/static.hpp     |     2                                         
   trunk/boost/spirit/home/karma/detail/output_iterator.hpp              |    12                                         
   trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp |   554 ++++++------                            
   trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp              |     2                                         
   trunk/boost/spirit/home/support/char_class/iso8859_1.hpp              |     3                                         
   trunk/libs/spirit/classic/test/grammar_def_test.cpp                   |     2                                         
   trunk/libs/spirit/classic/test/mix_and_match_trees.cpp                |     2                                         
   trunk/libs/spirit/classic/test/negated_eps_p_test.cpp                 |     2                                         
   trunk/libs/spirit/example/lex/word_count.cpp                          |     6                                         
   trunk/libs/spirit/example/lex/word_count_functor.flex                 |     5                                         
   trunk/libs/spirit/example/lex/word_count_functor_flex.cpp             |  1585 ++++++++++++++++++++------------------- 
   trunk/libs/spirit/phoenix/doc/Jamfile.v2                              |     8                                         
   trunk/libs/spirit/phoenix/test/container/container_tests.hpp          |    16                                         
   trunk/libs/spirit/phoenix/test/container/container_tests1a.cpp        |     2                                         
   trunk/libs/spirit/phoenix/test/container/container_tests3a.cpp        |     6                                         
   trunk/libs/spirit/phoenix/test/container/container_tests3b.cpp        |     4                                         
   trunk/libs/spirit/phoenix/test/container/container_tests6b.cpp        |     6                                         
   17 files changed, 1119 insertions(+), 1098 deletions(-)
Modified: trunk/boost/spirit/home/classic/core/non_terminal/impl/static.hpp
==============================================================================
--- trunk/boost/spirit/home/classic/core/non_terminal/impl/static.hpp	(original)
+++ trunk/boost/spirit/home/classic/core/non_terminal/impl/static.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,5 +1,5 @@
 /*=============================================================================
-    Copyright (c) 2006 João Abecasis
+    Copyright (c) 2006 Joao Abecasis
     http://spirit.sourceforge.net/
 
   Distributed under the Boost Software License, Version 1.0. (See accompanying
Modified: trunk/boost/spirit/home/karma/detail/output_iterator.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/output_iterator.hpp	(original)
+++ trunk/boost/spirit/home/karma/detail/output_iterator.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -152,11 +152,11 @@
             return buffer ? buffer->buffer_size() : 0; 
         }
 
-    private:        
+    private:
         std::size_t width;
         abstract_container<OutputIterator> *buffer;
     };
-    
+
     ///////////////////////////////////////////////////////////////////////////
     //  forward declaration only
     ///////////////////////////////////////////////////////////////////////////
@@ -321,16 +321,16 @@
             output_iterator<ostream_iterator<T, Elem, Traits>, int> 
         base_type;
         typedef ostream_iterator<T, Elem, Traits> base_iterator_type;
-	    typedef std::basic_ostream<Elem, Traits> ostream_type;
-        
+        typedef std::basic_ostream<Elem, Traits> ostream_type;
+
     public:
         output_iterator(base_iterator_type& sink)
           : base_type(sink)
         {}
-        
+
         ostream_type& get_ostream() { return this->sink.get_ostream(); }
     };
-    
+
     ///////////////////////////////////////////////////////////////////////////
     //  Helper class for exception safe enabling of character counting in the
     //  output iterator
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp	(original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -30,36 +30,36 @@
     {
         // we need to re-sort the state names in ascending order if the state 
         // ids, filling possible gaps in between later
-	      typedef typename 
-	          boost::lexer::basic_rules<Char>::string_size_t_map::const_iterator
-	      state_iterator;
-	      typedef std::map<std::size_t, char const*> reverse_state_map_type;
-	      
+        typedef typename 
+            boost::lexer::basic_rules<Char>::string_size_t_map::const_iterator
+        state_iterator;
+        typedef std::map<std::size_t, char const*> reverse_state_map_type;
+        
         reverse_state_map_type reverse_state_map;
-	      state_iterator send = rules_.statemap().end();
-	      for (state_iterator sit = rules_.statemap().begin(); sit != send; ++sit)
-	      {
-	          typedef typename reverse_state_map_type::value_type value_type;
-	          reverse_state_map.insert(value_type((*sit).second, (*sit).first.c_str()));
-	      }
+        state_iterator send = rules_.statemap().end();
+        for (state_iterator sit = rules_.statemap().begin(); sit != send; ++sit)
+        {
+            typedef typename reverse_state_map_type::value_type value_type;
+            reverse_state_map.insert(value_type((*sit).second, (*sit).first.c_str()));
+        }
+        
+        os_ << "// this table defines the names of the lexer states\n";
+        os_ << "char const* const lexer_state_names" << name_suffix 
+            << "[" << rules_.statemap().size() << "] = \n{\n";
+            
+        typedef typename reverse_state_map_type::iterator iterator;
+        iterator rend = reverse_state_map.end();
+        std::size_t last_id = 0;
+        for (iterator rit = reverse_state_map.begin(); rit != rend; ++rit)
+        {
+            for (/**/; last_id < (*rit).first; ++last_id)
+            {
+                os_ << "    0,  // \"<undefined state>\"\n";
+            }
+            os_ << "    \"" << (*rit).second << "\",\n";
+        }
+        os_ << "};\n\n";
         
-	      os_ << "// this table defines the names of the lexer states\n";
-	      os_ << "char const* const lexer_state_names" << name_suffix 
-	          << "[" << rules_.statemap().size() << "] = \n{\n";
-	          
-	      typedef typename reverse_state_map_type::iterator iterator;
-	      iterator rend = reverse_state_map.end();
-	      std::size_t last_id = 0;
-	      for (iterator rit = reverse_state_map.begin(); rit != rend; ++rit)
-	      {
-	          for (/**/; last_id < (*rit).first; ++last_id)
-            {
-	              os_ << "    0,  // \"<undefined state>\"\n";
-	          }
-	          os_ << "    \"" << (*rit).second << "\",\n";
-	      }
-	      os_ << "};\n\n";
-	      
         return true;
     }
     
@@ -75,16 +75,16 @@
         if (sm_._lookup->empty())
             return false;
             
-	      std::size_t const dfas_ = sm_._dfa->size();
-	      std::size_t const lookups_ = sm_._lookup->front()->size();
+        std::size_t const dfas_ = sm_._dfa->size();
+        std::size_t const lookups_ = sm_._lookup->front()->size();
 
-	      os_ << "// Copyright (c) 2008 Ben Hanson\n";
-	      os_ << "//\n";
-	      os_ << "// Distributed under the Boost Software License, "
-	          "Version 1.0. (See accompanying\n";
-	      os_ << "// file licence_1_0.txt or copy at "
-	          "http://www.boost.org/LICENSE_1_0.txt)\n\n";
-	      os_ << "// Auto-generated by boost::lexer\n";
+        os_ << "// Copyright (c) 2008 Ben Hanson\n";
+        os_ << "//\n";
+        os_ << "// Distributed under the Boost Software License, "
+            "Version 1.0. (See accompanying\n";
+        os_ << "// file licence_1_0.txt or copy at "
+            "http://www.boost.org/LICENSE_1_0.txt)\n\n";
+        os_ << "// Auto-generated by boost::lexer\n";
 
         std::string guard(__DATE__ "_" __TIME__);
         std::string::size_type p = guard.find_first_of(": ");
@@ -94,32 +94,32 @@
             p = guard.find_first_of(": ", p);
         }
       
-	      os_ << "#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_" << guard << ")\n";
-	      os_ << "#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_" << guard << "\n\n";
-    	
-	      os_ << "#include <boost/detail/iterator.hpp>\n";
-	      os_ << "#include <boost/spirit/home/support/detail/lexer/char_traits.hpp>\n\n";
-
-	      os_ << "// the generated table of state names and the tokenizer have to be\n"
-	             "// defined in the boost::spirit::lex::static namespace\n";
-	      os_ << "namespace boost { namespace spirit { namespace lex { "
-	          "namespace static_ {\n\n";
+        os_ << "#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_" << guard << ")\n";
+        os_ << "#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_" << guard << "\n\n";
+      
+        os_ << "#include <boost/detail/iterator.hpp>\n";
+        os_ << "#include <boost/spirit/home/support/detail/lexer/char_traits.hpp>\n\n";
+
+        os_ << "// the generated table of state names and the tokenizer have to be\n"
+               "// defined in the boost::spirit::lex::static namespace\n";
+        os_ << "namespace boost { namespace spirit { namespace lex { "
+            "namespace static_ {\n\n";
 
         // generate the table containing state names 
         if (!generate_cpp_state_names(rules_, os_, name_suffix))
             return false;
 
-	      os_ << "template<typename Iterator>\n";
-	      os_ << "std::size_t next_token" << name_suffix  << " (";
+        os_ << "template<typename Iterator>\n";
+        os_ << "std::size_t next_token" << name_suffix  << " (";
 
         if (dfas_ > 1 || !optimize_parameters)
         {
-	          os_ << "std::size_t &start_state_, ";
+            os_ << "std::size_t &start_state_, ";
         }
 
         if (sm_._seen_BOL_assertion || !optimize_parameters)
         {
-	          os_ << "Iterator const& start_, ";
+            os_ << "Iterator const& start_, ";
         }
 
         if (dfas_ > 1 || sm_._seen_BOL_assertion || !optimize_parameters)
@@ -127,26 +127,26 @@
             os_ << "\n    ";
         }
       
-	      os_ << "Iterator &start_token_, Iterator const& end_)\n";
-	      os_ << "{\n";
-	      os_ << "    enum {end_state_index, id_index, state_index, bol_index, "
-		      "eol_index,\n";
-	      os_ << "        dead_state_index, dfa_offset};\n";
-	      os_ << "    static const std::size_t npos = static_cast"
-		      "<std::size_t>(~0);\n";
+        os_ << "Iterator &start_token_, Iterator const& end_)\n";
+        os_ << "{\n";
+        os_ << "    enum {end_state_index, id_index, state_index, bol_index, "
+          "eol_index,\n";
+        os_ << "        dead_state_index, dfa_offset};\n";
+        os_ << "    static const std::size_t npos = static_cast"
+          "<std::size_t>(~0);\n";
 
-	      if (dfas_ > 1)
-	      {
+        if (dfas_ > 1)
+        {
             for (std::size_t state_ = 0; state_ < dfas_; ++state_)
             {
                 std::size_t i_ = 0;
                 std::size_t j_ = 1;
                 std::size_t count_ = lookups_ / 8;
-			          std::size_t const* lookup_ = &sm_._lookup[state_]->front ();
-			          std::size_t const* dfa_ = &sm_._dfa[state_]->front ();
+                std::size_t const* lookup_ = &sm_._lookup[state_]->front ();
+                std::size_t const* dfa_ = &sm_._dfa[state_]->front ();
 
-			          os_ << "    static const std::size_t lookup" << state_ 
-			              << "_[" << lookups_ << "] = {";
+                os_ << "    static const std::size_t lookup" << state_ 
+                    << "_[" << lookups_ << "] = {";
 
                 for (/**/; i_ < count_; ++i_)
                 {
@@ -246,19 +246,19 @@
             }
 
             os_ << "};\n";
-	      }
-	      else
-	      {
-		        std::size_t const* lookup_ = &sm_._lookup[0]->front();
-		        std::size_t const* dfa_ = &sm_._dfa[0]->front();
+        }
+        else
+        {
+            std::size_t const* lookup_ = &sm_._lookup[0]->front();
+            std::size_t const* dfa_ = &sm_._dfa[0]->front();
             std::size_t i_ = 0;
             std::size_t j_ = 1;
             std::size_t count_ = lookups_ / 8;
 
-		        os_ << "    static const std::size_t lookup_[";
-		        os_ << sm_._lookup[0]->size() << "] = {";
+            os_ << "    static const std::size_t lookup_[";
+            os_ << sm_._lookup[0]->size() << "] = {";
 
-		        for (; i_ < count_; ++i_)
+            for (; i_ < count_; ++i_)
             {
                 const std::size_t index_ = i_ * 8;
 
@@ -277,11 +277,11 @@
                 j_ = 1;
             }
 
-		        os_ << "};\n";
-		        os_ << "    static const std::size_t dfa_alphabet_ = " <<
-			        sm_._dfa_alphabet.front () << ";\n";
-		        os_ << "    static const std::size_t dfa_[" <<
-			        sm_._dfa[0]->size () << "] = {";
+            os_ << "};\n";
+            os_ << "    static const std::size_t dfa_alphabet_ = " <<
+              sm_._dfa_alphabet.front () << ";\n";
+            os_ << "    static const std::size_t dfa_[" <<
+              sm_._dfa[0]->size () << "] = {";
                 count_ = sm_._dfa[0]->size () / 8;
 
             for (i_ = 0; i_ < count_; ++i_)
@@ -321,145 +321,145 @@
             }
 
             os_ << "};\n";
-	      }
+        }
+
+        os_ << "\n    if (start_token_ == end_) return 0;\n\n";
+
+        if (dfas_ > 1)
+        {
+            os_ << "again:\n";
+            os_ << "    const std::size_t * lookup_ = lookup_arr_[start_state_];\n";
+            os_ << "    std::size_t dfa_alphabet_ = dfa_alphabet_arr_[start_state_];\n";
+            os_ << "    const std::size_t *dfa_ = dfa_arr_[start_state_];\n";
+        }
+
+        os_ << "    const std::size_t *ptr_ = dfa_ + dfa_alphabet_;\n";
+        os_ << "    Iterator curr_ = start_token_;\n";
+        os_ << "    bool end_state_ = *ptr_ != 0;\n";
+        os_ << "    std::size_t id_ = *(ptr_ + id_index);\n";
+        os_ << "    Iterator end_token_ = start_token_;\n";
+        os_ << '\n';
+        os_ << "    while (curr_ != end_)\n";
+        os_ << "    {\n";
+
+        if (sm_._seen_BOL_assertion)
+        {
+            os_ << "        std::size_t const BOL_state_ = ptr_[bol_index];\n";
+        }
+
+        if (sm_._seen_EOL_assertion)
+        {
+            os_ << "        std::size_t const EOL_state_ = ptr_[eol_index];\n";
+        }
+
+        if (sm_._seen_BOL_assertion || sm_._seen_EOL_assertion)
+        {
+            os_ << '\n';
+        }
+
+        if (sm_._seen_BOL_assertion && sm_._seen_EOL_assertion)
+        {
+            os_ << "        if (BOL_state_ && (start_token_ == start_ ||\n";
+            os_ << "            *(start_token_ - 1) == '\\n'))\n";
+            os_ << "        {\n";
+            os_ << "            ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+            os_ << "        else if (EOL_state_ && *curr_ == '\\n')\n";
+            os_ << "        {\n";
+            os_ << "            ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+            os_ << "        else\n";
+            os_ << "        {\n";
+            os_ << "            std::size_t const state_ =\n";
+
+            if (lookups_ == 256)
+            {
+                os_ << "                ptr_[lookup_[<typename Traits::index_type>"
+                    "(*curr_++)]];\n";
+            }
+            else
+            {
+                os_ << "                ptr_[lookup_[*curr_++]];\n";
+            }
+
+            os_ << '\n';
+            os_ << "            if (state_ == 0) break;\n";
+            os_ << '\n';
+            os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+        }
+        else if (sm_._seen_BOL_assertion)
+        {
+            os_ << "        if (BOL_state_ && (start_token_ == start_ ||\n";
+            os_ << "            *(start_token_ - 1) == '\\n'))\n";
+            os_ << "        {\n";
+            os_ << "            ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+            os_ << "        else\n";
+            os_ << "        {\n";
+            os_ << "            std::size_t const state_ =\n";
+
+            if (lookups_ == 256)
+            {
+                os_ << "                ptr_[lookup_[static_cast<unsigned char>\n";
+                os_ << "                (*curr_++)]];\n";
+            }
+            else
+            {
+                os_ << "                ptr_[lookup_[*curr_++]];\n";
+            }
 
-	      os_ << "\n    if (start_token_ == end_) return 0;\n\n";
+            os_ << '\n';
+            os_ << "            if (state_ == 0) break;\n";
+            os_ << '\n';
+            os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+        }
+        else if (sm_._seen_EOL_assertion)
+        {
+            os_ << "        if (EOL_state_ && *curr_ == '\\n')\n";
+            os_ << "        {\n";
+            os_ << "            ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+            os_ << "        else\n";
+            os_ << "        {\n";
+            os_ << "            std::size_t const state_ =\n";
 
-	      if (dfas_ > 1)
-	      {
-		        os_ << "again:\n";
-	          os_ << "    const std::size_t * lookup_ = lookup_arr_[start_state_];\n";
-	          os_ << "    std::size_t dfa_alphabet_ = dfa_alphabet_arr_[start_state_];\n";
-	          os_ << "    const std::size_t *dfa_ = dfa_arr_[start_state_];\n";
-	      }
-
-	      os_ << "    const std::size_t *ptr_ = dfa_ + dfa_alphabet_;\n";
-	      os_ << "    Iterator curr_ = start_token_;\n";
-	      os_ << "    bool end_state_ = *ptr_ != 0;\n";
-	      os_ << "    std::size_t id_ = *(ptr_ + id_index);\n";
-	      os_ << "    Iterator end_token_ = start_token_;\n";
-	      os_ << '\n';
-	      os_ << "    while (curr_ != end_)\n";
-	      os_ << "    {\n";
-
-	      if (sm_._seen_BOL_assertion)
-	      {
-		        os_ << "        std::size_t const BOL_state_ = ptr_[bol_index];\n";
-	      }
-
-	      if (sm_._seen_EOL_assertion)
-	      {
-		        os_ << "        std::size_t const EOL_state_ = ptr_[eol_index];\n";
-	      }
-
-	      if (sm_._seen_BOL_assertion || sm_._seen_EOL_assertion)
-	      {
-		        os_ << '\n';
-	      }
-
-	      if (sm_._seen_BOL_assertion && sm_._seen_EOL_assertion)
-	      {
-		        os_ << "        if (BOL_state_ && (start_token_ == start_ ||\n";
-		        os_ << "            *(start_token_ - 1) == '\\n'))\n";
-		        os_ << "        {\n";
-		        os_ << "            ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-		        os_ << "        else if (EOL_state_ && *curr_ == '\\n')\n";
-		        os_ << "        {\n";
-		        os_ << "            ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-		        os_ << "        else\n";
-		        os_ << "        {\n";
-		        os_ << "            std::size_t const state_ =\n";
-
-		        if (lookups_ == 256)
-		        {
-			          os_ << "                ptr_[lookup_[<typename Traits::index_type>"
-			              "(*curr_++)]];\n";
-		        }
-		        else
-		        {
-			          os_ << "                ptr_[lookup_[*curr_++]];\n";
-		        }
-
-		        os_ << '\n';
-		        os_ << "            if (state_ == 0) break;\n";
-		        os_ << '\n';
-		        os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-	      }
-	      else if (sm_._seen_BOL_assertion)
-	      {
-		        os_ << "        if (BOL_state_ && (start_token_ == start_ ||\n";
-		        os_ << "            *(start_token_ - 1) == '\\n'))\n";
-		        os_ << "        {\n";
-		        os_ << "            ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-		        os_ << "        else\n";
-		        os_ << "        {\n";
-		        os_ << "            std::size_t const state_ =\n";
-
-		        if (lookups_ == 256)
-		        {
-			          os_ << "                ptr_[lookup_[static_cast<unsigned char>\n";
-			          os_ << "                (*curr_++)]];\n";
-		        }
-		        else
-		        {
-			          os_ << "                ptr_[lookup_[*curr_++]];\n";
-		        }
-
-		        os_ << '\n';
-		        os_ << "            if (state_ == 0) break;\n";
-		        os_ << '\n';
-		        os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-	      }
-	      else if (sm_._seen_EOL_assertion)
-	      {
-		        os_ << "        if (EOL_state_ && *curr_ == '\\n')\n";
-		        os_ << "        {\n";
-		        os_ << "            ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-		        os_ << "        else\n";
-		        os_ << "        {\n";
-		        os_ << "            std::size_t const state_ =\n";
-
-		        if (lookups_ == 256)
-		        {
-			          os_ << "                ptr_[lookup_[static_cast<unsigned char>\n";
-			          os_ << "                (*curr_++)]];\n";
-		        }
-		        else
-		        {
-			          os_ << "                ptr_[lookup_[*curr_++]];\n";
-		        }
-
-		        os_ << '\n';
-		        os_ << "            if (state_ == 0) break;\n";
-		        os_ << '\n';
-		        os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
-		        os_ << "        }\n";
-	      }
-	      else
-	      {
-		        os_ << "        std::size_t const state_ =\n";
-
-		        if (lookups_ == 256)
-		        {
-			          os_ << "            ptr_[lookup_[static_cast<unsigned char>\n";
-			          os_ << "            (*curr_++)]];\n";
-		        }
-		        else
-		        {
-			          os_ << "            ptr_[lookup_[*curr_++]];\n";
-		        }
-
-		        os_ << '\n';
-		        os_ << "        if (state_ == 0) break;\n";
-		        os_ << '\n';
-		        os_ << "        ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
-	      }
+            if (lookups_ == 256)
+            {
+                os_ << "                ptr_[lookup_[static_cast<unsigned char>\n";
+                os_ << "                (*curr_++)]];\n";
+            }
+            else
+            {
+                os_ << "                ptr_[lookup_[*curr_++]];\n";
+            }
+
+            os_ << '\n';
+            os_ << "            if (state_ == 0) break;\n";
+            os_ << '\n';
+            os_ << "            ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
+            os_ << "        }\n";
+        }
+        else
+        {
+            os_ << "        std::size_t const state_ =\n";
+
+            if (lookups_ == 256)
+            {
+                os_ << "            ptr_[lookup_[static_cast<unsigned char>\n";
+                os_ << "            (*curr_++)]];\n";
+            }
+            else
+            {
+                os_ << "            ptr_[lookup_[*curr_++]];\n";
+            }
+
+            os_ << '\n';
+            os_ << "        if (state_ == 0) break;\n";
+            os_ << '\n';
+            os_ << "        ptr_ = &dfa_[state_ * dfa_alphabet_];\n";
+        }
 
         os_ << '\n';
         os_ << "        if (*ptr_)\n";
@@ -467,71 +467,71 @@
         os_ << "            end_state_ = true;\n";
         os_ << "            id_ = *(ptr_ + id_index);\n";
 
-	      if (dfas_ > 1)
-	      {
-		        os_ << "            start_state_ = *(ptr_ + state_index);\n";
-	      }
-
-	      os_ << "            end_token_ = curr_;\n";
-	      os_ << "        }\n";
-	      os_ << "    }\n";
-	      os_ << '\n';
-
-	      if (sm_._seen_EOL_assertion)
-	      {
-		        os_ << "    const std::size_t EOL_state_ = ptr_[eol_index];\n";
-		        os_ << '\n';
-		        os_ << "    if (EOL_state_ && curr_ == end_)\n";
-		        os_ << "    {\n";
-		        os_ << "        ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
-		        os_ << '\n';
-		        os_ << "        if (*ptr_)\n";
-		        os_ << "        {\n";
-		        os_ << "            end_state_ = true;\n";
-		        os_ << "            id_ = *(ptr_ + id_index);\n";
-
-		        if (dfas_ > 1)
-		        {
-			          os_ << "            start_state_ = *(ptr_ + state_index);\n";
-		        }
-
-		        os_ << "            end_token_ = curr_;\n";
-		        os_ << "        }\n";
-		        os_ << "    }\n";
-		        os_ << '\n';
-	      }
-
-	      os_ << "    if (end_state_)\n";
-	      os_ << "    {\n";
-	      os_ << "        // return longest match\n";
-	      os_ << "        start_token_ = end_token_;\n";
-
-	      if (dfas_ > 1)
-	      {
-		        os_ << '\n';
-		        os_ << "        if (id_ == 0) goto again;\n";
-	      }
-
-	      os_ << "    }\n";
-	      os_ << "    else\n";
-	      os_ << "    {\n";
-    	
-	      if (skip_on_nomatch)
-	      {
-	          os_ << "        // No match causes char to be skipped\n";
-	          os_ << "        ++start_token_;\n";
+        if (dfas_ > 1)
+        {
+            os_ << "            start_state_ = *(ptr_ + state_index);\n";
+        }
+
+        os_ << "            end_token_ = curr_;\n";
+        os_ << "        }\n";
+        os_ << "    }\n";
+        os_ << '\n';
+
+        if (sm_._seen_EOL_assertion)
+        {
+            os_ << "    const std::size_t EOL_state_ = ptr_[eol_index];\n";
+            os_ << '\n';
+            os_ << "    if (EOL_state_ && curr_ == end_)\n";
+            os_ << "    {\n";
+            os_ << "        ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];\n";
+            os_ << '\n';
+            os_ << "        if (*ptr_)\n";
+            os_ << "        {\n";
+            os_ << "            end_state_ = true;\n";
+            os_ << "            id_ = *(ptr_ + id_index);\n";
+
+            if (dfas_ > 1)
+            {
+                os_ << "            start_state_ = *(ptr_ + state_index);\n";
+            }
+
+            os_ << "            end_token_ = curr_;\n";
+            os_ << "        }\n";
+            os_ << "    }\n";
+            os_ << '\n';
+        }
+
+        os_ << "    if (end_state_)\n";
+        os_ << "    {\n";
+        os_ << "        // return longest match\n";
+        os_ << "        start_token_ = end_token_;\n";
+
+        if (dfas_ > 1)
+        {
+            os_ << '\n';
+            os_ << "        if (id_ == 0) goto again;\n";
+        }
+
+        os_ << "    }\n";
+        os_ << "    else\n";
+        os_ << "    {\n";
+      
+        if (skip_on_nomatch)
+        {
+            os_ << "        // No match causes char to be skipped\n";
+            os_ << "        ++start_token_;\n";
         }
       
-	      os_ << "        id_ = npos;\n";
-	      os_ << "    }\n";
-	      os_ << '\n';
-	      os_ << "    return id_;\n";
-	      os_ << "}\n\n";
-
-	      os_ << "}}}}  // namespace boost::spirit::lex::static_\n\n";
-      	
-	      os_ << "#endif\n";
-	      
+        os_ << "        id_ = npos;\n";
+        os_ << "    }\n";
+        os_ << '\n';
+        os_ << "    return id_;\n";
+        os_ << "}\n\n";
+
+        os_ << "}}}}  // namespace boost::spirit::lex::static_\n\n";
+        
+        os_ << "#endif\n";
+        
         return os_.good();
     }
     
Modified: trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp	(original)
+++ trunk/boost/spirit/home/qi/stream/detail/match_manip.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,7 +1,7 @@
 //  Copyright (c) 2001-2008 Hartmut Kaiser
 // 
 //  Distributed under the Boist Software License, Version 1.0. (See accompanying 
-//  file LICENSE_1_0.txt or copy at http://www.boist.org/LICENSE_1_0.txt)
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined(BOOST_SPIRIT_FORMAT_MANIP_MAY_05_2007_1203PM)
 #define BOOST_SPIRIT_FORMAT_MANIP_MAY_05_2007_1203PM
Modified: trunk/boost/spirit/home/support/char_class/iso8859_1.hpp
==============================================================================
--- trunk/boost/spirit/home/support/char_class/iso8859_1.hpp	(original)
+++ trunk/boost/spirit/home/support/char_class/iso8859_1.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -30,6 +30,9 @@
 
     ///////////////////////////////////////////////////////////////////////////
     // ISO 8859-1 character classification table
+    //
+    // the comments intentionally contain non-ascii characters 
+    // boostinspect:noascii
     ///////////////////////////////////////////////////////////////////////////
     const unsigned char iso8859_1_char_types[] = 
     {
Modified: trunk/libs/spirit/classic/test/grammar_def_test.cpp
==============================================================================
--- trunk/libs/spirit/classic/test/grammar_def_test.cpp	(original)
+++ trunk/libs/spirit/classic/test/grammar_def_test.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2005 João Abecasis
+//  Copyright (c) 2005 Joao Abecasis
 //
 //  Distributed under the Boost Software License, Version 1.0. (See
 //  accompanying file LICENSE_1_0.txt or copy at
Modified: trunk/libs/spirit/classic/test/mix_and_match_trees.cpp
==============================================================================
--- trunk/libs/spirit/classic/test/mix_and_match_trees.cpp	(original)
+++ trunk/libs/spirit/classic/test/mix_and_match_trees.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2006 João Abecasis
+//  Copyright (c) 2006 Joao Abecasis
 //
 //  Distributed under the Boost Software License, Version 1.0. (See
 //  accompanying file LICENSE_1_0.txt or copy at
Modified: trunk/libs/spirit/classic/test/negated_eps_p_test.cpp
==============================================================================
--- trunk/libs/spirit/classic/test/negated_eps_p_test.cpp	(original)
+++ trunk/libs/spirit/classic/test/negated_eps_p_test.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,5 +1,5 @@
 /*=============================================================================
-    Copyright (c) 2004 João Abecasis
+    Copyright (c) 2004 Joao Abecasis
     Copyright (c) 2004 Joel de Guzman
     http://spirit.sourceforge.net/
 
Modified: trunk/libs/spirit/example/lex/word_count.cpp
==============================================================================
--- trunk/libs/spirit/example/lex/word_count.cpp	(original)
+++ trunk/libs/spirit/example/lex/word_count.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -10,7 +10,7 @@
         int c = 0, w = 0, l = 0;
     %}
     word   [^ \t\n]+
-    eol    \n	
+    eol    \n
     %%
     {word} { ++w; c += yyleng; }
     {eol}  { ++c; ++l; }
@@ -18,8 +18,8 @@
     %%
     main()
     {
-	      yylex();
-	      printf("%d %d %d\n", l, w, c);
+        yylex();
+        printf("%d %d %d\n", l, w, c);
     }
 //]
 */
Modified: trunk/libs/spirit/example/lex/word_count_functor.flex
==============================================================================
--- trunk/libs/spirit/example/lex/word_count_functor.flex	(original)
+++ trunk/libs/spirit/example/lex/word_count_functor.flex	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,4 +1,9 @@
 %{
+//  Copyright (c) 2001-2008 Hartmut Kaiser
+// 
+//  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)
+
 #include <boost/timer.hpp>
 #if defined(_WIN32)
     #include <io.h>
Modified: trunk/libs/spirit/example/lex/word_count_functor_flex.cpp
==============================================================================
--- trunk/libs/spirit/example/lex/word_count_functor_flex.cpp	(original)
+++ trunk/libs/spirit/example/lex/word_count_functor_flex.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -33,15 +33,15 @@
 /* The "const" storage-class-modifier is valid. */
 #define YY_USE_CONST
 
-#else	/* ! __cplusplus */
+#else /* ! __cplusplus */
 
 #if __STDC__
 
 #define YY_USE_PROTOS
 #define YY_USE_CONST
 
-#endif	/* __STDC__ */
-#endif	/* ! __cplusplus */
+#endif  /* __STDC__ */
+#endif  /* ! __cplusplus */
 
 #ifdef __TURBOC__
  #pragma warn -rch
@@ -113,10 +113,10 @@
  * int a single C statement (which needs a semi-colon terminator).  This
  * avoids problems with code like:
  *
- * 	if ( condition_holds )
- *		yyless( 5 );
- *	else
- *		do_something_else();
+ *  if ( condition_holds )
+ *    yyless( 5 );
+ *  else
+ *    do_something_else();
  *
  * Prior to using the do-while the compiler would get upset at the
  * "else" because it interpreted the "if" statement as being all
@@ -126,15 +126,15 @@
 /* Return all but the first 'n' matched characters back to the input stream. */
 
 #define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-		*yy_cp = yy_hold_char; \
-		YY_RESTORE_YY_MORE_OFFSET \
-		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
+  do \
+    { \
+    /* Undo effects of setting up yytext. */ \
+    *yy_cp = yy_hold_char; \
+    YY_RESTORE_YY_MORE_OFFSET \
+    yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+    } \
+  while ( 0 )
 
 #define unput(c) yyunput( c, yytext_ptr )
 
@@ -146,61 +146,61 @@
 
 
 struct yy_buffer_state
-	{
-	FILE *yy_input_file;
+  {
+  FILE *yy_input_file;
 
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
+  char *yy_ch_buf;    /* input buffer */
+  char *yy_buf_pos;   /* current position in input buffer */
 
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	int yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
+  /* Size of input buffer in bytes, not including room for EOB
+   * characters.
+   */
+  yy_size_t yy_buf_size;
+
+  /* Number of characters read into yy_ch_buf, not including EOB
+   * characters.
+   */
+  int yy_n_chars;
+
+  /* Whether we "own" the buffer - i.e., we know we created it,
+   * and can realloc() it to grow it, and should free() it to
+   * delete it.
+   */
+  int yy_is_our_buffer;
+
+  /* Whether this is an "interactive" input source; if so, and
+   * if we're using stdio for input, then we want to use getc()
+   * instead of fread(), to make sure we stop fetching input after
+   * each newline.
+   */
+  int yy_is_interactive;
+
+  /* Whether we're considered to be at the beginning of a line.
+   * If so, '^' rules will be active on the next match, otherwise
+   * not.
+   */
+  int yy_at_bol;
+
+  /* Whether to try to fill the input buffer when we reach the
+   * end of it.
+   */
+  int yy_fill_buffer;
 
-	int yy_buffer_status;
+  int yy_buffer_status;
 #define YY_BUFFER_NEW 0
 #define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
+  /* When an EOF's been seen but there's still some text to process
+   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+   * shouldn't try reading from the input source any more.  We might
+   * still have a bunch of tokens to match, though, because of
+   * possible backing-up.
+   *
+   * When we actually see the EOF, we change the status to "new"
+   * (via yyrestart()), so that the user can continue scanning by
+   * just pointing yyin at a new input file.
+   */
 #define YY_BUFFER_EOF_PENDING 2
-	};
+  };
 
 static YY_BUFFER_STATE yy_current_buffer = 0;
 
@@ -214,15 +214,15 @@
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
 
-static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+static int yy_n_chars;    /* number of characters read into yy_ch_buf */
 
 
 int yyleng;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
+static int yy_init = 1;   /* whether we need to initialize */
+static int yy_start = 0;  /* start state number */
 
 /* Flag which is used to allow yywrap()'s to do buffer switches
  * instead of setting up a fresh yyin.  A bit of a hack ...
@@ -250,18 +250,18 @@
 #define yy_new_buffer yy_create_buffer
 
 #define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! yy_current_buffer ) \
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-	yy_current_buffer->yy_is_interactive = is_interactive; \
-	}
+  { \
+  if ( ! yy_current_buffer ) \
+    yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+  yy_current_buffer->yy_is_interactive = is_interactive; \
+  }
 
 #define yy_set_bol(at_bol) \
-	{ \
-	if ( ! yy_current_buffer ) \
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-	yy_current_buffer->yy_at_bol = at_bol; \
-	}
+  { \
+  if ( ! yy_current_buffer ) \
+    yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+  yy_current_buffer->yy_at_bol = at_bol; \
+  }
 
 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
 
@@ -280,11 +280,11 @@
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
-	yytext_ptr = yy_bp; \
-	yyleng = (int) (yy_cp - yy_bp); \
-	yy_hold_char = *yy_cp; \
-	*yy_cp = '\0'; \
-	yy_c_buf_p = yy_cp;
+  yytext_ptr = yy_bp; \
+  yyleng = (int) (yy_cp - yy_bp); \
+  yy_hold_char = *yy_cp; \
+  *yy_cp = '\0'; \
+  yy_c_buf_p = yy_cp;
 
 #define YY_NUM_RULES 4
 #define YY_END_OF_BUFFER 5
@@ -364,6 +364,11 @@
 #line 1 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 #define INITIAL 0
 #line 2 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
+//  Copyright (c) 2001-2008 Hartmut Kaiser
+// 
+//  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)
+
 #include <boost/timer.hpp>
 #if defined(_WIN32)
     #include <io.h>
@@ -459,32 +464,32 @@
  */
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
-	if ( yy_current_buffer->yy_is_interactive ) \
-		{ \
-		int c = '*', n; \
-		for ( n = 0; n < max_size && \
-			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-			buf[n] = (char) c; \
-		if ( c == '\n' ) \
-			buf[n++] = (char) c; \
-		if ( c == EOF && ferror( yyin ) ) \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-		result = n; \
-		} \
-	else \
-		{ \
-		errno=0; \
-		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-			{ \
-			if( errno != EINTR) \
-				{ \
-				YY_FATAL_ERROR( "input in flex scanner failed" ); \
-				break; \
-				} \
-			errno=0; \
-			clearerr(yyin); \
-			} \
-		}
+  if ( yy_current_buffer->yy_is_interactive ) \
+    { \
+    int c = '*', n; \
+    for ( n = 0; n < max_size && \
+           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+      buf[n] = (char) c; \
+    if ( c == '\n' ) \
+      buf[n++] = (char) c; \
+    if ( c == EOF && ferror( yyin ) ) \
+      YY_FATAL_ERROR( "input in flex scanner failed" ); \
+    result = n; \
+    } \
+  else \
+    { \
+    errno=0; \
+    while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+      { \
+      if( errno != EINTR) \
+        { \
+        YY_FATAL_ERROR( "input in flex scanner failed" ); \
+        break; \
+        } \
+      errno=0; \
+      clearerr(yyin); \
+      } \
+    }
 #endif
 
 /* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -525,425 +530,425 @@
 #endif
 
 #define YY_RULE_SETUP \
-	YY_USER_ACTION
+  YY_USER_ACTION
 
 YY_DECL
-	{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
+  {
+  register yy_state_type yy_current_state;
+  register char *yy_cp, *yy_bp;
+  register int yy_act;
 
 #line 11 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 
 #line 539 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor_flex.cpp"
 
-	if ( yy_init )
-		{
-		yy_init = 0;
+  if ( yy_init )
+    {
+    yy_init = 0;
 
 #ifdef YY_USER_INIT
-		YY_USER_INIT;
+    YY_USER_INIT;
 #endif
 
-		if ( ! yy_start )
-			yy_start = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
+    if ( ! yy_start )
+      yy_start = 1;  /* first start state */
 
-		if ( ! yyout )
-			yyout = stdout;
+    if ( ! yyin )
+      yyin = stdin;
 
-		if ( ! yy_current_buffer )
-			yy_current_buffer =
-				yy_create_buffer( yyin, YY_BUF_SIZE );
+    if ( ! yyout )
+      yyout = stdout;
 
-		yy_load_buffer_state();
-		}
+    if ( ! yy_current_buffer )
+      yy_current_buffer =
+        yy_create_buffer( yyin, YY_BUF_SIZE );
 
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = yy_c_buf_p;
-
-		/* Support of yytext. */
-		*yy_cp = yy_hold_char;
+    yy_load_buffer_state();
+    }
 
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
+  while ( 1 )  /* loops until end-of-file is reached */
+    {
+    yy_cp = yy_c_buf_p;
+
+    /* Support of yytext. */
+    *yy_cp = yy_hold_char;
+
+    /* yy_bp points to the position in yy_ch_buf of the start of
+     * the current run.
+     */
+    yy_bp = yy_cp;
 
-		yy_current_state = yy_start;
+    yy_current_state = yy_start;
 yy_match:
-		do
-			{
-			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-			if ( yy_accept[yy_current_state] )
-				{
-				yy_last_accepting_state = yy_current_state;
-				yy_last_accepting_cpos = yy_cp;
-				}
-			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-				{
-				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 9 )
-					yy_c = yy_meta[(unsigned int) yy_c];
-				}
-			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-			++yy_cp;
-			}
-		while ( yy_base[yy_current_state] != 6 );
+    do
+      {
+      register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+      if ( yy_accept[yy_current_state] )
+        {
+        yy_last_accepting_state = yy_current_state;
+        yy_last_accepting_cpos = yy_cp;
+        }
+      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+        {
+        yy_current_state = (int) yy_def[yy_current_state];
+        if ( yy_current_state >= 9 )
+          yy_c = yy_meta[(unsigned int) yy_c];
+        }
+      yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+      ++yy_cp;
+      }
+    while ( yy_base[yy_current_state] != 6 );
 
 yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-		if ( yy_act == 0 )
-			{ /* have to back up */
-			yy_cp = yy_last_accepting_cpos;
-			yy_current_state = yy_last_accepting_state;
-			yy_act = yy_accept[yy_current_state];
-			}
-
-		YY_DO_BEFORE_ACTION;
-
-
-do_action:	/* This label is used only to access EOF actions. */
-
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = yy_hold_char;
-			yy_cp = yy_last_accepting_cpos;
-			yy_current_state = yy_last_accepting_state;
-			goto yy_find_action;
+    yy_act = yy_accept[yy_current_state];
+    if ( yy_act == 0 )
+      { /* have to back up */
+      yy_cp = yy_last_accepting_cpos;
+      yy_current_state = yy_last_accepting_state;
+      yy_act = yy_accept[yy_current_state];
+      }
+
+    YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+    switch ( yy_act )
+  { /* beginning of action switch */
+      case 0: /* must back up */
+      /* undo the effects of YY_DO_BEFORE_ACTION */
+      *yy_cp = yy_hold_char;
+      yy_cp = yy_last_accepting_cpos;
+      yy_current_state = yy_last_accepting_state;
+      goto yy_find_action;
 
 case 1:
 YY_RULE_SETUP
 #line 12 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 { return ID_WORD; }
-	YY_BREAK
+  YY_BREAK
 case 2:
 YY_RULE_SETUP
 #line 13 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 { return ID_EOL; }
-	YY_BREAK
+  YY_BREAK
 case 3:
 YY_RULE_SETUP
 #line 14 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 { return ID_CHAR; }
-	YY_BREAK
+  YY_BREAK
 case 4:
 YY_RULE_SETUP
 #line 15 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 ECHO;
-	YY_BREAK
+  YY_BREAK
 #line 642 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor_flex.cpp"
 case YY_STATE_EOF(INITIAL):
-	yyterminate();
+  yyterminate();
 
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = yy_hold_char;
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between yy_current_buffer and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			yy_n_chars = yy_current_buffer->yy_n_chars;
-			yy_current_buffer->yy_input_file = yyin;
-			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state();
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++yy_c_buf_p;
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = yy_c_buf_p;
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer() )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				yy_did_buffer_switch_on_eof = 0;
-
-				if ( yywrap() )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! yy_did_buffer_switch_on_eof )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				yy_c_buf_p =
-					yytext_ptr + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state();
-
-				yy_cp = yy_c_buf_p;
-				yy_bp = yytext_ptr + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				yy_c_buf_p =
-				&yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-				yy_current_state = yy_get_previous_state();
-
-				yy_cp = yy_c_buf_p;
-				yy_bp = yytext_ptr + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of yylex */
+  case YY_END_OF_BUFFER:
+    {
+    /* Amount of text matched not including the EOB char. */
+    int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+    /* Undo the effects of YY_DO_BEFORE_ACTION. */
+    *yy_cp = yy_hold_char;
+    YY_RESTORE_YY_MORE_OFFSET
+
+    if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+      {
+      /* We're scanning a new file or input source.  It's
+       * possible that this happened because the user
+       * just pointed yyin at a new source and called
+       * yylex().  If so, then we have to assure
+       * consistency between yy_current_buffer and our
+       * globals.  Here is the right place to do so, because
+       * this is the first action (other than possibly a
+       * back-up) that will match for the new input source.
+       */
+      yy_n_chars = yy_current_buffer->yy_n_chars;
+      yy_current_buffer->yy_input_file = yyin;
+      yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+      }
+
+    /* Note that here we test for yy_c_buf_p "<=" to the position
+     * of the first EOB in the buffer, since yy_c_buf_p will
+     * already have been incremented past the NUL character
+     * (since all states make transitions on EOB to the
+     * end-of-buffer state).  Contrast this with the test
+     * in input().
+     */
+    if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+      { /* This was really a NUL. */
+      yy_state_type yy_next_state;
+
+      yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+      yy_current_state = yy_get_previous_state();
+
+      /* Okay, we're now positioned to make the NUL
+       * transition.  We couldn't have
+       * yy_get_previous_state() go ahead and do it
+       * for us because it doesn't know how to deal
+       * with the possibility of jamming (and we don't
+       * want to build jamming into it because then it
+       * will run more slowly).
+       */
+
+      yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+      yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+      if ( yy_next_state )
+        {
+        /* Consume the NUL. */
+        yy_cp = ++yy_c_buf_p;
+        yy_current_state = yy_next_state;
+        goto yy_match;
+        }
+
+      else
+        {
+        yy_cp = yy_c_buf_p;
+        goto yy_find_action;
+        }
+      }
+
+    else switch ( yy_get_next_buffer() )
+      {
+      case EOB_ACT_END_OF_FILE:
+        {
+        yy_did_buffer_switch_on_eof = 0;
+
+        if ( yywrap() )
+          {
+          /* Note: because we've taken care in
+           * yy_get_next_buffer() to have set up
+           * yytext, we can now set up
+           * yy_c_buf_p so that if some total
+           * hoser (like flex itself) wants to
+           * call the scanner after we return the
+           * YY_NULL, it'll still work - another
+           * YY_NULL will get returned.
+           */
+          yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+          yy_act = YY_STATE_EOF(YY_START);
+          goto do_action;
+          }
+
+        else
+          {
+          if ( ! yy_did_buffer_switch_on_eof )
+            YY_NEW_FILE;
+          }
+        break;
+        }
+
+      case EOB_ACT_CONTINUE_SCAN:
+        yy_c_buf_p =
+          yytext_ptr + yy_amount_of_matched_text;
+
+        yy_current_state = yy_get_previous_state();
+
+        yy_cp = yy_c_buf_p;
+        yy_bp = yytext_ptr + YY_MORE_ADJ;
+        goto yy_match;
+
+      case EOB_ACT_LAST_MATCH:
+        yy_c_buf_p =
+        &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+        yy_current_state = yy_get_previous_state();
+
+        yy_cp = yy_c_buf_p;
+        yy_bp = yytext_ptr + YY_MORE_ADJ;
+        goto yy_find_action;
+      }
+    break;
+    }
+
+  default:
+    YY_FATAL_ERROR(
+      "fatal flex scanner internal error--no action found" );
+  } /* end of action switch */
+    } /* end of scanning one token */
+  } /* end of yylex */
 
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
  * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
  */
 
 static int yy_get_next_buffer()
-	{
-	register char *dest = yy_current_buffer->yy_ch_buf;
-	register char *source = yytext_ptr;
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( yy_current_buffer->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-	else
-		{
-		int num_to_read =
-			yy_current_buffer->yy_buf_size - number_to_move - 1;
+  {
+  register char *dest = yy_current_buffer->yy_ch_buf;
+  register char *source = yytext_ptr;
+  register int number_to_move, i;
+  int ret_val;
+
+  if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+    YY_FATAL_ERROR(
+    "fatal flex scanner internal error--end of buffer missed" );
+
+  if ( yy_current_buffer->yy_fill_buffer == 0 )
+    { /* Don't try to fill the buffer, so this is an EOF. */
+    if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+      {
+      /* We matched a single character, the EOB, so
+       * treat this as a final EOF.
+       */
+      return EOB_ACT_END_OF_FILE;
+      }
+
+    else
+      {
+      /* We matched some text prior to the EOB, first
+       * process it.
+       */
+      return EOB_ACT_LAST_MATCH;
+      }
+    }
+
+  /* Try to read more data. */
+
+  /* First move last chars to start of buffer. */
+  number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+  for ( i = 0; i < number_to_move; ++i )
+    *(dest++) = *(source++);
 
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
+  if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+    /* don't do the read, it's not guaranteed to return an EOF,
+     * just force an EOF
+     */
+    yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+  else
+    {
+    int num_to_read =
+      yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+    while ( num_to_read <= 0 )
+      { /* Not enough room in the buffer - grow it. */
 #ifdef YY_USES_REJECT
-			YY_FATAL_ERROR(
+      YY_FATAL_ERROR(
 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
 #else
 
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = yy_current_buffer;
+      /* just a shorter name for the current buffer */
+      YY_BUFFER_STATE b = yy_current_buffer;
+
+      int yy_c_buf_p_offset =
+        (int) (yy_c_buf_p - b->yy_ch_buf);
+
+      if ( b->yy_is_our_buffer )
+        {
+        int new_size = b->yy_buf_size * 2;
+
+        if ( new_size <= 0 )
+          b->yy_buf_size += b->yy_buf_size / 8;
+        else
+          b->yy_buf_size *= 2;
+
+        b->yy_ch_buf = (char *)
+          /* Include room in for 2 EOB chars. */
+          yy_flex_realloc( (void *) b->yy_ch_buf,
+               b->yy_buf_size + 2 );
+        }
+      else
+        /* Can't grow it, we don't own it. */
+        b->yy_ch_buf = 0;
 
-			int yy_c_buf_p_offset =
-				(int) (yy_c_buf_p - b->yy_ch_buf);
+      if ( ! b->yy_ch_buf )
+        YY_FATAL_ERROR(
+        "fatal error - scanner input buffer overflow" );
 
-			if ( b->yy_is_our_buffer )
-				{
-				int new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yy_flex_realloc( (void *) b->yy_ch_buf,
-							 b->yy_buf_size + 2 );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = yy_current_buffer->yy_buf_size -
-						number_to_move - 1;
-#endif
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-			yy_n_chars, num_to_read );
-
-		yy_current_buffer->yy_n_chars = yy_n_chars;
-		}
-
-	if ( yy_n_chars == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart( yyin );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			yy_current_buffer->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	yy_n_chars += number_to_move;
-	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+      yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
 
-	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+      num_to_read = yy_current_buffer->yy_buf_size -
+            number_to_move - 1;
+#endif
+      }
+
+    if ( num_to_read > YY_READ_BUF_SIZE )
+      num_to_read = YY_READ_BUF_SIZE;
 
-	return ret_val;
-	}
+    /* Read in more data. */
+    YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+      yy_n_chars, num_to_read );
+
+    yy_current_buffer->yy_n_chars = yy_n_chars;
+    }
+
+  if ( yy_n_chars == 0 )
+    {
+    if ( number_to_move == YY_MORE_ADJ )
+      {
+      ret_val = EOB_ACT_END_OF_FILE;
+      yyrestart( yyin );
+      }
+
+    else
+      {
+      ret_val = EOB_ACT_LAST_MATCH;
+      yy_current_buffer->yy_buffer_status =
+        YY_BUFFER_EOF_PENDING;
+      }
+    }
+
+  else
+    ret_val = EOB_ACT_CONTINUE_SCAN;
+
+  yy_n_chars += number_to_move;
+  yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+  yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+  yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+  return ret_val;
+  }
 
 
 /* yy_get_previous_state - get the state just before the EOB char was reached */
 
 static yy_state_type yy_get_previous_state()
-	{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-
-	yy_current_state = yy_start;
-
-	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-		{
-		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-		if ( yy_accept[yy_current_state] )
-			{
-			yy_last_accepting_state = yy_current_state;
-			yy_last_accepting_cpos = yy_cp;
-			}
-		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-			{
-			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 9 )
-				yy_c = yy_meta[(unsigned int) yy_c];
-			}
-		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-		}
+  {
+  register yy_state_type yy_current_state;
+  register char *yy_cp;
+
+  yy_current_state = yy_start;
+
+  for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+    {
+    register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+    if ( yy_accept[yy_current_state] )
+      {
+      yy_last_accepting_state = yy_current_state;
+      yy_last_accepting_cpos = yy_cp;
+      }
+    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+      {
+      yy_current_state = (int) yy_def[yy_current_state];
+      if ( yy_current_state >= 9 )
+        yy_c = yy_meta[(unsigned int) yy_c];
+      }
+    yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+    }
 
-	return yy_current_state;
-	}
+  return yy_current_state;
+  }
 
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
  *
  * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
+ *  next_state = yy_try_NUL_trans( current_state );
  */
 
 #ifdef YY_USE_PROTOS
@@ -952,27 +957,27 @@
 static yy_state_type yy_try_NUL_trans( yy_current_state )
 yy_state_type yy_current_state;
 #endif
-	{
-	register int yy_is_jam;
-	register char *yy_cp = yy_c_buf_p;
-
-	register YY_CHAR yy_c = 1;
-	if ( yy_accept[yy_current_state] )
-		{
-		yy_last_accepting_state = yy_current_state;
-		yy_last_accepting_cpos = yy_cp;
-		}
-	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-		{
-		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 9 )
-			yy_c = yy_meta[(unsigned int) yy_c];
-		}
-	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 8);
+  {
+  register int yy_is_jam;
+  register char *yy_cp = yy_c_buf_p;
+
+  register YY_CHAR yy_c = 1;
+  if ( yy_accept[yy_current_state] )
+    {
+    yy_last_accepting_state = yy_current_state;
+    yy_last_accepting_cpos = yy_cp;
+    }
+  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+    {
+    yy_current_state = (int) yy_def[yy_current_state];
+    if ( yy_current_state >= 9 )
+      yy_c = yy_meta[(unsigned int) yy_c];
+    }
+  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+  yy_is_jam = (yy_current_state == 8);
 
-	return yy_is_jam ? 0 : yy_current_state;
-	}
+  return yy_is_jam ? 0 : yy_current_state;
+  }
 
 
 #ifndef YY_NO_UNPUT
@@ -983,41 +988,41 @@
 int c;
 register char *yy_bp;
 #endif
-	{
-	register char *yy_cp = yy_c_buf_p;
+  {
+  register char *yy_cp = yy_c_buf_p;
+
+  /* undo effects of setting up yytext */
+  *yy_cp = yy_hold_char;
+
+  if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+    { /* need to shift things up to make room */
+    /* +2 for EOB chars. */
+    register int number_to_move = yy_n_chars + 2;
+    register char *dest = &yy_current_buffer->yy_ch_buf[
+          yy_current_buffer->yy_buf_size + 2];
+    register char *source =
+        &yy_current_buffer->yy_ch_buf[number_to_move];
+
+    while ( source > yy_current_buffer->yy_ch_buf )
+      *--dest = *--source;
+
+    yy_cp += (int) (dest - source);
+    yy_bp += (int) (dest - source);
+    yy_current_buffer->yy_n_chars =
+      yy_n_chars = yy_current_buffer->yy_buf_size;
+
+    if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+      YY_FATAL_ERROR( "flex scanner push-back overflow" );
+    }
+
+  *--yy_cp = (char) c;
 
-	/* undo effects of setting up yytext */
-	*yy_cp = yy_hold_char;
 
-	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-		{ /* need to shift things up to make room */
-		/* +2 for EOB chars. */
-		register int number_to_move = yy_n_chars + 2;
-		register char *dest = &yy_current_buffer->yy_ch_buf[
-					yy_current_buffer->yy_buf_size + 2];
-		register char *source =
-				&yy_current_buffer->yy_ch_buf[number_to_move];
-
-		while ( source > yy_current_buffer->yy_ch_buf )
-			*--dest = *--source;
-
-		yy_cp += (int) (dest - source);
-		yy_bp += (int) (dest - source);
-		yy_current_buffer->yy_n_chars =
-			yy_n_chars = yy_current_buffer->yy_buf_size;
-
-		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-			YY_FATAL_ERROR( "flex scanner push-back overflow" );
-		}
-
-	*--yy_cp = (char) c;
-
-
-	yytext_ptr = yy_bp;
-	yy_hold_char = *yy_cp;
-	yy_c_buf_p = yy_cp;
-	}
-#endif	/* ifndef YY_NO_UNPUT */
+  yytext_ptr = yy_bp;
+  yy_hold_char = *yy_cp;
+  yy_c_buf_p = yy_cp;
+  }
+#endif  /* ifndef YY_NO_UNPUT */
 
 
 #ifdef __cplusplus
@@ -1025,72 +1030,72 @@
 #else
 static int input()
 #endif
-	{
-	int c;
+  {
+  int c;
 
-	*yy_c_buf_p = yy_hold_char;
+  *yy_c_buf_p = yy_hold_char;
 
-	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-			/* This was really a NUL. */
-			*yy_c_buf_p = '\0';
-
-		else
-			{ /* need more input */
-			int offset = yy_c_buf_p - yytext_ptr;
-			++yy_c_buf_p;
-
-			switch ( yy_get_next_buffer() )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart( yyin );
-
-					/* fall through */
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap() )
-						return EOF;
+  if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+    {
+    /* yy_c_buf_p now points to the character we want to return.
+     * If this occurs *before* the EOB characters, then it's a
+     * valid NUL; if not, then we've hit the end of the buffer.
+     */
+    if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+      /* This was really a NUL. */
+      *yy_c_buf_p = '\0';
+
+    else
+      { /* need more input */
+      int offset = yy_c_buf_p - yytext_ptr;
+      ++yy_c_buf_p;
+
+      switch ( yy_get_next_buffer() )
+        {
+        case EOB_ACT_LAST_MATCH:
+          /* This happens because yy_g_n_b()
+           * sees that we've accumulated a
+           * token and flags that we need to
+           * try matching the token before
+           * proceeding.  But for input(),
+           * there's no matching to consider.
+           * So convert the EOB_ACT_LAST_MATCH
+           * to EOB_ACT_END_OF_FILE.
+           */
+
+          /* Reset buffer status. */
+          yyrestart( yyin );
+
+          /* fall through */
+
+        case EOB_ACT_END_OF_FILE:
+          {
+          if ( yywrap() )
+            return EOF;
 
-					if ( ! yy_did_buffer_switch_on_eof )
-						YY_NEW_FILE;
+          if ( ! yy_did_buffer_switch_on_eof )
+            YY_NEW_FILE;
 #ifdef __cplusplus
-					return yyinput();
+          return yyinput();
 #else
-					return input();
+          return input();
 #endif
-					}
+          }
 
-				case EOB_ACT_CONTINUE_SCAN:
-					yy_c_buf_p = yytext_ptr + offset;
-					break;
-				}
-			}
-		}
+        case EOB_ACT_CONTINUE_SCAN:
+          yy_c_buf_p = yytext_ptr + offset;
+          break;
+        }
+      }
+    }
 
-	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
-	*yy_c_buf_p = '\0';	/* preserve yytext */
-	yy_hold_char = *++yy_c_buf_p;
+  c = *(unsigned char *) yy_c_buf_p;  /* cast for 8-bit char's */
+  *yy_c_buf_p = '\0';  /* preserve yytext */
+  yy_hold_char = *++yy_c_buf_p;
 
 
-	return c;
-	}
+  return c;
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1099,13 +1104,13 @@
 void yyrestart( input_file )
 FILE *input_file;
 #endif
-	{
-	if ( ! yy_current_buffer )
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-	yy_init_buffer( yy_current_buffer, input_file );
-	yy_load_buffer_state();
-	}
+  {
+  if ( ! yy_current_buffer )
+    yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+  yy_init_buffer( yy_current_buffer, input_file );
+  yy_load_buffer_state();
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1114,28 +1119,28 @@
 void yy_switch_to_buffer( new_buffer )
 YY_BUFFER_STATE new_buffer;
 #endif
-	{
-	if ( yy_current_buffer == new_buffer )
-		return;
-
-	if ( yy_current_buffer )
-		{
-		/* Flush out information for old buffer. */
-		*yy_c_buf_p = yy_hold_char;
-		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-		yy_current_buffer->yy_n_chars = yy_n_chars;
-		}
-
-	yy_current_buffer = new_buffer;
-	yy_load_buffer_state();
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	yy_did_buffer_switch_on_eof = 1;
-	}
+  {
+  if ( yy_current_buffer == new_buffer )
+    return;
+
+  if ( yy_current_buffer )
+    {
+    /* Flush out information for old buffer. */
+    *yy_c_buf_p = yy_hold_char;
+    yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+    yy_current_buffer->yy_n_chars = yy_n_chars;
+    }
+
+  yy_current_buffer = new_buffer;
+  yy_load_buffer_state();
+
+  /* We don't actually know whether we did this switch during
+   * EOF (yywrap()) processing, but the only time this flag
+   * is looked at is after yywrap() is called, so it's safe
+   * to go ahead and always set it.
+   */
+  yy_did_buffer_switch_on_eof = 1;
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1143,12 +1148,12 @@
 #else
 void yy_load_buffer_state()
 #endif
-	{
-	yy_n_chars = yy_current_buffer->yy_n_chars;
-	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-	yyin = yy_current_buffer->yy_input_file;
-	yy_hold_char = *yy_c_buf_p;
-	}
+  {
+  yy_n_chars = yy_current_buffer->yy_n_chars;
+  yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+  yyin = yy_current_buffer->yy_input_file;
+  yy_hold_char = *yy_c_buf_p;
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1158,28 +1163,28 @@
 FILE *file;
 int size;
 #endif
-	{
-	YY_BUFFER_STATE b;
+  {
+  YY_BUFFER_STATE b;
 
-	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+  b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+  if ( ! b )
+    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-	b->yy_buf_size = size;
+  b->yy_buf_size = size;
 
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+  /* yy_ch_buf has to be 2 characters longer than the size given because
+   * we need to put in 2 end-of-buffer characters.
+   */
+  b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+  if ( ! b->yy_ch_buf )
+    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-	b->yy_is_our_buffer = 1;
+  b->yy_is_our_buffer = 1;
 
-	yy_init_buffer( b, file );
+  yy_init_buffer( b, file );
 
-	return b;
-	}
+  return b;
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1188,18 +1193,18 @@
 void yy_delete_buffer( b )
 YY_BUFFER_STATE b;
 #endif
-	{
-	if ( ! b )
-		return;
+  {
+  if ( ! b )
+    return;
 
-	if ( b == yy_current_buffer )
-		yy_current_buffer = (YY_BUFFER_STATE) 0;
+  if ( b == yy_current_buffer )
+    yy_current_buffer = (YY_BUFFER_STATE) 0;
 
-	if ( b->yy_is_our_buffer )
-		yy_flex_free( (void *) b->yy_ch_buf );
+  if ( b->yy_is_our_buffer )
+    yy_flex_free( (void *) b->yy_ch_buf );
 
-	yy_flex_free( (void *) b );
-	}
+  yy_flex_free( (void *) b );
+  }
 
 
 #ifndef _WIN32
@@ -1221,22 +1226,22 @@
 #endif
 
 
-	{
-	yy_flush_buffer( b );
+  {
+  yy_flush_buffer( b );
 
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
+  b->yy_input_file = file;
+  b->yy_fill_buffer = 1;
 
 #if YY_ALWAYS_INTERACTIVE
-	b->yy_is_interactive = 1;
+  b->yy_is_interactive = 1;
 #else
 #if YY_NEVER_INTERACTIVE
-	b->yy_is_interactive = 0;
+  b->yy_is_interactive = 0;
 #else
-	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
 #endif
 #endif
-	}
+  }
 
 
 #ifdef YY_USE_PROTOS
@@ -1246,27 +1251,27 @@
 YY_BUFFER_STATE b;
 #endif
 
-	{
-	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == yy_current_buffer )
-		yy_load_buffer_state();
-	}
+  {
+  if ( ! b )
+    return;
+
+  b->yy_n_chars = 0;
+
+  /* We always need two end-of-buffer characters.  The first causes
+   * a transition to the end-of-buffer state.  The second causes
+   * a jam in that state.
+   */
+  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+  b->yy_buf_pos = &b->yy_ch_buf[0];
+
+  b->yy_at_bol = 1;
+  b->yy_buffer_status = YY_BUFFER_NEW;
+
+  if ( b == yy_current_buffer )
+    yy_load_buffer_state();
+  }
 
 
 #ifndef YY_NO_SCAN_BUFFER
@@ -1277,33 +1282,33 @@
 char *base;
 yy_size_t size;
 #endif
-	{
-	YY_BUFFER_STATE b;
+  {
+  YY_BUFFER_STATE b;
 
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
+  if ( size < 2 ||
+       base[size-2] != YY_END_OF_BUFFER_CHAR ||
+       base[size-1] != YY_END_OF_BUFFER_CHAR )
+    /* They forgot to leave room for the EOB's. */
+    return 0;
 
-	yy_switch_to_buffer( b );
+  b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+  if ( ! b )
+    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+  b->yy_buf_size = size - 2;  /* "- 2" to take care of EOB's */
+  b->yy_buf_pos = b->yy_ch_buf = base;
+  b->yy_is_our_buffer = 0;
+  b->yy_input_file = 0;
+  b->yy_n_chars = b->yy_buf_size;
+  b->yy_is_interactive = 0;
+  b->yy_at_bol = 1;
+  b->yy_fill_buffer = 0;
+  b->yy_buffer_status = YY_BUFFER_NEW;
 
-	return b;
-	}
+  yy_switch_to_buffer( b );
+
+  return b;
+  }
 #endif
 
 
@@ -1314,13 +1319,13 @@
 YY_BUFFER_STATE yy_scan_string( yy_str )
 yyconst char *yy_str;
 #endif
-	{
-	int len;
-	for ( len = 0; yy_str[len]; ++len )
-		;
+  {
+  int len;
+  for ( len = 0; yy_str[len]; ++len )
+    ;
 
-	return yy_scan_bytes( yy_str, len );
-	}
+  return yy_scan_bytes( yy_str, len );
+  }
 #endif
 
 
@@ -1332,34 +1337,34 @@
 yyconst char *bytes;
 int len;
 #endif
-	{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	int i;
-
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = len + 2;
-	buf = (char *) yy_flex_alloc( n );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < len; ++i )
-		buf[i] = bytes[i];
-
-	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer( buf, n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
+  {
+  YY_BUFFER_STATE b;
+  char *buf;
+  yy_size_t n;
+  int i;
+
+  /* Get memory for full buffer, including space for trailing EOB's. */
+  n = len + 2;
+  buf = (char *) yy_flex_alloc( n );
+  if ( ! buf )
+    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+  for ( i = 0; i < len; ++i )
+    buf[i] = bytes[i];
+
+  buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+  b = yy_scan_buffer( buf, n );
+  if ( ! b )
+    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+  /* It's okay to grow etc. this buffer, and we should throw it
+   * away when we're done.
+   */
+  b->yy_is_our_buffer = 1;
 
-	return b;
-	}
+  return b;
+  }
 #endif
 
 
@@ -1370,49 +1375,49 @@
 static void yy_push_state( new_state )
 int new_state;
 #endif
-	{
-	if ( yy_start_stack_ptr >= yy_start_stack_depth )
-		{
-		yy_size_t new_size;
-
-		yy_start_stack_depth += YY_START_STACK_INCR;
-		new_size = yy_start_stack_depth * sizeof( int );
-
-		if ( ! yy_start_stack )
-			yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-		else
-			yy_start_stack = (int *) yy_flex_realloc(
-					(void *) yy_start_stack, new_size );
-
-		if ( ! yy_start_stack )
-			YY_FATAL_ERROR(
-			"out of memory expanding start-condition stack" );
-		}
+  {
+  if ( yy_start_stack_ptr >= yy_start_stack_depth )
+    {
+    yy_size_t new_size;
+
+    yy_start_stack_depth += YY_START_STACK_INCR;
+    new_size = yy_start_stack_depth * sizeof( int );
+
+    if ( ! yy_start_stack )
+      yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+    else
+      yy_start_stack = (int *) yy_flex_realloc(
+          (void *) yy_start_stack, new_size );
+
+    if ( ! yy_start_stack )
+      YY_FATAL_ERROR(
+      "out of memory expanding start-condition stack" );
+    }
 
-	yy_start_stack[yy_start_stack_ptr++] = YY_START;
+  yy_start_stack[yy_start_stack_ptr++] = YY_START;
 
-	BEGIN(new_state);
-	}
+  BEGIN(new_state);
+  }
 #endif
 
 
 #ifndef YY_NO_POP_STATE
 static void yy_pop_state()
-	{
-	if ( --yy_start_stack_ptr < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
+  {
+  if ( --yy_start_stack_ptr < 0 )
+    YY_FATAL_ERROR( "start-condition stack underflow" );
 
-	BEGIN(yy_start_stack[yy_start_stack_ptr]);
-	}
+  BEGIN(yy_start_stack[yy_start_stack_ptr]);
+  }
 #endif
 
 
 #ifndef YY_NO_TOP_STATE
 static int yy_top_state()
-	{
-	return yy_start_stack[yy_start_stack_ptr - 1];
-	}
+  {
+  return yy_start_stack[yy_start_stack_ptr - 1];
+  }
 #endif
 
 #ifndef YY_EXIT_FAILURE
@@ -1425,10 +1430,10 @@
 static void yy_fatal_error( msg )
 char msg[];
 #endif
-	{
-	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-	}
+  {
+  (void) fprintf( stderr, "%s\n", msg );
+  exit( YY_EXIT_FAILURE );
+  }
 
 
 
@@ -1436,16 +1441,16 @@
 
 #undef yyless
 #define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-		yytext[yyleng] = yy_hold_char; \
-		yy_c_buf_p = yytext + n; \
-		yy_hold_char = *yy_c_buf_p; \
-		*yy_c_buf_p = '\0'; \
-		yyleng = n; \
-		} \
-	while ( 0 )
+  do \
+    { \
+    /* Undo effects of setting up yytext. */ \
+    yytext[yyleng] = yy_hold_char; \
+    yy_c_buf_p = yytext + n; \
+    yy_hold_char = *yy_c_buf_p; \
+    *yy_c_buf_p = '\0'; \
+    yyleng = n; \
+    } \
+  while ( 0 )
 
 
 /* Internal utility routines. */
@@ -1459,11 +1464,11 @@
 yyconst char *s2;
 int n;
 #endif
-	{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-	}
+  {
+  register int i;
+  for ( i = 0; i < n; ++i )
+    s1[i] = s2[i];
+  }
 #endif
 
 #ifdef YY_NEED_STRLEN
@@ -1473,13 +1478,13 @@
 static int yy_flex_strlen( s )
 yyconst char *s;
 #endif
-	{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
+  {
+  register int n;
+  for ( n = 0; s[n]; ++n )
+    ;
 
-	return n;
-	}
+  return n;
+  }
 #endif
 
 
@@ -1489,9 +1494,9 @@
 static void *yy_flex_alloc( size )
 yy_size_t size;
 #endif
-	{
-	return (void *) malloc( size );
-	}
+  {
+  return (void *) malloc( size );
+  }
 
 #ifdef YY_USE_PROTOS
 static void *yy_flex_realloc( void *ptr, yy_size_t size )
@@ -1500,16 +1505,16 @@
 void *ptr;
 yy_size_t size;
 #endif
-	{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-	}
+  {
+  /* The cast to (char *) in the following accommodates both
+   * implementations that use char* generic pointers, and those
+   * that use void* generic pointers.  It works with the latter
+   * because both ANSI C and C++ allow castless assignment from
+   * any pointer type to void*, and deal with argument conversions
+   * as though doing an assignment.
+   */
+  return (void *) realloc( (char *) ptr, size );
+  }
 
 #ifdef YY_USE_PROTOS
 static void yy_flex_free( void *ptr )
@@ -1517,16 +1522,16 @@
 static void yy_flex_free( ptr )
 void *ptr;
 #endif
-	{
-	free( ptr );
-	}
+  {
+  free( ptr );
+  }
 
 #if YY_MAIN
 int main()
-	{
-	yylex();
-	return 0;
-	}
+  {
+  yylex();
+  return 0;
+  }
 #endif
 #line 15 "c:\\CVS\\boost\\libs\\spirit\\example\\lex\\word_count_functor.flex"
 
Modified: trunk/libs/spirit/phoenix/doc/Jamfile.v2
==============================================================================
--- trunk/libs/spirit/phoenix/doc/Jamfile.v2	(original)
+++ trunk/libs/spirit/phoenix/doc/Jamfile.v2	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -1,3 +1,11 @@
+#==============================================================================
+#    Copyright (c) 2003, 2005 Joel de Guzman
+#
+#   Use, modification and distribution is subject to 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)
+#==============================================================================
+
 project boost/libs/spirit/doc/phoenix/doc ;
 import boostbook : boostbook ;
 using quickbook ;
Modified: trunk/libs/spirit/phoenix/test/container/container_tests.hpp
==============================================================================
--- trunk/libs/spirit/phoenix/test/container/container_tests.hpp	(original)
+++ trunk/libs/spirit/phoenix/test/container/container_tests.hpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -85,8 +85,8 @@
     assign(arg1, arg2, arg3)(c, first, last);
     if (test(c.size() != size)) {
         cerr << "Failed " << typeid(Container).name()
-	     << " test_assign2 1\n"
-	     << "size == " << c.size() << '\n';
+       << " test_assign2 1\n"
+       << "size == " << c.size() << '\n';
         return;
     }
 
@@ -313,7 +313,7 @@
 {
     test_erase(c);
     if (boost::report_errors() != 0)
-	    return;
+      return;
 
     using phx::arg_names::arg1;
     using phx::arg_names::arg2;
@@ -322,7 +322,7 @@
     typename Container::value_type const value = *c.begin();
     typename Container::key_type const key = value.first;
     typename Container::size_type const removed =
-	    erase(arg1, arg2)(c, key);
+      erase(arg1, arg2)(c, key);
     if (test(removed != 1)) {
         cerr << "Failed " << typeid(Container).name() << " test_map_erase 1\n";
         return;
@@ -433,7 +433,7 @@
     // pair<iterator, bool> insert(const value_type& val);
     Map::value_type const value2(1400, 2200);
     std::pair<Map::iterator, bool> result =
-	    phx::insert(arg1, arg2)(c, value2);
+      phx::insert(arg1, arg2)(c, value2);
     if (test(!result.second)) {
         cerr << "Failed " << typeid(Map).name() << " test_map_insert 2\n";
         return;
@@ -468,7 +468,7 @@
 
     if (test(it != c.begin() || *it != *(++it))) {
         cerr << "Failed " << typeid(Multimap).name()
-	     << " test_multimap_insert 1\n";
+       << " test_multimap_insert 1\n";
         return;
     }
 
@@ -478,7 +478,7 @@
     it = phx::insert(arg1, arg2)(c, value2);
     if (test(it == c.end())) {
         cerr << "Failed " << typeid(Multimap).name()
-	     << " test_multimap_insert 2\n";
+       << " test_multimap_insert 2\n";
         return;
     }
 
@@ -490,7 +490,7 @@
     phx::insert(arg1, const_c.begin(), const_c.end())(c);
     if (test(c.size() != size + const_c.size())) {
         cerr << "Failed " << typeid(Multimap).name()
-	     << " test_multimap_insert 3\n";
+       << " test_multimap_insert 3\n";
         return;
     }
 }
Modified: trunk/libs/spirit/phoenix/test/container/container_tests1a.cpp
==============================================================================
--- trunk/libs/spirit/phoenix/test/container/container_tests1a.cpp	(original)
+++ trunk/libs/spirit/phoenix/test/container/container_tests1a.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -28,7 +28,7 @@
     int_vector::iterator it = data.begin();
     int_vector::iterator const end = data.end();
     for (; it != end; ++it)
-	    *it += size;
+      *it += size;
     return data;
 }
 
Modified: trunk/libs/spirit/phoenix/test/container/container_tests3a.cpp
==============================================================================
--- trunk/libs/spirit/phoenix/test/container/container_tests3a.cpp	(original)
+++ trunk/libs/spirit/phoenix/test/container/container_tests3a.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -17,8 +17,8 @@
     int_vector::const_iterator it = data.begin();
     int_vector::const_iterator const end = data.end();
     for (; it != end; ++it) {
-	    int const value = *it;
-	    result[value] = 100 * value;
+      int const value = *it;
+      result[value] = 100 * value;
     }
     return result;
 }
@@ -39,7 +39,7 @@
     int_vector::iterator it = data.begin();
     int_vector::iterator const end = data.end();
     for (; it != end; ++it)
-	    *it += size;
+      *it += size;
     return data;
 }
 
Modified: trunk/libs/spirit/phoenix/test/container/container_tests3b.cpp
==============================================================================
--- trunk/libs/spirit/phoenix/test/container/container_tests3b.cpp	(original)
+++ trunk/libs/spirit/phoenix/test/container/container_tests3b.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -17,8 +17,8 @@
     int_vector::const_iterator it = data.begin();
     int_vector::const_iterator const end = data.end();
     for (; it != end; ++it) {
-	    int const value = *it;
-	    result[value] = 100 * value;
+      int const value = *it;
+      result[value] = 100 * value;
     }
     return result;
 }
Modified: trunk/libs/spirit/phoenix/test/container/container_tests6b.cpp
==============================================================================
--- trunk/libs/spirit/phoenix/test/container/container_tests6b.cpp	(original)
+++ trunk/libs/spirit/phoenix/test/container/container_tests6b.cpp	2008-06-27 15:03:24 EDT (Fri, 27 Jun 2008)
@@ -17,8 +17,8 @@
     int_vector::const_iterator it = data.begin();
     int_vector::const_iterator const end = data.end();
     for (; it != end; ++it) {
-	    int const value = *it;
-	    result[value] = 100 * value;
+      int const value = *it;
+      result[value] = 100 * value;
     }
     return result;
 }
@@ -47,7 +47,7 @@
     int_vector::iterator it = data.begin();
     int_vector::iterator const end = data.end();
     for (; it != end; ++it)
-	    *it += size;
+      *it += size;
     return data;
 }