bdec is a set of tools for decoding binary files given a specification written in a flexible XML-based syntax. It supports decoding to XML or Python objects, and can generate quality C decoders and encoders.
|Tags||Software Development Libraries Python Modules Utilities Code Generators Build Tools|
|Operating Systems||OS Independent|
Release Notes: More than one child is allowed in a sequenceof. Const correctness was added to compiled C decoders. The start of a Microsoft Word specification was added. More detailed copyright and license information was added. The "&" character is correctly escaped when printing XML. Build warnings when compiling with gcc 4.6 were fixed.
Release Notes: Linking against the variable integer files from C++ was fixed. Copyright and license information from the PRESENSE changes were fixed.
Release Notes: Encoding data structures to binary is now supported. This includes encoding from Python instances, XML, and C structures. Specifications can now be split into multiple files by simply passing all of the specification files to the decode/encode/compile programs.
Release Notes: Sequence values are now correctly decoded in the instance decoder. Fixes were made to references used in conditional and constraint expressions. Missing reference errors are reported from the entry that defined the reference. An exception is no longer thrown when choosing and there is not enough data available. Sequence entries are decoded with both a minimum and a maximum. Conditional references are correctly handled. Data objects now support non-seekable files such as stdin.
Release Notes: The C representation for choice entries whose children don't contain data is now an enum. Previously, these entries generated a union without members, which is invalid C/C++ (and caused memory errors with g++). The "bcompile" script was fixed as it was crashing. Various C compilation fixes were made. The tests now use gcc instead of g++. The range of 64-bit values was fixed.