Мне нужно читать и писать потоки октетов для отправки по различным сетям, чтобы общаться с интеллектуальными электрическими счетчиками. Существует стандарт ANSI, ANSI C12.19, который описывает формат двоичных данных. Хотя формат данных не слишком сложный, стандарт очень велик (более 500 страниц), поскольку он описывает много разных типов. Стандарт полностью описывается грамматикой EBNF. Я рассматриваю использование ANTLR для чтения грамматики EBNF или ее модифицированной версии и создания классов C#, которые могут читать и записывать поток октетов.Является ли ANTLR подходящим инструментом для сериализации/десериализации формата двоичных данных?
Является ли это хорошим использованием ANTLR?
Если да, то что мне нужно сделать, чтобы использовать ANTLR 3.1? Из поиска архивов групп новостей кажется, что мне нужно реализовать новый поток, который может читать байты вместо символов. Это все или я должен был бы реализовать производную Lexer?
Если ANTLR может помочь мне прочитать/проанализировать поток, это также поможет мне написать поток?
Спасибо.
дан Финукейн
Тема стандартов с 500 страницами (?!) Очень часто встречается в списке рассылки ANTLR? Накладные расходы машины должны быть большими, чтобы перевесить преимущество использования мощного генератора парсера для правильного внедрения стандарта. –