【发布时间】:2020-03-24 22:37:02
【问题描述】:
clang-check -ast-dump -ast-dump-filter=<function_name> main.c 给出特定代码的 AST(仅是函数声明)。
我们如何以 JSON 格式表示生成的 AST?
PS:我只希望 AST 用于函数声明。
【问题讨论】:
标签: json clang abstract-syntax-tree llvm-clang
clang-check -ast-dump -ast-dump-filter=<function_name> main.c 给出特定代码的 AST(仅是函数声明)。
我们如何以 JSON 格式表示生成的 AST?
PS:我只希望 AST 用于函数声明。
【问题讨论】:
标签: json clang abstract-syntax-tree llvm-clang
使用-ast-dump=json 参数调用clang。
这是最近才实施的(2019 年 5 月),因此您需要最新版本的 Clang。
详情请见https://reviews.llvm.org/D60910。
还有一个库可以通过 https://github.com/facebook/facebook-clang-pluginshttps://github.com/facebook/facebook-clang-pluginslibTooling 导出更多可用的低级信息
【讨论】:
-ast-dump=json 支持 clang 但不支持 clang-check 这适用于 C 程序而不是 C++