2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-23 05:42:26 +00:00
Commit Graph

135 Commits

Author SHA1 Message Date
Zach Laine
824a208133 Add a permutation parser.
Fixes #159.
2024-03-10 17:31:50 -05:00
Zach Laine
262c19e441 Explain how seq_parser combining logic interacts with directives.
Fixes #161.
2024-03-09 20:54:10 -06:00
Zach Laine
a19af1b5ce Expanded the text and examples, plus provided cross-references to more
extended examples, in The Parse Context.

Fixes #145.
2024-03-08 21:19:37 -06:00
Zach Laine
4c0377a5ae Explicitly state that null-terminated string pointers are accepted by
*parse(), in the list of properties common to all the overloads.
2024-03-08 21:19:37 -06:00
Zach Laine
1e011a1fac Add transform(f)[p] attribute-transforming directive.
Fixes #153.
2024-03-08 21:19:37 -06:00
Zach Laine
a07efbbd72 Add note to Memory Allocations that the symbol tables are implemented using a
trie, and that those have lots of allocated nodes.
2024-03-08 21:19:37 -06:00
Zach Laine
5dc826c89d Explicitly state in the Semantic Actions page of the tutorial that attaching a
semantic action nullifies the attribute type.

Fixes #148.
2024-03-08 21:19:37 -06:00
Zach Laine
374cad3c35 Get specific about what RESOLVE() means, and link usage of it to the place
where it is defined.

Fixes #144.
2024-03-08 21:19:37 -06:00
Zach Laine
b7f6cd8dbf Add a section about when to use auto-generated attributes vs. using semantic
actions.

Fixes #110.
2024-03-08 21:19:36 -06:00
Zach Laine
aea0ff8dab Removed the very small example of how to use rules with a much longer one
based on a real section of YAML.

Fixes #104.
2024-03-08 21:19:36 -06:00
Zach Laine
4235706764 Move DoCallbacks NTTP for all the parsers' call() members to the context as a
simplification.
2024-03-08 21:19:36 -06:00
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
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
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
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
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
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
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