3
我有一些面向比特的數據包格式。我沒有用手寫很多相當複雜的詞法分析器,而是尋找一個比特級詞法分析器生成器,這是一個面向比特版的flex/lex。很明顯,我可以直接寫C,但我想知道是否存在這樣一個位級詞法分析器生成器。經過一段快速的Google,我發現了一些媒體解碼器等,但是,我並不解析媒體文件,而是解析網絡數據包。比特流詞法分析器生成器
或者有沒有辦法在面向位的方向上運行flex?
我有一些面向比特的數據包格式。我沒有用手寫很多相當複雜的詞法分析器,而是尋找一個比特級詞法分析器生成器,這是一個面向比特版的flex/lex。很明顯,我可以直接寫C,但我想知道是否存在這樣一個位級詞法分析器生成器。經過一段快速的Google,我發現了一些媒體解碼器等,但是,我並不解析媒體文件,而是解析網絡數據包。比特流詞法分析器生成器
或者有沒有辦法在面向位的方向上運行flex?
你可以考慮重新定義YY_INPUT
(見flex
文檔中生成掃描儀),每個輸入字節分解成單個位,使用'0'
和'1'
爲正則表達式的字母表。您可能需要考慮是否可以使用YY_INPUT
的簡單定義來定義稍大的字母表。