我想抓住Clang。所以,我想在解析給定的程序後查看Clang生成的AST。是否可以以.dot或.viz格式轉儲AST?那裏有任何工具嗎?如何查看clang AST?
20
A
回答
35
Clang支持用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後來由於尖由Luk作爲Kubanek的評論。
5
+0
啊,這是我總是忘記的開關。 ^^ – Cameron
相關問題
- 1. Clang AST
- 2. 如何使用Clang的AST?
- 3. Clang AST Matcher的「AND」和「OR」
- 4. ast generator使用clang api
- 5. 使用Clang獲取AST
- 6. 如何查看clang版本的clang源代碼?
- 7. 查看mli文件的AST
- 8. 如何在使用AST匹配器的Clang AST中找到BlockDecl節點?
- 9. 解析clang與clang Python綁定生成的AST
- 10. 將節點添加到Clang的AST
- 11. 使用Clang獲取AST的C片段?
- 12. clang libTooling:如何找到一個AST項目出來的頭?
- 13. 如何使用Clang獲取當前版本的AST?
- 14. 在Clang中查找聲明的父級AST
- 15. Clang鏈接器不會查看LD_LIBRARY_PATH
- 16. 如何從clang生成代碼:: ASTContext
- 17. 如何在Clang AST訪問者中區分函數定義和函數聲明
- 18. 對於Clang和Codegen的MSVC 2015,我如何使用-ast-dump工作?
- 19. 如何安裝clang頭文件?
- 20. 如何通過查看AST從發生器中識別正常的Python函數?
- 21. 使用Clang打印參數的函數AST
- 22. Clang ast-dump不顯示一些全局變量
- 23. clang獲取包含文件,同時解析AST
- 24. 比較clang中的結構AST解析器
- 25. CLang Libtooling:獲取clang中的變量的數據類型:: VarDecl,clang :: FieldDecl或clang :: ParmVarDecl
- 26. 如何使用Clang查找變量的聲明?
- 27. 我在哪裏可以查看所有eslint ast節點類型?
- 28. 在xtext中查看分析樹/節點模型/ AST
- 29. 在調試Babel插件時查看ast的代碼
- 30. 如何查看
的XML打印機不再支持。請參見http://llvm.org/viewvc/llvm-project?view=revision&revision=127141 –
'-ast-view'似乎也需要編譯時支持,Ubuntu 14.04默認不支持:-('-ast -dump'運行得很漂亮,'-ast-print'應該是幹什麼的呢?它只是在後面打印了一些空行的代碼。 –