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

173 Commits

Author SHA1 Message Date
Zach Laine
f5244bb547 Put the contents of detection.hpp in detail. 2020-08-31 23:07:19 -05:00
Zach Laine
53542cb69a assert -> BOOST_ASSERT 2020-08-31 22:08:17 -05:00
Zach Laine
fba753eecf Finish the first draft of the attribute generation docs. 2020-08-31 22:02:39 -05:00
Zach Laine
869a9fc003 detail::container -> container 2020-08-31 22:02:39 -05:00
Zach Laine
07daa697f4 Make it an error to put eps in an or_parser anywhere but at the end.
Fixes #7.
2020-08-31 22:02:37 -05:00
Zach Laine
9064d46641 Add a compile test that covers all the standalone parsers, and fix errors
related to deducing uses of the Unicode vs. non-Unicode parsing code paths.
2020-08-31 22:02:35 -05:00
Zach Laine
cb8a7043a3 Make sure lit() and _l and _p UDLs all cover char, char8_t, and char32_t. 2020-08-31 22:02:33 -05:00
Zach Laine
af661a8b43 Suppress sign comparison warnings in detail::mismatch(). 2020-08-31 22:02:33 -05:00
Zach Laine
5a7924f614 Fix the char8_t stream insertion problem throughout the printing code. 2020-08-31 22:02:27 -05:00
Zach Laine
d1cfdbe41d Flatten or and seq parsers fully. 2020-08-31 22:01:48 -05:00
Zach Laine
fec67a1dd1 Hide some of the implementation details of parser_interface from Doxygen. 2020-08-31 22:01:48 -05:00
Zach Laine
1d90a9d621 Lots of doc updates:
- Add a rationale for parser::none.
- Add a section introducing essential terminology.
- Flesh out the semantic action example.
- Add a section describing the parse context and how it works.
- Remove numerous TODOs related to documentation addressed above.
2020-08-30 15:33:56 -05:00
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