YAML serialization and deserialization. It follows the YAML Spec 1.2.
The project is so early in development that it cannot be used at all.
All development is backed by at least one unit- or integration-test. To keep the source files as light and small as possible, unit-tests are put in place where integration tests would usually be. Taken that into consideration, we might end up not differentiating between these types too much after all.
When testing serialization, we will use syntex to generate the serialization code needed for our test-data structures. The desired output is generated by a python program which uses an existing pure-python implementation of YAML for reference.
All dependencies between generated files are help within our top-level Makefile. It is made so that the default target will print a help text with all available targets.
To run tests and assure all generated files are up-to-date, please run make test
.
To run tests using the provided infrastructure, you will need the following:
- make
- The make program deals with inter-file dependencies and runs the correct processes
- wget
- is used to install the python virtual environment
Please note that the build system is not expected to work on Windows.
As the repository contains all required files (even the generated ones), you are able to run tests without
any prerequisites and on Windows using cargo test
.
All development is recorded and made available on YouTube. No cutting, no script, just my plain day, every day, coding with narration.
- Building a YAML Parser in Rust (Playlist)
TODO
This paragraph contains the differences of the implementation compared to the requirements of the underlying yaml specification.
- NO SERIALZATION SUPPORT
- NO DESERIALIZTION SUPPORT
This is an exhaustive list items showing where this implementation deviates from the recommendations of the SPEC.
- TODO ...