2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-28 07:22:29 +00:00
Commit Graph

235 Commits

Author SHA1 Message Date
Zach Laine
8e91ee5145 Fix call ambiguity claimed by GCC in C++20 mode. 2022-04-08 17:45:36 -05:00
Zach Laine
c7ab7ea845 Add sketch of string_view[] directive. 2022-04-08 09:58:05 -05:00
Zach Laine
93a51860e3 Doc copy edits. 2022-04-07 00:10:38 -05:00
Zach Laine
25b99b53cd Change the CMake build mode when BUILD_WITHOUT_BOOST is defined not to find
nor include Boost at all.  Fix several problems that this brought out.
2020-09-20 17:32:23 -05:00
Zach Laine
8af6138021 Convert from Boost.Hana to Hana lite, part 4: Remove all the remaining direct
uses of Boost.Hana, including the hana namespace algorithms.
2020-09-20 16:58:27 -05:00
Zach Laine
7f45618fe1 Convert from Boost.Hana to Hana lite, part 3: Replace numerous compile-time
constants, and make other small changes that leave only use of the big Hana
algorithms behind.
2020-09-20 16:58:21 -05:00
Zach Laine
71c697d23d Convert from Boost.Hana to Hana lite, part 2: introduce a template aliases for
constants like llong; provide a tuple accessor get(); use these throughout the
code.

Also, adapt the code in detail/hl.hpp to work with hana::tuple and std::tuple.
2020-09-20 16:05:52 -05:00
Zach Laine
c1205a419d Convert from Boost.Hana to Hana lite, part 1: introduce a template alias for
tuple, and use it throughout the code.
2020-09-20 14:07:49 -05:00
Zach Laine
df8d20838e Create Boost.Hana lite. 2020-09-20 12:46:01 -05:00
Zach Laine
4b415e0856 Cruft removal. 2020-09-20 03:23:46 -05:00
Zach Laine
969de5c23d Move all the text and stl_interface internal header code into
boost::parser::detail namespace.
2020-09-20 03:23:23 -05:00
Zach Laine
f173196885 Fully internalize Boost.STLInterfacecs headers. 2020-09-20 03:23:23 -05:00
Zach Laine
111efe1eb3 Fully internalize Boost.Text headers. 2020-09-20 03:23:23 -05:00
Zach Laine
c288298713 Remove dependencies on Boost.Optional, Boost.Algorithm, and
Boost.ThrowException.
2020-09-19 22:10:35 -05:00
Zach Laine
5bed6f9776 Make dependency on Boost.Preprocessor optional. 2020-09-19 21:37:45 -05:00
Zach Laine
675fcd2309 Make dependency on Boost.TypeIndex optional. 2020-09-19 21:12:24 -05:00
Zach Laine
113270d6f6 Remove dependency on Boost.Any. 2020-09-19 20:43:12 -05:00
Zach Laine
1ed37641e9 Remove dependency on the Spirit headers, via extensive copy/pasta. 2020-09-19 19:55:52 -05:00
Zach Laine
c3db92bdb1 Fix VC2017 compilation failures. 2020-09-10 00:02:29 -05:00
Zach Laine
435ac5adf4 Fix a handfull of compilation failures when building on MSVC. 2020-09-09 23:01:49 -05:00
Zach Laine
3ac30663b4 Add support for C++17. 2020-09-09 02:45:19 -05:00
Zach Laine
701566d6b0 Grooming. 2020-09-09 02:45:19 -05:00
Zach Laine
0f8eedbd7f Constrain iterator and/or sentinel template parameters in make_view(),
report_error(), and _report_warning().
2020-09-09 02:45:17 -05:00
Zach Laine
3fe8116714 Remove TODO. 2020-09-09 02:45:17 -05:00
Zach Laine
62149efddf Constrain view's iterator type to be a forward-iterator. 2020-09-09 02:45:17 -05:00
Zach Laine
32ebd38270 Exercise the sentinel code path for every parser; fix errors.
Fixes #3.
2020-09-09 02:45:17 -05:00
Zach Laine
f23c864976 Fix detail::make_input_view()'s handling of pointers-as-ranges. 2020-09-09 02:45:17 -05:00
Zach Laine
19d441743a Fix the constraints on {callback_,}parse() when called with a pointer to a
null-terminated string.
2020-09-09 02:45:15 -05:00
Zach Laine
4e803101ca Enforce that skip_directive::oeprator()() takes a parser_interface, and add
comments in a couple of plaes to indicate to users why their code is
ill-formed.

Fixes #8 (to the greatest extent possible, which isn't much).
2020-09-09 02:45:10 -05:00
Zach Laine
fb9c4736ff Regularize the features of {stream,callback}_error_handler by giving
stream_error_handler an optional second stream.
2020-09-07 22:27:40 -05:00
Zach Laine
dcbb0fd932 Don't even generate the name of parsers in the no-trace case. 2020-09-07 22:27:40 -05:00
Zach Laine
edf4b0ebff Fix broken line quoting in write_formatted_message(). 2020-09-07 22:27:40 -05:00
Zach Laine
27fa5b853a Fix callback parsing in the case where the top-level rul is not a callback
parser, one or more but subrules are.
2020-09-07 20:44:54 -05:00
Zach Laine
48ceef1b5d Correct comment. 2020-09-07 20:44:54 -05:00
Zach Laine
3a7e501dba Ensure that rule.with() takes at least one argument. 2020-09-07 20:44:54 -05:00
Zach Laine
ea6a5da09d Collapse the two partial specializations of rule_parser into a single
definition.
2020-09-06 21:56:22 -05:00
Zach Laine
4decca1023 Cruft removal. 2020-09-06 21:40:58 -05:00
Zach Laine
f391c40898 Clarify comment. 2020-09-06 21:35:32 -05:00
Zach Laine
71dddaf844 Make an unconditional eps in a repeat parser an error.
Fixes #10.
2020-09-06 15:08:53 -05:00
Zach Laine
312c71c776 Cruft removal. 2020-09-06 14:48:01 -05:00
Zach Laine
322bb32b2b Warning mitigation. 2020-09-06 14:44:49 -05:00
Zach Laine
af39bd8beb ADL audit.
Fixes #12.
2020-09-06 02:58:23 -05:00
Zach Laine
0b6d631e85 Grooming. 2020-09-06 01:54:17 -05:00
Zach Laine
f843b6aeb2 foo<>::value -> foo_v 2020-09-06 01:54:17 -05:00
Zach Laine
3d23c9d1d7 Use newly-added detail::is_nope_v throughout the implementation. 2020-09-06 01:54:17 -05:00
Zach Laine
673fa56bc6 Remove hana::map as the implementation strategy for the parse context. Use a
plain ol' struct instead.

Fixes #13.
2020-09-06 01:54:17 -05:00
Zach Laine
68e2c6daf8 Change detail::callback_skip_parse_impl() not to turn off the use of
callbacks.

Fixes #6.
2020-09-05 17:18:17 -05:00
Zach Laine
f616d38642 Drop support for hna::map as a calblacks parameter to parse(), and change the
passing of tags to callbacks from hana::type<tag> to just tag.

Fixes #5.
2020-09-05 17:09:13 -05:00
Zach Laine
c6ae723be3 Move the UDLs to the end of parser.hpp. 2020-09-05 17:08:32 -05:00
Zach Laine
b23d2e5f6c Add a definition of none ("struct none{};"), even when
BOOST_PARSER_NO_RUNTIME_ASSERTIONS is defined.  Otherwise, even code that uses
none properly becomes ill-formed.
2020-09-05 13:45:03 -05:00