根据本文 http://en.wikipedia.org/wiki/Intermediate_languagegcc 在生成代码之前使用多种中间格式。我读到 GIMPLE 格式使用三个地址代码,这似乎是最容易使用的中间语言。但我需要更多细节,因为我需要构建一个工具,可以获取中间代码并在生成最终代码之前向其中插入一些代码。
为此,我首先需要知道如何生成 GIMPLE 格式代码并将其保存在文件中。所以我正在寻找一些文档和示例。另外,如果有人处理过这样的事情,我可以知道这个任务的复杂性,即在中间代码中插入一些代码吗?
您可能会发现编写一个更容易plugin http://gcc.gnu.org/onlinedocs/gccint/Plugins.html对于 GCC,这将允许您挂钩 GIMPLE 生成并在 GCC 内更改它,这应该会减少保存、编辑然后尝试从 GIMPLE 形式编译的停机时间。MELT http://starynkevitch.net/basile/gcc-melt/GCC-MELT-HiPEAC2012.pdf就是这样一个插件(尽管它提供了way不仅仅是改变较低级别的表示)。还有一个不错的PDFhere http://www.fsl.cs.sunysb.edu/ssw/files/Download/gccplugins.pdf关于 GIMPLE 更改插件。
不然你可以看看here http://gcc.gnu.org/onlinedocs/gccint/GIMPLE.html有关 GCC 的 GIMPLE 如何工作的信息。
就转储 GIMPLE 而言:
您可以使用标志 -fdump-tree-gimple 请求转储 GIMPLE 形式的类似 C 的表示形式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)