AST匹配器非常有用,有一个工具可以方便地检查各种匹配器并分析源代码的AST,这个工具就是clang-query。可以使用以下命令来构建和安装这个工具: $ $ \ /llvm-project/install/bin/clang-query minmax.cpp 图3.30:在测试文件上运行clang-query 可以按以下方式使用匹配命令: 图3.31:使用clang-query 图3.31展示了默认输出,称为’diag’。在众多可能的输出中,对我们来说最相关的是’dump’。当输出设置为’dump’时,clang-query将显示定位到的AST节点。例如,以下展示了如何匹配名为a的函数参数: 图3.
AST匹配器非常有用,有一个工具可以方便地检查各种匹配器并分析源代码的AST,这个工具就是clang-query。可以使用以下命令来构建和安装这个工具:
$`ninja install-clang-query
\end{shell}
\begin{center}
图3.29:clang-query安装
\end{center}
可以通过以下方式运行该工具:
\begin{shell}`$ <...>/llvm-project/install/bin/clang-query minmax.cpp
图3.30:在测试文件上运行clang-query
可以按以下方式使用匹配命令:
图3.31:使用clang-query
图3.31展示了默认输出,称为’diag’。在众多可能的输出中,对我们来说最相关的是’dump’。当输出设置为’dump’时,clang-query将显示定位到的AST节点。例如,以下展示了如何匹配名为a的函数参数:
图3.32:使用clang-query的dump输出
想要测试特定的匹配器或调查AST树的一部分时,这个工具非常有用。我们将使用这个工具来探索Clang如何处理编译错误。