Zach Laine
ffe3c522b5
Change the concepts for utf{8,32}_code_unit to be char/char8_t and
...
wchar_t/char32_t, respectively. Obvs, the wchar_t bit only applies to
non-MSVC.
2023-12-02 14:19:57 -06:00
Zach Laine
e9893e7979
C++17 Clang warning mitigation.
2023-11-25 17:25:18 -06:00
Zach Laine
2de63708cc
Update Boost.Text to 1ff99f926f.
2022-08-21 18:32:05 -05:00
Zach Laine
c437e98985
Fix int literal/long long literal confusion in parser_api.cpp tst.
2022-04-10 22:12:04 -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
895224b214
Convert from Boost.Hana to Hana lite, part 5: Make some small adjustments to
...
the tests to get them building when Hana is not used; disable building the
examples when Boost.Hana is not in use, so that they can keep using the much
nicer hana::tuple::operator[] instead of parser::get().
This completes the changes to make Hana optional.
2020-09-20 17:05:57 -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
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
5bed6f9776
Make dependency on Boost.Preprocessor optional.
2020-09-19 21:37:45 -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
b88e33cc88
Fix narrowing conversion error.
2020-09-10 00:15:42 -05:00
Zach Laine
d8a323a5fb
Fix VC2019 test failures.
2020-09-09 23:42:04 -05:00
Zach Laine
3ac30663b4
Add support for C++17.
2020-09-09 02:45:19 -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
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
322bb32b2b
Warning mitigation.
2020-09-06 14:44:49 -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
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
c8a0bab822
First draft of "The parse() API" section.
2020-09-03 00:56:59 -05:00
Zach Laine
852559ce67
static_assert inside the prase() overloads that take an attr out-param that
...
the parser generates an attribute.
Fixes #2 .
2020-09-01 01:24:12 -05:00
Zach Laine
12c4f61a6b
Add ill_formed.hpp.
2020-09-01 01:10:28 -05:00
Zach Laine
bf6c5c605f
Add a test of code-point matching when using UTF-8.
2020-08-30 00:31:30 -05:00
Zach Laine
950065b5d2
Range-parse overloads now indicated failure when the entire input is not
...
consumed.
2020-08-29 21:09:50 -05:00
Zach Laine
678f666785
Remove "skip_" from all parse function names, and reorder the parse API
...
functions for clarity. Also, drive-by cleanups in parser_{,api}.cpp.
2020-08-29 19:17:04 -05:00
Zach Laine
c2374adf12
Warning mitigation in test/.
2020-08-29 19:17:04 -05:00
Zach Laine
4b516b9047
Make parser::range a proper view (called "parser::view"), via
...
view_interface. Some drive-by grooming.
2020-08-28 19:09:58 -05:00
Zach Laine
46a2acd18d
Largish changes to get things going again after a long break:
...
- Update text and stl_interface files.
- Flesh out concepts constraints, using C++20 proper instead of cmcstl2.
Remove SFINAE constraints (though SFINAE may make a comback for C++17
support).
- Remove parser concept entirely. Matching parser_interface<...> should
suffice.
- Add CXX_STD to CMake files, a la text and stl_interfaces.
2020-08-28 19:09:45 -05:00
Zach Laine
03e01b9810
Add an API test for the parser API, using the new standalone CMake parser
...
library; fix errors.
2019-11-27 22:28:56 -06:00