カーネル モジュラー デバッガー (kmdb) は、lex を使用して、カーネル空間から使用する語彙アナライザーを生成します[1]。いくつかのハックがあり、そのうちのいくつかは POSIX と互換性がありません。
質問があります:
- カーネルモードで lex を使用する際の落とし穴は何ですか?
- フレックス [2] に [1] を採用する合理的な方法はありますか?
- カーネル空間の lex/flex に代わるものは何ですか?
(最後の手段でillumosのlexをビルドして使うつもりですが、どうしても避けたいです)
[1] https://github.com/illumos/illumos-gate/blob/master/usr/src/cmd/mdb/common/mdb/mdb_lex.l