有没有可用的 cmake parser/lexer(在 bison/flex 中)?

Is there a cmake parser/lexer (in bison/flex) available somewhere?

我需要为我正在处理的小型代码编辑器项目解析 CMakeLists.txt 个文件。因此,我正在为 CMake 语言搜索 parser/lexer,但似乎无法使用 Google 找到任何内容。有没有人用 flex 中相应的词法分析器在 bison 中写过这样的语法?谢谢!

是的,你可以从 CMake source itself.

那里偷

使用从该文件生成的词法分析器可能会使您依赖名为 cmSys/kwSys 的内部 CMake 库。 Here is 我们 KDevelop 是如何解决这个问题的。