https://microsoft.github.io/bond/why_bond.html

In terms of mapping to target languages, Bond again is much more similar to Thrift than Protocol Buffers. Like Thrift, Bond generates native types to represent schemas in the target language and uses native collections. Bond however doesn’t hard-code type mappings. For example in C++ the defaults are STL containers like std::vector however user can easily map custom types (e.g. use boost::multi_index_container in a generated C++ struct or map a uint64 schema field to a System.DateTime field in a generated C# class). Bond generated C++ structs can also use custom allocators. See custom type mappings for more details.


https://microsoft.github.io/bond/manual/compiler.html

Schema AST

The compiler exposes a JSON representation of the schema Abstract Syntax Tree. The AST is intended for tools that need to access to the schema information contained in Bond IDL files with the full fidelity. The compiler can also take the JSON representation of the AST as an input, enabling tools which programmatically construct/modify Bond schemas.



Reply via email to