2010-06-22 69 views
0

问候溢出,关于为OO语言编写编译器后端的资源?

我想深入了解如何开发面向OO语言(静态/动态尝试)的x86(ia32/ia64)后端,主要在Windows操作系统上运行。

我对x86体系结构,Windows体系结构以及如何将代码提供给树级准备好进行优化并序列化为机器本机代码有了很好的理解。

只是这一步(序列化),我没有真正掌握,我想了解更多。例如,代码树中是否有标准的x86循环节点序列化指令集?

我想通读编译器书籍,但有没有特定的材料(书籍,教程,项目等),以该主题?

如何使用C语言作为中间语言,并利用一些现成的C编译器作为后端,如ICC进行卓越的优化?

很多谢谢你们!

回答

0

是的,您可以输出另一种语言,如C,然后将其编译为您的平台的机器语言。 Cfront,原来的C++编译器就是这么做的。

另一种可能性是使用LLVM,它为您提供了一个用于生成机器语言的抽象API。

+0

谢谢R.塞缪尔。 C++旁边发生了什么,它保持使用这种技术,为什么不使用这种技术? – geeko 2010-06-22 05:17:40

+0

@geeko - 请不要将特定的编译器与整个C++语言混淆。 AFAIK,Cfront始终生成C;最终实现了直接生成机器码的其他编译器。 – 2010-06-22 05:45:42

+0

哎哟,是的,我确实感到困惑!谢谢R. Smauel :) – geeko 2010-06-22 07:46:13