当前位置:  开发笔记 > 编程语言 > 正文

来自C代码的AST

如何解决《来自C代码的AST》经验,为你挑选了3个好方法。

我想对C源代码执行一些转换.我需要一个linux上的工具,它从源代码生成一个完整的AST,这样我就可以在这个AST上应用我的转换,然后将其转换回C源代码.我试过ELSA,但没有编译.(我使用的是Ubuntu 8.4).谁能建议更好的工具/应用程序?



1> Louis Gerbar..:

我会推荐clang.它有一个相当完整的C实现,大多数gcc扩展,代码是非常容易理解的.他们的C++实现是不完整的,但如果你只关心从C代码生成AST应该没问题.根据你想要做的事情你可以使用clang作为库并直接使用AST,或者让clang将它们转储到控制台.



2> Eli Bendersk..:

请参阅pycparser - 一个用于C的纯Python AST生成器.



3> Remo.D..:

我知道有两个项目,您可以找到有用的项目:

CIL

变形金刚

他们都解析标准的C源代码,以允许进一步的分析和转换.我没有使用它们,所以如果它们符合您的需要,您必须自己检查.

当然,使用GCC的建议也是有效的.我知道gcc的这方面文档不多.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有