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

783 Commits

Author SHA1 Message Date
Zach Laine
20b017c965 Generated by Github action on push to master. 2024-01-18 06:56:05 +00:00
Zach Laine
c4d9e4fbcd Generated by Github action on push to master. 2024-01-18 06:27:48 +00:00
Zach Laine
c68897b9e6 Replace all the headers with a generated, unified header. 2024-01-17 23:52:18 -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
Zach Laine
613bf0583a Cruft removal. 2024-01-16 23:39:04 -06:00
Zach Laine
1fd49842f0 In lexeme_parser, skip_parser, and expect_parser, don't adjust flags in the
overload of call() that just forwards to the other overload; let that other
overload do it.
2024-01-16 23:17:10 -06:00
Zach Laine
4b2c9bcf14 Fix the unconditional generation of attributes by raw_parser and
string_view_parser.  They now do so only when the enclosing context has
attribute generation enabled, and when their subparser succeeds.
2024-01-16 23:15:02 -06:00
Zach Laine
cced72dbcd std::{begin,end} -> detail::text::detail::{begin,end} 2024-01-15 23:09:00 -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
2054eab1bd Disable string_view[] code in parser.cpp in pre-C++20 builds. 2024-01-15 00:51:00 -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
7103755e59 Comment out test code that exercises spooky behavior on MSVC. 2024-01-15 02:55:30 -06:00
Zach Laine
53e0f7c769 Fix misplaced #endif that broke most of our builds. 2024-01-14 20:15:31 -06:00
Zach Laine
d17db09303 Use the warning-provocation technique from boost/mpl/print.hpp to cause the
types to be printed in some places after a static_assert failure.

Partially addresses #56.
2024-01-14 18:32:35 -06:00
Zach Laine
b055b21f1f Address TODO about string_view_parser needing tests. 2024-01-14 17:41:38 -06:00
Zach Laine
bf06cfc57a Fix string_view_parser, broken by the most recent boost::text import. 2024-01-14 16:47:50 -06:00
Zach Laine
a956cd962e Comments on static_asserts to text in the static_asserts instead. 2024-01-14 16:43:58 -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
02447e92a2 Remove template head from lambda, and just use auto param instead, to mollify
MSVC.
2024-01-14 04:54:32 -06:00
Zach Laine
93d3708010 Disable optional check on older GCCs. 2024-01-13 21:30:35 -06:00
Zach Laine
16cd1894e2 Work around GCC12 bug involving the use of declval. 2024-01-13 21:26:49 -06:00
Zach Laine
6a2a1229a4 GCC9 warning mitigation. 2024-01-13 21:16:24 -06:00
Zach Laine
1566dffe1f Fix GCC and Clang builds. 2024-01-13 21:11:43 -06:00
Zach Laine
251dcc9436 Implement the merge[] and separate[] directives that control attribute
generation.  Needs docs.

Fixes #55.
2024-01-13 20:57:01 -06:00
Zach Laine
e6a9763b86 Cruft removal. 2024-01-13 14:15:49 -06:00
Zach Laine
cf9545fa7c Remove mooted TODOs. 2024-01-12 22:35:04 -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
69e4f47bff Work around the busted-ass static_asserting op<< in boost::optional by
recognizing all enabled optionals, and printing them the same as we do
std::optional.  Applied the same logic to variants too, for consistency.
2024-01-12 21:45:39 -06:00
Zach Laine
03c7cc6bbb Fix broken enable_variant decls in tuple_aggregate test. 2024-01-12 21:45:39 -06:00
Zach Laine
c2dd86cc68 Remove generated parser tests (cruft). 2024-01-11 23:18:17 -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
257dcd36aa Add a static_assert in seq_parser that indicates the most likely source of
compilation failure there -- attribute incompatibility.

Partially addresses #56.
2024-01-08 18:31:54 -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