1[/============================================================================== 2 Copyright (C) 2001-2011 Joel de Guzman 3 Copyright (C) 2001-2011 Hartmut Kaiser 4 5 Distributed under the Boost Software License, Version 1.0. (See accompanying 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7===============================================================================/] 8 9[article Spirit 10 [quickbook 1.5] 11 [version 2.5.8] 12 [authors [de Guzman, Joel], [Kaiser, Hartmut]] 13 [copyright 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Joel de Guzman, Hartmut Kaiser] 14 [/ purpose Parser and Generator Library] 15 [license 16 Distributed under the Boost Software License, Version 1.0. 17 (See accompanying file LICENSE_1_0.txt or copy at 18 [@http://www.boost.org/LICENSE_1_0.txt]) 19 ] 20] 21 22[/ November 14, 2007 ] 23 24[/ Some links ] 25 26[def __version__ V2.5.8] 27 28[def __spirit__ [@http://boost-spirit.com Spirit]] 29[def __spirit_list__ [@http://boost.2283326.n4.nabble.com/spirit-general-f2672582.html Spirit General List]] 30[def __phoenix__ [@boost:/libs/phoenix/doc/html/index.html Boost.Phoenix]] 31[def __fusion__ [@boost:/libs/fusion/doc/html/index.html Boost.Fusion]] 32[def __mpl__ [@http://www.boost.org/libs/mpl/index.html Boost.Mpl]] 33[def __stl__ [@https://en.wikipedia.org/wiki/Standard_Template_Library STL]] 34[def __boost__ [@http://www.boost.org/ Boost]] 35[def __boost_tools__ [@http://www.boost.org/tools/index.html Boost Tools]] 36[def __spirit_list__ [@https://lists.sourceforge.net/lists/listinfo/spirit-general Spirit Mailing List]] 37[def __spirit_general__ [@news://news.gmane.org/gmane.comp.spirit.general Spirit General NNTP news portal]] 38[def __gmane__ [@http://www.gmane.org Gmane]] 39[def __mlist_archive__ [@http://news.gmane.org/gmane.comp.parsers.spirit.general]] 40[def __repo__ [@../../repository/doc/html/index.html Repository]] 41 42[def __early_spirit__ [@http://spirit.sourceforge.net/dl_docs/pre-spirit.htm pre-Spirit]] 43[def __exprtemplates__ [@http://en.wikipedia.org/wiki/Expression_templates Expression Templates]] 44[/ Ideally, this would link to the references section but there doesn't seem to be 45 a way to do it!] 46[def __ebnf_intro__ [@http://www.csci.csusb.edu/dick/maths/intro_ebnf.html EBNF intro]] 47[def __attr_grammar__ [@http://en.wikipedia.org/wiki/Attribute_grammar Attribute Grammar]] 48[def __string_template__ [@http://www.stringtemplate.org/ StringTemplate]] 49[def __lexertl__ [@http://www.benhanson.net/lexertl.html Lexertl]] 50[def __wave__ [@http://www.boost.org/libs/wave/index.html Wave]] 51[def __slex__ [@http://spirit.sourceforge.net/repository/applications/slex.zip SLex]] 52[def __flex__ [@http://flex.sourceforge.net/ Flex]] 53[def __re2c__ [@http://re2c.sourceforge.net/ re2c]] 54[def __ragel__ [@http://www.cs.queensu.ca/~thurston/ragel/ Ragel]] 55 56[def __boost_variant__ [@http://www.boost.org/doc/html/variant.html Boost.Variant]] 57[def __boost_iterator_range__ [@boost:/libs/range/doc/html/range/reference/utilities/iterator_range.html `boost::iterator_range`]] 58[def __boost_bind__ [@boost:/libs/bind/index.html Boost.Bind]] 59[def __boost_lambda__ [@boost:/libs/lambda/index.html Boost.Lambda]] 60[def __boost_tuples__ [@boost:/libs/tuple/index.html Boost.Tuples]] 61[def __boost_proto__ [@boost:/doc/html/proto.html Boost.Proto]] 62[def __boost_format__ [@boost:/libs/format/index.html Boost.Format]] 63[def __boost_any__ [@boost:/libs/any/index.html Boost.Any]] 64 65[def __classic__ [@boost:/libs/spirit/classic/index.html /Spirit.Classic/]] 66[def __qi__ /Spirit.Qi/] 67[def __karma__ /Spirit.Karma/] 68[def __lex__ /Spirit.Lex/] 69[def __x3__ [@boost:/libs/spirit/doc/x3/html/index.html /Spirit.X3/]] 70 71[def __mpl_boolean_constant__ [@boost:/libs/mpl/doc/refmanual/integral-constant.html MPL Boolean Constant]] 72[def __mpl_int_constant__ [@boost:/libs/mpl/doc/refmanual/integral-constant.html MPL Integral Constant]] 73[def __mpl_fwd_sequence__ [@boost:/libs/mpl/doc/refmanual/forward-sequence.html MPL Forward Sequence]] 74 75[def __fixme__ *FIXME*] 76 77[def __scanner_business__ [@boost:/libs/spirit/classic/doc/faq.html#scanner_business The Scanner Business]] 78 79[/ Sections ] 80 81[def __sec_qi__ [link spirit.qi Qi]] 82[def __sec_karma__ [link spirit.karma Karma]] 83[def __sec_attributes__ [link spirit.abstracts.attributes Attributes]] 84[def __sec_customization_points__ [link spirit.advanced.customize Customization of Attribute Handling]] 85 86[def __sec_karma_numeric_performance__ [link spirit.karma.performance_measurements.numeric_performance Performance of Numeric Generators]] 87[def __sec_karma_primitive__ [link spirit.karma.quick_reference.primitive_generators Karma Generators]] 88[def __sec_karma_compound__ [link spirit.karma.quick_reference.compound_attribute_rules Generator Compound Attribute Rules]] 89[def __karma_char_encoding_namespace__ [link spirit.karma.reference.basics.character_encoding_namespace Character Encoding Namespace]] 90[def __sec_karma_reference__ [link spirit.karma.reference Karma Reference]] 91[def __sec_karma_quickref__ [link spirit.karma.quick_reference Karma Quick Reference]] 92 93[def __sec_qi_reference__ [link spirit.qi.reference Qi Reference]] 94[def __sec_qi_primitive__ [link spirit.qi.quick_reference.qi_parsers Qi Parsers]] 95[def __sec_qi_compound__ [link spirit.qi.quick_reference.compound_attribute_rules Parser Compound Attribute Rules]] 96 97[def __sec_lex__ [link spirit.lex Lex]] 98[def __sec_lex_quickstart_1__ [link spirit.lex.tutorials.lexer_quickstart1 Lex Quickstart 1 - A word counter using __lex__]] 99[def __sec_lex_quickstart_2__ [link spirit.lex.tutorials.lexer_quickstart2 Lex Quickstart 2 - A better word counter using __lex__]] 100[def __sec_lex_quickstart_3__ [link spirit.lex.tutorials.lexer_quickstart3 Lex Quickstart 3 - Counting Words Using a Parser]] 101 102[def __sec_lex_static_model__ [link spirit.lex.abstracts.lexer_static_model The /Static/ Model]] 103[def __sec_lex_primitives__ [link spirit.lex.abstracts.lexer_primitives Lexer Primitives]] 104[def __sec_lex_tokenvalues__ [link spirit.lex.abstracts.lexer_primitives.lexer_token_values About Tokens and Token Values]] 105[def __sec_lex_attributes__ [/ link spirit.lex.abstracts.lexer_attributes Lexer Attributes] Lexer Attributes] 106[def __sec_lex_semactions__ [link spirit.lex.abstracts.lexer_semantic_actions Lexer Semantic Actions]] 107 108[def __sec_ref_lex_token__ [/ link spirit.lex.reference.token Token Class] Token Class] 109[def __sec_ref_lex_token_def__ [/ link spirit.lex.reference.tokendef TokenDef Class] TokenDef Class] 110 111[/ References to API descriptions ] 112 113[def __api_tokenize_and_parse__ `tokenize_and_parse()` [/link spirit.qi_and_karma.abstracts.parsing_and_generating.the_tokenize_and_phrase_parse___function `tokenize_and_parse()`]] 114[def __api_tokenize__ [link spirit.lex.lexer_tokenizing.the_tokenize_function `tokenize()`]] 115[def __api_generate_static__ `generate_static_dfa()` [/link spirit.lex.lexer_tokenizing.the_generate_static_function `generate_static()`]] 116 117[template karma_format[str] [link spirit.karma.reference.generate_api.stream_api [str]]] 118 119[def __generator_api__ [link spirit.karma.reference.generate_api The Generator API]] 120 121[/ References to classes ] 122 123[def __utree__ [link spirit.support.utree `utree`]] 124[def __line_pos_iterator__ [link spirit.support.line_pos_iterator `line_pos_iterator`]] 125[def __multi_pass__ [link spirit.support.multi_pass `multi_pass`]] 126 127[def __class_token_def__ [/ link spirit.lex.reference.tokendef `token_def<>`] `lex::token_def<>`] 128 129[def __class_lexertl_token__ [/ link spirit.lex.reference.token `lexertl_token<>`] `lex::lexertl::token<>`] 130[def __class_lexertl_lexer__ [/ link spirit.lex.reference.lexer.the_lexertl__lexer_class_implementing_the_dynamic_model `lexertl_lexer<>`] `lex::lexertl::lexer<>`] 131[def __class_lexertl_static_lexer__ [/ link spirit.lex.reference.lexer.the_lexertl__static_lexer_class_implementing_the_static_model `lexertl_static_lexer<>`] `lex::lexertl::static_lexer<>`] 132 133[/ References to support ] 134 135[def __unused_type__ `unused_type`] [/$$$ TODO: link me $$$] 136[def __unused__ `unused`] [/$$$ TODO: link me $$$] 137[def __info__ `info`] [/$$$ TODO: link me $$$] 138[def __char_class_types__ Character Class Types] [/$$$ TODO: link me $$$] 139 140[/ References to abstracts ] 141 142[def __rd__ Recursive Descent] [/$$$ TODO: link me $$$] 143[def __syntax_diagrams__ [link spirit.abstracts.syntax_diagrams Syntax Diagram]] 144[def __peg__ [link spirit.abstracts.parsing_expression_grammar Parsing Expression Grammar]] 145[def __ast__ Abstract Syntax Tree] [/$$$ TODO: link me $$$] 146 147[def __include_structure__ [link spirit.structure.include Include Structure]] 148[def __include_structure_faq__ [link spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_ Header Hell]] 149 150[/ References to reference ] 151 152[def __qi_attr__ [link spirit.qi.reference.auxiliary.attr `attr(attrib)`]] 153[def __qi_symbols__ [link spirit.qi.reference.string.symbols `symbols<>`]] 154[template qi_lit_string[str] [link spirit.qi.reference.string.string [str]]] 155[template qi_lit_char[char] [link spirit.qi.reference.char.char [char]]] 156[template karma_lit_string[str] [link spirit.karma.reference.string.string [str]]] 157[template karma_lit_char[char] [link spirit.karma.reference.char.char_generator [char]]] 158 159[def __generator_concept__ [link spirit.karma.reference.generator_concepts.generator `Generator`]] 160[def __primitive_generator_concept__ [link spirit.karma.reference.generator_concepts.primitivegenerator `PrimitiveGenerator`]] 161[def __unary_generator_concept__ [link spirit.karma.reference.generator_concepts.unarygenerator `UnaryGenerator`]] 162[def __binary_generator_concept__ [link spirit.karma.reference.generator_concepts.binarygenerator `BinaryGenerator`]] 163[def __nary_generator_concept__ [link spirit.karma.reference.generator_concepts.narygenerator `NaryGenerator`]] 164[def __karma_nonterminal_concept__ [link spirit.karma.reference.generator_concepts.nonterminal `Nonterminal`]] 165[def __karma_nonterminal_attribute__ [link spirit.karma.reference.generator_concepts.nonterminal.attributes `Attribute`]] 166 167[def __karma_lazy_argument__ [link spirit.karma.reference.basics.lazy_argument Lazy Argument]] 168[def __karma_lazy_arguments__ [link spirit.karma.reference.basics.lazy_argument Lazy Arguments]] 169[def __karma_basics_examples__ [link spirit.karma.reference.basics.examples Basics Examples]] 170 171[/////////////////////////////////////////////////////////////////////////////] 172[def __karma_auxiliary__ [link spirit.karma.reference.auxiliary Auxiliary Generators]] 173[def __karma_eol__ [link spirit.karma.reference.auxiliary.eol `eol`]] 174[def __karma_eps__ [link spirit.karma.reference.auxiliary.eps `eps`]] 175[def __karma_feps__ [link spirit.karma.reference.auxiliary.eps `eps(b)`]] 176[template karma_lazy[str] [link spirit.karma.reference.auxiliary.lazy [str]]] 177[template karma_attr_cast[str] [link spirit.karma.reference.auxiliary.attr_cast [str]]] 178 179[def __karma_operator__ [link spirit.karma.reference.operator Generator Operators]] 180[def __karma_sequence__ [link spirit.karma.reference.operator.sequence Sequence (`<<`)]] 181[def __karma_alternative__ [link spirit.karma.reference.operator.alternative Alternative (`|`)]] 182[template karma_kleene[str] [link spirit.karma.reference.operator.kleene [str]]] 183[def __karma_kleene__ [link spirit.karma.reference.operator.kleene Kleene (`*`)]] 184[template karma_plus[str] [link spirit.karma.reference.operator.plus [str]]] 185[def __karma_plus__ [karma_plus Plus (unary `+`)]] 186[def __karma_list__ [link spirit.karma.reference.operator.list List (`%`)]] 187[def __karma_optional__ [link spirit.karma.reference.operator.optional Optional (unary `-`)]] 188[def __karma_and_predicate__ [link spirit.karma.reference.operator.and_predicate And predicate (unary `&`)]] 189[def __karma_not_predicate__ [link spirit.karma.reference.operator.not_predicate Not predicate (unary `!`)]] 190 191[def __karma_directive__ [link spirit.karma.reference.directive Generator Directives]] 192[template karma_align[str] [link spirit.karma.reference.directive.alignment [str]]] 193[def __karma_omit__ [link spirit.karma.reference.directive.omit `omit`]] 194[def __karma_skip__ [link spirit.karma.reference.directive.omit `skip`]] 195[def __karma_duplicate__ [link spirit.karma.reference.directive.duplicate `duplicate`]] 196[def __karma_buffer__ [link spirit.karma.reference.directive.buffer `buffer`]] 197[template karma_repeat[str] [link spirit.karma.reference.directive.repeat [str]]] 198[def __karma_verbatim__ [link spirit.karma.reference.directive.delimit `verbatim`]] 199[template karma_no_delimit[str] [link spirit.karma.reference.directive.delimit [str]]] 200[template karma_delimit[str] [link spirit.karma.reference.directive.delimit [str]]] 201[template karma_upperlower[str] [link spirit.karma.reference.directive.upperlower [str]]] 202[template karma_maxwidth[str] [link spirit.karma.reference.directive.maxwidth [str]]] 203[template karma_columns[str] [link spirit.karma.reference.directive.columns [str]]] 204[def __karma_as__ [link spirit.karma.reference.directive.as `as<T>[]`]] 205[def __karma_as_string__ [link spirit.karma.reference.directive.as `as_string[]`]] 206[def __karma_as_wstring__ [link spirit.karma.reference.directive.as `as_wstring[]`]] 207 208[def __karma_numeric__ [link spirit.karma.reference.numeric Numeric Generators]] 209[template signed_int[str] [link spirit.karma.reference.numeric.signed_int [str]]] 210[template unsigned_int[str] [link spirit.karma.reference.numeric.unsigned_int [str]]] 211[template real_number[str] [link spirit.karma.reference.numeric.real_number [str]]] 212[template boolean[str] [link spirit.karma.reference.numeric.boolean [str]]] 213 214[def __karma_char__ [link spirit.karma.reference.char Character Generators]] 215[template karma_char[str] [link spirit.karma.reference.char.char_generator [str]]] 216[template karma_char_class[str] [link spirit.karma.reference.char.char_class [str]]] 217 218[template karma_string[str] [link spirit.karma.reference.string [str]]] 219[template karma_symbols[str] [link spirit.karma.reference.string.symbols [str]]] 220 221[template karma_stream[str] [link spirit.karma.reference.stream.stream [str]]] 222 223[template karma_auto[str] [link spirit.karma.reference.auto [str]]] 224[def __create_generator__ [link spirit.karma.reference.generate_api.create_generator `create_generator`]] 225 226[def __karma_binary__ [link spirit.karma.reference.binary Binary Generators]] 227[template karma_native_binary[str] [link spirit.karma.reference.binary.binary_native [str]]] 228[template karma_little_binary[str] [link spirit.karma.reference.binary.binary_little [str]]] 229[template karma_big_binary[str] [link spirit.karma.reference.binary.binary_big [str]]] 230 231[template karma_nonterminal[str] [str] [/link spirit.karma.reference.nonterminal [str]]] 232 233[def __actions__ Semantic Actions] [/$$$ TODO: link me $$$] 234[def __context__ Context] [/$$$ TODO: link me $$$] 235[def __compatible__ Compatible] [/$$$ TODO: link me $$$] 236[def __attribute__ Attribute] [/$$$ TODO: link me $$$] 237[def __compatible_attribute__ Compatible Attribute] [/$$$ TODO: link me $$$] 238[def __rule__ Rule] [/$$$ TODO: link me $$$] 239[def __grammar__ Grammar] [/$$$ TODO: link me $$$] 240[def __parser_conversion__ Parser Conversion] [/$$$ TODO: link me $$$] 241[def __delegate_pattern__ Delegate Design Pattern] [/$$$ TODO: link me $$$] 242[def __composite_pattern__ Composite Design Pattern] [/$$$ TODO: link me $$$] 243 244[/////////////////////////////////////////////////////////////////////////////] 245[def __karma_actions__ [link spirit.karma.tutorials.semantic_actions Semantic Actions]] 246[def __karma_context__ Context] [/$$$ TODO: link me $$$] 247[def __karma_attribute__ Generator Attributes] [/$$$ TODO: link me $$$] 248[def __karma_compatible_attribute__ Compatible Attributes] [/$$$ TODO: link me $$$] 249 250[def __karma_nonterminal__ [link spirit.karma.reference.nonterminal `Nonterminals`]] 251[def __karma_rule__ [link spirit.karma.reference.nonterminal.rule rule]] 252[def __karma_rules__ [link spirit.karma.reference.nonterminal.rule rules]] 253[def __karma_grammar__ [link spirit.karma.reference.nonterminal.grammar grammar]] 254[def __karma_grammars__ [link spirit.karma.reference.nonterminal.grammar grammars]] 255[def __karma_comp_attr_notation__ [link spirit.karma.quick_reference.compound_attribute_rules.notation Compound Attribute Notation]] 256 257[/////////////////////////////////////////////////////////////////////////////] 258[def __lexer_concept__ [link spirit.lex.reference.lexer_concepts.lexer `Lexer`]] 259[def __primitive_lexer_concept__ [link spirit.lex.reference.lexer_concepts.primitivelexer `PrimitiveLexer`]] 260[def __unary_lexer_concept__ [link spirit.lex.reference.lexer_concepts.unarylexer `UnaryLexer`]] 261[def __nary_lexer_concept__ [link spirit.lex.reference.lexer_concepts.narylexer `NaryLexer`]] 262 263[def __lex_actions__ [link spirit.lex.abstracts.lexer_semantic_actions Lexer Semantic Actions]] 264 265[def __customize_is_container__ [link spirit.advanced.customize.is_container `traits::is_container`]] 266[def __customize_is_string__ [link spirit.advanced.customize.is_string `traits::is_string`]] 267[def __customize_transform_attribute__ [link spirit.advanced.customize.transform `traits::transform_attribute`]] 268[def __customize_optional_attribute__ [link spirit.advanced.customize.optional `traits::optional_attribute`]] 269[def __customize_assign_to__ [link spirit.advanced.customize.assign_to `traits::assign_to`]] 270[def __customize_assign_to_attribute_from_value__ [link spirit.advanced.customize.assign_to.assign_to_attribute_from_value `traits::assign_to_attribute_from_value`]] 271[def __customize_assign_to_container_from_value__ [link spirit.advanced.customize.assign_to.assign_to_container_from_value `traits::assign_to_container_from_value`]] 272[def __customize_push_back_container__ [link spirit.advanced.customize.store_value.push_back `traits::push_back_container`]] 273[def __customize_container_value__ [link spirit.advanced.customize.store_value.container_value `traits::container_value`]] 274[def __customize_clear_value__ [link spirit.advanced.customize.clear_value `traits::clear_value`]] 275[def __customize_extract_from__ [link spirit.advanced.customize.extract_from `traits::extract_from`]] 276[def __customize_extract_from_container__ [link spirit.advanced.customize.extract_from_container `traits::extract_from_container`]] 277[def __customize_container_iterator__ [link spirit.advanced.customize.iterate.container_iterator `traits::container_iterator`]] 278[def __customize_begin_container__ [link spirit.advanced.customize.iterate.begin_container `traits::begin_container`]] 279[def __customize_end_container__ [link spirit.advanced.customize.iterate.end_container `traits::end_container`]] 280[def __customize_next_iterator__ [link spirit.advanced.customize.iterate.next_iterator `traits::next_iterator`]] 281[def __customize_deref_iterator__ [link spirit.advanced.customize.iterate.deref_iterator `traits::deref_iterator`]] 282[def __customize_compare_iterators__ [link spirit.advanced.customize.iterate.compare_iterators `traits::compare_iterators`]] 283[def __customize_is_char__ [link spirit.advanced.customize.string_traits.is_char `traits::is_char`]] 284[def __customize_char_type_of__ [link spirit.advanced.customize.string_traits.char_type_of `traits::char_type_of`]] 285[def __customize_extract_c_string__ [link spirit.advanced.customize.string_traits.extract_c_string `traits::extract_c_string`]] 286[def __customize_attribute_as__ [link spirit.advanced.customize.attribute_as `traits::attribute_as`]] 287[def __customize_as__ [link spirit.advanced.customize.attribute_as `traits::as<T>()`]] 288[def __customize_valid_as__ [link spirit.advanced.customize.attribute_as `traits::valid_as<T>()`]] 289[def __customize_create_parser__ [link spirit.advanced.customize.auto.create_parser `traits::create_parser`]] 290[def __customize_create_generator__ [link spirit.advanced.customize.auto.create_generator `traits::create_generator`]] 291 292[template trac[number]'''<ulink url="https://svn.boost.org/trac/boost/ticket/'''[number]'''">TRAC#'''[number]'''</ulink>'''] 293[template gh[number]'''<ulink url="https://github.com/boostorg/spirit/issues/'''[number]'''">GH#'''[number]'''</ulink>'''] 294[template gh_pr[number]'''<ulink url="https://github.com/boostorg/spirit/pull/'''[number]'''">GH#'''[number]'''</ulink>'''] 295 296[/ Some images ] 297 298[def __note__ [$./images/note.png]] 299[def __tip__ [$./images/tip.png]] 300[def __important__ [$./images/important.png]] 301[def __caution__ [$./images/caution.png]] 302[def __danger__ [$./images/alert.png]] 303 304[/////////////////////////////////////////////////////////////////////////////] 305[/ some templates] 306 307[/ fig[ref title label] 308 Image element with a title. 309 310 ref := Reference to the image file. 311 title := The title to associate with this figure. 312 label := the id to use to be able to reference this picture 313] 314[template fig[ref title label]''' 315 <figure id="'''[label]'''"> 316 <title>'''[title]'''</title> 317 <inlinemediaobject> 318 <imageobject> 319 <imagedata fileref="./images/'''[ref]'''"></imagedata> 320 </imageobject> 321 <textobject> 322 <phrase role="alt">'''[title]'''</phrase> 323 </textobject> 324 </inlinemediaobject> 325 </figure> 326'''] 327 328[/ index[title type] 329 insert index 330 331 title: section title for the index 332 type: type of the index 333] 334[template index[title type]''' 335 <index type="'''[type]'''"> 336 <title>'''[title]'''</title> 337 </index> 338'''] 339 340[def __sd_start_stop__ [$./images/start_stop.png]] 341[def __sd_terminals__ [$./images/terminal.png]] 342[def __sd_non_terminals__ [$./images/non-terminal.png]] 343[def __sd_sequence__ [$./images/sequence.png]] 344[def __sd_choice__ [$./images/alternative.png]] 345[def __sd_optional__ [$./images/optional.png]] 346[def __sd_plus__ [$./images/plus.png]] 347[def __sd_kleene__ [$./images/kleene.png]] 348[def __sd_predicate__ [$./images/predicate.png]] 349[def __sd_and_predicate__ [$./images/and_predicate.png]] 350[def __sd_not_predicate__ [$./images/not_predicate.png]] 351[def __pascal_string__ [$./images/pascal_string.png]] 352 353 354[/ ----------------------------------------------------------------------------] 355[/ $$$ Now I'm confused with all this ad-hoc links. Let's fix this somehow. 356For now, I'll put my stuff here ad-hoc (JDG). $$$] 357 358[/ external] 359 360[def __fwditer__ [@http://en.cppreference.com/w/cpp/named_req/ForwardIterator `ForwardIterator`]] 361[def __outputiter__ [@http://en.cppreference.com/w/cpp/named_req/OutputIterator `OutputIterator`]] 362[def __concepts__ [@http://www.boost.org/community/generic_programming.html#concept concepts]] 363[def __endianness__ [@http://en.wikipedia.org/wiki/Endianness endianness]] 364[def __iomanip__ [@http://www.cppreference.com/wiki/io/io_flags#manipulators Manipulators]] 365 366[/ support] 367[def __info__ `info`] [/ TODO Link Me] 368[def __qi_error_handler__ Error Handler] [/ TODO Link Me] 369 370[/ quick-ref] 371[def __qi_quickref__ [link spirit.qi.quick_reference Qi Quick Reference]] 372[def __qi_comp_attr_notation__ [link spirit.qi.quick_reference.compound_attribute_rules.notation Compound Attribute Notation]] 373 374[/ concepts] 375[def __parser_concept__ [link spirit.qi.reference.parser_concepts.parser `Parser`]] 376[def __primitive_parser_concept__ [link spirit.qi.reference.parser_concepts.primitiveparser `PrimitiveParser`]] 377[def __unary_parser_concept__ [link spirit.qi.reference.parser_concepts.unaryparser `UnaryParser`]] 378[def __binary_parser_concept__ [link spirit.qi.reference.parser_concepts.binaryparser `BinaryParser`]] 379[def __nary_parser_concept__ [link spirit.qi.reference.parser_concepts.naryparser `NaryParser`]] 380[def __qi_nonterminal__ [link spirit.qi.reference.parser_concepts.nonterminal `Nonterminal`]] 381[def __qi_nonterminal_attribute__ [link spirit.qi.reference.parser_concepts.nonterminal.attributes `Attribute`]] 382 383[/ basics] 384[def __qi_lazy_argument__ [link spirit.qi.reference.basics.lazy_argument Lazy Argument]] 385[def __qi_lazy_arguments__ [link spirit.qi.reference.basics.lazy_argument Lazy Arguments]] 386[def __char_encoding_namespace__ [link spirit.qi.reference.basics.character_encoding_namespace Character Encoding Namespace]] 387[def __string__ [link spirit.qi.reference.basics.string String]] 388[def __qi_basics_examples__ [link spirit.qi.reference.basics.examples Basics Examples]] 389 390[/ action] 391[def __qi_semantic_actions__ Semantic Actions] [/ TODO Link Me] 392 393[/ char] 394[template qi_char[str] [link spirit.qi.reference.char.char [str]]] 395[template qi_char_class[str] [link spirit.qi.reference.char.char_class [str]]] 396 397[/ numerics] 398[template qi_signed_int[str] [link spirit.qi.reference.numeric.int [str]]] 399[template qi_unsigned_int[str] [link spirit.qi.reference.numeric.uint [str]]] 400[template qi_real_number[str] [link spirit.qi.reference.numeric.real [str]]] 401[template qi_boolean[str] [link spirit.qi.reference.numeric.boolean [str]]] 402 403[/ binary] 404[template qi_native_binary[str] [link spirit.qi.reference.binary.binary_native [str]]] 405[template qi_little_binary[str] [link spirit.qi.reference.binary.binary_little [str]]] 406[template qi_big_binary[str] [link spirit.qi.reference.binary.binary_big [str]]] 407 408[/ auxiliary] 409[def __qi_attr__ [link spirit.qi.reference.auxiliary.attr `attr`]] 410[def __qi_eol__ [link spirit.qi.reference.auxiliary.eol `eol`]] 411[def __qi_eoi__ [link spirit.qi.reference.auxiliary.eoi `eoi`]] 412[def __qi_eps__ [link spirit.qi.reference.auxiliary.eps `eps`]] 413[def __qi_lazy__ [link spirit.qi.reference.auxiliary.lazy `lazy`]] 414 415[/ directives] 416[def __qi_lexeme__ [link spirit.qi.reference.directive.lexeme `lexeme`]] 417[def __qi_no_case__ [link spirit.qi.reference.directive.no_case `no_case`]] 418[def __qi_omit__ [link spirit.qi.reference.directive.omit `omit`]] 419[def __qi_expectd__ [link spirit.qi.reference.directive.expect `expect`]] 420[def __qi_matches__ [link spirit.qi.reference.directive.matches `matches`]] 421[def __qi_raw__ [link spirit.qi.reference.directive.raw `raw`]] 422[def __qi_repeat__ [link spirit.qi.reference.directive.repeat `repeat`]] 423[template qi_repeat[str] [link spirit.qi.reference.directive.repeat [str]]] 424[def __qi_skip__ [link spirit.qi.reference.directive.skip `skip`]] 425[template qi_no_skip[str] [link spirit.qi.reference.directive.no_skip [str]]] 426[def __qi_hold__ [link spirit.qi.reference.directive.hold `hold`]] 427[def __qi_as__ [link spirit.qi.reference.directive.as `as<T>[]`]] 428[def __qi_as_string__ [link spirit.qi.reference.directive.as `as_string[]`]] 429[def __qi_as_wstring__ [link spirit.qi.reference.directive.as `as_wstring[]`]] 430 431[/ operator] 432[def __qi_alternative__ [link spirit.qi.reference.operator.alternative Alternative]] 433[def __qi_and_predicate__ [link spirit.qi.reference.operator.and_predicate And Predicate]] 434[def __qi_difference__ [link spirit.qi.reference.operator.difference Difference]] 435[def __qi_expect__ [link spirit.qi.reference.operator.expect Expectation operator]] 436[def __qi_expectation_failure__ [link spirit.qi.reference.operator.expect.expectation_failure `expectation_failure`]] 437[def __qi_kleene__ [link spirit.qi.reference.operator.kleene Kleene]] 438[def __qi_list__ [link spirit.qi.reference.operator.list List]] 439[def __qi_not_predicate__ [link spirit.qi.reference.operator.not_predicate Not Predicate]] 440[def __qi_optional__ [link spirit.qi.reference.operator.optional Optional]] 441[def __qi_permutation__ [link spirit.qi.reference.operator.permutation Permutation]] 442[def __qi_plus__ [link spirit.qi.reference.operator.plus Plus]] 443[def __qi_sequence__ [link spirit.qi.reference.operator.sequence Sequence]] 444[def __qi_sequential_or__ [link spirit.qi.reference.operator.sequential_or Sequential Or]] 445 446[def __qi_stream__ [link spirit.qi.reference.stream.stream `stream`]] 447 448[/ nonterminal] 449[def __qi_rule__ [link spirit.qi.reference.nonterminal.rule rule]] 450[def __qi_rules__ [link spirit.qi.reference.nonterminal.rule rules]] 451[def __qi_grammar__ [link spirit.qi.reference.nonterminal.grammar grammar]] 452[def __qi_grammars__ [link spirit.qi.reference.nonterminal.grammar grammars]] 453 454[/ stream] 455[template qi_match[str] [link spirit.qi.reference.parse_api.stream_api [str]]] 456[template qi_auto[str] [link spirit.qi.reference.auto [str]]] 457[def __create_parser__ [link spirit.qi.reference.parse_api.create_parser `create_parser`]] 458 459[def __parse_api__ [link spirit.qi.reference.parse_api The Parse API]] 460 461[/ Here we go ] 462 463[def __LTS__ [@https://en.wikipedia.org/wiki/Long-term_support LTS]] 464 465This is the documentation of the latest __LTS__ (C++03) version of 466__spirit__ (currently, __version__). For the newest (C++14) version, please 467follow to __x3__. If you're looking for the documentation of Spirit's first 468generation version (formerly Spirit V1.8), see __classic__. 469 470[include preface.qbk] 471[include what_s_new.qbk] 472[include introduction.qbk] 473[include structure.qbk] 474[include abstracts.qbk] 475[include qi.qbk] 476[include karma.qbk] 477[include lex.qbk] 478[include advanced.qbk] 479[include support.qbk] 480[include faq.qbk] 481[include notes.qbk] 482[include rationale.qbk] 483[include repository.qbk] 484[include acknowledgments.qbk] 485[include references.qbk] 486