我的问题是,我想用一个用 JAVA 实现的通用解析器来解析不同类型的二进制文件。可能使用解析器读取的配置文件来描述文件格式,或者创建根据某种解析规则解析文件的 Java 类。
我在互联网上搜索了很多,但几乎没有找到关于这个主题的任何内容。
我发现的只是处理编译器生成器(Jay、Cojen 等)的东西,但我认为我不能用它们来生成解析二进制文件的东西。但在这个假设上我可能是错的。
是否有任何框架可以特别处理二进制文件的简单解析,或者任何人都可以给我一个提示,我可以如何使用解析器/编译器生成器来做到这一点?
更新:我正在寻找可以编写配置文件的东西
file:
header: FIXED("MAGIC")
body: content(10)
content:
value1: BYTE
value2: LONG
value3: STRING(10)
它会自动生成解析以“MAGIC”开头的文件,然后是十倍的内容包(它本身由一个字节、一个长字符串和一个 10 字节字符串组成)。
Update2:我找到了类似的东西,我正在寻找“构造”,但遗憾的是这是一个 Python 框架。也许这可以帮助某人了解我正在寻找的东西。