Protocol Buffers springs to mind. It's a compact binary protocol with predefined field order, allowing you to skip unused fields and maintain backwards compatibility. You could probably use it as a storage format too. It's not in the Lex/Yacc territory, but it DOES generate all the code you need to handle the defined structures.
Protobuf is the message definition, and it goes hand in hand with gRPC to generate client code plus server code stubs for secure network communication with optional streaming: https://developers.google.com/protocol-buffers/ https://grpc.io If you're looking for tools for existing binary formats, I dunno. Protobuf would only be halfway there, as I don't think it supports unions with overlapping fields as you could find in some (like the PE binary format for Win32/Win64). -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.