Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50611 - in branches/release: boost boost/spirit boost/spirit/home boost/spirit/home/classic boost/spirit/home/classic/core boost/spirit/home/classic/symbols/impl boost/spirit/home/classic/utility/impl/chset boost/spirit/home/karma boost/spirit/home/karma/action boost/spirit/home/karma/auxiliary boost/spirit/home/karma/binary boost/spirit/home/karma/char boost/spirit/home/karma/detail boost/spirit/home/karma/directive boost/spirit/home/karma/directive/detail boost/spirit/home/karma/nonterminal boost/spirit/home/karma/nonterminal/detail boost/spirit/home/karma/numeric boost/spirit/home/karma/operator boost/spirit/home/karma/operator/detail boost/spirit/home/karma/stream boost/spirit/home/karma/stream/detail boost/spirit/home/karma/string boost/spirit/home/lex boost/spirit/home/lex/lexer boost/spirit/home/lex/lexer/detail boost/spirit/home/lex/lexer/lexertl boost/spirit/home/lex/qi boost/spirit/home/lex/qi/state boost/spirit/home/lex/qi/utility boost/spirit/home/phoenix/bind boost/spirit/home/phoenix/operator boost/spirit/home/qi boost/spirit/home/qi/auxiliary boost/spirit/home/qi/binary boost/spirit/home/qi/debug boost/spirit/home/qi/debug/detail boost/spirit/home/qi/detail boost/spirit/home/qi/nonterminal boost/spirit/home/qi/numeric/detail boost/spirit/home/qi/operator boost/spirit/home/qi/stream boost/spirit/home/qi/stream/detail boost/spirit/home/support boost/spirit/home/support/algorithm boost/spirit/home/support/auxiliary boost/spirit/home/support/char_class boost/spirit/home/support/detail boost/spirit/home/support/detail/lexer boost/spirit/home/support/detail/lexer/containers boost/spirit/home/support/detail/lexer/conversion boost/spirit/home/support/detail/lexer/parser boost/spirit/home/support/detail/lexer/parser/tokeniser boost/spirit/home/support/detail/lexer/parser/tree boost/spirit/home/support/detail/lexer/partition boost/spirit/home/support/meta_grammar boost/spirit/home/support/nonterminal boost/spirit/include libs/spirit libs/spirit/classic/test libs/spirit/doc libs/spirit/doc/html libs/spirit/doc/html/spirit libs/spirit/doc/html/spirit/lex libs/spirit/doc/html/spirit/lex/abstracts libs/spirit/doc/html/spirit/lex/reference libs/spirit/doc/html/spirit/lex/tutorials libs/spirit/doc/html/spirit/notes libs/spirit/doc/html/spirit/qi_and_karma libs/spirit/doc/html/spirit/qi_and_karma/abstracts libs/spirit/doc/lex libs/spirit/doc/notes libs/spirit/doc/qi_and_karma libs/spirit/doc/reference/lex libs/spirit/doc/reference/qi_and_karma libs/spirit/example/karma libs/spirit/example/lex libs/spirit/example/lex/static_lexer libs/spirit/example/qi libs/spirit/phoenix libs/spirit/phoenix/test/bind libs/spirit/phoenix/test/operator libs/spirit/test libs/spirit/test/karma libs/spirit/test/lex libs/spirit/test/qi libs/spirit/test/support
From: hartmut.kaiser_at_[hidden]
Date: 2009-01-15 12:35:27


Author: hkaiser
Date: 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
New Revision: 50611
URL: http://svn.boost.org/trac/boost/changeset/50611

Log:
Spirit: Merging from trunk
Added:
   branches/release/boost/spirit/home/karma/auxiliary/confix.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/karma/auxiliary/confix.hpp
   branches/release/boost/spirit/home/karma/nonterminal/grammar_fwd.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/karma/nonterminal/grammar_fwd.hpp
   branches/release/boost/spirit/home/qi/auxiliary/confix.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/qi/auxiliary/confix.hpp
   branches/release/boost/spirit/home/qi/nonterminal/grammar_fwd.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/qi/nonterminal/grammar_fwd.hpp
   branches/release/boost/spirit/home/support.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/support.hpp
   branches/release/boost/spirit/home/support/auxiliary/confix.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/home/support/auxiliary/confix.hpp
   branches/release/boost/spirit/include/classic_spirit.hpp
      - copied unchanged from r50609, /trunk/boost/spirit/include/classic_spirit.hpp
   branches/release/libs/spirit/test/karma/confix.cpp
      - copied unchanged from r50610, /trunk/libs/spirit/test/karma/confix.cpp
   branches/release/libs/spirit/test/karma/pattern2.cpp
      - copied unchanged from r50610, /trunk/libs/spirit/test/karma/pattern2.cpp
   branches/release/libs/spirit/test/qi/confix.cpp
      - copied unchanged from r50610, /trunk/libs/spirit/test/qi/confix.cpp
Removed:
   branches/release/libs/spirit/test/repeat_ast_tests.cpp
Text files modified:
   branches/release/boost/spirit.hpp | 2
   branches/release/boost/spirit/home/classic/core/parser.hpp | 2
   branches/release/boost/spirit/home/classic/symbols/impl/tst.ipp | 4
   branches/release/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp | 1
   branches/release/boost/spirit/home/classic/version.hpp | 6
   branches/release/boost/spirit/home/karma.hpp | 2
   branches/release/boost/spirit/home/karma/action.hpp | 2
   branches/release/boost/spirit/home/karma/action/action.hpp | 2
   branches/release/boost/spirit/home/karma/action/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/eps.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/functor.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/functor_director.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/lazy.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/auxiliary/none.hpp | 2
   branches/release/boost/spirit/home/karma/binary.hpp | 2
   branches/release/boost/spirit/home/karma/binary/binary.hpp | 2
   branches/release/boost/spirit/home/karma/binary/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/char.hpp | 2
   branches/release/boost/spirit/home/karma/char/char.hpp | 2
   branches/release/boost/spirit/home/karma/char/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/char/space.hpp | 2
   branches/release/boost/spirit/home/karma/delimit.hpp | 2
   branches/release/boost/spirit/home/karma/detail/generate_to.hpp | 2
   branches/release/boost/spirit/home/karma/detail/ostream_iterator.hpp | 2
   branches/release/boost/spirit/home/karma/detail/output_iterator.hpp | 8
   branches/release/boost/spirit/home/karma/detail/string_generate.hpp | 2
   branches/release/boost/spirit/home/karma/directive.hpp | 2
   branches/release/boost/spirit/home/karma/directive/alignment_meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/directive/case_meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/directive/center_alignment.hpp | 2
   branches/release/boost/spirit/home/karma/directive/delimit.hpp | 2
   branches/release/boost/spirit/home/karma/directive/delimiter_meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/directive/detail/center_alignment_generate.hpp | 2
   branches/release/boost/spirit/home/karma/directive/detail/left_alignment_generate.hpp | 2
   branches/release/boost/spirit/home/karma/directive/detail/right_alignment_generate.hpp | 2
   branches/release/boost/spirit/home/karma/directive/left_alignment.hpp | 2
   branches/release/boost/spirit/home/karma/directive/right_alignment.hpp | 2
   branches/release/boost/spirit/home/karma/directive/verbatim.hpp | 2
   branches/release/boost/spirit/home/karma/domain.hpp | 2
   branches/release/boost/spirit/home/karma/generate.hpp | 2
   branches/release/boost/spirit/home/karma/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/detail/rule.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/grammar.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/nonterminal.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp | 2
   branches/release/boost/spirit/home/karma/nonterminal/rule.hpp | 2
   branches/release/boost/spirit/home/karma/numeric.hpp | 2
   branches/release/boost/spirit/home/karma/numeric/int.hpp | 2
   branches/release/boost/spirit/home/karma/numeric/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/numeric/numeric_fwd.hpp | 2
   branches/release/boost/spirit/home/karma/numeric/real.hpp | 2
   branches/release/boost/spirit/home/karma/numeric/real_policies.hpp | 7
   branches/release/boost/spirit/home/karma/numeric/uint.hpp | 2
   branches/release/boost/spirit/home/karma/operator.hpp | 2
   branches/release/boost/spirit/home/karma/operator/alternative.hpp | 2
   branches/release/boost/spirit/home/karma/operator/detail/alternative.hpp | 2
   branches/release/boost/spirit/home/karma/operator/detail/sequence.hpp | 2
   branches/release/boost/spirit/home/karma/operator/kleene.hpp | 2
   branches/release/boost/spirit/home/karma/operator/list.hpp | 2
   branches/release/boost/spirit/home/karma/operator/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/operator/optional.hpp | 76 +++----
   branches/release/boost/spirit/home/karma/operator/plus.hpp | 2
   branches/release/boost/spirit/home/karma/operator/sequence.hpp | 2
   branches/release/boost/spirit/home/karma/stream.hpp | 2
   branches/release/boost/spirit/home/karma/stream/detail/format_manip.hpp | 2
   branches/release/boost/spirit/home/karma/stream/detail/iterator_ostream.hpp | 2
   branches/release/boost/spirit/home/karma/stream/format_manip.hpp | 2
   branches/release/boost/spirit/home/karma/stream/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/stream/stream.hpp | 2
   branches/release/boost/spirit/home/karma/string.hpp | 2
   branches/release/boost/spirit/home/karma/string/lit.hpp | 2
   branches/release/boost/spirit/home/karma/string/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/karma/what.hpp | 2
   branches/release/boost/spirit/home/lex.hpp | 2
   branches/release/boost/spirit/home/lex/domain.hpp | 2
   branches/release/boost/spirit/home/lex/lexer.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/action.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/char_token_def.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/detail/sequence.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexer.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexer_actions.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexer_fwd.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_token.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/sequence.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/string_token_def.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/terminal_director.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/terminal_holder.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/token_def.hpp | 2
   branches/release/boost/spirit/home/lex/lexer/token_set.hpp | 2
   branches/release/boost/spirit/home/lex/lexer_lexertl.hpp | 2
   branches/release/boost/spirit/home/lex/lexer_static_lexertl.hpp | 2
   branches/release/boost/spirit/home/lex/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/lex/qi/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/lex/qi/state/in_state.hpp | 2
   branches/release/boost/spirit/home/lex/qi/state/state_switcher.hpp | 2
   branches/release/boost/spirit/home/lex/qi/utility/plain_token.hpp | 2
   branches/release/boost/spirit/home/lex/set_state.hpp | 2
   branches/release/boost/spirit/home/lex/tokenize_and_parse.hpp | 2
   branches/release/boost/spirit/home/phoenix.hpp | 13 +
   branches/release/boost/spirit/home/phoenix/bind/bind_member_variable.hpp | 33 +++
   branches/release/boost/spirit/home/phoenix/operator/io.hpp | 15 +
   branches/release/boost/spirit/home/qi/auxiliary.hpp | 2
   branches/release/boost/spirit/home/qi/auxiliary/functor.hpp | 2
   branches/release/boost/spirit/home/qi/auxiliary/functor_director.hpp | 2
   branches/release/boost/spirit/home/qi/auxiliary/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/qi/binary.hpp | 2
   branches/release/boost/spirit/home/qi/binary/binary.hpp | 2
   branches/release/boost/spirit/home/qi/binary/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/qi/debug.hpp | 2
   branches/release/boost/spirit/home/qi/debug/detail/debug_handler.hpp | 2
   branches/release/boost/spirit/home/qi/debug/detail/print_node_info.hpp | 2
   branches/release/boost/spirit/home/qi/debug/minimal_macros.hpp | 2
   branches/release/boost/spirit/home/qi/debug/simple_debug.hpp | 2
   branches/release/boost/spirit/home/qi/debug/simple_debug_macros.hpp | 2
   branches/release/boost/spirit/home/qi/detail/alternative_function.hpp | 2
   branches/release/boost/spirit/home/qi/detail/assign_to.hpp | 2
   branches/release/boost/spirit/home/qi/detail/construct.hpp | 2
   branches/release/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp | 4
   branches/release/boost/spirit/home/qi/numeric/detail/real_impl.hpp | 2
   branches/release/boost/spirit/home/qi/operator/alternative.hpp | 2
   branches/release/boost/spirit/home/qi/stream.hpp | 2
   branches/release/boost/spirit/home/qi/stream/detail/iterator_istream.hpp | 2
   branches/release/boost/spirit/home/qi/stream/detail/match_manip.hpp | 2
   branches/release/boost/spirit/home/qi/stream/match_manip.hpp | 2
   branches/release/boost/spirit/home/qi/stream/meta_grammar.hpp | 2
   branches/release/boost/spirit/home/qi/stream/stream.hpp | 2
   branches/release/boost/spirit/home/support/algorithm/any_if.hpp | 2
   branches/release/boost/spirit/home/support/auxiliary/functor_holder.hpp | 2
   branches/release/boost/spirit/home/support/auxiliary/meta_function_holder.hpp | 2
   branches/release/boost/spirit/home/support/char_class.hpp | 34 ++-
   branches/release/boost/spirit/home/support/char_class/ascii.hpp | 2
   branches/release/boost/spirit/home/support/char_class/iso8859_1.hpp | 4
   branches/release/boost/spirit/home/support/char_class/standard.hpp | 2
   branches/release/boost/spirit/home/support/char_class/standard_wide.hpp | 2
   branches/release/boost/spirit/home/support/detail/container.hpp | 2
   branches/release/boost/spirit/home/support/detail/hold_any.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/char_traits.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/consts.hpp | 5
   branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/debug.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/generator.hpp | 58 ++---
   branches/release/boost/spirit/home/support/detail/lexer/input.hpp | 16
   branches/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp | 13
   branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp | 8
   branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp | 130 ++++++++++++-
   branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp | 23 +-
   branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp | 37 ++-
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp | 16 -
   branches/release/boost/spirit/home/support/detail/lexer/rules.hpp | 37 +--
   branches/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/serialise.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/size_t.hpp | 2
   branches/release/boost/spirit/home/support/detail/lexer/string_token.hpp | 2
   branches/release/boost/spirit/home/support/detail/to_narrow.hpp | 2
   branches/release/boost/spirit/home/support/detail/values.hpp | 2
   branches/release/boost/spirit/home/support/meta_grammar/basic_transforms.hpp | 2
   branches/release/boost/spirit/home/support/nonterminal/locals.hpp | 2
   branches/release/boost/spirit/home/support/placeholders.hpp | 2
   branches/release/boost/spirit/version.hpp | 25 -
   branches/release/libs/spirit/classic/test/position_iterator_tests.cpp | 20 +-
   branches/release/libs/spirit/doc/acknowledgments.qbk | 2
   branches/release/libs/spirit/doc/faq.qbk | 2
   branches/release/libs/spirit/doc/html/index.html | 25 +-
   branches/release/libs/spirit/doc/html/spirit/acknowledgments.html | 2
   branches/release/libs/spirit/doc/html/spirit/introduction.html | 133 ++++++-------
   branches/release/libs/spirit/doc/html/spirit/lex.html | 58 +++---
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts.html | 20 -
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html | 6
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 22 -
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 4
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html | 8
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 28 +-
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 27 +-
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 25 +-
   branches/release/libs/spirit/doc/html/spirit/notes/style_guide.html | 12
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma.html | 373 ++++++++++++++-------------------------
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/mini_xml___error_handling.html | 30 +--
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing.html | 10
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing_and_generating.html | 10
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma/quick_reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi_and_karma/reference.html | 10
   branches/release/libs/spirit/doc/html/spirit/what_s_new.html | 8
   branches/release/libs/spirit/doc/introduction.qbk | 70 +++---
   branches/release/libs/spirit/doc/lex.qbk | 2
   branches/release/libs/spirit/doc/lex/introduction.qbk | 32 +-
   branches/release/libs/spirit/doc/lex/lexer_attributes.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_primitives.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_quickstart1.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_quickstart2.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_semantic_actions.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_states.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_static_model.qbk | 2
   branches/release/libs/spirit/doc/lex/lexer_tutorials.qbk | 2
   branches/release/libs/spirit/doc/lex/parsing_using_a_lexer.qbk | 2
   branches/release/libs/spirit/doc/lex/token_definition.qbk | 2
   branches/release/libs/spirit/doc/lex/tokenizing.qbk | 2
   branches/release/libs/spirit/doc/lex/tokens_values.qbk | 2
   branches/release/libs/spirit/doc/notes.qbk | 2
   branches/release/libs/spirit/doc/notes/style_guide.qbk | 2
   branches/release/libs/spirit/doc/preface.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/attributes.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/debugging.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/directives.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/error_handling.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/generating.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/grammars.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/operators.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/parse_trees_and_asts.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/parsing.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/peg.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/primitives.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/quick_reference.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/roman.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/rules.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/semantic_actions.qbk | 2
   branches/release/libs/spirit/doc/qi_and_karma/warming_up.qbk | 2
   branches/release/libs/spirit/doc/rationale.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/lexer.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/lexer_class.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/token.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/token_class.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/tokendef.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/tokendef_class.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/tokenset.qbk | 2
   branches/release/libs/spirit/doc/reference/lex/tokenset_class.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/action.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/auxiliary.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/binary.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/char.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/debug.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/directive.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/generator.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/nonterminal.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/numeric.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/operator.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/parser.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/stream.qbk | 2
   branches/release/libs/spirit/doc/reference/qi_and_karma/string.qbk | 2
   branches/release/libs/spirit/doc/references.qbk | 2
   branches/release/libs/spirit/doc/spirit2.qbk | 2
   branches/release/libs/spirit/doc/what_s_new.qbk | 2
   branches/release/libs/spirit/example/karma/Jamfile | 2
   branches/release/libs/spirit/example/karma/basic_facilities.cpp | 43 ++++
   branches/release/libs/spirit/example/karma/functor_facilities.cpp | 18 -
   branches/release/libs/spirit/example/karma/quick_start1.cpp | 3
   branches/release/libs/spirit/example/lex/example.hpp | 2
   branches/release/libs/spirit/example/lex/example1.cpp | 2
   branches/release/libs/spirit/example/lex/example2.cpp | 2
   branches/release/libs/spirit/example/lex/example3.cpp | 2
   branches/release/libs/spirit/example/lex/example4.cpp | 2
   branches/release/libs/spirit/example/lex/example5.cpp | 2
   branches/release/libs/spirit/example/lex/example6.cpp | 2
   branches/release/libs/spirit/example/lex/print_numbers.cpp | 2
   branches/release/libs/spirit/example/lex/static_lexer/word_count_generate.cpp | 2
   branches/release/libs/spirit/example/lex/static_lexer/word_count_static.cpp | 2
   branches/release/libs/spirit/example/lex/static_lexer/word_count_tokens.hpp | 2
   branches/release/libs/spirit/example/lex/strip_comments.cpp | 2
   branches/release/libs/spirit/example/lex/strip_comments_lexer.cpp | 2
   branches/release/libs/spirit/example/lex/word_count.cpp | 2
   branches/release/libs/spirit/example/lex/word_count_functor.cpp | 2
   branches/release/libs/spirit/example/lex/word_count_functor.flex | 2
   branches/release/libs/spirit/example/lex/word_count_functor_flex.cpp | 2
   branches/release/libs/spirit/example/lex/word_count_lexer.cpp | 2
   branches/release/libs/spirit/example/qi/calc3_lexer.cpp | 2
   branches/release/libs/spirit/index.html | 8
   branches/release/libs/spirit/phoenix/index.html | 11
   branches/release/libs/spirit/phoenix/test/bind/bind_member_variable_tests.cpp | 76 +++++++
   branches/release/libs/spirit/phoenix/test/operator/io_tests.cpp | 3
   branches/release/libs/spirit/test/karma/actions.cpp | 2
   branches/release/libs/spirit/test/karma/alternative.cpp | 2
   branches/release/libs/spirit/test/karma/binary.cpp | 2
   branches/release/libs/spirit/test/karma/case_handling.cpp | 2
   branches/release/libs/spirit/test/karma/center_alignment.cpp | 2
   branches/release/libs/spirit/test/karma/char.cpp | 2
   branches/release/libs/spirit/test/karma/delimiter.cpp | 2
   branches/release/libs/spirit/test/karma/eol.cpp | 2
   branches/release/libs/spirit/test/karma/eps.cpp | 2
   branches/release/libs/spirit/test/karma/format_manip.cpp | 2
   branches/release/libs/spirit/test/karma/functor.cpp | 2
   branches/release/libs/spirit/test/karma/grammar.cpp | 2
   branches/release/libs/spirit/test/karma/grammar_fail.cpp | 2
   branches/release/libs/spirit/test/karma/int_numerics.cpp | 2
   branches/release/libs/spirit/test/karma/kleene.cpp | 2
   branches/release/libs/spirit/test/karma/lazy.cpp | 2
   branches/release/libs/spirit/test/karma/left_alignment.cpp | 2
   branches/release/libs/spirit/test/karma/list.cpp | 2
   branches/release/libs/spirit/test/karma/lit.cpp | 2
   branches/release/libs/spirit/test/karma/none.cpp | 2
   branches/release/libs/spirit/test/karma/optional.cpp | 2
   branches/release/libs/spirit/test/karma/pattern.cpp | 2
   branches/release/libs/spirit/test/karma/real_numerics.cpp | 2
   branches/release/libs/spirit/test/karma/right_alignment.cpp | 2
   branches/release/libs/spirit/test/karma/rule_fail.cpp | 3
   branches/release/libs/spirit/test/karma/sequence.cpp | 2
   branches/release/libs/spirit/test/karma/test.hpp | 2
   branches/release/libs/spirit/test/lex/lexertl1.cpp | 2
   branches/release/libs/spirit/test/lex/lexertl2.cpp | 2
   branches/release/libs/spirit/test/lex/lexertl3.cpp | 2
   branches/release/libs/spirit/test/lex/lexertl4.cpp | 2
   branches/release/libs/spirit/test/lex/lexertl5.cpp | 2
   branches/release/libs/spirit/test/lex/state_switcher_test.cpp | 2
   branches/release/libs/spirit/test/lex/test.hpp | 2
   branches/release/libs/spirit/test/lex/test_parser.hpp | 2
   branches/release/libs/spirit/test/qi/alternative.cpp | 2
   branches/release/libs/spirit/test/qi/binary.cpp | 2
   branches/release/libs/spirit/test/qi/char.cpp | 2
   branches/release/libs/spirit/test/qi/char_class.cpp | 4
   branches/release/libs/spirit/test/qi/functor.cpp | 2
   branches/release/libs/spirit/test/qi/grammar_fail.cpp | 2
   branches/release/libs/spirit/test/qi/int.cpp | 2
   branches/release/libs/spirit/test/qi/match_manip.cpp | 2
   branches/release/libs/spirit/test/qi/real.cpp | 2
   branches/release/libs/spirit/test/qi/rule_fail.cpp | 2
   branches/release/libs/spirit/test/support/hold_any.cpp | 2
   337 files changed, 1156 insertions(+), 1085 deletions(-)

Modified: branches/release/boost/spirit.hpp
==============================================================================
--- branches/release/boost/spirit.hpp (original)
+++ branches/release/boost/spirit.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
   Copyright (c) 2001-2008 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
   http://spirit.sourceforge.net/
 
   Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/classic/core/parser.hpp
==============================================================================
--- branches/release/boost/spirit/home/classic/core/parser.hpp (original)
+++ branches/release/boost/spirit/home/classic/core/parser.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -9,7 +9,7 @@
 #define BOOST_SPIRIT_PARSER_HPP
 
 #include <boost/config.hpp>
-#include <boost/type_traits.hpp>
+#include <boost/type_traits/remove_reference.hpp>
 #include <boost/spirit/home/classic/namespace.hpp>
 #include <boost/spirit/home/classic/core/scanner/scanner.hpp>
 #include <boost/spirit/home/classic/core/nil.hpp>

Modified: branches/release/boost/spirit/home/classic/symbols/impl/tst.ipp
==============================================================================
--- branches/release/boost/spirit/home/classic/symbols/impl/tst.ipp (original)
+++ branches/release/boost/spirit/home/classic/symbols/impl/tst.ipp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -136,7 +136,7 @@
             node_t** np = &root;
             CharT ch = *first;
 
- BOOST_SPIRIT_ASSERT(first == last || ch != 0
+ BOOST_SPIRIT_ASSERT((first == last || ch != 0)
                 && "Won't add string containing null character");
 
             for (;;)
@@ -174,7 +174,7 @@
                        }
                         ++first;
                         ch = (first == last) ? CharT(0) : *first;
- BOOST_SPIRIT_ASSERT(first == last || ch != 0
+ BOOST_SPIRIT_ASSERT((first == last || ch != 0)
                             && "Won't add string containing null character");
                         np = &(**np).middle.link;
                     }

Modified: branches/release/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp
==============================================================================
--- branches/release/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp (original)
+++ branches/release/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -11,6 +11,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 #include <bitset>
+#include <climits>
 #include <boost/spirit/home/classic/utility/impl/chset/range_run.hpp>
 #include <boost/spirit/home/classic/namespace.hpp>
 

Modified: branches/release/boost/spirit/home/classic/version.hpp
==============================================================================
--- branches/release/boost/spirit/home/classic/version.hpp (original)
+++ branches/release/boost/spirit/home/classic/version.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -5,8 +5,8 @@
   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)
 =============================================================================*/
-#if !defined(SPIRIT_VERSION_HPP)
-#define SPIRIT_VERSION_HPP
+#if !defined(SPIRIT_CLASSIC_VERSION_HPP)
+#define SPIRIT_CLASSIC_VERSION_HPP
 
 ///////////////////////////////////////////////////////////////////////////////
 //
@@ -17,7 +17,7 @@
 
 #if BOOST_VERSION < 103200
 #error "Spirit v1.8.x needs at least Boost V1.32.0 to compile successfully."
-#endif
+#endif
 
 ///////////////////////////////////////////////////////////////////////////////
 //

