【发布时间】:2012-01-15 17:41:29
【问题描述】:
我想对 Linux 内核进行源代码分析,但要做到这一点,我首先需要对其进行解析。我有哪些选择?我更喜欢可从 python 使用的 AST,但任何其他语言也可以。
显然CIL 能够解析整个内核,但从网站上并不清楚如何做到这一点。
【问题讨论】:
标签: linux parsing compiler-construction abstract-syntax-tree
我想对 Linux 内核进行源代码分析,但要做到这一点,我首先需要对其进行解析。我有哪些选择?我更喜欢可从 python 使用的 AST,但任何其他语言也可以。
显然CIL 能够解析整个内核,但从网站上并不清楚如何做到这一点。
【问题讨论】:
标签: linux parsing compiler-construction abstract-syntax-tree
您可以查看页面Parsing Kernel 关于工具比较。获胜者似乎是 KDevelop。
问候,
【讨论】:
您真的需要 AST 吗?或者较低级别的中间表示就足够了?对于这两个选项,您都可以使用 Clang,并分析其 AST(遗憾的是,仅使用 C++)或 LLVM IR。
CIL 也是一种选择,但您需要在 OCaml 中编写分析工具。 cilly 是 gcc 的替代品,但它可能需要一些技巧才能将它与 Linux 内核这样的非平凡构建序列一起使用。仅使用 --merge 是不够的。
【讨论】:
【讨论】: