2013-06-26 43 views
3

我有一些面向比特的數據包格式。我沒有用手寫很多相當複雜的詞法分析器,而是尋找一個比特級詞法分析器生成器,這是一個面向比特版的flex/lex。很明顯,我可以直接寫C,但我想知道是否存在這樣一個位級詞法分析器生成器。經過一段快速的Google,我發現了一些媒體解碼器等,但是,我並不解析媒體文件,而是解析網絡數據包。比特流詞法分析器生成器

或者有沒有辦法在面向位的方向上運行flex?

回答

1

你可以考慮重新定義YY_INPUT(見flex文檔中生成掃描儀),每個輸入字節分解成單個位,使用'0''1'爲正則表達式的字母表。您可能需要考慮是否可以使用YY_INPUT的簡單定義來定義稍大的字母表。

相關問題