Zach Laine
8accdd922f
Fix ignored USE_{A,UB}SAN in CMake files.
2024-09-30 18:08:09 -05:00
Tobias Loew
56d043b3a4
Add VS debugger output error_handler and trace support.
...
Fixes #124 .
2024-03-26 04:14:17 -05:00
Zach Laine
d88e47cf17
Fix deficiencies in the CMake build:
...
- Clone minimal Boost dependencies so that the minimal Boost.Test header is
available.
- Add boostdep-generated CMake code to the top of the top-level
CMakeLists.txt.
Fixes #127 .
2024-03-24 22:29:10 -05:00
Zach Laine
8e39ad067b
Change tests from GTest to Boost.Test. Remove Goolge.{Test,Benchmark}.
...
Fixes #165 .
2024-03-24 22:29:10 -05:00
Zach Laine
889be318f8
Add code coverage generation and reporting.
...
Fixes #146 .
2024-03-23 23:40:08 -05:00
Zach Laine
24288a03a2
Add quoted_string, to automate probably the most commonly-written parser of
...
all time -- the quoted string.
2024-03-11 02:38:26 -05:00
Zach Laine
824a208133
Add a permutation parser.
...
Fixes #159 .
2024-03-10 17:31:50 -05:00
Zach Laine
48d5cceb8f
Add more tests of seq_parser and or_parser, to cover all the permutations of
...
different parsers that they might use.
Fixes #126 .
2024-03-10 16:48:41 -05:00
Zach Laine
9f46597ea9
Add --output-on-failure to make check.
2024-03-08 21:19:37 -06:00
Zach Laine
27400587d5
Add Phil Endecott's example latlong parser from the Boost mailing list review
...
as a test.
2024-03-08 21:19:29 -06:00
Zach Laine
d0208fb12c
Add transform_replace range adaptor and transform_replace_view.
2024-02-10 18:42:18 -06:00
Zach Laine
ec5fc2ed85
Turn detail::char_{set,subranges} into structs to fix MSVC build.
2024-01-30 23:31:01 -06:00
Zach Laine
33edb6c4e8
Add all_t, and use it in non-concepts builds.
...
Fixes #85 .
2024-01-28 02:07:07 -06:00
Zach Laine
a68d4f61b2
Add replace_view and range adaptor replace.
2024-01-22 01:11:17 -06:00
Zach Laine
5adef16a4d
Add split_view + split range adaptor. split produces a range of subranges,
...
each of which is a nonoveralpping match of the given parser.
Fixes #64 .
2024-01-19 21:19:53 -06:00
Zach Laine
aa76e9f85e
Add search() algorithm, and search_all_view + search_all range adaptor.
...
search() finds the first occurrence of a match of the given parser.
search_all produces a range of subranges, each of which is a nonoveralpping
match of the given parser.
Partially addresses #64 .
2024-01-19 21:19:53 -06:00
Zach Laine
62002e886a
Add support for parsing into an arbitrary class type T, as long as the default
...
attribute we're parsing is a tuple whose elements can be used to construct T.
Needs docs.
Fixes #49 .
2024-01-19 01:00:39 -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
c2dd86cc68
Remove generated parser tests (cruft).
2024-01-11 23:18:17 -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
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
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
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
fcb435df99
Add test for the struct <-> tuple assignment machinery; fix errors.
...
Partially addresses #28 .
2023-12-30 04:12:05 -06:00
Zach Laine
df8d20838e
Create Boost.Hana lite.
2020-09-20 12:46:01 -05:00
Zach Laine
d8a323a5fb
Fix VC2019 test failures.
2020-09-09 23:42:04 -05:00
Zach Laine
93f4ab246a
Add an empty-input test that covers every parser.
...
Fixes #1 .
2020-09-09 02:45:17 -05:00
Zach Laine
24d3003352
Rework the tracing code quite a bit, to fill in gaps and correct misleading
...
output.
Fixes #11 .
2020-09-03 22:46:02 -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
97c273e0c3
Replace a TODO in test/CMakeLists.txt with an indication of the "fix" for the
...
affected tests.
2020-08-29 21:09:50 -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
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
Zach Laine
b56461684b
Add yaml::value test.
2019-10-30 19:39:24 -05:00
Zach Laine
9f8c121731
Add json::value test.
2019-10-29 23:28:40 -05:00
Zach Laine
0d583b96b0
Add if_ and switch_, and tests for same.
2018-10-24 22:54:07 -05:00
Zach Laine
4d8239fa06
Add test of new lazy param handling; fix numerous errors.
2018-10-24 22:53:56 -05:00
Zach Laine
515896d424
Add a test of the new paramerized rule system; fix an error.
2018-10-23 17:33:16 -05:00
Zach Laine
c7d9dc38c6
Make symbol_parser concurrency-safe to use from different calls to *parse() on
...
different threads.
2018-10-19 19:49:17 -05:00
Zach Laine
ea0440f6fa
Add plumbing to enable unification of the use of regular and callback rules.
2018-10-18 20:56:45 -05:00
Zach Laine
c64aa1d441
Disable the generated tests, now that they all pass.
2018-10-17 00:21:32 -05:00
Zach Laine
4b9ac8073a
Add parser_action test.
2018-10-17 00:19:24 -05:00
Zach Laine
1bbda8ea17
Fix more errors in generated parser tests.
2018-10-17 00:14:22 -05:00
Zach Laine
09ed907c75
Add test for rules; fix errors.
2018-10-15 00:12:07 -05:00
Zach Laine
7570418d5a
Add passing and failing parses to generated test files; fix errors.
2018-10-14 17:22:45 -05:00
Zach Laine
378386fe67
Break compile_or_seq_attribute.cpp up into numerous files, and turn it into
...
runnable -- not compile-only -- tests.
2018-10-14 01:08:54 -05:00
Zach Laine
e178cd9057
Fix copy pasta in test/CMakeLists.txt.
2018-10-11 23:29:59 -05:00
Zach Laine
f5430affba
Add or_parser compile tests; fix errors.
2018-10-11 21:59:45 -05:00
Zach Laine
1cc3e53a44
Add seq_parser compile tests; fix errors.
2018-10-11 01:01:11 -05:00
Zach Laine
04dbec39dc
Add parser tests.
2018-10-10 19:34:29 -05:00