Платформа для создания анализаторов структурированных двоичных данных?

У меня есть некоторый опыт генерации кода типа прагматика-программиста: определение структуры данных в нейтральном к платформе формате и написание шаблонов для генератора кода, который использует эти данные. файлы структуры данных и создают код, который извлекает необработанные байты в структуры данных для конкретного языка, выполняет масштабирование числовых данных, распечатывает данные и т. д. Хорошие прагматические (TM) идеи заключаются в том, что (а) я могу изменять структуры данных, изменяя свой файл спецификации и регенерируя источник (это СУХОЙ и все такое) и (б) я могу добавлять дополнительные функции которые можно сгенерировать для всех моих структур, просто изменив свои шаблоны.

Я использовал сценарий Perl под названием Jeeves , который работал, но общего назначения, и любые функции, которые я хотел написать для манипулировать моими данными, которые я писал с нуля.

Существуют ли какие-либо фреймворки, которые хорошо подходят для создания синтаксических анализаторов для структурированных двоичных данных? То, что я читал об Antlr, предполагает, что это излишнее. Мои текущие целевые языки, представляющие интерес, - это C #, C ++ и Java, если это имеет значение.

Как всегда, спасибо.

Изменить: Я назначу награду за этот вопрос. Если есть какие-то области, в которых я должен искать (ключевые слова для поиска) или другие способы решения этой проблемы, которые вы разработали самостоятельно, я бы хотел услышать о них.

9
задан John 17 March 2011 в 09:34
поделиться