Zach Laine
3487211426
Use a more compelling example in the example code for replace().
...
Fixes #96 .
2024-02-19 21:50:36 -06:00
Zach Laine
c12c512a94
Call out the constraint on the ReplacementV template parameter to replace().
...
Partially addresses #97 .
2024-02-19 21:33:52 -06:00
Zach Laine
4287c9b7b3
Fix transform_replace* in C++20 mode on GCC < 12.
2024-02-11 18:56:59 -06:00
Zach Laine
b6b77bac3c
Explain more fully in More about Rules that you need to write a semantic
...
action sometimes for a rule, and under what cirumstances you do.
Fixes #93 .
2024-02-11 16:46:47 -06:00
Zach Laine
f326cd9d23
Add a note about using "| join" to the transform_replace docs.
2024-02-11 16:10:00 -06:00
Zach Laine
ab20bdd87f
Add note about how to write a lambda directly in a semantic action. Modify
...
the claim that directives can be spotted by looking for "[]", by mentioning
the exception of semantic actions.
Partially addresses #93 .
2024-02-11 16:08:32 -06:00
Zach Laine
2f8270809c
Disable transform_replace* for GCC < 12 in C++20 mode.
2024-02-11 00:24:39 -06:00
Zach Laine
d0208fb12c
Add transform_replace range adaptor and transform_replace_view.
2024-02-10 18:42:18 -06:00
Zach Laine
bb3f66db5f
Document The incompatibility of tuple->aggregate conversions with assignment
...
to variants.
Fixes #91 .
2024-02-04 16:16:47 -06:00
Zach Laine
09322b8eb6
Add more information about problematic alternative parsers.
...
Fixes #92 .
2024-02-04 16:16:47 -06:00
Zach Laine
ae0448e321
Restore enable_variant, to fix errors in printing of the badly-broken
...
boost::variant.
Fixes #88 .
2024-02-04 16:16:47 -06:00
Zach Laine
47061a8716
Remove some stray references to the now-removed ascii:: namespace parsers.
2024-01-31 20:31:35 -06:00
Zach Laine
4b59719e44
Add Unicode versions of most of the ascii namespace parsers; remove the ascii
...
namespace.
2024-01-29 23:36:03 -06:00
Zach Laine
68c33a0181
Address TODO about non-obviously ill-formed code using merge[].
2024-01-28 20:54:28 -06:00
Zach Laine
b58b3a0779
Address TODO about documenting the unavailability of replace{,_view} on MSVC
...
in C++17 mode.
2024-01-28 20:54:24 -06:00
Zach Laine
5b7889df61
Address a TODO about documenting part of the loose attribute match behavior.
2024-01-28 20:54:22 -06:00
Zach Laine
935165b798
Explain more fully why error messages are only generated at failed expectation
...
points.
Fixes #80 .
2024-01-28 20:54:16 -06:00
Zach Laine
ab4d708c30
Set the out-param to Attr() on parse failure (for the overloads taking an
...
out-param), making alls to parse() consistent with calls to parsers. Parsers
clear the attribute on failure. Add a section to rationale on why this is the
right choice.
Fixes #78 .
2024-01-28 01:17:17 -06:00
Zach Laine
e7efe90a03
In detail::assign, static_assert that the assignment is not arithmetic-type ->
...
std::string.
Fixes #76 .
2024-01-28 01:17:06 -06:00
Zach Laine
4380d278aa
Make it clearer, in both sections about rules, that not providing an attribute
...
template paramter implies that the rule has no attribute.
Fixes #75 .
2024-01-28 01:16:59 -06:00
Andrzej Krzemieński
9fead755ca
docs: typo in __no_case
2024-01-27 12:34:06 -06:00
Zach Laine
a68d4f61b2
Add replace_view and range adaptor replace.
2024-01-22 01:11:17 -06:00
Zach Laine
a68c1d3187
Add documentation section on algorithms views and view adaptors, to document
...
search(), search_all, and split.
Partially addresses #64 .
2024-01-20 03:11:43 -06:00
Zach Laine
52e8b187e8
Document BOOST_PARSER_SUBRANGE in Configuration and Optional Features.
...
Fixes #73 .
2024-01-19 21:17:25 -06:00
Zach Laine
591ac9921b
Remove BOOST_PARSER_DEFINE_RULE now that BOOST_PARSER_DEFINE_RULES is always
...
available.
Partially addresses #71 .
2024-01-19 21:06:33 -06:00
Zach Laine
ce7804a003
Refer to the text asociated with a rule as diagnostic text rather than a name,
...
in the code and the docs.
Fixes #72 .
2024-01-19 20:54:58 -06:00
Zach Laine
4c3e0a7448
Add another reason for using rules -- callback parsing.
2024-01-19 20:54:51 -06:00
Zach Laine
ffdc3f967b
Add docs for the new automatic subitutability of non-aggregate class types for
...
tuples.
Partially addresses #49 .
2024-01-19 20:15:07 -06:00
Zach Laine
c2ba50de51
Add a note to the beginning of Attribute Generation about the assumption that
...
attribute types are semiregular.
Fixes #65 .
2024-01-15 16:46:58 -06:00
Zach Laine
d28ac53d9f
Fix "next section" that moved in the docs, by naming the exact section.
...
Thanks, Andrzej!
2024-01-15 16:37:43 -06:00
Zach Laine
92c16cbfae
Add section about writing your own parsers.
...
Fixes #58 .
2024-01-15 16:19:39 -06:00
Zach Laine
d59e0528b2
Consolidate documentation on eror handlers into the Error Handling and
...
Debugging section, and add an example of how to write your own error handler.
Fixes #43 .
2024-01-15 02:28:50 -06:00
Zach Laine
9187bf851e
Add section on raw[] and string_view[] to docs.
...
Fixes #59 .
2024-01-14 20:57:43 -06:00
Zach Laine
36ef6d1ae7
Add missing mention of merge[] and separate[] to the Directives section of the tutorial.
2024-01-14 20:57:43 -06:00
Zach Laine
62f47c73c8
Add section to rationale on why the attribute compatability rules are stricter than in Spirit.
...
Fixes #61 .
2024-01-14 16:18:19 -06:00
Zach Laine
8a9a851acb
Restore an example of how loose attribute rules are looser at the top-level parse than within the middle of the parse.
...
Partially addresses #61 .
2024-01-14 16:18:19 -06:00
Zach Laine
92be502e79
Copy editing.
2024-01-14 16:18:19 -06:00
Zach Laine
fe06d6b477
Doc thinko.
2024-01-14 16:18:19 -06:00
Zach Laine
1715433a4e
Explain that or_parser deduplicated the template parameters of its std::variant attributes.
...
Fixes #62 .
2024-01-14 16:18:19 -06:00
Zach Laine
d17268dec7
Add section about merge[] and separate[] to the docs.
...
Partially addresses #55 .
2024-01-14 02:45:05 -06:00
Zach Laine
6fc7eefb67
Add a Rationale section on the special treatment of sequences of characters.
2024-01-14 02:45:05 -06:00
Zach Laine
3e7812ebe5
Simplify detail::is_variant and remove enable_variant. Turns out
...
detail::is_variant_v is not actually used, except in one place in the printing
code, and it's not even essential there.
2024-01-12 21:45:39 -06:00
Zach Laine
c8ce2cace5
Add a special seq_parser combining rule that makes a std::string ot of two
...
adjacent char/char32_t values.
Partially addresses #55 .
2024-01-11 19:24:43 -06:00
Zach Laine
b6ffe5fbe3
Change detail::sequence_of and detail::container_and_value_type so that they
...
generate std::strings from repeated char32_ts and combine char32_ts with
adjacent strings. Update docs accordingly.
Partially addresses #55 .
2024-01-10 22:17:53 -06:00
Zach Laine
a8dc1f4cb8
Flesh out the More About Rules page.
...
Fixes #39 .
2024-01-09 23:06:18 -06:00
Zach Laine
cb5a5da717
In Rule Parsers, explain that the generated overloads of parse_rule() are not
...
something the user ever needs to use, and but a link to the more detailed
section on Rules at the end of the section.
Partially addresses #39 .
2024-01-09 23:06:16 -06:00
Zach Laine
98daf46a5e
Add more explanatory text to Parsing In Detail.
...
Partially addresses #41 .
2024-01-08 18:14:32 -06:00
Zach Laine
1bb76b13bd
Add a description of operator> to the Backtracking section.
...
Fixes #42 .
2024-01-07 22:54:00 -06:00
Zach Laine
43d65d3e4a
Add new doc sections Parsing in Detail and Backtracking that describe those
...
semantics, and how parsers are represented in code.
Fixes #41 .
Fixes #35 .
2024-01-07 22:32:27 -06:00
Zach Laine
660d90dba1
Document requirements on external optional and variant types.
2024-01-07 22:32:22 -06:00