我需要读取和写入八位字节流以通过各种网络发送以与智能电表通信。有一个 ANSI 标准 ANSI C12.19 描述了二进制数据格式。虽然数据格式并不太复杂,但该标准非常庞大(500 多页),因为它描述了许多不同的类型。该标准完全由 EBNF 语法描述。我正在考虑使用 ANTLR 来读取 EBNF 语法或其修改版本,并创建可以读取和写入八位字节流的 C# 类。
这是对ANTLR的好用吗?
如果是这样,我需要做什么才能使用 ANTLR 3.1?通过搜索新闻组档案,我似乎需要实现一个可以读取字节而不是字符的新流。这就是全部还是我还必须实现 Lexer 衍生产品?
如果 ANTLR 可以帮助我读取/解析流,它也可以帮助我编写流吗?
谢谢。
丹芬卡内