2012-02-13 64 views
5

我是新來的編譯器設計。我知道編譯器設計的基礎知識。我想開發一個以python程序作爲輸入並使用LLVM庫和LLVM JIT編譯器生成輸出的前端。有人可以指點我正確的方向還是提供一些閱讀鏈接?我必須編寫什麼基本塊才能做到這一點?基於LLVM架構創建Python前端需要做什麼?

編輯:我選擇這個作爲我的項目。我已經差不多兩個半月的時間來實施了。我想爲python的一小部分實現這個。

+0

@katriealex(現已刪除)*的答案*正確指向Unladen Swallow項目,該項目將一個LLVM後端連接到Python前端,允許通過LLVM執行Python代碼。一探究竟 – 2012-02-14 07:13:36

回答

1

你可以重新編譯python字節碼,然後你可以保留python語法。即語言前端,因爲它是。如果你想要很大的改進,你可能不得不改變libpython。

看看pyastra和pymite項目,他們做了python和本機執行的一個子集。

Cython在python和編譯之間可以用作中途。

在更大的範圍內,看看PyPy,Psyco和Unladen Swallow。