spirit2.qbk 31 KB

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