2013-09-01 77 views
20

我想抓住Clang。所以,我想在解析給定的程序後查看Clang生成的AST。是否可以以.dot或.viz格式轉儲AST?那裏有任何工具嗎?如何查看clang AST?

回答

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的評論。

+8

的XML打印機不再支持。請參見http://llvm.org/viewvc/llvm-project?view=revision&revision=127141 –

+2

'-ast-view'似乎也需要編譯時支持,Ubuntu 14.04默認不支持:-('-ast -dump'運行得很漂亮,'-ast-print'應該是幹什麼的呢?它只是在後面打印了一些空行的代碼。 –