mirror of https://github.com/yaml/AdaYaml
Changelog for v0.3.0; updated Readme
This commit is contained in:
parent
f9bf8fae53
commit
2017a7c252
|
@ -1,5 +1,12 @@
|
|||
# AdaYaml Changelog
|
||||
|
||||
## v0.3.0
|
||||
|
||||
* Added DOM API
|
||||
* Fixed several bugs found by fuzzing (#7)
|
||||
* Removed experimental code from main project and moved it to own project
|
||||
* Fixed a bug when reading from stdio
|
||||
|
||||
## v0.2.0
|
||||
|
||||
* passes all tests of the yaml-test-suite
|
||||
|
|
49
Readme.md
49
Readme.md
|
@ -1,20 +1,40 @@
|
|||
# AdaYaml - YAML 1.3 implementation in Ada
|
||||
|
||||
This is an implementation of the upcoming YAML 1.3 standard. This library is
|
||||
currently under construction. Be wary of errors, I have not even proven it
|
||||
correct.
|
||||
This is an implementation of the upcoming YAML 1.3 standard. Since the standard
|
||||
is not completed yet, some features are due to change.
|
||||
|
||||
You can use it as YAML 1.2 implementation, it will parse almost all valid
|
||||
YAML 1.2 documents since proposed changes to 1.3 are minimal and only cover edge
|
||||
cases.
|
||||
|
||||
## Status
|
||||
|
||||
Current YAML test suite status:
|
||||
|
||||
```
|
||||
Total Tests Run: 224
|
||||
Successful Tests: 224
|
||||
Failed Assertions: 0
|
||||
Unexpected Errors: 0
|
||||
Total Tests Run: 249
|
||||
Successful Tests: 244
|
||||
Failed Assertions: 2
|
||||
Unexpected Errors: 3
|
||||
```
|
||||
|
||||
The parser is thoroughly tested and only fails test cases that are expected not
|
||||
to pass in YAML 1.3. Lionel Matias has [fuzzy-tested AdaYaml][3], his findings
|
||||
have been adressed. Benchmarks of AdaYaml show that it currently uses about
|
||||
twice the time libyaml uses for parsing large YAML documents.
|
||||
|
||||
The parts of AdaYaml which have not undergone extensive testing are the DOM API
|
||||
and the Presenter.
|
||||
|
||||
## Installation
|
||||
|
||||
You can install AdaYaml easily by executing
|
||||
|
||||
gprbuild -p -XMode=release yaml.gpr
|
||||
gprinstall -XMode=release yaml.gpr
|
||||
|
||||
Afterwards, you can `with "yaml";` in your projects.
|
||||
|
||||
## YAML 1.3 Features
|
||||
|
||||
Status of YAML 1.3 features, taken from [this list][1]:
|
||||
|
@ -43,20 +63,16 @@ Status of YAML 1.3 features, taken from [this list][1]:
|
|||
- [x] Have a basic working representer
|
||||
- [x] Test against the YAML test suite
|
||||
- [ ] Implement fancy error reporting (starting line of error with marker)
|
||||
- [ ] Do some benchmarks
|
||||
- [x] Do some benchmarks
|
||||
- [ ] Web demo
|
||||
- [ ] Implement UTF-16 and UTF-32 encodings
|
||||
- [ ] Make AdaYaml a drop-in replacement for libyaml (provide the C interface)
|
||||
- [ ] As proof-of-concept, implement the [Transformations extension][2]
|
||||
- [ ] Maybe provide a DOM API
|
||||
- [x] Maybe provide a DOM API
|
||||
|
||||
## Hacking
|
||||
|
||||
These commands may be useful for toying around:
|
||||
|
||||
make adayaml
|
||||
|
||||
This builds the library. Not really useful right now.
|
||||
You can build the tests with:
|
||||
|
||||
make test
|
||||
|
||||
|
@ -70,8 +86,8 @@ code coverage from the testsuite:
|
|||
|
||||
make test-coverage-run
|
||||
|
||||
The following builds a small utility that reads a YAML files and outputs a
|
||||
stream of events to the command line:
|
||||
The following command builds a small utility that reads a YAML files and outputs
|
||||
a stream of events to the command line:
|
||||
|
||||
make utils
|
||||
|
||||
|
@ -87,3 +103,4 @@ To edit the code, you can use GNAT Programming Studio to open the `*.gpr` files.
|
|||
|
||||
[1]: https://github.com/yaml/summit.yaml.io/wiki/YAML-RFC-Index
|
||||
[2]: https://github.com/yaml/summit.yaml.io/wiki/The-Transformations-Extension
|
||||
[3]: https://blog.adacore.com/running-american-fuzzy-lop-on-your-ada-code
|
Loading…
Reference in New Issue