clang-check -ast-dump -ast-dump-filter=<function_name> main.c
给出特定代码的AST(只是一个函数声明(。
我们如何以 JSON 格式表示生成的 AST?
PS:我想要AST仅用于函数声明。
使用-ast-dump=json
参数调用clang
。
这是最近(2019 年 5 月(才实现的,因此您需要最新版本的 Clang。
有关详细信息,请参阅 https://reviews.llvm.org/D60910。
还有一个库可以通过libTooling导出更多低级信息,https://github.com/facebook/facebook-clang-plugins
2022 年更新:现在clang -Xclang -ast-dump=json -fsyntax-only <file>
完整的命令行,因为clang
命令现在是编译驱动程序,而不仅仅是编译器本身。