Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74126 - in branches/release: . boost boost/spirit boost/spirit/home boost/spirit/home/karma boost/spirit/home/karma/directive boost/spirit/home/lex/lexer boost/spirit/home/lex/lexer/lexertl boost/spirit/home/lex/qi boost/spirit/home/qi/action boost/spirit/home/support boost/spirit/home/support/iterators/detail boost/spirit/include boost/spirit/repository/home/qi/operator/detail boost/spirit/repository/home/support libs libs/spirit libs/spirit/doc libs/spirit/doc/html libs/spirit/doc/html/spirit libs/spirit/doc/html/spirit/abstracts libs/spirit/doc/html/spirit/abstracts/attributes libs/spirit/doc/html/spirit/advanced libs/spirit/doc/html/spirit/advanced/customize libs/spirit/doc/html/spirit/advanced/customize/assign_to libs/spirit/doc/html/spirit/advanced/customize/auto libs/spirit/doc/html/spirit/advanced/customize/iterate libs/spirit/doc/html/spirit/advanced/customize/store_value libs/spirit/doc/html/spirit/advanced/customize/string_traits libs/spirit/doc/html/spirit/advanced/indepth libs/spirit/doc/html/spirit/karma libs/spirit/doc/html/spirit/karma/performance_measurements libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance libs/spirit/doc/html/spirit/karma/quick_reference libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators libs/spirit/doc/html/spirit/karma/reference libs/spirit/doc/html/spirit/karma/reference/auxiliary libs/spirit/doc/html/spirit/karma/reference/binary libs/spirit/doc/html/spirit/karma/reference/char libs/spirit/doc/html/spirit/karma/reference/directive libs/spirit/doc/html/spirit/karma/reference/generate_api libs/spirit/doc/html/spirit/karma/reference/generator_concepts libs/spirit/doc/html/spirit/karma/reference/nonterminal libs/spirit/doc/html/spirit/karma/reference/numeric libs/spirit/doc/html/spirit/karma/reference/operator libs/spirit/doc/html/spirit/karma/reference/stream libs/spirit/doc/html/spirit/karma/reference/string libs/spirit/doc/html/spirit/karma/tutorials libs/spirit/doc/html/spirit/lex libs/spirit/doc/html/spirit/lex/abstracts libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives libs/spirit/doc/html/spirit/lex/quick_reference libs/spirit/doc/html/spirit/lex/reference libs/spirit/doc/html/spirit/lex/reference/lexer_concepts libs/spirit/doc/html/spirit/lex/reference/primitives libs/spirit/doc/html/spirit/lex/tutorials libs/spirit/doc/html/spirit/notes libs/spirit/doc/html/spirit/qi libs/spirit/doc/html/spirit/qi/quick_reference libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers libs/spirit/doc/html/spirit/qi/reference libs/spirit/doc/html/spirit/qi/reference/auxiliary libs/spirit/doc/html/spirit/qi/reference/binary libs/spirit/doc/html/spirit/qi/reference/char libs/spirit/doc/html/spirit/qi/reference/directive libs/spirit/doc/html/spirit/qi/reference/nonterminal libs/spirit/doc/html/spirit/qi/reference/numeric libs/spirit/doc/html/spirit/qi/reference/operator libs/spirit/doc/html/spirit/qi/reference/parse_api libs/spirit/doc/html/spirit/qi/reference/parser_concepts libs/spirit/doc/html/spirit/qi/reference/stream libs/spirit/doc/html/spirit/qi/reference/string libs/spirit/doc/html/spirit/qi/tutorials libs/spirit/doc/html/spirit/structure libs/spirit/doc/html/spirit/support libs/spirit/doc/html/spirit/what_s_new libs/spirit/doc/karma libs/spirit/doc/qi libs/spirit/example libs/spirit/example/lex libs/spirit/example/qi/compiler_tutorial/calc7 libs/spirit/example/qi/compiler_tutorial/calc8 libs/spirit/example/qi/compiler_tutorial/conjure1 libs/spirit/example/qi/compiler_tutorial/conjure2 libs/spirit/example/qi/compiler_tutorial/conjure3 libs/spirit/example/qi/compiler_tutorial/conjure_samples libs/spirit/example/qi/compiler_tutorial/mini_c libs/spirit/example/qi/compiler_tutorial/mini_c_samples libs/spirit/test libs/spirit/test/qi
From: hartmut.kaiser_at_[hidden]
Date: 2011-08-29 09:45:22


Author: hkaiser
Date: 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
New Revision: 74126
URL: http://svn.boost.org/trac/boost/changeset/74126

Log:
Spirit: Merging from trunk
Added:
   branches/release/boost/spirit/home/support/extended_variant.hpp
      - copied, changed from r73560, /trunk/boost/spirit/home/support/extended_variant.hpp
   branches/release/boost/spirit/include/support_extended_variant.hpp
      - copied unchanged from r73560, /trunk/boost/spirit/include/support_extended_variant.hpp
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5_1.html
      - copied unchanged from r74056, /trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5_1.html
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp
      - copied, changed from r73330, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/
      - copied from r73206, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp
      - copied, changed from r73330, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj
      - copied, changed from r73568, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj
   branches/release/libs/spirit/test/qi/regression_binary_action.cpp
      - copied unchanged from r74056, /trunk/libs/spirit/test/qi/regression_binary_action.cpp
Removed:
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/token_ids.hpp
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/token_ids.hpp
Properties modified:
   branches/release/ (props changed)
   branches/release/boost/ (props changed)
   branches/release/boost/spirit/ (props changed)
   branches/release/boost/spirit/home/ (props changed)
   branches/release/boost/spirit/home/karma/ (props changed)
   branches/release/boost/spirit/home/support/attributes.hpp (contents, props changed)
   branches/release/libs/ (props changed)
   branches/release/libs/spirit/ (props changed)
   branches/release/libs/spirit/doc/ (props changed)
   branches/release/libs/spirit/example/ (props changed)
   branches/release/libs/spirit/test/ (props changed)
Text files modified:
   branches/release/boost/spirit/home/karma/directive/duplicate.hpp | 1
   branches/release/boost/spirit/home/lex/lexer/lexertl/lexer.hpp | 7
   branches/release/boost/spirit/home/lex/lexer/lexertl/position_token.hpp | 16
   branches/release/boost/spirit/home/lex/lexer/lexertl/token.hpp | 17
   branches/release/boost/spirit/home/lex/lexer/token_def.hpp | 11
   branches/release/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp | 2
   branches/release/boost/spirit/home/qi/action/action.hpp | 7
   branches/release/boost/spirit/home/support/attributes.hpp | 51 +
   branches/release/boost/spirit/home/support/extended_variant.hpp | 22
   branches/release/boost/spirit/home/support/iterators/detail/istream_policy.hpp | 4
   branches/release/boost/spirit/repository/home/qi/operator/detail/keywords.hpp | 6
   branches/release/boost/spirit/repository/home/support/flush_multi_pass.hpp | 2
   branches/release/libs/spirit/doc/Jamfile | 1
   branches/release/libs/spirit/doc/html/index.html | 13
   branches/release/libs/spirit/doc/html/spirit/abstracts.html | 4
   branches/release/libs/spirit/doc/html/spirit/abstracts/attributes.html | 2
   branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html | 2
   branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/more_compound_attributes.html | 2
   branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html | 2
   branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html | 2
   branches/release/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 8
   branches/release/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 12
   branches/release/libs/spirit/doc/html/spirit/acknowledgments.html | 4
   branches/release/libs/spirit/doc/html/spirit/advanced.html | 4
   branches/release/libs/spirit/doc/html/spirit/advanced/customize.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/attribute_as.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from_container.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_container.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_string.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/char_type_of.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/extract_c_string.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/is_char.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/customize/transform.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/indepth.html | 2
   branches/release/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html | 2
   branches/release/libs/spirit/doc/html/spirit/faq.html | 4
   branches/release/libs/spirit/doc/html/spirit/introduction.html | 8
   branches/release/libs/spirit/doc/html/spirit/karma.html | 4
   branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/phoenix.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/action.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auto.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/boolean.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/directives.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/operators.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/real_number.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/stream.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/action.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auto.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/basics.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/binary.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/char.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/as.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/list.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/stream.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/string/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/s05.html | 890 +++++++++++++++++++++--------------
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html | 6
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_complex.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_matrix.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex.html | 4
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/common_notation.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexers.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/phoenix.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 2
   branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_tutorials.html | 2
   branches/release/libs/spirit/doc/html/spirit/notes.html | 4
   branches/release/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html | 2
   branches/release/libs/spirit/doc/html/spirit/notes/style_guide.html | 2
   branches/release/libs/spirit/doc/html/spirit/preface.html | 10
   branches/release/libs/spirit/doc/html/spirit/qi.html | 4
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/common_notation.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/non_terminals.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/phoenix.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auto.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/action.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auto.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/basics.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/binary.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/char.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/as.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html | 6
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html | 21
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/list.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html | 6
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/stream.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/string/string.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/s04.html | 792 ++++++++++++++++++++------------
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/complex___our_first_complex_parser.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list___stuffing_numbers_into_a_std__vector.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_attribute___one_more__with_style.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_redux___list_syntax.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/sum___adding_numbers.html | 2
   branches/release/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 2
   branches/release/libs/spirit/doc/html/spirit/rationale.html | 4
   branches/release/libs/spirit/doc/html/spirit/references.html | 4
   branches/release/libs/spirit/doc/html/spirit/repository.html | 4
   branches/release/libs/spirit/doc/html/spirit/structure.html | 4
   branches/release/libs/spirit/doc/html/spirit/structure/include.html | 2
   branches/release/libs/spirit/doc/html/spirit/support.html | 4
   branches/release/libs/spirit/doc/html/spirit/support/line_pos_iterator.html | 2
   branches/release/libs/spirit/doc/html/spirit/support/multi_pass.html | 2
   branches/release/libs/spirit/doc/html/spirit/support/utree.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new.html | 11
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_1_x.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html | 2
   branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html | 8
   branches/release/libs/spirit/doc/karma/complex.qbk | 4
   branches/release/libs/spirit/doc/qi/operator.qbk | 28
   branches/release/libs/spirit/doc/spirit2.qbk | 4
   branches/release/libs/spirit/doc/what_s_new.qbk | 24
   branches/release/libs/spirit/example/lex/strip_comments_lexer.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/calc7/main.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/calc8/main.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/annotation.hpp | 23
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/compiler.cpp | 8
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/expression_def.hpp | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/main.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/statement_def.hpp | 11
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/annotation.hpp | 23
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ast.hpp | 88 ---
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.cpp | 70 +-
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.hpp | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_lexer.hpp | 98 ++--
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_switch_lexer.hpp | 98 ++--
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/error_handler.hpp | 6
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/expression_def.hpp | 8
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/function_def.hpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp | 161 ++---
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.cpp | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp | 60 ++
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer_def.hpp | 74 +-
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/main.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/statement_def.hpp | 22
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/annotation.hpp | 99 +++
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ast.hpp | 129 +---
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.cpp | 970 +++++++++++++++++++++++++++++++--------
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.hpp | 282 +++++++++-
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_lexer.hpp | 98 ++--
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_switch_lexer.hpp | 98 ++--
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/error_handler.hpp | 6
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression.hpp | 3
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression_def.hpp | 24
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/function_def.hpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp | 169 +++---
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.cpp | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.hpp | 76 ++
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer_def.hpp | 102 ++-
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/main.cpp | 5
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/statement_def.hpp | 29
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/error.cnj | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj | 5
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/annotation.hpp | 23
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/compiler.cpp | 8
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/expression_def.hpp | 2
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/main.cpp | 4
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/statement_def.hpp | 5
   branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c_samples/3.mini | 2
   branches/release/libs/spirit/test/Jamfile | 1
   branches/release/libs/spirit/test/qi/actions2.cpp | 15
   branches/release/libs/spirit/test/qi/rule4.cpp | 16
   356 files changed, 3410 insertions(+), 2125 deletions(-)

Modified: branches/release/boost/spirit/home/karma/directive/duplicate.hpp
==============================================================================
--- branches/release/boost/spirit/home/karma/directive/duplicate.hpp (original)
+++ branches/release/boost/spirit/home/karma/directive/duplicate.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -21,6 +21,7 @@
 #include <boost/spirit/home/support/has_semantic_action.hpp>
 #include <boost/spirit/home/support/handles_container.hpp>
 #include <boost/fusion/include/cons.hpp>
+#include <boost/fusion/include/make_cons.hpp>
 #include <boost/fusion/include/vector.hpp>
 #include <boost/fusion/include/at_c.hpp>
 #include <boost/mpl/identity.hpp>

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/lexer.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/lexer.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -337,6 +337,11 @@
                 boost::lexer::debug::dump(state_machine_, std::cerr);
 #endif
                 initialized_dfa_ = true;
+
+// // release memory held by rules description
+// basic_rules_type rules;
+// rules.init_state_info(rules_); // preserve states
+// std::swap(rules, rules_);
             }
             return true;
         }
@@ -345,7 +350,7 @@
         // lexertl specific data
         mutable boost::lexer::basic_state_machine<char_type> state_machine_;
         boost::lexer::regex_flags flags_;
- basic_rules_type rules_;
+ /*mutable*/ basic_rules_type rules_;
 
         typename Functor::semantic_actions_type actions_;
         mutable bool initialized_dfa_;

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/position_token.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/position_token.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/position_token.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -19,6 +19,7 @@
 #include <boost/spirit/home/support/detail/lexer/rules.hpp>
 #include <boost/spirit/home/support/detail/lexer/consts.hpp>
 #include <boost/spirit/home/support/utree/utree_traits_fwd.hpp>
+#include <boost/spirit/home/lex/lexer/terminals.hpp>
 #include <boost/fusion/include/vector.hpp>
 #include <boost/fusion/include/at.hpp>
 #include <boost/fusion/include/value_at.hpp>
@@ -173,7 +174,7 @@
         iterpair_type& matched() { return matched_; }
         iterpair_type const& matched() const { return matched_; }
 
- token_value_type& value() { return unused; }
+ token_value_type& value() { static token_value_type u; return u; }
         token_value_type const& value() const { return unused; }
 
 #if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
@@ -554,24 +555,19 @@
         typedef Iterator iterator_type;
 
         // default constructed tokens correspond to EOI tokens
- position_token()
- : value_(iterpair_type(iterator_type(), iterator_type()))
- {}
+ position_token() {}
 
         // construct an invalid token
         explicit position_token(int)
- : base_type(0)
- , value_(iterpair_type(iterator_type(), iterator_type()))
- {}
+ : base_type(0) {}
 
         position_token(id_type id, std::size_t state, token_value_type const& value)
- : base_type(id, state, value), value_(value)
- {}
+ : base_type(id, state, value), value_(value) {}
 
         position_token(id_type id, std::size_t state, Iterator const& first
               , Iterator const& last)
           : base_type(id, state, first, last)
- , value_(iterpair_type(iterator_type(), iterator_type()))
+ , value_(iterpair_type(first, last))
         {}
 
         token_value_type& value() { return value_; }

Modified: branches/release/boost/spirit/home/lex/lexer/lexertl/token.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/lexer/lexertl/token.hpp (original)
+++ branches/release/boost/spirit/home/lex/lexer/lexertl/token.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -19,6 +19,7 @@
 #include <boost/spirit/home/support/detail/lexer/rules.hpp>
 #include <boost/spirit/home/support/detail/lexer/consts.hpp>
 #include <boost/spirit/home/support/utree/utree_traits_fwd.hpp>
+#include <boost/spirit/home/lex/lexer/terminals.hpp>
 #include <boost/fusion/include/vector.hpp>
 #include <boost/fusion/include/at.hpp>
 #include <boost/fusion/include/value_at.hpp>
@@ -140,7 +141,7 @@
         token(id_type id, std::size_t, token_value_type)
           : id_(id) {}
 
- token_value_type& value() { return unused; }
+ token_value_type& value() { static token_value_type u; return u; }
         token_value_type const& value() const { return unused; }
 
 #if defined(BOOST_SPIRIT_DEBUG)
@@ -446,7 +447,7 @@
             if (0 == t.value().which()) {
             // first access to the token value
                 typedef iterator_range<Iterator> iterpair_type;
- iterpair_type const& ip = get<iterpair_type>(t.value());
+ iterpair_type const& ip = boost::get<iterpair_type>(t.value());
 
             // Interestingly enough we use the assign_to() framework defined in
             // Spirit.Qi allowing to convert the pair of iterators to almost any
@@ -489,7 +490,7 @@
             }
             else {
             // reuse the already assigned value
- spirit::traits::assign_to(get<Attribute>(t.value()), attr);
+ spirit::traits::assign_to(boost::get<Attribute>(t.value()), attr);
             }
         }
     };
@@ -502,6 +503,14 @@
           , lex::lexertl::token<Iterator, AttributeTypes, HasState, Idtype> >
     {};
 
+ template <typename Iterator, typename AttributeTypes
+ , typename HasState, typename Idtype>
+ struct assign_to_container_from_value<utree
+ , lex::lexertl::token<Iterator, AttributeTypes, HasState, Idtype> >
+ : assign_to_attribute_from_value<utree
+ , lex::lexertl::token<Iterator, AttributeTypes, HasState, Idtype> >
+ {};
+
     template <typename Iterator>
     struct assign_to_container_from_value<
         iterator_range<Iterator>, iterator_range<Iterator> >
@@ -607,7 +616,7 @@
             typedef fusion::vector2<Idtype_, iterator_range<Iterator> >
                 attribute_type;
 
- iterpair_type const& ip = get<iterpair_type>(t.value());
+ iterpair_type const& ip = boost::get<iterpair_type>(t.value());
             attr = attribute_type(t.id(), ip);
         }
     };

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -115,9 +115,9 @@
         info what(Context& /*context*/) const
         {
             if (0 == def_.which())
- return info("token_def", get<string_type>(def_));
+ return info("token_def", boost::get<string_type>(def_));
 
- return info("token_def", get<char_type>(def_));
+ return info("token_def", boost::get<char_type>(def_));
         }
 
         ///////////////////////////////////////////////////////////////////////
@@ -148,11 +148,11 @@
 
             if (0 == def_.which()) {
                 unique_id_ = lexdef.add_token(state.c_str()
- , get<string_type>(def_), token_id_, target);
+ , boost::get<string_type>(def_), token_id_, target);
             }
             else {
                 unique_id_ = lexdef.add_token(state.c_str()
- , get<char_type>(def_), token_id_, target);
+ , boost::get<char_type>(def_), token_id_, target);
             }
         }
 
@@ -212,7 +212,8 @@
         string_type definition() const
         {
             return (0 == def_.which()) ?
- get<string_type>(def_) : string_type(1, get<char_type>(def_));
+ boost::get<string_type>(def_) :
+ string_type(1, boost::get<char_type>(def_));
         }
         std::size_t state() const { return token_state_; }
 

Modified: branches/release/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp
==============================================================================
--- branches/release/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp (original)
+++ branches/release/boost/spirit/home/lex/qi/plain_tokenid_mask.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -88,7 +88,7 @@
                 typedef typename token_type::id_type id_type;
 
                 token_type const& t = *first;
- if ((t.id() & mask) == mask)
+ if ((t.id() & mask) == id_type(mask))
                 {
                     spirit::traits::assign_to(t.id(), attr);
                     ++first;

Modified: branches/release/boost/spirit/home/qi/action/action.hpp
==============================================================================
--- branches/release/boost/spirit/home/qi/action/action.hpp (original)
+++ branches/release/boost/spirit/home/qi/action/action.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -66,8 +66,13 @@
             {
                 // call the function, passing the attribute, the context.
                 // The client can return false to fail parsing.
- if (traits::action_dispatch<Subject>()(f, attr, context))
+ if (traits::action_dispatch<Subject>()(f, attr, context))
+ {
+ // Do up-stream transformation, this integrates the results
+ // back into the original attribute value, if appropriate.
+ traits::post_transform(attr_, attr);
                     return true;
+ }
 
                 // reset iterators if semantic action failed the match
                 // retrospectively

Modified: branches/release/boost/spirit/home/support/attributes.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/attributes.hpp (original)
+++ branches/release/boost/spirit/home/support/attributes.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -96,7 +96,7 @@
     }
 
     template <typename T, typename Expected, typename Enable /*= void*/>
- struct is_substitute
+ struct is_substitute
       : detail::is_substitute_impl<T, Expected> {};
 
     template <typename T, typename Expected>
@@ -118,8 +118,8 @@
         struct is_weak_substitute_impl : is_convertible<T, Expected> {};
 
 // // An exposed attribute is a weak substitute for a supplied container
-// // attribute if it is a weak substitute for its value_type. This is
-// // true as all character parsers exposing compatible with a container
+// // attribute if it is a weak substitute for its value_type. This is
+// // true as all character parsers are compatible with a container
 // // attribute having the corresponding character type as its value_type.
 // template <typename T, typename Expected>
 // struct is_weak_substitute_for_value_type
@@ -134,11 +134,11 @@
 // , is_string<Expected>
 // , is_weak_substitute_for_value_type<T, Expected> >
 // >::type>
-// : mpl::true_
+// : mpl::true_
 // {};
 
         // An exposed container attribute is a weak substitute for a supplied
- // container attribute if and only if their value_types are weak
+ // container attribute if and only if their value_types are weak
         // substitutes.
         template <typename T, typename Expected>
         struct value_type_is_weak_substitute
@@ -157,7 +157,7 @@
>::type>
           : mpl::true_ {};
 
- // Two fusion sequences are weak substitutes if and only if their
+ // Two fusion sequences are weak substitutes if and only if their
         // elements are pairwise weak substitutes.
         template <typename T, typename Expected>
         struct is_weak_substitute_impl<T, Expected,
@@ -178,15 +178,15 @@
             typename enable_if<
                 mpl::and_<
                     mpl::not_<fusion::traits::is_sequence<T> >
- , fusion::traits::is_sequence<Expected> >
+ , fusion::traits::is_sequence<Expected> >
>::type>
           : mpl::false_ {};
     }
 
- // main template forwards to detail namespace, this helps older compilers
+ // main template forwards to detail namespace, this helps older compilers
     // to disambiguate things
     template <typename T, typename Expected, typename Enable /*= void*/>
- struct is_weak_substitute
+ struct is_weak_substitute
       : detail::is_weak_substitute_impl<T, Expected> {};
 
     template <typename T, typename Expected>
@@ -223,7 +223,7 @@
     template <typename T>
     struct is_weak_substitute<T, T
           , typename enable_if<
- mpl::and_<not_is_optional<T>, not_is_variant<T> >
+ mpl::and_<not_is_optional<T>, not_is_variant<T> >
>::type>
       : mpl::true_ {};
 
@@ -241,9 +241,22 @@
>::type>
       : mpl::true_ {};
 
+ namespace detail
+ {
+ // By declaring a nested struct in your class/struct, you tell
+ // spirit that it is regarded as a variant type. The minimum
+ // required interface for such a variant is that it has constructors
+ // for various types supported by your variant and a typedef 'types'
+ // which is an mpl sequence of the contained types.
+ //
+ // This is an intrusive interface. For a non-intrusive interface,
+ // use the not_is_variant trait.
+ BOOST_MPL_HAS_XXX_TRAIT_DEF(adapted_variant_tag)
+ }
+
     template <typename T, typename Domain, typename Enable/* = void*/>
     struct not_is_variant
- : mpl::true_
+ : mpl::not_<detail::has_adapted_variant_tag<T> >
     {};
 
     template <BOOST_VARIANT_ENUM_PARAMS(typename T), typename Domain>
@@ -460,7 +473,7 @@
                     fusion::traits::is_sequence<Attribute>
                   , mpl::not_<traits::is_container<Attribute> >
>
- >::type>
+ >::type>
         {
             typedef typename fusion::result_of::size<Attribute>::value_type type;
 
@@ -477,7 +490,7 @@
                     traits::is_container<Attribute>
                   , mpl::not_<traits::is_iterator_range<Attribute> >
>
- >::type>
+ >::type>
         {
             typedef typename Attribute::size_type type;
 
@@ -489,7 +502,7 @@
     }
 
     template <typename Attribute, typename Enable/* = void*/>
- struct attribute_size
+ struct attribute_size
       : detail::attribute_size_impl<Attribute>
     {};
 
@@ -500,7 +513,7 @@
 
         static type call(optional<Attribute> const& val)
         {
- if (!val)
+ if (!val)
                 return 0;
             return val.get();
         }
@@ -591,6 +604,12 @@
         typedef boost::optional<T> type;
     };
 
+ template <typename T>
+ struct build_optional<boost::optional<T> >
+ {
+ typedef boost::optional<T> type;
+ };
+
     template <>
     struct build_optional<unused_type>
     {
@@ -1288,7 +1307,7 @@
                     o << "\\t";
                 else if (c == static_cast<Char>('\v'))
                     o << "\\v";
- else if (c < 127 && iscntrl(c))
+ else if (c >= 0 && c < 127 && iscntrl(c))
                     o << "\\" << std::oct << static_cast<int>(c);
                 else
                     o << static_cast<char>(c);

Copied: branches/release/boost/spirit/home/support/extended_variant.hpp (from r73560, /trunk/boost/spirit/home/support/extended_variant.hpp)
==============================================================================
--- /trunk/boost/spirit/home/support/extended_variant.hpp (original)
+++ branches/release/boost/spirit/home/support/extended_variant.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -44,9 +44,27 @@
             : var(var) {}
 
         template <typename F>
- typename F::result_type apply_visitor(F v) const
+ typename F::result_type apply_visitor(F const& v)
         {
- var.apply_visitor(v);
+ return var.apply_visitor(v);
+ }
+
+ template <typename F>
+ typename F::result_type apply_visitor(F const& v) const
+ {
+ return var.apply_visitor(v);
+ }
+
+ template <typename F>
+ typename F::result_type apply_visitor(F& v)
+ {
+ return var.apply_visitor(v);
+ }
+
+ template <typename F>
+ typename F::result_type apply_visitor(F& v) const
+ {
+ return var.apply_visitor(v);
         }
 
         variant_type const& get() const

Modified: branches/release/boost/spirit/home/support/iterators/detail/istream_policy.hpp
==============================================================================
--- branches/release/boost/spirit/home/support/iterators/detail/istream_policy.hpp (original)
+++ branches/release/boost/spirit/home/support/iterators/detail/istream_policy.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -90,7 +90,9 @@
             explicit shared(T& input)
               : input_(input), curtok_(-1)
               , initialized_(false), eof_reached_(false)
- {}
+ {
+ peek_one(); // istreams may be at eof right in the beginning
+ }
 
             void read_one()
             {

Modified: branches/release/boost/spirit/repository/home/qi/operator/detail/keywords.hpp
==============================================================================
--- branches/release/boost/spirit/repository/home/qi/operator/detail/keywords.hpp (original)
+++ branches/release/boost/spirit/repository/home/qi/operator/detail/keywords.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -42,10 +42,12 @@
         class parse_dispatcher
             : public boost::static_visitor<bool>
         {
+ typedef typename add_reference<Attribute>::type attr_reference;
+
             public:
             parse_dispatcher(const Elements &elements,Iterator& first, Iterator const& last
           , Context& context, Skipper const& skipper
- , Flags &flags, Counters &counters, Attribute& attr) :
+ , Flags &flags, Counters &counters, attr_reference attr) :
                  elements(elements), first(first), last(last)
                , context(context), skipper(skipper)
                , flags(flags),counters(counters), attr(attr)
@@ -107,7 +109,7 @@
             const Skipper &skipper;
             Flags &flags;
             Counters &counters;
- Attribute &attr;
+ attr_reference attr;
         };
       
 }}}}}

Modified: branches/release/boost/spirit/repository/home/support/flush_multi_pass.hpp
==============================================================================
--- branches/release/boost/spirit/repository/home/support/flush_multi_pass.hpp (original)
+++ branches/release/boost/spirit/repository/home/support/flush_multi_pass.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -15,7 +15,7 @@
 namespace boost { namespace spirit { namespace repository
 {
     // The flush_multi_pass extended terminal
- BOOST_SPIRIT_DEFINE_TERMINALS(( flush_multi_pass ))
+ BOOST_SPIRIT_TERMINAL( flush_multi_pass )
 
 }}}
 

Modified: branches/release/libs/spirit/doc/Jamfile
==============================================================================
--- branches/release/libs/spirit/doc/Jamfile (original)
+++ branches/release/libs/spirit/doc/Jamfile 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -51,7 +51,6 @@
         <format>pdf:<xsl:param>img.src.path=$(images_location)/
         <format>pdf:<xsl:param>draft.mode="no"
         <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/spirit/doc/html
-
     ;
 
 

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -1,10 +1,10 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Spirit 2.5</title>
+<title>Spirit 2.6</title>
 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="index.html" title="Spirit 2.5">
+<link rel="home" href="index.html" title="Spirit 2.6">
 <link rel="next" href="spirit/preface.html" title="Preface">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,7 +22,7 @@
 <div class="titlepage">
 <div>
 <div><h2 class="title">
-<a name="spirit"></a>Spirit 2.5</h2></div>
+<a name="spirit"></a>Spirit 2.6</h2></div>
 <div><div class="authorgroup">
 <div class="author"><h3 class="author">
 <span class="firstname">Joel</span> <span class="surname">de Guzman</span>
@@ -33,7 +33,7 @@
 </div></div>
 <div><p class="copyright">Copyright &#169; 2001-2011 Joel de Guzman, Hartmut Kaiser</p></div>
 <div><div class="legalnotice">
-<a name="id841498"></a><p>
+<a name="id788948"></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>
@@ -47,6 +47,7 @@
 <dt><span class="section">Preface</span></dt>
 <dt><span class="section">What's New</span></dt>
 <dd><dl>
+<dt><span class="section">Spirit V2.5.1</span></dt>
 <dt><span class="section">Spirit V2.5</span></dt>
 <dt><span class="section">Spirit V2.4.2</span></dt>
 <dt><span class="section">Spirit V2.4.1</span></dt>
@@ -289,12 +290,12 @@
 </div>
 <p>
     This is the documentation of the newest version of Spirit
- (currently, V2.5). If you're looking for the documentation of Spirit's previous
+ (currently, V2.6). If you're looking for the documentation of Spirit's previous
     version (formerly Spirit V1.8), see Spirit.Classic.
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: June 13, 2011 at 17:45:26 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 24, 2011 at 22:37:14 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Abstracts</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="structure/include.html" title="Include">
 <link rel="next" href="abstracts/syntax_diagram.html" title="Syntax Diagram">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/attributes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/attributes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/attributes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attributes</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="parsing_expression_grammar.html" title="Parsing Expression Grammar">
 <link rel="next" href="attributes/primitive_attributes.html" title="Attributes of Primitive Components">

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attributes of Compound Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../attributes.html" title="Attributes">
 <link rel="prev" href="primitive_attributes.html" title="Attributes of Primitive Components">
 <link rel="next" href="more_compound_attributes.html" title="More About Attributes of Compound Components">

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/more_compound_attributes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/more_compound_attributes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/more_compound_attributes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>More About Attributes of Compound Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../attributes.html" title="Attributes">
 <link rel="prev" href="compound_attributes.html" title="Attributes of Compound Components">
 <link rel="next" href="nonterminal_attributes.html" title="Attributes of Rules and Grammars">

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attributes of Rules and Grammars</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../attributes.html" title="Attributes">
 <link rel="prev" href="more_compound_attributes.html" title="More About Attributes of Compound Components">
 <link rel="next" href="../../qi.html" title="Qi - Writing Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attributes of Primitive Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../attributes.html" title="Attributes">
 <link rel="prev" href="../attributes.html" title="Attributes">
 <link rel="next" href="compound_attributes.html" title="Attributes of Compound Components">

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parsing Expression Grammar</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="syntax_diagram.html" title="Syntax Diagram">
 <link rel="next" href="attributes.html" title="Attributes">
@@ -28,7 +28,7 @@
       Expression Grammar</a>
 </h3></div></div></div>
 <p>
- Parsing Expression Grammars (PEG) <sup>[<a name="id860763" href="#ftn.id860763" class="footnote">6</a>]</sup> are a derivative of Extended Backus-Naur Form (EBNF) <sup>[<a name="id860775" href="#ftn.id860775" class="footnote">7</a>]</sup> with a different interpretation, designed to represent a recursive
+ Parsing Expression Grammars (PEG) <sup>[<a name="id814544" href="#ftn.id814544" class="footnote">6</a>]</sup> are a derivative of Extended Backus-Naur Form (EBNF) <sup>[<a name="id814556" href="#ftn.id814556" class="footnote">7</a>]</sup> with a different interpretation, designed to represent a recursive
         descent parser. A PEG can be directly represented as a recursive-descent
         parser.
       </p>
@@ -189,11 +189,11 @@
 </table></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id860763" href="#id860763" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id814544" href="#id814544" class="para">6</a>] </sup>
           Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
           Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
         </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id860775" href="#id860775" class="para">7</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id814556" href="#id814556" class="para">7</a>] </sup>
           Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
         </p></div>
 </div>

Modified: branches/release/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Syntax Diagram</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="../abstracts.html" title="Abstracts">
 <link rel="next" href="parsing_expression_grammar.html" title="Parsing Expression Grammar">
@@ -28,9 +28,9 @@
 </h3></div></div></div>
 <p>
         In the next section, we will deal with Parsing Expression Grammars (PEG)
- <sup>[<a name="id860356" href="#ftn.id860356" class="footnote">3</a>]</sup>, a variant of Extended Backus-Naur Form (EBNF) <sup>[<a name="id860368" href="#ftn.id860368" class="footnote">4</a>]</sup> with a different interpretation. It is easier to understand PEG
+ <sup>[<a name="id814137" href="#ftn.id814137" class="footnote">3</a>]</sup>, a variant of Extended Backus-Naur Form (EBNF) <sup>[<a name="id814149" href="#ftn.id814149" class="footnote">4</a>]</sup> with a different interpretation. It is easier to understand PEG
         using Syntax Diagrams. Syntax diagrams represent a grammar graphically. It
- was used extensively by Niklaus Wirth <sup>[<a name="id860380" href="#ftn.id860380" class="footnote">5</a>]</sup> in the "Pascal User Manual". Syntax Diagrams are easily
+ was used extensively by Niklaus Wirth <sup>[<a name="id814161" href="#ftn.id814161" class="footnote">5</a>]</sup> in the "Pascal User Manual". Syntax Diagrams are easily
         understandable by programmers due to their similarity to flow charts. The
         isomorphism of the diagrams and functions make them ideal for representing
         Recursive Descent parsers which are essentially mutually recursive functions.
