스마트 전기 계량기와 통신하기 위해 다양한 네트워크를 통해 전송하려면 옥텟 스트림을 읽고 쓰는 것이 필요합니다. 이진 데이터 형식을 설명하는 ANSI 표준 인 ANSI C12.19가 있습니다. 데이터 형식이 지나치게 복잡하지는 않지만 표준은 많은 고유 한 유형을 설명한다는 점에서 매우 크다 (500 페이지 이상). 이 표준은 EBNF 문법으로 완벽하게 설명됩니다. ANTLR을 사용하여 EBNF 문법 또는 수정 된 버전을 읽고 옥텟 스트림을 읽고 쓸 수있는 C# 클래스를 만들 것을 고려하고 있습니다.ANTLR은 바이너리 데이터 형식을 serialize/deserialize 할 수있는 적절한 도구입니까?
ANTLR을 사용하는 것이 좋습니까?
그렇다면 ANTLR 3.1을 활용하려면 무엇을해야합니까? 뉴스 그룹 아카이브를 검색하면 문자 대신 바이트를 읽을 수있는 새로운 스트림을 구현해야하는 것처럼 보입니다. 그게 전부 아니면 Lexer 파생 상품을 구현해야합니까?
ANTLR이 스트림 읽기/파싱을 도울 수 있다면 스트림을 쓸 수 있습니까?
감사합니다.
단의 finucane는
ANTLR 메일 링리스트에 500 페이지 (?!)의 표준 주제가 자주 등장합니까? 표준을 올바르게 구현하려면 훌륭한 파서 생성기를 사용하는 이점보다 크려면 기계의 오버 헤드가 커야합니다. –