May 26, 2018
YAML 1.1 parser and emitter written in C
LibYAML is a YAML 1.1 parser and emitter written in C.
LibYAML covers presenting and parsing processes. Thus LibYAML defines the following two processors
- Parser, which takes an input stream of bytes and produces a sequence of parsing events.
- Emitter, which takes a sequence of events and produces a stream of bytes.
The processes of parsing and presenting are inverse to each other. Any sequence of events produced by parsing a well-formed YAML document should be acceptable by the Emitter, which should produce an equivalent document. Similarly, any document produced by emitting a sequence of events should be acceptable for the Parser, which should produce an equivalent sequence of events.
The job of resolving implicit tags, composing and serializing representation trees, as well as constructing and representing native objects is left to applications and bindings. Although some of these processes may be covered in the latter releases, they are not in the scope of the initial release of LibYAML.