2 / Copyright (c) 2008 Eric Niebler
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)
8 [library Boost.Xpressive
10 [authors [Niebler, Eric]]
11 [copyright 2007 Eric Niebler]
12 [category string-text]
16 Regular expressions that can be written as strings or as expression templates,
17 and that can refer to each other and themselves recursively with the power of
18 context-free grammars.
21 Distributed under the Boost Software License, Version 1.0.
22 (See accompanying file LICENSE_1_0.txt or copy at
23 [@http://www.boost.org/LICENSE_1_0.txt])
27 [/ QuickBook Document version 1.3 ]
31 [def __note__ [$images/note.png]]
32 [def __alert__ [$images/caution.png]]
33 [def __detail__ [$images/note.png]]
34 [def __tip__ [$images/tip.png]]
38 [def _spirit_fx_ [@http://spirit.sourceforge.net Spirit Parser Framework]]
39 [def _spirit_ [@http://spirit.sourceforge.net Spirit]]
40 [def _regexpp_ [@../../libs/regex Boost.Regex]]
41 [def _proposal_ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1429.htm proposal]]
42 [def _boost_ [@http://www.boost.org Boost]]
43 [def _greta_ [@http://research.microsoft.com/projects/greta GRETA]]
44 [def _perl6_ [@http://www.perl.com/pub/a/2002/06/04/apo5.html Perl 6]]
45 [def _iterator_ [@../../libs/iterator/doc/index.html Boost.Iterator]]
46 [def _basic_regex_ [^[classref boost::xpressive::basic_regex basic_regex<>]]]
47 [def _match_results_ [^[classref boost::xpressive::match_results match_results<>]]]
48 [def _sub_match_ [^[classref boost::xpressive::sub_match sub_match<>]]]
49 [def _regex_compiler_ [^[classref boost::xpressive::regex_compiler regex_compiler<>]]]
50 [def _regex_iterator_ [^[classref boost::xpressive::regex_iterator regex_iterator<>]]]
51 [def _regex_token_iterator_ [^[classref boost::xpressive::regex_token_iterator regex_token_iterator<>]]]
52 [def _mark_tag_ [^[classref boost::xpressive::mark_tag mark_tag]]]
53 [def _regex_match_ [^[funcref boost::xpressive::regex_match regex_match()]]]
54 [def _regex_search_ [^[funcref boost::xpressive::regex_search regex_search()]]]
55 [def _regex_replace_ [^[funcref boost::xpressive::regex_replace regex_replace()]]]
56 [def _syntax_option_type_ [^[enumref boost::xpressive::regex_constants::syntax_option_type syntax_option_type]]]
57 [def _match_flag_type_ [^[enumref boost::xpressive::regex_constants::match_flag_type match_flag_type]]]
58 [def _error_type_ [^[enumref boost::xpressive::regex_constants::error_type error_type]]]
59 [def _regex_compile_ [^[memberref boost::xpressive::basic_regex::compile basic_regex<>::compile()]]]
60 [def _check_ [^[funcref boost::xpressive::check check()]]]
64 [section User's Guide]
66 This section describes how to use xpressive to accomplish text manipulation and
67 parsing tasks. If you are looking for detailed information regarding specific
68 components in xpressive, check the [link xpressive.reference Reference] section.
70 [include introduction.qbk]
72 [include installation.qbk]
74 [include quick_start.qbk]
76 [section Creating a Regex Object]
78 When using xpressive, the first thing you'll do is create a _basic_regex_ object. This section goes
79 over the nuts and bolts of building a regular expression in the two dialects xpressive supports: static
82 [include static_regexes.qbk]
84 [include dynamic_regexes.qbk]
88 [include matching.qbk]
92 [include substitutions.qbk]
94 [include tokenization.qbk]
96 [include named_captures.qbk]
98 [include grammars.qbk]
100 [include actions.qbk]
102 [include symbols.qbk]
106 [include tips_n_tricks.qbk]
108 [include concepts.qbk]
110 [include examples.qbk]
114 [xinclude autodoc.xml]
116 [include acknowledgements.qbk]
120 [include history.qbk]
124 [include regexpp_diffs.qbk]
128 [section Appendix 5: Implementation Notes]
130 [include tracking_ptr.qbk]