2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-19 04:22:13 +00:00

215 Commits

Author SHA1 Message Date
Zach Laine
0a945decb6 Add a small section to the end of the Unidoce Support page indicating that
Parser is normalization-agnostic.
2024-03-08 21:19:36 -06:00
Zach Laine
3e047101f6 Doc copy editing.
Fixes #135.
Fixes #136.
Fixes #137.
Fixes #138.
Fixes #139.
Fixes #142.
2024-03-08 21:19:36 -06:00
Zach Laine
40b495ae5d Add a note about which header includes the as_utfN adaptors to "Explicit
transcoding".

Fixes #119.
2024-03-08 21:19:36 -06:00
Zach Laine
42f66d9079 Use some of the examples and wording from the part of the intro where I talk
about X3 rules in the More About Rules section.

Fixes #117.
2024-03-08 21:19:36 -06:00
Zach Laine
9ebc984ff8 Add a type trait, "attribute", and associated alias attribute_t, that provide
the attribute type for a parser Parser used to parse range R.

Fixes #111.
2024-03-08 21:19:36 -06:00
Zach Laine
ed6e1b4a2c Create a Cheat Sheet page in the docs, right before the tutorial. This
contains all the tables from elsewhere in the docs, gathered in one spot.

Fixes #108.
2024-03-08 21:19:36 -06:00
Zach Laine
125ddf43c2 Change the way action_parser calls invocables, to make it easier to write
those invocables.

Fixes #106.
2024-03-08 21:19:36 -06:00
Zach Laine
db79d00848 Remove the empty concepts.hpp file from the doc build, due to the way that
Doxygen+Quickbook seems not to handle concepts.

Fixes #102.
2024-03-08 21:19:36 -06:00
Zach Laine
eda6238180 Be more explicit in the reference nad tutorial descriptions of
BOOST_PARSER_DEFINE_RULES about what exactly it does and how to use it.

Fixes #101.
2024-03-08 21:19:36 -06:00
Zach Laine
edff0b29da Fix broken Quickbook link to "Expectation points" section.
Fixes #112.
2024-03-08 21:19:29 -06:00
Zach Laine
f3b5bcdd97 Expand explanation in Intro about why Parser is preferable to X3.
Fixes #114.
2024-03-08 21:19:29 -06:00
Zach Laine
ca1ad064ff Use a more compelling example in the example code for replace().
Fixes #96.
2024-03-01 22:25:47 -06:00
Zach Laine
0ea1516b6e Call out the constraint on the ReplacementV template parameter to replace().
Partially addresses #97.
2024-03-01 22:25:47 -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