我的博客

clang生成抽象语法树

目录

Clang(发音为/ˈklæŋ/类似英文单字clang[1]) 是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。它采用了LLVM作为其后端,而且由LLVM2.6开始,一起发布新版本。它的目标是提供一个GNU编译器套装(GCC)的替代品,支持了GNU编译器大多数的编译设置以及非官方语言的扩展。官网地址 https://clang.llvm.org 可以用来生成抽象语法树(AST)。 使用命令 clang -Xclang -ast-dump file.cpp 可以生成file.cpp的抽象语法树,输出到标准输出。 但是实际上clang执行的参数是非常复杂的,可以使用 -### 让clang输出他要执行的命令(但不实际执行)

clang -### -Xclang -ast-dump x.cpp

可以看到clang实际会执行两条命令,其中第一条的参数 “-fcolor-diagnostics”可以去掉,这样输出的抽象语法树就不带颜色了。

参考资料:

[1]https://stackoverflow.com/questions/18560019/how-to-view-clang-ast

[2]https://zh.wikipedia.org/wiki/Clang

评论无需登录,可以匿名,欢迎评论!