私はClangを保持しようとしています。だから、私は与えられたプログラムを解析した後にClangによって生成されたASTを見たいと思います。 ASTを.dotまたは.viz形式でダンプすることは可能ですか?そこに何かツールがありますか?clang ASTを表示するには?
20
A
答えて
35
Graphvizのdotty
でASTを表示することをサポートしています。生成された一時的な.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
が、後に指摘したように、このwas removedルークコメントのKubanekとして。
5
-cc1
を呼び出し、will have problem with includesを呼び出し、C++を認識する方法。
は、使用しない:
clang -Xclang -ast-dump file.cpp
+0
これは私がいつも忘れているスイッチです。 ^^ – Cameron
関連する問題
- 1. Clang AST Matcherの "AND"と "OR"
- 2. ClangのASTにノードを追加
- 3. Clangを組み合わせるAST
- 4. Clang ASTビジター、トラバースインクルードファイルを避ける
- 5. Clangを使用してASTを取得
- 6. clangを持つ複数のソースファイルのAST
- 7. clangがASTの解析中にインクルードファイルを取得する
- 8. Clang ASTのDeclノードの保存
- 9. ClangのOpaqueValueExprの子を取得する方法AST
- 10. Clang ++ - CUDAコードのASTをどのようにダンプするのですか?
- 11. Clangを使用してCソースコードからASTを生成
- 12. Clang ASTを使用した関数の引数を出力
- 13. AST/Types - エラーの表示方法
- 14. Clang AST - サブツリーでのみ照合することはできますか?
- 15. VSコード表示がclangのエラーメッセージをコンパイル
- 16. Babelプラグインをデバッグするときのastコードの表示
- 17. ClangのObjCPropertyRefExprからの情報の取得AST
- 18. Clang:元のファイルから新しいファイルに関数のASTを書き込む
- 19. Clang ASTのSourceLocationの後に文字のSourceLocationを見つける方法はありますか?
- 20. ラムダ関数のast表現
- 21. OCaml ASTレコードタイプの表現
- 22. AST for C++を入手するには?
- 23. ASTツリーを別のASTツリーに変換する
- 24. ASTに正規表現を解析するPythonライブラリですか?
- 25. antlrはCのastを生成し、astを解析します
- 26. Clang Tooling前処理ソースファイル
- 27. Clang AST訪問者の関数定義と関数宣言を区別する方法
- 28. 打ち鳴らす:カスタムAST
- 29. clangヘッダーファイルをインストールするには?
- 30. ASTを比較するAPI?
XMLプリンタはサポートされなくなりました。参照:http://llvm.org/viewvc/llvm-project?view=revision&revision=127141 –
'-ast-view'はコンパイル時のサポートが必要なようですが、これはUbuntu 14.04ではデフォルトではオンになっていません:-(' -ast -dump'はうまく動作しますが、 '-ast-print'は何をするのでしょうか?後で空白行をつけてコード自体を出力するだけです –