Modified: branches/release/boost/spirit/home/karma.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma.hpp (original)
+++ branches/release/boost/spirit/home/karma.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/action.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/action.hpp (original)
+++ branches/release/boost/spirit/home/karma/action.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/action/action.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/action/action.hpp (original)
+++ branches/release/boost/spirit/home/karma/action/action.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/action/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/action/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/action/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/eps.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/eps.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/eps.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/functor.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/functor.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/functor.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/functor_director.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/functor_director.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/functor_director.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/lazy.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/lazy.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/lazy.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/auxiliary/none.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/auxiliary/none.hpp (original)
+++ branches/release/boost/spirit/home/karma/auxiliary/none.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/binary.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/binary.hpp (original)
+++ branches/release/boost/spirit/home/karma/binary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/binary/binary.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/binary/binary.hpp (original)
+++ branches/release/boost/spirit/home/karma/binary/binary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/binary/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/binary/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/binary/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/char.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/char.hpp (original)
+++ branches/release/boost/spirit/home/karma/char.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/char/char.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/char/char.hpp (original)
+++ branches/release/boost/spirit/home/karma/char/char.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/char/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/char/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/char/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/char/space.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/char/space.hpp (original)
+++ branches/release/boost/spirit/home/karma/char/space.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/delimit.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/delimit.hpp (original)
+++ branches/release/boost/spirit/home/karma/delimit.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/detail/generate_to.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/detail/generate_to.hpp (original)
+++ branches/release/boost/spirit/home/karma/detail/generate_to.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/detail/ostream_iterator.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/detail/ostream_iterator.hpp (original)
+++ branches/release/boost/spirit/home/karma/detail/ostream_iterator.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/detail/output_iterator.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/detail/output_iterator.hpp (original)
+++ branches/release/boost/spirit/home/karma/detail/output_iterator.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -208,8 +208,10 @@
         
 #if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
 private:
- friend struct enable_counting<output_iterator>;
- friend struct enable_buffering<output_iterator>;
+ friend struct enable_counting<output_iterator<OutputIterator> >;
+ friend struct enable_buffering<output_iterator<OutputIterator> >;
+ friend struct enable_counting<output_iterator<OutputIterator, int> >;
+ friend struct enable_buffering<output_iterator<OutputIterator, int> >;
 #else
 public:
 #endif

Modified: branches/release/boost/spirit/home/karma/detail/string_generate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/detail/string_generate.hpp (original)
+++ branches/release/boost/spirit/home/karma/detail/string_generate.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/alignment_meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/alignment_meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/alignment_meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/case_meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/case_meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/case_meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/center_alignment.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/center_alignment.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/center_alignment.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/delimit.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/delimit.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/delimit.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/delimiter_meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/delimiter_meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/delimiter_meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/detail/center_alignment_generate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/detail/center_alignment_generate.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/detail/center_alignment_generate.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/detail/left_alignment_generate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/detail/left_alignment_generate.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/detail/left_alignment_generate.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/detail/right_alignment_generate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/detail/right_alignment_generate.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/detail/right_alignment_generate.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/left_alignment.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/left_alignment.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/left_alignment.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/right_alignment.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/right_alignment.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/right_alignment.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/directive/verbatim.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/verbatim.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/verbatim.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/domain.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/domain.hpp (original)
+++ branches/release/boost/spirit/home/karma/domain.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/generate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/generate.hpp (original)
+++ branches/release/boost/spirit/home/karma/generate.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal/detail/rule.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/detail/rule.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/detail/rule.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal/grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/nonterminal/nonterminal.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/nonterminal.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/nonterminal.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/nonterminal/rule.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/nonterminal/rule.hpp (original)
+++ branches/release/boost/spirit/home/karma/nonterminal/rule.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/numeric.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/numeric/int.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/int.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/int.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/numeric/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/numeric/numeric_fwd.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/numeric_fwd.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/numeric_fwd.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/numeric/real.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/real.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/real.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/numeric/real_policies.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/real_policies.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/real_policies.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -119,13 +119,14 @@
         //
         // Note: If the trailing_zeros flag is not in effect additional
         // comments apply. See the comment for the fraction_part()
- // function below.
+ // function below. Moreover, this precision will be limited
+ // to the value of std::numeric_limits<T>::digits10 + 1
         ///////////////////////////////////////////////////////////////////////
         static unsigned int
         precision(T)
         {
             // generate max. 'fractional_precision' fractional digits
- return fractional_precision;
+ return fractional_precision;
         }
 
         ///////////////////////////////////////////////////////////////////////

Modified: branches/release/boost/spirit/home/karma/numeric/uint.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/numeric/uint.hpp (original)
+++ branches/release/boost/spirit/home/karma/numeric/uint.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator/alternative.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/alternative.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/alternative.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/operator/detail/alternative.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/detail/alternative.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/detail/alternative.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/operator/detail/sequence.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/detail/sequence.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/detail/sequence.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/operator/kleene.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/kleene.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/kleene.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator/list.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/list.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/list.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator/optional.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/optional.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/optional.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -22,44 +22,44 @@
     namespace detail
     {
         template <typename Parameter>
- struct optional_attribute
+ inline bool
+ optional_is_valid(boost::optional<Parameter> const& opt)
         {
- static inline bool
- is_valid(boost::optional<Parameter> const& opt)
- {
- return opt;
- }
+ return opt;
+ }
 
- static inline bool
- is_valid(Parameter const&)
- {
- return true;
- }
+ template <typename Parameter>
+ inline bool
+ optional_is_valid(Parameter const& opt)
+ {
+ return true;
+ }
 
- static inline bool
- is_valid(unused_type)
- {
- return true;
- }
+ inline bool
+ optional_is_valid(unused_type)
+ {
+ return true;
+ }
 
- static inline Parameter const&
- get(boost::optional<Parameter> const& opt)
- {
- return boost::get(opt);
- }
+ template <typename Parameter>
+ inline Parameter const&
+ optional_get(boost::optional<Parameter> const& opt)
+ {
+ return get(opt);
+ }
 
- static inline Parameter const&
- get(Parameter const& p)
- {
- return p;
- }
+ template <typename Parameter>
+ inline Parameter const&
+ optional_get(Parameter const& opt)
+ {
+ return opt;
+ }
 
- static inline unused_type
- get(unused_type)
- {
- return unused;
- }
- };
+ inline unused_type
+ optional_get(unused_type)
+ {
+ return unused;
+ }
     }
 
     struct optional
@@ -86,16 +86,10 @@
                 result_of::subject<Component>::type::director
             director;
 
- typedef typename traits::attribute_of<
- karma::domain, typename result_of::subject<Component>::type,
- Context, unused_type
- >::type attribute_type;
-
- typedef detail::optional_attribute<attribute_type> optional_type;
- if (optional_type::is_valid(param))
+ if (detail::optional_is_valid(param))
             {
                 director::generate(subject(component), sink, ctx, d,
- optional_type::get(param));
+ detail::optional_get(param));
             }
             return true;
         }

Modified: branches/release/boost/spirit/home/karma/operator/plus.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/plus.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/plus.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/operator/sequence.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/operator/sequence.hpp (original)
+++ branches/release/boost/spirit/home/karma/operator/sequence.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/karma/stream.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/stream/detail/format_manip.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream/detail/format_manip.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream/detail/format_manip.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/stream/detail/iterator_ostream.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream/detail/iterator_ostream.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream/detail/iterator_ostream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boist.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/karma/stream/format_manip.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream/format_manip.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream/format_manip.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/stream/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/stream/stream.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/stream/stream.hpp (original)
+++ branches/release/boost/spirit/home/karma/stream/stream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/string.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/string.hpp (original)
+++ branches/release/boost/spirit/home/karma/string.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/string/lit.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/string/lit.hpp (original)
+++ branches/release/boost/spirit/home/karma/string/lit.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/string/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/string/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/karma/string/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/karma/what.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/what.hpp (original)
+++ branches/release/boost/spirit/home/karma/what.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex.hpp (original)
+++ branches/release/boost/spirit/home/lex.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/domain.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/domain.hpp (original)
+++ branches/release/boost/spirit/home/lex/domain.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/action.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/action.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/action.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/char_token_def.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/char_token_def.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/char_token_def.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/detail/sequence.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/detail/sequence.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/detail/sequence.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexer.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexer_actions.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexer_actions.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexer_actions.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexer_fwd.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexer_fwd.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexer_fwd.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2008 Ben Hanson
-// Copyright (c) 2008 Hartmut Kaiser
+// Copyright (c) 2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_token.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_token.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexertl_token.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/sequence.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/sequence.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/sequence.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/string_token_def.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/string_token_def.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/string_token_def.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/terminal_director.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/terminal_director.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/terminal_director.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/lex/lexer/terminal_holder.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/terminal_holder.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/terminal_holder.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/lex/lexer/token_def.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/token_def.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/token_def.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer/token_set.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/token_set.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/token_set.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer_lexertl.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer_lexertl.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer_lexertl.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/lexer_static_lexertl.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer_static_lexertl.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer_static_lexertl.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/lex/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/qi/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/qi/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/lex/qi/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/qi/state/in_state.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/qi/state/in_state.hpp (original)
+++ branches/release/boost/spirit/home/lex/qi/state/in_state.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/qi/state/state_switcher.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/qi/state/state_switcher.hpp (original)
+++ branches/release/boost/spirit/home/lex/qi/state/state_switcher.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/qi/utility/plain_token.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/qi/utility/plain_token.hpp (original)
+++ branches/release/boost/spirit/home/lex/qi/utility/plain_token.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/set_state.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/set_state.hpp (original)
+++ branches/release/boost/spirit/home/lex/set_state.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/lex/tokenize_and_parse.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/tokenize_and_parse.hpp (original)
+++ branches/release/boost/spirit/home/lex/tokenize_and_parse.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/phoenix.hpp
==============================================================================
--- branches/release/boost/spirit/home/phoenix.hpp (original)
+++ branches/release/boost/spirit/home/phoenix.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -7,4 +7,17 @@
 #if !defined(BOOST_SPIRIT_PHOENIX_APRIL_11_2008_0850AM)
 #define BOOST_SPIRIT_PHOENIX_APRIL_11_2008_0850AM
 
+#include <boost/spirit/home/phoenix/algorithm.hpp>
+#include <boost/spirit/home/phoenix/bind.hpp>
+#include <boost/spirit/home/phoenix/container.hpp>
+#include <boost/spirit/home/phoenix/core.hpp>
+#include <boost/spirit/home/phoenix/function.hpp>
+#include <boost/spirit/home/phoenix/fusion.hpp>
+#include <boost/spirit/home/phoenix/object.hpp>
+#include <boost/spirit/home/phoenix/operator.hpp>
+#include <boost/spirit/home/phoenix/scope.hpp>
+#include <boost/spirit/home/phoenix/statement.hpp>
+#include <boost/spirit/home/phoenix/stl.hpp>
+#include <boost/spirit/home/phoenix/version.hpp>
+
 #endif

Modified: branches/release/boost/spirit/home/phoenix/bind/bind_member_variable.hpp
==============================================================================
--- branches/release/boost/spirit/home/phoenix/bind/bind_member_variable.hpp (original)
+++ branches/release/boost/spirit/home/phoenix/bind/bind_member_variable.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,16 +1,25 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ 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)
 ==============================================================================*/
 #ifndef PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
 #define PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
 
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/type_traits/remove_reference.hpp>
+
 #include <boost/spirit/home/phoenix/core/actor.hpp>
 #include <boost/spirit/home/phoenix/core/compose.hpp>
 #include <boost/spirit/home/phoenix/core/reference.hpp>
 #include <boost/spirit/home/phoenix/core/detail/function_eval.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/type_traits/remove_reference.hpp>
 
 namespace boost { namespace phoenix
 {
@@ -22,7 +31,15 @@
             template <typename Class>
             struct result
             {
- typedef RT& type;
+ typedef typename boost::mpl::if_<
+ boost::is_const<
+ typename boost::remove_pointer<
+ typename boost::remove_reference<Class>::type
+ >::type
+ >
+ , const RT&
+ , RT&
+ >::type type;
             };
 
             member_variable(MP mp)
@@ -40,6 +57,18 @@
                 return obj->*mp;
             }
 
+ template <typename Class>
+ RT const& operator()(Class const& obj) const
+ {
+ return obj.*mp;
+ }
+
+ template <typename Class>
+ RT const& operator()(Class const* obj) const
+ {
+ return obj->*mp;
+ }
+
             MP mp;
         };
     }

Modified: branches/release/boost/spirit/home/phoenix/operator/io.hpp
==============================================================================
--- branches/release/boost/spirit/home/phoenix/operator/io.hpp (original)
+++ branches/release/boost/spirit/home/phoenix/operator/io.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -30,6 +30,21 @@
         return compose<shift_right_eval>(phoenix::ref(a0), a1);
     }
 
+ // resolve ambiguities with fusion.
+ template <typename T1>
+ inline typename detail::enable_if_ostream<std::ostream, T1>::type
+ operator<<(std::ostream& a0, actor<T1> const& a1)
+ {
+ return compose<shift_left_eval>(phoenix::ref(a0), a1);
+ }
+
+ template <typename T1>
+ inline typename detail::enable_if_istream<std::istream, T1>::type
+ operator>>(std::istream& a0, actor<T1> const& a1)
+ {
+ return compose<shift_right_eval>(phoenix::ref(a0), a1);
+ }
+
 ///////////////////////////////////////////////////////////////////////////////
 //
 // overloads for I/O manipulators.

Modified: branches/release/boost/spirit/home/qi/auxiliary.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/auxiliary.hpp (original)
+++ branches/release/boost/spirit/home/qi/auxiliary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/auxiliary/functor.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/auxiliary/functor.hpp (original)
+++ branches/release/boost/spirit/home/qi/auxiliary/functor.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/auxiliary/functor_director.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/auxiliary/functor_director.hpp (original)
+++ branches/release/boost/spirit/home/qi/auxiliary/functor_director.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/auxiliary/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/auxiliary/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/qi/auxiliary/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/binary.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/binary.hpp (original)
+++ branches/release/boost/spirit/home/qi/binary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/binary/binary.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/binary/binary.hpp (original)
+++ branches/release/boost/spirit/home/qi/binary/binary.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/binary/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/binary/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/qi/binary/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/debug.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/debug/detail/debug_handler.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug/detail/debug_handler.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug/detail/debug_handler.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     Copyright (c) 2001-2007 Joel de Guzman
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/qi/debug/detail/print_node_info.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug/detail/print_node_info.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug/detail/print_node_info.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     Copyright (c) 2001-2007 Joel de Guzman
     Copyright (c) 2003 Gustavo Guerra
 

Modified: branches/release/boost/spirit/home/qi/debug/minimal_macros.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug/minimal_macros.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug/minimal_macros.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/debug/simple_debug.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug/simple_debug.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug/simple_debug.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/debug/simple_debug_macros.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/debug/simple_debug_macros.hpp (original)
+++ branches/release/boost/spirit/home/qi/debug/simple_debug_macros.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/detail/alternative_function.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/detail/alternative_function.hpp (original)
+++ branches/release/boost/spirit/home/qi/detail/alternative_function.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/detail/assign_to.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/detail/assign_to.hpp (original)
+++ branches/release/boost/spirit/home/qi/detail/assign_to.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     http://spirit.sourceforge.net/
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/qi/detail/construct.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/detail/construct.hpp (original)
+++ branches/release/boost/spirit/home/qi/detail/construct.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp (original)
+++ branches/release/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     Copyright (c) 2006 Stephen Nutt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -338,7 +338,7 @@
             if (!Accumulate)
             {
                 // skip leading zeros
- while (it != last && *it == '0')
+ while (it != last && *it == '0' && leading_zeros < MaxDigits)
                 {
                     ++it;
                     ++leading_zeros;

Modified: branches/release/boost/spirit/home/qi/numeric/detail/real_impl.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/numeric/detail/real_impl.hpp (original)
+++ branches/release/boost/spirit/home/qi/numeric/detail/real_impl.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     http://spirit.sourceforge.net/
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/qi/operator/alternative.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/operator/alternative.hpp (original)
+++ branches/release/boost/spirit/home/qi/operator/alternative.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/stream.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/stream/detail/iterator_istream.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream/detail/iterator_istream.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream/detail/iterator_istream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boist.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/qi/stream/detail/match_manip.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream/detail/match_manip.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream/detail/match_manip.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/stream/match_manip.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream/match_manip.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream/match_manip.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/stream/meta_grammar.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream/meta_grammar.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream/meta_grammar.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/qi/stream/stream.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/stream/stream.hpp (original)
+++ branches/release/boost/spirit/home/qi/stream/stream.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/algorithm/any_if.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/algorithm/any_if.hpp (original)
+++ branches/release/boost/spirit/home/support/algorithm/any_if.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/auxiliary/functor_holder.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/auxiliary/functor_holder.hpp (original)
+++ branches/release/boost/spirit/home/support/auxiliary/functor_holder.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/auxiliary/meta_function_holder.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/auxiliary/meta_function_holder.hpp (original)
+++ branches/release/boost/spirit/home/support/auxiliary/meta_function_holder.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/char_class.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/char_class.hpp (original)
+++ branches/release/boost/spirit/home/support/char_class.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)
@@ -78,88 +78,90 @@
     template <typename CharSet>
     struct classify
     {
+ typedef typename CharSet::char_type char_type;
+
         template <typename Char>
         static bool
         is(tag::alnum, Char ch)
         {
- return CharSet::isalnum(ch);
+ return CharSet::isalnum(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::alpha, Char ch)
         {
- return CharSet::isalpha(ch);
+ return CharSet::isalpha(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::digit, Char ch)
         {
- return CharSet::isdigit(ch);
+ return CharSet::isdigit(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::xdigit, Char ch)
         {
- return CharSet::isxdigit(ch);
+ return CharSet::isxdigit(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::cntrl, Char ch)
         {
- return CharSet::iscntrl(ch);
+ return CharSet::iscntrl(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::graph, Char ch)
         {
- return CharSet::isgraph(ch);
+ return CharSet::isgraph(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::lower, Char ch)
         {
- return CharSet::islower(ch);
+ return CharSet::islower(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::print, Char ch)
         {
- return CharSet::isprint(ch);
+ return CharSet::isprint(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::punct, Char ch)
         {
- return CharSet::ispunct(ch);
+ return CharSet::ispunct(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::space, Char ch)
         {
- return CharSet::isspace(ch);
+ return CharSet::isspace(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::blank, Char ch)
         {
- return CharSet::isblank BOOST_PREVENT_MACRO_SUBSTITUTION (ch);
+ return CharSet::isblank BOOST_PREVENT_MACRO_SUBSTITUTION (char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::upper, Char ch)
         {
- return CharSet::isupper(ch);
+ return CharSet::isupper(char_type(ch));
         }
     };
 
@@ -167,18 +169,20 @@
     template <typename CharSet>
     struct convert
     {
+ typedef typename CharSet::char_type char_type;
+
         template <typename Char>
         static Char
         to(tag::lower, Char ch)
         {
- return CharSet::tolower(ch);
+ return CharSet::tolower(char_type(ch));
         }
 
         template <typename Char>
         static Char
         to(tag::upper, Char ch)
         {
- return CharSet::toupper(ch);
+ return CharSet::toupper(char_type(ch));
         }
     };
 

Modified: branches/release/boost/spirit/home/support/char_class/ascii.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/char_class/ascii.hpp (original)
+++ branches/release/boost/spirit/home/support/char_class/ascii.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/char_class/iso8859_1.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/char_class/iso8859_1.hpp (original)
+++ branches/release/boost/spirit/home/support/char_class/iso8859_1.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)
@@ -562,7 +562,7 @@
     ///////////////////////////////////////////////////////////////////////////
     struct iso8859_1
     {
- typedef char char_type;
+ typedef unsigned char char_type;
 
         static bool
         is_ascii(int ch)

Modified: branches/release/boost/spirit/home/support/char_class/standard.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/char_class/standard.hpp (original)
+++ branches/release/boost/spirit/home/support/char_class/standard.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/char_class/standard_wide.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/char_class/standard_wide.hpp (original)
+++ branches/release/boost/spirit/home/support/char_class/standard_wide.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/detail/container.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/container.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/container.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     http://spirit.sourceforge.net/
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/support/detail/hold_any.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/hold_any.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/hold_any.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2008 Hartmut Kaiser
+// Copyright (c) 2009 Hartmut Kaiser
 // Copyright (c) Christopher Diggins 2005
 // Copyright (c) Pablo Aguilar 2005
 // Copyright (c) Kevlin Henney 2001

Modified: branches/release/boost/spirit/home/support/detail/lexer/char_traits.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/char_traits.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/char_traits.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // char_traits.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/consts.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/consts.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/consts.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // consts.h
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,12 +8,13 @@
 
 #include <boost/config.hpp>
 #include <boost/integer_traits.hpp>
-#include <boost/spirit/home/support/detail/lexer/size_t.hpp>
+#include "size_t.hpp"
 
 namespace boost
 {
 namespace lexer
 {
+ enum regex_flags {none = 0, icase = 1, dot_not_newline = 2};
     // 0 = end state, 1 = id, 2 = lex state, 3 = bol, 4 = eol,
     // 5 = dead_state_index
     enum {end_state_index, id_index, state_index, bol_index, eol_index,

Modified: branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // ptr_list.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // ptr_vector.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // char_state_machine.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/debug.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/debug.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/debug.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // debug.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/generator.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/generator.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/generator.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // generator.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -143,15 +143,13 @@
         typename detail::node::node_vector tree_vector_;
 
         build_macros (token_map_, macrodeque_, macromap_,
- rules_.case_sensitive (), rules_.locale (), node_ptr_vector_,
- rules_.dot_not_newline (), seen_BOL_assertion_,
- seen_EOL_assertion_);
+ rules_.flags (), rules_.locale (), node_ptr_vector_,
+ seen_BOL_assertion_, seen_EOL_assertion_);
 
         detail::node *root_ = parser::parse (regex_.c_str (),
             regex_.c_str () + regex_.size (), *ids_iter_, *states_iter_,
- rules_.case_sensitive (), rules_.dot_not_newline (),
- rules_.locale (), node_ptr_vector_, macromap_, token_map_,
- seen_BOL_assertion_, seen_EOL_assertion_);
+ rules_.flags (), rules_.locale (), node_ptr_vector_, macromap_,
+ token_map_, seen_BOL_assertion_, seen_EOL_assertion_);
 
         ++regex_iter_;
         ++ids_iter_;
@@ -166,10 +164,9 @@
 
             root_ = parser::parse (regex_.c_str (),
                 regex_.c_str () + regex_.size (), *ids_iter_,
- *states_iter_, rules_.case_sensitive (),
- rules_.dot_not_newline (), rules_.locale (), node_ptr_vector_,
- macromap_, token_map_, seen_BOL_assertion_,
- seen_EOL_assertion_);
+ *states_iter_, rules_.flags (), rules_.locale (),
+ node_ptr_vector_, macromap_, token_map_,
+ seen_BOL_assertion_, seen_EOL_assertion_);
             tree_vector_.push_back (root_);
             ++regex_iter_;
             ++ids_iter_;
@@ -246,10 +243,9 @@
 
     static void build_macros (token_map &token_map_,
         const macro_deque &macrodeque_,
- typename parser::macro_map &macromap_, const bool case_sensitive_,
+ typename parser::macro_map &macromap_, const regex_flags flags_,
         const std::locale &locale_, node_ptr_vector &node_ptr_vector_,
- const bool not_dot_newline_, bool &seen_BOL_assertion_,
- bool &seen_EOL_assertion_)
+ bool &seen_BOL_assertion_, bool &seen_EOL_assertion_)
     {
         for (typename macro_deque::const_iterator iter_ =
             macrodeque_.begin (), end_ = macrodeque_.end ();
@@ -258,9 +254,9 @@
             const typename rules::string &name_ = iter_->first;
             const typename rules::string &regex_ = iter_->second;
             detail::node *node_ = parser::parse (regex_.c_str (),
- regex_.c_str () + regex_.size (), 0, 0, case_sensitive_,
- not_dot_newline_, locale_, node_ptr_vector_, macromap_,
- token_map_, seen_BOL_assertion_, seen_EOL_assertion_);
+ regex_.c_str () + regex_.size (), 0, 0, flags_,
+ locale_, node_ptr_vector_, macromap_, token_map_,
+ seen_BOL_assertion_, seen_EOL_assertion_);
             macro_iter_pair map_iter_ = macromap_.
                 insert (macro_pair (name_, 0));
 
@@ -361,21 +357,19 @@
         }
 
         bool found_ = false;
+ typename size_t_vector::const_iterator hash_iter_ =
+ hash_vector_.begin ();
+ typename size_t_vector::const_iterator hash_end_ =
+ hash_vector_.end ();
+ typename node_set_vector::vector::const_iterator set_iter_ =
+ seen_sets_->begin ();
 
- // Stop VC++ 2005 crashing...
- if (!hash_vector_.empty ())
+ for (; hash_iter_ != hash_end_; ++hash_iter_, ++set_iter_)
         {
- const std::size_t *hash_iter_ = &hash_vector_.front ();
- const std::size_t *hash_end_ = hash_iter_ + hash_vector_.size ();
- node_set **set_iter_ = &seen_sets_->front ();
+ found_ = *hash_iter_ == hash_ && *(*set_iter_) == *set_ptr_;
+ ++index_;
 
- for (; hash_iter_ != hash_end_; ++hash_iter_, ++set_iter_)
- {
- found_ = *hash_iter_ == hash_ && *(*set_iter_) == *set_ptr_;
- ++index_;
-
- if (found_) break;
- }
+ if (found_) break;
         }
 
         if (!found_)
@@ -662,7 +656,7 @@
 
             if (!node_->end_state ())
             {
- std::size_t token_ = node_->token ();
+ const std::size_t token_ = node_->token ();
 
                 if (token_ != null_token)
                 {
@@ -674,12 +668,12 @@
 
                         index_set_.insert (token_);
                         list_->back () = new equivset (index_set_,
- node_->greedy (), node_->token (), node_->followpos ());
+ node_->greedy (), token_, node_->followpos ());
                     }
                     else
                     {
                         list_->back () = new equivset (set_mapping_[token_],
- node_->greedy (), node_->token (), node_->followpos ());
+ node_->greedy (), token_, node_->followpos ());
                     }
                 }
             }

Modified: branches/release/boost/spirit/home/support/detail/lexer/input.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/input.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/input.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -113,7 +113,7 @@
                         (&_input->_state_machine->_lookup->front ()->front (),
                         _input->_state_machine->_dfa_alphabet.front (),
                         &_input->_state_machine->_dfa->front ()->front (),
- _input->_begin, _data.end, _input->_end);
+ _data.bol, _data.end, _input->_end);
                 }
                 else
                 {
@@ -129,7 +129,7 @@
                     _input->_state_machine->_seen_EOL_assertion)
                 {
                     _data.id = next (*_input->_state_machine, _data.state,
- _input->_begin, _data.end, _input->_end);
+ _data.bol, _data.end, _input->_end);
                 }
                 else
                 {
@@ -147,13 +147,12 @@
 
         std::size_t next (const basic_state_machine
             <typename Traits::char_type> &state_machine_,
- std::size_t &start_state_, const FwdIter &start_,
+ std::size_t &start_state_, bool bol_,
             FwdIter &start_token_, const FwdIter &end_)
         {
             if (start_token_ == end_) return 0;
 
         again:
- bool bol_ = _data.bol;
             const std::size_t * lookup_ = &state_machine_._lookup[start_state_]->
                 front ();
             std::size_t dfa_alphabet_ = state_machine_._dfa_alphabet[start_state_];
@@ -228,7 +227,11 @@
                 _data.bol = end_bol_;
                 start_token_ = end_token_;
 
- if (id_ == 0) goto again;
+ if (id_ == 0)
+ {
+ bol_ = _data.bol;
+ goto again;
+ }
             }
             else
             {
@@ -299,11 +302,10 @@
 
         std::size_t next (const std::size_t * const lookup_,
             const std::size_t dfa_alphabet_, const std::size_t * const dfa_,
- FwdIter const &start_, FwdIter &start_token_, FwdIter const &end_)
+ bool bol_, FwdIter &start_token_, FwdIter const &end_)
         {
             if (start_token_ == end_) return 0;
 
- bool bol_ = _data.bol;
             const std::size_t *ptr_ = dfa_ + dfa_alphabet_;
             FwdIter curr_ = start_token_;
             bool end_state_ = *ptr_ != 0;

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // parser.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,14 +52,13 @@
 */
     static node *parse (const CharT *start_, const CharT * const end_,
         const std::size_t id_, const std::size_t dfa_state_,
- const bool case_sensitive_, const bool dot_not_newline_,
- const std::locale &locale_, node_ptr_vector &node_ptr_vector_,
- const macro_map &macromap_, typename tokeniser::token_map &map_,
+ const regex_flags flags_, const std::locale &locale_,
+ node_ptr_vector &node_ptr_vector_, const macro_map &macromap_,
+ typename tokeniser::token_map &map_,
         bool &seen_BOL_assertion_, bool &seen_EOL_assertion_)
     {
         node *root_ = 0;
- state state_ (start_, end_, case_sensitive_, locale_,
- dot_not_newline_);
+ state state_ (start_, end_, flags_, locale_);
         token lhs_token_;
         token rhs_token_;
         token_stack token_stack_;
@@ -91,7 +90,7 @@
                 ss_ << "A syntax error occurred: '" <<
                     lhs_token_.precedence_string () <<
                     "' against '" << rhs_token_.precedence_string () <<
- "' at index " << state_._index << ".";
+ "' at index " << state_.index () << ".";
                 throw runtime_error (ss_.str ().c_str ());
                 break;
             }

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // num_token.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -133,13 +133,11 @@
 {{"BEGIN"}, {"REGEX"}, {"OREXP"}, {"SEQUENCE"}, {"SUB"}, {"EXPRESSION"},
     {"REPEAT"}, {"DUPLICATE"}, {"|"}, {"CHARSET"}, {"MACRO"},
     {"("}, {")"}, {"?"}, {"??"}, {"*"}, {"*?"}, {"+"}, {"+?"}, {"{n[,[m]]}"},
- {"{n[,[m]]}?"}, {"END"}
-};
+ {"{n[,[m]]}?"}, {"END"}};
 #else
 {"BEGIN", "REGEX", "OREXP", "SEQUENCE", "SUB", "EXPRESSION", "REPEAT",
     "DUPLICATE", "|", "CHARSET", "MACRO", "(", ")", "?", "??", "*", "*?",
- "+", "+?", "{n[,[m]]}", "{n[,[m]]}?", "END"
-};
+ "+", "+?", "{n[,[m]]}", "{n[,[m]]}?", "END"};
 #endif
 }
 }

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // tokeniser.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -54,6 +54,12 @@
                     "(missing '\"').");
             }
 
+ if (state_._paren_count)
+ {
+ throw runtime_error ("Unexpected end of regex "
+ "(missing ')').");
+ }
+
             token_.set (num_token::END, null_token);
         }
         else
