2012-12-07 35 views
2

是否可以爲Python虛擬機創建一種新語言?我正在閱讀http://late.am/post/2012/03/26/exploring-python-code-objects,博客討論Python代碼對象。其中,他討論了將代碼對象反彙編爲字節碼以及其中的符號的含義。在Python虛擬機中創建一種新語言

這讓我覺得可以有其他的方法來構造這個字節碼。我很好奇在Python字節碼中創建沙盒語言的能力,以便Python能夠加載它。使用Python本身進行沙盒評估看起來幾乎是不可能的,但這似乎是另一種實現語言的途徑。

如果我想追求這個冒險,我會從哪裏開始?什麼可能是更好的方法,我會在哪裏找到更多其他方法?

+2

有趣的問題,但不是真正的SO類型的問題。 – Iguananaut

+0

我相當肯定你可以,但它可能最終會成爲一個大型項目。 – Anorov

+0

@Iguananaut,那會是一個什麼樣的問題? – Kelketek

回答

3

Why the lucky stiff曾經hacked together將Ruby代碼編譯成Python字節碼的腳本。我記得它適用於簡單的Ruby腳本。你可以看看來源,看看他是如何做到的。

編輯:所以他所做的是讓Ruby VM生成Ruby字節碼,而不是將該字節碼轉換爲Python。看看Python字節碼是如何組裝的,可能仍然很有趣:)