Implement "KiCad s-epression" support for boost::property_tree's ptree, the 8
bit string version of property_tree. The ram resident structure of the ptree is mostly compatible with one created using the xml_parser from boost::property_tree, with slight differences in the way atoms are stored. The result is you can use Format() to convert from xml to s-expression, but not the other way around. You can write a simple s-expression beautifier in just a few lines of code. The main value however is the s-expression parser, i.e. Scan(), which is an alternative to crafting a custom recursive descent parser for a particular grammar. The tipping point depends on whether you want to read only a small portion of a much larger document. If so, then using the ptree will likely be a "faster to code" route. Documentation on how to navigate a ptree can be found on the boost website and there are a number of examples in the pcbnew/eagle_plugin.cpp file in this project. Powerful path navigation support makes it easy to extract a subset of a ptree.
Showing
common/ptree.cpp
0 → 100644
include/ptree.h
0 → 100644
tools/parser_gen.cpp
deleted
100644 → 0
tools/property_tree.cpp
0 → 100644
Please register or sign in to comment