Not wanting to derail your work but you could take a look at the pattern language here for inspiration. Seems as if it has the same goal https://docs.werwolv.net/pattern-language/
Was there anything in particular you wanted to bring to my attention about the ImHex pattern language?
From a quick glance it looks similar indeed, with the same basic building blocks as feng (data types and structs), while they use a rust inspired format, and I use yaml format (however I also use the rust-inspired data type naming u8, u16, s16 and so on).
A major difference is that feng strives to be usable with minimal/no programming (a custom dsl was developed around this idea), while the ImHex pattern language does look rather classic programming focused data processing (like 010 templates but more pretty syntax)
Over the years there has been a silly amount of projects in this space, it is very hard to keep track of them all.
I did try to summarize the ones I know about in the feng project, see here, under "SIMILAR WORK":
https://github.com/martinlindhe/feng/blob/main/RESOURCES.md
Was there anything in particular you wanted to bring to my attention about the ImHex pattern language?
From a quick glance it looks similar indeed, with the same basic building blocks as feng (data types and structs), while they use a rust inspired format, and I use yaml format (however I also use the rust-inspired data type naming u8, u16, s16 and so on).
A major difference is that feng strives to be usable with minimal/no programming (a custom dsl was developed around this idea), while the ImHex pattern language does look rather classic programming focused data processing (like 010 templates but more pretty syntax)