Skip to content

Layout tree loader

Louis Moureaux requested to merge feature/layout-tree-serialization into develop

Description

This MR adds a loader class that supports the YAML-based format discussed in #72 (closed). The format is briefly described in the documentation. Significant effort has been put towards providing helpful error messages, and as a consequence about 2/3 of the code is doing error reporting. This can be further improved once the addressing system is ready, and in the future with yaml-cpp >= 0.5.2 (CC8).

Based on !32 (merged) (even if not strictly required).

The limitation that prevents YAML anchors from spanning multiple files can be lifted later by inserting a thin layer between the yaml-cpp SAX interface and its document builder.

Related Issue

Closes #72 (closed).

How Has This Been Tested?

Bundled unit tests.

Screenshots

node of type b: ERROR: "number" must be a positive integer

  Expected a number >= 0, got -1

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
Edited by Louis Moureaux

Merge request reports