mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
tweaks to README/ROADMAP [ci skip]
This commit is contained in:
26
README.md
26
README.md
@@ -53,6 +53,9 @@ include analysing ryml with:
|
||||
ryml is also partially available in Python, with more languages to follow (see
|
||||
below).
|
||||
|
||||
See also [the changelog](./CHANGELOG.md) and [the roadmap](./ROADMAP.md).
|
||||
|
||||
|
||||
------
|
||||
|
||||
## Table of contents
|
||||
@@ -1133,24 +1136,35 @@ The following core features are tested:
|
||||
|
||||
Integration of the ~300 cases in the
|
||||
[YAML test suite](https://github.com/yaml/yaml-test-suite) is ongoing
|
||||
work.
|
||||
work. See also [the roadmap](./ROADMAP.md) for a list of future work.
|
||||
|
||||
Of course, there are *many* dark corners in YAML, and there certainly can
|
||||
appear some cases which ryml fails to parse. So we welcome your
|
||||
appear cases which ryml fails to parse. So we welcome your
|
||||
[bug reports or pull requests!](https://github.com/biojppm/rapidyaml/issues).
|
||||
|
||||
### Known limitations
|
||||
|
||||
ryml does not follow the standard in the following situations:
|
||||
|
||||
* complex elements as mapping keys: keys must be simple
|
||||
values and cannot themselves be mappings or sequences. Yaml test suite
|
||||
cases:
|
||||
* [KK5P](https://github.com/yaml/yaml-test-suite/tree/master/test/KK5P.tml)
|
||||
* these directives have no effect and are ignored:
|
||||
* `%YAML`
|
||||
* `%TAG`
|
||||
* any other directives found at document level which start with the `%` character
|
||||
* ryml does not accept container elements as mapping keys. keys must be simple
|
||||
strings and cannot themselves be mappings or sequences. But mapping
|
||||
values can be any of the above. Yaml test suite cases:
|
||||
[4FJ6](https://github.com/yaml/yaml-test-suite/tree/master/test/4FJ6.tml),
|
||||
[6BFJ](https://github.com/yaml/yaml-test-suite/tree/master/test/6BFJ.tml),
|
||||
[6PBE](https://github.com/yaml/yaml-test-suite/tree/master/test/6PBE.tml),
|
||||
[6PBE](https://github.com/yaml/yaml-test-suite/tree/master/test/6PBE.tml),
|
||||
[KK5P](https://github.com/yaml/yaml-test-suite/tree/master/test/KK5P.tml),
|
||||
[KZN9](https://github.com/yaml/yaml-test-suite/tree/master/test/KZN9.tml),
|
||||
[LX3P](https://github.com/yaml/yaml-test-suite/tree/master/test/LX3P.tml),
|
||||
[M5DY](https://github.com/yaml/yaml-test-suite/tree/master/test/M5DY.tml),
|
||||
[Q9WF](https://github.com/yaml/yaml-test-suite/tree/master/test/Q9WF.tml),
|
||||
[SBG9](https://github.com/yaml/yaml-test-suite/tree/master/test/SBG9.tml),
|
||||
[X38W](https://github.com/yaml/yaml-test-suite/tree/master/test/X38W.tml),
|
||||
[XW4D](https://github.com/yaml/yaml-test-suite/tree/master/test/XW4D.tml).
|
||||
|
||||
|
||||
------
|
||||
|
||||
21
ROADMAP.md
21
ROADMAP.md
@@ -2,14 +2,23 @@
|
||||
|
||||
Roughly in order of priority:
|
||||
|
||||
* Cleanup:
|
||||
* turn calls to `C4_ASSERT()` into calls to `RYML_ASSERT()`
|
||||
* use `c4::MemoryResource` in place of `c4::yml::MemoryResource`, and
|
||||
remove `c4::yml::MemoryResource`
|
||||
* Conformance of the parser to the YAML standard:
|
||||
* Increase success rate of YAML test suite parsing
|
||||
(as of May 2020, ~30/1300 tests are failing)
|
||||
* Cross-check the suite test correctness with the events
|
||||
specified in each test. (Currently the tests are only checking
|
||||
for successful parsing and idempotent emitting).
|
||||
* Run the suite tests also on the Windows CI (Appveyor).
|
||||
* Review `parse()` API: add suffixes `_in_situ` and `_in_arena` to clarify
|
||||
intent. Ie:
|
||||
* rename `parse(substr)` to `parse_in_situ(substr)`
|
||||
* rename `parse(csubstr)` to `parse_in_arena(csubstr)`
|
||||
* Cleanup:
|
||||
* Review API surface.
|
||||
* turn calls to `C4_ASSERT()` into calls to `RYML_ASSERT()`
|
||||
* use `c4::MemoryResource` in place of `c4::yml::MemoryResource`, and
|
||||
remove `c4::yml::MemoryResource`
|
||||
* same for allocators and error callbacks: Use the facilities from c4core.
|
||||
* Add emit formatting controls:
|
||||
* add single-line flow formatter
|
||||
* add multi-line flow formatters
|
||||
@@ -20,6 +29,6 @@ Roughly in order of priority:
|
||||
* add per node format flags
|
||||
* (lesser priority) add auto formatter using reasonable heuristics to
|
||||
switch between other existing formatters
|
||||
* Increase YAML test suite coverage
|
||||
* use `csubstr` instead `csubstr const&` in return and parameter types, but
|
||||
* use `csubstr` instead `csubstr const` in return and parameter types, but
|
||||
quantify effect in runtimes.
|
||||
* Investigate possibility of comment-preserving roundtrips
|
||||
|
||||
Reference in New Issue
Block a user