spirit_x3.qbk 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. [/==============================================================================
  2. Copyright (C) 2001-2015 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 X3
  8. [quickbook 1.5]
  9. [version 3.0.4]
  10. [authors [de Guzman, Joel], [Kaiser, Hartmut]]
  11. [copyright 2001-2018 Joel de Guzman, Hartmut Kaiser]
  12. [/ purpose Parser 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. [/ May 12, 2015 ]
  20. [/=============================================================================
  21. Some links and defines
  22. =============================================================================/]
  23. [def __version__ V3.0.4]
  24. [/ external]
  25. [def __gmane__ [@http://www.gmane.org Gmane]]
  26. [def __mlist_archive__ [@http://news.gmane.org/gmane.comp.parsers.spirit.general]]
  27. [def __boost_tools__ [@http://www.boost.org/tools/index.html Boost Tools]]
  28. [def __fusion__ [@boost:/libs/fusion/doc/html/index.html Boost.Fusion]]
  29. [def __boost_variant__ [@http://www.boost.org/doc/html/variant.html Boost.Variant]]
  30. [def __stl__ [@https://en.wikipedia.org/wiki/Standard_Template_Library STL]]
  31. [def __fwditer__ [@http://en.cppreference.com/w/cpp/named_req/ForwardIterator `ForwardIterator`]]
  32. [def __outputiter__ [@http://en.cppreference.com/w/cpp/named_req/OutputIterator `OutputIterator`]]
  33. [def __concepts__ [@http://www.boost.org/community/generic_programming.html#concept concepts]]
  34. [def __endianness__ [@http://en.wikipedia.org/wiki/Endianness endianness]]
  35. [def __iomanip__ [@http://www.cppreference.com/wiki/io/io_flags#manipulators Manipulators]]
  36. [def __boost_iterator_range__ [@boost:/libs/range/doc/html/range/reference/utilities/iterator_range.html `boost::iterator_range`]]
  37. [template trac[number]'''<ulink url="https://svn.boost.org/trac/boost/ticket/'''[number]'''">TRAC#'''[number]'''</ulink>''']
  38. [template gh[number]'''<ulink url="https://github.com/boostorg/spirit/issues/'''[number]'''">GH#'''[number]'''</ulink>''']
  39. [template gh_pr[number]'''<ulink url="https://github.com/boostorg/spirit/pull/'''[number]'''">GH#'''[number]'''</ulink>''']
  40. [/ Some images ]
  41. [def __note__ [$./images/note.png]]
  42. [def __tip__ [$./images/tip.png]]
  43. [def __important__ [$./images/important.png]]
  44. [def __caution__ [$./images/caution.png]]
  45. [def __danger__ [$./images/alert.png]]
  46. [def __x3__ /Spirit.X3/]
  47. [def __sd_start_stop__ [$./images/start_stop.png]]
  48. [def __sd_terminals__ [$./images/terminal.png]]
  49. [def __sd_non_terminals__ [$./images/non-terminal.png]]
  50. [def __sd_sequence__ [$./images/sequence.png]]
  51. [def __sd_choice__ [$./images/alternative.png]]
  52. [def __sd_optional__ [$./images/optional.png]]
  53. [def __sd_plus__ [$./images/plus.png]]
  54. [def __sd_kleene__ [$./images/kleene.png]]
  55. [def __sd_predicate__ [$./images/predicate.png]]
  56. [def __sd_and_predicate__ [$./images/and_predicate.png]]
  57. [def __sd_not_predicate__ [$./images/not_predicate.png]]
  58. [def __pascal_string__ [$./images/pascal_string.png]]
  59. [def __syntax_diagrams__ [link spirit.abstracts.syntax_diagrams Syntax Diagram]]
  60. [def __peg__ [link spirit.abstracts.parsing_expression_grammar Parsing Expression Grammar]]
  61. [def __ast__ Abstract Syntax Tree] [/$$$ TODO: link me $$$]
  62. [def __sec_x3_reference__ [/ link spirit_x3.reference] X3 Reference]
  63. [def __sec_x3_primitive__ [/ link spirit_x3.quick_reference.x3_parsers] X3 Parsers]
  64. [def __sec_x3_compound__ [/ link spirit_x3.quick_reference.compound_attribute_rules] Parser Compound Attribute Rules]
  65. [/ support]
  66. [def __info__ `info`] [/ TODO Link Me]
  67. [def __unused_type__ `unused_type`] [/$$$ TODO: link me $$$]
  68. [def __unused__ `unused`] [/$$$ TODO: link me $$$]
  69. [def __char_class_types__ Character Class Types] [/$$$ TODO: link me $$$]
  70. [/ quick-ref]
  71. [def __x3_quickref__ [link spirit_x3.quick_reference X3 Quick Reference]]
  72. [def __x3_comp_attr_notation__ [link spirit_x3.quick_reference.compound_attribute_rules.notation Compound Attribute Notation]]
  73. [/ concepts]
  74. [def __parser_concept__ [/ link spirit_x3.reference.parser_concepts.parser] `Parser`]
  75. [def __primitive_parser_concept__ [/ link spirit_x3.reference.parser_concepts.primitiveparser] `PrimitiveParser`]
  76. [def __unary_parser_concept__ [/ link spirit_x3.reference.parser_concepts.unaryparser] `UnaryParser`]
  77. [def __binary_parser_concept__ [/ link spirit_x3.reference.parser_concepts.binaryparser] `BinaryParser`]
  78. [def __nary_parser_concept__ [/ link spirit_x3.reference.parser_concepts.naryparser] `NaryParser`]
  79. [def __x3_nonterminal__ [/ link spirit_x3.reference.parser_concepts.nonterminal] `Nonterminal`]
  80. [def __x3_nonterminal_attribute__ [/ link spirit_x3.reference.parser_concepts.nonterminal.attributes] `Attribute`]
  81. [/ basics]
  82. [def __x3_lazy_argument__ [/ link spirit_x3.reference.basics.lazy_argument] Lazy Argument]
  83. [def __x3_lazy_arguments__ [/ link spirit_x3.reference.basics.lazy_argument] Lazy Arguments]
  84. [def __char_encoding_namespace__ [/ link spirit_x3.reference.basics.character_encoding_namespace] Character Encoding Namespace]
  85. [def __x3_basics_examples__ [/ link spirit_x3.reference.basics.examples] Basics Examples]
  86. [/ string]
  87. [template x3_lit_string[str] [[/ link spirit_x3.reference.string.string] str]]
  88. [def __string__ [/ link spirit_x3.reference.basics.string] String]
  89. [def __x3_symbols__ [/ link spirit_x3.reference.string.symbols] `symbols<T>`]
  90. [/ action]
  91. [def __x3_semantic_actions__ Semantic Actions] [/ TODO Link Me]
  92. [/ char]
  93. [template x3_char[str] [/ link spirit_x3.reference.char.char] [str]]
  94. [template x3_char_class[str] [/ link spirit_x3.reference.char.char_class] [str]]
  95. [template x3_lit_char[char] [/ link spirit_x3.reference.char.char] [char]]
  96. [/ numerics]
  97. [template x3_signed_int[str] [/ link spirit_x3.reference.numeric.int] [str]]
  98. [template x3_unsigned_int[str] [/ link spirit_x3.reference.numeric.uint] [str]]
  99. [template x3_real_number[str] [/ link spirit_x3.reference.numeric.real] [str]]
  100. [template x3_boolean[str] [/ link spirit_x3.reference.numeric.boolean] [str]]
  101. [/ binary]
  102. [template x3_native_binary[str] [/ link spirit_x3.reference.binary.binary_native] [str]]
  103. [template x3_little_binary[str] [/ link spirit_x3.reference.binary.binary_little] [str]]
  104. [template x3_big_binary[str] [/ link spirit_x3.reference.binary.binary_big] [str]]
  105. [/ auxiliary]
  106. [def __x3_attr__ [/ link spirit_x3.reference.auxiliary.attr] `attr(attrib)`]
  107. [def __x3_eol__ [/ link spirit_x3.reference.auxiliary.eol] `eol`]
  108. [def __x3_eoi__ [/ link spirit_x3.reference.auxiliary.eoi] `eoi`]
  109. [def __x3_eps__ [/ link spirit_x3.reference.auxiliary.eps] `eps`]
  110. [def __x3_lazy__ [/ link spirit_x3.reference.auxiliary.lazy] `lazy`]
  111. [/ directives]
  112. [def __x3_lexeme__ [/ link spirit_x3.reference.directive.lexeme] `lexeme`]
  113. [def __x3_no_case__ [/ link spirit_x3.reference.directive.no_case] `no_case`]
  114. [def __x3_omit__ [/ link spirit_x3.reference.directive.omit] `omit`]
  115. [def __x3_matches__ [/ link spirit_x3.reference.directive.matches] `matches`]
  116. [def __x3_raw__ [/ link spirit_x3.reference.directive.raw] `raw`]
  117. [def __x3_expectd__ [/ link spirit_x3.reference.directive.expect] `expect`]
  118. [def __x3_repeat__ [/ link spirit_x3.reference.directive.repeat] `repeat`]
  119. [template x3_repeat[str] [[/ link spirit_x3.reference.directive.repeat] str]]
  120. [def __x3_skip__ [/ link spirit_x3.reference.directive.skip] `skip`]
  121. [template x3_no_skip[str] [[/ link spirit_x3.reference.directive.no_skip] str]]
  122. [def __x3_hold__ [/ link spirit_x3.reference.directive.hold] `hold`]
  123. [/ operator]
  124. [def __x3_alternative__ [/ link spirit_x3.reference.operator.alternative] Alternative]
  125. [def __x3_and_predicate__ [/ link spirit_x3.reference.operator.and_predicate] And Predicate]
  126. [def __x3_difference__ [/ link spirit_x3.reference.operator.difference] Difference]
  127. [def __x3_expect__ [/ link spirit_x3.reference.operator.expect] Expectation operator]
  128. [def __x3_expectation_failure__ [/ link spirit_x3.reference.operator.expect.expectation_failure] `expectation_failure`]
  129. [def __x3_kleene__ [/ link spirit_x3.reference.operator.kleene] Kleene]
  130. [def __x3_list__ [/ link spirit_x3.reference.operator.list] List]
  131. [def __x3_not_predicate__ [/ link spirit_x3.reference.operator.not_predicate] Not Predicate]
  132. [def __x3_optional__ [/ link spirit_x3.reference.operator.optional] Optional]
  133. [def __x3_plus__ [/ link spirit_x3.reference.operator.plus] Plus]
  134. [def __x3_sequence__ [/ link spirit_x3.reference.operator.sequence] Sequence]
  135. [def __x3_stream__ [/ link spirit_x3.reference.stream.stream] `stream`]
  136. [/ nonterminal]
  137. [def __x3_rule__ [/ link spirit_x3.reference.nonterminal.rule] rule]
  138. [def __x3_rules__ [/ link spirit_x3.reference.nonterminal.rule] rules]
  139. [def __x3_grammar__ [/ link spirit_x3.reference.nonterminal.grammar] grammar]
  140. [def __x3_grammars__ [/ link spirit_x3.reference.nonterminal.grammar] grammars]
  141. [/ stream]
  142. [template x3_match[str] [/ link spirit_x3.reference.parse_api.stream_api] str]
  143. [template x3_auto[str] [/ link spirit_x3.reference.auto] str]
  144. [def __create_parser__ [/ link spirit_x3.reference.parse_api.create_parser] `create_parser`]
  145. [def __parse_api__ [/ link spirit_x3.reference.parse_api] The Parse API]
  146. [/=============================================================================
  147. Better Links (March 7, 2018)
  148. =============================================================================/]
  149. [/ external ------------------------------------------------------------------]
  150. [def __boost__ [@http://www.boost.org/ Boost]]
  151. [def __spirit__ [@http://boost-spirit.com Spirit]]
  152. [def __spirit_list__ [@https://lists.sourceforge.net/lists/listinfo/spirit-general Spirit Mailing List]]
  153. [def __spirit_general__ [@news://news.gmane.org/gmane.comp.spirit.general Spirit General NNTP news portal]]
  154. [def __clang__ [@https://clang.llvm.org/ Clang]]
  155. [def __rd__ [@https://en.wikipedia.org/wiki/Recursive_descent_parser Recursive Descent]]
  156. [/ Sections ------------------------------------------------------------------]
  157. [/ Tutorials -----------------------------------------------------------------]
  158. [template tutorial_roman[str] [link spirit_x3.tutorials.roman [str]]]
  159. [template tutorial_employee[str] [link spirit_x3.tutorials.employee [str]]]
  160. [template tutorial_annotation[str] [link spirit_x3.tutorials.annotation [str]]]
  161. [template tutorial_error_handling[str] [link spirit_x3.tutorials.error_handling [str]]]
  162. [template tutorial_minimal[str] [link spirit_x3.tutorials.minimal [str]]]
  163. [/ support -------------------------------------------------------------------]
  164. [def __x3_error_handler__ [/ link fix.me] error_handler]
  165. [/=============================================================================
  166. Documentation Start
  167. =============================================================================/]
  168. This is the documentation of the newest version of __spirit__ (currently,
  169. __version__).
  170. [include preface.qbk]
  171. [include introduction.qbk]
  172. [include include.qbk]s
  173. [include abstracts.qbk]
  174. [section Tutorials]
  175. [include tutorial/tutorial_intro.qbk]
  176. [include tutorial/warming_up.qbk]
  177. [include tutorial/actions.qbk]
  178. [include tutorial/complex.qbk]
  179. [include tutorial/sum_tutorial.qbk]
  180. [include tutorial/num_list2.qbk]
  181. [include tutorial/num_list3.qbk]
  182. [include tutorial/num_list4.qbk]
  183. [include tutorial/roman.qbk]
  184. [include tutorial/employee.qbk]
  185. [include tutorial/minimal.qbk]
  186. [include tutorial/annotation.qbk]
  187. [include tutorial/rexpr.qbk]
  188. [include tutorial/error_handling.qbk]
  189. [endsect]
  190. [section Quick Reference]
  191. [include quick_reference.qbk]
  192. [endsect]
  193. [/ section Reference]
  194. [/ include concepts.qbk]
  195. [/ include basics.qbk]
  196. [/ include parse_api.qbk]
  197. [/ include action.qbk]
  198. [/ include auto.qbk]
  199. [/ include auxiliary.qbk]
  200. [/ include binary.qbk]
  201. [/ include char.qbk]
  202. [/ include directive.qbk]
  203. [/ include nonterminal.qbk]
  204. [/ include numeric.qbk]
  205. [/ include operator.qbk]
  206. [/ include stream.qbk]
  207. [/ include string.qbk]
  208. [/ endsect]
  209. [/ include x3.qbk]
  210. [/ include karma.qbk]
  211. [/ include lex.qbk]
  212. [/ include advanced.qbk]
  213. [/ include support.qbk]
  214. [/ include faq.qbk]
  215. [/ include notes.qbk]
  216. [/ include rationale.qbk]
  217. [/ include repository.qbk]
  218. [include changelog.qbk]
  219. [/ include acknowledgments.qbk]
  220. [/ include references.qbk]