@@ -78,6 +84,7 @@
                 case '(':
                     token_.set (num_token::OPENPAREN, null_token);
                     ++state_._paren_count;
+ read_options (state_);
                     break;
                 case ')':
                     --state_._paren_count;
@@ -87,11 +94,17 @@
                         std::ostringstream ss_;
 
                         ss_ << "Number of open parenthesis < 0 at index " <<
- state_._index - 1 << '.';
+ state_.index () - 1 << '.';
                         throw runtime_error (ss_.str ().c_str ());
                     }
 
                     token_.set (num_token::CLOSEPAREN, null_token);
+
+ if (!state_._flags_stack.empty ())
+ {
+ state_._flags = state_._flags_stack.top ();
+ state_._flags_stack.pop ();
+ }
                     break;
                 case '?':
                     if (!state_.eos () && *state_._curr == '?')
@@ -136,18 +149,36 @@
                     token_.set (num_token::OR, null_token);
                     break;
                 case '^':
- token_.set (num_token::CHARSET, bol_token);
+ if (state_._curr - 1 == state_._start)
+ {
+ token_.set (num_token::CHARSET, bol_token);
+ }
+ else
+ {
+ create_charset_token (string (1, ch_), false,
+ map_, token_);
+ }
+
                     state_._seen_BOL_assertion = true;
                     break;
                 case '$':
- token_.set (num_token::CHARSET, eol_token);
+ if (state_._curr == state_._end)
+ {
+ token_.set (num_token::CHARSET, eol_token);
+ }
+ else
+ {
+ create_charset_token (string (1, ch_), false,
+ map_, token_);
+ }
+
                     state_._seen_EOL_assertion = true;
                     break;
                 case '.':
                 {
                     string dot_;
 
- if (state_._dot_not_newline)
+ if (state_._flags & dot_not_newline)
                     {
                         dot_ = '\n';
                     }
@@ -161,7 +192,7 @@
                     break;
                 }
                 default:
- if (!state_._case_sensitive &&
+ if ((state_._flags & icase) &&
                         (std::isupper (ch_, state_._locale) ||
                         std::islower (ch_, state_._locale)))
                     {
@@ -188,6 +219,74 @@
 private:
     typedef basic_re_tokeniser_helper<CharT> tokeniser_helper;
 
+ static void read_options (state &state_)
+ {
+ if (!state_.eos () && *state_._curr == '?')
+ {
+ CharT ch_ = 0;
+ bool eos_ = false;
+ bool negate_ = false;
+
+ state_.increment ();
+ eos_ = state_.next (ch_);
+ state_._flags_stack.push (state_._flags);
+
+ while (!eos_ && ch_ != ':')
+ {
+ switch (ch_)
+ {
+ case '-':
+ negate_ ^= 1;
+ break;
+ case 'i':
+ if (negate_)
+ {
+ state_._flags = static_cast<regex_flags>
+ (state_._flags & ~icase);
+ }
+ else
+ {
+ state_._flags = static_cast<regex_flags>
+ (state_._flags | icase);
+ }
+
+ negate_ = false;
+ break;
+ case 's':
+ if (negate_)
+ {
+ state_._flags = static_cast<regex_flags>
+ (state_._flags | dot_not_newline);
+ }
+ else
+ {
+ state_._flags = static_cast<regex_flags>
+ (state_._flags & ~dot_not_newline);
+ }
+
+ negate_ = false;
+ break;
+ default:
+ {
+ std::ostringstream ss_;
+
+ ss_ << "Unknown option at " <<
+ state_.index () - 1 << '.';
+ throw runtime_error (ss_.str ().c_str ());
+ }
+ }
+
+ eos_ = state_.next (ch_);
+ }
+
+ // End of string handler will handle early termination
+ }
+ else if (!state_._flags_stack.empty ())
+ {
+ state_._flags_stack.push (state_._flags);
+ }
+ }
+
     static void escape (state &state_, token_map &map_, num_token &token_)
     {
         CharT ch_ = 0;
@@ -197,8 +296,8 @@
 
         if (str_)
         {
- state state2_ (str_ + 1, str_ + str_len_, state_._case_sensitive,
- state_._locale, state_._dot_not_newline);
+ state state2_ (str_ + 1, str_ + str_len_, state_._flags,
+ state_._locale);
 
             charset (state2_, map_, token_);
         }
@@ -328,7 +427,8 @@
                 {
                     std::ostringstream ss_;
 
- ss_ << "Missing '}' at index " << state_._index - 1 << '.';
+ ss_ << "Missing '}' at index " <<
+ state_.index () - 1 << '.';
                     throw runtime_error (ss_.str ().c_str ());
                 }
 
@@ -367,7 +467,7 @@
         {
             std::ostringstream ss_;
 
- ss_ << "Missing '}' at index " << state_._index - 1 << '.';
+ ss_ << "Missing '}' at index " << state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 
@@ -381,7 +481,7 @@
                 std::ostringstream ss_;
 
                 ss_ << "Cannot have exactly zero repeats preceding index " <<
- state_._index << '.';
+ state_.index () << '.';
                 throw runtime_error (ss_.str ().c_str ());
             }
 
@@ -389,8 +489,8 @@
             {
                 std::ostringstream ss_;
 
- ss_ << "Max less than min preceding index " << state_._index
- << '.';
+ ss_ << "Max less than min preceding index " <<
+ state_.index () << '.';
                 throw runtime_error (ss_.str ().c_str ());
             }
 
@@ -412,7 +512,7 @@
             std::ostringstream ss_;
 
             ss_ << "Invalid MACRO name at index " <<
- state_._index - 1 << '.';
+ state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 
@@ -432,7 +532,7 @@
         {
             std::ostringstream ss_;
 
- ss_ << "Missing '}' at index " << state_._index - 1 << '.';
+ ss_ << "Missing '}' at index " << state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // tokeniser_helper.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -92,8 +92,7 @@
                 if (chset_)
                 {
                     state temp_state_ (str_ + 1, str_ + str_len_,
- state_._case_sensitive, state_._locale,
- state_._dot_not_newline);
+ state_._flags, state_._locale);
                     string temp_chars_;
                     bool temp_negated_ = false;
 
@@ -104,7 +103,7 @@
                         std::ostringstream ss_;
 
                         ss_ << "Mismatch in charset negation preceding "
- "index " << state_._index - 1 << '.';
+ "index " << state_.index () - 1 << '.';
                         throw runtime_error (ss_.str ().c_str ());
                     }
 
@@ -139,7 +138,7 @@
             }
             else if (!chset_)
             {
- if (!state_._case_sensitive &&
+ if ((state_._flags & icase) &&
                     (std::isupper (prev_, state_._locale) ||
                     std::islower (prev_, state_._locale)))
                 {
@@ -373,7 +372,7 @@
                 std::ostringstream ss_;
 
                 ss_ << "Invalid control char at index " <<
- state_._index - 1 << '.';
+ state_.index () - 1 << '.';
                 throw runtime_error (ss_.str ().c_str ());
             }
         }
@@ -401,7 +400,7 @@
             std::ostringstream ss_;
 
             ss_ << "Illegal char following \\x at index " <<
- state_._index - 1 << '.';
+ state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 
@@ -454,7 +453,7 @@
             std::ostringstream ss_;
 
             ss_ << "Charset cannot form start of range preceding "
- "index " << state_._index - 1 << '.';
+ "index " << state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 
@@ -478,7 +477,7 @@
                 std::ostringstream ss_;
 
                 ss_ << "Charset cannot form end of range preceding index "
- << state_._index << '.';
+ << state_.index () << '.';
                 throw runtime_error (ss_.str ().c_str ());
             }
         }
@@ -488,7 +487,7 @@
             std::ostringstream ss_;
 
             ss_ << "POSIX char class cannot form end of range at "
- "index " << state_._index - 1 << '.';
+ "index " << state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 */
@@ -516,7 +515,7 @@
             std::ostringstream ss_;
 
             ss_ << "Invalid range in charset preceding index " <<
- state_._index - 1 << '.';
+ state_.index () - 1 << '.';
             throw runtime_error (ss_.str ().c_str ());
         }
 
