3
我有一些面向比特的数据包格式。我没有用手写很多相当复杂的词法分析器,而是寻找一个比特级词法分析器生成器,这是一个面向比特版的flex/lex。很明显,我可以直接写C,但我想知道是否存在这样一个位级词法分析器生成器。经过一段快速的Google,我发现了一些媒体解码器等,但是,我并不解析媒体文件,而是解析网络数据包。比特流词法分析器生成器
或者有没有办法在面向位的方向上运行flex?
我有一些面向比特的数据包格式。我没有用手写很多相当复杂的词法分析器,而是寻找一个比特级词法分析器生成器,这是一个面向比特版的flex/lex。很明显,我可以直接写C,但我想知道是否存在这样一个位级词法分析器生成器。经过一段快速的Google,我发现了一些媒体解码器等,但是,我并不解析媒体文件,而是解析网络数据包。比特流词法分析器生成器
或者有没有办法在面向位的方向上运行flex?
你可以考虑重新定义YY_INPUT
(见flex
文档中生成扫描仪),每个输入字节分解成单个位,使用'0'
和'1'
为正则表达式的字母表。您可能需要考虑是否可以使用YY_INPUT
的简单定义来定义稍大的字母表。