web-dev-qa-db-ja.com

clang ASTを表示する方法は?

Clangを把握しようとしています。だから、与えられたプログラムを解析した後にClangによって生成されたASTを表示したいと思います。dotまたは.viz形式でASTをダンプすることは可能ですか?そこにツールはありますか?

34
username_4567

ClangはASTとGraphvizのdottyを表示することをサポートします-グラフソースを取得するために生成された一時的な.dotファイルを取得できます(名前が出力されます)。

clang -cc1 -ast-view your_file.c

以下を使用してコマンドラインに印刷することもできます。

clang -cc1 -ast-dump your_file.c

または:

clang -cc1 -ast-print your_file.c

または3.3で:

clang -cc1 -ast-dump-xml your_file.c

しかし、これは 削除された 後でコメントでLukas Kubanekが指摘したように。

45
cpt. jazz

-cc1呼び出し インクルードに問題があります およびC++を認識するメソッド。

フル機能の解析には、次を使用します。

clang -Xclang -ast-dump file.cpp
34
Kornel