2010-06-22 66 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