2

需要使用 GCC 插件收集有关翻译单元的必要信息,并在其基础上修改 AST。我已经了解如何收集信息。但我还不明白如何在将 AST 传递到 CRT 之前对其进行修改。关于这个主题的信息很少。请告诉我关于这个主题我应该读什么?分享想法,链接。

谢谢。

PS我已经阅读了这些链接上的所有内容:

http://en.wikibooks.org/wiki/GNU_C_Compiler_Internals/Print_version http://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/gccint/index.html#Top

4

2 回答 2

1

GCC 测试套件包含此类修改的基本示例。请参阅http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/testsuite/gcc.dg/plugin/finish_unit_plugin.c和 start_unit_plugin.c 显示如何创建一个 var。不幸的是,对于更严重的修改,GCC 源代码可能是您最好的选择。

于 2011-09-23T05:06:18.640 回答
0

您是否因这项努力而与 GCC 联系在一起?ROSE 编译器专为执行源代码级修改而构建,然后将生成的代码交给后端编译器。

于 2011-08-05T21:43:56.487 回答