私の問題は、JAVA で実装されている汎用パーサーを使用して、さまざまな種類のバイナリ ファイルを解析したいということです。おそらく、パーサーによって読み取られる構成ファイルを使用してファイル形式を記述したり、ある種の解析規則に従ってファイルを解析する Java クラスを作成したりします。
インターネットでかなり検索しましたが、このトピックについてはほとんど何も見つかりませんでした。
私が見つけたのは、コンパイラ ジェネレータ (Jay、Cojen など) を扱うものだけですが、それらを使用してバイナリ ファイルを解析するためのものを生成できるとは思いません。しかし、私はその仮定で間違っている可能性があります。
特にバイナリファイルの簡単な解析を扱うフレームワークはありますか、それともパーサー/コンパイラジェネレーターを使用してそうする方法を誰かに教えてもらえますか?
更新:次のような構成ファイルを記述できるものを探しています
file:
header: FIXED("MAGIC")
body: content(10)
content:
value1: BYTE
value2: LONG
value3: STRING(10)
そして、「MAGIC」で始まり、10 倍の content-package が続くファイルを解析するものを自動的に生成します (それ自体は、1 バイト、長い文字列、および 10 バイトの文字列で構成されます)。
Update2 : 探しているものに匹敵するもの、「コンストラクト」を見つけましたが、残念ながらこれは Python フレームワークです。たぶん、これは誰かが私が探しているアイデアを得るのに役立ちます.