Zach Laine
23017af526
Remove support for direct use of null-terminated strings with the parser APIs.
...
Fixes #175 .
Fixes #190 .
2024-10-02 20:28:50 -05:00
Zach Laine
9ebc984ff8
Add a type trait, "attribute", and associated alias attribute_t, that provide
...
the attribute type for a parser Parser used to parse range R.
Fixes #111 .
2024-03-08 21:19:36 -06:00
Zach Laine
591ac9921b
Remove BOOST_PARSER_DEFINE_RULE now that BOOST_PARSER_DEFINE_RULES is always
...
available.
Partially addresses #71 .
2024-01-19 21:06:33 -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
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
2020e44fda
Radically change the way that repeat_parser generates a sequence of
...
attributes. It now produces std::string when Attribute is char, and
std::vector<Attribute> otherwise (except for nope special-casing of course).
Partial fix for #36 .
2024-01-02 17:57:46 -06:00
Zach Laine
88a965d9c5
Rename the {callback_,}parse() overloads that take an iterator/sentinel pair
...
to {callback,}prefix_parse().
Fixes #21 .
2023-12-23 04:05:54 -06:00
Zach Laine
8f560956c4
Change the assumption in parser.hpp that a code point is a uint32_t; use
...
char32_t instead.
Fixes #18 .
Fixes #22 .
2023-12-03 16:10:25 -06:00
Zach Laine
72e5573505
Replace use of is_integral with parsable_code_unit, which is all the character
...
types. Also slightly simplify the logic for parsable_code_unit.
Fixes #22 .
2023-12-03 15:20:40 -06:00
Zach Laine
876056aa28
uint32_t -> char32_t in transcode_iterator.
2023-12-03 14:19:08 -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
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
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
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
0348ed2b69
First draft of section on rules.
2020-09-05 01:49:16 -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
fba753eecf
Finish the first draft of the attribute generation docs.
2020-08-31 22:02:39 -05:00
Zach Laine
ac29f85e15
Address TODOs in compile_attribute.cpp.
2020-08-31 22:02:39 -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