@@ -147,14 +147,14 @@
       </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id860356" href="#id860356" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id814137" href="#id814137" class="para">3</a>] </sup>
           Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
           Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
         </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id860368" href="#id860368" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id814149" href="#id814149" class="para">4</a>] </sup>
           Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
         </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id860380" href="#id860380" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id814161" href="#id814161" class="para">5</a>] </sup>
           Niklaus Wirth: The Programming Language Pascal. (July 1973)
         </p></div>
 </div>

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Acknowledgments</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="repository.html" title="Spirit Repository">
 <link rel="next" href="references.html" title="References">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/advanced.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Advanced</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="lex/reference/primitives/char_tokendef.html" title="Tokens Matching Single Characters">
 <link rel="next" href="advanced/indepth.html" title="In Depth">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Customization of Spirit's Attribute Handling</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../advanced.html" title="Advanced">
 <link rel="prev" href="indepth/parsers_indepth.html" title="Parsers in Depth">
 <link rel="next" href="customize/is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store a Parsed Attribute Value (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)">
 <link rel="next" href="assign_to/assign_to_attribute_from_iterators.html" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store an Attribute after a Parser Produced a Pair of Iterators (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
 <link rel="prev" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
 <link rel="next" href="assign_to_attribute_from_value.html" title="Store an Attribute Value after a Parser Produced a Value (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store an Attribute Value after a Parser Produced a Value (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
 <link rel="prev" href="assign_to_attribute_from_iterators.html" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
 <link rel="next" href="assign_to_container_from_value.html" title="Store an Attribute Value into a Container after a Parser Produced a Value (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store an Attribute Value into a Container after a Parser Produced a Value (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
 <link rel="prev" href="assign_to_attribute_from_value.html" title="Store an Attribute Value after a Parser Produced a Value (Qi)">
 <link rel="next" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/attribute_as.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/attribute_as.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/attribute_as.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Atomically Extract an Attribute Value from a Container (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="string_traits/extract_c_string.html" title="Get a C-style String from a String Type">
 <link rel="next" href="auto.html" title="Create Components from Attributes (Qi and Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Create Components from Attributes (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="attribute_as.html" title="Atomically Extract an Attribute Value from a Container (Karma)">
 <link rel="next" href="auto/create_parser.html" title="Define a Custom Attribute Mapping for a Parser">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Define a Custom Attribute Mapping for a Generator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auto.html" title="Create Components from Attributes (Qi and Karma)">
 <link rel="prev" href="create_parser.html" title="Define a Custom Attribute Mapping for a Parser">
 <link rel="next" href="../../../support.html" title="Supporting Libraries">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Define a Custom Attribute Mapping for a Parser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auto.html" title="Create Components from Attributes (Qi and Karma)">
 <link rel="prev" href="../auto.html" title="Create Components from Attributes (Qi and Karma)">
 <link rel="next" href="create_generator.html" title="Define a Custom Attribute Mapping for a Generator">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Re-Initialize an Attribute Value before Parsing (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="store_value/push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">
 <link rel="next" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Extract an Attribute Value to Generate Output (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)">
 <link rel="next" href="extract_from_container.html" title="Extract From a Container Attribute Value to Generate Output (Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from_container.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from_container.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/extract_from_container.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Extract From a Container Attribute Value to Generate Output (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)">
 <link rel="next" href="iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine Whether a Component Handles Container Attributes (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="is_string.html" title="Determine if a Type Should be Treated as a String (Qi and Karma)">
 <link rel="next" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_container.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_container.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_container.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine if a Type Should be Treated as a Container (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="next" href="is_string.html" title="Determine if a Type Should be Treated as a String (Qi and Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/is_string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine if a Type Should be Treated as a String (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">
 <link rel="next" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Qi and Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Extract Attribute Values to Generate Output from a Container (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="extract_from_container.html" title="Extract From a Container Attribute Value to Generate Output (Karma)">
 <link rel="next" href="iterate/container_iterator.html" title="Determine the Type of the Iterator of a Container">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Get the Iterator pointing to the Begin of a Container Attribute</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="container_iterator.html" title="Determine the Type of the Iterator of a Container">
 <link rel="next" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Compare two Iterator pointing into a Container Attribute for Equality</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute">
 <link rel="next" href="../string_traits.html" title="Extract a C-Style String to Generate Output from a String Type (Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine the Type of the Iterator of a Container</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="next" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Dereference the Iterator pointing into a Container Attribute</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute">
 <link rel="next" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Get the Iterator pointing to the End of a Container Attribute</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">
 <link rel="next" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Increment the Iterator pointing into a Container Attribute</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 <link rel="prev" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">
 <link rel="next" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store Parsed Attribute Values into a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="assign_to/assign_to_container_from_value.html" title="Store an Attribute Value into a Container after a Parser Produced a Value (Qi)">
 <link rel="next" href="store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine the Type to be Stored in a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
 <link rel="prev" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
 <link rel="next" href="push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Store a Parsed Attribute Value into a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
 <link rel="prev" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)">
 <link rel="next" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Extract a C-Style String to Generate Output from a String Type (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="iterate/compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality">
 <link rel="next" href="string_traits/is_char.html" title="Determine if a Type is a Character">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/char_type_of.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/char_type_of.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/char_type_of.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine the Character Type of a String</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string_traits.html" title="Extract a C-Style String to Generate Output from a String Type (Karma)">
 <link rel="prev" href="is_char.html" title="Determine if a Type is a Character">
 <link rel="next" href="extract_c_string.html" title="Get a C-style String from a String Type">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/extract_c_string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/extract_c_string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/extract_c_string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Get a C-style String from a String Type</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string_traits.html" title="Extract a C-Style String to Generate Output from a String Type (Karma)">
 <link rel="prev" href="char_type_of.html" title="Determine the Character Type of a String">
 <link rel="next" href="../attribute_as.html" title="Atomically Extract an Attribute Value from a Container (Karma)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/is_char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/is_char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/string_traits/is_char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Determine if a Type is a Character</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string_traits.html" title="Extract a C-Style String to Generate Output from a String Type (Karma)">
 <link rel="prev" href="../string_traits.html" title="Extract a C-Style String to Generate Output from a String Type (Karma)">
 <link rel="next" href="char_type_of.html" title="Determine the Character Type of a String">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/customize/transform.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/customize/transform.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/customize/transform.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Transform an Attribute to a Different Type (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 <link rel="prev" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Qi and Karma)">
 <link rel="next" href="assign_to.html" title="Store a Parsed Attribute Value (Qi)">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/indepth.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/indepth.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/indepth.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>In Depth</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../advanced.html" title="Advanced">
 <link rel="prev" href="../advanced.html" title="Advanced">
 <link rel="next" href="indepth/parsers_indepth.html" title="Parsers in Depth">

Modified: branches/release/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parsers in Depth</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../indepth.html" title="In Depth">
 <link rel="prev" href="../indepth.html" title="In Depth">
 <link rel="next" href="../customize.html" title="Customization of Spirit's Attribute Handling">

Modified: branches/release/libs/spirit/doc/html/spirit/faq.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/faq.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/faq.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Spirit FAQ</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="support/utree.html" title="The utree data structure">
 <link rel="next" href="notes.html" title="Notes">
 </head>

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Introduction</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="what_s_new/spirit_1_x.html" title="Spirit Classic">
 <link rel="next" href="structure.html" title="Structure">
 </head>
@@ -29,7 +29,7 @@
 <p>
       Boost Spirit is an object-oriented, recursive-descent parser and output generation
       library for C++. It allows you to write grammars and format descriptions using
- a format similar to Extended Backus Naur Form (EBNF)<sup>[<a name="id855003" href="#ftn.id855003" class="footnote">2</a>]</sup> directly in C++. These inline grammar specifications can mix freely
+ a format similar to Extended Backus Naur Form (EBNF)<sup>[<a name="id809679" href="#ftn.id809679" class="footnote">2</a>]</sup> directly in C++. These inline grammar specifications can mix freely
       with other C++ code and, thanks to the generative power of C++ templates, are
       immediately executable. In retrospect, conventional compiler-compilers or parser-generators
       have to perform an additional translation step from the source EBNF code to
@@ -453,7 +453,7 @@
 </div>
 <br class="table-break"><div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id855003" href="#id855003" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id809679" href="#id809679" class="para">2</a>] </sup>
         <a href="http://www.cl.cam.ac.uk/%7Emgk25/iso-14977.pdf" target="_top">ISO-EBNF</a>
       </p></div>
 </div>

Modified: branches/release/libs/spirit/doc/html/spirit/karma.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Karma - Writing Generators</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="qi/s04.html" title="Qi Index">
 <link rel="next" href="karma/tutorials.html" title="Tutorials">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Performance Measurements</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="reference/string/symbols.html" title="Symbols Generator (symbols)">
 <link rel="next" href="performance_measurements/numeric_performance.html" title="Performance of Numeric Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Performance of Numeric Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../performance_measurements.html" title="Performance Measurements">
 <link rel="prev" href="../performance_measurements.html" title="Performance Measurements">
 <link rel="next" href="numeric_performance/int_performance.html" title="Comparing the performance of a single int_ generator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Comparing the performance of a single double_ generator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric_performance.html" title="Performance of Numeric Generators">
 <link rel="prev" href="int_performance.html" title="Comparing the performance of a single int_ generator">
 <link rel="next" href="format_performance.html" title="Comparing the performance of a sequence of several generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Comparing the performance of a sequence of several generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric_performance.html" title="Performance of Numeric Generators">
 <link rel="prev" href="double_performance.html" title="Comparing the performance of a single double_ generator">
 <link rel="next" href="../../s05.html" title="Karma Index">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Comparing the performance of a single int_ generator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric_performance.html" title="Performance of Numeric Generators">
 <link rel="prev" href="../numeric_performance.html" title="Performance of Numeric Generators">
 <link rel="next" href="double_performance.html" title="Comparing the performance of a single double_ generator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quick Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="tutorials/num_matrix.html" title="Matrix of Numbers - Printing Numbers From a Matrix">
 <link rel="next" href="quick_reference/common_notation.html" title="Common Notation">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Common Notation</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="../quick_reference.html" title="Quick Reference">
 <link rel="next" href="primitive_generators.html" title="Karma Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Compound Attribute Rules</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="primitive_generators/action.html" title="Generator Semantic Actions">
 <link rel="next" href="non_terminals.html" title="Nonterminals">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminals</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="compound_attribute_rules.html" title="Compound Attribute Rules">
 <link rel="next" href="semantic_actions.html" title="Generator Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/phoenix.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/phoenix.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/phoenix.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Phoenix</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="semantic_actions.html" title="Generator Semantic Actions">
 <link rel="next" href="../reference.html" title="Reference">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Karma Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="common_notation.html" title="Common Notation">
 <link rel="next" href="primitive_generators/char.html" title="Character Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/action.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/action.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/action.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="directives.html" title="Generator Directives">
 <link rel="next" href="../compound_attribute_rules.html" title="Compound Attribute Rules">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auto.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auto.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auto.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auto Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="auxiliary.html" title="Auxiliary Generators">
 <link rel="next" href="operators.html" title="Generator Operators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auxiliary Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="binary.html" title="Binary Generators">
 <link rel="next" href="auto.html" title="Auto Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="stream.html" title="Stream Generators">
 <link rel="next" href="auxiliary.html" title="Auxiliary Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/boolean.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/boolean.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/boolean.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Boolean Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="unsigned_int.html" title="Unsigned Integer Generators">
 <link rel="next" href="stream.html" title="Stream Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="../primitive_generators.html" title="Karma Generators">
 <link rel="next" href="string.html" title="String Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/directives.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/directives.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/directives.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="operators.html" title="Generator Operators">
 <link rel="next" href="action.html" title="Generator Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/operators.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/operators.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/operators.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Operators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="auto.html" title="Auto Generators">
 <link rel="next" href="directives.html" title="Generator Directives">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/real_number.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/real_number.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/real_number.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Real Number Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="string.html" title="String Generators">
 <link rel="next" href="signed_int.html" title="Integer Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Integer Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="real_number.html" title="Real Number Generators">
 <link rel="next" href="unsigned_int.html" title="Unsigned Integer Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/stream.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/stream.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/stream.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="boolean.html" title="Boolean Generators">
 <link rel="next" href="binary.html" title="Binary Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="char.html" title="Character Generators">
 <link rel="next" href="real_number.html" title="Real Number Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Unsigned Integer Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitive_generators.html" title="Karma Generators">
 <link rel="prev" href="signed_int.html" title="Integer Generators">
 <link rel="next" href="boolean.html" title="Boolean Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/quick_reference/semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="non_terminals.html" title="Nonterminals">
 <link rel="next" href="phoenix.html" title="Phoenix">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="quick_reference/phoenix.html" title="Phoenix">
 <link rel="next" href="reference/generator_concepts.html" title="Generator Concepts">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/action.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/action.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/action.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Semantic Actions with Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="generate_api/create_generator.html" title="API for Automatic Generator Creation">
 <link rel="next" href="auto.html" title="Auto Generator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auto.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auto.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auto.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auto Generator</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="action.html" title="Semantic Actions with Generators">
 <link rel="next" href="auxiliary.html" title="Auxiliary Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auxiliary Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="auto.html" title="Auto Generator">
 <link rel="next" href="auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attribute Transformation Pseudo Generator (attr_cast)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Generators">
 <link rel="prev" href="../auxiliary.html" title="Auxiliary Generators">
 <link rel="next" href="eol.html" title="End of Line Generator (eol)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>End of Line Generator (eol)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Generators">
 <link rel="prev" href="attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)">
 <link rel="next" href="eps.html" title="Epsilon Generator (eps)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Epsilon Generator (eps)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Generators">
 <link rel="prev" href="eol.html" title="End of Line Generator (eol)">
 <link rel="next" href="lazy.html" title="Lazy Generator (lazy)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lazy Generator (lazy)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Generators">
 <link rel="prev" href="eps.html" title="Epsilon Generator (eps)">
 <link rel="next" href="../binary.html" title="Binary Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/basics.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/basics.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/basics.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Basics</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="generator_concepts/nonterminal.html" title="Nonterminal">
 <link rel="next" href="generate_api.html" title="Generator API">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/binary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/binary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/binary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="auxiliary/lazy.html" title="Lazy Generator (lazy)">
 <link rel="next" href="binary/binary_native.html" title="Binary Native Endianness Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Big Endianness Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Generators">
 <link rel="prev" href="binary_little.html" title="Binary Little Endianness Generators">
 <link rel="next" href="../char.html" title="Char Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Little Endianness Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Generators">
 <link rel="prev" href="binary_native.html" title="Binary Native Endianness Generators">
 <link rel="next" href="binary_big.html" title="Binary Big Endianness Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Native Endianness Generators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Generators">
 <link rel="prev" href="../binary.html" title="Binary Generators">
 <link rel="next" href="binary_little.html" title="Binary Little Endianness Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Char Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="binary/binary_big.html" title="Binary Big Endianness Generators">
 <link rel="next" href="char/char_generator.html" title="Character Generators (char_, lit)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Classification Generators (alnum, digit, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../char.html" title="Char Generators">
 <link rel="prev" href="char_generator.html" title="Character Generators (char_, lit)">
 <link rel="next" href="../directive.html" title="Generator Directives">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Generators (char_, lit)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../char.html" title="Char Generators">
 <link rel="prev" href="../char.html" title="Char Generators">
 <link rel="next" href="char_class.html" title="Character Classification Generators (alnum, digit, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">
 <link rel="next" href="directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Alignment Generator Directives (left_align[], center[], right_align[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="../directive.html" title="Generator Directives">
 <link rel="next" href="repeat.html" title="Repetition Generator Directive (repeat[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/as.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/as.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/as.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="columns.html" title="Generator Directive Separating Output Into Columns (columns[])">
 <link rel="next" href="../nonterminal.html" title="Nonterminal Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directive for Temporary Output Buffering (buffer[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="maxwidth.html" title="Generator Directives Controlling the Maximum Field Width (maxwidth[])">
 <link rel="next" href="omit.html" title="Generator Directives Consuming Attributes (omit[] and skip[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directive Separating Output Into Columns (columns[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="duplicate.html" title="Generator Directive Duplicating Attributes (duplicate[])">
 <link rel="next" href="as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="repeat.html" title="Repetition Generator Directive (repeat[])">
 <link rel="next" href="upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directive Duplicating Attributes (duplicate[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="omit.html" title="Generator Directives Consuming Attributes (omit[] and skip[])">
 <link rel="next" href="columns.html" title="Generator Directive Separating Output Into Columns (columns[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives Controlling the Maximum Field Width (maxwidth[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])">
 <link rel="next" href="buffer.html" title="Generator Directive for Temporary Output Buffering (buffer[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives Consuming Attributes (omit[] and skip[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="buffer.html" title="Generator Directive for Temporary Output Buffering (buffer[])">
 <link rel="next" href="duplicate.html" title="Generator Directive Duplicating Attributes (duplicate[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Repetition Generator Directive (repeat[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">
 <link rel="next" href="delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Directives Controlling Case Sensitivity (upper[], lower[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Generator Directives">
 <link rel="prev" href="delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])">
 <link rel="next" href="maxwidth.html" title="Generator Directives Controlling the Maximum Field Width (maxwidth[])">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator API</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="basics.html" title="Generator Basics">
 <link rel="next" href="generate_api/iterator_api.html" title="Iterator Based Generator API">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>API for Automatic Generator Creation</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generate_api.html" title="Generator API">
 <link rel="prev" href="stream_api.html" title="Stream Based Generator API">
 <link rel="next" href="../action.html" title="Semantic Actions with Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Iterator Based Generator API</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generate_api.html" title="Generator API">
 <link rel="prev" href="../generate_api.html" title="Generator API">
 <link rel="next" href="stream_api.html" title="Stream Based Generator API">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Based Generator API</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generate_api.html" title="Generator API">
 <link rel="prev" href="iterator_api.html" title="Iterator Based Generator API">
 <link rel="next" href="create_generator.html" title="API for Automatic Generator Creation">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Concepts</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="../reference.html" title="Reference">
 <link rel="next" href="generator_concepts/generator.html" title="Generator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>BinaryGenerator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="unarygenerator.html" title="UnaryGenerator">
 <link rel="next" href="narygenerator.html" title="NaryGenerator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="next" href="primitivegenerator.html" title="PrimitiveGenerator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>NaryGenerator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="binarygenerator.html" title="BinaryGenerator">
 <link rel="next" href="nonterminal.html" title="Nonterminal">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminal</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="narygenerator.html" title="NaryGenerator">
 <link rel="next" href="../basics.html" title="Generator Basics">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>PrimitiveGenerator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="generator.html" title="Generator">
 <link rel="next" href="unarygenerator.html" title="UnaryGenerator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>UnaryGenerator</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../generator_concepts.html" title="Generator Concepts">
 <link rel="prev" href="primitivegenerator.html" title="PrimitiveGenerator">
 <link rel="next" href="binarygenerator.html" title="BinaryGenerator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminal Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])">
 <link rel="next" href="nonterminal/rule.html" title="Generator Rule">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Grammar</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../nonterminal.html" title="Nonterminal Generators">
 <link rel="prev" href="rule.html" title="Generator Rule">
 <link rel="next" href="../numeric.html" title="Numeric Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Rule</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../nonterminal.html" title="Nonterminal Generators">
 <link rel="prev" href="../nonterminal.html" title="Nonterminal Generators">
 <link rel="next" href="grammar.html" title="Generator Grammar">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Numeric Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="nonterminal/grammar.html" title="Generator Grammar">
 <link rel="next" href="numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Boolean Generators (bool_)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Generators">
 <link rel="prev" href="real_number.html" title="Real Number Generators (float_, double_, etc.)">
 <link rel="next" href="../operator.html" title="Generator Operators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Real Number Generators (float_, double_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Generators">
 <link rel="prev" href="signed_int.html" title="Signed Integer Number Generators (int_, etc.)">
 <link rel="next" href="boolean.html" title="Boolean Generators (bool_)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Signed Integer Number Generators (int_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Generators">
 <link rel="prev" href="unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">
 <link rel="next" href="real_number.html" title="Real Number Generators (float_, double_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Unsigned Integer Number Generators (uint_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Generators">
 <link rel="prev" href="../numeric.html" title="Numeric Generators">
 <link rel="next" href="signed_int.html" title="Signed Integer Number Generators (int_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Operators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="numeric/boolean.html" title="Boolean Generators (bool_)">
 <link rel="next" href="operator/sequence.html" title="Sequence Generator (a &lt;&lt; b)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Alternative Generator (a | b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="sequence.html" title="Sequence Generator (a &lt;&lt; b)">
 <link rel="next" href="kleene.html" title="Kleene Star Generator (*a)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>And-Predicate Generator (&amp;a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="optional.html" title="Optional Generator (-a)">
 <link rel="next" href="not_predicate.html" title="Not-Predicate Generator (!a)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Kleene Star Generator (*a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="alternative.html" title="Alternative Generator (a | b)">
 <link rel="next" href="plus.html" title="Plus Generator (+a)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/list.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/list.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>List Generator (a % b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="plus.html" title="Plus Generator (+a)">
 <link rel="next" href="optional.html" title="Optional Generator (-a)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Not-Predicate Generator (!a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="and_predicate.html" title="And-Predicate Generator (&amp;a)">
 <link rel="next" href="../stream.html" title="Stream Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Optional Generator (-a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="list.html" title="List Generator (a % b)">
 <link rel="next" href="and_predicate.html" title="And-Predicate Generator (&amp;a)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Plus Generator (+a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="kleene.html" title="Kleene Star Generator (*a)">
 <link rel="next" href="list.html" title="List Generator (a % b)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Sequence Generator (a &lt;&lt; b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Generator Operators">
 <link rel="prev" href="../operator.html" title="Generator Operators">
 <link rel="next" href="alternative.html" title="Alternative Generator (a | b)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/stream.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/stream.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/stream.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="operator/not_predicate.html" title="Not-Predicate Generator (!a)">
 <link rel="next" href="stream/stream.html" title="Stream Generators (stream, wstream, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Generators (stream, wstream, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../stream.html" title="Stream Generators">
 <link rel="prev" href="../stream.html" title="Stream Generators">
 <link rel="next" href="../string.html" title="String Generators">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Generators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="stream/stream.html" title="Stream Generators (stream, wstream, etc.)">
 <link rel="next" href="string/string.html" title="String Generators (string, lit)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/string/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/string/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/string/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Generators (string, lit)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string.html" title="String Generators">
 <link rel="prev" href="../string.html" title="String Generators">
 <link rel="next" href="symbols.html" title="Symbols Generator (symbols)">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Symbols Generator (symbols)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string.html" title="String Generators">
 <link rel="prev" href="string.html" title="String Generators (string, lit)">
 <link rel="next" href="../../performance_measurements.html" title="Performance Measurements">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/s05.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/s05.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/s05.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Karma Index</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="performance_measurements/numeric_performance/format_performance.html" title="Comparing the performance of a sequence of several generators">
 <link rel="next" href="../lex.html" title="Lex - Writing Lexical Analyzers">
@@ -24,365 +24,541 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id1220731"></a>Karma Index</h3></div></div></div>
-<p><a class="link" href="s05.html#idx_id_23">A</a> <a class="link" href="s05.html#idx_id_24">B</a> <a class="link" href="s05.html#idx_id_25">C</a> <a class="link" href="s05.html#idx_id_26">D</a> <a class="link" href="s05.html#idx_id_27">E</a> <a class="link" href="s05.html#idx_id_28">F</a> <a class="link" href="s05.html#idx_id_29">G</a> <a class="link" href="s05.html#idx_id_30">H</a> <a class="link" href="s05.html#idx_id_31">I</a> <a class="link" href="s05.html#idx_id_32">K</a> <a class="link" href="s05.html#idx_id_33">L</a> <a class="link" href="s05.html#idx_id_34">M</a> <a class="link" href="s05.html#idx_id_35">N</a> <a class="link" href="s05.html#idx_id_36">O</a> <a class="link" href="s05.html#idx_id_37">P</a> <a class="link" href="s05.html#idx_id_38">Q</a> <a class="link" href="s05.html#idx_id_39">R</a> <a class="link" href="s05.html#idx_id_40">S</a> <a class="link" href="s05.html#idx_id_41">T</a> <a class="link" href="s05.html#idx_id_42">U</a> <a class="link" href="s05.html#idx_id_43">V</a> <a class="l
ink" href="s05.html#idx_id_44">W</a> <a class="link" href="s05.html#idx_id_45">X</a> <a class="link" href="s05.html#idx_id_46">_</a> </p>
+<a name="id1174474"></a>Karma Index</h3></div></div></div>
+<p><a class="link" href="s05.html#idx_id_24">A</a> <a class="link" href="s05.html#idx_id_25">B</a> <a class="link" href="s05.html#idx_id_26">C</a> <a class="link" href="s05.html#idx_id_27">D</a> <a class="link" href="s05.html#idx_id_28">E</a> <a class="link" href="s05.html#idx_id_29">F</a> <a class="link" href="s05.html#idx_id_30">G</a> <a class="link" href="s05.html#idx_id_31">H</a> <a class="link" href="s05.html#idx_id_32">I</a> <a class="link" href="s05.html#idx_id_33">K</a> <a class="link" href="s05.html#idx_id_34">L</a> <a class="link" href="s05.html#idx_id_35">M</a> <a class="link" href="s05.html#idx_id_36">N</a> <a class="link" href="s05.html#idx_id_37">O</a> <a class="link" href="s05.html#idx_id_38">P</a> <a class="link" href="s05.html#idx_id_39">Q</a> <a class="link" href="s05.html#idx_id_40">R</a> <a class="link" href="s05.html#idx_id_41">S</a> <a class="link" href="s05.html#idx_id_42">T</a> <a class="link" href="s05.html#idx_id_43">U</a> <a class="link" href="s05.html#idx_id_44">V</a> <a class="l
ink" href="s05.html#idx_id_45">W</a> <a class="link" href="s05.html#idx_id_46">X</a> <a class="link" href="s05.html#idx_id_47">_</a></p>
 <div class="variablelist"><dl>
 <dt>
-<a name="idx_id_23"></a><span class="term">A</span>
+<a name="idx_id_24"></a><span class="term">A</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">alnum</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">alternative (a | b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/alternative.html" title="Alternative Generator (a | b)">Alternative Generator ( a | b )</a></p></td></tr></table></dd>
-<dt><span class="term">and-predicate (&amp;a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/and_predicate.html" title="And-Predicate Generator (&amp;a)">And-Predicate Generator ( &amp; a )</a></p></td></tr></table></dd>
-<dt><span class="term">as&lt;T&gt;</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">as_string</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">as_wstring</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">attr_cast</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)">Attribute Transformation Pseudo Generator ( attr_cast )</a></p></td></tr></table></dd>
-<dt><span class="term">auto_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auto.html" title="Auto Generator">Auto Generator</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_24"></a><span class="term">B</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">big_dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators">Binary Big Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">big_qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators">Binary Big Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">big_word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators">Binary Big Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">bin</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">blank</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">bool_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">bool_generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">bool_policies</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">buffer</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/buffer.html" title="Generator Directive for Temporary Output Buffering (buffer[])">Generator Directive for Temporary Output Buffering ( buffer [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repetition Generator Directive ( repeat [] )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">byte_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators">Binary Native Endianness Generators</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_25"></a><span class="term">C</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">center</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</a></p></td></tr></table></dd>
-<dt><span class="term">char_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_generator.html" title="Character Generators (char_, lit)">Character Generators ( char_ , lit )</a></p></td></tr></table></dd>
-<dt><span class="term">cntrl</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">columns</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/columns.html" title="Generator Directive Separating Output Into Columns (columns[])">Generator Directive Separating Output Into Columns ( columns [] )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">create_generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/create_generator.html" title="API for Automatic Generator Creation">API for Automatic Generator Creation</a></p></td></tr></table></dd>
-<dt><span class="term">create_generator_exists</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/create_generator.html" title="API for Automatic Generator Creation">API for Automatic Generator Creation</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_26"></a><span class="term">D</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">delimit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</a></p></td></tr></table></dd>
-<dt><span class="term">delimit_flag::dont_predelimit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API">Iterator Based Generator API</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API">Stream Based Generator API</a></p></td></tr>
-</table></dd>
-<dt><span class="term">delimit_flag::pre_delimit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API">Iterator Based Generator API</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API">Stream Based Generator API</a></p></td></tr>
-</table></dd>
-<dt><span class="term">digit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">double_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">duplicate</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/duplicate.html" title="Generator Directive Duplicating Attributes (duplicate[])">Generator Directive Duplicating Attributes ( duplicate [] )</a></p></td></tr></table></dd>
-<dt><span class="term">dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators">Binary Native Endianness Generators</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_27"></a><span class="term">E</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">eol</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/eol.html" title="End of Line Generator (eol)">End of Line Generator ( eol )</a></p></td></tr></table></dd>
-<dt><span class="term">eps</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/eps.html" title="Epsilon Generator (eps)">Epsilon Generator ( eps )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_28"></a><span class="term">F</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">false_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">float_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">format</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API">Stream Based Generator API</a></p></td></tr></table></dd>
-<dt><span class="term">format_delimited</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API">Stream Based Generator API</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_29"></a><span class="term">G</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">generate</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API">Iterator Based Generator API</a></p></td></tr></table></dd>
-<dt><span class="term">generate_delimited</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API">Iterator Based Generator API</a></p></td></tr></table></dd>
-<dt><span class="term">generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/generator_concepts/binarygenerator.html" title="BinaryGenerator">BinaryGenerator</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts/generator.html" title="Generator">Generator</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts.html" title="Generator Concepts">Generator Concepts</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts/narygenerator.html" title="NaryGenerator">NaryGenerator</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts/nonterminal.html" title="Nonterminal">Nonterminal</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts/primitivegenerator.html" title="PrimitiveGenerator">PrimitiveGenerator</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/generator_concepts/unarygenerator.html" title="UnaryGenerator">UnaryGenerator</a></p></td></tr>
-</table></dd>
-<dt><span class="term">grammar</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/nonterminal/grammar.html" title="Generator Grammar">Generator Grammar</a></p></td></tr></table></dd>
-<dt><span class="term">graph</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_30"></a><span class="term">H</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">hex</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_31"></a><span class="term">I</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">inf</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repetition Generator Directive ( repeat [] )</a></p></td></tr></table></dd>
-<dt><span class="term">int_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">int_generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_32"></a><span class="term">K</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">kleene (*a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene Star Generator ( * a )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_33"></a><span class="term">L</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">lazy</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/lazy.html" title="Lazy Generator (lazy)">Lazy Generator ( lazy )</a></p></td></tr></table></dd>
-<dt><span class="term">left_align</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</a></p></td></tr></table></dd>
-<dt><span class="term">list (a % b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/list.html" title="List Generator (a % b)">List Generator ( a % b )</a></p></td></tr></table></dd>
-<dt><span class="term">lit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/char/char_generator.html" title="Character Generators (char_, lit)">Character Generators ( char_ , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/string/string.html" title="String Generators (string, lit)">String Generators ( string , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr>
-</table></dd>
-<dt><span class="term">little_dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators">Binary Little Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">little_qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators">Binary Little Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">little_word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators">Binary Little Endianness Generators</a></p></td></tr></table></dd>
-<dt><span class="term">long_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">long_double</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">long_long</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">lower</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])">Generator Directives Controlling Case Sensitivity ( upper [] , lower [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repetition Generator Directive ( repeat [] )</a></p></td></tr>
-</table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_34"></a><span class="term">M</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">maxwidth</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/maxwidth.html" title="Generator Directives Controlling the Maximum Field Width (maxwidth[])">Generator Directives Controlling the Maximum Field Width ( maxwidth [] )</a></p></td></tr>
-</table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_35"></a><span class="term">N</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">not-predicate (!a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/not_predicate.html" title="Not-Predicate Generator (!a)">Not-Predicate Generator ( ! a )</a></p></td></tr></table></dd>
-<dt><span class="term">no_delimit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_36"></a><span class="term">O</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">oct</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">omit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/omit.html" title="Generator Directives Consuming Attributes (omit[] and skip[])">Generator Directives Consuming Attributes ( omit [] and skip [] )</a></p></td></tr></table></dd>
-<dt><span class="term">optional (-a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/optional.html" title="Optional Generator (-a)">Optional Generator ( - a )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_37"></a><span class="term">P</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">placeholders</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">plus (+a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/plus.html" title="Plus Generator (+a)">Plus Generator ( + a )</a></p></td></tr></table></dd>
-<dt><span class="term">print</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">punct</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_38"></a><span class="term">Q</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators">Binary Native Endianness Generators</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_39"></a><span class="term">R</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">real_generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">real_policies</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)">Real Number Generators ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">repeat</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repetition Generator Directive ( repeat [] )</a></p></td></tr></table></dd>
-<dt><span class="term">right_align</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</a></p></td></tr></table></dd>
-<dt><span class="term">rule</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/nonterminal/rule.html" title="Generator Rule">Generator Rule</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_40"></a><span class="term">S</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">Semantic Action</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/action.html" title="Semantic Actions with Generators">Semantic Actions with Generators</a></p></td></tr></table></dd>
-<dt><span class="term">sequence (a &lt;&lt; b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/sequence.html" title="Sequence Generator (a &lt;&lt; b)">Sequence Generator ( a &lt;&lt; b )</a></p></td></tr></table></dd>
-<dt><span class="term">short_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">space</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">string</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/string/string.html" title="String Generators (string, lit)">String Generators ( string , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/string/symbols.html" title="Symbols Generator (symbols)">Symbols Generator ( symbols )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">symbols</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/string/symbols.html" title="Symbols Generator (symbols)">Symbols Generator ( symbols )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_41"></a><span class="term">T</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">true_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)">Boolean Generators ( bool_ )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_42"></a><span class="term">U</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">uint_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">uint_generator</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)">Signed Integer Number Generators ( int_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr>
-</table></dd>
-<dt><span class="term">ulong_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">ulong_long</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">upper</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])">Generator Directives Controlling Case Sensitivity ( upper [] , lower [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repetition Generator Directive ( repeat [] )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">ushort_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)">Unsigned Integer Number Generators ( uint_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_43"></a><span class="term">V</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">verbatim</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_44"></a><span class="term">W</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators">Binary Native Endianness Generators</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_45"></a><span class="term">X</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">xdigit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)">Character Classification Generators ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_46"></a><span class="term">_</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">_1 ... _N</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_a ... _j</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_pass</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_r1 ... _rN</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_val</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alnum</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alpha</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alternative (a | b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/alternative.html" title="Alternative Generator (a | b)"><span class="index-entry-level-1">Alternative Generator ( a | b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">and-predicate (&amp;a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/and_predicate.html" title="And-Predicate Generator (&amp;a)"><span class="index-entry-level-1">And-Predicate Generator ( &amp; a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as&lt;T&gt;</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as_string</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as_wstring</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Generator Directives Forcing Atomic Extraction (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Generator Directives Forcing Atomic Extraction ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">attr_cast</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)"><span class="index-entry-level-1">Attribute Transformation Pseudo Generator ( attr_cast )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">auto_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auto.html" title="Auto Generator"><span class="index-entry-level-1">Auto Generator</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_25"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators"><span class="index-entry-level-1">Binary Big Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators"><span class="index-entry-level-1">Binary Big Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Generators"><span class="index-entry-level-1">Binary Big Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bin</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">blank</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_generator</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_policies</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">buffer</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/buffer.html" title="Generator Directive for Temporary Output Buffering (buffer[])"><span class="index-entry-level-1">Generator Directive for Temporary Output Buffering ( buffer [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])"><span class="index-entry-level-1">Repetition Generator Directive ( repeat [] )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">byte_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators"><span class="index-entry-level-1">Binary Native Endianness Generators</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_26"></a><span class="term">C</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">center</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])"><span class="index-entry-level-1">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">char_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_generator.html" title="Character Generators (char_, lit)"><span class="index-entry-level-1">Character Generators ( char_ , lit )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cntrl</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">columns</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])"><span class="index-entry-level-1">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/columns.html" title="Generator Directive Separating Output Into Columns (columns[])"><span class="index-entry-level-1">Generator Directive Separating Output Into Columns ( columns [] )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">create_generator</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/create_generator.html" title="API for Automatic Generator Creation"><span class="index-entry-level-1">API for Automatic Generator Creation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">create_generator_exists</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/create_generator.html" title="API for Automatic Generator Creation"><span class="index-entry-level-1">API for Automatic Generator Creation</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_27"></a><span class="term">D</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">delimit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])"><span class="index-entry-level-1">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">delimit_flag::dont_predelimit</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API"><span class="index-entry-level-1">Iterator Based Generator API</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API"><span class="index-entry-level-1">Stream Based Generator API</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">delimit_flag::pre_delimit</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API"><span class="index-entry-level-1">Iterator Based Generator API</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API"><span class="index-entry-level-1">Stream Based Generator API</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">digit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">double_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">duplicate</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/duplicate.html" title="Generator Directive Duplicating Attributes (duplicate[])"><span class="index-entry-level-1">Generator Directive Duplicating Attributes ( duplicate [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators"><span class="index-entry-level-1">Binary Native Endianness Generators</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_28"></a><span class="term">E</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eol</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/eol.html" title="End of Line Generator (eol)"><span class="index-entry-level-1">End of Line Generator ( eol )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eps</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/eps.html" title="Epsilon Generator (eps)"><span class="index-entry-level-1">Epsilon Generator ( eps )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_29"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">false_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">format</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API"><span class="index-entry-level-1">Stream Based Generator API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">format_delimited</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/stream_api.html" title="Stream Based Generator API"><span class="index-entry-level-1">Stream Based Generator API</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_30"></a><span class="term">G</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">generate</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API"><span class="index-entry-level-1">Iterator Based Generator API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">generate_delimited</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generate_api/iterator_api.html" title="Iterator Based Generator API"><span class="index-entry-level-1">Iterator Based Generator API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">generator</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts/binarygenerator.html" title="BinaryGenerator"><span class="index-entry-level-1">BinaryGenerator</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="emphasis"><em><a class="link" href="reference/generator_concepts/generator.html" title="Generator"><span class="index-entry-level-1">Generator</span></a></em></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts.html" title="Generator Concepts"><span class="index-entry-level-1">Generator Concepts</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts/narygenerator.html" title="NaryGenerator"><span class="index-entry-level-1">NaryGenerator</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts/nonterminal.html" title="Nonterminal"><span class="index-entry-level-1">Nonterminal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><span class="index-entry-level-1">PrimitiveGenerator</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/generator_concepts/unarygenerator.html" title="UnaryGenerator"><span class="index-entry-level-1">UnaryGenerator</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">grammar</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/nonterminal/grammar.html" title="Generator Grammar"><span class="index-entry-level-1">Generator Grammar</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">graph</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_31"></a><span class="term">H</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hex</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_32"></a><span class="term">I</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inf</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])"><span class="index-entry-level-1">Repetition Generator Directive ( repeat [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">int_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">int_generator</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_33"></a><span class="term">K</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kleene (*a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/kleene.html" title="Kleene Star Generator (*a)"><span class="index-entry-level-1">Kleene Star Generator ( * a )</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_34"></a><span class="term">L</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lazy</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/lazy.html" title="Lazy Generator (lazy)"><span class="index-entry-level-1">Lazy Generator ( lazy )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">left_align</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])"><span class="index-entry-level-1">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">list (a % b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/list.html" title="List Generator (a % b)"><span class="index-entry-level-1">List Generator ( a % b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lit</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_generator.html" title="Character Generators (char_, lit)"><span class="index-entry-level-1">Character Generators ( char_ , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/string.html" title="String Generators (string, lit)"><span class="index-entry-level-1">String Generators ( string , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators"><span class="index-entry-level-1">Binary Little Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators"><span class="index-entry-level-1">Binary Little Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Generators"><span class="index-entry-level-1">Binary Little Endianness Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_double</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_long</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lower</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])"><span class="index-entry-level-1">Generator Directives Controlling Case Sensitivity ( upper [] , lower [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])"><span class="index-entry-level-1">Repetition Generator Directive ( repeat [] )</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_35"></a><span class="term">M</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">maxwidth</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])"><span class="index-entry-level-1">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/maxwidth.html" title="Generator Directives Controlling the Maximum Field Width (maxwidth[])"><span class="index-entry-level-1">Generator Directives Controlling the Maximum Field Width ( maxwidth [] )</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_36"></a><span class="term">N</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">not-predicate (!a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/not_predicate.html" title="Not-Predicate Generator (!a)"><span class="index-entry-level-1">Not-Predicate Generator ( ! a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">no_delimit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])"><span class="index-entry-level-1">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_37"></a><span class="term">O</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">oct</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">omit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/omit.html" title="Generator Directives Consuming Attributes (omit[] and skip[])"><span class="index-entry-level-1">Generator Directives Consuming Attributes ( omit [] and skip [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">optional (-a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/optional.html" title="Optional Generator (-a)"><span class="index-entry-level-1">Optional Generator ( - a )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_38"></a><span class="term">P</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">placeholders</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">plus (+a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/plus.html" title="Plus Generator (+a)"><span class="index-entry-level-1">Plus Generator ( + a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">print</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">punct</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_39"></a><span class="term">Q</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators"><span class="index-entry-level-1">Binary Native Endianness Generators</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_40"></a><span class="term">R</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">real_generator</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">real_policies</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real_number.html" title="Real Number Generators (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Generators ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">repeat</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])"><span class="index-entry-level-1">Repetition Generator Directive ( repeat [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">right_align</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/alignment.html" title="Alignment Generator Directives (left_align[], center[], right_align[])"><span class="index-entry-level-1">Alignment Generator Directives ( left_align [] , center [] , right_align [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rule</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/nonterminal/rule.html" title="Generator Rule"><span class="index-entry-level-1">Generator Rule</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_41"></a><span class="term">S</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Semantic Action</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/action.html" title="Semantic Actions with Generators"><span class="index-entry-level-1">Semantic Actions with Generators</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sequence (a &lt;&lt; b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/sequence.html" title="Sequence Generator (a &lt;&lt; b)"><span class="index-entry-level-1">Sequence Generator ( a &lt;&lt; b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">short_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">space</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">string</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/string.html" title="String Generators (string, lit)"><span class="index-entry-level-1">String Generators ( string , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/symbols.html" title="Symbols Generator (symbols)"><span class="index-entry-level-1">Symbols Generator ( symbols )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">symbols</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/symbols.html" title="Symbols Generator (symbols)"><span class="index-entry-level-1">Symbols Generator ( symbols )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_42"></a><span class="term">T</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">true_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Generators (bool_)"><span class="index-entry-level-1">Boolean Generators ( bool_ )</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_43"></a><span class="term">U</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uint_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uint_generator</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/signed_int.html" title="Signed Integer Number Generators (int_, etc.)"><span class="index-entry-level-1">Signed Integer Number Generators ( int_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ulong_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ulong_long</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">upper</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/upperlower.html" title="Generator Directives Controlling Case Sensitivity (upper[], lower[])"><span class="index-entry-level-1">Generator Directives Controlling Case Sensitivity ( upper [] , lower [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])"><span class="index-entry-level-1">Repetition Generator Directive ( repeat [] )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ushort_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Number Generators ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_44"></a><span class="term">V</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">verbatim</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/delimit.html" title="Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])"><span class="index-entry-level-1">Generator Directives Controlling Automatic Delimiting ( verbatim [] , no_delimit [] , delimit [] )</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_45"></a><span class="term">W</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Generators"><span class="index-entry-level-1">Binary Native Endianness Generators</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_46"></a><span class="term">X</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">xdigit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Generators (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Generators ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_47"></a><span class="term">_</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_1 ... _N</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_a ... _j</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_pass</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_r1 ... _rN</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_val</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Tutorials</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="../karma.html" title="Karma - Writing Generators">
 <link rel="next" href="tutorials/quick_start.html" title="Quick Start">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Complex - Fully Integrated</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="karma_easier_complex.html" title="Complex - Made easier">
 <link rel="next" href="num_list.html" title="Number List - Printing Numbers From a std::vector">
@@ -34,7 +34,7 @@
           data structure. Fortunately, starting with Boost V1.43 it is possible to
           adapt any data structure (not only, as before, structures with publicly
           accessible members) as a Boost.Fusion
- sequence. All we have to do is to employ one of the new <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_CLASS</span></code>
+ sequence. All we have to do is to employ one of the new <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span></code>
           macros.
         </p>
 <a name="spirit.karma.tutorials.karma_adapted_complex.adapting_a_class_as_a_fusion_sequence"></a><h6>
@@ -115,7 +115,7 @@
           <a href="../../../../../../../libs/fusion/doc/html/index.html" target="_top">Boost.Fusion</a>
           sequence: a boolean and two double values (the real and the imaginary part
           of the complex number). We want it to match the requirements of our formatting
- grammar, which expects those exact values. The <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_CLASS</span></code>
+ grammar, which expects those exact values. The <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span></code>
           macro allows us to specify an arbitrary accessor construct, not necessarily
           limited to just calling a member function of the object instance (represented
           by <code class="computeroutput"><span class="identifier">obj</span></code> in the context of

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_complex.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_complex.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_complex.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Complex - A first more complex generator</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="semantic_actions.html" title="Generator Semantic Actions">
 <link rel="next" href="karma_easier_complex.html" title="Complex - Made easier">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Complex - Made easier</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="karma_complex.html" title="Complex - A first more complex generator">
 <link rel="next" href="karma_adapted_complex.html" title="Complex - Fully Integrated">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Number List - Printing Numbers From a std::vector</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="karma_adapted_complex.html" title="Complex - Fully Integrated">
 <link rel="next" href="num_matrix.html" title="Matrix of Numbers - Printing Numbers From a Matrix">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_matrix.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_matrix.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/num_matrix.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Matrix of Numbers - Printing Numbers From a Matrix</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="num_list.html" title="Number List - Printing Numbers From a std::vector">
 <link rel="next" href="../quick_reference.html" title="Quick Reference">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quick Start</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="../tutorials.html" title="Tutorials">
 <link rel="next" href="warming_up.html" title="Warming up">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Generator Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="warming_up.html" title="Warming up">
 <link rel="next" href="karma_complex.html" title="Complex - A first more complex generator">

Modified: branches/release/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Warming up</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="quick_start.html" title="Quick Start">
 <link rel="next" href="semantic_actions.html" title="Generator Semantic Actions">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Lex - Writing Lexical Analyzers</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="karma/s05.html" title="Karma Index">
 <link rel="next" href="lex/lexer_introduction.html" title="Introduction to Spirit.Lex">
 </head>

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Abstracts</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="prev" href="tutorials/lexer_quickstart3.html" title="Quickstart 3 - Counting Words Using a Parser">
 <link rel="next" href="abstracts/lexer_primitives.html" title="Lexer Primitives">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lexer Primitives</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="../abstracts.html" title="Abstracts">
 <link rel="next" href="lexer_primitives/lexer_token_values.html" title="About Tokens and Token Values">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>About Tokens and Token Values</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lexer_primitives.html" title="Lexer Primitives">
 <link rel="prev" href="../lexer_primitives.html" title="Lexer Primitives">
 <link rel="next" href="../lexer_tokenizing.html" title="Tokenizing Input Data">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lexer Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="lexer_tokenizing.html" title="Tokenizing Input Data">
 <link rel="next" href="lexer_static_model.html" title="The Static Lexer Model">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>The Static Lexer Model</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="lexer_semantic_actions.html" title="Lexer Semantic Actions">
 <link rel="next" href="../quick_reference.html" title="Quick Reference">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Tokenizing Input Data</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../abstracts.html" title="Abstracts">
 <link rel="prev" href="lexer_primitives/lexer_token_values.html" title="About Tokens and Token Values">
 <link rel="next" href="lexer_semantic_actions.html" title="Lexer Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/lexer_introduction.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/lexer_introduction.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/lexer_introduction.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Introduction to Spirit.Lex</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="prev" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="next" href="tutorials.html" title="Spirit.Lex Tutorials">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quick Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="prev" href="abstracts/lexer_static_model.html" title="The Static Lexer Model">
 <link rel="next" href="quick_reference/common_notation.html" title="Common Notation">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/common_notation.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/common_notation.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/common_notation.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Common Notation</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="../quick_reference.html" title="Quick Reference">
 <link rel="next" href="lexers.html" title="Primitive Lexer Components">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Supported Regular Expressions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="phoenix.html" title="Phoenix">
 <link rel="next" href="../reference.html" title="Reference">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexers.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexers.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/lexers.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Primitive Lexer Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="common_notation.html" title="Common Notation">
 <link rel="next" href="semantic_actions.html" title="Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/phoenix.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/phoenix.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/phoenix.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Phoenix</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="semantic_actions.html" title="Semantic Actions">
 <link rel="next" href="lexer.html" title="Supported Regular Expressions">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/quick_reference/semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="lexers.html" title="Primitive Lexer Components">
 <link rel="next" href="phoenix.html" title="Phoenix">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="prev" href="quick_reference/lexer.html" title="Supported Regular Expressions">
 <link rel="next" href="reference/lexer_concepts.html" title="Lexer Concepts">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Basics</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="lexer_concepts/narylexer.html" title="NaryLexer">
 <link rel="next" href="lexer_api.html" title="Lexer API">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lexer API</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="lex_basics.html" title="Basics">
 <link rel="next" href="primitives.html" title="Token definition Primitives">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lexer Concepts</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="../reference.html" title="Reference">
 <link rel="next" href="lexer_concepts/lexer.html" title="Lexer">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lexer</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lexer_concepts.html" title="Lexer Concepts">
 <link rel="prev" href="../lexer_concepts.html" title="Lexer Concepts">
 <link rel="next" href="primitivelexer.html" title="PrimitiveLexer">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>NaryLexer</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lexer_concepts.html" title="Lexer Concepts">
 <link rel="prev" href="unarylexer.html" title="UnaryLexer">
 <link rel="next" href="../lex_basics.html" title="Basics">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>PrimitiveLexer</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lexer_concepts.html" title="Lexer Concepts">
 <link rel="prev" href="lexer.html" title="Lexer">
 <link rel="next" href="unarylexer.html" title="UnaryLexer">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>UnaryLexer</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lexer_concepts.html" title="Lexer Concepts">
 <link rel="prev" href="primitivelexer.html" title="PrimitiveLexer">
 <link rel="next" href="narylexer.html" title="NaryLexer">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Token definition Primitives</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="lexer_api.html" title="Lexer API">
 <link rel="next" href="primitives/char_tokendef.html" title="Tokens Matching Single Characters">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Tokens Matching Single Characters</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../primitives.html" title="Token definition Primitives">
 <link rel="prev" href="../primitives.html" title="Token definition Primitives">
 <link rel="next" href="../../../advanced.html" title="Advanced">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/tutorials.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/tutorials.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/tutorials.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit.Lex Tutorials</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../lex.html" title="Lex - Writing Lexical Analyzers">
 <link rel="prev" href="lexer_introduction.html" title="Introduction to Spirit.Lex">
 <link rel="next" href="tutorials/lexer_tutorials.html" title="Spirit.Lex Tutorials Overview">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quickstart 1 - A word counter using Spirit.Lex</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Spirit.Lex Tutorials">
 <link rel="prev" href="lexer_tutorials.html" title="Spirit.Lex Tutorials Overview">
 <link rel="next" href="lexer_quickstart2.html" title="Quickstart 2 - A better word counter using Spirit.Lex">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quickstart 2 - A better word counter using Spirit.Lex</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Spirit.Lex Tutorials">
 <link rel="prev" href="lexer_quickstart1.html" title="Quickstart 1 - A word counter using Spirit.Lex">
 <link rel="next" href="lexer_quickstart3.html" title="Quickstart 3 - Counting Words Using a Parser">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quickstart 3 - Counting Words Using a Parser</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Spirit.Lex Tutorials">
 <link rel="prev" href="lexer_quickstart2.html" title="Quickstart 2 - A better word counter using Spirit.Lex">
 <link rel="next" href="../abstracts.html" title="Abstracts">

Modified: branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_tutorials.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_tutorials.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/lex/tutorials/lexer_tutorials.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit.Lex Tutorials Overview</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Spirit.Lex Tutorials">
 <link rel="prev" href="../tutorials.html" title="Spirit.Lex Tutorials">
 <link rel="next" href="lexer_quickstart1.html" title="Quickstart 1 - A word counter using Spirit.Lex">

Modified: branches/release/libs/spirit/doc/html/spirit/notes.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/notes.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/notes.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Notes</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="faq.html" title="Spirit FAQ">
 <link rel="next" href="notes/porting_from_spirit_1_8_x.html" title="Porting from Spirit 1.8.x">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Porting from Spirit 1.8.x</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../notes.html" title="Notes">
 <link rel="prev" href="../notes.html" title="Notes">
 <link rel="next" href="style_guide.html" title="Style Guide">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Style Guide</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../notes.html" title="Notes">
 <link rel="prev" href="porting_from_spirit_1_8_x.html" title="Porting from Spirit 1.8.x">
 <link rel="next" href="../rationale.html" title="Rationale">

Modified: branches/release/libs/spirit/doc/html/spirit/preface.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/preface.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/preface.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,9 +4,9 @@
 <title>Preface</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
-<link rel="prev" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
+<link rel="prev" href="../index.html" title="Spirit 2.6">
 <link rel="next" href="what_s_new.html" title="What's New">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -162,7 +162,7 @@
     </h4>
 <p>
       Just before the development of Spirit V2 began, Hartmut came across the StringTemplate library that is
- a part of the ANTLR parser framework. <sup>[<a name="id841766" href="#ftn.id841766" class="footnote">1</a>]</sup> The concepts presented in that library lead Hartmut to the next
+ a part of the ANTLR parser framework. <sup>[<a name="id799783" href="#ftn.id799783" class="footnote">1</a>]</sup> The concepts presented in that library lead Hartmut to the next
       step in the evolution of Spirit. Parsing and generation are tightly connected
       to a formal notation, or a grammar. The grammar describes both input and output,
       and therefore, a parser library should have a grammar driven output. This duality
@@ -353,7 +353,7 @@
     </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id841766" href="#id841766" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id799783" href="#id799783" class="para">1</a>] </sup>
         Quote from http:<span class="emphasis"><em>/www.stringtemplate.org</em></span>: It is a Java
         template engine (with ports for C# and Python) for generating source code,
         web pages, emails, or any other formatted text output.

Modified: branches/release/libs/spirit/doc/html/spirit/qi.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Qi - Writing Parsers</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="abstracts/attributes/nonterminal_attributes.html" title="Attributes of Rules and Grammars">
 <link rel="next" href="qi/tutorials.html" title="Tutorials">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quick Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="prev" href="tutorials/mini_xml___error_handling.html" title="Mini XML - Error Handling">
 <link rel="next" href="quick_reference/common_notation.html" title="Common Notation">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/common_notation.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/common_notation.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/common_notation.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Common Notation</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="../quick_reference.html" title="Quick Reference">
 <link rel="next" href="qi_parsers.html" title="Qi Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Compound Attribute Rules</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="qi_parsers/action.html" title="Parser Semantic Actions">
 <link rel="next" href="non_terminals.html" title="Nonterminals">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/non_terminals.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/non_terminals.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/non_terminals.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminals</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="compound_attribute_rules.html" title="Compound Attribute Rules">
 <link rel="next" href="semantic_actions.html" title="Parser Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/phoenix.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/phoenix.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/phoenix.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Phoenix</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="semantic_actions.html" title="Parser Semantic Actions">
 <link rel="next" href="../reference.html" title="Reference">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Qi Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="common_notation.html" title="Common Notation">
 <link rel="next" href="qi_parsers/char.html" title="Character Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="operator.html" title="Parser Operators">
 <link rel="next" href="../compound_attribute_rules.html" title="Compound Attribute Rules">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auto.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auto.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auto.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auto Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="binary.html" title="Binary Parsers">
 <link rel="next" href="directive.html" title="Parser Directives">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auxiliary Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="string.html" title="String Parsers">
 <link rel="next" href="binary.html" title="Binary Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="auxiliary.html" title="Auxiliary Parsers">
 <link rel="next" href="auto.html" title="Auto Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="next" href="numeric.html" title="Numeric Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directives</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="auto.html" title="Auto Parsers">
 <link rel="next" href="operator.html" title="Parser Operators">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Numeric Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="char.html" title="Character Parsers">
 <link rel="next" href="string.html" title="String Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Operators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="directive.html" title="Parser Directives">
 <link rel="next" href="action.html" title="Parser Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
 <link rel="prev" href="numeric.html" title="Numeric Parsers">
 <link rel="next" href="auxiliary.html" title="Auxiliary Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/quick_reference/semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="non_terminals.html" title="Nonterminals">
 <link rel="next" href="phoenix.html" title="Phoenix">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Reference</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="prev" href="quick_reference/phoenix.html" title="Phoenix">
 <link rel="next" href="reference/parser_concepts.html" title="Parser Concepts">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/action.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/action.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/action.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Semantic Actions with Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="parse_api/create_parser.html" title="API for Automatic Parser Creation">
 <link rel="next" href="auto.html" title="Auto Parser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auto.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auto.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auto.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auto Parser</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="action.html" title="Semantic Actions with Parsers">
 <link rel="next" href="auxiliary.html" title="Auxiliary Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Auxiliary Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="auto.html" title="Auto Parser">
 <link rel="next" href="auxiliary/attr.html" title="Attribute Parser (attr)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attribute Parser (attr)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="next" href="attr_cast.html" title="Attribute Transformation Pseudo Parser (attr_cast)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Attribute Transformation Pseudo Parser (attr_cast)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="attr.html" title="Attribute Parser (attr)">
 <link rel="next" href="eol.html" title="End of Line Parser (eol)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>End of Input Parser (eoi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="eol.html" title="End of Line Parser (eol)">
 <link rel="next" href="eps.html" title="Epsilon Parser (eps)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>End of Line Parser (eol)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="attr_cast.html" title="Attribute Transformation Pseudo Parser (attr_cast)">
 <link rel="next" href="eoi.html" title="End of Input Parser (eoi)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Epsilon Parser (eps)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="eoi.html" title="End of Input Parser (eoi)">
 <link rel="next" href="lazy.html" title="Lazy Parser (lazy)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Lazy Parser (lazy)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../auxiliary.html" title="Auxiliary Parsers">
 <link rel="prev" href="eps.html" title="Epsilon Parser (eps)">
 <link rel="next" href="../binary.html" title="Binary Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/basics.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/basics.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/basics.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Basics</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="parser_concepts/nonterminal.html" title="Nonterminal">
 <link rel="next" href="parse_api.html" title="Parser API">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/binary.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/binary.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/binary.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="auxiliary/lazy.html" title="Lazy Parser (lazy)">
 <link rel="next" href="binary/binary_native.html" title="Binary Native Endianness Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Big Endianness Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Parsers">
 <link rel="prev" href="binary_little.html" title="Binary Little Endianness Parser">
 <link rel="next" href="../char.html" title="Character Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Little Endianness Parser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Parsers">
 <link rel="prev" href="binary_native.html" title="Binary Native Endianness Parsers">
 <link rel="next" href="binary_big.html" title="Binary Big Endianness Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Binary Native Endianness Parsers</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../binary.html" title="Binary Parsers">
 <link rel="prev" href="../binary.html" title="Binary Parsers">
 <link rel="next" href="binary_little.html" title="Binary Little Endianness Parser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="binary/binary_big.html" title="Binary Big Endianness Parsers">
 <link rel="next" href="char/char.html" title="Character Parser (char_, lit)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Parser (char_, lit)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../char.html" title="Character Parsers">
 <link rel="prev" href="../char.html" title="Character Parsers">
 <link rel="next" href="char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Character Classification Parsers (alnum, digit, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../char.html" title="Character Parsers">
 <link rel="prev" href="char.html" title="Character Parser (char_, lit)">
 <link rel="next" href="../directive.html" title="Parser Directives">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directives</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">
 <link rel="next" href="directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/as.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/as.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/as.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">
 <link rel="next" href="../nonterminal.html" title="Nonterminal Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive for Attribute Commit/Rollback (hold[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">
 <link rel="next" href="as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive Inhibiting Skipping (lexeme[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="../directive.html" title="Parser Directives">
 <link rel="next" href="no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Directive Testing if Parser Succeeded (matches[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="repeat.html" title="Repetition Parser Directive (repeat[])">
 <link rel="next" href="skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive Inhibiting Case Sensitivity (no_case[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])">
 <link rel="next" href="omit.html" title="Parser Directive Ignoring Attribute (omit[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])">
 <link rel="next" href="no_case.html" title="Parser Directive Inhibiting Case Sensitivity (no_case[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive Ignoring Attribute (omit[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="no_case.html" title="Parser Directive Inhibiting Case Sensitivity (no_case[])">
 <link rel="next" href="raw.html" title="Directive for Transduction Parsing (raw[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Directive for Transduction Parsing (raw[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="omit.html" title="Parser Directive Ignoring Attribute (omit[])">
 <link rel="next" href="repeat.html" title="Repetition Parser Directive (repeat[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Repetition Parser Directive (repeat[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="raw.html" title="Directive for Transduction Parsing (raw[])">
 <link rel="next" href="matches.html" title="Directive Testing if Parser Succeeded (matches[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Directive Re-Establishing Skipping (skip[])</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../directive.html" title="Parser Directives">
 <link rel="prev" href="matches.html" title="Directive Testing if Parser Succeeded (matches[])">
 <link rel="next" href="hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminal Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">
 <link rel="next" href="nonterminal/rule.html" title="Parser Rule">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Grammar</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../nonterminal.html" title="Nonterminal Parsers">
 <link rel="prev" href="rule.html" title="Parser Rule">
 <link rel="next" href="../numeric.html" title="Numeric Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Rule</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../nonterminal.html" title="Nonterminal Parsers">
 <link rel="prev" href="../nonterminal.html" title="Nonterminal Parsers">
 <link rel="next" href="grammar.html" title="Parser Grammar">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Numeric Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="nonterminal/grammar.html" title="Parser Grammar">
 <link rel="next" href="numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Boolean Parser (bool_)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Parsers">
 <link rel="prev" href="real.html" title="Real Number Parsers (float_, double_, etc.)">
 <link rel="next" href="../operator.html" title="Parser Operators">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Signed Integer Parsers (int_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Parsers">
 <link rel="prev" href="uint.html" title="Unsigned Integer Parsers (uint_, etc.)">
 <link rel="next" href="real.html" title="Real Number Parsers (float_, double_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Real Number Parsers (float_, double_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Parsers">
 <link rel="prev" href="int.html" title="Signed Integer Parsers (int_, etc.)">
 <link rel="next" href="boolean.html" title="Boolean Parser (bool_)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Unsigned Integer Parsers (uint_, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../numeric.html" title="Numeric Parsers">
 <link rel="prev" href="../numeric.html" title="Numeric Parsers">
 <link rel="next" href="int.html" title="Signed Integer Parsers (int_, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Operators</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="numeric/boolean.html" title="Boolean Parser (bool_)">
 <link rel="next" href="operator/alternative.html" title="Alternative Parser (a | b)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Alternative Parser (a | b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="../operator.html" title="Parser Operators">
 <link rel="next" href="and_predicate.html" title="And-Predicate Parser (&amp;a)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>And-Predicate Parser (&amp;a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="alternative.html" title="Alternative Parser (a | b)">
 <link rel="next" href="difference.html" title="Difference Parser (a - b)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Difference Parser (a - b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="and_predicate.html" title="And-Predicate Parser (&amp;a)">
 <link rel="next" href="expect.html" title="Expectation Parser (a &gt; b)">
@@ -36,7 +36,7 @@
             The difference operator, <code class="computeroutput"><span class="identifier">a</span>
             <span class="special">-</span> <span class="identifier">b</span></code>,
             is a binary operator that matches the first (LHS) operand but not the
- second (RHS). <sup>[<a name="id1014792" href="#ftn.id1014792" class="footnote">8</a>]</sup>
+ second (RHS). <sup>[<a name="id966946" href="#ftn.id966946" class="footnote">8</a>]</sup>
           </p>
 <a name="spirit.qi.reference.operator.difference.header"></a><h6>
 <a name="spirit.qi.reference.operator.difference.header-heading"></a>
@@ -192,7 +192,7 @@
           </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1014792" href="#id1014792" class="para">8</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id966946" href="#id966946" class="para">8</a>] </sup>
               Unlike classic Spirit, with Spirit2, the expression will always fail
               if the RHS is a successful match regardless if the RHS matches less
               characters. For example, the rule <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="string">"policeman"</span><span class="special">)</span> <span class="special">-</span> <span class="string">"police"</span></code> will always fail to

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Expectation Parser (a &gt; b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="difference.html" title="Difference Parser (a - b)">
 <link rel="next" href="kleene.html" title="Kleene Parser (*a)">
@@ -33,6 +33,25 @@
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.description">Description</a>
           </h6>
 <p>
+ There are occasions in which it is expected that the input must match
+ a particular parser or the input is invalid. Such cases generally arise
+ after matching a portion of a grammar, such that the context is fully
+ known. In such a situation, failure to match should result in an exception.
+ For example, when parsing an e-mail address, after matching a name and
+ "@" there must be a domain name or the address is invalid.
+ </p>
+<p>
+ The expectation operator (&gt;) requires that the following parser match
+ the input or an exception is emitted. Using on_error(), that exception
+ can be handled by calling a handler with the context at which the parsing
+ failed can be reported.
+ </p>
+<p>
+ By contrast, the follows operator (&gt;&gt;) does not require that the
+ following parser match the input, which allows for backtracking or simply
+ returning false from the parse() function with no exceptions.
+ </p>
+<p>
             Like the <a class="link" href="sequence.html" title="Sequence Parser (a &gt;&gt; b)">Sequence</a>,
             the expectation operator, <code class="computeroutput"><span class="identifier">a</span>
             <span class="special">&gt;</span> <span class="identifier">b</span></code>,

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Kleene Parser (*a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="expect.html" title="Expectation Parser (a &gt; b)">
 <link rel="next" href="list.html" title="List Parser (a % b)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/list.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/list.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/list.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>List Parser (a % b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="kleene.html" title="Kleene Parser (*a)">
 <link rel="next" href="not_predicate.html" title="Not-Predicate Parser (!a)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Not-Predicate Parser (!a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="list.html" title="List Parser (a % b)">
 <link rel="next" href="optional.html" title="Optional Parser (-a)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Optional Parser (-a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="not_predicate.html" title="Not-Predicate Parser (!a)">
 <link rel="next" href="permutation.html" title="Permutation Parser (a ^ b)">
@@ -180,7 +180,7 @@
 <p>
           </p>
 <p>
- Parse a person info with name (in quotes) optional age <sup>[<a name="id1022248" href="#ftn.id1022248" class="footnote">9</a>]</sup> and optional sex, all separated by comma.
+ Parse a person info with name (in quotes) optional age <sup>[<a name="id975128" href="#ftn.id975128" class="footnote">9</a>]</sup> and optional sex, all separated by comma.
           </p>
 <p>
             
@@ -206,7 +206,7 @@
           </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1022248" href="#id1022248" class="para">9</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id975128" href="#id975128" class="para">9</a>] </sup>
               James Bond is shy about his age :-)
             </p></div>
 </div>

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Permutation Parser (a ^ b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="optional.html" title="Optional Parser (-a)">
 <link rel="next" href="plus.html" title="Plus Parser (+a)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Plus Parser (+a)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="permutation.html" title="Permutation Parser (a ^ b)">
 <link rel="next" href="sequence.html" title="Sequence Parser (a &gt;&gt; b)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Sequence Parser (a &gt;&gt; b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="plus.html" title="Plus Parser (+a)">
 <link rel="next" href="sequential_or.html" title="Sequential Or Parser (a || b)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Sequential Or Parser (a || b)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../operator.html" title="Parser Operators">
 <link rel="prev" href="sequence.html" title="Sequence Parser (a &gt;&gt; b)">
 <link rel="next" href="../stream.html" title="Stream Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser API</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="basics.html" title="Parser Basics">
 <link rel="next" href="parse_api/iterator_api.html" title="Iterator Based Parser API">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>API for Automatic Parser Creation</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parse_api.html" title="Parser API">
 <link rel="prev" href="stream_api.html" title="Stream Based Parser API">
 <link rel="next" href="../action.html" title="Semantic Actions with Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Iterator Based Parser API</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parse_api.html" title="Parser API">
 <link rel="prev" href="../parse_api.html" title="Parser API">
 <link rel="next" href="stream_api.html" title="Stream Based Parser API">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Based Parser API</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parse_api.html" title="Parser API">
 <link rel="prev" href="iterator_api.html" title="Iterator Based Parser API">
 <link rel="next" href="create_parser.html" title="API for Automatic Parser Creation">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Concepts</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="../reference.html" title="Reference">
 <link rel="next" href="parser_concepts/parser.html" title="Parser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>BinaryParser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="unaryparser.html" title="UnaryParser">
 <link rel="next" href="naryparser.html" title="NaryParser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>NaryParser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="binaryparser.html" title="BinaryParser">
 <link rel="next" href="nonterminal.html" title="Nonterminal">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Nonterminal</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="naryparser.html" title="NaryParser">
 <link rel="next" href="../basics.html" title="Parser Basics">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="next" href="primitiveparser.html" title="PrimitiveParser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>PrimitiveParser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="parser.html" title="Parser">
 <link rel="next" href="unaryparser.html" title="UnaryParser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>UnaryParser</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../parser_concepts.html" title="Parser Concepts">
 <link rel="prev" href="primitiveparser.html" title="PrimitiveParser">
 <link rel="next" href="binaryparser.html" title="BinaryParser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/stream.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/stream.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/stream.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="operator/sequential_or.html" title="Sequential Or Parser (a || b)">
 <link rel="next" href="stream/stream.html" title="Stream Parsers (stream, wstream, etc.)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Stream Parsers (stream, wstream, etc.)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../stream.html" title="Stream Parsers">
 <link rel="prev" href="../stream.html" title="Stream Parsers">
 <link rel="next" href="../string.html" title="String Parsers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Parsers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="stream/stream.html" title="Stream Parsers (stream, wstream, etc.)">
 <link rel="next" href="string/string.html" title="String Parsers (string, lit)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/string/string.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/string/string.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/string/string.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>String Parsers (string, lit)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string.html" title="String Parsers">
 <link rel="prev" href="../string.html" title="String Parsers">
 <link rel="next" href="symbols.html" title="Symbols Parser (symbols)">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Symbols Parser (symbols)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../string.html" title="String Parsers">
 <link rel="prev" href="string.html" title="String Parsers (string, lit)">
 <link rel="next" href="../../s04.html" title="Qi Index">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/s04.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/s04.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/s04.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Qi Index</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="prev" href="reference/string/symbols.html" title="Symbols Parser (symbols)">
 <link rel="next" href="../karma.html" title="Karma - Writing Generators">
@@ -24,365 +24,559 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id1041803"></a>Qi Index</h3></div></div></div>
-<p><a class="link" href="s04.html#idx_id_0">A</a> <a class="link" href="s04.html#idx_id_1">B</a> <a class="link" href="s04.html#idx_id_2">C</a> <a class="link" href="s04.html#idx_id_3">D</a> <a class="link" href="s04.html#idx_id_4">E</a> <a class="link" href="s04.html#idx_id_5">F</a> <a class="link" href="s04.html#idx_id_6">G</a> <a class="link" href="s04.html#idx_id_7">H</a> <a class="link" href="s04.html#idx_id_8">I</a> <a class="link" href="s04.html#idx_id_9">K</a> <a class="link" href="s04.html#idx_id_10">L</a> <a class="link" href="s04.html#idx_id_11">M</a> <a class="link" href="s04.html#idx_id_12">N</a> <a class="link" href="s04.html#idx_id_13">O</a> <a class="link" href="s04.html#idx_id_14">P</a> <a class="link" href="s04.html#idx_id_15">Q</a> <a class="link" href="s04.html#idx_id_16">R</a> <a class="link" href="s04.html#idx_id_17">S</a> <a class="link" href="s04.html#idx_id_18">T</a> <a class="link" href="s04.html#idx_id_19">U</a> <a class="link" href="s04.html#idx_id_20">W</a> <a class="link" href=
"s04.html#idx_id_21">X</a> <a class="link" href="s04.html#idx_id_22">_</a> </p>
+<a name="id993180"></a>Qi Index</h3></div></div></div>
+<p><a class="link" href="s04.html#idx_id_0">A</a> <a class="link" href="s04.html#idx_id_1">B</a> <a class="link" href="s04.html#idx_id_2">C</a> <a class="link" href="s04.html#idx_id_3">D</a> <a class="link" href="s04.html#idx_id_4">E</a> <a class="link" href="s04.html#idx_id_5">F</a> <a class="link" href="s04.html#idx_id_6">G</a> <a class="link" href="s04.html#idx_id_7">H</a> <a class="link" href="s04.html#idx_id_8">I</a> <a class="link" href="s04.html#idx_id_9">K</a> <a class="link" href="s04.html#idx_id_10">L</a> <a class="link" href="s04.html#idx_id_11">M</a> <a class="link" href="s04.html#idx_id_12">N</a> <a class="link" href="s04.html#idx_id_13">O</a> <a class="link" href="s04.html#idx_id_14">P</a> <a class="link" href="s04.html#idx_id_15">Q</a> <a class="link" href="s04.html#idx_id_16">R</a> <a class="link" href="s04.html#idx_id_17">S</a> <a class="link" href="s04.html#idx_id_18">T</a> <a class="link" href="s04.html#idx_id_19">U</a> <a class="link" href="s04.html#idx_id_21">W</a> <a class="link" href=
"s04.html#idx_id_22">X</a> <a class="link" href="s04.html#idx_id_23">_</a></p>
 <div class="variablelist"><dl>
 <dt>
 <a name="idx_id_0"></a><span class="term">A</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">alnum</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">alternative (a | b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/alternative.html" title="Alternative Parser (a | b)">Alternative Parser ( a | b )</a></p></td></tr></table></dd>
-<dt><span class="term">and-predicate (&amp;a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/and_predicate.html" title="And-Predicate Parser (&amp;a)">And-Predicate Parser ( &amp; a )</a></p></td></tr></table></dd>
-<dt><span class="term">as&lt;T&gt;</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">as_string</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">as_wstring</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr></table></dd>
-<dt><span class="term">attr_cast</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Parser (attr_cast)">Attribute Transformation Pseudo Parser ( attr_cast )</a></p></td></tr></table></dd>
-<dt><span class="term">auto_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auto.html" title="Auto Parser">Auto Parser</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alnum</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alpha</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">alternative (a | b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/alternative.html" title="Alternative Parser (a | b)"><span class="index-entry-level-1">Alternative Parser ( a | b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">and-predicate (&amp;a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/and_predicate.html" title="And-Predicate Parser (&amp;a)"><span class="index-entry-level-1">And-Predicate Parser ( &amp; a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as&lt;T&gt;</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as_string</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">as_wstring</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])"><span class="index-entry-level-1">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">attr_cast</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Parser (attr_cast)"><span class="index-entry-level-1">Attribute Transformation Pseudo Parser ( attr_cast )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">auto_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auto.html" title="Auto Parser"><span class="index-entry-level-1">Auto Parser</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_1"></a><span class="term">B</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">big_dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers">Binary Big Endianness Parsers</a></p></td></tr></table></dd>
-<dt><span class="term">big_qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers">Binary Big Endianness Parsers</a></p></td></tr></table></dd>
-<dt><span class="term">big_word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers">Binary Big Endianness Parsers</a></p></td></tr></table></dd>
-<dt><span class="term">bin</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">blank</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">bool_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">bool_parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">bool_policies</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">byte_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers">Binary Native Endianness Parsers</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers"><span class="index-entry-level-1">Binary Big Endianness Parsers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers"><span class="index-entry-level-1">Binary Big Endianness Parsers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">big_word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_big.html" title="Binary Big Endianness Parsers"><span class="index-entry-level-1">Binary Big Endianness Parsers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bin</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">blank</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_parser</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bool_policies</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">byte_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers"><span class="index-entry-level-1">Binary Native Endianness Parsers</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_2"></a><span class="term">C</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">char_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char.html" title="Character Parser (char_, lit)">Character Parser ( char_ , lit )</a></p></td></tr></table></dd>
-<dt><span class="term">cntrl</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">create_parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/create_parser.html" title="API for Automatic Parser Creation">API for Automatic Parser Creation</a></p></td></tr></table></dd>
-<dt><span class="term">create_parser_exists</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/create_parser.html" title="API for Automatic Parser Creation">API for Automatic Parser Creation</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">char_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char.html" title="Character Parser (char_, lit)"><span class="index-entry-level-1">Character Parser ( char_ , lit )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cntrl</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">create_parser</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/create_parser.html" title="API for Automatic Parser Creation"><span class="index-entry-level-1">API for Automatic Parser Creation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">create_parser_exists</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/create_parser.html" title="API for Automatic Parser Creation"><span class="index-entry-level-1">API for Automatic Parser Creation</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_3"></a><span class="term">D</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">difference (a - b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/difference.html" title="Difference Parser (a - b)">Difference Parser ( a - b )</a></p></td></tr></table></dd>
-<dt><span class="term">digit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">double_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers">Binary Native Endianness Parsers</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">difference (a - b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/difference.html" title="Difference Parser (a - b)"><span class="index-entry-level-1">Difference Parser ( a - b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">digit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">double_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers"><span class="index-entry-level-1">Binary Native Endianness Parsers</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_4"></a><span class="term">E</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">eoi</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/eoi.html" title="End of Input Parser (eoi)">End of Input Parser ( eoi )</a></p></td></tr></table></dd>
-<dt><span class="term">eol</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/eol.html" title="End of Line Parser (eol)">End of Line Parser ( eol )</a></p></td></tr></table></dd>
-<dt><span class="term">eps</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/eps.html" title="Epsilon Parser (eps)">Epsilon Parser ( eps )</a></p></td></tr></table></dd>
-<dt><span class="term">expectation (a &gt; b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/expect.html" title="Expectation Parser (a &gt; b)">Expectation Parser ( a &gt; b )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eoi</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/eoi.html" title="End of Input Parser (eoi)"><span class="index-entry-level-1">End of Input Parser ( eoi )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eol</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/eol.html" title="End of Line Parser (eol)"><span class="index-entry-level-1">End of Line Parser ( eol )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eps</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/eps.html" title="Epsilon Parser (eps)"><span class="index-entry-level-1">Epsilon Parser ( eps )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expectation (a &gt; b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/expect.html" title="Expectation Parser (a &gt; b)"><span class="index-entry-level-1">Expectation Parser ( a &gt; b )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_5"></a><span class="term">F</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">false_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr></table></dd>
-<dt><span class="term">float_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">false_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_6"></a><span class="term">G</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">grammar</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/nonterminal/grammar.html" title="Parser Grammar">Parser Grammar</a></p></td></tr></table></dd>
-<dt><span class="term">graph</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">grammar</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/nonterminal/grammar.html" title="Parser Grammar"><span class="index-entry-level-1">Parser Grammar</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">graph</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_7"></a><span class="term">H</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">hex</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">hold</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">Parser Directive for Attribute Commit/Rollback ( hold [] )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hex</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hold</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])"><span class="index-entry-level-1">Parser Directive for Attribute Commit/Rollback ( hold [] )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_8"></a><span class="term">I</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">inf</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])">Repetition Parser Directive ( repeat [] )</a></p></td></tr></table></dd>
-<dt><span class="term">int_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">int_parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inf</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])"><span class="index-entry-level-1">Repetition Parser Directive ( repeat [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">int_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">int_parser</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_9"></a><span class="term">K</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">kleene (*a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/kleene.html" title="Kleene Parser (*a)">Kleene Parser ( * a )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kleene (*a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/kleene.html" title="Kleene Parser (*a)"><span class="index-entry-level-1">Kleene Parser ( * a )</span></a></p></li></ul></div>
+</li></ul></div></dd>
 <dt>
 <a name="idx_id_10"></a><span class="term">L</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">lazy</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/auxiliary/lazy.html" title="Lazy Parser (lazy)">Lazy Parser ( lazy )</a></p></td></tr></table></dd>
-<dt><span class="term">lexeme</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])">Parser Directive Inhibiting Skipping ( lexeme [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">Parser Directive Re-Establishing Skipping ( skip [] )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">list (a % b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/list.html" title="List Parser (a % b)">List Parser ( a % b )</a></p></td></tr></table></dd>
-<dt><span class="term">lit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/char/char.html" title="Character Parser (char_, lit)">Character Parser ( char_ , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/string/string.html" title="String Parsers (string, lit)">String Parsers ( string , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr>
-</table></dd>
-<dt><span class="term">little_dword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser">Binary Little Endianness Parser</a></p></td></tr></table></dd>
-<dt><span class="term">little_qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser">Binary Little Endianness Parser</a></p></td></tr></table></dd>
-<dt><span class="term">little_word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser">Binary Little Endianness Parser</a></p></td></tr></table></dd>
-<dt><span class="term">long_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">long_double</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">long_long</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">lower</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lazy</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/auxiliary/lazy.html" title="Lazy Parser (lazy)"><span class="index-entry-level-1">Lazy Parser ( lazy )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lexeme</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping ( lexeme [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])"><span class="index-entry-level-1">Parser Directive Re-Establishing Skipping ( skip [] )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">list (a % b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/list.html" title="List Parser (a % b)"><span class="index-entry-level-1">List Parser ( a % b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lit</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char.html" title="Character Parser (char_, lit)"><span class="index-entry-level-1">Character Parser ( char_ , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/string.html" title="String Parsers (string, lit)"><span class="index-entry-level-1">String Parsers ( string , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_dword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser"><span class="index-entry-level-1">Binary Little Endianness Parser</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser"><span class="index-entry-level-1">Binary Little Endianness Parser</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">little_word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_little.html" title="Binary Little Endianness Parser"><span class="index-entry-level-1">Binary Little Endianness Parser</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_double</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">long_long</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lower</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_11"></a><span class="term">M</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">match</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API">Stream Based Parser API</a></p></td></tr></table></dd>
-<dt><span class="term">matches</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/raw.html" title="Directive for Transduction Parsing (raw[])">Directive for Transduction Parsing ( raw [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/matches.html" title="Directive Testing if Parser Succeeded (matches[])">Directive Testing if Parser Succeeded ( matches [] )</a></p></td></tr>
-</table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">match</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API"><span class="index-entry-level-1">Stream Based Parser API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">matches</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/raw.html" title="Directive for Transduction Parsing (raw[])"><span class="index-entry-level-1">Directive for Transduction Parsing ( raw [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/matches.html" title="Directive Testing if Parser Succeeded (matches[])"><span class="index-entry-level-1">Directive Testing if Parser Succeeded ( matches [] )</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_12"></a><span class="term">N</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">not-predicate (!a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/not_predicate.html" title="Not-Predicate Parser (!a)">Not-Predicate Parser ( ! a )</a></p></td></tr></table></dd>
-<dt><span class="term">no_case</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/no_case.html" title="Parser Directive Inhibiting Case Sensitivity (no_case[])">Parser Directive Inhibiting Case Sensitivity ( no_case [] )</a></p></td></tr></table></dd>
-<dt><span class="term">no_skip</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])">Parser Directive Inhibiting Skipping ( lexeme [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">Parser Directive Re-Establishing Skipping ( skip [] )</a></p></td></tr>
-</table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">not-predicate (!a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/not_predicate.html" title="Not-Predicate Parser (!a)"><span class="index-entry-level-1">Not-Predicate Parser ( ! a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">no_case</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/no_case.html" title="Parser Directive Inhibiting Case Sensitivity (no_case[])"><span class="index-entry-level-1">Parser Directive Inhibiting Case Sensitivity ( no_case [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">no_skip</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping ( lexeme [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])"><span class="index-entry-level-1">Parser Directive Re-Establishing Skipping ( skip [] )</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_13"></a><span class="term">O</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">oct</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">omit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/omit.html" title="Parser Directive Ignoring Attribute (omit[])">Parser Directive Ignoring Attribute ( omit [] )</a></p></td></tr></table></dd>
-<dt><span class="term">optional (-a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/optional.html" title="Optional Parser (-a)">Optional Parser ( - a )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">oct</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">omit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/omit.html" title="Parser Directive Ignoring Attribute (omit[])"><span class="index-entry-level-1">Parser Directive Ignoring Attribute ( omit [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">optional (-a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/optional.html" title="Optional Parser (-a)"><span class="index-entry-level-1">Optional Parser ( - a )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_14"></a><span class="term">P</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">parse</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API">Iterator Based Parser API</a></p></td></tr></table></dd>
-<dt><span class="term">parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/parser_concepts/binaryparser.html" title="BinaryParser">BinaryParser</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts/naryparser.html" title="NaryParser">NaryParser</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts/nonterminal.html" title="Nonterminal">Nonterminal</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts/parser.html" title="Parser">Parser</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts.html" title="Parser Concepts">Parser Concepts</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts/primitiveparser.html" title="PrimitiveParser">PrimitiveParser</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parser_concepts/unaryparser.html" title="UnaryParser">UnaryParser</a></p></td></tr>
-</table></dd>
-<dt><span class="term">permutation (a ^ b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/permutation.html" title="Permutation Parser (a ^ b)">Permutation Parser ( a ^ b )</a></p></td></tr></table></dd>
-<dt><span class="term">phrase_match</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API">Stream Based Parser API</a></p></td></tr></table></dd>
-<dt><span class="term">phrase_parse</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API">Iterator Based Parser API</a></p></td></tr></table></dd>
-<dt><span class="term">placeholders</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">plus (+a)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/plus.html" title="Plus Parser (+a)">Plus Parser ( + a )</a></p></td></tr></table></dd>
-<dt><span class="term">print</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">punct</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">parse</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API"><span class="index-entry-level-1">Iterator Based Parser API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">parser</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts/binaryparser.html" title="BinaryParser"><span class="index-entry-level-1">BinaryParser</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts/naryparser.html" title="NaryParser"><span class="index-entry-level-1">NaryParser</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts/nonterminal.html" title="Nonterminal"><span class="index-entry-level-1">Nonterminal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="emphasis"><em><a class="link" href="reference/parser_concepts/parser.html" title="Parser"><span class="index-entry-level-1">Parser</span></a></em></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts.html" title="Parser Concepts"><span class="index-entry-level-1">Parser Concepts</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts/primitiveparser.html" title="PrimitiveParser"><span class="index-entry-level-1">PrimitiveParser</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parser_concepts/unaryparser.html" title="UnaryParser"><span class="index-entry-level-1">UnaryParser</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">permutation (a ^ b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/permutation.html" title="Permutation Parser (a ^ b)"><span class="index-entry-level-1">Permutation Parser ( a ^ b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">phrase_match</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API"><span class="index-entry-level-1">Stream Based Parser API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">phrase_parse</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API"><span class="index-entry-level-1">Iterator Based Parser API</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">placeholders</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">plus (+a)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/plus.html" title="Plus Parser (+a)"><span class="index-entry-level-1">Plus Parser ( + a )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">print</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">punct</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_15"></a><span class="term">Q</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">qword</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers">Binary Native Endianness Parsers</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">qword</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers"><span class="index-entry-level-1">Binary Native Endianness Parsers</span></a></p></li></ul></div>
+</li></ul></div></dd>
 <dt>
 <a name="idx_id_16"></a><span class="term">R</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">raw</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/raw.html" title="Directive for Transduction Parsing (raw[])">Directive for Transduction Parsing ( raw [] )</a></p></td></tr></table></dd>
-<dt><span class="term">real_parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">real_policies</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">repeat</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])">Repetition Parser Directive ( repeat [] )</a></p></td></tr></table></dd>
-<dt><span class="term">rule</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/nonterminal/rule.html" title="Parser Rule">Parser Rule</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">raw</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/raw.html" title="Directive for Transduction Parsing (raw[])"><span class="index-entry-level-1">Directive for Transduction Parsing ( raw [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">real_parser</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">real_policies</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html#spirit.qi.reference.numeric.real.predefined_policies" title="Table&#160;4.&#160;Predefined Policies"><span class="index-entry-level-1">Predefined Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">repeat</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])"><span class="index-entry-level-1">Repetition Parser Directive ( repeat [] )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rule</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/nonterminal/rule.html" title="Parser Rule"><span class="index-entry-level-1">Parser Rule</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_17"></a><span class="term">S</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">Semantic Action</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/action.html" title="Semantic Actions with Parsers">Semantic Actions with Parsers</a></p></td></tr></table></dd>
-<dt><span class="term">sequence (a &gt;&gt; b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/sequence.html" title="Sequence Parser (a &gt;&gt; b)">Sequence Parser ( a &gt;&gt; b )</a></p></td></tr></table></dd>
-<dt><span class="term">sequential-or (a || b)</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/operator/sequential_or.html" title="Sequential Or Parser (a || b)">Sequential Or Parser ( a || b )</a></p></td></tr></table></dd>
-<dt><span class="term">short_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">skip</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])">Parser Directive Inhibiting Skipping ( lexeme [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">Parser Directive Re-Establishing Skipping ( skip [] )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">skip_flag::dont_postskip</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API">Iterator Based Parser API</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API">Stream Based Parser API</a></p></td></tr>
-</table></dd>
-<dt><span class="term">skip_flag::postskip</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API">Iterator Based Parser API</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API">Stream Based Parser API</a></p></td></tr>
-</table></dd>
-<dt><span class="term">space</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">string</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/string/string.html" title="String Parsers (string, lit)">String Parsers ( string , lit )</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/string/symbols.html" title="Symbols Parser (symbols)">Symbols Parser ( symbols )</a></p></td></tr>
-</table></dd>
-<dt><span class="term">symbols</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/string/symbols.html" title="Symbols Parser (symbols)">Symbols Parser ( symbols )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Semantic Action</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/action.html" title="Semantic Actions with Parsers"><span class="index-entry-level-1">Semantic Actions with Parsers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sequence (a &gt;&gt; b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/sequence.html" title="Sequence Parser (a &gt;&gt; b)"><span class="index-entry-level-1">Sequence Parser ( a &gt;&gt; b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sequential-or (a || b)</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/operator/sequential_or.html" title="Sequential Or Parser (a || b)"><span class="index-entry-level-1">Sequential Or Parser ( a || b )</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">short_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">skip</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/lexeme.html" title="Parser Directive Inhibiting Skipping (lexeme[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping ( lexeme [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/no_skip.html" title="Parser Directive Inhibiting Skipping Without Pre-skip (no_skip[])"><span class="index-entry-level-1">Parser Directive Inhibiting Skipping Without Pre-skip ( no_skip [] )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/directive/skip.html" title="Parser Directive Re-Establishing Skipping (skip[])"><span class="index-entry-level-1">Parser Directive Re-Establishing Skipping ( skip [] )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">skip_flag::dont_postskip</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API"><span class="index-entry-level-1">Iterator Based Parser API</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API"><span class="index-entry-level-1">Stream Based Parser API</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">skip_flag::postskip</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/iterator_api.html" title="Iterator Based Parser API"><span class="index-entry-level-1">Iterator Based Parser API</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/parse_api/stream_api.html" title="Stream Based Parser API"><span class="index-entry-level-1">Stream Based Parser API</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">space</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">string</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/string.html" title="String Parsers (string, lit)"><span class="index-entry-level-1">String Parsers ( string , lit )</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/symbols.html" title="Symbols Parser (symbols)"><span class="index-entry-level-1">Symbols Parser ( symbols )</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">symbols</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/string/symbols.html" title="Symbols Parser (symbols)"><span class="index-entry-level-1">Symbols Parser ( symbols )</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 <dt>
 <a name="idx_id_18"></a><span class="term">T</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">true_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)">Boolean Parser ( bool_ )</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">true_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/boolean.html" title="Boolean Parser (bool_)"><span class="index-entry-level-1">Boolean Parser ( bool_ )</span></a></p></li></ul></div>
+</li></ul></div></dd>
 <dt>
 <a name="idx_id_19"></a><span class="term">U</span>
 </dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">uint_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">uint_parser</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist">
-<tr><td><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)">Signed Integer Parsers ( int_ , etc.)</a></p></td></tr>
-<tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr>
-</table></dd>
-<dt><span class="term">ulong_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">ulong_long</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">upper</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">ureal_policies</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/real.html#spirit.qi.reference.numeric.real.predefined_policies" title="Table&#160;4.&#160;Predefined Policies">Real Number Parsers ( float_ , double_ , etc.)</a></p></td></tr></table></dd>
-<dt><span class="term">ushort_</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_20"></a><span class="term">W</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">word</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers">Binary Native Endianness Parsers</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_21"></a><span class="term">X</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">xdigit</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)">Character Classification Parsers ( alnum , digit , etc.)</a></p></td></tr></table></dd>
-</dl></div></dd>
-<dt>
-<a name="idx_id_22"></a><span class="term">_</span>
-</dt>
-<dd><div class="variablelist"><dl>
-<dt><span class="term">_1 ... _N</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_a ... _j</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_pass</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_r1 ... _rN</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-<dt><span class="term">_val</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix">Phoenix</a></p></td></tr></table></dd>
-</dl></div></dd>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uint_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uint_parser</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/int.html" title="Signed Integer Parsers (int_, etc.)"><span class="index-entry-level-1">Signed Integer Parsers ( int_ , etc.)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ulong_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ulong_long</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">upper</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ureal_policies</span></p>
+<div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html#spirit.qi.reference.numeric.real.predefined_policies" title="Table&#160;4.&#160;Predefined Policies"><span class="index-entry-level-1">Predefined Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/real.html" title="Real Number Parsers (float_, double_, etc.)"><span class="index-entry-level-1">Real Number Parsers ( float_ , double_ , etc.)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ushort_</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)"><span class="index-entry-level-1">Unsigned Integer Parsers ( uint_ , etc.)</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_21"></a><span class="term">W</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">word</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/binary/binary_native.html" title="Binary Native Endianness Parsers"><span class="index-entry-level-1">Binary Native Endianness Parsers</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_22"></a><span class="term">X</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">xdigit</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="reference/char/char_class.html" title="Character Classification Parsers (alnum, digit, etc.)"><span class="index-entry-level-1">Character Classification Parsers ( alnum , digit , etc.)</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_23"></a><span class="term">_</span>
+</dt>
+<dd><div class="index"><ul class="index" type="none" compact>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_1 ... _N</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_a ... _j</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_pass</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_r1 ... _rN</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">_val</span></p>
+<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="quick_reference/phoenix.html" title="Phoenix"><span class="index-entry-level-1">Phoenix</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Tutorials</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="prev" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="next" href="tutorials/quick_start.html" title="Quick Start">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/complex___our_first_complex_parser.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/complex___our_first_complex_parser.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/complex___our_first_complex_parser.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Complex - Our first complex parser</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="semantic_actions.html" title="Parser Semantic Actions">
 <link rel="next" href="sum___adding_numbers.html" title="Sum - adding numbers">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Employee - Parsing into structs</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="roman_numerals.html" title="Roman Numerals">
 <link rel="next" href="mini_xml___asts_.html" title="Mini XML - ASTs!">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Mini XML - ASTs!</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="employee___parsing_into_structs.html" title="Employee - Parsing into structs">
 <link rel="next" href="mini_xml___error_handling.html" title="Mini XML - Error Handling">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Mini XML - Error Handling</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="mini_xml___asts_.html" title="Mini XML - ASTs!">
 <link rel="next" href="../quick_reference.html" title="Quick Reference">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list___stuffing_numbers_into_a_std__vector.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list___stuffing_numbers_into_a_std__vector.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list___stuffing_numbers_into_a_std__vector.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Number List - stuffing numbers into a std::vector</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="sum___adding_numbers.html" title="Sum - adding numbers">
 <link rel="next" href="number_list_redux___list_syntax.html" title="Number List Redux - list syntax">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_attribute___one_more__with_style.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_attribute___one_more__with_style.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_attribute___one_more__with_style.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Number List Attribute - one more, with style</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="number_list_redux___list_syntax.html" title="Number List Redux - list syntax">
 <link rel="next" href="roman_numerals.html" title="Roman Numerals">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_redux___list_syntax.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_redux___list_syntax.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/number_list_redux___list_syntax.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Number List Redux - list syntax</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="number_list___stuffing_numbers_into_a_std__vector.html" title="Number List - stuffing numbers into a std::vector">
 <link rel="next" href="number_list_attribute___one_more__with_style.html" title="Number List Attribute - one more, with style">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Quick Start</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="../tutorials.html" title="Tutorials">
 <link rel="next" href="warming_up.html" title="Warming up">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Roman Numerals</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="number_list_attribute___one_more__with_style.html" title="Number List Attribute - one more, with style">
 <link rel="next" href="employee___parsing_into_structs.html" title="Employee - Parsing into structs">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Parser Semantic Actions</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="warming_up.html" title="Warming up">
 <link rel="next" href="complex___our_first_complex_parser.html" title="Complex - Our first complex parser">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/sum___adding_numbers.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/sum___adding_numbers.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/sum___adding_numbers.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Sum - adding numbers</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="complex___our_first_complex_parser.html" title="Complex - Our first complex parser">
 <link rel="next" href="number_list___stuffing_numbers_into_a_std__vector.html" title="Number List - stuffing numbers into a std::vector">

Modified: branches/release/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Warming up</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../../index.html" title="Spirit 2.6">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="quick_start.html" title="Quick Start">
 <link rel="next" href="semantic_actions.html" title="Parser Semantic Actions">

Modified: branches/release/libs/spirit/doc/html/spirit/rationale.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/rationale.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/rationale.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Rationale</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="notes/style_guide.html" title="Style Guide">
 <link rel="next" href="repository.html" title="Spirit Repository">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/references.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/references.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/references.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>References</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="acknowledgments.html" title="Acknowledgments">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

Modified: branches/release/libs/spirit/doc/html/spirit/repository.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/repository.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/repository.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Spirit Repository</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="rationale.html" title="Rationale">
 <link rel="next" href="acknowledgments.html" title="Acknowledgments">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/structure.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/structure.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/structure.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Structure</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="introduction.html" title="Introduction">
 <link rel="next" href="structure/include.html" title="Include">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/structure/include.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/structure/include.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/structure/include.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Include</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../structure.html" title="Structure">
 <link rel="prev" href="../structure.html" title="Structure">
 <link rel="next" href="../abstracts.html" title="Abstracts">

Modified: branches/release/libs/spirit/doc/html/spirit/support.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/support.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/support.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,8 +4,8 @@
 <title>Supporting Libraries</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="advanced/customize/auto/create_generator.html" title="Define a Custom Attribute Mapping for a Generator">
 <link rel="next" href="support/multi_pass.html" title="The multi pass iterator">
 </head>

Modified: branches/release/libs/spirit/doc/html/spirit/support/line_pos_iterator.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/support/line_pos_iterator.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/support/line_pos_iterator.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>The line position iterator</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../support.html" title="Supporting Libraries">
 <link rel="prev" href="multi_pass.html" title="The multi pass iterator">
 <link rel="next" href="utree.html" title="The utree data structure">

Modified: branches/release/libs/spirit/doc/html/spirit/support/multi_pass.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/support/multi_pass.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/support/multi_pass.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>The multi pass iterator</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../support.html" title="Supporting Libraries">
 <link rel="prev" href="../support.html" title="Supporting Libraries">
 <link rel="next" href="line_pos_iterator.html" title="The line position iterator">

Modified: branches/release/libs/spirit/doc/html/spirit/support/utree.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/support/utree.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/support/utree.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>The utree data structure</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../support.html" title="Supporting Libraries">
 <link rel="prev" href="line_pos_iterator.html" title="The line position iterator">
 <link rel="next" href="../faq.html" title="Spirit FAQ">

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,10 +4,10 @@
 <title>What's New</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../index.html" title="Spirit 2.5">
-<link rel="up" href="../index.html" title="Spirit 2.5">
+<link rel="home" href="../index.html" title="Spirit 2.6">
+<link rel="up" href="../index.html" title="Spirit 2.6">
 <link rel="prev" href="preface.html" title="Preface">
-<link rel="next" href="what_s_new/spirit_2_5.html" title="Spirit V2.5">
+<link rel="next" href="what_s_new/spirit_2_5_1.html" title="Spirit V2.5.1">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="what_s_new/spirit_2_5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="what_s_new/spirit_2_5_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="spirit.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
 </h2></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Spirit V2.5.1</span></dt>
 <dt><span class="section">Spirit V2.5</span></dt>
 <dt><span class="section">Spirit V2.4.2</span></dt>
 <dt><span class="section">Spirit V2.4.1</span></dt>
@@ -47,7 +48,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="what_s_new/spirit_2_5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="what_s_new/spirit_2_5_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_1_x.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_1_x.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_1_x.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit Classic</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_1.html" title="Spirit V2.1">
 <link rel="next" href="../introduction.html" title="Introduction">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.1</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_2.html" title="Spirit V2.2">
 <link rel="next" href="spirit_1_x.html" title="Spirit Classic">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.2</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_3.html" title="Spirit V2.3">
 <link rel="next" href="spirit_2_1.html" title="Spirit V2.1">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.3</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_4.html" title="Spirit V2.4">
 <link rel="next" href="spirit_2_2.html" title="Spirit V2.2">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.4</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_4_1.html" title="Spirit V2.4.1">
 <link rel="next" href="spirit_2_3.html" title="Spirit V2.3">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.4.1</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_4_2.html" title="Spirit V2.4.2">
 <link rel="next" href="spirit_2_4.html" title="Spirit V2.4">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,7 +4,7 @@
 <title>Spirit V2.4.2</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
 <link rel="prev" href="spirit_2_5.html" title="Spirit V2.5">
 <link rel="next" href="spirit_2_4_1.html" title="Spirit V2.4.1">

Modified: branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html
==============================================================================
--- branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html (original)
+++ branches/release/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -4,9 +4,9 @@
 <title>Spirit V2.5</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="../../index.html" title="Spirit 2.5">
+<link rel="home" href="../../index.html" title="Spirit 2.6">
 <link rel="up" href="../what_s_new.html" title="What's New">
-<link rel="prev" href="../what_s_new.html" title="What's New">
+<link rel="prev" href="spirit_2_5_1.html" title="Spirit V2.5.1">
 <link rel="next" href="spirit_2_4_2.html" title="Spirit V2.4.2">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_4_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="spirit_2_5_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_4_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
@@ -240,7 +240,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_4_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="spirit_2_5_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spirit_2_4_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/spirit/doc/karma/complex.qbk
==============================================================================
--- branches/release/libs/spirit/doc/karma/complex.qbk (original)
+++ branches/release/libs/spirit/doc/karma/complex.qbk 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -242,7 +242,7 @@
 data structure. Fortunately, starting with Boost V1.43 it is possible to
 adapt any data structure (not only, as before, structures with publicly
 accessible members) as a __fusion__ sequence. All we have to do is to employ one
-of the new `BOOST_FUSION_ADAPT_CLASS` macros.
+of the new `BOOST_FUSION_ADAPT_ADT` macros.
 
 [heading Adapting a Class As a Fusion Sequence]
 
@@ -276,7 +276,7 @@
 __fusion__ sequence: a boolean and two double values (the real and the
 imaginary part of the complex number). We want it to match the requirements of
 our formatting grammar, which expects those exact values. The
-`BOOST_FUSION_ADAPT_CLASS` macro allows us to specify an arbitrary accessor
+`BOOST_FUSION_ADAPT_ADT` macro allows us to specify an arbitrary accessor
 construct, not necessarily limited to just calling a member function of the
 object instance (represented by `obj` in the context of this macro). This
 allows us to nicely encapsulate the decision logic into the class adaptation.

Modified: branches/release/libs/spirit/doc/qi/operator.qbk
==============================================================================
--- branches/release/libs/spirit/doc/qi/operator.qbk (original)
+++ branches/release/libs/spirit/doc/qi/operator.qbk 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -20,7 +20,7 @@
 This module includes different parsers which get instantiated if one of
 the overloaded operators is used with more primitive parser constructs.
 It includes Alternative (`|`), And-predicate (unary `&`), Difference
-(`-`), Expect (`>`), Kleene star (unary `*`), Lists (`%`), Not-predicate (`!`),
+(`-`), Expect (`>`), Kleene star (unary `*`), Lists (`%`), Not-predicate (`!`),
 Optional (unary `-`), Permutation (`^`), Plus (unary
 `+`), Sequence (`>>`), and Sequential-Or (`||`).
 
@@ -96,9 +96,9 @@
 a: A, b: A --> (a | b): A``]]
 ]
 
-[note Alternative parsers do not roll back changes made to the outer attribute
- because of a failed alternative. If you need to enforce that only the
- succeeded alternative changes the outer attribute please utilize the
+[note Alternative parsers do not roll back changes made to the outer attribute
+ because of a failed alternative. If you need to enforce that only the
+ succeeded alternative changes the outer attribute please utilize the
       directive __qi_hold__`[]`.]
 
 [heading Complexity]
@@ -127,7 +127,7 @@
 
 Syntactic predicates assert a certain conditional syntax to be satisfied
 before evaluating another production. Similar to semantic predicates,
-__qi_eps__, syntactic predicates do not consume any input. The /and-predicate/,
+__qi_eps__, syntactic predicates do not consume any input. The /and-predicate/,
 `&a`, is a positive syntactic predicate that returns a zero
 length match only if its predicate matches.
 
@@ -248,6 +248,22 @@
 
 [heading Description]
 
+There are occasions in which it is expected that the input must match a
+particular parser or the input is invalid. Such cases generally arise
+after matching a portion of a grammar, such that the context is fully
+known. In such a situation, failure to match should result in an
+exception. For example, when parsing an e-mail address, after matching a
+name and "@" there must be a domain name or the address is invalid.
+
+The expectation operator (>) requires that the following parser match
+the input or an exception is emitted. Using on_error(), that exception
+can be handled by calling a handler with the context at which the
+parsing failed can be reported.
+
+By contrast, the follows operator (>>) does not require that the
+following parser match the input, which allows for backtracking or
+simply returning false from the parse() function with no exceptions.
+
 Like the __qi_sequence__, the expectation operator, `a > b`, parses two or
 more operands (`a`, `b`, ... etc.), in sequence:
 
@@ -465,7 +481,7 @@
 
 Syntactic predicates assert a certain conditional syntax to be satisfied
 before evaluating another production. Similar to semantic predicates,
-__qi_eps__, syntactic predicates do not consume any input. The /not-predicate/,
+__qi_eps__, syntactic predicates do not consume any input. The /not-predicate/,
 `!a`, is a negative syntactic predicate that returns a zero
 length match only if its predicate fails to match.
 

Modified: branches/release/libs/spirit/doc/spirit2.qbk
==============================================================================
--- branches/release/libs/spirit/doc/spirit2.qbk (original)
+++ branches/release/libs/spirit/doc/spirit2.qbk 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -8,7 +8,7 @@
 
 [article Spirit
     [quickbook 1.5]
- [version 2.5]
+ [version 2.6]
     [authors [de Guzman, Joel], [Kaiser, Hartmut]]
     [copyright 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Joel de Guzman, Hartmut Kaiser]
     [/ purpose Parser and Generator Library]
@@ -23,7 +23,7 @@
 
 [/ Some links ]
 
-[def __version__ V2.5]
+[def __version__ V2.6]
 
 [def __spirit__ [@http://boost-spirit.com Spirit]]
 [def __spirit_list__ [@http://www.nabble.com/The-Spirit-Parser-Library-f3430.html Spirit General List]]

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -9,6 +9,30 @@
 [section What's New]
 
 [/////////////////////////////////////////////////////////////////////////////]
+[section:spirit_2_5_1 Spirit V2.5.1]
+
+[heading What's changed from V2.5 (Boost V1.47.0) to V2.5.1 (Boost V1.48.0)]
+
+* The `spirit::istream_iterator` (see __multi_pass__) now checks at
+ construction time whether the underlying stream has reached eof (end of file).
+* __qi__ now properly collapses attributes generated from optionals embedded
+ inside another optional parser (i.e. `-('(' > -int_ >> ')'). That means that
+ attributes like `boost::optiona<boost::optional<int> >` will be collapsed
+ to `boost::optional<int>`. Thanks to Peter Schueller for reporting that
+ problem.
+* Actions attached to binary parsers now properly propagate the parser's
+ attribute. Thanks to Mathias Born for reporting this issue.
+
+[heading Bug Fixes in Lex]
+
+* Fixed Boost ticket #5701: lexertl token_value_type returns const unused for
+ nonconst ref.
+* Fixed a problem in the lexer (position_token) causing problems with enabled
+ parser debugging (MSVC2010).
+
+[endsect]
+
+[/////////////////////////////////////////////////////////////////////////////]
 [section:spirit_2_5 Spirit V2.5]
 
 [heading What's changed in __qi__ and __karma__ from V2.4.2 (Boost V1.46.0) to V2.5 (Boost V1.47.0)]

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 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -115,7 +115,7 @@
         cppcomment = "\\/\\/[^\n]*"; // '//[^\n]*'
         ccomment = "\\/\\*"; // '/*'
         endcomment = "\\*\\/"; // '*/'
- any = ".";
+ any = std::string(".");
         eol = "\n";
 
         // The following tokens are associated with the default lexer state
@@ -132,7 +132,7 @@
         this->self("COMMENT")
             = endcomment [ set_lexer_state("INITIAL") ]
             | "\n"
- | "."
+ | std::string(".")
             ;
     }
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/calc7/main.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/calc7/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/calc7/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -18,10 +18,6 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "statement.hpp"
 #include "vm.hpp"
 #include "compiler.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/calc8/main.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/calc8/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/calc8/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -14,10 +14,6 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "statement.hpp"
 #include "vm.hpp"
 #include "compiler.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/annotation.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/annotation.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/annotation.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -37,24 +37,20 @@
             int id;
             set_id(int id) : id(id) {}
 
- template <typename T>
- void operator()(T& x) const
+ void operator()(ast::function_call& x) const
             {
- this->dispatch(x, boost::is_base_of<ast::tagged, T>());
+ x.function_name.id = id;
             }
 
- // This will catch all nodes except those inheriting from ast::tagged
- template <typename T>
- void dispatch(T& x, boost::mpl::false_) const
+ void operator()(ast::identifier& x) const
             {
- // (no-op) no need for tags
+ x.id = id;
             }
 
- // This will catch all nodes inheriting from ast::tagged
             template <typename T>
- void dispatch(T& x, boost::mpl::true_) const
+ void operator()(T& x) const
             {
- x.id = id;
+ // no-op
             }
         };
 
@@ -65,6 +61,13 @@
             boost::apply_visitor(set_id(id), ast);
         }
 
+ void operator()(ast::variable_declaration& ast, Iterator pos) const
+ {
+ int id = iters.size();
+ iters.push_back(pos);
+ ast.lhs.id = id;
+ }
+
         void operator()(ast::assignment& ast, Iterator pos) const
         {
             int id = iters.size();

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/compiler.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/compiler.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/compiler.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -237,7 +237,6 @@
         int const* p = current->find_var(x.name);
         if (p == 0)
         {
- std::cout << x.id << std::endl;
             error_handler(x.id, "Undeclared variable: " + x.name);
             return false;
         }
@@ -290,7 +289,6 @@
 
         if (functions.find(x.function_name.name) == functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Function not found: " + x.function_name.name);
             return false;
         }
@@ -299,7 +297,6 @@
 
         if (p->nargs() != x.args.size())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Wrong number of arguments: " + x.function_name.name);
             return false;
         }
@@ -432,7 +429,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p == 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Undeclared variable: " + x.lhs.name);
             return false;
         }
@@ -446,7 +442,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p != 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Duplicate variable: " + x.lhs.name);
             return false;
         }
@@ -530,7 +525,6 @@
         {
             if (x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, "'void' function returning a value: ");
                 return false;
             }
@@ -539,7 +533,6 @@
         {
             if (!x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, current_function_name + " function must return a value: ");
                 return false;
             }
@@ -559,7 +552,6 @@
         void_return = x.return_type == "void";
         if (functions.find(x.function_name.name) != functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Duplicate function: " + x.function_name.name);
             return false;
         }

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/expression_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/expression_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/expression_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -80,7 +80,7 @@
 
         unary_expr =
                 primary_expr
- | (unary_op > primary_expr)
+ | (unary_op > unary_expr)
             ;
 
         primary_expr =

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/main.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -13,10 +13,6 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "function.hpp"
 #include "skipper.hpp"
 #include "vm.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/statement_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/statement_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure1/statement_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -100,9 +100,13 @@
         // Debugging and error handling and reporting support.
         BOOST_SPIRIT_DEBUG_NODES(
             (statement_list)
- (identifier)
+ (statement_)
             (variable_declaration)
             (assignment)
+ (if_statement)
+ (while_statement)
+ (compound_statement)
+ (return_statement)
         );
 
         // Error handling: on error in statement_list, call error_handler.
@@ -110,7 +114,10 @@
             error_handler_function(error_handler)(
                 "Error! Expecting ", _4, _3));
 
- // Annotation: on success in assignment, call annotation.
+ // Annotation: on success in variable_declaration,
+ // assignment and return_statement, call annotation.
+ on_success(variable_declaration,
+ annotation_function(error_handler.iters)(_val, _1));
         on_success(assignment,
             annotation_function(error_handler.iters)(_val, _1));
         on_success(return_statement,

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/annotation.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/annotation.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/annotation.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -37,24 +37,20 @@
             int id;
             set_id(int id) : id(id) {}
 
- template <typename T>
- void operator()(T& x) const
+ void operator()(ast::function_call& x) const
             {
- this->dispatch(x, boost::is_base_of<ast::tagged, T>());
+ x.function_name.id = id;
             }
 
- // This will catch all nodes except those inheriting from ast::tagged
- template <typename T>
- void dispatch(T& x, boost::mpl::false_) const
+ void operator()(ast::identifier& x) const
             {
- // (no-op) no need for tags
+ x.id = id;
             }
 
- // This will catch all nodes inheriting from ast::tagged
             template <typename T>
- void dispatch(T& x, boost::mpl::true_) const
+ void operator()(T& x) const
             {
- x.id = id;
+ // no-op
             }
         };
 
@@ -65,6 +61,13 @@
             boost::apply_visitor(set_id(id), ast);
         }
 
+ void operator()(ast::variable_declaration& ast, Iterator pos) const
+ {
+ int id = iters.size();
+ iters.push_back(pos);
+ ast.lhs.id = id;
+ }
+
         void operator()(ast::assignment& ast, Iterator pos) const
         {
             int id = iters.size();

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ast.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ast.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ast.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -15,7 +15,7 @@
 #include <boost/optional.hpp>
 #include <list>
 
-#include "token_ids.hpp"
+#include "ids.hpp"
 
 namespace client { namespace ast
 {
@@ -51,93 +51,15 @@
>
     operand;
 
- #define OP(id) (id + op_operator)
- #define OP_EX(id, mask) (id + (mask | op_operator))
-
- enum optoken
- {
- // pseudo tags
- op_operator = lexer::ID_OP_OPERATOR,
- op_binary = lexer::ID_OP_BINARY,
- op_unary = lexer::ID_OP_UNARY,
- op_mask = (op_operator | op_unary | op_binary),
-
- // precedence 1
- op_comma = OP(0),
-
- // precedence 2
- op_assign = OP(1),
- op_plus_assign = OP(2),
- op_minus_assign = OP(3),
- op_times_assign = OP(4),
- op_divide_assign = OP(5),
- op_mod_assign = OP(6),
- op_bit_and_assign = OP(7),
- op_bit_xor_assign = OP(8),
- op_bitor_assign = OP(9),
- op_shift_left_assign = OP(10),
- op_shift_right_assign = OP(11),
-
- // precedence 3
- op_logical_or = OP_EX(12, op_binary),
-
- // precedence 4
- op_logical_and = OP_EX(13, op_binary),
-
- // precedence 5
- op_bit_or = OP_EX(14, op_binary),
-
- // precedence 6
- op_bit_xor = OP_EX(15, op_binary),
-
- // precedence 7
- op_bit_and = OP_EX(16, op_binary),
-
- // precedence 8
- op_equal = OP_EX(17, op_binary),
- op_not_equal = OP_EX(18, op_binary),
-
- // precedence 9
- op_less = OP_EX(19, op_binary),
- op_less_equal = OP_EX(20, op_binary),
- op_greater = OP_EX(21, op_binary),
- op_greater_equal = OP_EX(22, op_binary),
-
- // precedence 10
- op_shift_left = OP_EX(23, op_binary),
- op_shift_right = OP_EX(24, op_binary),
-
- // precedence 11
- op_plus = OP_EX(25, op_binary|op_unary),
- op_minus = OP_EX(26, op_binary|op_unary),
-
- // precedence 12
- op_times = OP_EX(27, op_binary),
- op_divide = OP_EX(28, op_binary),
- op_mod = OP_EX(29, op_binary),
-
- // precedence 13
- op_positive = OP_EX(30, op_unary),
- op_negative = OP_EX(31, op_unary),
- op_pre_incr = OP_EX(32, op_unary),
- op_pre_decr = OP_EX(33, op_unary),
- op_compl = OP_EX(34, op_unary),
- op_not = OP_EX(35, op_unary),
-
- // precedence 14
- op_post_incr = OP(36),
- op_post_decr = OP(37)
- };
-
     struct unary
     {
- optoken operator_;
+ token_ids::type operator_;
         operand operand_;
     };
 
     struct operation
     {
- optoken operator_;
+ token_ids::type operator_;
         operand operand_;
     };
 
@@ -224,13 +146,13 @@
 
 BOOST_FUSION_ADAPT_STRUCT(
     client::ast::unary,
- (client::ast::optoken, operator_)
+ (client::token_ids::type, operator_)
     (client::ast::operand, operand_)
 )
 
 BOOST_FUSION_ADAPT_STRUCT(
     client::ast::operation,
- (client::ast::optoken, operator_)
+ (client::token_ids::type, operator_)
     (client::ast::operand, operand_)
 )
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -238,7 +238,6 @@
         int const* p = current->find_var(x.name);
         if (p == 0)
         {
- std::cout << x.id << std::endl;
             error_handler(x.id, "Undeclared variable: " + x.name);
             return false;
         }
@@ -246,25 +245,25 @@
         return true;
     }
 
- bool compiler::operator()(ast::optoken const& x)
+ bool compiler::operator()(token_ids::type const& x)
     {
         BOOST_ASSERT(current != 0);
         switch (x)
         {
- case ast::op_plus: current->op(op_add); break;
- case ast::op_minus: current->op(op_sub); break;
- case ast::op_times: current->op(op_mul); break;
- case ast::op_divide: current->op(op_div); break;
-
- case ast::op_equal: current->op(op_eq); break;
- case ast::op_not_equal: current->op(op_neq); break;
- case ast::op_less: current->op(op_lt); break;
- case ast::op_less_equal: current->op(op_lte); break;
- case ast::op_greater: current->op(op_gt); break;
- case ast::op_greater_equal: current->op(op_gte); break;
+ case token_ids::plus: current->op(op_add); break;
+ case token_ids::minus: current->op(op_sub); break;
+ case token_ids::times: current->op(op_mul); break;
+ case token_ids::divide: current->op(op_div); break;
+
+ case token_ids::equal: current->op(op_eq); break;
+ case token_ids::not_equal: current->op(op_neq); break;
+ case token_ids::less: current->op(op_lt); break;
+ case token_ids::less_equal: current->op(op_lte); break;
+ case token_ids::greater: current->op(op_gt); break;
+ case token_ids::greater_equal: current->op(op_gte); break;
 
- case ast::op_logical_or: current->op(op_or); break;
- case ast::op_logical_and: current->op(op_and); break;
+ case token_ids::logical_or: current->op(op_or); break;
+ case token_ids::logical_and: current->op(op_and); break;
             default: BOOST_ASSERT(0); return false;
         }
         return true;
@@ -277,9 +276,9 @@
             return false;
         switch (x.operator_)
         {
- case ast::op_minus: current->op(op_neg); break;
- case ast::op_not: current->op(op_not); break;
- case ast::op_plus: break;
+ case token_ids::minus: current->op(op_neg); break;
+ case token_ids::not_: current->op(op_not); break;
+ case token_ids::plus: break;
             default: BOOST_ASSERT(0); return false;
         }
         return true;
@@ -291,7 +290,6 @@
 
         if (functions.find(x.function_name.name) == functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Function not found: " + x.function_name.name);
             return false;
         }
@@ -300,7 +298,6 @@
 
         if (p->nargs() != x.args.size())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Wrong number of arguments: " + x.function_name.name);
             return false;
         }
@@ -375,25 +372,13 @@
             // precedence 12
             12, // op_times
             12, // op_divide
- 12, // op_mod
-
- // precedence 13
- 13, // op_positive
- 13, // op_negative
- 13, // op_pre_incr
- 13, // op_pre_decr
- 13, // op_compl
- 13, // op_not
-
- // precedence 14
- 14, // op_post_incr
- 14 // op_post_decr
+ 12 // op_mod
         };
     }
 
- inline int get_precedence(ast::optoken op)
+ inline int precedence_of(token_ids::type op)
     {
- return precedence[op & ~ast::op_mask];
+ return precedence[op & 0xFF];
     }
 
     // The Shunting-yard algorithm
@@ -402,17 +387,17 @@
         std::list<ast::operation>::const_iterator& rbegin,
         std::list<ast::operation>::const_iterator rend)
     {
- while ((rbegin != rend) && (get_precedence(rbegin->operator_) >= min_precedence))
+ while ((rbegin != rend) && (precedence_of(rbegin->operator_) >= min_precedence))
         {
- ast::optoken op = rbegin->operator_;
+ token_ids::type op = rbegin->operator_;
             if (!boost::apply_visitor(*this, rbegin->operand_))
                 return false;
             ++rbegin;
 
- while ((rbegin != rend) && (get_precedence(rbegin->operator_) > get_precedence(op)))
+ while ((rbegin != rend) && (precedence_of(rbegin->operator_) > precedence_of(op)))
             {
- ast::optoken next_op = rbegin->operator_;
- compile_expression(get_precedence(next_op), rbegin, rend);
+ token_ids::type next_op = rbegin->operator_;
+ compile_expression(precedence_of(next_op), rbegin, rend);
             }
             (*this)(op);
         }
@@ -438,7 +423,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p == 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Undeclared variable: " + x.lhs.name);
             return false;
         }
@@ -452,7 +436,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p != 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Duplicate variable: " + x.lhs.name);
             return false;
         }
@@ -536,7 +519,6 @@
         {
             if (x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, "'void' function returning a value: ");
                 return false;
             }
@@ -545,7 +527,6 @@
         {
             if (!x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, current_function_name + " function must return a value: ");
                 return false;
             }
@@ -565,7 +546,6 @@
         void_return = x.return_type == "void";
         if (functions.find(x.function_name.name) != functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Duplicate function: " + x.function_name.name);
             return false;
         }

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/compiler.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -77,7 +77,7 @@
         bool operator()(unsigned int x);
         bool operator()(bool x);
         bool operator()(ast::identifier const& x);
- bool operator()(ast::optoken const& x);
+ bool operator()(token_ids::type const& x);
         bool operator()(ast::unary const& x);
         bool operator()(ast::function_call const& x);
         bool operator()(ast::expression const& x);

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_lexer.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -6,8 +6,8 @@
 
 // Auto-generated by boost::lexer, do not edit
 
-#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUN__4_2011_19_46_16)
-#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUN__4_2011_19_46_16
+#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_03_08)
+#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_03_08
 
 #include <boost/detail/iterator.hpp>
 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
@@ -83,44 +83,44 @@
         24, 17, 19, 2, 26, 25, 14, 12,
         15, 26, 26, 7, 4, 26, 6, 26,
         26, 26, 9, 26, 3, 26, 5, 8,
- 22, 10, 23, 0, 1, 65645, 0, 0,
+ 22, 10, 23, 0, 1, 35, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 2, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 65636,
+ 0, 0, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 28, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 29,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 30, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 32, 26,
         26, 26, 31, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 33, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 34, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 35, 26, 26, 26, 26,
@@ -141,38 +141,38 @@
         0, 0, 0, 0, 0, 38, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 327715, 20, 0, 0, 0,
+ 0, 0, 1, 262177, 20, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 39,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196627, 12, 0,
+ 0, 0, 0, 0, 1, 131091, 12, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 40, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196629,
+ 0, 0, 0, 0, 0, 0, 1, 131093,
         14, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 41, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 458777, 16, 0, 0, 0, 0, 0,
+ 1, 393241, 16, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 458778, 17, 0, 0, 0,
+ 0, 0, 1, 393242, 17, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196635, 18, 0,
+ 0, 0, 0, 0, 1, 131099, 18, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196636,
+ 0, 0, 0, 0, 0, 0, 1, 131100,
         19, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 42, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -209,86 +209,86 @@
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65638,
+ 26, 26, 0, 0, 0, 0, 1, 34,
         30, 0, 0, 0, 0, 27, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 43, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 44,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         45, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         46, 26, 26, 26, 0, 0, 0, 0,
- 1, 65641, 4, 0, 0, 0, 0, 0,
+ 1, 65538, 4, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 47, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         48, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         49, 26, 26, 26, 0, 0, 0, 0,
- 1, 196620, 8, 0, 0, 0, 0, 0,
+ 1, 131084, 8, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 196621, 9, 0, 0, 0,
+ 0, 0, 1, 131085, 9, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196625, 10, 0,
+ 0, 0, 0, 0, 1, 131089, 10, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196626,
+ 0, 0, 0, 0, 0, 0, 1, 131090,
         11, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 196628, 13, 0, 0, 0, 0, 0,
+ 1, 131092, 13, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 196630, 15, 0, 0, 0,
+ 0, 0, 1, 131094, 15, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -298,39 +298,39 @@
         50, 42, 42, 42, 42, 42, 42, 42,
         42, 42, 42, 42, 42, 42, 42, 42,
         42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 1, 65636,
+ 42, 42, 42, 42, 42, 42, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 51,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 43, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 52, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65640, 3, 0,
+ 0, 0, 0, 0, 1, 65537, 3, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 53,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 54, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
@@ -340,28 +340,28 @@
         50, 56, 56, 56, 57, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 1, 65646,
+ 56, 56, 56, 56, 56, 56, 1, 36,
         1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65639, 2, 0, 0, 0, 0, 0,
+ 1, 65536, 2, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65642, 5, 0, 0, 0,
+ 0, 0, 1, 65539, 5, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 58, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
@@ -372,17 +372,17 @@
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 1, 65637, 29, 0, 0, 0,
+ 56, 56, 1, 33, 29, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 65643, 6, 0,
+ 0, 0, 0, 0, 1, 65540, 6, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
@@ -393,7 +393,7 @@
         57, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 1, 65644, 7, 0, 0, 0,
+ 56, 56, 1, 65541, 7, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_switch_lexer.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_switch_lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_switch_lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -6,8 +6,8 @@
 
 // Auto-generated by boost::lexer, do not edit
 
-#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUN__4_2011_19_46_16)
-#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUN__4_2011_19_46_16
+#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUL_25_2011_07_03_08)
+#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUL_25_2011_07_03_08
 
 #include <boost/detail/iterator.hpp>
 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
@@ -109,7 +109,7 @@
 
 state0_1:
     end_state_ = true;
- id_ = 65645;
+ id_ = 35;
     uid_ = 0;
     end_token_ = curr_;
 
@@ -122,7 +122,7 @@
 
 state0_2:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -137,7 +137,7 @@
 
 state0_3:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -152,7 +152,7 @@
 
 state0_4:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -167,7 +167,7 @@
 
 state0_5:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -184,7 +184,7 @@
 
 state0_6:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -199,7 +199,7 @@
 
 state0_7:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -214,7 +214,7 @@
 
 state0_8:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -258,7 +258,7 @@
 
 state0_12:
     end_state_ = true;
- id_ = 327715;
+ id_ = 262177;
     uid_ = 20;
     end_token_ = curr_;
 
@@ -271,7 +271,7 @@
 
 state0_13:
     end_state_ = true;
- id_ = 196627;
+ id_ = 131091;
     uid_ = 12;
     end_token_ = curr_;
 
@@ -284,7 +284,7 @@
 
 state0_14:
     end_state_ = true;
- id_ = 196629;
+ id_ = 131093;
     uid_ = 14;
     end_token_ = curr_;
 
@@ -297,28 +297,28 @@
 
 state0_15:
     end_state_ = true;
- id_ = 458777;
+ id_ = 393241;
     uid_ = 16;
     end_token_ = curr_;
     goto end;
 
 state0_16:
     end_state_ = true;
- id_ = 458778;
+ id_ = 393242;
     uid_ = 17;
     end_token_ = curr_;
     goto end;
 
 state0_17:
     end_state_ = true;
- id_ = 196635;
+ id_ = 131099;
     uid_ = 18;
     end_token_ = curr_;
     goto end;
 
 state0_18:
     end_state_ = true;
- id_ = 196636;
+ id_ = 131100;
     uid_ = 19;
     end_token_ = curr_;
 
@@ -373,7 +373,7 @@
 
 state0_25:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -386,7 +386,7 @@
 
 state0_26:
     end_state_ = true;
- id_ = 65638;
+ id_ = 34;
     uid_ = 30;
     end_token_ = curr_;
 
@@ -399,7 +399,7 @@
 
 state0_27:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -414,7 +414,7 @@
 
 state0_28:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -429,7 +429,7 @@
 
 state0_29:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -444,7 +444,7 @@
 
 state0_30:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -459,7 +459,7 @@
 
 state0_31:
     end_state_ = true;
- id_ = 65641;
+ id_ = 65538;
     uid_ = 4;
     end_token_ = curr_;
 
@@ -472,7 +472,7 @@
 
 state0_32:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -487,7 +487,7 @@
 
 state0_33:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -502,7 +502,7 @@
 
 state0_34:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -517,42 +517,42 @@
 
 state0_35:
     end_state_ = true;
- id_ = 196620;
+ id_ = 131084;
     uid_ = 8;
     end_token_ = curr_;
     goto end;
 
 state0_36:
     end_state_ = true;
- id_ = 196621;
+ id_ = 131085;
     uid_ = 9;
     end_token_ = curr_;
     goto end;
 
 state0_37:
     end_state_ = true;
- id_ = 196625;
+ id_ = 131089;
     uid_ = 10;
     end_token_ = curr_;
     goto end;
 
 state0_38:
     end_state_ = true;
- id_ = 196626;
+ id_ = 131090;
     uid_ = 11;
     end_token_ = curr_;
     goto end;
 
 state0_39:
     end_state_ = true;
- id_ = 196628;
+ id_ = 131092;
     uid_ = 13;
     end_token_ = curr_;
     goto end;
 
 state0_40:
     end_state_ = true;
- id_ = 196630;
+ id_ = 131094;
     uid_ = 15;
     end_token_ = curr_;
     goto end;
@@ -569,7 +569,7 @@
 
 state0_42:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -584,7 +584,7 @@
 
 state0_43:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -599,7 +599,7 @@
 
 state0_44:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -614,7 +614,7 @@
 
 state0_45:
     end_state_ = true;
- id_ = 65640;
+ id_ = 65537;
     uid_ = 3;
     end_token_ = curr_;
 
@@ -627,7 +627,7 @@
 
 state0_46:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -642,7 +642,7 @@
 
 state0_47:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -657,7 +657,7 @@
 
 state0_48:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -684,7 +684,7 @@
 
 state0_50:
     end_state_ = true;
- id_ = 65646;
+ id_ = 36;
     uid_ = 1;
     end_token_ = curr_;
 
@@ -697,7 +697,7 @@
 
 state0_51:
     end_state_ = true;
- id_ = 65639;
+ id_ = 65536;
     uid_ = 2;
     end_token_ = curr_;
 
@@ -710,7 +710,7 @@
 
 state0_52:
     end_state_ = true;
- id_ = 65642;
+ id_ = 65539;
     uid_ = 5;
     end_token_ = curr_;
 
@@ -723,7 +723,7 @@
 
 state0_53:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -738,7 +738,7 @@
 
 state0_54:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -763,14 +763,14 @@
 
 state0_56:
     end_state_ = true;
- id_ = 65637;
+ id_ = 33;
     uid_ = 29;
     end_token_ = curr_;
     goto end;
 
 state0_57:
     end_state_ = true;
- id_ = 65643;
+ id_ = 65540;
     uid_ = 6;
     end_token_ = curr_;
 
@@ -783,7 +783,7 @@
 
 state0_58:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -810,7 +810,7 @@
 
 state0_60:
     end_state_ = true;
- id_ = 65644;
+ id_ = 65541;
     uid_ = 7;
     end_token_ = curr_;
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/error_handler.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/error_handler.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/error_handler.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -32,8 +32,10 @@
             What const& what,
             Iterator err_pos) const
         {
- // retrieve underlying iterator from current token
- BaseIterator err_pos_base = err_pos->matched().begin();
+ // retrieve underlying iterator from current token, err_pos points
+ // to the last validly matched token, so we use its end iterator
+ // as the error position
+ BaseIterator err_pos_base = err_pos->matched().end();
 
             int line;
             BaseIterator line_start = get_pos(err_pos_base, line);

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/expression_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/expression_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/expression_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -41,19 +41,19 @@
         // Main expression grammar
         expr =
                 unary_expr
- >> *(tokenid_mask(ast::op_binary) > unary_expr)
+ >> *(tokenid_mask(token_ids::op_binary) > unary_expr)
             ;
 
         unary_expr =
                 primary_expr
- | (tokenid_mask(ast::op_unary) > primary_expr)
+ | (tokenid_mask(token_ids::op_unary) > unary_expr)
             ;
 
         primary_expr =
- lexer.uint_
+ lexer.lit_uint
             | function_call
             | identifier
- | lexer.bool_
+ | lexer.true_or_false
             | '(' > expr > ')'
             ;
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/function_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/function_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/function_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -5,7 +5,6 @@
     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 "token_ids.hpp"
 #include "function.hpp"
 #include "error_handler.hpp"
 #include "annotation.hpp"
@@ -24,7 +23,6 @@
         qi::_4_type _4;
 
         qi::_val_type _val;
- qi::token_type token;
 
         using qi::on_error;
         using qi::on_success;
@@ -39,7 +37,7 @@
         identifier = body.expr.identifier;
         argument_list = -(identifier % ',');
 
- start = (token(lexer::ID_VOID_KWD) | token(lexer::ID_INT_KWD))
+ start = (l.token("void") | l.token("int"))
> identifier
> '(' > argument_list > ')'
> '{' > body > '}'

Copied: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp (from r73330, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp)
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/ids.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -24,6 +24,7 @@
     {
         enum type
         {
+ // binary
             comma,
             assign,
             plus_assign,
@@ -54,126 +55,100 @@
             times,
             divide,
             mod,
- positive,
- negative,
- pre_incr,
- pre_decr,
+
+ // unary
+ plus_plus,
+ minus_minus,
             compl_,
             not_,
- post_incr,
- post_decr
         };
     };
 
- template <int type, int op, int precedence>
+ template <int type, int op>
     struct make_op
     {
- static int const value =
- (precedence << 19)
- + type
- + op
- ;
+ static int const value = type + op;
     };
 
- template <int op, int precedence>
- struct unary_op : make_op<op_type::unary, op, precedence> {};
+ template <op::type op>
+ struct unary_op : make_op<op_type::unary, op> {};
 
- template <int op, int precedence>
+ template <op::type op>
     struct binary_op
- : make_op<op_type::binary, op, precedence> {};
+ : make_op<op_type::binary, op> {};
 
- template <int op, int precedence>
+ template <op::type op>
     struct assign_op
- : make_op<op_type::binary | op_type::assign, op, precedence> {};
+ : make_op<op_type::assign, op> {};
+
+ template <op::type op>
+ struct binary_or_unary_op
+ : make_op<op_type::unary | op_type::binary, op> {};
 
- struct token
+ struct token_ids
     {
         enum type
         {
             // pseudo tags
             invalid = -1,
- binary = op_type::binary,
- unary = op_type::unary,
-
- // binary operators precedence 1
- comma = binary_op<op::comma, 1>::value,
-
- // binary operators precedence 2
- assign = assign_op<op::assign, 2>::value,
- plus_assign = assign_op<op::plus_assign, 2>::value,
- minus_assign = assign_op<op::minus_assign, 2>::value,
- times_assign = assign_op<op::times_assign, 2>::value,
- divide_assign = assign_op<op::divide_assign, 2>::value,
- mod_assign = assign_op<op::mod_assign, 2>::value,
- bit_and_assign = assign_op<op::bit_and_assign, 2>::value,
- bit_xor_assign = assign_op<op::bit_xor_assign, 2>::value,
- bit_or_assign = assign_op<op::bit_or_assign, 2>::value,
- shift_left_assign = assign_op<op::shift_left_assign, 2>::value,
- shift_right_assign = assign_op<op::shift_right_assign, 2>::value,
-
- // binary operators precedence 3
- logical_or = binary_op<op::logical_or, 3>::value,
-
- // binary operators precedence 4
- logical_and = binary_op<op::logical_and, 4>::value,
-
- // binary operators precedence 5
- bit_or = binary_op<op::bit_or, 5>::value,
-
- // binary operators precedence 6
- bit_xor = binary_op<op::bit_xor, 6>::value,
-
- // binary operators precedence 7
- bit_and = binary_op<op::bit_and, 7>::value,
-
- // binary operators precedence 8
- equal = binary_op<op::equal, 8>::value,
- not_equal = binary_op<op::not_equal, 8>::value,
-
- // binary operators precedence 9
- less = binary_op<op::less, 9>::value,
- less_equal = binary_op<op::less_equal, 9>::value,
- greater = binary_op<op::greater, 9>::value,
- greater_equal = binary_op<op::greater_equal, 9>::value,
-
- // binary operators precedence 10
- shift_left = binary_op<op::shift_left, 10>::value,
- shift_right = binary_op<op::shift_right, 10>::value,
-
- // binary operators precedence 11
- plus = binary_op<op::plus, 11>::value,
- minus = binary_op<op::minus, 11>::value,
-
- // binary operators precedence 12
- times = binary_op<op::times, 12>::value,
- divide = binary_op<op::divide, 12>::value,
- mod = binary_op<op::mod, 12>::value,
-
- // unary operators precedence 13
- positive = unary_op<op::positive, 13>::value,
- negative = unary_op<op::negative, 13>::value,
- pre_incr = unary_op<op::pre_incr, 13>::value,
- pre_decr = unary_op<op::pre_decr, 13>::value,
- compl_ = unary_op<op::compl_, 13>::value,
- not_ = unary_op<op::not_, 13>::value,
-
- // unary operators precedence 14
- post_incr = unary_op<op::post_incr, 14>::value,
- post_decr = unary_op<op::post_decr, 14>::value,
+ op_binary = op_type::binary,
+ op_unary = op_type::unary,
+ op_assign = op_type::assign,
+
+ // binary / unary operators with common tokens
+ // '+' and '-' can be binary or unary
+ // (the lexer cannot distinguish which)
+ plus = binary_or_unary_op<op::plus>::value,
+ minus = binary_or_unary_op<op::minus>::value,
+
+ // binary operators
+ comma = binary_op<op::comma>::value,
+ assign = assign_op<op::assign>::value,
+ plus_assign = assign_op<op::plus_assign>::value,
+ minus_assign = assign_op<op::minus_assign>::value,
+ times_assign = assign_op<op::times_assign>::value,
+ divide_assign = assign_op<op::divide_assign>::value,
+ mod_assign = assign_op<op::mod_assign>::value,
+ bit_and_assign = assign_op<op::bit_and_assign>::value,
+ bit_xor_assign = assign_op<op::bit_xor_assign>::value,
+ bit_or_assign = assign_op<op::bit_or_assign>::value,
+ shift_left_assign = assign_op<op::shift_left_assign>::value,
+ shift_right_assign = assign_op<op::shift_right_assign>::value,
+ logical_or = binary_op<op::logical_or>::value,
+ logical_and = binary_op<op::logical_and>::value,
+ bit_or = binary_op<op::bit_or>::value,
+ bit_xor = binary_op<op::bit_xor>::value,
+ bit_and = binary_op<op::bit_and>::value,
+ equal = binary_op<op::equal>::value,
+ not_equal = binary_op<op::not_equal>::value,
+ less = binary_op<op::less>::value,
+ less_equal = binary_op<op::less_equal>::value,
+ greater = binary_op<op::greater>::value,
+ greater_equal = binary_op<op::greater_equal>::value,
+ shift_left = binary_op<op::shift_left>::value,
+ shift_right = binary_op<op::shift_right>::value,
+ times = binary_op<op::times>::value,
+ divide = binary_op<op::divide>::value,
+ mod = binary_op<op::mod>::value,
+
+ // unary operators with overlaps
+ // '++' and '--' can be prefix or postfix
+ // (the lexer cannot distinguish which)
+ plus_plus = unary_op<op::plus_plus>::value,
+ minus_minus = unary_op<op::minus_minus>::value,
+
+ // unary operators
+ compl_ = unary_op<op::compl_>::value,
+ not_ = unary_op<op::not_>::value,
 
             // misc tags
- identifier = op::post_decr + 1,
+ identifier = op::not_ + 1,
             comment,
             whitespace,
             lit_uint,
             true_or_false
         };
     };
-
- inline int precedence_of(token::type op)
- {
- return (op >> 19) & 0xF;
- }
 }
 
 #endif

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -13,3 +13,5 @@
 
 typedef std::string::const_iterator base_iterator_type;
 template client::lexer::conjure_tokens<base_iterator_type>::conjure_tokens();
+template bool client::lexer::conjure_tokens<base_iterator_type>::add_keyword(
+ std::string const&);

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -7,8 +7,11 @@
 #if !defined(BOOST_SPIRIT_CONJURE_LEXER_HPP)
 #define BOOST_SPIRIT_CONJURE_LEXER_HPP
 
+#include <boost/spirit/include/lex_lexertl.hpp>
+#include <boost/spirit/include/lex_lexertl_position_token.hpp>
+
 #include "config.hpp"
-#include "token_ids.hpp"
+#include "ids.hpp"
 
 #if CONJURE_LEXER_STATIC_TABLES != 0
 #include <boost/spirit/include/lex_static_lexertl.hpp>
@@ -17,9 +20,12 @@
 #include <boost/spirit/include/lex_static_lexertl.hpp>
 #include "conjure_static_switch_lexer.hpp"
 #endif
+#include <boost/assert.hpp>
 
-namespace client { namespace lexer
+namespace client { namespace lexer
 {
+ namespace lex = boost::spirit::lex;
+
     ///////////////////////////////////////////////////////////////////////////
     namespace detail
     {
@@ -28,9 +34,9 @@
         template <typename BaseIterator>
         struct get_lexer_type
         {
- // Our token needs to be able to carry several token values:
+ // Our token needs to be able to carry several token values:
             // std::string, unsigned int, and bool
- typedef boost::mpl::vector<std::string, unsigned int, bool>
+ typedef boost::mpl::vector<std::string, unsigned int, bool>
                 token_value_types;
 
             // Using the position_token class as the token type to be returned
@@ -64,16 +70,56 @@
 
     ///////////////////////////////////////////////////////////////////////////
     template <typename BaseIterator>
- struct conjure_tokens
+ struct conjure_tokens
       : lex::lexer<typename detail::get_lexer_type<BaseIterator>::type>
     {
+ private:
+ // get the type of any qi::raw_token(...) and qi::token(...) constructs
+ typedef typename boost::spirit::result_of::terminal<
+ boost::spirit::tag::raw_token(token_ids::type)
+ >::type raw_token_spec;
+
+ typedef typename boost::spirit::result_of::terminal<
+ boost::spirit::tag::token(token_ids::type)
+ >::type token_spec;
+
+ typedef std::map<std::string, token_ids::type> keyword_map_type;
+
+ protected:
+ // add a keyword to the mapping table
+ bool add_keyword(std::string const& keyword);
+
+ public:
         typedef BaseIterator base_iterator_type;
 
         conjure_tokens();
 
+ // extract a raw_token(id) for the given registered keyword
+ raw_token_spec operator()(std::string const& kwd) const
+ {
+ namespace qi = boost::spirit::qi;
+ qi::raw_token_type raw_token;
+
+ typename keyword_map_type::const_iterator it = keywords_.find(kwd);
+ BOOST_ASSERT(it != keywords_.end());
+ return raw_token((it != keywords_.end()) ? (*it).second : token_ids::invalid);
+ }
+
+ // extract a token(id) for the given registered keyword
+ token_spec token(std::string const& kwd) const
+ {
+ namespace qi = boost::spirit::qi;
+ qi::token_type token;
+
+ typename keyword_map_type::const_iterator it = keywords_.find(kwd);
+ BOOST_ASSERT(it != keywords_.end());
+ return token((it != keywords_.end()) ? (*it).second : token_ids::invalid);
+ }
+
         lex::token_def<std::string> identifier;
- lex::token_def<unsigned int> uint_;
- lex::token_def<bool> bool_;
+ lex::token_def<unsigned int> lit_uint;
+ lex::token_def<bool> true_or_false;
+ keyword_map_type keywords_;
     };
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -11,52 +11,64 @@
 {
     template <typename BaseIterator>
     conjure_tokens<BaseIterator>::conjure_tokens()
- : identifier("[a-zA-Z_][a-zA-Z_0-9]*", ID_IDENTIFIER)
- , uint_("[0-9]+", ID_UINT)
- , bool_("true|false", ID_BOOL)
+ : identifier("[a-zA-Z_][a-zA-Z_0-9]*", token_ids::identifier)
+ , lit_uint("[0-9]+", token_ids::lit_uint)
+ , true_or_false("true|false", token_ids::true_or_false)
     {
         lex::_pass_type _pass;
 
- this->self = uint_ | bool_;
+ this->self = lit_uint | true_or_false;
 
- this->self.add
- ("void", ID_VOID_KWD)
- ("int", ID_INT_KWD)
- ("if", ID_IF_KWD)
- ("else", ID_ELSE_KWD)
- ("while", ID_WHILE_KWD)
- ("return", ID_RETURN_KWD)
- ;
-
- this->self.add
- ("\\|\\|", ID_OP_LOGICAL_OR)
- ("&&", ID_OP_LOGICAL_AND)
- ("==", ID_OP_EQUAL)
- ("!=", ID_OP_NOT_EQUAL)
- ("<", ID_OP_LESS)
- ("<=", ID_OP_LESS_EQUAL)
- (">", ID_OP_GREATER)
- (">=", ID_OP_GREATER_EQUAL)
- ("\\+", ID_OP_PLUS)
- ("\\-", ID_OP_MINUS)
- ("\\*", ID_OP_TIMES)
- ("\\/", ID_OP_DIVIDE)
- ("!", ID_OP_NOT)
+ add_keyword("void");
+ add_keyword("int");
+ add_keyword("if");
+ add_keyword("else");
+ add_keyword("while");
+ add_keyword("return");
+
+ this->self.add
+ ("\\|\\|", token_ids::logical_or)
+ ("&&", token_ids::logical_and)
+ ("==", token_ids::equal)
+ ("!=", token_ids::not_equal)
+ ("<", token_ids::less)
+ ("<=", token_ids::less_equal)
+ (">", token_ids::greater)
+ (">=", token_ids::greater_equal)
+ ("\\+", token_ids::plus)
+ ("\\-", token_ids::minus)
+ ("\\*", token_ids::times)
+ ("\\/", token_ids::divide)
+ ("!", token_ids::not_)
             ;
 
         this->self += lex::char_('(') | ')' | '{' | '}' | ',' | '=' | ';';
 
- this->self +=
+ this->self +=
                 identifier
- | lex::string("\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/", ID_COMMENT)
+ | lex::string("\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/", token_ids::comment)
                 [
                     lex::_pass = lex::pass_flags::pass_ignore
- ]
- | lex::string("[ \t\n\r]+", ID_WHITESPACE)
+ ]
+ | lex::string("[ \t\n\r]+", token_ids::whitespace)
                 [
                     lex::_pass = lex::pass_flags::pass_ignore
                 ]
             ;
     }
+
+ template <typename BaseIterator>
+ bool conjure_tokens<BaseIterator>::add_keyword(std::string const& keyword)
+ {
+ // add the token to the lexer
+ token_ids::type id = token_ids::type(this->get_next_id());
+ this->self.add(keyword, id);
+
+ // store the mapping for later retrieval
+ std::pair<typename keyword_map_type::iterator, bool> p =
+ keywords_.insert(typename keyword_map_type::value_type(keyword, id));
+
+ return p.second;
+ }
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/main.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -15,10 +15,6 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "config.hpp"
 #include "function.hpp"
 #include "vm.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/statement_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/statement_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/statement_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -5,7 +5,6 @@
     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 "token_ids.hpp"
 #include "statement.hpp"
 #include "error_handler.hpp"
 #include "annotation.hpp"
@@ -24,7 +23,6 @@
         qi::_4_type _4;
 
         qi::_val_type _val;
- qi::raw_token_type raw_token;
 
         using qi::on_error;
         using qi::on_success;
@@ -50,7 +48,7 @@
             ;
 
         variable_declaration =
- raw_token(lexer::ID_INT_KWD)
+ l("int")
> expr.identifier
> -('=' > expr)
> ';'
@@ -64,20 +62,20 @@
             ;
 
         if_statement =
- raw_token(lexer::ID_IF_KWD)
+ l("if")
> '('
> expr
> ')'
> statement_
>
                -(
- raw_token(lexer::ID_ELSE_KWD)
+ l("else")
> statement_
                 )
             ;
 
         while_statement =
- raw_token(lexer::ID_WHILE_KWD)
+ l("while")
> '('
> expr
> ')'
@@ -89,7 +87,7 @@
             ;
 
         return_statement =
- raw_token(lexer::ID_RETURN_KWD)
+ l("return")
> -expr
> ';'
             ;
@@ -97,8 +95,13 @@
         // Debugging and error handling and reporting support.
         BOOST_SPIRIT_DEBUG_NODES(
             (statement_list)
+ (statement_)
             (variable_declaration)
             (assignment)
+ (if_statement)
+ (while_statement)
+ (compound_statement)
+ (return_statement)
         );
 
         // Error handling: on error in statement_list, call error_handler.
@@ -106,7 +109,10 @@
             error_handler_function(error_handler)(
                 "Error! Expecting ", _4, _3));
 
- // Annotation: on success in assignment, call annotation.
+ // Annotation: on success in variable_declaration,
+ // assignment and return_statement, call annotation.
+ on_success(variable_declaration,
+ annotation_function(error_handler.iters)(_val, _1));
         on_success(assignment,
             annotation_function(error_handler.iters)(_val, _1));
         on_success(return_statement,

Deleted: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/token_ids.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure2/token_ids.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
+++ (empty file)
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP)
-#define BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP
-
-#include <boost/spirit/include/lex_lexertl.hpp>
-#include <boost/spirit/include/lex_lexertl_position_token.hpp>
-
-namespace client { namespace lexer
-{
- namespace lex = boost::spirit::lex;
-
- enum tokenids
- {
- ID_OP_OPERATOR = 0x10000,
- ID_OP_BINARY = 0x20000,
- ID_OP_UNARY = 0x40000,
-
- // the token ids (added values below) have to correspond to the
- // sequence numbers used in the ast::optoken enumeration
- ID_OP_LOGICAL_OR = (ID_OP_OPERATOR | ID_OP_BINARY) + 12,
- ID_OP_LOGICAL_AND = (ID_OP_OPERATOR | ID_OP_BINARY) + 13,
- ID_OP_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 17,
- ID_OP_NOT_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 18,
- ID_OP_LESS = (ID_OP_OPERATOR | ID_OP_BINARY) + 19,
- ID_OP_LESS_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 20,
- ID_OP_GREATER = (ID_OP_OPERATOR | ID_OP_BINARY) + 21,
- ID_OP_GREATER_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 22,
- ID_OP_PLUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 25,
- ID_OP_MINUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 26,
- ID_OP_TIMES = (ID_OP_OPERATOR | ID_OP_BINARY) + 27,
- ID_OP_DIVIDE = (ID_OP_OPERATOR | ID_OP_BINARY) + 28,
- ID_OP_NOT = (ID_OP_OPERATOR | ID_OP_UNARY) + 35,
-
- ID_IDENTIFIER = ID_OP_OPERATOR + 100,
- ID_COMMENT,
- ID_WHITESPACE,
- ID_VOID_KWD,
- ID_INT_KWD,
- ID_IF_KWD,
- ID_ELSE_KWD,
- ID_WHILE_KWD,
- ID_RETURN_KWD,
- ID_UINT,
- ID_BOOL
- };
-}}
-
-#endif
-
-

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/annotation.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/annotation.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/annotation.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -20,6 +20,67 @@
     // for the purpose of subsequent semantic error handling when the
     // program is being compiled.
     ///////////////////////////////////////////////////////////////////////////////
+ struct set_annotation_id
+ {
+ typedef void result_type;
+
+ int id;
+ set_annotation_id(int id) : id(id) {}
+
+ void operator()(ast::function_call& x) const
+ {
+ x.function_name.id = id;
+ }
+
+ template <typename T>
+ void dispatch(T& x, boost::mpl::true_) const
+ {
+ x.id = id;
+ }
+
+ template <typename T>
+ void dispatch(T& x, boost::mpl::false_) const
+ {
+ // no-op
+ }
+
+ template <typename T>
+ void operator()(T& x) const
+ {
+ typename boost::is_base_of<ast::tagged, T> is_tagged;
+ dispatch(x, is_tagged);
+ }
+ };
+
+ struct get_annotation_id
+ {
+ typedef int result_type;
+
+ int operator()(ast::function_call& x) const
+ {
+ return x.function_name.id;
+ }
+
+ template <typename T>
+ int dispatch(T& x, boost::mpl::true_) const
+ {
+ return x.id;
+ }
+
+ template <typename T>
+ int dispatch(T& x, boost::mpl::false_) const
+ {
+ return -1;
+ }
+
+ template <typename T>
+ int operator()(T& x) const
+ {
+ typename boost::is_base_of<ast::tagged, T> is_tagged;
+ return dispatch(x, is_tagged);
+ }
+ };
+
     template <typename Iterator>
     struct annotation
     {
@@ -30,35 +91,27 @@
         annotation(std::vector<Iterator>& iters)
           : iters(iters) {}
 
- struct set_id
+ void operator()(ast::operand& ast, Iterator pos) const
         {
- typedef void result_type;
-
- int id;
- set_id(int id) : id(id) {}
+ int id = iters.size();
+ iters.push_back(pos);
+ boost::apply_visitor(set_annotation_id(id), ast);
+ ast.id = id;
+ }
 
- void operator()(ast::function_call& x) const
- {
- x.function_name.id = id;
- }
-
- void operator()(ast::identifier& x) const
- {
- x.id = id;
- }
-
- template <typename T>
- void operator()(T& x) const
- {
- // no-op
- }
- };
+ void operator()(ast::primary_expr& ast, Iterator pos) const
+ {
+ int id = iters.size();
+ iters.push_back(pos);
+ boost::apply_visitor(set_annotation_id(id), ast);
+ ast.id = id;
+ }
 
- void operator()(ast::operand& ast, Iterator pos) const
+ void operator()(ast::variable_declaration& ast, Iterator pos) const
         {
             int id = iters.size();
             iters.push_back(pos);
- boost::apply_visitor(set_id(id), ast);
+ ast.lhs.id = id;
         }
 
         void operator()(ast::assignment& ast, Iterator pos) const

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ast.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/ast.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ast.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -12,10 +12,12 @@
 #include <boost/variant/recursive_variant.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 #include <boost/fusion/include/io.hpp>
+#include <boost/spirit/include/support_extended_variant.hpp>
+#include <boost/spirit/include/support_attributes.hpp>
 #include <boost/optional.hpp>
 #include <list>
 
-#include "token_ids.hpp"
+#include "ids.hpp"
 
 namespace client { namespace ast
 {
@@ -30,7 +32,7 @@
     };
 
     struct nil {};
- struct unary;
+ struct unary_expr;
     struct function_call;
     struct expression;
 
@@ -40,104 +42,51 @@
         std::string name;
     };
 
- typedef boost::variant<
+ struct primary_expr :
+ tagged,
+ boost::spirit::extended_variant<
             nil
           , bool
           , unsigned int
           , identifier
- , boost::recursive_wrapper<unary>
- , boost::recursive_wrapper<function_call>
           , boost::recursive_wrapper<expression>
>
- operand;
-
- #define OP(id) (id + op_operator)
- #define OP_EX(id, mask) (id + (mask | op_operator))
+ {
+ primary_expr() : base_type() {}
+ primary_expr(bool val) : base_type(val) {}
+ primary_expr(unsigned int val) : base_type(val) {}
+ primary_expr(identifier const& val) : base_type(val) {}
+ primary_expr(expression const& val) : base_type(val) {}
+ primary_expr(primary_expr const& rhs)
+ : base_type(rhs.get()) {}
+ };
 
- enum optoken
+ struct operand :
+ tagged,
+ boost::spirit::extended_variant<
+ nil
+ , primary_expr
+ , boost::recursive_wrapper<unary_expr>
+ , boost::recursive_wrapper<function_call>
+ >
     {
- // pseudo tags
- op_operator = lexer::ID_OP_OPERATOR,
- op_binary = lexer::ID_OP_BINARY,
- op_unary = lexer::ID_OP_UNARY,
- op_mask = (op_operator | op_unary | op_binary),
-
- // precedence 1
- op_comma = OP(0),
-
- // precedence 2
- op_assign = OP(1),
- op_plus_assign = OP(2),
- op_minus_assign = OP(3),
- op_times_assign = OP(4),
- op_divide_assign = OP(5),
- op_mod_assign = OP(6),
- op_bit_and_assign = OP(7),
- op_bit_xor_assign = OP(8),
- op_bitor_assign = OP(9),
- op_shift_left_assign = OP(10),
- op_shift_right_assign = OP(11),
-
- // precedence 3
- op_logical_or = OP_EX(12, op_binary),
-
- // precedence 4
- op_logical_and = OP_EX(13, op_binary),
-
- // precedence 5
- op_bit_or = OP_EX(14, op_binary),
-
- // precedence 6
- op_bit_xor = OP_EX(15, op_binary),
-
- // precedence 7
- op_bit_and = OP_EX(16, op_binary),
-
- // precedence 8
- op_equal = OP_EX(17, op_binary),
- op_not_equal = OP_EX(18, op_binary),
-
- // precedence 9
- op_less = OP_EX(19, op_binary),
- op_less_equal = OP_EX(20, op_binary),
- op_greater = OP_EX(21, op_binary),
- op_greater_equal = OP_EX(22, op_binary),
-
- // precedence 10
- op_shift_left = OP_EX(23, op_binary),
- op_shift_right = OP_EX(24, op_binary),
-
- // precedence 11
- op_plus = OP_EX(25, op_binary|op_unary),
- op_minus = OP_EX(26, op_binary|op_unary),
-
- // precedence 12
- op_times = OP_EX(27, op_binary),
- op_divide = OP_EX(28, op_binary),
- op_mod = OP_EX(29, op_binary),
-
- // precedence 13
- op_positive = OP_EX(30, op_unary),
- op_negative = OP_EX(31, op_unary),
- op_pre_incr = OP_EX(32, op_unary),
- op_pre_decr = OP_EX(33, op_unary),
- op_compl = OP_EX(34, op_unary),
- op_not = OP_EX(35, op_unary),
-
- // precedence 14
- op_post_incr = OP(36),
- op_post_decr = OP(37)
+ operand() : base_type() {}
+ operand(primary_expr const& val) : base_type(val) {}
+ operand(unary_expr const& val) : base_type(val) {}
+ operand(function_call const& val) : base_type(val) {}
+ operand(operand const& rhs)
+ : base_type(rhs.get()) {}
     };
 
- struct unary
+ struct unary_expr : tagged
     {
- optoken operator_;
+ token_ids::type operator_;
         operand operand_;
     };
 
     struct operation
     {
- optoken operator_;
+ token_ids::type operator_;
         operand operand_;
     };
 
@@ -156,6 +105,7 @@
     struct assignment
     {
         identifier lhs;
+ token_ids::type operator_;
         expression rhs;
     };
 
@@ -171,12 +121,14 @@
     struct return_statement;
 
     typedef boost::variant<
- variable_declaration
+ nil
+ , variable_declaration
           , assignment
           , boost::recursive_wrapper<if_statement>
           , boost::recursive_wrapper<while_statement>
           , boost::recursive_wrapper<return_statement>
           , boost::recursive_wrapper<statement_list>
+ , boost::recursive_wrapper<expression>
>
     statement;
 
@@ -223,14 +175,14 @@
 }}
 
 BOOST_FUSION_ADAPT_STRUCT(
- client::ast::unary,
- (client::ast::optoken, operator_)
+ client::ast::unary_expr,
+ (client::token_ids::type, operator_)
     (client::ast::operand, operand_)
 )
 
 BOOST_FUSION_ADAPT_STRUCT(
     client::ast::operation,
- (client::ast::optoken, operator_)
+ (client::token_ids::type, operator_)
     (client::ast::operand, operand_)
 )
 
@@ -255,6 +207,7 @@
 BOOST_FUSION_ADAPT_STRUCT(
     client::ast::assignment,
     (client::ast::identifier, lhs)
+ (client::token_ids::type, operator_)
     (client::ast::expression, rhs)
 )
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.cpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -6,17 +6,520 @@
 =============================================================================*/
 #include "config.hpp"
 #include "compiler.hpp"
+#include "annotation.hpp"
 #include "vm.hpp"
 
 #include <boost/foreach.hpp>
 #include <boost/variant/apply_visitor.hpp>
+#include <boost/range/adaptor/transformed.hpp>
 #include <boost/assert.hpp>
 #include <boost/lexical_cast.hpp>
 #include <set>
 
 namespace client { namespace code_gen
 {
- void compiler::init_fpm()
+ value::value()
+ : v(0),
+ is_lvalue_(false),
+ builder(0)
+ {}
+
+ value::value(
+ llvm::Value* v,
+ bool is_lvalue_,
+ llvm::IRBuilder<>* builder)
+ : v(v),
+ is_lvalue_(is_lvalue_),
+ builder(builder)
+ {}
+
+ value::value(value const& rhs)
+ : v(rhs.v),
+ is_lvalue_(rhs.is_lvalue_),
+ builder(rhs.builder)
+ {}
+
+ bool value::is_lvalue() const
+ {
+ return is_lvalue_;
+ }
+
+ bool value::is_valid() const
+ {
+ return v != 0;
+ }
+
+ value::operator bool() const
+ {
+ return v != 0;
+ }
+
+ void value::name(char const* id)
+ {
+ v->setName(id);
+ }
+
+ void value::name(std::string const& id)
+ {
+ v->setName(id);
+ }
+
+ value::operator llvm::Value*() const
+ {
+ if (is_lvalue_)
+ {
+ BOOST_ASSERT(builder != 0);
+ return builder->CreateLoad(v, v->getName());
+ }
+ return v;
+ }
+
+ value& value::operator=(value const& rhs)
+ {
+ v = rhs.v;
+ is_lvalue_ = rhs.is_lvalue_;
+ builder = rhs.builder;
+ return *this;
+ }
+
+ value& value::assign(value const& rhs)
+ {
+ BOOST_ASSERT(is_lvalue());
+ BOOST_ASSERT(builder != 0);
+ builder->CreateStore(rhs, v);
+ return *this;
+ }
+
+ value operator-(value a)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateNeg(a, "neg_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator!(value a)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateNot(a, "not_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator+(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateAdd(a, b, "add_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator-(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateSub(a, b, "sub_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator*(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateMul(a, b, "mul_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator/(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateSDiv(a, b, "div_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator%(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateSRem(a, b, "mod_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator&(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateAnd(a, b, "and_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator|(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateOr(a, b, "or_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator^(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateXor(a, b, "xor_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator<<(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateShl(a, b, "shl_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator>>(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateLShr(a, b, "shr_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator==(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpEQ(a, b, "eq_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator!=(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpNE(a, b, "ne_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator<(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpSLT(a, b, "slt_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator<=(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpSLE(a, b, "sle_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator>(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpSGT(a, b, "sgt_tmp"),
+ false, a.builder
+ );
+ }
+
+ value operator>=(value a, value b)
+ {
+ BOOST_ASSERT(a.builder != 0);
+ return value(
+ a.builder->CreateICmpSGE(a, b, "sge_tmp"),
+ false, a.builder
+ );
+ }
+
+ struct function::to_value
+ {
+ typedef value result_type;
+ llvm_compiler* c;
+
+ to_value(llvm_compiler* c = 0) : c(c) {}
+
+ value operator()(llvm::Value& v) const
+ {
+ return c->val(&v);
+ }
+ };
+
+ bool basic_block::has_terminator() const
+ {
+ return b->getTerminator() != 0;
+ }
+
+ bool basic_block::is_valid() const
+ {
+ return b != 0;
+ }
+
+ function::operator llvm::Function*() const
+ {
+ return f;
+ }
+
+ std::size_t function::arg_size() const
+ {
+ return f->arg_size();
+ }
+
+ void function::add(basic_block const& b)
+ {
+ f->getBasicBlockList().push_back(b);
+ }
+
+ void function::erase_from_parent()
+ {
+ f->eraseFromParent();
+ }
+
+ basic_block function::last_block()
+ {
+ return &f->getBasicBlockList().back();
+ }
+
+ bool function::empty() const
+ {
+ return f->empty();
+ }
+
+ std::string function::name() const
+ {
+ return f->getName();
+ }
+
+ function::arg_range function::args() const
+ {
+ BOOST_ASSERT(c != 0);
+ argval_iterator first(f->arg_begin(), to_value());
+ argval_iterator last(f->arg_end(), to_value());
+ return arg_range(first, last);
+ }
+
+ bool function::is_valid() const
+ {
+ return f != 0;
+ }
+
+ void function::verify() const
+ {
+ llvm::verifyFunction(*f);
+ }
+
+ value llvm_compiler::val(unsigned int x)
+ {
+ return value(
+ llvm::ConstantInt::get(context(), llvm::APInt(int_size, x)),
+ false, &llvm_builder);
+ }
+
+ value llvm_compiler::val(int x)
+ {
+ return value(
+ llvm::ConstantInt::get(context(), llvm::APInt(int_size, x)),
+ false, &llvm_builder);
+ }
+
+ value llvm_compiler::val(bool x)
+ {
+ return value(
+ llvm::ConstantInt::get(context(), llvm::APInt(1, x)),
+ false, &llvm_builder);
+ }
+
+ value llvm_compiler::val(llvm::Value* v)
+ {
+ return value(v, false, &llvm_builder);
+ }
+
+ namespace
+ {
+ // Create an alloca instruction in the entry block of
+ // the function. This is used for mutable variables etc.
+ llvm::AllocaInst*
+ make_entry_block_alloca(
+ llvm::Function* f,
+ char const* name,
+ llvm::LLVMContext& context)
+ {
+ llvm::IRBuilder<> builder(
+ &f->getEntryBlock(),
+ f->getEntryBlock().begin());
+
+ return builder.CreateAlloca(
+ llvm::Type::getIntNTy(context, int_size), 0, name);
+ }
+ }
+
+ value llvm_compiler::var(char const* name)
+ {
+ llvm::Function* f = llvm_builder.GetInsertBlock()->getParent();
+ llvm::IRBuilder<> builder(
+ &f->getEntryBlock(),
+ f->getEntryBlock().begin());
+
+ llvm::AllocaInst* alloca = builder.CreateAlloca(
+ llvm::Type::getIntNTy(context(), int_size), 0, name);
+
+ return value(alloca, true, &llvm_builder);
+ }
+
+ struct value::to_llvm_value
+ {
+ typedef llvm::Value* result_type;
+ llvm::Value* operator()(value const& x) const
+ {
+ return x;
+ }
+ };
+
+ template <typename C>
+ llvm::Value* llvm_compiler::call_impl(
+ function callee,
+ C const& args_)
+ {
+ // Sigh. LLVM requires CreateCall arguments to be random access.
+ // It would have been better if it can accept forward iterators.
+ // I guess it needs the arguments to be in contiguous memory.
+ // So, we have to put the args into a temporary std::vector.
+ std::vector<llvm::Value*> args(
+ args_.begin(), args_.end());
+
+ // Check the args for null values. We can't have null values.
+ // Return 0 if we find one to flag error.
+ BOOST_FOREACH(llvm::Value* arg, args)
+ {
+ if (arg == 0)
+ return 0;
+ }
+
+ return llvm_builder.CreateCall(
+ callee, args.begin(), args.end(), "call_tmp");
+ }
+
+ template <typename Container>
+ value llvm_compiler::call(
+ function callee,
+ Container const& args)
+ {
+ llvm::Value* call = call_impl(
+ callee,
+ args | boost::adaptors::transformed(value::to_llvm_value()));
+
+ if (call == 0)
+ return val();
+ return value(call, false, &llvm_builder);
+ }
+
+ function llvm_compiler::get_function(char const* name)
+ {
+ return function(vm.module()->getFunction(name), this);
+ }
+
+ function llvm_compiler::get_current_function()
+ {
+ // get the current function
+ return function(llvm_builder.GetInsertBlock()->getParent(), this);
+ }
+
+ function llvm_compiler::declare_function(
+ bool void_return
+ , std::string const& name
+ , std::size_t nargs)
+ {
+ llvm::Type* int_type =
+ llvm::Type::getIntNTy(context(), int_size);
+ llvm::Type* void_type = llvm::Type::getVoidTy(context());
+
+ std::vector<llvm::Type*> ints(nargs, int_type);
+ llvm::Type* return_type = void_return ? void_type : int_type;
+
+ llvm::FunctionType* function_type =
+ llvm::FunctionType::get(void_return ? void_type : int_type, ints, false);
+
+ return function(llvm::Function::Create(
+ function_type, llvm::Function::ExternalLinkage,
+ name, vm.module()), this);
+ }
+
+ basic_block llvm_compiler::make_basic_block(
+ char const* name
+ , function parent
+ , basic_block before)
+ {
+ return llvm::BasicBlock::Create(context(), name, parent, before);
+ }
+
+ value llvm_compiler::var(std::string const& name)
+ {
+ return var(name.c_str());
+ }
+
+ function llvm_compiler::get_function(std::string const& name)
+ {
+ return get_function(name.c_str());
+ }
+
+ basic_block llvm_compiler::get_insert_block()
+ {
+ return llvm_builder.GetInsertBlock();
+ }
+
+ void llvm_compiler::set_insert_point(basic_block b)
+ {
+ llvm_builder.SetInsertPoint(b);
+ }
+
+ void llvm_compiler::conditional_branch(
+ value cond, basic_block true_br, basic_block false_br)
+ {
+ llvm_builder.CreateCondBr(cond, true_br, false_br);
+ }
+
+ void llvm_compiler::branch(basic_block b)
+ {
+ llvm_builder.CreateBr(b);
+ }
+
+ void llvm_compiler::return_()
+ {
+ llvm_builder.CreateRetVoid();
+ }
+
+ void llvm_compiler::return_(value v)
+ {
+ llvm_builder.CreateRet(v);
+ }
+
+ void llvm_compiler::optimize_function(function f)
+ {
+ // Optimize the function.
+ fpm.run(*f);
+ }
+
+ void llvm_compiler::init_fpm()
     {
         // Set up the optimizer pipeline. Start with registering info about how the
         // target lays out data structures.
@@ -37,69 +540,108 @@
         fpm.doInitialization();
     }
 
- llvm::Value* compiler::operator()(unsigned int x)
+ value compiler::operator()(unsigned int x)
     {
- return llvm::ConstantInt::get(context(), llvm::APInt(int_size, x));
+ return val(x);
     }
 
- llvm::Value* compiler::operator()(bool x)
+ value compiler::operator()(bool x)
     {
- return llvm::ConstantInt::get(context(), llvm::APInt(1, x));
+ return val(x);
     }
 
- llvm::Value* compiler::operator()(ast::identifier const& x)
+ value compiler::operator()(ast::primary_expr const& x)
+ {
+ return boost::apply_visitor(*this, x.get());
+ }
+
+ value compiler::operator()(ast::identifier const& x)
     {
         // Look this variable up in the function.
- llvm::Value* value = named_values[x.name];
- if (value == 0)
+ if (locals.find(x.name) == locals.end())
         {
             error_handler(x.id, "Undeclared variable: " + x.name);
- return 0;
+ return val();
         }
-
- // Load the value.
- return builder.CreateLoad(value, x.name.c_str());
+ return locals[x.name];
     }
 
- llvm::Value* compiler::operator()(ast::unary const& x)
+ value compiler::operator()(ast::unary_expr const& x)
     {
- llvm::Value* operand = boost::apply_visitor(*this, x.operand_);
- if (operand == 0)
- return 0;
+ value operand = boost::apply_visitor(*this, x.operand_);
+ if (!operand.is_valid())
+ return val();
 
         switch (x.operator_)
         {
- case ast::op_minus: return builder.CreateNeg(operand, "negtmp");
- case ast::op_not: return builder.CreateNot(operand, "nottmp");
- case ast::op_plus: return operand;
- default: BOOST_ASSERT(0); return 0;
+ case token_ids::compl_: return operand ^ val(-1);
+ case token_ids::minus: return -operand;
+ case token_ids::not_: return !operand;
+ case token_ids::plus: return operand;
+ case token_ids::plus_plus:
+ {
+ if (!operand.is_lvalue())
+ {
+ error_handler(x.id, "++ needs an var");
+ return val();
+ }
+
+ value r = operand + val(1);
+ operand.assign(r);
+ return operand;
+ }
+ case token_ids::minus_minus:
+ {
+ if (!operand.is_lvalue())
+ {
+ error_handler(x.id, "-- needs an var");
+ return val();
+ }
+
+ value r = operand - val(1);
+ operand.assign(r);
+ return operand;
+ }
+ default:
+ BOOST_ASSERT(0);
+ return val();
         }
     }
 
- llvm::Value* compiler::operator()(ast::function_call const& x)
+ namespace
     {
- llvm::Function* callee = vm.module()->getFunction(x.function_name.name);
- if (callee == 0)
+ struct compile_args
         {
- error_handler(x.function_name.id, "Function not found: " + x.function_name.name);
- return false;
- }
+ compiler& c;
+ compile_args(compiler& c) : c(c) {}
 
- if (callee->arg_size() != x.args.size())
+ typedef value result_type;
+ value operator()(ast::expression const& expr) const
+ {
+ return c(expr);
+ }
+ };
+ }
+
+ value compiler::operator()(ast::function_call const& x)
+ {
+ function callee = get_function(x.function_name.name);
+ if (!callee.is_valid())
         {
- error_handler(x.function_name.id, "Wrong number of arguments: " + x.function_name.name);
- return 0;
+ error_handler(x.function_name.id,
+ "Function not found: " + x.function_name.name);
+ return val();
         }
 
- std::vector<llvm::Value*> args;
- BOOST_FOREACH(ast::expression const& expr, x.args)
+ if (callee.arg_size() != x.args.size())
         {
- args.push_back((*this)(expr));
- if (args.back() == 0)
- return 0;
+ error_handler(x.function_name.id,
+ "Wrong number of arguments: " + x.function_name.name);
+ return val();
         }
 
- return builder.CreateCall(callee, args.begin(), args.end(), "calltmp");
+ return call(callee,
+ x.args | boost::adaptors::transformed(compile_args(*this)));
     }
 
     namespace
@@ -157,70 +699,67 @@
             // precedence 12
             12, // op_times
             12, // op_divide
- 12, // op_mod
-
- // precedence 13
- 13, // op_positive
- 13, // op_negative
- 13, // op_pre_incr
- 13, // op_pre_decr
- 13, // op_compl
- 13, // op_not
-
- // precedence 14
- 14, // op_post_incr
- 14 // op_post_decr
+ 12 // op_mod
         };
     }
 
- llvm::Value* compiler::compile_binary_expression(
- llvm::Value* lhs, llvm::Value* rhs, ast::optoken op)
+ inline int precedence_of(token_ids::type op)
+ {
+ return precedence[op & 0xFF];
+ }
+
+ value compiler::compile_binary_expression(
+ value lhs, value rhs, token_ids::type op)
     {
         switch (op)
         {
- case ast::op_plus: return builder.CreateAdd(lhs, rhs, "addtmp");
- case ast::op_minus: return builder.CreateSub(lhs, rhs, "subtmp");
- case ast::op_times: return builder.CreateMul(lhs, rhs, "multmp");
- case ast::op_divide: return builder.CreateSDiv(lhs, rhs, "divtmp");
-
- case ast::op_equal: return builder.CreateICmpEQ(lhs, rhs, "eqtmp");
- case ast::op_not_equal: return builder.CreateICmpNE(lhs, rhs, "netmp");
- case ast::op_less: return builder.CreateICmpSLT(lhs, rhs, "slttmp");
- case ast::op_less_equal: return builder.CreateICmpSLE(lhs, rhs, "sletmp");
- case ast::op_greater: return builder.CreateICmpSGT(lhs, rhs, "sgttmp");
- case ast::op_greater_equal: return builder.CreateICmpSGE(lhs, rhs, "sgetmp");
+ case token_ids::plus: return lhs + rhs;
+ case token_ids::minus: return lhs - rhs;
+ case token_ids::times: return lhs * rhs;
+ case token_ids::divide: return lhs / rhs;
+ case token_ids::mod: return lhs % rhs;
+
+ case token_ids::logical_or:
+ case token_ids::bit_or: return lhs | rhs;
+
+ case token_ids::logical_and:
+ case token_ids::bit_and: return lhs & rhs;
+
+ case token_ids::bit_xor: return lhs ^ rhs;
+ case token_ids::shift_left: return lhs << rhs;
+ case token_ids::shift_right: return lhs >> rhs;
+
+ case token_ids::equal: return lhs == rhs;
+ case token_ids::not_equal: return lhs != rhs;
+ case token_ids::less: return lhs < rhs;
+ case token_ids::less_equal: return lhs <= rhs;
+ case token_ids::greater: return lhs > rhs;
+ case token_ids::greater_equal: return lhs >= rhs;
 
- case ast::op_logical_or: return builder.CreateOr(lhs, rhs, "ortmp");
- case ast::op_logical_and: return builder.CreateAnd(lhs, rhs, "andtmp");
- default: BOOST_ASSERT(0); return 0;
+ default: BOOST_ASSERT(0); return val();
         }
     }
 
- inline int precedence_of(ast::optoken op)
- {
- return precedence[op & ~ast::op_mask];
- }
-
     // The Shunting-yard algorithm
- llvm::Value* compiler::compile_expression(
+ value compiler::compile_expression(
         int min_precedence,
- llvm::Value* lhs,
+ value lhs,
         std::list<ast::operation>::const_iterator& rest_begin,
         std::list<ast::operation>::const_iterator rest_end)
     {
         while ((rest_begin != rest_end) &&
             (precedence_of(rest_begin->operator_) >= min_precedence))
         {
- ast::optoken op = rest_begin->operator_;
- llvm::Value* rhs = boost::apply_visitor(*this, rest_begin->operand_);
- if (rhs == 0)
- return 0;
+ token_ids::type op = rest_begin->operator_;
+ value rhs = boost::apply_visitor(*this, rest_begin->operand_);
+ if (!rhs.is_valid())
+ return val();
             ++rest_begin;
 
             while ((rest_begin != rest_end) &&
                 (precedence_of(rest_begin->operator_) > precedence_of(op)))
             {
- ast::optoken next_op = rest_begin->operator_;
+ token_ids::type next_op = rest_begin->operator_;
                 rhs = compile_expression(
                     precedence_of(next_op), rhs, rest_begin, rest_end);
             }
@@ -230,70 +769,78 @@
         return lhs;
     }
 
- llvm::Value* compiler::operator()(ast::expression const& x)
+ value compiler::operator()(ast::expression const& x)
     {
- llvm::Value* lhs = boost::apply_visitor(*this, x.first);
- if (lhs == 0)
- return 0;
+ value lhs = boost::apply_visitor(*this, x.first);
+ if (!lhs.is_valid())
+ return val();
         std::list<ast::operation>::const_iterator rest_begin = x.rest.begin();
         return compile_expression(0, lhs, rest_begin, x.rest.end());
     }
 
- llvm::Value* compiler::operator()(ast::assignment const& x)
+ value compiler::operator()(ast::assignment const& x)
     {
- llvm::Value* lhs = named_values[x.lhs.name];
- if (lhs == 0)
+ if (locals.find(x.lhs.name) == locals.end())
         {
             error_handler(x.lhs.id, "Undeclared variable: " + x.lhs.name);
- return 0;
+ return val();
         }
 
- llvm::Value* rhs = (*this)(x.rhs);
- if (rhs == 0)
- return 0;
+ value lhs = locals[x.lhs.name];
+ value rhs = (*this)(x.rhs);
+ if (!rhs.is_valid())
+ return val();
 
- builder.CreateStore(rhs, lhs);
- return rhs;
- }
+ if (x.operator_ == token_ids::assign)
+ {
+ lhs.assign(rhs);
+ return lhs;
+ }
 
- // Create an alloca instruction in the entry block of
- // the function. This is used for mutable variables etc.
- llvm::AllocaInst*
- create_entry_block_alloca(
- llvm::Function* function, std::string const& var, llvm::LLVMContext& context)
- {
- llvm::IRBuilder<> builder(
- &function->getEntryBlock(), function->getEntryBlock().begin());
- return builder.CreateAlloca(
- llvm::Type::getIntNTy(context, int_size), 0, var.c_str());
+ value result;
+ switch (x.operator_)
+ {
+ case token_ids::plus_assign: result = lhs + rhs; break;
+ case token_ids::minus_assign: result = lhs - rhs; break;
+ case token_ids::times_assign: result = lhs * rhs; break;
+ case token_ids::divide_assign: result = lhs / rhs; break;
+ case token_ids::mod_assign: result = lhs % rhs; break;
+ case token_ids::bit_and_assign: result = lhs & rhs; break;
+ case token_ids::bit_xor_assign: result = lhs ^ rhs; break;
+ case token_ids::bit_or_assign: result = lhs | rhs; break;
+ case token_ids::shift_left_assign: result = lhs << rhs; break;
+ case token_ids::shift_right_assign: result = lhs >> rhs; break;
+ default: BOOST_ASSERT(0); return val();
+ }
+
+ lhs.assign(result);
+ return lhs;
     }
 
     bool compiler::operator()(ast::variable_declaration const& x)
     {
- if (named_values.find(x.lhs.name) != named_values.end())
+ if (locals.find(x.lhs.name) != locals.end())
         {
             error_handler(x.lhs.id, "Duplicate variable: " + x.lhs.name);
             return false;
         }
 
- llvm::Function* function = builder.GetInsertBlock()->getParent();
- llvm::Value* init = 0;
- std::string const& var = x.lhs.name;
+ value init;
+ std::string const& name = x.lhs.name;
 
         if (x.rhs) // if there's an RHS initializer
         {
             init = (*this)(*x.rhs);
- if (init == 0) // don't add the variable if the RHS fails
+ if (!init.is_valid()) // don't add the variable if the RHS fails
                 return false;
         }
 
- llvm::AllocaInst* alloca
- = create_entry_block_alloca(function, var, context());
- if (init != 0)
- builder.CreateStore(init, alloca);
+ value var_ = var(name.c_str());
+ if (init.is_valid())
+ var_.assign(init);
 
         // Remember this binding.
- named_values[var] = alloca;
+ locals[name] = var_;
         return true;
     }
 
@@ -309,6 +856,8 @@
 
     bool compiler::operator()(ast::statement const& x)
     {
+ if (boost::get<ast::nil>(&x) != 0) // empty statement
+ return true;
         return boost::apply_visitor(as_statement(), x);
     }
 
@@ -324,94 +873,94 @@
 
     bool compiler::operator()(ast::if_statement const& x)
     {
- llvm::Value* condition = (*this)(x.condition);
- if (condition == 0)
- return 0;
+ value condition = (*this)(x.condition);
+ if (!condition.is_valid())
+ return false;
 
- llvm::Function* function = builder.GetInsertBlock()->getParent();
+ function f = get_current_function();
 
         // Create blocks for the then and else cases. Insert the 'then' block at the
         // end of the function.
- llvm::BasicBlock* then_block = llvm::BasicBlock::Create(context(), "if.then", function);
- llvm::BasicBlock* else_block = 0;
- llvm::BasicBlock* exit_block = 0;
+ basic_block then_block = make_basic_block("if.then", f);
+ basic_block else_block;
+ basic_block exit_block;
 
         if (x.else_)
         {
- else_block = llvm::BasicBlock::Create(context(), "if.else");
- builder.CreateCondBr(condition, then_block, else_block);
+ else_block = make_basic_block("if.else");
+ conditional_branch(condition, then_block, else_block);
         }
         else
         {
- exit_block = llvm::BasicBlock::Create(context(), "if.end");
- builder.CreateCondBr(condition, then_block, exit_block);
+ exit_block = make_basic_block("if.end");
+ conditional_branch(condition, then_block, exit_block);
         }
 
         // Emit then value.
- builder.SetInsertPoint(then_block);
+ set_insert_point(then_block);
         if (!(*this)(x.then))
- return 0;
- if (then_block->getTerminator() == 0)
+ return false;
+ if (!then_block.has_terminator())
         {
- if (exit_block == 0)
- exit_block = llvm::BasicBlock::Create(context(), "if.end");
- builder.CreateBr(exit_block);
+ if (!exit_block.is_valid())
+ exit_block = make_basic_block("if.end");
+ branch(exit_block);
         }
         // Codegen of 'then' can change the current block, update then_block
- then_block = builder.GetInsertBlock();
+ then_block = get_insert_block();
 
         if (x.else_)
         {
             // Emit else block.
- function->getBasicBlockList().push_back(else_block);
- builder.SetInsertPoint(else_block);
+ f.add(else_block);
+ set_insert_point(else_block);
             if (!(*this)(*x.else_))
- return 0;
- if (else_block->getTerminator() == 0)
+ return false;
+ if (!else_block.has_terminator())
             {
- if (exit_block == 0)
- exit_block = llvm::BasicBlock::Create(context(), "if.end");
- builder.CreateBr(exit_block);
+ if (!exit_block.is_valid())
+ exit_block = make_basic_block("if.end");
+ branch(exit_block);
             }
             // Codegen of 'else' can change the current block, update else_block
- else_block = builder.GetInsertBlock();
+ else_block = get_insert_block();
         }
 
- if (exit_block != 0)
+ if (exit_block.is_valid())
         {
             // Emit exit block
- function->getBasicBlockList().push_back(exit_block);
- builder.SetInsertPoint(exit_block);
+ f.add(exit_block);
+ set_insert_point(exit_block);
         }
         return true;
     }
 
     bool compiler::operator()(ast::while_statement const& x)
     {
- llvm::Function* function = builder.GetInsertBlock()->getParent();
+ function f = get_current_function();
 
- llvm::BasicBlock* cond_block = llvm::BasicBlock::Create(context(), "while.cond", function);
- llvm::BasicBlock* body_block = llvm::BasicBlock::Create(context(), "while.body");
- llvm::BasicBlock* exit_block = llvm::BasicBlock::Create(context(), "while.end");
-
- builder.CreateBr(cond_block);
- builder.SetInsertPoint(cond_block);
- llvm::Value* condition = (*this)(x.condition);
- if (condition == 0)
+ basic_block cond_block = make_basic_block("while.cond", f);
+ basic_block body_block = make_basic_block("while.body");
+ basic_block exit_block = make_basic_block("while.end");
+
+ branch(cond_block);
+ set_insert_point(cond_block);
+ value condition = (*this)(x.condition);
+ if (!condition.is_valid())
             return false;
- builder.CreateCondBr(condition, body_block, exit_block);
- function->getBasicBlockList().push_back(body_block);
- builder.SetInsertPoint(body_block);
+ conditional_branch(condition, body_block, exit_block);
+ f.add(body_block);
+ set_insert_point(body_block);
 
         if (!(*this)(x.body))
             return false;
 
- if (body_block->getTerminator() == 0)
- builder.CreateBr(cond_block); // loop back
+ if (!body_block.has_terminator())
+ branch(cond_block); // loop back
 
         // Emit exit block
- function->getBasicBlockList().push_back(exit_block);
- builder.SetInsertPoint(exit_block);
+ f.add(exit_block);
+ set_insert_point(exit_block);
 
         return true;
     }
@@ -440,98 +989,89 @@
 
         if (x.expr)
         {
- llvm::Value* return_val = (*this)(*x.expr);
- if (return_val == 0)
+ value return_val = (*this)(*x.expr);
+ if (!return_val.is_valid())
                 return false;
- builder.CreateStore(return_val, return_alloca);
+ return_var.assign(return_val);
         }
 
- builder.CreateBr(return_block);
+ branch(return_block);
         return true;
     }
 
- llvm::Function* compiler::function_decl(ast::function const& x)
+ function compiler::function_decl(ast::function const& x)
     {
         void_return = x.return_type == "void";
         current_function_name = x.function_name.name;
 
- llvm::Type* int_type =
- llvm::Type::getIntNTy(context(), int_size);
- llvm::Type* void_type = llvm::Type::getVoidTy(context());
-
- std::vector<llvm::Type*> ints(x.args.size(), int_type);
- llvm::Type* return_type = void_return ? void_type : int_type;
-
- llvm::FunctionType* function_type =
- llvm::FunctionType::get(void_return ? void_type : int_type, ints, false);
-
- llvm::Function* function =
- llvm::Function::Create(
- function_type, llvm::Function::ExternalLinkage,
- current_function_name, vm.module());
+ function f =
+ declare_function(
+ void_return
+ , current_function_name
+ , x.args.size());
 
         // If function conflicted, the function already exixts. If it has a
         // body, don't allow redefinition or reextern.
- if (function->getName() != current_function_name)
+ if (f.name() != current_function_name)
         {
             // Delete the one we just made and get the existing one.
- function->eraseFromParent();
- function = vm.module()->getFunction(current_function_name);
+ f.erase_from_parent();
+ f = get_function(current_function_name);
 
             // If function already has a body, reject this.
- if (!function->empty())
+ if (!f.empty())
             {
                 error_handler(
                     x.function_name.id,
                     "Duplicate function: " + x.function_name.name);
- return 0;
+ return function();
             }
 
             // If function took a different number of args, reject.
- if (function->arg_size() != x.args.size())
+ if (f.arg_size() != x.args.size())
             {
                 error_handler(
                     x.function_name.id,
                     "Redefinition of function with different # args: "
                         + x.function_name.name);
- return 0;
+ return function();
             }
 
             // Set names for all arguments.
- llvm::Function::arg_iterator iter = function->arg_begin();
+ function::arg_range rng = f.args();
+ function::arg_range::const_iterator iter = rng.begin();
             BOOST_FOREACH(ast::identifier const& arg, x.args)
             {
- iter->setName(arg.name);
+ iter->name(arg.name);
                 ++iter;
             }
         }
- return function;
+ return f;
     }
 
- void compiler::function_allocas(ast::function const& x, llvm::Function* function)
+ void compiler::function_allocas(ast::function const& x, function f)
     {
- // CreateArgumentAllocas - Create an alloca for each argument and register the
+ // Create variables for each argument and register the
         // argument in the symbol table so that references to it will succeed.
- llvm::Function::arg_iterator iter = function->arg_begin();
+ function::arg_range rng = f.args();
+ function::arg_range::const_iterator iter = rng.begin();
         BOOST_FOREACH(ast::identifier const& arg, x.args)
         {
- // Create an alloca for this variable.
- llvm::AllocaInst* alloca =
- create_entry_block_alloca(function, arg.name, context());
+ // Create an arg_ for this variable.
+ value arg_ = var(arg.name);
 
- // Store the initial value into the alloca.
- builder.CreateStore(iter, alloca);
+ // Store the initial value into the arg_.
+ arg_.assign(*iter);
 
             // Add arguments to variable symbol table.
- named_values[arg.name] = alloca;
+ locals[arg.name] = arg_;
             ++iter;
         }
 
         if (!void_return)
         {
             // Create an alloca for the return value
- return_alloca =
- create_entry_block_alloca(function, "return.val", context());
+ return_var = var("return.val");
         }
     }
 
@@ -539,8 +1079,8 @@
     {
         ///////////////////////////////////////////////////////////////////////
         // the signature:
- llvm::Function* function = function_decl(x);
- if (function == 0)
+ function f = function_decl(x);
+ if (!f.is_valid())
             return false;
 
         ///////////////////////////////////////////////////////////////////////
@@ -548,45 +1088,41 @@
         if (x.body) // compile the body if this is not a prototype
         {
             // Create a new basic block to start insertion into.
- llvm::BasicBlock* block =
- llvm::BasicBlock::Create(context(), "entry", function);
- builder.SetInsertPoint(block);
+ basic_block block = make_basic_block("entry", f);
+ set_insert_point(block);
 
- function_allocas(x, function);
- return_block = llvm::BasicBlock::Create(context(), "return");
+ function_allocas(x, f);
+ return_block = make_basic_block("return");
 
             if (!(*this)(*x.body))
             {
                 // Error reading body, remove function.
- function->eraseFromParent();
+ f.erase_from_parent();
                 return false;
             }
 
- llvm::BasicBlock* last_block =
- &function->getBasicBlockList().back();
+ basic_block last_block = f.last_block();
 
             // If the last block is unterminated, connect it to return_block
- if (last_block->getTerminator() == 0)
+ if (!last_block.has_terminator())
             {
- builder.SetInsertPoint(last_block);
- builder.CreateBr(return_block);
+ set_insert_point(last_block);
+ branch(return_block);
             }
 
- function->getBasicBlockList().push_back(return_block);
- builder.SetInsertPoint(return_block);
+ f.add(return_block);
+ set_insert_point(return_block);
 
             if (void_return)
- builder.CreateRetVoid();
+ return_();
             else
- builder.CreateRet(builder.CreateLoad(return_alloca, "return.val"));
-
- //~ vm.module()->dump();
+ return_(return_var);
 
             // Validate the generated code, checking for consistency.
- llvm::verifyFunction(*function);
+ f.verify();
 
             // Optimize the function.
- fpm.run(*function);
+ optimize_function(f);
         }
 
         return true;
@@ -596,7 +1132,7 @@
     {
         BOOST_FOREACH(ast::function const& f, x)
         {
- named_values.clear(); // clear the variables
+ locals.clear(); // clear the variables
             if (!(*this)(f))
                 return false;
         }

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/compiler.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -17,6 +17,7 @@
 #include <boost/spirit/include/phoenix_core.hpp>
 #include <boost/spirit/include/phoenix_function.hpp>
 #include <boost/spirit/include/phoenix_operator.hpp>
+#include <boost/iterator/transform_iterator.hpp>
 
 #include <llvm/DerivedTypes.h>
 #include <llvm/Constants.h>
@@ -30,20 +31,226 @@
 
 namespace client { namespace code_gen
 {
+ unsigned const int_size = 32;
+ struct compiler;
+ struct llvm_compiler;
+
     ///////////////////////////////////////////////////////////////////////////
- // The Compiler
+ // The Value (light abstraction of an LLVM::Value)
     ///////////////////////////////////////////////////////////////////////////
- unsigned const int_size = 32;
+ struct value
+ {
+ value();
+ value(value const& rhs);
+
+ value& operator=(value const& rhs);
+ bool is_lvalue() const;
+ bool is_valid() const;
+ operator bool() const;
+
+ value& assign(value const& rhs);
+
+ void name(char const* id);
+ void name(std::string const& id);
+
+ friend value operator-(value a);
+ friend value operator!(value a);
+ friend value operator+(value a, value b);
+ friend value operator-(value a, value b);
+ friend value operator*(value a, value b);
+ friend value operator/(value a, value b);
+ friend value operator%(value a, value b);
+
+ friend value operator&(value a, value b);
+ friend value operator|(value a, value b);
+ friend value operator^(value a, value b);
+ friend value operator<<(value a, value b);
+ friend value operator>>(value a, value b);
+
+ friend value operator==(value a, value b);
+ friend value operator!=(value a, value b);
+ friend value operator<(value a, value b);
+ friend value operator<=(value a, value b);
+ friend value operator>(value a, value b);
+ friend value operator>=(value a, value b);
+
+ private:
+
+ struct to_llvm_value;
+ friend struct to_llvm_value;
+ friend struct llvm_compiler;
+
+ value(
+ llvm::Value* v,
+ bool is_lvalue_,
+ llvm::IRBuilder<>* builder);
+
+ llvm::LLVMContext& context() const
+ { return llvm::getGlobalContext(); }
+
+ operator llvm::Value*() const;
+
+ llvm::Value* v;
+ bool is_lvalue_;
+ llvm::IRBuilder<>* builder;
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ // The Basic Block (light abstraction of an LLVM::BasicBlock)
+ ///////////////////////////////////////////////////////////////////////////
+ struct function;
+
+ struct basic_block
+ {
+ basic_block()
+ : b(0) {}
+
+ bool has_terminator() const;
+ bool is_valid() const;
+
+ private:
+
+ basic_block(llvm::BasicBlock* b)
+ : b(b) {}
+
+ operator llvm::BasicBlock*() const
+ { return b; }
+
+ friend struct llvm_compiler;
+ friend struct function;
+ llvm::BasicBlock* b;
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ // The Function (light abstraction of an LLVM::Function)
+ ///////////////////////////////////////////////////////////////////////////
+ struct llvm_compiler;
+
+ struct function
+ {
+ private:
+
+ struct to_value;
+ typedef llvm::Function::arg_iterator arg_iterator;
+ typedef boost::transform_iterator<
+ to_value, arg_iterator>
+ arg_val_iterator;
+
+ public:
+
+ typedef boost::iterator_range<arg_val_iterator> arg_range;
+
+ function()
+ : f(0), c(c) {}
+
+ std::string name() const;
+
+ std::size_t arg_size() const;
+ arg_range args() const;
+
+ void add(basic_block const& b);
+ void erase_from_parent();
+ basic_block last_block();
+ bool empty() const;
+
+ bool is_valid() const;
+ void verify() const;
+
+ private:
+
+ function(llvm::Function* f, llvm_compiler* c)
+ : f(f), c(c) {}
+
+ operator llvm::Function*() const;
+
+ friend struct llvm_compiler;
+ llvm::Function* f;
+ llvm_compiler* c;
+ };
 
- struct compiler
+ ///////////////////////////////////////////////////////////////////////////
+ // The LLVM Compiler. Lower level compiler (does not deal with ASTs)
+ ///////////////////////////////////////////////////////////////////////////
+ struct llvm_compiler
+ {
+ llvm_compiler(vmachine& vm)
+ : llvm_builder(context())
+ , vm(vm)
+ , fpm(vm.module())
+ { init_fpm(); }
+
+ value val() { return value(); }
+ value val(unsigned int x);
+ value val(int x);
+ value val(bool x);
+
+ value var(char const* name);
+ value var(std::string const& name);
+
+ template <typename Container>
+ value call(function callee, Container const& args);
+
+ function get_function(char const* name);
+ function get_function(std::string const& name);
+ function get_current_function();
+
+ function declare_function(
+ bool void_return
+ , std::string const& name
+ , std::size_t nargs);
+
+ basic_block make_basic_block(
+ char const* name
+ , function parent = function()
+ , basic_block before = basic_block());
+
+ basic_block get_insert_block();
+ void set_insert_point(basic_block b);
+
+ void conditional_branch(
+ value cond, basic_block true_br, basic_block false_br);
+ void branch(basic_block b);
+
+ void return_();
+ void return_(value v);
+
+ void optimize_function(function f);
+
+ protected:
+
+ llvm::LLVMContext& context() const
+ { return llvm::getGlobalContext(); }
+
+ llvm::IRBuilder<>& builder()
+ { return llvm_builder; }
+
+ private:
+
+ friend struct function::to_value;
+
+ value val(llvm::Value* v);
+
+ template <typename C>
+ llvm::Value* call_impl(
+ function callee,
+ C const& args);
+
+ void init_fpm();
+ llvm::IRBuilder<> llvm_builder;
+ vmachine& vm;
+ llvm::FunctionPassManager fpm;
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ // The main compiler. Generates code from our AST.
+ ///////////////////////////////////////////////////////////////////////////
+ struct compiler : llvm_compiler
     {
- typedef llvm::Value* result_type;
+ typedef value result_type;
 
         template <typename ErrorHandler>
         compiler(vmachine& vm, ErrorHandler& error_handler_)
- : vm(vm),
- fpm(vm.module()),
- builder(context())
+ : llvm_compiler(vm)
         {
             using namespace boost::phoenix::arg_names;
             namespace phx = boost::phoenix;
@@ -51,18 +258,17 @@
 
             error_handler = function<ErrorHandler>(error_handler_)(
                 "Error! ", _2, phx::cref(error_handler_.iters)[_1]);
-
- init_fpm();
         }
 
- llvm::Value* operator()(ast::nil) { BOOST_ASSERT(0); return 0; }
- llvm::Value* operator()(unsigned int x);
- llvm::Value* operator()(bool x);
- llvm::Value* operator()(ast::identifier const& x);
- llvm::Value* operator()(ast::unary const& x);
- llvm::Value* operator()(ast::function_call const& x);
- llvm::Value* operator()(ast::expression const& x);
- llvm::Value* operator()(ast::assignment const& x);
+ value operator()(ast::nil) { BOOST_ASSERT(0); return val(); }
+ value operator()(unsigned int x);
+ value operator()(bool x);
+ value operator()(ast::primary_expr const& x);
+ value operator()(ast::identifier const& x);
+ value operator()(ast::unary_expr const& x);
+ value operator()(ast::function_call const& x);
+ value operator()(ast::expression const& x);
+ value operator()(ast::assignment const& x);
 
         bool operator()(ast::variable_declaration const& x);
         bool operator()(ast::statement_list const& x);
@@ -75,40 +281,30 @@
 
     private:
 
- boost::function<
- void(int tag, std::string const& what)>
- error_handler;
-
- bool void_return;
- std::string current_function_name;
- std::map<std::string, llvm::AllocaInst*> named_values;
- llvm::BasicBlock* return_block;
- llvm::AllocaInst* return_alloca;
-
- vmachine& vm;
- llvm::IRBuilder<> builder;
- llvm::FunctionPassManager fpm;
+ value compile_binary_expression(
+ value lhs, value rhs, token_ids::type op);
 
- llvm::LLVMContext& context() const
- { return llvm::getGlobalContext(); }
-
- llvm::Module* init_llvm();
- void init_fpm();
-
- llvm::Value* compile_binary_expression(
- llvm::Value* lhs, llvm::Value* rhs, ast::optoken op);
-
- llvm::Value* compile_expression(
+ value compile_expression(
             int min_precedence,
- llvm::Value* lhs,
+ value lhs,
             std::list<ast::operation>::const_iterator& rest_begin,
             std::list<ast::operation>::const_iterator rest_end);
 
         struct statement_compiler;
         statement_compiler& as_statement();
 
- llvm::Function* function_decl(ast::function const& x);
- void function_allocas(ast::function const& x, llvm::Function* function);
+ function function_decl(ast::function const& x);
+ void function_allocas(ast::function const& x, function function);
+
+ boost::function<
+ void(int tag, std::string const& what)>
+ error_handler;
+
+ bool void_return;
+ std::string current_function_name;
+ std::map<std::string, value> locals;
+ basic_block return_block;
+ value return_var;
     };
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_lexer.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -6,8 +6,8 @@
 
 // Auto-generated by boost::lexer, do not edit
 
-#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUN__4_2011_19_46_16)
-#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUN__4_2011_19_46_16
+#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_25_53)
+#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_25_53
 
 #include <boost/detail/iterator.hpp>
 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
@@ -83,44 +83,44 @@
         24, 17, 19, 2, 26, 25, 14, 12,
         15, 26, 26, 7, 4, 26, 6, 26,
         26, 26, 9, 26, 3, 26, 5, 8,
- 22, 10, 23, 0, 1, 65645, 0, 0,
+ 22, 10, 23, 0, 1, 35, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 2, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 65636,
+ 0, 0, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 28, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 29,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 30, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 32, 26,
         26, 26, 31, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 33, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 34, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 35, 26, 26, 26, 26,
@@ -141,38 +141,38 @@
         0, 0, 0, 0, 0, 38, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 327715, 20, 0, 0, 0,
+ 0, 0, 1, 262177, 20, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 39,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196627, 12, 0,
+ 0, 0, 0, 0, 1, 131091, 12, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 40, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196629,
+ 0, 0, 0, 0, 0, 0, 1, 131093,
         14, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 41, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 458777, 16, 0, 0, 0, 0, 0,
+ 1, 393241, 16, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 458778, 17, 0, 0, 0,
+ 0, 0, 1, 393242, 17, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196635, 18, 0,
+ 0, 0, 0, 0, 1, 131099, 18, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196636,
+ 0, 0, 0, 0, 0, 0, 1, 131100,
         19, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 42, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -209,86 +209,86 @@
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65638,
+ 26, 26, 0, 0, 0, 0, 1, 34,
         30, 0, 0, 0, 0, 27, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 43, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 44,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         45, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         46, 26, 26, 26, 0, 0, 0, 0,
- 1, 65641, 4, 0, 0, 0, 0, 0,
+ 1, 65538, 4, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 47, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         48, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         49, 26, 26, 26, 0, 0, 0, 0,
- 1, 196620, 8, 0, 0, 0, 0, 0,
+ 1, 131084, 8, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 196621, 9, 0, 0, 0,
+ 0, 0, 1, 131085, 9, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 196625, 10, 0,
+ 0, 0, 0, 0, 1, 131089, 10, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 196626,
+ 0, 0, 0, 0, 0, 0, 1, 131090,
         11, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 1, 196628, 13, 0, 0, 0, 0, 0,
+ 1, 131092, 13, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 196630, 15, 0, 0, 0,
+ 0, 0, 1, 131094, 15, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -298,39 +298,39 @@
         50, 42, 42, 42, 42, 42, 42, 42,
         42, 42, 42, 42, 42, 42, 42, 42,
         42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 1, 65636,
+ 42, 42, 42, 42, 42, 42, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 51,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 43, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 52, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65640, 3, 0,
+ 0, 0, 0, 0, 1, 65537, 3, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 53,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65636, 28, 0, 0, 0, 0, 0,
+ 1, 32, 28, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 54, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65636, 28, 0, 0, 0,
+ 0, 0, 1, 32, 28, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
@@ -340,28 +340,28 @@
         50, 56, 56, 56, 57, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 1, 65646,
+ 56, 56, 56, 56, 56, 56, 1, 36,
         1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 0, 0, 0, 0,
- 1, 65639, 2, 0, 0, 0, 0, 0,
+ 1, 65536, 2, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 26, 26, 0, 0, 0, 0, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 1, 65642, 5, 0, 0, 0,
+ 0, 0, 1, 65539, 5, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 1, 65636, 28, 0,
+ 0, 0, 0, 0, 1, 32, 28, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 58, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
@@ -372,17 +372,17 @@
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 1, 65637, 29, 0, 0, 0,
+ 56, 56, 1, 33, 29, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 65643, 6, 0,
+ 0, 0, 0, 0, 1, 65540, 6, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 26, 26, 0,
         0, 0, 0, 26, 26, 26, 26, 26,
         26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 0, 0, 0, 0, 1, 65636,
+ 26, 26, 0, 0, 0, 0, 1, 32,
         28, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 26,
         26, 0, 0, 0, 0, 26, 26, 26,
@@ -393,7 +393,7 @@
         57, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
         56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 1, 65644, 7, 0, 0, 0,
+ 56, 56, 1, 65541, 7, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 26, 26, 0, 0, 0,
         0, 26, 26, 26, 26, 26, 26, 26,

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_switch_lexer.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_switch_lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_switch_lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -6,8 +6,8 @@
 
 // Auto-generated by boost::lexer, do not edit
 
-#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUN__4_2011_19_46_16)
-#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUN__4_2011_19_46_16
+#if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUL_25_2011_07_25_53)
+#define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_SWITCH_JUL_25_2011_07_25_53
 
 #include <boost/detail/iterator.hpp>
 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
@@ -109,7 +109,7 @@
 
 state0_1:
     end_state_ = true;
- id_ = 65645;
+ id_ = 35;
     uid_ = 0;
     end_token_ = curr_;
 
@@ -122,7 +122,7 @@
 
 state0_2:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -137,7 +137,7 @@
 
 state0_3:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -152,7 +152,7 @@
 
 state0_4:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -167,7 +167,7 @@
 
 state0_5:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -184,7 +184,7 @@
 
 state0_6:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -199,7 +199,7 @@
 
 state0_7:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -214,7 +214,7 @@
 
 state0_8:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -258,7 +258,7 @@
 
 state0_12:
     end_state_ = true;
- id_ = 327715;
+ id_ = 262177;
     uid_ = 20;
     end_token_ = curr_;
 
@@ -271,7 +271,7 @@
 
 state0_13:
     end_state_ = true;
- id_ = 196627;
+ id_ = 131091;
     uid_ = 12;
     end_token_ = curr_;
 
@@ -284,7 +284,7 @@
 
 state0_14:
     end_state_ = true;
- id_ = 196629;
+ id_ = 131093;
     uid_ = 14;
     end_token_ = curr_;
 
@@ -297,28 +297,28 @@
 
 state0_15:
     end_state_ = true;
- id_ = 458777;
+ id_ = 393241;
     uid_ = 16;
     end_token_ = curr_;
     goto end;
 
 state0_16:
     end_state_ = true;
- id_ = 458778;
+ id_ = 393242;
     uid_ = 17;
     end_token_ = curr_;
     goto end;
 
 state0_17:
     end_state_ = true;
- id_ = 196635;
+ id_ = 131099;
     uid_ = 18;
     end_token_ = curr_;
     goto end;
 
 state0_18:
     end_state_ = true;
- id_ = 196636;
+ id_ = 131100;
     uid_ = 19;
     end_token_ = curr_;
 
@@ -373,7 +373,7 @@
 
 state0_25:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -386,7 +386,7 @@
 
 state0_26:
     end_state_ = true;
- id_ = 65638;
+ id_ = 34;
     uid_ = 30;
     end_token_ = curr_;
 
@@ -399,7 +399,7 @@
 
 state0_27:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -414,7 +414,7 @@
 
 state0_28:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -429,7 +429,7 @@
 
 state0_29:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -444,7 +444,7 @@
 
 state0_30:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -459,7 +459,7 @@
 
 state0_31:
     end_state_ = true;
- id_ = 65641;
+ id_ = 65538;
     uid_ = 4;
     end_token_ = curr_;
 
@@ -472,7 +472,7 @@
 
 state0_32:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -487,7 +487,7 @@
 
 state0_33:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -502,7 +502,7 @@
 
 state0_34:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -517,42 +517,42 @@
 
 state0_35:
     end_state_ = true;
- id_ = 196620;
+ id_ = 131084;
     uid_ = 8;
     end_token_ = curr_;
     goto end;
 
 state0_36:
     end_state_ = true;
- id_ = 196621;
+ id_ = 131085;
     uid_ = 9;
     end_token_ = curr_;
     goto end;
 
 state0_37:
     end_state_ = true;
- id_ = 196625;
+ id_ = 131089;
     uid_ = 10;
     end_token_ = curr_;
     goto end;
 
 state0_38:
     end_state_ = true;
- id_ = 196626;
+ id_ = 131090;
     uid_ = 11;
     end_token_ = curr_;
     goto end;
 
 state0_39:
     end_state_ = true;
- id_ = 196628;
+ id_ = 131092;
     uid_ = 13;
     end_token_ = curr_;
     goto end;
 
 state0_40:
     end_state_ = true;
- id_ = 196630;
+ id_ = 131094;
     uid_ = 15;
     end_token_ = curr_;
     goto end;
@@ -569,7 +569,7 @@
 
 state0_42:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -584,7 +584,7 @@
 
 state0_43:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -599,7 +599,7 @@
 
 state0_44:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -614,7 +614,7 @@
 
 state0_45:
     end_state_ = true;
- id_ = 65640;
+ id_ = 65537;
     uid_ = 3;
     end_token_ = curr_;
 
@@ -627,7 +627,7 @@
 
 state0_46:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -642,7 +642,7 @@
 
 state0_47:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -657,7 +657,7 @@
 
 state0_48:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -684,7 +684,7 @@
 
 state0_50:
     end_state_ = true;
- id_ = 65646;
+ id_ = 36;
     uid_ = 1;
     end_token_ = curr_;
 
@@ -697,7 +697,7 @@
 
 state0_51:
     end_state_ = true;
- id_ = 65639;
+ id_ = 65536;
     uid_ = 2;
     end_token_ = curr_;
 
@@ -710,7 +710,7 @@
 
 state0_52:
     end_state_ = true;
- id_ = 65642;
+ id_ = 65539;
     uid_ = 5;
     end_token_ = curr_;
 
@@ -723,7 +723,7 @@
 
 state0_53:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -738,7 +738,7 @@
 
 state0_54:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -763,14 +763,14 @@
 
 state0_56:
     end_state_ = true;
- id_ = 65637;
+ id_ = 33;
     uid_ = 29;
     end_token_ = curr_;
     goto end;
 
 state0_57:
     end_state_ = true;
- id_ = 65643;
+ id_ = 65540;
     uid_ = 6;
     end_token_ = curr_;
 
@@ -783,7 +783,7 @@
 
 state0_58:
     end_state_ = true;
- id_ = 65636;
+ id_ = 32;
     uid_ = 28;
     end_token_ = curr_;
 
@@ -810,7 +810,7 @@
 
 state0_60:
     end_state_ = true;
- id_ = 65644;
+ id_ = 65541;
     uid_ = 7;
     end_token_ = curr_;
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/error_handler.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/error_handler.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/error_handler.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -32,8 +32,10 @@
             What const& what,
             Iterator err_pos) const
         {
- // retrieve underlying iterator from current token
- BaseIterator err_pos_base = err_pos->matched().begin();
+ // retrieve underlying iterator from current token, err_pos points
+ // to the last validly matched token, so we use its end iterator
+ // as the error position
+ BaseIterator err_pos_base = err_pos->matched().end();
 
             int line;
             BaseIterator line_start = get_pos(err_pos_base, line);

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/expression.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -46,10 +46,11 @@
         Lexer const& lexer;
 
         qi::rule<Iterator, ast::expression()> expr;
- qi::rule<Iterator, ast::operand()> unary_expr, primary_expr;
+ qi::rule<Iterator, ast::operand()> unary_expr, postfix_expr;
         qi::rule<Iterator, ast::function_call()> function_call;
         qi::rule<Iterator, std::list<ast::expression>()> argument_list;
         qi::rule<Iterator, std::string()> identifier;
+ qi::rule<Iterator, ast::primary_expr()> primary_expr;
     };
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression_def.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/expression_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/expression_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -41,19 +41,23 @@
         // Main expression grammar
         expr =
                 unary_expr
- >> *(tokenid_mask(ast::op_binary) > unary_expr)
+ >> *(tokenid_mask(token_ids::op_binary) > unary_expr)
             ;
 
         unary_expr =
- primary_expr
- | (tokenid_mask(ast::op_unary) > primary_expr)
+ postfix_expr
+ | (tokenid_mask(token_ids::op_unary) > unary_expr)
+ ;
+
+ postfix_expr =
+ function_call
+ | primary_expr
             ;
 
         primary_expr =
- lexer.uint_
- | function_call
+ lexer.lit_uint
+ | lexer.true_or_false
             | identifier
- | lexer.bool_
             | '(' > expr > ')'
             ;
 
@@ -72,6 +76,7 @@
         BOOST_SPIRIT_DEBUG_NODES(
             (expr)
             (unary_expr)
+ (postfix_expr)
             (primary_expr)
             (function_call)
             (argument_list)
@@ -85,7 +90,12 @@
                 "Error! Expecting ", _4, _3));
 
         ///////////////////////////////////////////////////////////////////////
- // Annotation: on success in primary_expr, call annotation.
+ // Annotation: on success in unary_expr, postfix_expr,
+ // and primary_expr call annotation.
+ on_success(unary_expr,
+ annotation_function(error_handler.iters)(_val, _1));
+ on_success(postfix_expr,
+ annotation_function(error_handler.iters)(_val, _1));
         on_success(primary_expr,
             annotation_function(error_handler.iters)(_val, _1));
     }

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/function_def.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/function_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/function_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -5,7 +5,6 @@
     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 "token_ids.hpp"
 #include "function.hpp"
 #include "error_handler.hpp"
 #include "annotation.hpp"
@@ -24,7 +23,6 @@
         qi::_4_type _4;
 
         qi::_val_type _val;
- qi::token_type token;
 
         using qi::on_error;
         using qi::on_success;
@@ -39,7 +37,7 @@
         identifier = body.expr.identifier;
         argument_list = -(identifier % ',');
 
- start = (token(lexer::ID_VOID_KWD) | token(lexer::ID_INT_KWD))
+ start = (l.token("void") | l.token("int"))
> identifier
> '(' > argument_list > ')'
> (';' | '{' > body > '}')

Copied: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp (from r73330, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp)
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/ids.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -16,7 +16,8 @@
         {
             binary = 0x20000,
             unary = 0x40000,
- assign = 0x80000
+ postfix_unary = 0x80000,
+ assign = 0x100000
         };
     };
 
@@ -24,6 +25,7 @@
     {
         enum type
         {
+ // binary
             comma,
             assign,
             plus_assign,
@@ -54,126 +56,105 @@
             times,
             divide,
             mod,
- positive,
- negative,
- pre_incr,
- pre_decr,
+
+ // unary
+ plus_plus,
+ minus_minus,
             compl_,
             not_,
- post_incr,
- post_decr
         };
     };
 
- template <int type, int op, int precedence>
+ template <int type, int op>
     struct make_op
     {
- static int const value =
- (precedence << 19)
- + type
- + op
- ;
+ static int const value = type + op;
     };
 
- template <int op, int precedence>
- struct unary_op : make_op<op_type::unary, op, precedence> {};
+ template <op::type op>
+ struct unary_op : make_op<op_type::unary, op> {};
 
- template <int op, int precedence>
+ template <op::type op>
     struct binary_op
- : make_op<op_type::binary, op, precedence> {};
+ : make_op<op_type::binary, op> {};
 
- template <int op, int precedence>
+ template <op::type op>
     struct assign_op
- : make_op<op_type::binary | op_type::assign, op, precedence> {};
+ : make_op<op_type::assign, op> {};
+
+ template <op::type op>
+ struct binary_or_unary_op
+ : make_op<op_type::unary | op_type::binary, op> {};
 
- struct token
+ struct token_ids
     {
         enum type
         {
             // pseudo tags
             invalid = -1,
- binary = op_type::binary,
- unary = op_type::unary,
-
- // binary operators precedence 1
- comma = binary_op<op::comma, 1>::value,
-
- // binary operators precedence 2
- assign = assign_op<op::assign, 2>::value,
- plus_assign = assign_op<op::plus_assign, 2>::value,
- minus_assign = assign_op<op::minus_assign, 2>::value,
- times_assign = assign_op<op::times_assign, 2>::value,
- divide_assign = assign_op<op::divide_assign, 2>::value,
- mod_assign = assign_op<op::mod_assign, 2>::value,
- bit_and_assign = assign_op<op::bit_and_assign, 2>::value,
- bit_xor_assign = assign_op<op::bit_xor_assign, 2>::value,
- bit_or_assign = assign_op<op::bit_or_assign, 2>::value,
- shift_left_assign = assign_op<op::shift_left_assign, 2>::value,
- shift_right_assign = assign_op<op::shift_right_assign, 2>::value,
-
- // binary operators precedence 3
- logical_or = binary_op<op::logical_or, 3>::value,
-
- // binary operators precedence 4
- logical_and = binary_op<op::logical_and, 4>::value,
-
- // binary operators precedence 5
- bit_or = binary_op<op::bit_or, 5>::value,
-
- // binary operators precedence 6
- bit_xor = binary_op<op::bit_xor, 6>::value,
-
- // binary operators precedence 7
- bit_and = binary_op<op::bit_and, 7>::value,
-
- // binary operators precedence 8
- equal = binary_op<op::equal, 8>::value,
- not_equal = binary_op<op::not_equal, 8>::value,
-
- // binary operators precedence 9
- less = binary_op<op::less, 9>::value,
- less_equal = binary_op<op::less_equal, 9>::value,
- greater = binary_op<op::greater, 9>::value,
- greater_equal = binary_op<op::greater_equal, 9>::value,
-
- // binary operators precedence 10
- shift_left = binary_op<op::shift_left, 10>::value,
- shift_right = binary_op<op::shift_right, 10>::value,
-
- // binary operators precedence 11
- plus = binary_op<op::plus, 11>::value,
- minus = binary_op<op::minus, 11>::value,
-
- // binary operators precedence 12
- times = binary_op<op::times, 12>::value,
- divide = binary_op<op::divide, 12>::value,
- mod = binary_op<op::mod, 12>::value,
-
- // unary operators precedence 13
- positive = unary_op<op::positive, 13>::value,
- negative = unary_op<op::negative, 13>::value,
- pre_incr = unary_op<op::pre_incr, 13>::value,
- pre_decr = unary_op<op::pre_decr, 13>::value,
- compl_ = unary_op<op::compl_, 13>::value,
- not_ = unary_op<op::not_, 13>::value,
-
- // unary operators precedence 14
- post_incr = unary_op<op::post_incr, 14>::value,
- post_decr = unary_op<op::post_decr, 14>::value,
+ op_binary = op_type::binary,
+ op_unary = op_type::unary,
+ op_assign = op_type::assign,
+
+ // binary / unary operators with common tokens
+ // '+' and '-' can be binary or unary
+ // (the lexer cannot distinguish which)
+ plus = binary_or_unary_op<op::plus>::value,
+ minus = binary_or_unary_op<op::minus>::value,
+
+ // binary operators
+ comma = binary_op<op::comma>::value,
+ assign = assign_op<op::assign>::value,
+ plus_assign = assign_op<op::plus_assign>::value,
+ minus_assign = assign_op<op::minus_assign>::value,
+ times_assign = assign_op<op::times_assign>::value,
+ divide_assign = assign_op<op::divide_assign>::value,
+ mod_assign = assign_op<op::mod_assign>::value,
+ bit_and_assign = assign_op<op::bit_and_assign>::value,
+ bit_xor_assign = assign_op<op::bit_xor_assign>::value,
+ bit_or_assign = assign_op<op::bit_or_assign>::value,
+ shift_left_assign = assign_op<op::shift_left_assign>::value,
+ shift_right_assign = assign_op<op::shift_right_assign>::value,
+ logical_or = binary_op<op::logical_or>::value,
+ logical_and = binary_op<op::logical_and>::value,
+ bit_or = binary_op<op::bit_or>::value,
+ bit_xor = binary_op<op::bit_xor>::value,
+ bit_and = binary_op<op::bit_and>::value,
+ equal = binary_op<op::equal>::value,
+ not_equal = binary_op<op::not_equal>::value,
+ less = binary_op<op::less>::value,
+ less_equal = binary_op<op::less_equal>::value,
+ greater = binary_op<op::greater>::value,
+ greater_equal = binary_op<op::greater_equal>::value,
+ shift_left = binary_op<op::shift_left>::value,
+ shift_right = binary_op<op::shift_right>::value,
+ times = binary_op<op::times>::value,
+ divide = binary_op<op::divide>::value,
+ mod = binary_op<op::mod>::value,
+
+ // unary operators with overlaps
+ // '++' and '--' can be prefix or postfix
+ // (the lexer cannot distinguish which)
+ plus_plus = make_op<
+ op_type::unary
+ | op_type::postfix_unary, op::plus_plus>::value,
+
+ minus_minus = make_op<
+ op_type::unary
+ | op_type::postfix_unary, op::minus_minus>::value,
+
+ // unary operators
+ compl_ = unary_op<op::compl_>::value,
+ not_ = unary_op<op::not_>::value,
 
             // misc tags
- identifier = op::post_decr + 1,
+ identifier = op::not_ + 1,
             comment,
             whitespace,
             lit_uint,
             true_or_false
         };
     };
-
- inline int precedence_of(token::type op)
- {
- return (op >> 19) & 0xF;
- }
 }
 
 #endif

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.cpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -13,3 +13,5 @@
 
 typedef std::string::const_iterator base_iterator_type;
 template client::lexer::conjure_tokens<base_iterator_type>::conjure_tokens();
+template bool client::lexer::conjure_tokens<base_iterator_type>::add_(
+ std::string const&, int);

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2001-2011 Joel de Guzman
 
     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)
@@ -7,8 +8,11 @@
 #if !defined(BOOST_SPIRIT_CONJURE_LEXER_HPP)
 #define BOOST_SPIRIT_CONJURE_LEXER_HPP
 
+#include <boost/spirit/include/lex_lexertl.hpp>
+#include <boost/spirit/include/lex_lexertl_position_token.hpp>
+
 #include "config.hpp"
-#include "token_ids.hpp"
+#include "ids.hpp"
 
 #if CONJURE_LEXER_STATIC_TABLES != 0
 #include <boost/spirit/include/lex_static_lexertl.hpp>
@@ -17,9 +21,12 @@
 #include <boost/spirit/include/lex_static_lexertl.hpp>
 #include "conjure_static_switch_lexer.hpp"
 #endif
+#include <boost/assert.hpp>
 
-namespace client { namespace lexer
+namespace client { namespace lexer
 {
+ namespace lex = boost::spirit::lex;
+
     ///////////////////////////////////////////////////////////////////////////
     namespace detail
     {
@@ -28,9 +35,9 @@
         template <typename BaseIterator>
         struct get_lexer_type
         {
- // Our token needs to be able to carry several token values:
+ // Our token needs to be able to carry several token values:
             // std::string, unsigned int, and bool
- typedef boost::mpl::vector<std::string, unsigned int, bool>
+ typedef boost::mpl::vector<std::string, unsigned int, bool>
                 token_value_types;
 
             // Using the position_token class as the token type to be returned
@@ -64,16 +71,71 @@
 
     ///////////////////////////////////////////////////////////////////////////
     template <typename BaseIterator>
- struct conjure_tokens
+ struct conjure_tokens
       : lex::lexer<typename detail::get_lexer_type<BaseIterator>::type>
     {
+ private:
+ // get the type of any qi::raw_token(...) and qi::token(...) constructs
+ typedef typename boost::spirit::result_of::terminal<
+ boost::spirit::tag::raw_token(token_ids::type)
+ >::type raw_token_spec;
+
+ typedef typename boost::spirit::result_of::terminal<
+ boost::spirit::tag::token(token_ids::type)
+ >::type token_spec;
+
+ typedef std::map<std::string, token_ids::type> keyword_map_type;
+
+ protected:
+ // add a keyword to the mapping table
+ bool add_(std::string const& keyword, int id = token_ids::invalid);
+
+ struct keyword_adder
+ {
+ conjure_tokens& l;
+ keyword_adder(conjure_tokens& l) : l(l) {}
+ keyword_adder& operator()(
+ std::string const& keyword, int id = token_ids::invalid)
+ {
+ l.add_(keyword, id);
+ return *this;
+ }
+ };
+
+ friend struct keyword_adder;
+ keyword_adder add;
+
+ public:
         typedef BaseIterator base_iterator_type;
 
         conjure_tokens();
 
+ // extract a raw_token(id) for the given registered keyword
+ raw_token_spec operator()(std::string const& kwd) const
+ {
+ namespace qi = boost::spirit::qi;
+ qi::raw_token_type raw_token;
+
+ typename keyword_map_type::const_iterator it = keywords_.find(kwd);
+ BOOST_ASSERT(it != keywords_.end());
+ return raw_token((it != keywords_.end()) ? (*it).second : token_ids::invalid);
+ }
+
+ // extract a token(id) for the given registered keyword
+ token_spec token(std::string const& kwd) const
+ {
+ namespace qi = boost::spirit::qi;
+ qi::token_type token;
+
+ typename keyword_map_type::const_iterator it = keywords_.find(kwd);
+ BOOST_ASSERT(it != keywords_.end());
+ return token((it != keywords_.end()) ? (*it).second : token_ids::invalid);
+ }
+
         lex::token_def<std::string> identifier;
- lex::token_def<unsigned int> uint_;
- lex::token_def<bool> bool_;
+ lex::token_def<unsigned int> lit_uint;
+ lex::token_def<bool> true_or_false;
+ keyword_map_type keywords_;
     };
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer_def.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/lexer_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2001-2011 Joel de Guzman
 
     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,52 +12,89 @@
 {
     template <typename BaseIterator>
     conjure_tokens<BaseIterator>::conjure_tokens()
- : identifier("[a-zA-Z_][a-zA-Z_0-9]*", ID_IDENTIFIER)
- , uint_("[0-9]+", ID_UINT)
- , bool_("true|false", ID_BOOL)
+ : identifier("[a-zA-Z_][a-zA-Z_0-9]*", token_ids::identifier)
+ , lit_uint("[0-9]+", token_ids::lit_uint)
+ , true_or_false("true|false", token_ids::true_or_false)
+ , add(*this)
     {
         lex::_pass_type _pass;
 
- this->self = uint_ | bool_;
+ this->self = lit_uint | true_or_false;
 
- this->self.add
- ("void", ID_VOID_KWD)
- ("int", ID_INT_KWD)
- ("if", ID_IF_KWD)
- ("else", ID_ELSE_KWD)
- ("while", ID_WHILE_KWD)
- ("return", ID_RETURN_KWD)
+ this->add
+ ("void")
+ ("int")
+ ("if")
+ ("else")
+ ("while")
+ ("return")
+ ("=", token_ids::assign)
+ ("\\+=", token_ids::plus_assign)
+ ("\\-=", token_ids::minus_assign)
+ ("\\*=", token_ids::times_assign)
+ ("\\/=", token_ids::divide_assign)
+ ("%=", token_ids::mod_assign)
+ ("\\&=", token_ids::bit_and_assign)
+ ("\\^=", token_ids::bit_xor_assign)
+ ("\\|=", token_ids::bit_or_assign)
+ ("<<=", token_ids::shift_left_assign)
+ (">>=", token_ids::shift_right_assign)
+ ("\\|\\|", token_ids::logical_or)
+ ("&&", token_ids::logical_and)
+ ("\\|", token_ids::bit_or)
+ ("\\^", token_ids::bit_xor)
+ ("&", token_ids::bit_and)
+ ("<<", token_ids::shift_left)
+ (">>", token_ids::shift_right)
+ ("==", token_ids::equal)
+ ("!=", token_ids::not_equal)
+ ("<", token_ids::less)
+ ("<=", token_ids::less_equal)
+ (">", token_ids::greater)
+ (">=", token_ids::greater_equal)
+ ("\\+", token_ids::plus)
+ ("\\-", token_ids::minus)
+ ("\\*", token_ids::times)
+ ("\\/", token_ids::divide)
+ ("%", token_ids::mod)
+ ("\\+\\+", token_ids::plus_plus)
+ ("\\-\\-", token_ids::minus_minus)
+ ("~", token_ids::compl_)
+ ("!", token_ids::not_)
             ;
 
- this->self.add
- ("\\|\\|", ID_OP_LOGICAL_OR)
- ("&&", ID_OP_LOGICAL_AND)
- ("==", ID_OP_EQUAL)
- ("!=", ID_OP_NOT_EQUAL)
- ("<", ID_OP_LESS)
- ("<=", ID_OP_LESS_EQUAL)
- (">", ID_OP_GREATER)
- (">=", ID_OP_GREATER_EQUAL)
- ("\\+", ID_OP_PLUS)
- ("\\-", ID_OP_MINUS)
- ("\\*", ID_OP_TIMES)
- ("\\/", ID_OP_DIVIDE)
- ("!", ID_OP_NOT)
- ;
-
- this->self += lex::char_('(') | ')' | '{' | '}' | ',' | '=' | ';';
+ this->self += lex::char_('(') | ')' | '{' | '}' | ',' | ';';
 
- this->self +=
+ this->self +=
                 identifier
- | lex::string("\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/", ID_COMMENT)
+ | lex::string("(\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/)|(\\/\\/[^\r\n]*)", token_ids::comment)
                 [
                     lex::_pass = lex::pass_flags::pass_ignore
- ]
- | lex::string("[ \t\n\r]+", ID_WHITESPACE)
+ ]
+ | lex::string("[ \t\n\r]+", token_ids::whitespace)
                 [
                     lex::_pass = lex::pass_flags::pass_ignore
                 ]
             ;
     }
+
+ template <typename BaseIterator>
+ bool conjure_tokens<BaseIterator>::add_(
+ std::string const& keyword, int id_)
+ {
+ // add the token to the lexer
+ token_ids::type id;
+ if (id_ == token_ids::invalid)
+ id = token_ids::type(this->get_next_id());
+ else
+ id = token_ids::type(id_);
+
+ this->self.add(keyword, id);
+ // store the mapping for later retrieval
+ std::pair<typename keyword_map_type::iterator, bool> p =
+ keywords_.insert(typename keyword_map_type::value_type(keyword, id));
+
+ return p.second;
+ }
 }}
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/main.cpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -12,13 +12,10 @@
 // [ JDG April 10, 2007 ] spirit2
 // [ JDG February 18, 2011 ] Pure attributes. No semantic actions.
 // [ HK June 3, 2011 ] Adding lexer
+// [ JDG July 18, 2011 ] Switching to LLVM backend
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "config.hpp"
 #include "function.hpp"
 #include "vm.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/statement_def.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/statement_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure3/statement_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -5,7 +5,6 @@
     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 "token_ids.hpp"
 #include "statement.hpp"
 #include "error_handler.hpp"
 #include "annotation.hpp"
@@ -24,7 +23,7 @@
         qi::_4_type _4;
 
         qi::_val_type _val;
- qi::raw_token_type raw_token;
+ qi::tokenid_mask_type tokenid_mask;
 
         using qi::on_error;
         using qi::on_success;
@@ -47,37 +46,39 @@
             | if_statement
             | while_statement
             | return_statement
+ | expr
+ | ';'
             ;
 
         variable_declaration =
- raw_token(lexer::ID_INT_KWD)
+ l("int")
> expr.identifier
- > -('=' > expr)
+ > -(l("=") > expr)
> ';'
             ;
 
         assignment =
                 expr.identifier
- > '='
+ > tokenid_mask(token_ids::op_assign)
> expr
> ';'
             ;
 
         if_statement =
- raw_token(lexer::ID_IF_KWD)
+ l("if")
> '('
> expr
> ')'
> statement_
>
                -(
- raw_token(lexer::ID_ELSE_KWD)
+ l("else")
> statement_
                 )
             ;
 
         while_statement =
- raw_token(lexer::ID_WHILE_KWD)
+ l("while")
> '('
> expr
> ')'
@@ -89,7 +90,7 @@
             ;
 
         return_statement =
- raw_token(lexer::ID_RETURN_KWD)
+ l("return")
> -expr
> ';'
             ;
@@ -97,8 +98,13 @@
         // Debugging and error handling and reporting support.
         BOOST_SPIRIT_DEBUG_NODES(
             (statement_list)
+ (statement_)
             (variable_declaration)
             (assignment)
+ (if_statement)
+ (while_statement)
+ (compound_statement)
+ (return_statement)
         );
 
         // Error handling: on error in statement_list, call error_handler.
@@ -106,7 +112,10 @@
             error_handler_function(error_handler)(
                 "Error! Expecting ", _4, _3));
 
- // Annotation: on success in assignment, call annotation.
+ // Annotation: on success in variable_declaration,
+ // assignment and return_statement, call annotation.
+ on_success(variable_declaration,
+ annotation_function(error_handler.iters)(_val, _1));
         on_success(assignment,
             annotation_function(error_handler.iters)(_val, _1));
         on_success(return_statement,

Deleted: /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/token_ids.hpp
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure3/token_ids.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
+++ (empty file)
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP)
-#define BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP
-
-#include <boost/spirit/include/lex_lexertl.hpp>
-#include <boost/spirit/include/lex_lexertl_position_token.hpp>
-
-namespace client { namespace lexer
-{
- namespace lex = boost::spirit::lex;
-
- enum tokenids
- {
- ID_OP_OPERATOR = 0x10000,
- ID_OP_BINARY = 0x20000,
- ID_OP_UNARY = 0x40000,
-
- // the token ids (added values below) have to correspond to the
- // sequence numbers used in the ast::optoken enumeration
- ID_OP_LOGICAL_OR = (ID_OP_OPERATOR | ID_OP_BINARY) + 12,
- ID_OP_LOGICAL_AND = (ID_OP_OPERATOR | ID_OP_BINARY) + 13,
- ID_OP_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 17,
- ID_OP_NOT_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 18,
- ID_OP_LESS = (ID_OP_OPERATOR | ID_OP_BINARY) + 19,
- ID_OP_LESS_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 20,
- ID_OP_GREATER = (ID_OP_OPERATOR | ID_OP_BINARY) + 21,
- ID_OP_GREATER_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 22,
- ID_OP_PLUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 25,
- ID_OP_MINUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 26,
- ID_OP_TIMES = (ID_OP_OPERATOR | ID_OP_BINARY) + 27,
- ID_OP_DIVIDE = (ID_OP_OPERATOR | ID_OP_BINARY) + 28,
- ID_OP_NOT = (ID_OP_OPERATOR | ID_OP_UNARY) + 35,
-
- ID_IDENTIFIER = ID_OP_OPERATOR + 100,
- ID_COMMENT,
- ID_WHITESPACE,
- ID_VOID_KWD,
- ID_INT_KWD,
- ID_IF_KWD,
- ID_ELSE_KWD,
- ID_WHILE_KWD,
- ID_RETURN_KWD,
- ID_UINT,
- ID_BOOL
- };
-}}
-
-#endif
-
-

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/error.cnj
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/error.cnj (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/error.cnj 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -1,4 +1,4 @@
-/* mini program with syntax error */
+/* conjure program with syntax error */
 
 int foo(n)
 {

Copied: branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj (from r73568, /trunk/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj)
==============================================================================
--- /trunk/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/conjure_samples/operators.cnj 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -124,11 +124,14 @@
 {
     int i = ~zero(); // -1
     int j = -i; // 1
+ ++j; // 2
+ ++++j; // 4
+ --j; // 3
     return j;
 }
 
 int main()
 {
- return (assign() ^ binary()) + unary(); // 1
+ return assign() + binary() + unary(); // 16385
 }
 

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/annotation.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/annotation.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/annotation.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -37,24 +37,20 @@
             int id;
             set_id(int id) : id(id) {}
 
- template <typename T>
- void operator()(T& x) const
+ void operator()(ast::function_call& x) const
             {
- this->dispatch(x, boost::is_base_of<ast::tagged, T>());
+ x.function_name.id = id;
             }
 
- // This will catch all nodes except those inheriting from ast::tagged
- template <typename T>
- void dispatch(T& x, boost::mpl::false_) const
+ void operator()(ast::identifier& x) const
             {
- // (no-op) no need for tags
+ x.id = id;
             }
 
- // This will catch all nodes inheriting from ast::tagged
             template <typename T>
- void dispatch(T& x, boost::mpl::true_) const
+ void operator()(T& x) const
             {
- x.id = id;
+ // no-op
             }
         };
 
@@ -65,6 +61,13 @@
             boost::apply_visitor(set_id(id), ast);
         }
 
+ void operator()(ast::variable_declaration& ast, Iterator pos) const
+ {
+ int id = iters.size();
+ iters.push_back(pos);
+ ast.lhs.id = id;
+ }
+
         void operator()(ast::assignment& ast, Iterator pos) const
         {
             int id = iters.size();

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/compiler.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/compiler.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/compiler.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -237,7 +237,6 @@
         int const* p = current->find_var(x.name);
         if (p == 0)
         {
- std::cout << x.id << std::endl;
             error_handler(x.id, "Undeclared variable: " + x.name);
             return false;
         }
@@ -292,7 +291,6 @@
 
         if (functions.find(x.function_name.name) == functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Function not found: " + x.function_name.name);
             return false;
         }
@@ -301,7 +299,6 @@
 
         if (p->nargs() != x.args.size())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Wrong number of arguments: " + x.function_name.name);
             return false;
         }
@@ -342,7 +339,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p == 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Undeclared variable: " + x.lhs.name);
             return false;
         }
@@ -356,7 +352,6 @@
         int const* p = current->find_var(x.lhs.name);
         if (p != 0)
         {
- std::cout << x.lhs.id << std::endl;
             error_handler(x.lhs.id, "Duplicate variable: " + x.lhs.name);
             return false;
         }
@@ -440,7 +435,6 @@
         {
             if (x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, "'void' function returning a value: ");
                 return false;
             }
@@ -449,7 +443,6 @@
         {
             if (!x.expr)
             {
- std::cout << x.id << std::endl;
                 error_handler(x.id, current_function_name + " function must return a value: ");
                 return false;
             }
@@ -469,7 +462,6 @@
         void_return = x.return_type == "void";
         if (functions.find(x.function_name.name) != functions.end())
         {
- std::cout << x.function_name.id << std::endl;
             error_handler(x.function_name.id, "Duplicate function: " + x.function_name.name);
             return false;
         }

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/expression_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/expression_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/expression_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -124,7 +124,7 @@
 
         unary_expr =
                 primary_expr
- | (unary_op > primary_expr)
+ | (unary_op > unary_expr)
             ;
 
         primary_expr =

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/main.cpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/main.cpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/main.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -13,10 +13,6 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////////
-// Define this to enable debugging
-//#define BOOST_SPIRIT_QI_DEBUG
-
 #include "function.hpp"
 #include "skipper.hpp"
 #include "vm.hpp"

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/statement_def.hpp
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/statement_def.hpp (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c/statement_def.hpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -110,7 +110,10 @@
             error_handler_function(error_handler)(
                 "Error! Expecting ", _4, _3));
 
- // Annotation: on success in assignment, call annotation.
+ // Annotation: on success in variable_declaration,
+ // assignment and return_statement, call annotation.
+ on_success(variable_declaration,
+ annotation_function(error_handler.iters)(_val, _1));
         on_success(assignment,
             annotation_function(error_handler.iters)(_val, _1));
         on_success(return_statement,

Modified: branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c_samples/3.mini
==============================================================================
--- branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c_samples/3.mini (original)
+++ branches/release/libs/spirit/example/qi/compiler_tutorial/mini_c_samples/3.mini 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -3,7 +3,7 @@
 int foo(n)
 {
     int a = 2;
- if (n << 3) /* we don't have << in mini_c */
+ if (n @ 3) /* we don't have @ operator in mini_c */
     {
         a = 3
     }

Modified: branches/release/libs/spirit/test/Jamfile
==============================================================================
--- branches/release/libs/spirit/test/Jamfile (original)
+++ branches/release/libs/spirit/test/Jamfile 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -161,6 +161,7 @@
      [ run qi/regression_reorder.cpp : : : : qi_regression_reorder ]
      [ run qi/regression_repeat.cpp : : : : qi_regression_repeat ]
      [ run qi/regression_transform_assignment.cpp : : : : qi_regression_transform_assignment ]
+ [ run qi/regression_binary_action.cpp : : : : qi_regression_binary_action ]
     ;
 
     ###########################################################################

Modified: branches/release/libs/spirit/test/qi/actions2.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/actions2.cpp (original)
+++ branches/release/libs/spirit/test/qi/actions2.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -27,11 +27,18 @@
     std::cout << "parsing got: " << s << std::endl;
 }
 
+std::string s;
+void b(char c)
+{
+ s += c;
+}
+
 int main()
 {
     namespace qi = boost::spirit::qi;
     namespace phoenix = boost::phoenix;
     using spirit_test::test_attr;
+ using spirit_test::test;
 
     {
         qi::rule<char const*, std::string()> r;
@@ -42,6 +49,14 @@
         BOOST_TEST(attr == "abcdef");
     }
 
+ { // chaining
+ using namespace boost::spirit::ascii;
+
+ s = "";
+ BOOST_TEST(test("a", char_[b][b]));
+ BOOST_TEST(s == "aa");
+ }
+
     return boost::report_errors();
 }
 

Modified: branches/release/libs/spirit/test/qi/rule4.cpp
==============================================================================
--- branches/release/libs/spirit/test/qi/rule4.cpp (original)
+++ branches/release/libs/spirit/test/qi/rule4.cpp 2011-08-29 09:44:45 EDT (Mon, 29 Aug 2011)
@@ -138,7 +138,7 @@
         typedef boost::variant<double, int> v_type;
         rule<const char*, v_type()> r1 = int_;
         v_type v;
- BOOST_TEST(test_attr("1", r1, v) && v.which() == 1 &&
+ BOOST_TEST(test_attr("1", r1, v) && v.which() == 1 &&
             boost::get<int>(v) == 1);
 
         typedef boost::optional<int> ov_type;
@@ -183,6 +183,20 @@
         BOOST_TEST(test_attr(" 456", r2[_val = _1], j, space) && j == 456);
     }
 
+#if 0 // disabling test (can't fix)
+ {
+ using boost::spirit::qi::lexeme;
+ using boost::spirit::qi::alnum;
+
+ rule<const char*, std::string()> literal_;
+ literal_ = lexeme[ +(alnum | '_') ];
+
+ std::string attr;
+ BOOST_TEST(test_attr("foo_bar", literal_, attr) && attr == "foo_bar");
+ std::cout << attr << std::endl;
+ }
+#endif
+
     return boost::report_errors();
 }
 


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