So far it's been able to describe 90% of what's out there. Some examples:
- 802.3 layer 2 Ethernet: https://github.com/kstenerud/dogma/blob/master/v1/examples/8...
- Microsoft ICO format: https://github.com/kstenerud/dogma/blob/master/v1/examples/i...
- Android Dex v39: https://github.com/kstenerud/dogma/blob/master/v1/examples/d...
- IPv4: https://github.com/kstenerud/dogma/blob/master/v1/examples/i...
- DNS query: https://github.com/kstenerud/dogma/blob/master/v1/examples/d...
- Microsoft Minidump: https://github.com/kstenerud/dogma/blob/master/v1/examples/m...
- Concise Binary Encoding: https://github.com/kstenerud/concise-encoding/blob/master/cb...
- Concise Text Encoding: https://github.com/kstenerud/concise-encoding/blob/master/ct...
It's also needed to parse Minidump. For example https://github.com/kstenerud/dogma/blob/master/v1/examples/m... and https://github.com/kstenerud/dogma/blob/master/v1/examples/m...
https://gist.github.com/mdaniel/cdf52de6a8aa8982d591da82b160...
tar -xOf ipg-pldi-ae.tar e4a01dbc5b413d9709f0cf716cdb848725893b5f97e0870e09fd83e16839dfad/layer.tar \
| tar -xvf - \
home/opam/pldi-ae/IPG/spec/dns/ipg/dns.ipg \
home/opam/pldi-ae/IPG/spec/elf/ipg/elf.ipg \
home/opam/pldi-ae/IPG/spec/elf/ipg/readelf.ipg \
home/opam/pldi-ae/IPG/spec/gif/ipg/gif.ipg \
home/opam/pldi-ae/IPG/spec/ipv4/ipg/ipv4.ipg \
home/opam/pldi-ae/IPG/spec/pe/ipg/pe.ipg \
home/opam/pldi-ae/IPG/spec/zip/blackbox/unzip.ipg \
home/opam/pldi-ae/IPG/spec/zip/ipg/zip.ipg
because Gist wouldn't let me use "/" in the filenames, I just replaced them with _ after killing the home/opam part; I left the rest so hopefully they'll show up in search results since pldi-ae and IPG are pretty distinct[1] https://github.com/sealmove/binarylang
[2] https://github.com/khaledh/elfdump/blob/master/elfparse.nim
> To the best of our knowledge, IPGs support all syntactic and parsing-based properties in common file formats and can reduce discrepancies between a file format specification and an implementation, as well as discrepancies between different implementations.