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
af7f88b677
Make parse API 4x smaller by:
...
- making trace (formerly debug) mode a runtime parameter; and
- adding a with_error_handler() (a la with_globals()) fundiotn, and using that
instead of passing an optional error_handler parameter to the parse
functions.
2019-10-28 21:13:07 -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
489f8f69d9
Zach Laine -> T. Zachary Laine
2018-10-23 23:52:05 -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
a6a0826f22
Add bool_parser case to parser.cpp test.
2018-10-22 23:42:19 -05:00
Zach Laine
5631c57eac
Change rule_parser's handling of given attributes so that the parser always
...
produces results in its attribute type; also regularize the modification of
contexts for use in rules.
2018-10-21 20:21:39 -05:00
Zach Laine
12e9941b9f
Add initializer list ctor to symbol_parser.
2018-10-19 20:31:59 -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
da64c7b52b
Change callback rules to behave as normal rules when not used within
...
callback_*parse().
2018-10-18 20:56:52 -05:00
Zach Laine
d07dfa203c
Get serious about covering all cases of assignment from nopes in parsers; add
...
no-attribute case support to callback rule_parser.
2018-10-18 20:56:49 -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
3c2c99ae73
Add callback_parse() and callback_rule.
2018-10-17 20:18:58 -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
782632b967
Reinstate checks that failed parses do not write into attribute out-params.
2018-10-16 00:17:26 -05:00
Zach Laine
ce53bf1d41
Fix errors in seq_parser::combine and the associated logic in the parser test
...
generation.
2018-10-15 17:33:11 -05:00
Zach Laine
48fb282ff9
To each generated parser test, add a check that a failed parse does not mutate
...
an attribute out-param.
2018-10-15 00:14:27 -05:00
Zach Laine
ff5e1e4075
Cruft removal.
2018-10-15 00:13:12 -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
d4266b464e
Add generation of expected type to the generated parser tests; fix errors.
2018-10-14 14:40:11 -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
d6934eb3af
Generate attribute test cases; fix errors.
2018-10-13 21:12:12 -05:00
Zach Laine
e178cd9057
Fix copy pasta in test/CMakeLists.txt.
2018-10-11 23:29:59 -05:00
Zach Laine
477f95d494
Add tests of paren-grouped ors and seq.
2018-10-11 22:29:11 -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
Zach Laine
d18ee90b9a
Fix Clang-on-Linux build.
2018-09-29 19:07:01 -05:00
Zach Laine
0d5af80dbe
Switch the JSON parsing tests to use the new JSON parser; tighten up number
...
parsing in same.
2018-09-28 00:08:11 -05:00
Zach Laine
5be1c00730
Emit parse errors via callback instead of just dumping them to the console.
2018-09-27 20:29:16 -05:00
Zach Laine
7c39af865f
Break JSON parsing code and JSON data model into separate files.
2018-09-26 23:58:36 -05:00
Zach Laine
ee8df7636f
Add JSON parser to build.
2018-09-26 23:29:55 -05:00
Zach Laine
3fb764874f
Correct gross error in the use of Boost.Text UTF-8 iterators.
2018-09-26 22:54:28 -05:00
Zach Laine
5db8b41f7d
Use the UTF-8 iterators from Boost.Text instead of the one from Boost.Regex.
2018-09-24 10:20:12 -05:00
Zach Laine
2575467a40
Move all headers under include/boost/.
2018-09-24 06:48:48 -05:00
Zach Laine
d71f00f99c
yaml:: -> boost::yaml::
2018-09-24 06:30:08 -05:00
Zach Laine
87d2c2adf2
Tag numerous JSONTestSuite files as expected failures.
2017-05-18 22:05:41 -05:00
Zach Laine
f5c036dc42
Tag failing json tests with invalid UTF-8 sequences as expected failures.
2017-05-16 18:30:58 -05:00
Zach Laine
c2def6b170
Tag failing i_* json tests as expected failures.
2017-05-16 18:16:45 -05:00
Zach Laine
a1b3f9b137
Add a test for each JSONTestSuite/test_parsing file.
2017-05-16 12:44:45 -05:00
Zach Laine
944d24b664
Add an explicit error when leading block scalar indentation is wrong.
2017-05-15 10:19:39 -05:00
Zach Laine
4978d913b4
Add a test covering the new warnings.
2017-05-15 00:33:23 -05:00
Zach Laine
8d444b9754
Remove the mistaken anchor_property hack, fixing an expected failure.
2017-05-14 16:43:14 -05:00
Zach Laine
4c59bde497
Major refactor that enables diagnosis of repeated YAML and TAG directives.
2017-05-14 01:26:39 -05:00
Zach Laine
a478c44b69
Move the test library sources to src/, and compile a real lib for the test and
...
perf programs to use.
2017-05-12 20:26:55 -05:00