Zach Laine
426bfd236c
Merge branch 'master' into gh-pages
2024-01-07 12:33:26 -06:00
Zach Laine
3ebbd9e08c
Correct an error in repeat_parser's choice of attribute. Sometimes it is
...
necessary to use the value_type of the container out-param, rather than the
attribute generated by the subparser.
Fixes #52 .
2024-01-07 12:29:23 -06:00
Zach Laine
960e2eaf45
Update docs.
2024-01-07 01:16:38 -06:00
Zach Laine
ba2eacf34d
Merge branch 'master' into gh-pages
2024-01-07 01:16:19 -06:00
Zach Laine
a6c4cb14b1
Introduce op% early, and use it instead of its long-form equivalent in the
...
rest of the docs.
Fixes #46 .
2024-01-07 01:15:24 -06:00
Zach Laine
86cfa03dde
Replace eplxicit max aggregate size of 50 with reference to
...
BOOST_PARSER_MAX_AGGREGATE_SIZE.
Partially addresses #51 .
2024-01-07 01:15:22 -06:00
Zach Laine
186a333f96
Update docs.
2024-01-07 00:54:15 -06:00
Zach Laine
946297f757
Merge branch 'master' into gh-pages
2024-01-07 00:53:45 -06:00
Zach Laine
9e374f8cc3
Flesh out support for parsing into non-sequence containers.
2024-01-07 00:44:21 -06:00
Zach Laine
6ab2a9b6a4
Fix the parsing of attributes into nested aggregate types.
...
Fixes #50 .
2024-01-07 00:44:21 -06:00
Zach Laine
c7b9eb6eb5
Reimplement get() overloads as one publicly-facing function.
2024-01-06 14:21:07 -06:00
Zach Laine
e6cb3e4159
Add BOOST_PARSER_MAX_AGGREGATE_SIZE, to replace the hardcoded 50 in tuple.hpp.
...
Fixes #51 .
2024-01-06 13:22:58 -06:00
Zach Laine
469b0b9615
Add info for standalone mode to README.md.
2024-01-06 13:11:45 -06:00
Zach Laine
9d9ca546cc
Update docs.
2024-01-06 02:38:03 -06:00
Zach Laine
b8849c3eae
Merge branch 'master' into gh-pages
2024-01-06 02:37:28 -06:00
Zach Laine
6f06bc4189
Add no_case[] docs.
2024-01-06 02:36:26 -06:00
Zach Laine
aa1951aa89
Minimum MSVC 2017 -> 2019.
2024-01-06 02:36:26 -06:00
Zach Laine
2e4154dcba
Cruft removal.
2024-01-06 02:36:26 -06:00
Zach Laine
1e373378bd
Assert when an rvalue reference is detected in the char_parser::operator()
...
overlaod that takes a range, to prevent dangling references.
2024-01-06 01:17:32 -06:00
Zach Laine
7a98202845
Address TODO about not using sizeof() to detect char32_t/single-byte input
...
value type.
2024-01-06 01:01:48 -06:00
Zach Laine
f1190f6f59
Grooming.
2024-01-06 01:01:48 -06:00
Zach Laine
2b0053bf83
Add no_case[] directive, and associated changes to char, string, and boolean
...
parsers to make it work; uses the recently-added Unicode case-folding
operation. Needs docs.
Fixes #44 .
2024-01-06 01:01:48 -06:00
Zach Laine
0b7891d9cd
Add a note to the "Parsing structs" section of the docs, indicating the
...
50-member limit on automatic use of structs as tuple.
Fixes #48 .
2024-01-04 19:38:47 -06:00
Zach Laine
3b5ea8717c
Lower the max number of supported struct elements from 100 to 50 so as not to
...
choke MSVC.
2024-01-04 19:26:47 -06:00
Zach Laine
f34f096c66
Add logic to repeat_parser analogous to the logic in seq_parser, to enable
...
implicit tuple <-> struct conversions.
Fixes #47 .
2024-01-04 18:38:44 -06:00
Zach Laine
e10cc0619c
Refactor detail::move_back() overloads to eliminate code duplication.
2024-01-04 17:58:57 -06:00
Zach Laine
e81035615b
Fix MSVC builds -- std::array::begin() is not necessarily a pointer!
2024-01-04 08:53:06 -06:00
Zach Laine
c37274c9a5
Fix broken build.
2024-01-04 02:40:33 -06:00
Zach Laine
d0fe18b61d
Add single-code point Unicode case folding function; data and tests are
...
generated from CaseFolding.txt.
Partially addressed #44 .
2024-01-04 02:26:36 -06:00
Zach Laine
a2f02f1ab2
Update docs.
2024-01-03 23:50:46 -06:00
Zach Laine
c3d1e73092
Merge branch 'master' into gh-pages
2024-01-03 23:50:21 -06:00
Zach Laine
fcd3a9fc7d
Gross hack to fix GCC < 12 builds.
...
Fixes #28 .
2024-01-03 23:44:51 -06:00
Zach Laine
60cea9aa29
Fix broken docs.
...
Partially addresses #28 .
2024-01-03 23:44:40 -06:00
Zach Laine
d60d33e40b
Finish implementing support for parsing into structs as if they were tuples.
...
This makes it possible to map from sequence parsers onto structs with no
semantic actions. Also, add a doc section describing how parsing structs
works (including a couple of short example programs).
Fixes #45 .
Partially addresses #28 .
2024-01-03 23:24:37 -06:00
Zach Laine
7921f15ef8
Cruft removal.
2024-01-03 16:55:13 -06:00
Zach Laine
8bad1f2963
detail::aggregate_to_tuple() -> detail::tie_aggregate(), and change
...
detail::tie_aggregate() to return a tuple of references.
Partially addresses #28 .
2024-01-03 02:28:10 -06:00
Zach Laine
f2bf068f00
Update docs.
2024-01-03 02:05:49 -06:00
Zach Laine
de6584c663
Merge branch 'master' into gh-pages
2024-01-03 02:05:24 -06:00
Zach Laine
0e78ea2d26
Remove the T >> T -> std::vector<T> attribute combining rule from seq_parser.
2024-01-03 02:04:04 -06:00
Zach Laine
7883b8ed1e
Update docs to reflect the new detail::sequence_of<T> semantics (std::string
...
for sequence of char, std::vector<T> for everything else). Also, update one
of the examples to match the associated test code.
Partially addresses #36 .
2024-01-03 01:37:07 -06:00
Zach Laine
0454d4dad0
Fix MSVC build.
2024-01-03 00:55:42 -06:00
Zach Laine
f08255cf94
Use a tuple instead of a pair in seq_parser::{make_temp_result,combine}. Add a
...
third tuple to the output of make_temp_result; this tuple is true/false values
indicating whether this parser's attribute was merged with an adjacent
parser's container of attributes of the same type.
Fixes #36 .
2024-01-02 17:58:03 -06:00
Zach Laine
e7daff5b26
Use std::move consistently when assigning/appending values.
2024-01-02 17:58:03 -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
009ad6fc69
Add a note to the entry for "ws" in the big table in "The Parsers and Their
...
Uses", indicating that it should be preferred over asci::space.
Partially addresses #34 .
2024-01-01 18:53:21 -06:00
Zach Laine
4f26a25db7
Update docs.
2024-01-01 15:37:49 -06:00
Zach Laine
052a593782
Merge branch 'master' into gh-pages
2024-01-01 15:37:26 -06:00
Zach Laine
24d18b4eaf
Remove the documentation section "An Odd Case", which was obviated by the
...
previous commit. Also remove the test cases that exercised that case.
2024-01-01 15:30:45 -06:00
Zach Laine
d34d4b7e6a
Remove the seq_parser C<T> >> C<T> -> C<T> collapsing rule. Add special logic
...
for recursive rules to make accumulating recursive parsers like
recursive_string_rule in the parser_rule test easier to write.
2024-01-01 15:29:45 -06:00
Zach Laine
dced620290
Remove mooted TODO.
2024-01-01 15:29:45 -06:00