2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-26 06:42:25 +00:00

1077 Commits

Author SHA1 Message Date
Zach Laine
9d1a6aeeb3 Extend all_t test to test arrays; fix errors. 2024-01-28 14:03:02 -06:00
Zach Laine
33edb6c4e8 Add all_t, and use it in non-concepts builds.
Fixes #85.
2024-01-28 02:07:07 -06:00
Zach Laine
de74eecabe Fix broken macro guard on replace join_compat test. 2024-01-28 02:01:47 -06:00
Zach Laine
91b2a36b37 Add replace.hpp to unified-header build. 2024-01-28 01:17:26 -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
Zach Laine
ac84ed63b6 Cruft removal. 2024-01-27 20:36:00 -06:00
Zach Laine
fc6a643a99 Add a real no-format enumerator to text::format. 2024-01-27 20:35:56 -06:00
Andrzej Krzemieński
9fead755ca docs: typo in __no_case 2024-01-27 12:34:06 -06:00
Zach Laine
c328a18121 Add a Doxygen comment description for replace_view. 2024-01-22 21:51:23 -06:00
Zach Laine
3549ad64a8 Disable replace/replace_view entirely in MSVC C++17 builds. 2024-01-23 03:36:38 -06:00
Zach Laine
275874f3c6 Fix misplaced #endif. 2024-01-23 03:08:34 -06:00
Zach Laine
319b39a67b Fix MSVC build. 2024-01-23 02:44:30 -06:00
Zach Laine
edebfc3f57 Fix tests in C++20 mode on older GCCs. 2024-01-22 19:39:55 -06:00
Zach Laine
385a6a4ca6 Fix C++20 builds on older GCCs. 2024-01-22 19:28:48 -06:00
Zach Laine
4ce4d8ba0e Fix typo in stl_interfaces::adaptor (f/f_ confusion). 2024-01-22 01:35:26 -06:00
Zach Laine
a68d4f61b2 Add replace_view and range adaptor replace. 2024-01-22 01:11:17 -06:00
Zach Laine
d1309560df Add detail::maybe_const, and use it properly in search_all_view and
split_view.
2024-01-21 15:40:51 -06:00
Zach Laine
bbb1cba804 Fix the broken support for operating on C-style strings in search{(),_all} and
split.
2024-01-21 15:31:31 -06:00
Zach Laine
a6db478691 Add is_range_like trait to stand in for the new concept in C++17 code. 2024-01-21 15:31:31 -06:00
Zach Laine
9bd38a51f6 Concept parsable_code_unit -> code_unit; add range_like concept. 2024-01-21 15:31:31 -06:00
Zach Laine
8df56b083d Bring in fix for dangling temporaries from Boost.STLInterfaces. 2024-01-21 15:31:31 -06:00
Zach Laine
37e56dd241 Update deploy_unified_header.yml to include search.hpp and split.hpp.
Partially addresses #64.
2024-01-20 03:42:46 -06:00
Zach Laine
1aa95127f0 Only enable the previous fix in post-C++17 builds. Sigh. 2024-01-20 03:36:44 -06:00
Zach Laine
eb68bacfbb Fix improperly macro-disabled enable_borrowed_range specializations, to fix
MSVC builds.
2024-01-20 09:28:44 -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
5adef16a4d Add split_view + split range adaptor. split produces a range of subranges,
each of which is a nonoveralpping match of the given parser.

Fixes #64.
2024-01-19 21:19:53 -06:00
Zach Laine
aa76e9f85e Add search() algorithm, and search_all_view + search_all range adaptor.
search() finds the first occurrence of a match of the given parser.
search_all produces a range of subranges, each of which is a nonoveralpping
match of the given parser.

Partially addresses #64.
2024-01-19 21:19:53 -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
62002e886a Add support for parsing into an arbitrary class type T, as long as the default
attribute we're parsing is a tuple whose elements can be used to construct T.
Needs docs.

Fixes #49.
2024-01-19 01:00:39 -06:00
Zach Laine
ee00c0393a Put the default behaviors at the first of the constexpr if chains in
detail::{assign,move_back}().
2024-01-19 01:00:39 -06:00
Zach Laine
a7384b82ad Fix non-advancing iterator error in seq_parser, ue to first/first_ name
confusion(!).
2024-01-19 01:00:38 -06:00
Zach Laine
338a519bd6 In deploy_unified_header.yml, only commit and push if the generated file
indicates diffs.
2024-01-18 01:12:01 -06:00
Zach Laine
7f4e8ed904 Add a note to the README about the unified header and Compiler Explorer.
Fixes #70.
2024-01-18 00:59:23 -06:00
Zach Laine
f1c77a05cd Change the way deploy_unified_header.yml generates a unified header to make
well-formed code.
2024-01-18 00:55:35 -06:00
Zach Laine
a0d18feedc Add git push to deploy_unified_header.yml. 2024-01-18 00:26:33 -06:00
Zach Laine
22bf642024 Add git config user and email to deploy_unified_header.yml. 2024-01-18 00:23:35 -06:00
Zach Laine
33d0e2aef8 Add another missing $ to deploy_unified_header.yml. 2024-01-18 00:18:29 -06:00
Zach Laine
cfbabba598 Add a git fetch to the Deploy step of deploy_unified_header.yml. 2024-01-18 00:16:59 -06:00
Zach Laine
7e2bfb691c Use continue-on-error: true in the build step of deploy_unified_header.yml. 2024-01-18 00:11:41 -06:00
Zach Laine
a64d58aaff Fix missing $ in Github action. 2024-01-18 00:07:03 -06:00
Zach Laine
2b30e172e4 Add deploy_unified_header.yml. Fingers crossed. 2024-01-18 00:03:48 -06:00
Zach Laine
355d443650 Fix logic in trace_input_impl<Iter, Sentinel, 1> specialization, to account
for the case that Iter is utf_iterator<utf8, utf8, ...>.
2024-01-17 01:10:33 -06:00
Zach Laine
0d6f164964 std::is_array_v -> text::detail::is_bounded_array_v in
detail::make_input_subrange().
2024-01-17 00:07:36 -06:00
Zach Laine
471269a374 Define BOOST_PARSER_SUBRANGE, and use it consistently. subrange.hpp is now
only included in C++17 builds.

Fixes #69.
2024-01-17 00:02:28 -06:00