LLVM IR 和源代码之间是否有任何中间表示?
Is there any mid-representation between LLVM IR and source code?
例如,
一行 objective-C 代码 [NSData alloc] 将被转换为对 objc_msgSend 的调用。
有什么方法可以在不陷入这些 LLVM IR 混乱的情况下拦截这个级别的表示吗?
谢谢
如果您使用 Clang 作为 Objective C 的前端,那么您还可以在其抽象语法树 (AST) 上工作,该树与已解析的源代码很接近。您可以查看 http://clang.llvm.org/docs/IntroductionToTheClangAST.html 以开始使用。
例如, 一行 objective-C 代码 [NSData alloc] 将被转换为对 objc_msgSend 的调用。 有什么方法可以在不陷入这些 LLVM IR 混乱的情况下拦截这个级别的表示吗? 谢谢
如果您使用 Clang 作为 Objective C 的前端,那么您还可以在其抽象语法树 (AST) 上工作,该树与已解析的源代码很接近。您可以查看 http://clang.llvm.org/docs/IntroductionToTheClangAST.html 以开始使用。