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

311 Commits

Author SHA1 Message Date
Zach Laine
df8aaafc87 Move nope into detail, and add a user-facing replacement "none" with semantics
more appropriate for users.
2020-08-30 15:29:26 -05:00
Zach Laine
f8191db3f5 Remove a nonsensical TODO. 2020-08-30 11:41:40 -05:00
Zach Laine
e496cbb3a9 Accomodate printing of char8_t input strings to streams. 2020-08-30 00:31:30 -05:00
Zach Laine
b43e7a354c Move a TODO within parser.hpp. 2020-08-30 00:31:30 -05:00
Zach Laine
d592a38f1f Remove addressed TODO. 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
532b138c77 std::mismatch -> detail::mismatch for sentinel support. 2020-08-29 19:17:04 -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
7020a9a7b3 Move parser_interface Doxygen doc to parser_fwd.hpp. 2020-08-29 19:17:04 -05:00
Zach Laine
9d72b3d1fc Silence very verbose warnings about std::is_pod being deprecated, coming from
Boost.Hana.
2020-08-29 19:17:04 -05:00
Zach Laine
7e32012482 Regularize {int,float}_parser. They were returning incorrect success results
when no input was consumed, and float_parser was never setting the success
value.
2020-08-29 19:17:04 -05:00
Zach Laine
2e8861256d detail::make_input_range -> detail::make_input_view 2020-08-29 19:17:04 -05:00
Zach Laine
7b98b97615 R range -> R r 2020-08-29 19:17:04 -05:00
Zach Laine
da631afac4 Update the Spirit X3 code to Boost 1.71. 2020-08-28 20:43:51 -05:00
Zach Laine
f96b6bb0ad Trim all the YAML and JSON stuff, leaving only the parsing library. 2020-08-28 19:10:00 -05:00
Zach Laine
98c1426695 Amplify the nope Doxygen docs. 2020-08-28 19:10:00 -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
96f78ef743 Doxygen doc copy editing. 2020-08-27 19:07:01 -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
Zach Laine
ea3242867c Update concepts constraints, but disable them for now. 2019-11-27 22:28:18 -06:00
Zach Laine
443bbb92e6 Add initial sketch of concept constraints for parser. 2019-11-19 09:55:22 -06:00
Zach Laine
5de175bd3a Change detail::make_input_range() to treat char8_t ranges as UTF-8. 2019-11-19 09:54:52 -06:00
Zach Laine
84eedfe4f9 detail::nope -> nope 2019-11-16 19:34:03 -06:00
Zach Laine
653aa020dc For all inputs to the parse API, enforce the use of char for non-Unicode
parsing, and interpret all other integral types as some sort of UTF encoding.
2019-11-16 19:15:34 -06:00
Zach Laine
e03ff6c3eb Remove mooted TODO. 2019-11-16 18:09:06 -06:00
Zach Laine
353186e24b std::string_view -> range in remaining parser operators. 2019-11-16 18:06:40 -06:00
Zach Laine
5a20442ee9 Generalize string() and string lit() to take arbitrary parse ranges, not just
string_view.
2019-11-16 17:56:03 -06:00
Zach Laine
69be9da939 Add requirement to detail::range_t that the value type of the range is
integral.
2019-11-16 17:56:03 -06:00
Zach Laine
1ce01c9ff2 Remove parser_interface template parameters whereever CTAD can deduce them. 2019-11-16 17:56:03 -06:00
Zach Laine
f3b66fff64 Make string_parser work with generalized ranges of characters, not just
std::string_view.
2019-11-16 17:56:03 -06:00
Zach Laine
5047186ee8 Doc tweaks; mark places where support for code point ranges is needed. 2019-11-16 14:28:13 -06:00
Zach Laine
f39e309118 Add Windows-only support for std::wstring_view file names. 2019-11-16 14:06:18 -06:00
Zach Laine
1f76001950 Regularize name in copyright notices. 2019-11-16 13:44:54 -06:00
Zach Laine
89e08daec7 string_view -> range in the parse API. 2019-11-16 13:44:33 -06:00
Zach Laine
3addd65178 Add TODOs. 2019-11-16 10:10:05 -06:00
Zach Laine
22112f177b Warning mitigation in detail::char_range. 2019-11-16 10:10:05 -06:00
Zach Laine
40458a36ab Sentinelize all the things. 2019-11-16 08:14:30 -06:00
Zach Laine
17db109704 Cruft removal. 2019-11-16 08:14:30 -06:00
Zach Laine
f330217402 Remove char const * overload of op() from char_parser, and correct the docs on
its range overload; misc doc tweaks.
2019-11-16 08:14:30 -06:00
Zach Laine
b5f3c45f10 Generalize parser_interface::operator() as a variadic function template. 2019-11-16 08:14:30 -06:00
Zach Laine
01201aebd3 Sentinels in range template. 2019-11-16 08:14:30 -06:00
Zach Laine
bdd4514efd API documentation in parser/error_handling*. 2019-11-16 08:14:30 -06:00
Zach Laine
5f33a6a1e9 Upgrade to the latest version of Boost.Text transcoding code. 2019-11-16 08:14:30 -06:00
Zach Laine
e51b4fe8c1 Round out first draft of parser API docs. 2019-11-16 08:14:30 -06:00
Zach Laine
ea9b2fff4a Move tag objects used in context accessors to detail. 2019-11-16 08:14:30 -06:00
Zach Laine
47709e4961 Even more parser API docs. 2019-11-16 08:14:30 -06:00
Zach Laine
a69f9df5c2 Add more parser API documentation. 2019-11-16 08:14:30 -06:00
Zach Laine
6a39de3f73 Add more parser documentation. 2019-11-16 08:14:30 -06:00
Zach Laine
7df8b8c112 Partial parser API docs. 2019-11-16 08:14:30 -06:00