@@ -526,7 +525,7 @@
         {
             CharT ch_ = static_cast<CharT> (start_);
 
- if (!state_._case_sensitive &&
+ if ((state_._flags & icase) &&
                 (std::isupper (ch_, state_._locale) ||
                 std::islower (ch_, state_._locale)))
             {

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,13 +1,15 @@
 // tokeniser_state.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 #ifndef BOOST_LEXER_RE_TOKENISER_STATE_HPP
 #define BOOST_LEXER_RE_TOKENISER_STATE_HPP
 
+#include "../../consts.hpp"
 #include <locale>
 #include "../../size_t.hpp"
+#include <stack>
 
 namespace boost
 {
@@ -18,26 +20,24 @@
 template<typename CharT>
 struct basic_re_tokeniser_state
 {
- const CharT *_curr;
+ const CharT * const _start;
     const CharT * const _end;
- bool _case_sensitive;
+ const CharT *_curr;
+ regex_flags _flags;
+ std::stack<regex_flags> _flags_stack;
     std::locale _locale;
- bool _dot_not_newline;
- std::size_t _index;
     long _paren_count;
     bool _in_string;
     bool _seen_BOL_assertion;
     bool _seen_EOL_assertion;
 
- basic_re_tokeniser_state (const CharT *regex_, const CharT * const end_,
- const bool case_sensitive_, const std::locale locale_,
- const bool dot_not_newline_) :
- _curr (regex_),
+ basic_re_tokeniser_state (const CharT *start_, const CharT * const end_,
+ const regex_flags flags_, const std::locale locale_) :
+ _start (start_),
         _end (end_),
- _case_sensitive (case_sensitive_),
+ _curr (start_),
+ _flags (flags_),
         _locale (locale_),
- _dot_not_newline (dot_not_newline_),
- _index (0),
         _paren_count (0),
         _in_string (false),
         _seen_BOL_assertion (false),
@@ -48,12 +48,11 @@
     // prevent VC++ 7.1 warning:
     const basic_re_tokeniser_state &operator = (const basic_re_tokeniser_state &rhs_)
     {
- _curr = rhs_._curr;
+ _start = rhs_._start;
         _end = rhs_._end;
- _case_sensitive = rhs_._case_sensitive;
+ _curr = rhs_._curr;
+ _flags = rhs_._flags;
         _locale = rhs_._locale;
- _dot_not_newline = rhs_._dot_not_newline;
- _index = rhs_._index;
         _paren_count = rhs_._paren_count;
         _in_string = rhs_._in_string;
         _seen_BOL_assertion = rhs_._seen_BOL_assertion;
@@ -79,7 +78,11 @@
     inline void increment ()
     {
         ++_curr;
- ++_index;
+ }
+
+ inline std::size_t index ()
+ {
+ return _curr - _start;
     }
 
     inline bool eos ()

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // end_node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // iteration_node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // leaf_node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // selection_node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // sequence_node.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // charset.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // equivset.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -61,20 +61,10 @@
 
         if (!overlap_._index_vector.empty ())
         {
- overlap_._id = _id;
-
- // LHS abstemious transitions have priority.
- if (_greedy < rhs_._greedy)
- {
- overlap_._greedy = _greedy;
- }
- else
- {
- overlap_._greedy = _greedy;
- }
-
             // Note that the LHS takes priority in order to
             // respect rule ordering priority in the lex spec.
+ overlap_._id = _id;
+ overlap_._greedy = _greedy;
             overlap_._followpos = _followpos;
 
             node_vector::const_iterator overlap_begin_ =

Modified: branches/release/boost/spirit/home/support/detail/lexer/rules.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/rules.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/rules.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // rules.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -61,10 +61,8 @@
     typedef std::map<string, std::size_t> string_size_t_map;
     typedef std::pair<string, std::size_t> string_size_t_pair;
 
- basic_rules (const bool case_sensitive_ = true,
- const bool dot_not_newline_ = true) :
- _case_sensitive (case_sensitive_),
- _dot_not_newline (dot_not_newline_)
+ basic_rules (const regex_flags flags_ = dot_not_newline) :
+ _flags (flags_)
     {
         add_state (initial ());
     }
@@ -77,9 +75,8 @@
         _regexes.clear ();
         _ids.clear ();
         _states.clear ();
- _case_sensitive = true;
+ _flags = dot_not_newline;
         _locale = std::locale ();
- _dot_not_newline = false;
         add_state (initial ());
     }
 
@@ -95,19 +92,22 @@
         }
     }
 
- void case_sensitive (const bool case_sensitive_)
+ void flags (const regex_flags flags_)
     {
- _case_sensitive = case_sensitive_;
+ _flags = flags_;
     }
 
- bool case_sensitive () const
+ regex_flags flags () const
     {
- return _case_sensitive;
+ return _flags;
     }
 
- void locale (std::locale &locale_)
+ std::locale imbue (std::locale &locale_)
     {
+ std::locale loc_ = _locale;
+
         _locale = locale_;
+ return loc_;
     }
 
     const std::locale &locale () const
@@ -115,16 +115,6 @@
         return _locale;
     }
 
- void dot_not_newline (const bool dot_not_newline_)
- {
- _dot_not_newline = dot_not_newline_;
- }
-
- bool dot_not_newline () const
- {
- return _dot_not_newline;
- }
-
     std::size_t state (const CharT *name_) const
     {
         std::size_t state_ = npos;
@@ -328,9 +318,8 @@
     string_deque_deque _regexes;
     id_vector_deque _ids;
     id_vector_deque _states;
- bool _case_sensitive;
+ regex_flags _flags;
     std::locale _locale;
- bool _dot_not_newline;
 
     void add (const CharT *curr_state_, const string &regex_,
         const std::size_t id_, const CharT *new_state_, const bool check_)

Modified: branches/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // runtime_error.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/serialise.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/serialise.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/serialise.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // examples/serialise.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/size_t.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/size_t.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/size_t.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // size_t.h
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/lexer/string_token.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/lexer/string_token.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/lexer/string_token.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // string_token.hpp
-// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
+// Copyright (c) 2007-2008 Ben Hanson (http://www.benhanson.net/)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/release/boost/spirit/home/support/detail/to_narrow.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/to_narrow.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/to_narrow.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/detail/values.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/detail/values.hpp (original)
+++ branches/release/boost/spirit/home/support/detail/values.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     http://spirit.sourceforge.net/
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/boost/spirit/home/support/meta_grammar/basic_transforms.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/meta_grammar/basic_transforms.hpp (original)
+++ branches/release/boost/spirit/home/support/meta_grammar/basic_transforms.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/nonterminal/locals.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/nonterminal/locals.hpp (original)
+++ branches/release/boost/spirit/home/support/nonterminal/locals.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 // Copyright (c) 2001-2007 Joel de Guzman
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/home/support/placeholders.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/placeholders.hpp (original)
+++ branches/release/boost/spirit/home/support/placeholders.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/boost/spirit/version.hpp
==============================================================================
--- branches/release/boost/spirit/version.hpp (original)
+++ branches/release/boost/spirit/version.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -6,22 +6,15 @@
   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)
 =============================================================================*/
-#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_VERSION
-#define BOOST_SPIRIT_DEPRECATED_INCLUDE_VERSION
+#if !defined(SPIRIT_VERSION_NOVEMBER_13_2008_0834AM)
+#define SPIRIT_VERSION_NOVEMBER_13_2008_0834AM
 
-#include <boost/version.hpp>
-
-#if BOOST_VERSION >= 103800
-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_version.hpp")
-#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
-# warning "This header is deprecated. Please use: boost/spirit/include/classic_version.hpp"
-#endif
-#endif
-
-#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
-#define BOOST_SPIRIT_USE_OLD_NAMESPACE
-#endif
-#include <boost/spirit/include/classic_version.hpp>
+///////////////////////////////////////////////////////////////////////////////
+//
+// This is the version of the current Spirit distribution
+//
+///////////////////////////////////////////////////////////////////////////////
+#define SPIRIT_VERSION 0x2000
+#define SPIRIT_PIZZA_VERSION EVERYTHING_BUT_ANCHOVIES // :-)
 
 #endif

Modified: branches/release/libs/spirit/classic/test/position_iterator_tests.cpp
==============================================================================
--- branches/release/libs/spirit/classic/test/position_iterator_tests.cpp (original)
+++ branches/release/libs/spirit/classic/test/position_iterator_tests.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -397,15 +397,15 @@
 template <typename IterT>
 void CheckDistance(IterT begin)
 {
- IterT end;
+ IterT end;
 
- std::size_t std_distance = std::distance(begin, end);
-
- std::size_t manual_count = 0;
- for(IterT it = begin; it != end; ++it)
- ++manual_count;
-
- BOOST_TEST(std_distance == manual_count);
+ std::size_t std_distance = std::distance(begin, end);
+
+ std::size_t manual_count = 0;
+ for(IterT it = begin; it != end; ++it)
+ ++manual_count;
+
+ BOOST_TEST(std_distance == manual_count);
 }
 
 
@@ -465,9 +465,9 @@
 
 void CheckDistance(void)
 {
- const char* b = "\n0123\r\n4567\n89\n\r";
+ const char* b = "\n0123\r\n4567\n89\n\r";
     typedef const char* iter_t;
-
+
     test_impl::CheckDistance(position_iterator<iter_t>(b, b+15, ""));
     test_impl::CheckDistance(position_iterator2<iter_t>(b, b+15, ""));
     test_impl::CheckDistance(position_iterator<iter_t, file_position_without_column>(b, b+15, ""));

Modified: branches/release/libs/spirit/doc/acknowledgments.qbk
==============================================================================
--- branches/release/libs/spirit/doc/acknowledgments.qbk (original)
+++ branches/release/libs/spirit/doc/acknowledgments.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/faq.qbk
==============================================================================
--- branches/release/libs/spirit/doc/faq.qbk (original)
+++ branches/release/libs/spirit/doc/faq.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/html/index.html
==============================================================================
--- branches/release/libs/spirit/doc/html/index.html (original)
+++ branches/release/libs/spirit/doc/html/index.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -34,7 +34,7 @@
 <div><p class="copyright">Copyright © 2001-2008 Joel de Guzman,
       Hartmut Kaiser</p></div>
 <div><div class="legalnotice">
-<a name="id616212"></a><p>
+<a name="id386666"></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>
@@ -184,11 +184,11 @@
       </p>
 </blockquote></div>
 <a name="spirit.preface.history"></a><h3>
-<a name="id616266"></a>
+<a name="id388764"></a>
       <a href="index.html#spirit.preface.history">History</a>
     </h3>
 <a name="spirit.preface._emphasis_80s__emphasis_"></a><h3>
-<a name="id616279"></a>
+<a name="id386336"></a>
       <a href="index.html#spirit.preface._emphasis_80s__emphasis_"><span class="emphasis"><em>80s</em></span></a>
     </h3>
 <p>
@@ -202,7 +202,7 @@
       recursive-descent parser. This worked very well.
     </p>
 <a name="spirit.preface._emphasis_90s__emphasis_"></a><h3>
-<a name="id616297"></a>
+<a name="id386375"></a>
       <a href="index.html#spirit.preface._emphasis_90s__emphasis_"><span class="emphasis"><em>90s</em></span></a>
     </h3>
 <p>
@@ -238,8 +238,7 @@
       version was implemented with run-time polymorphic classes. A parser is generated
       at run time by feeding in production rule strings such as:
     </p>
-<pre class="programlisting">
-<span class="string">"prod ::= {'A' | 'B'} 'C';"</span>
+<pre class="programlisting"><span class="string">"prod ::= {'A' | 'B'} 'C';"</span>
 </pre>
 <p>
       A compile function compiled the parser, dynamically creating a hierarchy of
@@ -247,7 +246,7 @@
       here: pre-Spirit.
     </p>
 <a name="spirit.preface._emphasis_2001_to_2006__emphasis_"></a><h3>
-<a name="id616340"></a>
+<a name="id388110"></a>
       <a href="index.html#spirit.preface._emphasis_2001_to_2006__emphasis_"><span class="emphasis"><em>2001
       to 2006</em></span></a>
     </h3>
@@ -277,7 +276,7 @@
       for design and implementation quality, robustness, and reusability.
     </p>
 <a name="spirit.preface._emphasis_2007__emphasis_"></a><h3>
-<a name="id616375"></a>
+<a name="id387263"></a>
       <a href="index.html#spirit.preface._emphasis_2007__emphasis_"><span class="emphasis"><em>2007</em></span></a>
     </h3>
 <p>
@@ -307,7 +306,7 @@
       Templates</a> library called -Boost.Proto-.
     </p>
 <a name="spirit.preface.new_ideas__spirit_v2"></a><h3>
-<a name="id616441"></a>
+<a name="id387382"></a>
       <a href="index.html#spirit.preface.new_ideas__spirit_v2">New Ideas: Spirit V2</a>
     </h3>
 <p>
@@ -345,7 +344,7 @@
       same underlying component library as for the parser and generator libraries.
     </p>
 <a name="spirit.preface.how_to_use_this_manual"></a><h3>
-<a name="id616491"></a>
+<a name="id387485"></a>
       <a href="index.html#spirit.preface.how_to_use_this_manual">How to use this manual</a>
     </h3>
 <p>
@@ -376,7 +375,7 @@
       icons precede some text to indicate:
     </p>
 <div class="table">
-<a name="id616539"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id387571"></a><p class="title"><b>Table 1. Icons</b></p>
 <table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -497,7 +496,7 @@
       Tools</a>.
     </p>
 <a name="spirit.preface.support"></a><h3>
-<a name="id616780"></a>
+<a name="id386631"></a>
       <a href="index.html#spirit.preface.support">Support</a>
     </h3>
 <p>
@@ -513,7 +512,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 16, 2008 at 03:04:03 GMT</small></p></td>
+<td align="left"><p><small>Last revised: December 23, 2008 at 09:37:55 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/spirit/doc/html/spirit/acknowledgments.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/acknowledgments.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/acknowledgments.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -46,7 +46,7 @@
       <span class="bold"><b>FIXME</b></span>: Add more people
     </p>
 <a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h3>
-<a name="id665442"></a>
+<a name="id506650"></a>
       <a href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
       from the Spirit V1 <span class="emphasis"><em>classic</em></span> Documentation</a>
     </h3>

Modified: branches/release/libs/spirit/doc/html/spirit/introduction.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/introduction.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/introduction.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -26,18 +26,18 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="spirit.introduction"></a>Introduction</h2></div></div></div>
 <p>
- Boost Spirit is an object oriented, recursive-descent parser and output generation
- library for C++. It allows to write grammars and format descriptions using
- a format very similar to EBNF (Extended Backus Naur Form, see [4]) directly
- in C++. These inline grammar specifications can mix freely with other C++ code
- and, thanks to the generative power of C++ templates, are immediately executable.
+ Boost Spirit is an object-oriented, recursive-descent parser and output generation
+ library for C++. It allows you to write grammars and format descriptions using
+ a format similar to EBNF (Extended Backus Naur Form, see [4]) directly in C++.
+ These inline grammar specifications can mix freely with other C++ code and,
+ thanks to the generative power of C++ templates, are immediately executable.
       In retrospect, conventional compiler-compilers or parser-generators have to
       perform an additional translation step from the source EBNF code to C or C++
       code.
     </p>
 <p>
- The syntax and semantics of the libraries API directly form domain specific
- embedded languages (DSEL). In fact, Spirit exposes 3 different DSEL's to the
+ The syntax and semantics of the libraries' API directly form domain-specific
+ embedded languages (DSEL). In fact, Spirit exposes 3 different DSELs to the
       user:
     </p>
 <div class="itemizedlist"><ul type="disc">
@@ -53,43 +53,43 @@
 </ul></div>
 <p>
       Since the target input grammars and output formats are written entirely in
- C++ we do not need any separate tools to compile, preprocess, or integrate
- those into the build process. Spirit
+ C++ we do not need any separate tools to compile, preprocess or integrate those
+ into the build process. Spirit
       allows seamless integration of the parsing and output generation process with
       other C++ code. Often this allows for simpler and more efficient code.
     </p>
 <p>
- Both, the created parsers and generators, are fully attributed which allows
+ Both the created parsers and generators are fully attributed which allows you
       to easily build and handle hierarchical data structures in memory. These data
       structures resemble the structure of the input data and can directly be used
- to generate arbitrarily formatted output.
+ to generate arbitrarily-formatted output.
     </p>
 <p>
       The figure below depicts the
- overall structure of the Boost Spirit library. The library consists out of
- 4 major parts:
+ overall structure of the Boost Spirit library. The library consists of 4 major
+ parts:
     </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
-<span class="emphasis"><em>Spirit.Classic</em></span>: This is the almost unchanged code base
+<span class="emphasis"><em>Spirit.Classic</em></span>: This is the almost-unchanged code base
         taken from the former Boost Spirit V1.8 distribution. It has been moved into
         the namespace boost::spirit::classic. A special compatibility layer has been
         added to ensure complete compatibility with existing code using Spirit V1.8.
       </li>
 <li>
-<span class="emphasis"><em>Spirit.Qi</em></span>: This is the parser library allowing to build
- recursive descent parsers. The exposed domain specific language can be used
- to describe the grammars to implement, and the rules for storing the parsed
- information.
+<span class="emphasis"><em>Spirit.Qi</em></span>: This is the parser library allowing you to
+ build recursive descent parsers. The exposed domain-specific language can
+ be used to describe the grammars to implement, and the rules for storing
+ the parsed information.
       </li>
 <li>
-<span class="emphasis"><em>Spirit.Lex</em></span>: This is the library usable to create tokinizers
- (lexers). The domain specific language exposed by <span class="emphasis"><em>Spirit.Lex</em></span>
+<span class="emphasis"><em>Spirit.Lex</em></span>: This is the library usable to create tokenizers
+ (lexers). The domain-specific language exposed by <span class="emphasis"><em>Spirit.Lex</em></span>
 </li>
 <li>
 <span class="emphasis"><em>Spirit.Karma</em></span>: This is the generator library allowing
- to create code for recursive descent, data type driven output formatting.
- The exposed domain specific language is almost equivalent to the parser description
+ you to create code for recursive descent, data type-driven output formatting.
+ The exposed domain-specific language is almost equivalent to the parser description
         language used in <span class="emphasis"><em>Spirit.Qi</em></span>, except that it is used to
         describe the required output format to generate from a given data structure.
       </li>
@@ -117,9 +117,9 @@
       The <a href="introduction.html#spirit.spiritkarmaflow" title="Figure 2. The place of Spirit.Qi and Spirit.Karma
       in a data transformation flow of a typical application">figure</a> below shows the typical
       data flow of some input being converted to some internal representation. After
- some (optional) transformation this data is converted back into some different,
- external representation. The picture highlights Spirit's the place in this
- data transformation flow.
+ some (optional) transformation these data are converted back into some different,
+ external representation. The picture highlights Spirit's place in this data
+ transformation flow.
     </p>
 <p>
       </p>
@@ -132,10 +132,10 @@
 </div>
 <p>
     </p>
-<a name="spirit.introduction.a_quick_overview_about_parsing_with__emphasis_spirit_qi__emphasis_"></a><h3>
-<a name="id617238"></a>
- <a href="introduction.html#spirit.introduction.a_quick_overview_about_parsing_with__emphasis_spirit_qi__emphasis_">A
- quick overview about Parsing with <span class="emphasis"><em>Spirit.Qi</em></span></a>
+<a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h3>
+<a name="id457695"></a>
+ <a href="introduction.html#spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_">A
+ Quick Overview of Parsing with <span class="emphasis"><em>Spirit.Qi</em></span></a>
     </h3>
 <p>
       <span class="emphasis"><em>Spirit.Qi</em></span> is Spirit's sublibrary dealing with generating
@@ -145,8 +145,7 @@
 <p>
       A simple EBNF grammar snippet:
     </p>
-<pre class="programlisting">
-<span class="identifier">group</span> <span class="special">::=</span> <span class="char">'('</span> <span class="identifier">expression</span> <span class="char">')'</span>
+<pre class="programlisting"><span class="identifier">group</span> <span class="special">::=</span> <span class="char">'('</span> <span class="identifier">expression</span> <span class="char">')'</span>
 <span class="identifier">factor</span> <span class="special">::=</span> <span class="identifier">integer</span> <span class="special">|</span> <span class="identifier">group</span>
 <span class="identifier">term</span> <span class="special">::=</span> <span class="identifier">factor</span> <span class="special">((</span><span class="char">'*'</span> <span class="identifier">factor</span><span class="special">)</span> <span class="special">|</span> <span class="special">(</span><span class="char">'/'</span> <span class="identifier">factor</span><span class="special">))*</span>
 <span class="identifier">expression</span> <span class="special">::=</span> <span class="identifier">term</span> <span class="special">((</span><span class="char">'+'</span> <span class="identifier">term</span><span class="special">)</span> <span class="special">|</span> <span class="special">(</span><span class="char">'-'</span> <span class="identifier">term</span><span class="special">))*</span>
@@ -155,8 +154,7 @@
       is approximated using facilities of Spirit's <span class="emphasis"><em>Qi</em></span> sublibrary
       as seen in this code snippet:
     </p>
-<pre class="programlisting">
-<span class="identifier">group</span> <span class="special">=</span> <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">expression</span> <span class="special">&gt;&gt;</span> <span class="char">')'</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">group</span> <span class="special">=</span> <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">expression</span> <span class="special">&gt;&gt;</span> <span class="char">')'</span><span class="special">;</span>
 <span class="identifier">factor</span> <span class="special">=</span> <span class="identifier">integer</span> <span class="special">|</span> <span class="identifier">group</span><span class="special">;</span>
 <span class="identifier">term</span> <span class="special">=</span> <span class="identifier">factor</span> <span class="special">&gt;&gt;</span> <span class="special">*((</span><span class="char">'*'</span> <span class="special">&gt;&gt;</span> <span class="identifier">factor</span><span class="special">)</span> <span class="special">|</span> <span class="special">(</span><span class="char">'/'</span> <span class="special">&gt;&gt;</span> <span class="identifier">factor</span><span class="special">));</span>
 <span class="identifier">expression</span> <span class="special">=</span> <span class="identifier">term</span> <span class="special">&gt;&gt;</span> <span class="special">*((</span><span class="char">'+'</span> <span class="special">&gt;&gt;</span> <span class="identifier">term</span><span class="special">)</span> <span class="special">|</span> <span class="special">(</span><span class="char">'-'</span> <span class="special">&gt;&gt;</span> <span class="identifier">term</span><span class="special">));</span>
@@ -164,15 +162,16 @@
 <p>
       Through the magic of expression templates, this is perfectly valid and executable
       C++ code. The production rule <tt class="computeroutput"><span class="identifier">expression</span></tt>
- is in fact an object that has a member function parse that does the work given
- a source code written in the grammar that we have just declared. Yes, it's
- a calculator. We shall simplify for now by skipping the type declarations and
- the definition of the rule integer invoked by factor. Now, the production rule
- <tt class="computeroutput"><span class="identifier">expression</span></tt> in our grammar specification,
- traditionally called the start symbol, can recognize inputs such as:
+ is, in fact, an object that has a member function <tt class="computeroutput"><span class="identifier">parse</span></tt>
+ that does the work given a source code written in the grammar that we have
+ just declared. Yes, it's a calculator. We shall simplify for now by skipping
+ the type declarations and the definition of the rule <tt class="computeroutput"><span class="identifier">integer</span></tt>
+ invoked by <tt class="computeroutput"><span class="identifier">factor</span></tt>. Now, the
+ production rule <tt class="computeroutput"><span class="identifier">expression</span></tt>
+ in our grammar specification, traditionally called the <tt class="computeroutput"><span class="identifier">start</span></tt>
+ symbol, can recognize inputs such as:
     </p>
-<pre class="programlisting">
-<span class="number">12345</span>
+<pre class="programlisting"><span class="number">12345</span>
 <span class="special">-</span><span class="number">12345</span>
 <span class="special">+</span><span class="number">12345</span>
 <span class="number">1</span> <span class="special">+</span> <span class="number">2</span>
@@ -191,8 +190,7 @@
       shift &gt;&gt; operators. Since there are no 'empty' operators in C++, it is
       simply not possible to write something like:
     </p>
-<pre class="programlisting">
-<span class="identifier">a</span> <span class="identifier">b</span>
+<pre class="programlisting"><span class="identifier">a</span> <span class="identifier">b</span>
 </pre>
 <p>
       as seen in math syntax, for example, to mean multiplication or, in our case,
@@ -202,8 +200,7 @@
       operator, with arrows pointing to the right, to mean "is followed by".
       Thus we write:
     </p>
-<pre class="programlisting">
-<span class="identifier">a</span> <span class="special">&gt;&gt;</span> <span class="identifier">b</span>
+<pre class="programlisting"><span class="identifier">a</span> <span class="special">&gt;&gt;</span> <span class="identifier">b</span>
 </pre>
 <p>
       The alternative operator <tt class="computeroutput"><span class="special">|</span></tt> and
@@ -213,37 +210,34 @@
       not least, the Kleene star <tt class="computeroutput"><span class="special">*</span></tt> which
       used to be a postfix operator in EBNF becomes a prefix. Instead of:
     </p>
-<pre class="programlisting">
-<span class="identifier">a</span><span class="special">*</span> <span class="comment">//... in EBNF syntax,
+<pre class="programlisting"><span class="identifier">a</span><span class="special">*</span> <span class="comment">//... in EBNF syntax,
 </span></pre>
 <p>
       we write:
     </p>
-<pre class="programlisting">
-<span class="special">*</span><span class="identifier">a</span> <span class="comment">//... in Spirit.
+<pre class="programlisting"><span class="special">*</span><span class="identifier">a</span> <span class="comment">//... in Spirit.
 </span></pre>
 <p>
       since there are no postfix stars, <tt class="computeroutput"><span class="special">*</span></tt>,
       in C/C++. Finally, we terminate each rule with the ubiquitous semi-colon,
       <tt class="computeroutput"><span class="special">;</span></tt>.
     </p>
-<a name="spirit.introduction.a_quick_overview_about_output_generation_with__emphasis_spirit_karma__emphasis_"></a><h3>
-<a name="id620086"></a>
- <a href="introduction.html#spirit.introduction.a_quick_overview_about_output_generation_with__emphasis_spirit_karma__emphasis_">A
- quick overview about Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
+<a name="spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_"></a><h3>
+<a name="id458990"></a>
+ <a href="introduction.html#spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_">A
+ Quick Overview of Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
     </h3>
 <p>
- Spirit not only allows to describe the structure of the input. Starting with
- Version 2.0 it enables the specification of the output format for your data
- in a very similar way, and based on a single syntax and compatible semantics.
+ Spirit not only allows you to describe the structure of the input. Starting
+ with Version 2.0 it enables the specification of the output format for your
+ data in a similar way, and based on a single syntax and compatible semantics.
     </p>
 <p>
       Let's assume we need to generate a textual representation from a simple data
- structure as a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></tt>. Conventional
+ structure such as a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></tt>. Conventional
       code probably would look like:
     </p>
-<pre class="programlisting">
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span> <span class="special">(</span><span class="identifier">initialize_and_fill</span><span class="special">());</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span> <span class="special">(</span><span class="identifier">initialize_and_fill</span><span class="special">());</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">end</span> <span class="special">=</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
 <span class="keyword">for</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">it</span> <span class="special">=</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span> <span class="identifier">it</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">;</span> <span class="special">++</span><span class="identifier">it</span><span class="special">)</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">it</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
@@ -251,19 +245,18 @@
 <p>
       which is not very flexible and quite difficult to maintain when it comes to
       changing the required output format. Spirit's sublibrary <span class="emphasis"><em>Karma</em></span>
- allows to specify output formats for arbitrary data structures in a very flexible
- way. following snippet is the <span class="emphasis"><em>Karma</em></span> format description
- used to create the very The same output as the traditional code above:
+ allows you to specify output formats for arbitrary data structures in a very
+ flexible way. The following snippet is the <span class="emphasis"><em>Karma</em></span> format
+ description used to create the same output as the traditional code above:
     </p>
-<pre class="programlisting">
-<span class="special">*(</span><span class="identifier">int_</span> <span class="special">&lt;&lt;</span> <span class="identifier">eol</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">*(</span><span class="identifier">int_</span> <span class="special">&lt;&lt;</span> <span class="identifier">eol</span><span class="special">)</span>
 </pre>
 <p>
       Here are some more examples of format descriptions for different output representations
       of the same <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></tt>:
     </p>
 <div class="table">
-<a name="id620430"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
+<a name="id459465"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
 <table class="table" summary="Different output formats for `std::vector&lt;int&gt;`">
 <colgroup>
 <col>
@@ -366,19 +359,19 @@
 </table>
 </div>
 <p>
- The syntax is very similar to <span class="emphasis"><em>Qi</em></span> with the exception that
- we use the <tt class="computeroutput"><span class="special">&lt;&lt;</span></tt> operator for
+ The syntax is similar to <span class="emphasis"><em>Qi</em></span> with the exception that we
+ use the <tt class="computeroutput"><span class="special">&lt;&lt;</span></tt> operator for
       output concatenation. This should be easy to understand as it follows the conventions
       used in the Standard's I/O streams.
     </p>
 <p>
- Another important feature of <span class="emphasis"><em>karma</em></span> is to allow to fully
+ Another important feature of <span class="emphasis"><em>karma</em></span> allows you to fully
       decouple the data type from the output format. You can use the same output
- format with different data types as long as these conforma conceptually. The
+ format with different data types as long as these conform conceptually. The
       next table gives some related examples.
     </p>
 <div class="table">
-<a name="id620803"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id459935"></a><p class="title"><b>Table 3. Different data types usable with the output format
     `(*int_ &lt;&lt; eol)`</b></p>
 <table class="table" summary="Different data types usable with the output format
     `(*int_ &lt;&lt; eol)`">

Modified: branches/release/libs/spirit/doc/html/spirit/lex.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -96,23 +96,23 @@
           is not perfect.
         </li>
 </ul></div>
-<a name="spirit.lex.lexer_introduction.why_using_a_separate_lexer"></a><h4>
-<a name="id648365"></a>
- <a href="lex.html#spirit.lex.lexer_introduction.why_using_a_separate_lexer">Why
- Using a Separate Lexer</a>
+<a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h4>
+<a name="id488039"></a>
+ <a href="lex.html#spirit.lex.lexer_introduction.why_use_a_separate_lexer_">Why
+ Use a Separate Lexer?</a>
       </h4>
 <p>
         Typically, lexical scanning is done in a separate module from the parser,
- feeding the parser with a stream of input tokens only. Now, theoretically
- it is not necessary to do this separation. In the end there is only one set
+ feeding the parser with a stream of input tokens only. Theoretically it is
+ not necessary implement this separation as in the end there is only one set
         of syntactical rules defining the language, so in theory we could write the
         whole parser in one module. In fact, <span class="emphasis"><em>Spirit.Qi</em></span> allows
- to write parsers without using a lexer, parsing the input character stream
+ you to write parsers without using a lexer, parsing the input character stream
         directly, and for the most part this is the way Spirit
         has been used since its invention.
       </p>
 <p>
- However, the separation has both practical and theoretical bases and proves
+ However, this separation has both practical and theoretical bases and proves
         to be very useful in practical applications. In 1956, Noam Chomsky defined
         the "Chomsky Hierarchy" of grammars:
       </p>
@@ -147,25 +147,24 @@
         handled as regular expressions tend to be the lower-level parts, such as
         the definition of an identifier or of an integer value:
       </p>
-<pre class="programlisting">
-<span class="identifier">letter</span> <span class="special">:=</span> <span class="special">[</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">zA</span><span class="special">-</span><span class="identifier">Z</span><span class="special">]</span>
+<pre class="programlisting"><span class="identifier">letter</span> <span class="special">:=</span> <span class="special">[</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">zA</span><span class="special">-</span><span class="identifier">Z</span><span class="special">]</span>
 <span class="identifier">digit</span> <span class="special">:=</span> <span class="special">[</span><span class="number">0</span><span class="special">-</span><span class="number">9</span><span class="special">]</span>
 
 <span class="identifier">identifier</span> <span class="special">:=</span> <span class="identifier">letter</span> <span class="special">[</span> <span class="identifier">letter</span> <span class="special">|</span> <span class="identifier">digit</span> <span class="special">]*</span>
-<span class="identifier">integer</span> <span class="special">:=</span> <span class="identifier">digit</span><span class="special">*</span>
+<span class="identifier">integer</span> <span class="special">:=</span> <span class="identifier">digit</span><span class="special">+</span>
 </pre>
 <p>
         Higher level parts of practical grammars tend to be more complex and can't
- be implemented using plain regular expressions anymore. We need to store
- information on the built-in hardware stack while recursing the grammar hierarchy,
- and that in fact this is the preferred approach used for top-down parsing.
- Since it takes a different kind of abstract machine to parse the two types
- of grammars, it proved to be efficient to separate the lexical scanner into
- a separate module which is built around the idea of a state machine. The
- goal here is to use the simplest parsing technique needed for the job.
+ be implemented using plain regular expressions. We need to store information
+ on the built-in hardware stack while recursing the grammar hierarchy, and
+ that in fact this is the preferred approach used for top-down parsing. Since
+ it takes a different kind of abstract machine to parse the two types of grammars,
+ it proved to be efficient to separate the lexical scanner into a separate
+ module which is built around the idea of a state machine. The goal here is
+ to use the simplest parsing technique needed for the job.
       </p>
 <p>
- Another, more practical reason for separating the scanner from the parser
+ Another, more practical, reason for separating the scanner from the parser
         is the need for backtracking during parsing. The input data is a stream of
         characters, which is often thought to be processed left to right without
         any backtracking. Unfortunately, in practice most of the time that isn't
@@ -197,7 +196,7 @@
         grammar recognizers.
       </p>
 <a name="spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_"></a><h4>
-<a name="id648579"></a>
+<a name="id488369"></a>
         <a href="lex.html#spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_">Advantages
         of using <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h4>
@@ -210,22 +209,22 @@
         making it possible to freely access any context information and data structure.
         Since the C++ compiler sees all the code it will generate optimal code nomatter
         what configuration options have been chosen by the user. <span class="emphasis"><em>Spirit.Lex</em></span>
- gives you all the features you could get from a similar Flex
- program without the need to leave C++ as a host language:
+ gives you the vast majority of features you could get from a similar Flex program without the need
+ to leave C++ as a host language:
       </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- the definition of tokens is done using regular expressions (patterns)
+ The definition of tokens is done using regular expressions (patterns)
         </li>
 <li>
- the token definitions can refer to special substitution string (pattern
+ The token definitions can refer to special substitution strings (pattern
           macros) simplifying pattern definitions
         </li>
 <li>
- the generated lexical scanner may have multiple start states
+ The generated lexical scanner may have multiple start states
         </li>
 <li>
- it is possible to attach code to any of the token definitions; this code
+ It is possible to attach code to any of the token definitions; this code
           gets executed whenever the corresponding token pattern has been matched
         </li>
 </ul></div>
@@ -238,14 +237,15 @@
         Model</a>) - a model very similar to the way Flex
         operates - we will mainly focus on the opposite, the <span class="emphasis"><em>dynamic</em></span>
         model. You can directly integrate the token definitions into your C++ program,
- building the lexical analyzer dynamicly at runtime. The dynamic model is
+ building the lexical analyzer dynamically at runtime. The dynamic model is
         something not supported by Flex
         or other lexical scanner generators (such as re2c,
         <a href="http://www.cs.queensu.ca/~thurston/ragel/" target="_top">Ragel</a>, etc.).
- But it is very flexible and allows to speed up the development of your application.
+ But it is very flexible and allows you to speed up the development of your
+ application.
       </p>
 <a name="spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_"></a><h4>
-<a name="id648682"></a>
+<a name="id488543"></a>
         <a href="lex.html#spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_">The
         Library Structure of <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h4>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -84,7 +84,7 @@
             of the <span class="emphasis"><em>Spirit.Lex</em></span> library.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token"></a><h6>
-<a name="id658935"></a>
+<a name="id499645"></a>
             <a href="abstracts.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token">The
             Anatomy of a Token</a>
           </h6>
@@ -134,7 +134,7 @@
             </p>
 <div class="figure">
 <a name="spirit.lex.tokenstructure"></a><p class="title"><b>Figure 5. The structure of a token</b></p>
-<span class="inlinemediaobject"><img src="../.././images/TokenStructure.png" alt="The
+<span class="inlinemediaobject"><img src="../.././images/tokenstructure.png" alt="The
             structure of a token"></span>
 </div>
 <p>
@@ -178,8 +178,7 @@
             Here is the template prototype of the lexertl_token<>
             template:
           </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
     <span class="keyword">typename</span> <span class="identifier">Iterator</span> <span class="special">=</span> <span class="keyword">char</span> <span class="keyword">const</span><span class="special">*,</span>
     <span class="keyword">typename</span> <span class="identifier">AttributeTypes</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
     <span class="keyword">typename</span> <span class="identifier">HasState</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span>
@@ -222,7 +221,7 @@
             when it is requested for the first time.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition"></a><h6>
-<a name="id659461"></a>
+<a name="id500459"></a>
             <a href="abstracts.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition">The
             Physiognomy of a Token Definition</a>
           </h6>
@@ -235,8 +234,7 @@
 <p>
             The template prototype of this class is shown here:
           </p>
-<pre class="programlisting">
-<span class="keyword">template</span><span class="special">&lt;</span>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
     <span class="keyword">typename</span> <span class="identifier">Attribute</span> <span class="special">=</span> <span class="identifier">unused_type</span><span class="special">,</span>
     <span class="keyword">typename</span> <span class="identifier">Char</span> <span class="special">=</span> <span class="keyword">char</span>
 <span class="special">&gt;</span>
@@ -296,7 +294,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_"></a><h6>
-<a name="id659718"></a>
+<a name="id500867"></a>
             <a href="abstracts.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_">Examples
             of using lexertl_token<></a>
           </h6>
@@ -320,8 +318,7 @@
 <p>
               
 </p>
-<pre class="programlisting">
-<span class="comment">// these tokens expose the iterator_range of the matched input sequence
+<pre class="programlisting"><span class="comment">// these tokens expose the iterator_range of the matched input sequence
 </span><span class="identifier">token_def</span><span class="special">&lt;&gt;</span> <span class="identifier">if_</span><span class="special">,</span> <span class="identifier">else_</span><span class="special">,</span> <span class="identifier">while_</span><span class="special">;</span>
 
 <span class="comment">// The following two tokens have an associated value type, 'identifier'
@@ -361,8 +358,7 @@
 <p>
               
 </p>
-<pre class="programlisting">
-<span class="comment">// This is the lexer token type to use. The second template parameter lists
+<pre class="programlisting"><span class="comment">// This is the lexer token type to use. The second template parameter lists
 </span><span class="comment">// all attribute types used for token_def's during token definition (see
 </span><span class="comment">// calculator_tokens&lt;&gt; above). Here we use the predefined lexertl token
 </span><span class="comment">// type, but any compatible token type may be used instead.

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -26,17 +26,17 @@
 <div class="titlepage"><div><div><h4 class="title">
 <a name="spirit.lex.abstracts.lexer_states"></a> Lexer States</h4></div></div></div>
 <a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions"></a><h5>
-<a name="id664594"></a>
+<a name="id505296"></a>
           <a href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions">Controlling
           the Lexer State from Lexer Semantic Actions</a>
         </h5>
 <a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions"></a><h5>
-<a name="id664607"></a>
+<a name="id505327"></a>
           <a href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions">Controlling
           the Lexer State from Parser Semantic Actions</a>
         </h5>
 <a name="spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser"></a><h5>
-<a name="id664620"></a>
+<a name="id505358"></a>
           <a href="lexer_states.html#spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser">Using
           a Lexer State for the Skip Parser</a>
         </h5>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -82,8 +82,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">enum</span> <span class="identifier">tokenids</span>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">tokenids</span>
 <span class="special">{</span>
     <span class="identifier">IDANY</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">lex</span><span class="special">::</span><span class="identifier">min_token_id</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span>
 <span class="special">};</span>
@@ -104,8 +103,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="comment">// This token definition class can be used without any change for all three
+<pre class="programlisting"><span class="comment">// This token definition class can be used without any change for all three
 </span><span class="comment">// possible use cases: a dynamic lexical analyzer, a code generator, and a
 </span><span class="comment">// static lexical analyzer.
 </span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">BaseLexer</span><span class="special">&gt;</span>
@@ -147,8 +145,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="comment">// This is an ordinary grammar definition following the rules defined by
+<pre class="programlisting"><span class="comment">// This is an ordinary grammar definition following the rules defined by
 </span><span class="comment">// Spirit.Qi. There is nothing specific about it, except it gets the token
 </span><span class="comment">// definition class instance passed to the constructor to allow accessing the
 </span><span class="comment">// embedded token_def&lt;&gt; instances.
@@ -181,7 +178,7 @@
 <p>
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h5>
-<a name="id662050"></a>
+<a name="id503276"></a>
           <a href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer">Generating
           the Static Analyzer</a>
         </h5>
@@ -202,8 +199,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
 <span class="special">{</span>
     <span class="comment">// create the lexer object instance needed to invoke the generator
 </span> <span class="identifier">word_count_tokens</span><span class="special">&lt;</span><span class="identifier">lexertl_lexer</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">word_count</span><span class="special">;</span> <span class="comment">// the token definition
@@ -228,7 +224,7 @@
           the next topic (the full generated code can be viewed here).
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer"></a><h5>
-<a name="id662419"></a>
+<a name="id503799"></a>
           <a href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer">Modifying
           the Dynamic Analyzer</a>
         </h5>
@@ -248,8 +244,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_static_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_static_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
           </p>
@@ -269,8 +264,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
 <span class="special">{</span>
     <span class="comment">// Define the token type to be used: 'std::string' is available as the type
 </span> <span class="comment">// of the token value.

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -30,12 +30,12 @@
         Input Data"> Tokenizing
         Input Data</a></h4></div></div></div>
 <a name="spirit.lex.abstracts.lexer_tokenizing.the_tokenize___function"></a><h5>
-<a name="id660244"></a>
+<a name="id501672"></a>
           <a href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_tokenize___function">The
           tokenize() function</a>
         </h5>
 <a name="spirit.lex.abstracts.lexer_tokenizing.the_generate_static___function"></a><h5>
-<a name="id660261"></a>
+<a name="id501700"></a>
           <a href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_generate_static___function">The
           generate_static() function</a>
         </h5>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -26,22 +26,22 @@
 <div class="titlepage"><div><div><h4 class="title">
 <a name="spirit.lex.reference.lexer_class"></a>Lexer Class</h4></div></div></div>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model"></a><h5>
-<a name="id664720"></a>
+<a name="id505548"></a>
           <a href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model">The
           lexertl_lexer Class Implementing the Dynamic Model</a>
         </h5>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model"></a><h5>
-<a name="id664733"></a>
+<a name="id505576"></a>
           <a href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model">The
           lexertl_actor_lexer Class Implementing the Dynamic Model</a>
         </h5>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model"></a><h5>
-<a name="id664746"></a>
+<a name="id505606"></a>
           <a href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model">The
           lexertl_static_lexer Class Implementing the Static Model</a>
         </h5>
 <a name="spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model"></a><h5>
-<a name="id664759"></a>
+<a name="id505637"></a>
           <a href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model">The
           lexertl_static_actor_lexer Class Implementing the Static Model</a>
         </h5>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -43,7 +43,7 @@
           (for the full example code see here: word_count_functor.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.prerequisites"></a><h5>
-<a name="id648951"></a>
+<a name="id488986"></a>
           <a href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.prerequisites">Prerequisites</a>
         </h5>
 <p>
@@ -59,8 +59,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
@@ -76,8 +75,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<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>
+<pre class="programlisting"><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">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="identifier">lex</span><span class="special">;</span>
 </pre>
 <p>
@@ -85,7 +83,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.defining_tokens"></a><h5>
-<a name="id649646"></a>
+<a name="id489371"></a>
           <a href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.defining_tokens">Defining
           Tokens</a>
         </h5>
@@ -120,8 +118,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">word_count_tokens</span> <span class="special">:</span> <span class="identifier">lexer_def</span><span class="special">&lt;</span><span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Self</span><span class="special">&gt;</span>
@@ -142,7 +139,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work"></a><h5>
-<a name="id649992"></a>
+<a name="id489877"></a>
           <a href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work">Doing
           the Useful Work</a>
         </h5>
@@ -168,8 +165,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">counter</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">counter</span>
 <span class="special">{</span>
     <span class="comment">// the function operator gets called for each of the matched tokens
 </span> <span class="comment">// c, l, w are references to the counters used to keep track of the numbers
@@ -208,7 +204,7 @@
           as well.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together"></a><h5>
-<a name="id650494"></a>
+<a name="id490577"></a>
           <a href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together">Pulling
           Everything Together</a>
         </h5>
@@ -227,8 +223,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
 <span class="special">{</span>
     <span class="comment">// these variables are used to count characters, words and lines
 </span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">c</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">w</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
@@ -264,7 +259,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_"></a><h5>
-<a name="id651326"></a>
+<a name="id491716"></a>
           <a href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_">Comparing
           <span class="emphasis"><em>Spirit.Lex</em></span> with Flex</a>
         </h5>
@@ -306,8 +301,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="special">%{</span>
+<pre class="programlisting"><span class="special">%{</span>
     <span class="preprocessor">#define</span> <span class="identifier">ID_WORD</span> <span class="number">1000</span>
     <span class="preprocessor">#define</span> <span class="identifier">ID_EOL</span> <span class="number">1001</span>
     <span class="preprocessor">#define</span> <span class="identifier">ID_CHAR</span> <span class="number">1002</span>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -45,7 +45,7 @@
           options along the lines (for the full example code see here: word_count_lexer.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.prerequisites"></a><h5>
-<a name="id652117"></a>
+<a name="id492776"></a>
           <a href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.prerequisites">Prerequisites</a>
         </h5>
 <p>
@@ -65,8 +65,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">support_argument</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">support_argument</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_statement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -85,8 +84,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<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>
+<pre class="programlisting"><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">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="identifier">lex</span><span class="special">;</span>
 </pre>
 <p>
@@ -103,8 +101,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="special">%{</span>
+<pre class="programlisting"><span class="special">%{</span>
     <span class="keyword">int</span> <span class="identifier">c</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">w</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 <span class="special">%}</span>
 <span class="special">%%</span>
@@ -123,7 +120,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id652815"></a>
+<a name="id493728"></a>
           <a href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_">Semantic
           Actions in <span class="emphasis"><em>Spirit.Lex</em></span></a>
         </h5>
@@ -140,8 +137,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">word_count_tokens</span> <span class="special">:</span> <span class="identifier">lexer_def</span><span class="special">&lt;</span><span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">word_count_tokens</span><span class="special">()</span>
@@ -181,8 +177,7 @@
           but it is possible to insert any C++ function or function object as long
           as it exposes the interface:
         </p>
-<pre class="programlisting">
-<span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Idtype</span> <span class="identifier">id</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&amp;</span> <span class="identifier">matched</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">);</span>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Idtype</span> <span class="identifier">id</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&amp;</span> <span class="identifier">matched</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">);</span>
 </pre>
 <div class="variablelist">
 <p class="title"><b>where:</b></p>
@@ -221,8 +216,7 @@
           When using a C++ function as the semantic action the following prototypes
           are allowed as well:
         </p>
-<pre class="programlisting">
-<span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Idtype</span> <span class="identifier">id</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&amp;</span> <span class="identifier">matched</span><span class="special">);</span>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Idtype</span> <span class="identifier">id</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&amp;</span> <span class="identifier">matched</span><span class="special">);</span>
 <span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Idtype</span> <span class="identifier">id</span><span class="special">);</span>
 <span class="keyword">void</span> <span class="identifier">f</span> <span class="special">(</span><span class="identifier">Range</span> <span class="identifier">r</span><span class="special">);</span>
 </pre>
@@ -240,7 +234,7 @@
           to the internal lexer context.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer"></a><h5>
-<a name="id653861"></a>
+<a name="id495186"></a>
           <a href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer">Associating
           Token Definitions with the Lexer</a>
         </h5>
@@ -255,8 +249,7 @@
           combining the different token definitions using the <tt class="computeroutput"><span class="special">|</span></tt>
           operator. Here is the code snippet again:
         </p>
-<pre class="programlisting">
-<span class="identifier">self</span> <span class="special">=</span> <span class="identifier">word</span> <span class="special">[++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">w</span><span class="special">),</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)]</span>
+<pre class="programlisting"><span class="identifier">self</span> <span class="special">=</span> <span class="identifier">word</span> <span class="special">[++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">w</span><span class="special">),</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)]</span>
     <span class="special">|</span> <span class="identifier">eol</span> <span class="special">[++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">c</span><span class="special">),</span> <span class="special">++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">l</span><span class="special">)]</span>
     <span class="special">|</span> <span class="identifier">any</span> <span class="special">[++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">c</span><span class="special">)]</span>
     <span class="special">;</span>

Modified: branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -52,7 +52,7 @@
 <div class="figure">
 <a name="spirit.lex.flowcontrol"></a><p class="title"><b>Figure 4. The common flow control implemented while parsing
           combined with lexical analysis</b></p>
-<span class="inlinemediaobject"><img src="../../.././images/FlowOfControl.png" alt="The common flow
+<span class="inlinemediaobject"><img src="../../.././images/flowofcontrol.png" alt="The common flow
           control implemented while parsing combined with lexical analysis"></span>
 </div>
 <p>
@@ -70,7 +70,7 @@
           code see here: word_count.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.prerequisites"></a><h5>
-<a name="id655484"></a>
+<a name="id495762"></a>
           <a href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.prerequisites">Prerequisites</a>
         </h5>
 <p>
@@ -92,8 +92,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">lex_lexer_lexertl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_statement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -111,8 +110,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<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>
+<pre class="programlisting"><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">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="identifier">qi</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="identifier">lex</span><span class="special">;</span>
 </pre>
@@ -121,7 +119,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.defining_tokens"></a><h5>
-<a name="id655884"></a>
+<a name="id496323"></a>
           <a href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.defining_tokens">Defining
           Tokens</a>
         </h5>
@@ -144,8 +142,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">word_count_tokens</span> <span class="special">:</span> <span class="identifier">lexer_def</span><span class="special">&lt;</span><span class="identifier">Lexer</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Self</span><span class="special">&gt;</span>
@@ -177,7 +174,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers"></a><h5>
-<a name="id656242"></a>
+<a name="id496819"></a>
           <a href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers">Using
           Token Definition Instances as Parsers</a>
         </h5>
@@ -285,8 +282,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">word_count_grammar</span> <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">TokenDef</span><span class="special">&gt;</span>
@@ -355,7 +351,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together"></a><h5>
-<a name="id657239"></a>
+<a name="id498236"></a>
           <a href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together">Pulling
           Everything Together</a>
         </h5>
@@ -373,8 +369,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
 <span class="special">{</span>
 <span class="callout_bug"><a name="spirit4co" href="lexer_quickstart3.html#spirit4"><img src="../../../images/callouts/1.png" alt="1" border="0"></a></span> <span class="keyword">typedef</span> <span class="identifier">lexertl_token</span><span class="special">&lt;</span>
         <span class="keyword">char</span> <span class="keyword">const</span><span class="special">*,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span>

Modified: branches/release/libs/spirit/doc/html/spirit/notes/style_guide.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/notes/style_guide.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/notes/style_guide.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -58,8 +58,7 @@
           all, what belongs to one level, at one indentation level.
         </li>
 </ul></div>
-<pre class="programlisting">
-<span class="identifier">program</span>
+<pre class="programlisting"><span class="identifier">program</span>
     <span class="special">=</span> <span class="identifier">program_heading</span> <span class="special">[</span><span class="identifier">heading_action</span><span class="special">]</span>
         <span class="special">&gt;&gt;</span> <span class="identifier">block</span> <span class="special">[</span><span class="identifier">block_action</span><span class="special">]</span>
         <span class="special">&gt;&gt;</span> <span class="char">'.'</span>
@@ -85,8 +84,7 @@
           separate them from the rules.
         </li>
 </ul></div>
-<pre class="programlisting">
-<span class="identifier">program_heading</span>
+<pre class="programlisting"><span class="identifier">program_heading</span>
     <span class="special">=</span> <span class="identifier">no_case</span><span class="special">[</span><span class="string">"program"</span><span class="special">]</span>
         <span class="special">&gt;&gt;</span> <span class="identifier">identifier</span>
         <span class="special">&gt;&gt;</span> <span class="char">'('</span>
@@ -102,8 +100,7 @@
           of directives, semantic expressions (using Phoenix or LL lambda expressions)
           or parsers should be placed as follows.
         </li></ul></div>
-<pre class="programlisting">
-<span class="identifier">identifier</span>
+<pre class="programlisting"><span class="identifier">identifier</span>
     <span class="special">=</span> <span class="identifier">no_case</span>
         <span class="special">[</span>
             <span class="identifier">lexeme</span>
@@ -122,8 +119,7 @@
           'body' at the same indentation level as the rule itself, highlighting the
           unary operator.
         </li></ul></div>
-<pre class="programlisting">
-<span class="identifier">block</span>
+<pre class="programlisting"><span class="identifier">block</span>
    <span class="special">=</span> <span class="special">*(</span> <span class="identifier">label_declaration_part</span>
        <span class="special">|</span> <span class="identifier">constant_definition_part</span>
        <span class="special">|</span> <span class="identifier">type_definition_part</span>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -120,7 +120,7 @@
 <div class="titlepage"><div><div><h4 class="title">
 <a name="spirit.qi_and_karma.tutorials.quick_start"></a>Quick Start</h4></div></div></div>
 <a name="spirit.qi_and_karma.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_"></a><h5>
-<a name="id621042"></a>
+<a name="id460252"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_">Why
           would you want to use Spirit.Qi?</a>
         </h5>
@@ -167,15 +167,14 @@
           on how to build parsers from the simplest parser, building up as we go.
         </p>
 <a name="spirit.qi_and_karma.tutorials.warming_up.trivial_example__1_parsing_a_number"></a><h5>
-<a name="id621087"></a>
+<a name="id460361"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.warming_up.trivial_example__1_parsing_a_number">Trivial
           Example #1 Parsing a number</a>
         </h5>
 <p>
           Create a parser that will parse a floating-point number.
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span>
+<pre class="programlisting"><span class="identifier">double_</span>
 </pre>
 <p>
           (You've got to admit, that's trivial!) The above code actually generates
@@ -183,7 +182,7 @@
           parsers and consistent naming conventions help you keep from going insane!
         </p>
 <a name="spirit.qi_and_karma.tutorials.warming_up.trivial_example__2_parsing_two_numbers"></a><h5>
-<a name="id621117"></a>
+<a name="id460416"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.warming_up.trivial_example__2_parsing_two_numbers">Trivial
           Example #2 Parsing two numbers</a>
         </h5>
@@ -191,8 +190,7 @@
           Create a parser that will accept a line consisting of two floating-point
           numbers.
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span>
+<pre class="programlisting"><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span>
 </pre>
 <p>
           Here you see the familiar floating-point numeric parser <tt class="computeroutput"><span class="identifier">double_</span></tt>
@@ -217,15 +215,14 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi_and_karma.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers"></a><h5>
-<a name="id621180"></a>
+<a name="id460526"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers">Trivial
           Example #3 Parsing one or more numbers</a>
         </h5>
 <p>
           Create a parser that will accept one or more floating-point numbers.
         </p>
-<pre class="programlisting">
-<span class="special">*</span><span class="identifier">double_</span>
+<pre class="programlisting"><span class="special">*</span><span class="identifier">double_</span>
 </pre>
 <p>
           This is like a regular-expression Kleene Star, though the syntax might
@@ -242,7 +239,7 @@
           in most places.
         </p>
 <a name="spirit.qi_and_karma.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers"></a><h5>
-<a name="id621225"></a>
+<a name="id460609"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers">Trivial
           Example #4 Parsing a comma-delimited list of numbers</a>
         </h5>
@@ -250,8 +247,7 @@
           This example will create a parser that accepts a comma-delimited list of
           numbers.
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="identifier">char_</span><span class="special">(</span><span class="char">','</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="identifier">char_</span><span class="special">(</span><span class="char">','</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
 </pre>
 <p>
           Notice <tt class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">','</span><span class="special">)</span></tt>. It is
@@ -259,15 +255,14 @@
           In this case, the Kleene Star is modifying a more complex parser, namely,
           the one generated by the expression:
         </p>
-<pre class="programlisting">
-<span class="special">(</span><span class="identifier">char_</span><span class="special">(</span><span class="char">','</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">char_</span><span class="special">(</span><span class="char">','</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
 </pre>
 <p>
           Note that this is a case where the parentheses are necessary. The Kleene
           star encloses the complete expression above.
         </p>
 <a name="spirit.qi_and_karma.tutorials.warming_up.let_s_parse_"></a><h5>
-<a name="id621358"></a>
+<a name="id460803"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.warming_up.let_s_parse_">Let's
           Parse!</a>
         </h5>
@@ -308,8 +303,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">parse_numbers</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">phrase_parse</span><span class="special">(</span>
@@ -442,8 +436,7 @@
           can make the parser call <tt class="computeroutput"><span class="identifier">F</span></tt>
           whenever it matches an input by attaching <tt class="computeroutput"><span class="identifier">F</span></tt>:
         </p>
-<pre class="programlisting">
-<span class="identifier">P</span><span class="special">[</span><span class="identifier">F</span><span class="special">]</span>
+<pre class="programlisting"><span class="identifier">P</span><span class="special">[</span><span class="identifier">F</span><span class="special">]</span>
 </pre>
 <p>
           The expression above links <tt class="computeroutput"><span class="identifier">F</span></tt>
@@ -456,8 +449,7 @@
           we need <tt class="computeroutput"><span class="identifier">F</span></tt> to be declared
           as:
         </p>
-<pre class="programlisting">
-<span class="keyword">void</span> <span class="identifier">F</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">n</span><span class="special">);</span>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">F</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">n</span><span class="special">);</span>
 </pre>
 <p>
           There are actually 2 more arguments being passed (the parser context and
@@ -496,8 +488,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="comment">// A plain function
+<pre class="programlisting"><span class="comment">// A plain function
 </span><span class="keyword">void</span> <span class="identifier">write</span><span class="special">(</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
@@ -536,8 +527,7 @@
 <p>
           All examples parse inputs of the form:
         </p>
-<pre class="programlisting">
-<span class="string">"{integer}"</span>
+<pre class="programlisting"><span class="string">"{integer}"</span>
 </pre>
 <p>
           An integer inside the curly braces.
@@ -550,8 +540,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[&amp;</span><span class="identifier">write</span><span class="special">]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[&amp;</span><span class="identifier">write</span><span class="special">]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
 </pre>
 <p>
           </p>
@@ -570,8 +559,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">write_action</span><span class="special">()]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">write_action</span><span class="special">()]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
 </pre>
 <p>
           </p>
@@ -586,8 +574,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">writer</span> <span class="identifier">w</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">writer</span> <span class="identifier">w</span><span class="special">;</span>
 <span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">writer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">w</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">)]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
 </pre>
 <p>
@@ -603,8 +590,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">write</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">)]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">write</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">)]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
 </pre>
 <p>
           </p>
@@ -618,8 +604,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">_1</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="char">'{'</span> <span class="special">&gt;&gt;</span> <span class="identifier">int_</span><span class="special">[</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">_1</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">]</span> <span class="special">&gt;&gt;</span> <span class="char">'}'</span><span class="special">);</span>
 </pre>
 <p>
           </p>
@@ -637,7 +622,7 @@
           The examples above can be found here: ../../example/qi/actions.cpp
         </p>
 <a name="spirit.qi_and_karma.tutorials.semantic_actions.phoenix"></a><h5>
-<a name="id623150"></a>
+<a name="id463328"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.semantic_actions.phoenix">Phoenix</a>
         </h5>
 <p>
@@ -663,8 +648,7 @@
 <p>
           Here's a simple parser expression for complex numbers:
         </p>
-<pre class="programlisting">
- <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">-(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">')'</span>
+<pre class="programlisting"> <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">-(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">')'</span>
 <span class="special">|</span> <span class="identifier">double_</span>
 </pre>
 <p>
@@ -695,8 +679,7 @@
 <p>
           This parser can parse complex numbers of the form:
         </p>
-<pre class="programlisting">
-<span class="special">(</span><span class="number">123.45</span><span class="special">,</span> <span class="number">987.65</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">(</span><span class="number">123.45</span><span class="special">,</span> <span class="number">987.65</span><span class="special">)</span>
 <span class="special">(</span><span class="number">123.45</span><span class="special">)</span>
 <span class="number">123.45</span>
 </pre>
@@ -708,8 +691,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">parse_complex</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">double</span> <span class="identifier">rN</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">;</span>
@@ -743,8 +725,7 @@
           The <tt class="computeroutput"><span class="identifier">double_</span></tt> parser attaches
           this action:
         </p>
-<pre class="programlisting">
-<span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">_1</span>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">_1</span>
 </pre>
 <p>
           This assigns the parsed result (actually, the attribute of <tt class="computeroutput"><span class="identifier">double_</span></tt>) to n. <tt class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></tt>
@@ -770,8 +751,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
@@ -789,8 +769,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</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">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="identifier">qi</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="identifier">ascii</span><span class="special">;</span>
@@ -905,8 +884,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">adder</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&amp;</span> <span class="identifier">n</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">bool</span> <span class="identifier">r</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">last</span><span class="special">,</span>
@@ -943,8 +921,7 @@
           The first <tt class="computeroutput"><span class="identifier">double_</span></tt> parser
           attaches this action:
         </p>
-<pre class="programlisting">
-<span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">_1</span>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">_1</span>
 </pre>
 <p>
           This assigns the parsed result (actually, the attribute of <tt class="computeroutput"><span class="identifier">double_</span></tt>) to <tt class="computeroutput"><span class="identifier">n</span></tt>.
@@ -956,8 +933,7 @@
           The second <tt class="computeroutput"><span class="identifier">double_</span></tt> parser
           attaches this action:
         </p>
-<pre class="programlisting">
-<span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">_1</span>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">_1</span>
 </pre>
 <p>
           So, subsequent numbers add into <tt class="computeroutput"><span class="identifier">n</span></tt>.
@@ -980,8 +956,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">parse_numbers</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <span class="identifier">v</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">bool</span> <span class="identifier">r</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">last</span><span class="special">,</span>
@@ -1014,8 +989,7 @@
           <tt class="computeroutput"><span class="identifier">push_back</span></tt> is supplied by
           <a href="../../../phoenix/doc/html/index.html" target="_top">Phoenix</a>. The expression:
         </p>
-<pre class="programlisting">
-<span class="identifier">push_back</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">),</span> <span class="identifier">_1</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">),</span> <span class="identifier">_1</span><span class="special">)</span>
 </pre>
 <p>
           appends the parsed number. Like before, <tt class="computeroutput"><span class="identifier">_1</span></tt>
@@ -1034,16 +1008,14 @@
 <p>
           So far, we've been using the syntax:
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">)</span>
 </pre>
 <p>
           to parse a comma-delimited list of numbers. Such lists are common in parsing
           and Spirit provides a simpler shortcut for them. The expression above can
           be simplified to:
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span>
+<pre class="programlisting"><span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span>
 </pre>
 <p>
           read as: a list of doubles separated by <tt class="computeroutput"><span class="char">','</span></tt>.
@@ -1057,8 +1029,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">parse_numbers</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <span class="identifier">v</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">bool</span> <span class="identifier">r</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">last</span><span class="special">,</span>
@@ -1097,20 +1068,17 @@
           from primitives using operators, like the list parser, also have an attribute.
           It so happens that the the attribute of a list parser:
         </p>
-<pre class="programlisting">
-<span class="identifier">p</span> <span class="special">%</span> <span class="identifier">d</span>
+<pre class="programlisting"><span class="identifier">p</span> <span class="special">%</span> <span class="identifier">d</span>
 </pre>
 <p>
           is a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></tt> of the attribute of <tt class="computeroutput"><span class="identifier">p</span></tt>. So, for our parser:
         </p>
-<pre class="programlisting">
-<span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span>
+<pre class="programlisting"><span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span>
 </pre>
 <p>
           we'll have an attribute of:
         </p>
-<pre class="programlisting">
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
 </pre>
 <p>
           So, what does this give us? Well, we can simply pass in a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span></tt>
@@ -1143,8 +1111,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">parse_numbers</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <span class="identifier">v</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">bool</span> <span class="identifier">r</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">last</span><span class="special">,</span>
@@ -1195,7 +1162,7 @@
           </li>
 </ul></div>
 <a name="spirit.qi_and_karma.tutorials.roman_numerals.symbol_table"></a><h5>
-<a name="id627428"></a>
+<a name="id467678"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.roman_numerals.symbol_table">Symbol
           Table</a>
         </h5>
@@ -1236,8 +1203,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">hundreds_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">hundreds_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">hundreds_</span><span class="special">()</span>
     <span class="special">{</span>
@@ -1268,8 +1234,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">tens_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">tens_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">tens_</span><span class="special">()</span>
     <span class="special">{</span>
@@ -1300,8 +1265,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">ones_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">ones_</span> <span class="special">:</span> <span class="identifier">symbols</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">ones_</span><span class="special">()</span>
     <span class="special">{</span>
@@ -1330,7 +1294,7 @@
           They are all parsers.
         </p>
 <a name="spirit.qi_and_karma.tutorials.roman_numerals.rules"></a><h5>
-<a name="id628936"></a>
+<a name="id468962"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.roman_numerals.rules">Rules</a>
         </h5>
 <p>
@@ -1347,8 +1311,7 @@
           A parser expression can be assigned to, what is called, a "rule".
           There are various ways to declare rules. The simplest form is:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
 </pre>
 <p>
           At the very least, the rule needs to know the iterator type it will be
@@ -1358,14 +1321,12 @@
           the skipper argument). If you want to have it skip white spaces, you need
           to pass in the type skip parser, as in the next form:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Skipper</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Skipper</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
 </pre>
 <p>
           Example:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
 </pre>
 <p>
           This type of rule can be used for both <tt class="computeroutput"><span class="identifier">phrase_parse</span></tt>
@@ -1374,14 +1335,12 @@
 <p>
           For our next example, there's one more rule form you should know about:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Signature</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Signature</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
 </pre>
 <p>
           or
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Signature</span><span class="special">,</span> <span class="identifier">Skipper</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Signature</span><span class="special">,</span> <span class="identifier">Skipper</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">;</span>
 </pre>
 <div class="tip"><table border="0" summary="Tip">
 <tr>
@@ -1406,18 +1365,16 @@
           You can think of them as function arguments. And, rightly so, the rule
           signature is a function signature of the form:
         </p>
-<pre class="programlisting">
-<span class="identifier">result</span><span class="special">(</span><span class="identifier">argN</span><span class="special">,</span> <span class="identifier">argN</span><span class="special">,...,</span> <span class="identifier">argN</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">result</span><span class="special">(</span><span class="identifier">argN</span><span class="special">,</span> <span class="identifier">argN</span><span class="special">,...,</span> <span class="identifier">argN</span><span class="special">)</span>
 </pre>
 <p>
           After having declared a rule, you can now assign any parser expression
           to it. Example:
         </p>
-<pre class="programlisting">
-<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi_and_karma.tutorials.roman_numerals.grammars"></a><h5>
-<a name="id629337"></a>
+<a name="id469547"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.roman_numerals.grammars">Grammars</a>
         </h5>
 <p>
@@ -1448,8 +1405,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">roman</span> <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">()&gt;</span>
 <span class="special">{</span>
     <span class="identifier">roman</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">roman</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">start</span><span class="special">)</span>
@@ -1517,7 +1473,7 @@
           </li>
 </ul></div>
 <a name="spirit.qi_and_karma.tutorials.roman_numerals.let_s_parse_"></a><h5>
-<a name="id629952"></a>
+<a name="id470410"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.roman_numerals.let_s_parse_">Let's
           Parse!</a>
         </h5>
@@ -1526,8 +1482,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">parse</span><span class="special">(</span><span class="identifier">iter</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">roman_parser</span><span class="special">,</span> <span class="identifier">result</span><span class="special">);</span>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">parse</span><span class="special">(</span><span class="identifier">iter</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">roman_parser</span><span class="special">,</span> <span class="identifier">result</span><span class="special">);</span>
 
 <span class="keyword">if</span> <span class="special">(</span><span class="identifier">r</span> <span class="special">&amp;&amp;</span> <span class="identifier">iter</span> <span class="special">==</span> <span class="identifier">end</span><span class="special">)</span>
 <span class="special">{</span>
@@ -1597,8 +1552,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">employee</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">employee</span>
 <span class="special">{</span>
     <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">surname</span><span class="special">;</span>
@@ -1626,8 +1580,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
+<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
     <span class="identifier">employee</span><span class="special">,</span>
     <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">)</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">surname</span><span class="special">)</span>
@@ -1642,8 +1595,7 @@
 <p>
           Now we'll write a parser for our employee. Inputs will be of the form:
         </p>
-<pre class="programlisting">
-<span class="identifier">employee</span><span class="special">{</span> <span class="identifier">age</span><span class="special">,</span> <span class="string">"surname"</span><span class="special">,</span> <span class="string">"forename"</span><span class="special">,</span> <span class="identifier">salary</span> <span class="special">}</span>
+<pre class="programlisting"><span class="identifier">employee</span><span class="special">{</span> <span class="identifier">age</span><span class="special">,</span> <span class="string">"surname"</span><span class="special">,</span> <span class="string">"forename"</span><span class="special">,</span> <span class="identifier">salary</span> <span class="special">}</span>
 </pre>
 <p>
           Here goes:
@@ -1653,8 +1605,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">employee_parser</span> <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">employee</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">employee_parser</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">employee_parser</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">start</span><span class="special">)</span>
@@ -1687,8 +1638,7 @@
           Let's walk through this one step at a time (not necessarily from top to
           bottom).
         </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">employee_parser</span> <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">employee</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 </pre>
 <p>
@@ -1696,22 +1646,19 @@
           Like before, we make it a template so that we can reuse it for different
           iterator types. The grammar's signature is:
         </p>
-<pre class="programlisting">
-<span class="identifier">employee</span><span class="special">()</span>
+<pre class="programlisting"><span class="identifier">employee</span><span class="special">()</span>
 </pre>
 <p>
           meaning, the parser generates employee structs. <tt class="computeroutput"><span class="identifier">employee_parser</span></tt>
           skips white spaces using <tt class="computeroutput"><span class="identifier">space_type</span></tt>
           as its skip parser.
         </p>
-<pre class="programlisting">
-<span class="identifier">employee_parser</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">employee_parser</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">start</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">employee_parser</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">employee_parser</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">start</span><span class="special">)</span>
 </pre>
 <p>
           Initializes the base class.
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">quoted_string</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">quoted_string</span><span class="special">;</span>
 <span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">employee</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">start</span><span class="special">;</span>
 </pre>
 <p>
@@ -1721,51 +1668,46 @@
           has a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></tt> attribute.
         </p>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.lexeme"></a><h5>
-<a name="id632030"></a>
+<a name="id472484"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.lexeme">Lexeme</a>
         </h5>
-<pre class="programlisting">
-<span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
+<pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
 </pre>
 <p>
           <tt class="computeroutput"><span class="identifier">lexeme</span></tt> inhibits space skipping
           from the open brace to the closing brace. The expression parses quoted
           strings.
         </p>
-<pre class="programlisting">
-<span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span>
 </pre>
 <p>
           parses one or more chars, except the double quote. It stops when it sees
           a double quote.
         </p>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.difference"></a><h5>
-<a name="id632141"></a>
+<a name="id472645"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.difference">Difference</a>
         </h5>
 <p>
           The expression:
         </p>
-<pre class="programlisting">
-<span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span>
+<pre class="programlisting"><span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span>
 </pre>
 <p>
           parses <tt class="computeroutput"><span class="identifier">a</span></tt> but not <tt class="computeroutput"><span class="identifier">b</span></tt>. Its attribute is just <tt class="computeroutput"><span class="identifier">A</span></tt>, the attribute of <tt class="computeroutput"><span class="identifier">a</span></tt>.
           <tt class="computeroutput"><span class="identifier">b</span></tt>'s attribute is ignored.
           Hence, the attribute of:
         </p>
-<pre class="programlisting">
-<span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span>
+<pre class="programlisting"><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span>
 </pre>
 <p>
           is just <tt class="computeroutput"><span class="keyword">char</span></tt>.
         </p>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.plus"></a><h5>
-<a name="id632246"></a>
+<a name="id472806"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.plus">Plus</a>
         </h5>
-<pre class="programlisting">
-<span class="special">+</span><span class="identifier">a</span>
+<pre class="programlisting"><span class="special">+</span><span class="identifier">a</span>
 </pre>
 <p>
           is the close kin of the kleene star we got so used to in our tutorial.
@@ -1773,25 +1715,22 @@
           is the attribute of <tt class="computeroutput"><span class="identifier">a</span></tt>.
           So, putting all these together, the attribute of
         </p>
-<pre class="programlisting">
-<span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span>
 </pre>
 <p>
           is then:
         </p>
-<pre class="programlisting">
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h5>
-<a name="id632373"></a>
+<a name="id472994"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.sequence_attribute">Sequence
           Attribute</a>
         </h5>
 <p>
           Now what's the attribute of
         </p>
-<pre class="programlisting">
-<span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span>
+<pre class="programlisting"><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span>
 </pre>
 <p>
           ?
@@ -1799,14 +1738,12 @@
 <p>
           Well, typically, the attribute of:
         </p>
-<pre class="programlisting">
-<span class="identifier">a</span> <span class="special">&gt;&gt;</span> <span class="identifier">b</span> <span class="special">&gt;&gt;</span> <span class="identifier">c</span>
+<pre class="programlisting"><span class="identifier">a</span> <span class="special">&gt;&gt;</span> <span class="identifier">b</span> <span class="special">&gt;&gt;</span> <span class="identifier">c</span>
 </pre>
 <p>
           is:
         </p>
-<pre class="programlisting">
-<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;</span>
 </pre>
 <p>
           where <tt class="computeroutput"><span class="identifier">A</span></tt> is the attribute
@@ -1827,7 +1764,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.attribute_collapsing"></a><h5>
-<a name="id632599"></a>
+<a name="id473317"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.attribute_collapsing">Attribute
           Collapsing</a>
         </h5>
@@ -1843,8 +1780,7 @@
           <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span></tt> has a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></tt> attribute, the whole expression's attribute
           should have been:
         </p>
-<pre class="programlisting">
-<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="special">&gt;</span>
 </pre>
 <p>
           But wait, there's one more collapsing rule: If after the attribute is a
@@ -1852,33 +1788,29 @@
           from its container. So, to make a long story short, the attribute of the
           expression:
         </p>
-<pre class="programlisting">
-<span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span>
+<pre class="programlisting"><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span>
 </pre>
 <p>
           is:
         </p>
-<pre class="programlisting">
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.auto_rules"></a><h5>
-<a name="id632839"></a>
+<a name="id473668"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.auto_rules">Auto
           Rules</a>
         </h5>
 <p>
           It is typical to see rules like:
         </p>
-<pre class="programlisting">
-<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">p</span><span class="special">[</span><span class="identifier">_val</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
+<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">p</span><span class="special">[</span><span class="identifier">_val</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
 </pre>
 <p>
           If you have a rule definition like above where the attribute of the RHS
           (right hand side) of the rule is compatibe with the attribute of the LHS
           (left hand side), then you can rewrite it as:
         </p>
-<pre class="programlisting">
-<span class="identifier">r</span> <span class="special">%=</span> <span class="identifier">p</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">r</span> <span class="special">%=</span> <span class="identifier">p</span><span class="special">;</span>
 </pre>
 <p>
           The attribute of <tt class="computeroutput"><span class="identifier">p</span></tt> automatically
@@ -1888,14 +1820,12 @@
           So, going back to our <tt class="computeroutput"><span class="identifier">quoted_string</span></tt>
           rule:
         </p>
-<pre class="programlisting">
-<span class="identifier">quoted_string</span> <span class="special">%=</span> <span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
+<pre class="programlisting"><span class="identifier">quoted_string</span> <span class="special">%=</span> <span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
 </pre>
 <p>
           is a simplified version of:
         </p>
-<pre class="programlisting">
-<span class="identifier">quoted_string</span> <span class="special">=</span> <span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">][</span><span class="identifier">val_</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
+<pre class="programlisting"><span class="identifier">quoted_string</span> <span class="special">=</span> <span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">][</span><span class="identifier">val_</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
 </pre>
 <p>
           The attribute of the <tt class="computeroutput"><span class="identifier">quoted_string</span></tt>
@@ -1904,14 +1834,13 @@
           directly into the rule's attribute, in-situ.
         </p>
 <a name="spirit.qi_and_karma.tutorials.employee___parsing_into_structs.finally"></a><h5>
-<a name="id634319"></a>
+<a name="id474119"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.employee___parsing_into_structs.finally">Finally</a>
         </h5>
 <p>
           We're down to one rule, the start rule:
         </p>
-<pre class="programlisting">
-<span class="identifier">start</span> <span class="special">%=</span>
+<pre class="programlisting"><span class="identifier">start</span> <span class="special">%=</span>
     <span class="identifier">lit</span><span class="special">(</span><span class="string">"employee"</span><span class="special">)</span>
     <span class="special">&gt;&gt;</span> <span class="char">'{'</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">int_</span> <span class="special">&gt;&gt;</span> <span class="char">','</span>
@@ -1924,8 +1853,7 @@
 <p>
           Applying our collapsing rules above, the RHS has an attribute of:
         </p>
-<pre class="programlisting">
-<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</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">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</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">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
 </pre>
 <p>
           These nodes do not have an attribute:
@@ -1958,8 +1886,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">employee</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">employee</span>
 <span class="special">{</span>
     <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">surname</span><span class="special">;</span>
@@ -2028,7 +1955,7 @@
           for testing purposes. "4.toyxml" has an error in it.
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.first_cut"></a><h5>
-<a name="id634972"></a>
+<a name="id475029"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.first_cut">First
           Cut</a>
         </h5>
@@ -2040,8 +1967,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">mini_xml_grammar</span> <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 <span class="special">{</span>
     <span class="identifier">mini_xml_grammar</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">mini_xml_grammar</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">xml</span><span class="special">)</span>
@@ -2084,14 +2010,12 @@
           Going bottom up, let's examine the <tt class="computeroutput"><span class="identifier">text</span></tt>
           rule:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">text</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">text</span><span class="special">;</span>
 </pre>
 <p>
           and its definition:
         </p>
-<pre class="programlisting">
-<span class="identifier">text</span> <span class="special">=</span> <span class="identifier">lexeme</span><span class="special">[+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'&lt;'</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]];</span>
+<pre class="programlisting"><span class="identifier">text</span> <span class="special">=</span> <span class="identifier">lexeme</span><span class="special">[+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'&lt;'</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]];</span>
 </pre>
 <p>
           The semantic action collects the chars and appends them (via +=) to the
@@ -2099,17 +2023,15 @@
           by the placeholder <tt class="computeroutput"><span class="identifier">_val</span></tt>).
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.alternates"></a><h5>
-<a name="id635930"></a>
+<a name="id476318"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.alternates">Alternates</a>
         </h5>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">;</span>
 </pre>
 <p>
           and its definition:
         </p>
-<pre class="programlisting">
-<span class="identifier">node</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">xml</span> <span class="special">|</span> <span class="identifier">text</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
+<pre class="programlisting"><span class="identifier">node</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">xml</span> <span class="special">|</span> <span class="identifier">text</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">];</span>
 </pre>
 <p>
           We'll see what a <tt class="computeroutput"><span class="identifier">mini_xml_node</span></tt>
@@ -2117,15 +2039,13 @@
           goiing on here. An xml <tt class="computeroutput"><span class="identifier">node</span></tt>
           is either an <tt class="computeroutput"><span class="identifier">xml</span></tt> OR <tt class="computeroutput"><span class="identifier">text</span></tt>. Hmmm... hold on to that thought...
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">start_tag</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">start_tag</span><span class="special">;</span>
 </pre>
 <p>
           Again, with an attribute of <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></tt>.
           Then, it's definition:
         </p>
-<pre class="programlisting">
-<span class="identifier">start_tag</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">start_tag</span> <span class="special">=</span>
         <span class="char">'&lt;'</span>
     <span class="special">&gt;&gt;</span> <span class="special">!</span><span class="identifier">char_</span><span class="special">(</span><span class="char">'/'</span><span class="special">)</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">lexeme</span><span class="special">[+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'&gt;'</span><span class="special">)</span> <span class="special">[</span><span class="identifier">_val</span> <span class="special">+=</span> <span class="identifier">_1</span><span class="special">]]</span>
@@ -2133,7 +2053,7 @@
 <span class="special">;</span>
 </pre>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.not_predicate"></a><h5>
-<a name="id636269"></a>
+<a name="id476781"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.not_predicate">Not
           Predicate</a>
         </h5>
@@ -2143,8 +2063,7 @@
           the added <tt class="computeroutput"><span class="char">'&lt;'</span></tt> and <tt class="computeroutput"><span class="char">'&gt;'</span></tt>. But wait, to make sure that the <tt class="computeroutput"><span class="identifier">start_tag</span></tt> does not parse <tt class="computeroutput"><span class="identifier">end_tag</span></tt>s too, we add: <tt class="computeroutput"><span class="special">!</span><span class="identifier">char_</span><span class="special">(</span><span class="char">'/'</span><span class="special">)</span></tt>. This
           is a "Not Predicate":
         </p>
-<pre class="programlisting">
-<span class="special">!</span><span class="identifier">p</span>
+<pre class="programlisting"><span class="special">!</span><span class="identifier">p</span>
 </pre>
 <p>
           It will try the parser, <tt class="computeroutput"><span class="identifier">p</span></tt>.
@@ -2154,31 +2073,28 @@
           any input though. It will always rewind the iterator position to where
           it was upon entry. So, the expression:
         </p>
-<pre class="programlisting">
-<span class="special">!</span><span class="identifier">char_</span><span class="special">(</span><span class="char">'/'</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">!</span><span class="identifier">char_</span><span class="special">(</span><span class="char">'/'</span><span class="special">)</span>
 </pre>
 <p>
           basically says: we should not have a <tt class="computeroutput"><span class="char">'/'</span></tt>
           at this point.
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.inherited_attribute"></a><h5>
-<a name="id637111"></a>
+<a name="id477026"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.inherited_attribute">Inherited
           Attribute</a>
         </h5>
 <p>
           The <tt class="computeroutput"><span class="identifier">end_tag</span></tt>:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">void</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">space_type</span><span class="special">&gt;</span> <span class="identifier">end_tag</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">void</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">space_type</span><span class="special">&gt;</span> <span class="identifier">end_tag</span><span class="special">;</span>
 </pre>
 <p>
           Ohh! Now we see an inherited attribute there: <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></tt>.
           The <tt class="computeroutput"><span class="identifier">end_tag</span></tt> does not have
           a synthesized attribute. Let's see its definition:
         </p>
-<pre class="programlisting">
-<span class="identifier">end_tag</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">end_tag</span> <span class="special">=</span>
         <span class="string">"&lt;/"</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">_r1</span><span class="special">)</span>
     <span class="special">&gt;&gt;</span> <span class="char">'&gt;'</span>
@@ -2190,7 +2106,7 @@
           <tt class="computeroutput"><span class="identifier">_r3</span></tt>, etc. if you have more).
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.a_lazy_lit"></a><h5>
-<a name="id637309"></a>
+<a name="id477308"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.a_lazy_lit">A
           Lazy Lit</a>
         </h5>
@@ -2203,15 +2119,13 @@
 <p>
           Finally, our <tt class="computeroutput"><span class="identifier">xml</span></tt> rule:
         </p>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">xml</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">xml</span><span class="special">;</span>
 </pre>
 <p>
           <tt class="computeroutput"><span class="identifier">mini_xml</span></tt> is our attribute
           here. We'll see later what it is. Let's see its definition:
         </p>
-<pre class="programlisting">
-<span class="identifier">xml</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">xml</span> <span class="special">=</span>
         <span class="identifier">start_tag</span> <span class="special">[</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">]</span>
     <span class="special">&gt;&gt;</span> <span class="special">*</span><span class="identifier">node</span> <span class="special">[</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">),</span> <span class="identifier">_1</span><span class="special">)]</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">end_tag</span><span class="special">(</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">))</span>
@@ -2226,7 +2140,7 @@
           accessors, provided by Phoenix.
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.how_it_all_works"></a><h5>
-<a name="id637650"></a>
+<a name="id477789"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.how_it_all_works">How
           it all works</a>
         </h5>
@@ -2256,14 +2170,12 @@
 <p>
           To give the last item some more light, what happens is this:
         </p>
-<pre class="programlisting">
-<span class="identifier">end_tag</span><span class="special">(</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">))</span>
+<pre class="programlisting"><span class="identifier">end_tag</span><span class="special">(</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">))</span>
 </pre>
 <p>
           calls:
         </p>
-<pre class="programlisting">
-<span class="identifier">end_tag</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">end_tag</span> <span class="special">=</span>
         <span class="string">"&lt;/"</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">_r1</span><span class="special">)</span>
     <span class="special">&gt;&gt;</span> <span class="char">'&gt;'</span>
@@ -2275,7 +2187,7 @@
           as <tt class="computeroutput"><span class="identifier">_r1</span></tt>.
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.the_structures"></a><h5>
-<a name="id637956"></a>
+<a name="id478235"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.the_structures">The
           Structures</a>
         </h5>
@@ -2288,8 +2200,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">struct</span> <span class="identifier">mini_xml</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">mini_xml</span><span class="special">;</span>
 
 <span class="keyword">typedef</span>
     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span>
@@ -2309,7 +2220,7 @@
 <p>
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.of_alternates_and_variants"></a><h5>
-<a name="id638154"></a>
+<a name="id478508"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.of_alternates_and_variants">Of
           Alternates and Variants</a>
         </h5>
@@ -2324,21 +2235,19 @@
 <p>
           Yep, you got that right: the attribute of an alternate:
         </p>
-<pre class="programlisting">
-<span class="identifier">a</span> <span class="special">|</span> <span class="identifier">b</span>
+<pre class="programlisting"><span class="identifier">a</span> <span class="special">|</span> <span class="identifier">b</span>
 </pre>
 <p>
           is a
         </p>
-<pre class="programlisting">
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span>
 </pre>
 <p>
           where <tt class="computeroutput"><span class="identifier">A</span></tt> is the attribute
           of <tt class="computeroutput"><span class="identifier">a</span></tt> and <tt class="computeroutput"><span class="identifier">B</span></tt> is the attribute of <tt class="computeroutput"><span class="identifier">b</span></tt>.
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.adapting_structs_again"></a><h5>
-<a name="id638331"></a>
+<a name="id478778"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.adapting_structs_again">Adapting
           structs again</a>
         </h5>
@@ -2353,8 +2262,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
+<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
     <span class="identifier">mini_xml</span><span class="special">,</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">name</span><span class="special">)</span>
     <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">mini_xml_node</span><span class="special">&gt;,</span> <span class="identifier">children</span><span class="special">)</span>
@@ -2365,7 +2273,7 @@
 <p>
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.one_more_take"></a><h5>
-<a name="id638460"></a>
+<a name="id478959"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.one_more_take">One
           More Take</a>
         </h5>
@@ -2379,8 +2287,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">mini_xml_grammar</span>
   <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">locals</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;,</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 <span class="special">{</span>
@@ -2429,12 +2336,11 @@
           in the <tt class="computeroutput"><span class="identifier">xml</span></tt> rule:
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___asts_.local_variables"></a><h5>
-<a name="id639176"></a>
+<a name="id479925"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___asts_.local_variables">Local
           Variables</a>
         </h5>
-<pre class="programlisting">
-<span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">locals</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;,</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">xml</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">locals</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;,</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">xml</span><span class="special">;</span>
 </pre>
 <p>
           Wow, we have four template parameters now. What's that <tt class="computeroutput"><span class="identifier">locals</span></tt>
@@ -2442,8 +2348,7 @@
           will have one local variable: a <tt class="computeroutput"><span class="identifier">string</span></tt>.
           Let's see how this is used in action:
         </p>
-<pre class="programlisting">
-<span class="identifier">xml</span> <span class="special">%=</span>
+<pre class="programlisting"><span class="identifier">xml</span> <span class="special">%=</span>
         <span class="identifier">start_tag</span><span class="special">[</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">_1</span><span class="special">]</span>
     <span class="special">&gt;&gt;</span> <span class="special">*</span><span class="identifier">node</span>
     <span class="special">&gt;&gt;</span> <span class="identifier">end_tag</span><span class="special">(</span><span class="identifier">_a</span><span class="special">)</span>
@@ -2494,8 +2399,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">mini_xml_grammar</span>
   <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">locals</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;,</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 <span class="special">{</span>
@@ -2558,28 +2462,26 @@
           What's new?
         </p>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___error_handling.readable_names"></a><h5>
-<a name="id641568"></a>
+<a name="id481710"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___error_handling.readable_names">Readable
           Names</a>
         </h5>
 <p>
           First, when we call the base class, we give the grammar a name:
         </p>
-<pre class="programlisting">
-<span class="special">:</span> <span class="identifier">mini_xml_grammar</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">xml</span><span class="special">,</span> <span class="string">"xml"</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">:</span> <span class="identifier">mini_xml_grammar</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">xml</span><span class="special">,</span> <span class="string">"xml"</span><span class="special">)</span>
 </pre>
 <p>
           Then, we name all our rules:
         </p>
-<pre class="programlisting">
-<span class="identifier">xml</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"xml"</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">xml</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"xml"</span><span class="special">);</span>
 <span class="identifier">node</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"node"</span><span class="special">);</span>
 <span class="identifier">text</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"text"</span><span class="special">);</span>
 <span class="identifier">start_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"start_tag"</span><span class="special">);</span>
 <span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___error_handling.on_error"></a><h5>
-<a name="id641748"></a>
+<a name="id481964"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___error_handling.on_error">On
           Error</a>
         </h5>
@@ -2587,15 +2489,13 @@
           <tt class="computeroutput"><span class="identifier">on_error</span></tt> declares our error
           handler:
         </p>
-<pre class="programlisting">
-<span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">Action</span><span class="special">&gt;(</span><span class="identifier">rule</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">Action</span><span class="special">&gt;(</span><span class="identifier">rule</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">)</span>
 </pre>
 <p>
           This will specify what we will do when we get an error. We will print out
           an error message using phoenix:
         </p>
-<pre class="programlisting">
-<span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">fail</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">fail</span><span class="special">&gt;</span>
 <span class="special">(</span>
     <span class="identifier">xml</span>
   <span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
@@ -2759,7 +2659,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi_and_karma.tutorials.mini_xml___error_handling.expectation_points"></a><h5>
-<a name="id642260"></a>
+<a name="id482635"></a>
           <a href="qi_and_karma.html#spirit.qi_and_karma.tutorials.mini_xml___error_handling.expectation_points">Expectation
           Points</a>
         </h5>
@@ -2767,8 +2667,7 @@
           You might not have noticed it, but some of our expressions changed from
           using the <tt class="computeroutput"><span class="special">&gt;&gt;</span></tt> to <tt class="computeroutput"><span class="special">&gt;</span></tt>. Look, for example:
         </p>
-<pre class="programlisting">
-<span class="identifier">end_tag</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">end_tag</span> <span class="special">=</span>
         <span class="string">"&lt;/"</span>
     <span class="special">&gt;</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">_r1</span><span class="special">)</span>
     <span class="special">&gt;</span> <span class="char">'&gt;'</span>
@@ -2791,14 +2690,12 @@
           You can find some examples in: ../../example/qi/mini_xml_samples
           for testing purposes. "4.toyxml" has an error in it:
         </p>
-<pre class="programlisting">
-<span class="special">&lt;</span><span class="identifier">foo</span><span class="special">&gt;&lt;</span><span class="identifier">bar</span><span class="special">&gt;&lt;/</span><span class="identifier">foo</span><span class="special">&gt;&lt;/</span><span class="identifier">bar</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="special">&lt;</span><span class="identifier">foo</span><span class="special">&gt;&lt;</span><span class="identifier">bar</span><span class="special">&gt;&lt;/</span><span class="identifier">foo</span><span class="special">&gt;&lt;/</span><span class="identifier">bar</span><span class="special">&gt;</span>
 </pre>
 <p>
           Running the example with this gives you:
         </p>
-<pre class="programlisting">
-<span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="string">"bar"</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"foo&gt;&lt;/bar&gt;"</span>
+<pre class="programlisting"><span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="string">"bar"</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"foo&gt;&lt;/bar&gt;"</span>
 <span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="identifier">end_tag</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"&lt;bar&gt;&lt;/foo&gt;&lt;/bar&gt;"</span>
 <span class="special">-------------------------</span>
 <span class="identifier">Parsing</span> <span class="identifier">failed</span>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/mini_xml___error_handling.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/mini_xml___error_handling.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/mini_xml___error_handling.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -47,8 +47,7 @@
 <p>
             
 </p>
-<pre class="programlisting">
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">mini_xml_grammar</span>
   <span class="special">:</span> <span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml</span><span class="special">(),</span> <span class="identifier">locals</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;,</span> <span class="identifier">space_type</span><span class="special">&gt;</span>
 <span class="special">{</span>
@@ -111,28 +110,26 @@
           What's new?
         </p>
 <a name="spirit.qi_and_karma.abstracts.mini_xml___error_handling.readable_names"></a><h5>
-<a name="id644389"></a>
+<a name="id484998"></a>
           <a href="mini_xml___error_handling.html#spirit.qi_and_karma.abstracts.mini_xml___error_handling.readable_names">Readable
           Names</a>
         </h5>
 <p>
           First, when we call the base class, we give the grammar a name:
         </p>
-<pre class="programlisting">
-<span class="special">:</span> <span class="identifier">mini_xml_grammar</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">xml</span><span class="special">,</span> <span class="string">"xml"</span><span class="special">)</span>
+<pre class="programlisting"><span class="special">:</span> <span class="identifier">mini_xml_grammar</span><span class="special">::</span><span class="identifier">base_type</span><span class="special">(</span><span class="identifier">xml</span><span class="special">,</span> <span class="string">"xml"</span><span class="special">)</span>
 </pre>
 <p>
           Then, we name all our rules:
         </p>
-<pre class="programlisting">
-<span class="identifier">xml</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"xml"</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">xml</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"xml"</span><span class="special">);</span>
 <span class="identifier">node</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"node"</span><span class="special">);</span>
 <span class="identifier">text</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"text"</span><span class="special">);</span>
 <span class="identifier">start_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"start_tag"</span><span class="special">);</span>
 <span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi_and_karma.abstracts.mini_xml___error_handling.on_error"></a><h5>
-<a name="id644569"></a>
+<a name="id485249"></a>
           <a href="mini_xml___error_handling.html#spirit.qi_and_karma.abstracts.mini_xml___error_handling.on_error">On
           Error</a>
         </h5>
@@ -140,15 +137,13 @@
           <tt class="computeroutput"><span class="identifier">on_error</span></tt> declares our error
           handler:
         </p>
-<pre class="programlisting">
-<span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">Action</span><span class="special">&gt;(</span><span class="identifier">rule</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">Action</span><span class="special">&gt;(</span><span class="identifier">rule</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">)</span>
 </pre>
 <p>
           This will specify what we will do when we get an error. We will print out
           an error message using phoenix:
         </p>
-<pre class="programlisting">
-<span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">fail</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">on_error</span><span class="special">&lt;</span><span class="identifier">fail</span><span class="special">&gt;</span>
 <span class="special">(</span>
     <span class="identifier">xml</span>
   <span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
@@ -312,7 +307,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi_and_karma.abstracts.mini_xml___error_handling.expectation_points"></a><h5>
-<a name="id645080"></a>
+<a name="id485914"></a>
           <a href="mini_xml___error_handling.html#spirit.qi_and_karma.abstracts.mini_xml___error_handling.expectation_points">Expectation
           Points</a>
         </h5>
@@ -320,8 +315,7 @@
           You might not have noticed it, but some of our expressions changed from
           using the <tt class="computeroutput"><span class="special">&gt;&gt;</span></tt> to <tt class="computeroutput"><span class="special">&gt;</span></tt>. Look, for example:
         </p>
-<pre class="programlisting">
-<span class="identifier">end_tag</span> <span class="special">=</span>
+<pre class="programlisting"><span class="identifier">end_tag</span> <span class="special">=</span>
         <span class="string">"&lt;/"</span>
     <span class="special">&gt;</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">_r1</span><span class="special">)</span>
     <span class="special">&gt;</span> <span class="char">'&gt;'</span>
@@ -344,14 +338,12 @@
           You can find some examples in: ../../example/qi/mini_xml_samples
           for testing purposes. "4.toyxml" has an error in it:
         </p>
-<pre class="programlisting">
-<span class="special">&lt;</span><span class="identifier">foo</span><span class="special">&gt;&lt;</span><span class="identifier">bar</span><span class="special">&gt;&lt;/</span><span class="identifier">foo</span><span class="special">&gt;&lt;/</span><span class="identifier">bar</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="special">&lt;</span><span class="identifier">foo</span><span class="special">&gt;&lt;</span><span class="identifier">bar</span><span class="special">&gt;&lt;/</span><span class="identifier">foo</span><span class="special">&gt;&lt;/</span><span class="identifier">bar</span><span class="special">&gt;</span>
 </pre>
 <p>
           Running the example with this gives you:
         </p>
-<pre class="programlisting">
-<span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="string">"bar"</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"foo&gt;&lt;/bar&gt;"</span>
+<pre class="programlisting"><span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="string">"bar"</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"foo&gt;&lt;/bar&gt;"</span>
 <span class="identifier">Error</span><span class="special">!</span> <span class="identifier">Expecting</span> <span class="identifier">end_tag</span> <span class="identifier">here</span><span class="special">:</span> <span class="string">"&lt;bar&gt;&lt;/foo&gt;&lt;/bar&gt;"</span>
 <span class="special">-------------------------</span>
 <span class="identifier">Parsing</span> <span class="identifier">failed</span>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -56,27 +56,27 @@
           main reason for Spirit's extensibility.
         </p>
 <a name="spirit.qi_and_karma.abstracts.parsing.the_api_functions_exposed_by__emphasis_spirit_qi__emphasis__"></a><h5>
-<a name="id643120"></a>
+<a name="id483114"></a>
           <a href="parsing.html#spirit.qi_and_karma.abstracts.parsing.the_api_functions_exposed_by__emphasis_spirit_qi__emphasis__">The
           API functions exposed by <span class="emphasis"><em>Spirit.Qi</em></span> </a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing.the_parse___function"></a><h5>
-<a name="id643140"></a>
+<a name="id483146"></a>
           <a href="parsing.html#spirit.qi_and_karma.abstracts.parsing.the_parse___function">The
           parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing.the_phrase_parse___function"></a><h5>
-<a name="id643157"></a>
+<a name="id483175"></a>
           <a href="parsing.html#spirit.qi_and_karma.abstracts.parsing.the_phrase_parse___function">The
           phrase_parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing.the_tokenize_and_parse___function"></a><h5>
-<a name="id643170"></a>
+<a name="id483202"></a>
           <a href="parsing.html#spirit.qi_and_karma.abstracts.parsing.the_tokenize_and_parse___function">The
           tokenize_and_parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing.the_tokenize_and_phrase_parse___function"></a><h5>
-<a name="id643183"></a>
+<a name="id483232"></a>
           <a href="parsing.html#spirit.qi_and_karma.abstracts.parsing.the_tokenize_and_phrase_parse___function">The
           tokenize_and_phrase_parse() function</a>
         </h5>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing_and_generating.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing_and_generating.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma/abstracts/parsing_and_generating.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -29,27 +29,27 @@
         and Generating">Parsing
         and Generating</a></h4></div></div></div>
 <a name="spirit.qi_and_karma.abstracts.parsing_and_generating.the_api_functions_exposed_by__emphasis_spirit_qi__emphasis__"></a><h5>
-<a name="id643207"></a>
+<a name="id483289"></a>
           <a href="parsing_and_generating.html#spirit.qi_and_karma.abstracts.parsing_and_generating.the_api_functions_exposed_by__emphasis_spirit_qi__emphasis__">The
           API functions exposed by <span class="emphasis"><em>Spirit.Qi</em></span> </a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing_and_generating.the_parse___function"></a><h5>
-<a name="id643224"></a>
+<a name="id483324"></a>
           <a href="parsing_and_generating.html#spirit.qi_and_karma.abstracts.parsing_and_generating.the_parse___function">The
           parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing_and_generating.the_phrase_parse___function"></a><h5>
-<a name="id643237"></a>
+<a name="id483355"></a>
           <a href="parsing_and_generating.html#spirit.qi_and_karma.abstracts.parsing_and_generating.the_phrase_parse___function">The
           phrase_parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing_and_generating.the_tokenize_and_parse___function"></a><h5>
-<a name="id643250"></a>
+<a name="id483384"></a>
           <a href="parsing_and_generating.html#spirit.qi_and_karma.abstracts.parsing_and_generating.the_tokenize_and_parse___function">The
           tokenize_and_parse() function</a>
         </h5>
 <a name="spirit.qi_and_karma.abstracts.parsing_and_generating.the_tokenize_and_phrase_parse___function"></a><h5>
-<a name="id643264"></a>
+<a name="id483415"></a>
           <a href="parsing_and_generating.html#spirit.qi_and_karma.abstracts.parsing_and_generating.the_tokenize_and_phrase_parse___function">The
           tokenize_and_phrase_parse() function</a>
         </h5>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma/quick_reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma/quick_reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma/quick_reference.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -46,7 +46,7 @@
 </dl>
 </div>
 <div class="table">
-<a name="id647160"></a><p class="title"><b>Table 4. Character Parsers</b></p>
+<a name="id486409"></a><p class="title"><b>Table 4. Character Parsers</b></p>
 <table class="table" summary="Character Parsers">
 <colgroup>
 <col>

Modified: branches/release/libs/spirit/doc/html/spirit/qi_and_karma/reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi_and_karma/reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi_and_karma/reference.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -50,7 +50,7 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="spirit.qi_and_karma.reference.concepts.parser"></a>Parser</h5></div></div></div>
 <a name="spirit.qi_and_karma.reference.concepts.parser.description"></a><h6>
-<a name="id647891"></a>
+<a name="id487325"></a>
             <a href="reference.html#spirit.qi_and_karma.reference.concepts.parser.description">Description</a>
           </h6>
 <p>
@@ -66,7 +66,7 @@
 </dl>
 </div>
 <a name="spirit.qi_and_karma.reference.concepts.parser.valid_expressions"></a><h6>
-<a name="id647940"></a>
+<a name="id487386"></a>
             <a href="reference.html#spirit.qi_and_karma.reference.concepts.parser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -126,7 +126,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi_and_karma.reference.concepts.parser.type_requirements"></a><h6>
-<a name="id648053"></a>
+<a name="id487523"></a>
             <a href="reference.html#spirit.qi_and_karma.reference.concepts.parser.type_requirements">Type
             Requirements</a>
           </h6>
@@ -161,14 +161,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi_and_karma.reference.concepts.parser.invariants"></a><h6>
-<a name="id648138"></a>
+<a name="id487627"></a>
             <a href="reference.html#spirit.qi_and_karma.reference.concepts.parser.invariants">Invariants</a>
           </h6>
 <p>
             For any Parser xxx the following invariants always hold:
           </p>
 <a name="spirit.qi_and_karma.reference.concepts.parser.models"></a><h6>
-<a name="id648159"></a>
+<a name="id487659"></a>
             <a href="reference.html#spirit.qi_and_karma.reference.concepts.parser.models">Models</a>
           </h6>
 <p>

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -26,7 +26,7 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="spirit.what_s_new"></a>What's New</h2></div></div></div>
 <a name="spirit.what_s_new.spirit_classic"></a><h3>
-<a name="id616833"></a>
+<a name="id457100"></a>
       <a href="what_s_new.html#spirit.what_s_new.spirit_classic">Spirit Classic</a>
     </h3>
 <p>
@@ -43,14 +43,12 @@
       from the directory $BOOST_ROOT/boost/spirit/include. All files of Spirit Classic in this directory have a 'classic_'
       prefixed to their name. For example the include
     </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
       now should be written as:
     </p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">classic_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">classic_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
       To avoid namespace conflicts with the new Spirit V2 library we moved Spirit

Modified: branches/release/libs/spirit/doc/introduction.qbk
==============================================================================
--- branches/release/libs/spirit/doc/introduction.qbk (original)
+++ branches/release/libs/spirit/doc/introduction.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)
@@ -8,17 +8,17 @@
 
 [section Introduction]
 
-Boost Spirit is an object oriented, recursive-descent parser and output generation
-library for C++. It allows to write grammars and format descriptions using a
-format very similar to EBNF (Extended Backus Naur Form, see [4]) directly in
+Boost Spirit is an object-oriented, recursive-descent parser and output generation
+library for C++. It allows you to write grammars and format descriptions using a
+format similar to EBNF (Extended Backus Naur Form, see [4]) directly in
 C++. These inline grammar specifications can mix freely with other C++ code and,
 thanks to the generative power of C++ templates, are immediately executable.
 In retrospect, conventional compiler-compilers or parser-generators have to
 perform an additional translation step from the source EBNF code to C or C++
 code.
 
-The syntax and semantics of the libraries API directly form domain specific
-embedded languages (DSEL). In fact, Spirit exposes 3 different DSEL's to the
+The syntax and semantics of the libraries' API directly form domain-specific
+embedded languages (DSEL). In fact, Spirit exposes 3 different DSELs to the
 user:
 
 * one for creating parser grammars,
@@ -26,31 +26,31 @@
 * and one for the description of the required output formats.
 
 Since the target input grammars and output formats are written entirely in C++
-we do not need any separate tools to compile, preprocess, or integrate those
+we do not need any separate tools to compile, preprocess or integrate those
 into the build process. __spirit__ allows seamless integration of the parsing
 and output generation process with other C++ code. Often this allows for
 simpler and more efficient code.
 
-Both, the created parsers and generators, are fully attributed which allows to
+Both the created parsers and generators are fully attributed which allows you to
 easily build and handle hierarchical data structures in memory. These data
 structures resemble the structure of the input data and can directly be used to
-generate arbitrarily formatted output.
+generate arbitrarily-formatted output.
 
 The [link spirit.spiritstructure figure] below depicts the overall structure
-of the Boost Spirit library. The library consists out of 4 major parts:
+of the Boost Spirit library. The library consists of 4 major parts:
 
-* __classic__: This is the almost unchanged code base taken from the
+* __classic__: This is the almost-unchanged code base taken from the
   former Boost Spirit V1.8 distribution. It has been moved into the namespace
   boost::spirit::classic. A special compatibility layer has been added to
   ensure complete compatibility with existing code using Spirit V1.8.
-* __qi__: This is the parser library allowing to build recursive
- descent parsers. The exposed domain specific language can be used to describe
+* __qi__: This is the parser library allowing you to build recursive
+ descent parsers. The exposed domain-specific language can be used to describe
   the grammars to implement, and the rules for storing the parsed information.
-* __lex__: This is the library usable to create tokinizers (lexers). The domain
- specific language exposed by __lex__
-* __karma__: This is the generator library allowing to create code for
- recursive descent, data type driven output formatting. The exposed domain
- specific language is almost equivalent to the parser description language
+* __lex__: This is the library usable to create tokenizers (lexers). The
+ domain-specific language exposed by __lex__
+* __karma__: This is the generator library allowing you to create code for
+ recursive descent, data type-driven output formatting. The exposed
+ domain-specific language is almost equivalent to the parser description language
   used in __qi__, except that it is used to describe the required output
   format to generate from a given data structure.
 
@@ -67,13 +67,13 @@
 
 The [link spirit.spiritkarmaflow figure] below shows the typical data flow of
 some input being converted to some internal representation. After some
-(optional) transformation this data is converted back into some different,
-external representation. The picture highlights Spirit's the place in this data
+(optional) transformation these data are converted back into some different,
+external representation. The picture highlights Spirit's place in this data
 transformation flow.
 
 [fig ./images/spiritkarmaflow.png..The place of __qi__ and __karma__ in a data transformation flow of a typical application..spirit.spiritkarmaflow]
 
-[heading A quick overview about Parsing with __qi__]
+[heading A Quick Overview of Parsing with __qi__]
 
 __qi__ is Spirit's sublibrary dealing with generating parsers based on a given
 target grammar (essentially a format description of the input data to read).
@@ -94,12 +94,12 @@
     expression = term >> *(('+' >> term) | ('-' >> term));
 
 Through the magic of expression templates, this is perfectly valid and
-executable C++ code. The production rule `expression` is in fact an object that
-has a member function parse that does the work given a source code written in
+executable C++ code. The production rule `expression` is, in fact, an object that
+has a member function `parse` that does the work given a source code written in
 the grammar that we have just declared. Yes, it's a calculator. We shall
 simplify for now by skipping the type declarations and the definition of the
-rule integer invoked by factor. Now, the production rule `expression` in our
-grammar specification, traditionally called the start symbol, can recognize
+rule `integer` invoked by `factor`. Now, the production rule `expression` in our
+grammar specification, traditionally called the `start` symbol, can recognize
 inputs such as:
 
     12345
@@ -144,14 +144,14 @@
 rule with the ubiquitous semi-colon, `;`.
 
 
-[heading A quick overview about Output Generation with __karma__]
+[heading A Quick Overview of Output Generation with __karma__]
 
-Spirit not only allows to describe the structure of the input. Starting with
+Spirit not only allows you to describe the structure of the input. Starting with
 Version 2.0 it enables the specification of the output format for your data
-in a very similar way, and based on a single syntax and compatible semantics.
+in a similar way, and based on a single syntax and compatible semantics.
 
 Let's assume we need to generate a textual representation from a simple data
-structure as a `std::vector<int>`. Conventional code probably would look like:
+structure such as a `std::vector<int>`. Conventional code probably would look like:
 
     std::vector<int> v (initialize_and_fill());
     std::vector<int>::iterator end = v.end();
@@ -159,10 +159,10 @@
         std::cout << *it << std::endl;
 
 which is not very flexible and quite difficult to maintain when it comes to
-changing the required output format. Spirit's sublibrary /Karma/ allows to
+changing the required output format. Spirit's sublibrary /Karma/ allows you to
 specify output formats for arbitrary data structures in a very flexible way.
-following snippet is the /Karma/ format description used to create the very
-The same output as the traditional code above:
+The following snippet is the /Karma/ format description used to create the
+same output as the traditional code above:
 
     *(int_ << eol)
 
@@ -177,13 +177,13 @@
     [ [`*(double_ << ',')`] [`1.0,8.0,10.0,`] [A list of floating point numbers] ]
 ]
 
-The syntax is very similar to /Qi/ with the exception that we use the `<<`
+The syntax is similar to /Qi/ with the exception that we use the `<<`
 operator for output concatenation. This should be easy to understand as it
 follows the conventions used in the Standard's I/O streams.
 
-Another important feature of /karma/ is to allow to fully decouple the data
+Another important feature of /karma/ allows you to fully decouple the data
 type from the output format. You can use the same output format with different
-data types as long as these conforma conceptually. The next table gives some
+data types as long as these conform conceptually. The next table gives some
 related examples.
 
 [table Different data types usable with the output format `(*int_ << eol)`

Modified: branches/release/libs/spirit/doc/lex.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex.qbk (original)
+++ branches/release/libs/spirit/doc/lex.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/introduction.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/introduction.qbk (original)
+++ branches/release/libs/spirit/doc/lex/introduction.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)
@@ -29,17 +29,17 @@
   though since some tools such as lint look at comments, this conflation is not
   perfect.
 
-[heading Why Using a Separate Lexer]
+[heading Why Use a Separate Lexer?]
 
 Typically, lexical scanning is done in a separate module from the parser,
-feeding the parser with a stream of input tokens only. Now, theoretically it is
-not necessary to do this separation. In the end there is only one set of
+feeding the parser with a stream of input tokens only. Theoretically it is
+not necessary implement this separation as in the end there is only one set of
 syntactical rules defining the language, so in theory we could write the whole
-parser in one module. In fact, __qi__ allows to write parsers without using a
+parser in one module. In fact, __qi__ allows you to write parsers without using a
 lexer, parsing the input character stream directly, and for the most part this
 is the way __spirit__ has been used since its invention.
 
-However, the separation has both practical and theoretical bases and proves to
+However, this separation has both practical and theoretical bases and proves to
 be very useful in practical applications. In 1956, Noam Chomsky defined the
 "Chomsky Hierarchy" of grammars:
 
@@ -67,10 +67,10 @@
     digit := [0-9]
 
     identifier := letter [ letter | digit ]*
- integer := digit*
+ integer := digit+
 
 Higher level parts of practical grammars tend to be more complex and can't be
-implemented using plain regular expressions anymore. We need to store
+implemented using plain regular expressions. We need to store
 information on the built-in hardware stack while recursing the grammar
 hierarchy, and that in fact this is the preferred approach used for top-down
 parsing. Since it takes a different kind of abstract machine to parse the two
@@ -78,7 +78,7 @@
 into a separate module which is built around the idea of a state machine. The
 goal here is to use the simplest parsing technique needed for the job.
 
-Another, more practical reason for separating the scanner from the parser is
+Another, more practical, reason for separating the scanner from the parser is
 the need for backtracking during parsing. The input data is a stream of
 characters, which is often thought to be processed left to right without any
 backtracking. Unfortunately, in practice most of the time that isn't possible.
@@ -114,14 +114,14 @@
 rest of your program, making it possible to freely access any context
 information and data structure. Since the C++ compiler sees all the code it
 will generate optimal code nomatter what configuration options have been chosen
-by the user. __lex__ gives you all the features you could get from a similar
+by the user. __lex__ gives you the vast majority of features you could get from a similar
 __flex__ program without the need to leave C++ as a host language:
 
-* the definition of tokens is done using regular expressions (patterns)
-* the token definitions can refer to special substitution string (pattern
+* The definition of tokens is done using regular expressions (patterns)
+* The token definitions can refer to special substitution strings (pattern
   macros) simplifying pattern definitions
-* the generated lexical scanner may have multiple start states
-* it is possible to attach code to any of the token definitions; this code gets
+* The generated lexical scanner may have multiple start states
+* It is possible to attach code to any of the token definitions; this code gets
   executed whenever the corresponding token pattern has been matched
 
 Even if it is possible to use __lex__ to generate C++ code representing
@@ -129,10 +129,10 @@
 more detail in the section __sec_lex_static_model__) - a model
 very similar to the way __flex__ operates - we will mainly focus on the
 opposite, the /dynamic/ model. You can directly integrate the token definitions
-into your C++ program, building the lexical analyzer dynamicly at runtime. The
+into your C++ program, building the lexical analyzer dynamically at runtime. The
 dynamic model is something not supported by __flex__ or other lexical scanner
 generators (such as __re2c__, __ragel__, etc.). But it is very flexible and
-allows to speed up the development of your application.
+allows you to speed up the development of your application.
 
 [heading The Library Structure of __lex__]
 

Modified: branches/release/libs/spirit/doc/lex/lexer_attributes.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_attributes.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_attributes.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_primitives.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_primitives.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_primitives.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_quickstart1.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_quickstart1.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_quickstart1.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_quickstart2.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_quickstart2.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_quickstart2.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_quickstart3.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_semantic_actions.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_semantic_actions.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_semantic_actions.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_states.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_states.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_states.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_static_model.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_static_model.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_static_model.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/lexer_tutorials.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/lexer_tutorials.qbk (original)
+++ branches/release/libs/spirit/doc/lex/lexer_tutorials.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/parsing_using_a_lexer.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/parsing_using_a_lexer.qbk (original)
+++ branches/release/libs/spirit/doc/lex/parsing_using_a_lexer.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/token_definition.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/token_definition.qbk (original)
+++ branches/release/libs/spirit/doc/lex/token_definition.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/tokenizing.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/tokenizing.qbk (original)
+++ branches/release/libs/spirit/doc/lex/tokenizing.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/lex/tokens_values.qbk
==============================================================================
--- branches/release/libs/spirit/doc/lex/tokens_values.qbk (original)
+++ branches/release/libs/spirit/doc/lex/tokens_values.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/notes.qbk
==============================================================================
--- branches/release/libs/spirit/doc/notes.qbk (original)
+++ branches/release/libs/spirit/doc/notes.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/notes/style_guide.qbk
==============================================================================
--- branches/release/libs/spirit/doc/notes/style_guide.qbk (original)
+++ branches/release/libs/spirit/doc/notes/style_guide.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/preface.qbk
==============================================================================
--- branches/release/libs/spirit/doc/preface.qbk (original)
+++ branches/release/libs/spirit/doc/preface.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/attributes.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/attributes.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/attributes.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/debugging.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/debugging.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/debugging.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/directives.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/directives.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/directives.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/error_handling.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/error_handling.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/error_handling.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/generating.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/generating.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/generating.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/grammars.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/grammars.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/grammars.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/operators.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/operators.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/operators.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/parse_trees_and_asts.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/parse_trees_and_asts.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/parse_trees_and_asts.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/parsing.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/parsing.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/parsing.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/peg.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/peg.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/peg.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/primitives.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/primitives.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/primitives.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/quick_reference.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/quick_reference.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/quick_reference.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/roman.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/roman.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/roman.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -152,7 +152,7 @@
   for doing pre and post initializations.
 
 * The expression `a || b` reads: match a or b and in sequence. That is, if both
- `a` and `b` match, it must be in sequence; this is equivalent to `a >> !b | b`,
+ `a` and `b` match, it must be in sequence; this is equivalent to `a >> -b | b`,
   but more efficient.
 
 [heading Let's Parse!]

Modified: branches/release/libs/spirit/doc/qi_and_karma/rules.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/rules.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/rules.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/semantic_actions.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/semantic_actions.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/semantic_actions.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/qi_and_karma/warming_up.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi_and_karma/warming_up.qbk (original)
+++ branches/release/libs/spirit/doc/qi_and_karma/warming_up.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -43,7 +43,7 @@
 
 [heading Trivial Example #3 Parsing one or more numbers]
 
-Create a parser that will accept one or more floating-point numbers.
+Create a parser that will accept zero or more floating-point numbers.
 
     *double_
 

Modified: branches/release/libs/spirit/doc/rationale.qbk
==============================================================================
--- branches/release/libs/spirit/doc/rationale.qbk (original)
+++ branches/release/libs/spirit/doc/rationale.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/lexer.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/lexer.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/lexer.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/lexer_class.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/lexer_class.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/lexer_class.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/token.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/token.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/token.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/token_class.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/token_class.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/token_class.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/tokendef.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/tokendef.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/tokendef.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/tokendef_class.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/tokendef_class.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/tokendef_class.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/tokenset.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/tokenset.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/tokenset.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/lex/tokenset_class.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/lex/tokenset_class.qbk (original)
+++ branches/release/libs/spirit/doc/reference/lex/tokenset_class.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/action.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/action.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/action.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/auxiliary.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/auxiliary.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/auxiliary.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/binary.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/binary.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/binary.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/char.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/char.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/char.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/debug.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/debug.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/debug.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/directive.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/directive.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/directive.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/generator.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/generator.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/generator.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/nonterminal.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/nonterminal.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/nonterminal.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/numeric.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/numeric.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/numeric.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/operator.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/operator.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/operator.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/parser.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/parser.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/parser.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/stream.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/stream.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/stream.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/reference/qi_and_karma/string.qbk
==============================================================================
--- branches/release/libs/spirit/doc/reference/qi_and_karma/string.qbk (original)
+++ branches/release/libs/spirit/doc/reference/qi_and_karma/string.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/references.qbk
==============================================================================
--- branches/release/libs/spirit/doc/references.qbk (original)
+++ branches/release/libs/spirit/doc/references.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/spirit2.qbk
==============================================================================
--- branches/release/libs/spirit/doc/spirit2.qbk (original)
+++ branches/release/libs/spirit/doc/spirit2.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/doc/what_s_new.qbk
==============================================================================
--- branches/release/libs/spirit/doc/what_s_new.qbk (original)
+++ branches/release/libs/spirit/doc/what_s_new.qbk 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 [/==============================================================================
     Copyright (C) 2001-2008 Joel de Guzman
- Copyright (C) 2001-2008 Hartmut Kaiser
+ Copyright (C) 2001-2009 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)

Modified: branches/release/libs/spirit/example/karma/Jamfile
==============================================================================
--- branches/release/libs/spirit/example/karma/Jamfile (original)
+++ branches/release/libs/spirit/example/karma/Jamfile 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -8,7 +8,7 @@
 project spirit-karma-example ;
 
 exe quick_start1 : quick_start1.cpp ;
-exe actions : actions.cpp ;
+exe actions_example : actions.cpp ;
 exe basic_facilities : basic_facilities.cpp ;
 exe functor_facilities : functor_facilities.cpp ;
 exe calc2_ast_dump : calc2_ast_dump.cpp ;

Modified: branches/release/libs/spirit/example/karma/basic_facilities.cpp
==============================================================================
--- branches/release/libs/spirit/example/karma/basic_facilities.cpp (original)
+++ branches/release/libs/spirit/example/karma/basic_facilities.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -16,22 +16,37 @@
 #define BOOST_KARMA_DEFAULT_FIELD_LENGTH 25
 
 #include <boost/config/warning_disable.hpp>
-#include <boost/spirit/include/karma.hpp>
-#include <boost/spirit/include/karma_stream.hpp>
 
 #include <iostream>
 #include <string>
 #include <vector>
 #include <list>
+#include <map>
 #include <algorithm>
 #include <cstdlib>
 
 #include <boost/range.hpp>
-#include <boost/date_time//gregorian/gregorian.hpp>
+#include <boost/date_time/gregorian/gregorian.hpp>
+#include <boost/fusion/include/std_pair.hpp>
+
+///////////////////////////////////////////////////////////////////////////////
+// This streaming operator is needed to generate the output from the map below
+// Yes, it's heresy, but this operator has to live in namespace std to be
+// picked up by the compiler.
+namespace std {
+ inline std::ostream&
+ operator<<(std::ostream& os, std::pair<int const, std::string> v)
+ {
+ os << v.first << ": " << v.second;
+ return os;
+ }
+}
+
+#include <boost/spirit/include/karma.hpp>
+#include <boost/spirit/include/karma_stream.hpp>
 
 using namespace boost::spirit;
 using namespace boost::spirit::ascii;
-namespace karma = boost::spirit::karma;
 
 ///////////////////////////////////////////////////////////////////////////////
 // Output the given containers in list format
@@ -70,6 +85,12 @@
             c // data
         ) << std::endl << std::endl;
 
+ os <<
+ karma::format(
+ '[' << -(stream % ", ") << ']', // format description
+ c // data
+ ) << std::endl << std::endl;
+
     // output the container as a comma separated list of items enclosed in '()'
     os <<
         karma::format(
@@ -167,6 +188,18 @@
     std::cout << "std::vector<boost::date>" << std::endl;
     output_container(std::cout, dates);
     
+ ///////////////////////////////////////////////////////////////////////////
+ // map of int --> string mappings
+ std::map<int, std::string> mappings;
+ mappings.insert(std::make_pair(0, "zero"));
+ mappings.insert(std::make_pair(1, "one"));
+ mappings.insert(std::make_pair(2, "two"));
+
+ std::cout << "-------------------------------------------------------------"
+ << std::endl;
+ std::cout << "std::map<int, std::string>" << std::endl;
+ output_container(std::cout, mappings);
+
     return 0;
 }
 

Modified: branches/release/libs/spirit/example/karma/functor_facilities.cpp
==============================================================================
--- branches/release/libs/spirit/example/karma/functor_facilities.cpp (original)
+++ branches/release/libs/spirit/example/karma/functor_facilities.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -31,13 +31,12 @@
     template <typename OutputIterator, typename Context, typename Parameter>
     bool operator()(Parameter const&, Context& ctx, OutputIterator& sink) const
     {
- namespace karma = boost::spirit::karma;
         return karma::generate(sink, int_ << ": ", counter++);
     }
-
+
     counter_impl(int& counter_)
     : counter(counter_) {}
-
+
     int& counter;
 };
 
@@ -64,13 +63,12 @@
     template <typename OutputIterator, typename Context, typename Parameter>
     bool operator()(Parameter const& v, Context& ctx, OutputIterator& sink) const
     {
- namespace karma = boost::spirit::karma;
         return karma::generate(sink, open << xpr << close, v);
     }
-
+
     confix_impl(char const* open_, char const* close_, Expr const& xpr_)
     : open(open_), close(close_), xpr(xpr_) {}
-
+
     std::string open;
     std::string close;
     Expr xpr;
@@ -98,13 +96,12 @@
     template <typename OutputIterator, typename Parameter>
     bool operator()(OutputIterator& sink, Parameter const& v) const
     {
- namespace karma = boost::spirit::karma;
         return karma::generate(sink, xpr % delim, v);
     }
-
+
     list_impl(Expr const& xpr_, char const* delim_)
     : xpr(xpr_), delim(delim_) {}
-
+
     Expr xpr;
     std::string delim;
 };
@@ -131,7 +128,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 int main()
 {
- namespace karma = boost::spirit::karma;
     using namespace boost::phoenix;
     using namespace boost::phoenix::arg_names;
 

Modified: branches/release/libs/spirit/example/karma/quick_start1.cpp
==============================================================================
--- branches/release/libs/spirit/example/karma/quick_start1.cpp (original)
+++ branches/release/libs/spirit/example/karma/quick_start1.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)
@@ -17,7 +17,6 @@
 
 using namespace boost::spirit;
 using namespace boost::spirit::ascii;
-namespace karma = boost::spirit::karma;
 
 ///////////////////////////////////////////////////////////////////////////////
 int main()

Modified: branches/release/libs/spirit/example/lex/example.hpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example.hpp (original)
+++ branches/release/libs/spirit/example/lex/example.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example1.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example1.cpp (original)
+++ branches/release/libs/spirit/example/lex/example1.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example2.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example2.cpp (original)
+++ branches/release/libs/spirit/example/lex/example2.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example3.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example3.cpp (original)
+++ branches/release/libs/spirit/example/lex/example3.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example4.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example4.cpp (original)
+++ branches/release/libs/spirit/example/lex/example4.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example5.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example5.cpp (original)
+++ branches/release/libs/spirit/example/lex/example5.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/example6.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/example6.cpp (original)
+++ branches/release/libs/spirit/example/lex/example6.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 // Copyright (c) 2001-2007 Joel de Guzman
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/example/lex/print_numbers.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/print_numbers.cpp (original)
+++ branches/release/libs/spirit/example/lex/print_numbers.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/static_lexer/word_count_generate.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/static_lexer/word_count_generate.cpp (original)
+++ branches/release/libs/spirit/example/lex/static_lexer/word_count_generate.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/static_lexer/word_count_static.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/static_lexer/word_count_static.cpp (original)
+++ branches/release/libs/spirit/example/lex/static_lexer/word_count_static.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/static_lexer/word_count_tokens.hpp
==============================================================================
--- branches/release/libs/spirit/example/lex/static_lexer/word_count_tokens.hpp (original)
+++ branches/release/libs/spirit/example/lex/static_lexer/word_count_tokens.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/strip_comments.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/strip_comments.cpp (original)
+++ branches/release/libs/spirit/example/lex/strip_comments.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/strip_comments_lexer.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/strip_comments_lexer.cpp (original)
+++ branches/release/libs/spirit/example/lex/strip_comments_lexer.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/word_count.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/word_count.cpp (original)
+++ branches/release/libs/spirit/example/lex/word_count.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/word_count_functor.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/word_count_functor.cpp (original)
+++ branches/release/libs/spirit/example/lex/word_count_functor.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/word_count_functor.flex
==============================================================================
--- branches/release/libs/spirit/example/lex/word_count_functor.flex (original)
+++ branches/release/libs/spirit/example/lex/word_count_functor.flex 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 %{
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/word_count_functor_flex.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/word_count_functor_flex.cpp (original)
+++ branches/release/libs/spirit/example/lex/word_count_functor_flex.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -364,7 +364,7 @@
 #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
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/lex/word_count_lexer.cpp
==============================================================================
--- branches/release/libs/spirit/example/lex/word_count_lexer.cpp (original)
+++ branches/release/libs/spirit/example/lex/word_count_lexer.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/example/qi/calc3_lexer.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/calc3_lexer.cpp (original)
+++ branches/release/libs/spirit/example/qi/calc3_lexer.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/index.html
==============================================================================
--- branches/release/libs/spirit/index.html (original)
+++ branches/release/libs/spirit/index.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,13 +1,13 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
   <head>
- <meta http-equiv="refresh" content="0; URL=classic/index.html">
+ <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
   </head>
   <body>
- Automatic redirection failed, click this
- link &nbsp;<hr>
+ Automatic redirection failed, click this
+ link &nbsp;<hr>
     <p>© Copyright Beman Dawes, 2001</p>
- <p>Distributed under the Boost Software License, Version 1.0. (See
+ <p>Distributed under the Boost Software License, Version 1.0. (See
     accompanying file <a href="../../LICENSE_1_0.txt">
     LICENSE_1_0.txt</a> or copy at
     <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>

Modified: branches/release/libs/spirit/phoenix/index.html
==============================================================================
--- branches/release/libs/spirit/phoenix/index.html (original)
+++ branches/release/libs/spirit/phoenix/index.html 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -4,12 +4,7 @@
     <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
   </head>
   <body>
- Automatic redirection failed, click this
- link &nbsp;<hr>
- <p>© Copyright Beman Dawes, 2001</p>
- <p>Distributed under the Boost Software License, Version 1.0. (See
- accompanying file <a href="../../LICENSE_1_0.txt">
- LICENSE_1_0.txt</a> or copy at
- www.boost.org/LICENSE_1_0.txt)</p>
+ Automatic redirection failed, click this
+ link
   </body>
-</html>
\ No newline at end of file
+</html>

Modified: branches/release/libs/spirit/phoenix/test/bind/bind_member_variable_tests.cpp
==============================================================================
--- branches/release/libs/spirit/phoenix/test/bind/bind_member_variable_tests.cpp (original)
+++ branches/release/libs/spirit/phoenix/test/bind/bind_member_variable_tests.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,7 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ 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 <iostream>
@@ -23,15 +23,81 @@
     {
         int m;
     };
+
+ struct xx {
+ int m;
+ };
+}
+
+template<class T, class F>
+void write_test(F f) {
+ T x_;
+ bind(&T::m, f(x_))() = 122;
+ BOOST_TEST(x_.m == 122);
+ bind(&T::m, arg1)(f(x_)) = 123;
+ BOOST_TEST(x_.m == 123);
 }
 
+template<class T, class F>
+void read_test(F f) {
+ T x_;
+ x_.m = 123;
+
+ BOOST_TEST(bind(&T::m, f(x_))() == 123);
+ BOOST_TEST(bind(&T::m, arg1)(f(x_)) == 123);
+}
+
+struct identity
+{
+ template<class T>
+ T& operator()(T& t) const
+ {
+ return t;
+ }
+};
+
+struct constify
+{
+ template<class T>
+ const T& operator()(const T& t) const
+ {
+ return t;
+ }
+};
+
+struct add_pointer
+{
+ template<class T>
+ T* const operator()(T& t) const
+ {
+ return &t;
+ }
+};
+
+struct add_const_pointer
+{
+ template<class T>
+ const T* const operator()(const T& t) const
+ {
+ return &t;
+ }
+};
+
 int
 main()
 {
- test::x x_;
- bind(&test::x::m, x_)() = 123;
- bind(&test::x::m, arg1)(x_) = 123;
- BOOST_TEST(x_.m == 123);
+ write_test<test::x>(identity());
+ write_test<test::x>(add_pointer());
+ write_test<test::xx>(identity());
+ write_test<test::xx>(add_pointer());
 
+ read_test<test::x>(identity());
+ //read_test<test::x>(constify()); // this fails because of capture by value.
+ read_test<test::x>(add_pointer());
+ read_test<test::x>(add_const_pointer());
+ read_test<test::xx>(identity());
+ read_test<test::xx>(constify());
+ read_test<test::xx>(add_pointer());
+ read_test<test::xx>(add_const_pointer());
     return boost::report_errors();
 }

Modified: branches/release/libs/spirit/phoenix/test/operator/io_tests.cpp
==============================================================================
--- branches/release/libs/spirit/phoenix/test/operator/io_tests.cpp (original)
+++ branches/release/libs/spirit/phoenix/test/operator/io_tests.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -15,6 +15,8 @@
 #include <boost/spirit/include/phoenix_core.hpp>
 #include <boost/spirit/include/phoenix_operator.hpp>
 
+#include <boost/fusion/include/io.hpp>
+
 using namespace boost::phoenix;
 using namespace boost::phoenix::arg_names;
 using namespace std;
@@ -37,6 +39,7 @@
 
     (cout << val(hello) << world << ", you da man!\n")();
     for_each(v.begin(), v.end(), cout << arg1 << ',');
+ (cout << arg1 + 1)(i100);
 
     (cout << arg1 << "this is it, shukz:" << hex << arg2 << endl << endl)(msg, i100);
 

Modified: branches/release/libs/spirit/test/karma/actions.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/actions.cpp (original)
+++ branches/release/libs/spirit/test/karma/actions.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
     Copyright (c) 2001-2008 Joel de Guzman
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying

Modified: branches/release/libs/spirit/test/karma/alternative.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/alternative.cpp (original)
+++ branches/release/libs/spirit/test/karma/alternative.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/binary.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/binary.cpp (original)
+++ branches/release/libs/spirit/test/karma/binary.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/case_handling.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/case_handling.cpp (original)
+++ branches/release/libs/spirit/test/karma/case_handling.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/center_alignment.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/center_alignment.cpp (original)
+++ branches/release/libs/spirit/test/karma/center_alignment.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/char.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/char.cpp (original)
+++ branches/release/libs/spirit/test/karma/char.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/delimiter.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/delimiter.cpp (original)
+++ branches/release/libs/spirit/test/karma/delimiter.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/eol.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/eol.cpp (original)
+++ branches/release/libs/spirit/test/karma/eol.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/eps.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/eps.cpp (original)
+++ branches/release/libs/spirit/test/karma/eps.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2007 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/format_manip.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/format_manip.cpp (original)
+++ branches/release/libs/spirit/test/karma/format_manip.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/functor.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/functor.cpp (original)
+++ branches/release/libs/spirit/test/karma/functor.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/grammar.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/grammar.cpp (original)
+++ branches/release/libs/spirit/test/karma/grammar.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/grammar_fail.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/grammar_fail.cpp (original)
+++ branches/release/libs/spirit/test/karma/grammar_fail.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/int_numerics.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/int_numerics.cpp (original)
+++ branches/release/libs/spirit/test/karma/int_numerics.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/kleene.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/kleene.cpp (original)
+++ branches/release/libs/spirit/test/karma/kleene.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/lazy.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/lazy.cpp (original)
+++ branches/release/libs/spirit/test/karma/lazy.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/left_alignment.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/left_alignment.cpp (original)
+++ branches/release/libs/spirit/test/karma/left_alignment.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/list.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/list.cpp (original)
+++ branches/release/libs/spirit/test/karma/list.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/lit.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/lit.cpp (original)
+++ branches/release/libs/spirit/test/karma/lit.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/none.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/none.cpp (original)
+++ branches/release/libs/spirit/test/karma/none.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/optional.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/optional.cpp (original)
+++ branches/release/libs/spirit/test/karma/optional.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/pattern.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/pattern.cpp (original)
+++ branches/release/libs/spirit/test/karma/pattern.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/real_numerics.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/real_numerics.cpp (original)
+++ branches/release/libs/spirit/test/karma/real_numerics.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/right_alignment.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/right_alignment.cpp (original)
+++ branches/release/libs/spirit/test/karma/right_alignment.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/rule_fail.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/rule_fail.cpp (original)
+++ branches/release/libs/spirit/test/karma/rule_fail.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)
@@ -11,6 +11,7 @@
 #include <boost/spirit/include/karma_numeric.hpp>
 #include <boost/spirit/include/karma_nonterminal.hpp>
 #include <boost/spirit/include/karma_generate.hpp>
+#include <boost/function_output_iterator.hpp>
 
 #include "test.hpp"
 

Modified: branches/release/libs/spirit/test/karma/sequence.cpp
==============================================================================
--- branches/release/libs/spirit/test/karma/sequence.cpp (original)
+++ branches/release/libs/spirit/test/karma/sequence.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/karma/test.hpp
==============================================================================
--- branches/release/libs/spirit/test/karma/test.hpp (original)
+++ branches/release/libs/spirit/test/karma/test.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/lexertl1.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/lexertl1.cpp (original)
+++ branches/release/libs/spirit/test/lex/lexertl1.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/lexertl2.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/lexertl2.cpp (original)
+++ branches/release/libs/spirit/test/lex/lexertl2.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/lexertl3.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/lexertl3.cpp (original)
+++ branches/release/libs/spirit/test/lex/lexertl3.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/lexertl4.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/lexertl4.cpp (original)
+++ branches/release/libs/spirit/test/lex/lexertl4.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/lexertl5.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/lexertl5.cpp (original)
+++ branches/release/libs/spirit/test/lex/lexertl5.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/state_switcher_test.cpp
==============================================================================
--- branches/release/libs/spirit/test/lex/state_switcher_test.cpp (original)
+++ branches/release/libs/spirit/test/lex/state_switcher_test.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/test.hpp
==============================================================================
--- branches/release/libs/spirit/test/lex/test.hpp (original)
+++ branches/release/libs/spirit/test/lex/test.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/lex/test_parser.hpp
==============================================================================
--- branches/release/libs/spirit/test/lex/test_parser.hpp (original)
+++ branches/release/libs/spirit/test/lex/test_parser.hpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/alternative.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/alternative.cpp (original)
+++ branches/release/libs/spirit/test/qi/alternative.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/binary.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/binary.cpp (original)
+++ branches/release/libs/spirit/test/qi/binary.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/char.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/char.cpp (original)
+++ branches/release/libs/spirit/test/qi/char.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/char_class.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/char_class.cpp (original)
+++ branches/release/libs/spirit/test/qi/char_class.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -75,6 +75,10 @@
         BOOST_TEST(test("0", xdigit));
         BOOST_TEST(test("f", xdigit));
         BOOST_TEST(!test("g", xdigit));
+
+ BOOST_TEST(test("é", alpha));
+ BOOST_TEST(test("é", lower));
+ BOOST_TEST(!test("é", upper));
     }
 
     {

Modified: branches/release/libs/spirit/test/qi/functor.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/functor.cpp (original)
+++ branches/release/libs/spirit/test/qi/functor.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/grammar_fail.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/grammar_fail.cpp (original)
+++ branches/release/libs/spirit/test/qi/grammar_fail.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/int.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/int.cpp (original)
+++ branches/release/libs/spirit/test/qi/int.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/match_manip.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/match_manip.cpp (original)
+++ branches/release/libs/spirit/test/qi/match_manip.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2008 Hartmut Kaiser
+// Copyright (c) 2001-2009 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)

Modified: branches/release/libs/spirit/test/qi/real.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/real.cpp (original)
+++ branches/release/libs/spirit/test/qi/real.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 Hartmut Kaiser
 
     Use, modification and distribution is subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Modified: branches/release/libs/spirit/test/qi/rule_fail.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/rule_fail.cpp (original)
+++ branches/release/libs/spirit/test/qi/rule_fail.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2008 Hartmut Kaiser
+ Copyright (c) 2001-2009 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)

Deleted: branches/release/libs/spirit/test/repeat_ast_tests.cpp
==============================================================================
--- branches/release/libs/spirit/test/repeat_ast_tests.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
+++ (empty file)
@@ -1,95 +0,0 @@
-/*=============================================================================
- Copyright (c) 2004 Chris Hoeppler
- http://spirit.sourceforge.net/
-
- 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)
-=============================================================================*/
-
-// This test verifies, that reapeat_p et.al. work correctly while using AST's
-
-# include <map>
-# include <boost/detail/lightweight_test.hpp>
-# include <iostream>
-# include <string>
-
-# include <boost/spirit/core.hpp>
-# include <boost/spirit/utility/loops.hpp>
-# include <boost/spirit/tree/ast.hpp>
-# include <boost/spirit/tree/tree_to_xml.hpp>
-
-using namespace boost::spirit;
-
-static const int numID = 1;
-static const int funcID = 2;
-static const int expressionID = 3;
-
-struct grammar_fail : public grammar<grammar_fail>
-{
- template <typename ScannerT>
- struct definition
- {
- definition(grammar_fail const& /*self */)
- {
- num = leaf_node_d[real_p];
- func = root_node_d[ch_p('+') | '-']
- >> repeat_p(2)[expression];
- expression = func | num;
- }
- rule<ScannerT, parser_context<>, parser_tag<numID> > num;
- rule<ScannerT, parser_context<>, parser_tag<funcID> > func;
- typedef rule<ScannerT, parser_context<>, parser_tag<expressionID> > expr_t;
- expr_t expression;
- expr_t const& start() const { return expression; }
- };
-};
-struct grammar_success : public grammar<grammar_success>
-{
- template <typename ScannerT>
- struct definition
- {
- definition(grammar_success const& /*self */)
- {
- num = leaf_node_d[real_p];
- func = root_node_d[ch_p('+') | '-']
- >> expression >> expression; // line differing from grammar_fail
- expression = func | num;
- }
- rule<ScannerT, parser_context<>, parser_tag<numID> > num;
- rule<ScannerT, parser_context<>, parser_tag<funcID> > func;
- typedef rule<ScannerT, parser_context<>, parser_tag<expressionID> > expr_t;
- expr_t expression;
- expr_t const& start() const { return expression; }
- };
-};
-
-int main() {
-
- std::map<parser_id, std::string> rule_names;
- rule_names[expressionID] = "expression";
- rule_names[funcID] = "func";
- rule_names[numID] = "num";
-
- std::string test("+ 1 - 2 3");
-
-// case 1
- grammar_fail g_fail;
- tree_parse_info<> info1 = ast_parse(test.c_str(), g_fail, space_p);
- BOOST_TEST(info1.full);
-
- //std::cout << "...Case 1: Using repeat_p\n";
- //tree_to_xml(std::cerr, info1.trees, test, rule_names);
-
-// case 2
- grammar_success g_success;
- tree_parse_info<> info2 = ast_parse(test.c_str(), g_success, space_p);
- BOOST_TEST(info2.full);
-
- //std::cout << "...Case 2: No repeat_p\n";
- //tree_to_xml(std::cerr, info2.trees, test, rule_names);
- // could be used for test case instead of printing the xml stuff:
- BOOST_TEST(info2.trees.begin()->children.size() == 2);
- BOOST_TEST(info1.trees.begin()->children.size() == 2);
- return boost::report_errors();
-}

Modified: branches/release/libs/spirit/test/support/hold_any.cpp
==============================================================================
--- branches/release/libs/spirit/test/support/hold_any.cpp (original)
+++ branches/release/libs/spirit/test/support/hold_any.cpp 2009-01-15 12:34:54 EST (Thu, 15 Jan 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Hartmut Kaiser
+// Copyright (c) 2007-2009 Hartmut Kaiser
 // Copyright (c) Christopher Diggins 2005
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying


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