2013-06-26 42 views
3

我有一些面向比特的数据包格式。我没有用手写很多相当复杂的词法分析器,而是寻找一个比特级词法分析器生成器,这是一个面向比特版的flex/lex。很明显,我可以直接写C,但我想知道是否存在这样一个位级词法分析器生成器。经过一段快速的Google,我发现了一些媒体解码器等,但是,我并不解析媒体文件,而是解析网络数据包。比特流词法分析器生成器

或者有没有办法在面向位的方向上运行flex?

回答

1

你可以考虑重新定义YY_INPUT(见flex文档中生成扫描仪),每个输入字节分解成单个位,使用'0''1'为正则表达式的字母表。您可能需要考虑是否可以使用YY_INPUT的简单定义来定义稍大的字母表。

相关问题