Моя проблема в том, что я хочу анализировать двоичные файлы разных типов с помощью общего синтаксического анализатора, который реализован в JAVA. Возможно, описание формата файла с помощью файла конфигурации, который читается парсером, или создание классов Java, которые анализируют файлы в соответствии с какими-то правилами синтаксического анализа.
Я довольно много искал в Интернете, но почти ничего не нашел по этой теме.
То, что я нашел, - это просто вещи, которые имеют дело с генераторами компиляторов (Джей, Кожен и т. Д.), Но я не думаю, что могу использовать их для генерации чего-либо для анализа двоичных файлов. Но я мог ошибаться в этом предположении.
Существуют ли какие-либо фреймворки, специально предназначенные для простого анализа двоичных файлов, или кто-нибудь может дать мне подсказку, как я могу использовать парсер / компилятор-генераторы для этого?
Обновление: я ищу что-нибудь, где я могу написать файл конфигурации, например
file:
header: FIXED("MAGIC")
body: content(10)
content:
value1: BYTE
value2: LONG
value3: STRING(10)
и он автоматически генерирует что-то, что анализирует файлы, которые начинаются с "MAGIC", за которым следует десятикратный пакет содержимого (который сам состоит из байтовой, длинной и 10-байтовой строки).
Update2: я нашел что-то похожее на то, что я ищу, "Construct" , но, к сожалению, это Python-Framework. Может быть, это поможет кому-то понять, что я ищу.