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