how to view clang AST?

元气小坏坏 提交于 2019-12-03 01:10:25

问题


I am trying to get hold on Clang. So, I would like to view the AST generated by Clang after parsing the given program. Is it possible to dump AST in .dot or .viz format? Is there any tool out there?


回答1:


Clang supports showing the AST with Graphviz's dotty -- you can grab the temporary .dot file generated (name is printed out) to get the graph source.

clang -cc1 -ast-view your_file.c

You can also print to the command line with:

clang -cc1 -ast-dump your_file.c

or:

clang -cc1 -ast-print your_file.c

or in 3.3:

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

but this was removed later as pointed by Lukas Kubanek in the comment.




回答2:


The method with -cc1 invocation will have problem with includes and recognizing C++.

For full-featured parsing, use:

clang -Xclang -ast-dump file.cpp



回答3:


For viewing the AST

clang-check -ast-dump filename.c

For to view the specific functions in a program

clang-check -ast-dump -ast-dump-filter=function_name filename.c




回答4:


I am using following:

clang my_file.h -I. -Xclang -ast-dump -fsyntax-only -fno-color-diagnostics -Wno-visibility

IMHO This is more suitable for machine parsing.



来源:https://stackoverflow.com/questions/18560019/how-to-view-clang-ast

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!