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
f55d3779de
Define BOOST_PARSER_USE_CONCEPTS to be 1 when running Doxygen. This gets
...
concepts constraints on template parameters to show up. Also explicitly state
requirements in the Doxygen strings for anything that adds constraints via
requires clauses, since those do not show up in Doxygen.
Fixes #109 .
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
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