2017-04-06 44 views

回答

1

事實上,在Smalltalk中,您不會從頭開始構建.image。你所做的是在現有的Smalltalk方言中建立你自己的編程語言,直到你得到可以獨立運行的東西。其中一個例子是Newspeak。另一個是Cuis。而且,Pharo本身在從Squeak分叉時也採用了該路徑。

當然,這些都是重大項目。如果你的動機是提供你自己的語法和編程規則(例如,類型聲明等),那麼你不需要從零開始構建完整的.image,而是在Pharo中構建你的語言(Compiler和UI),它在任何情況下都是如此。

+0

在大型系統中做翻譯這只是第一步,這一步很明確。但問題是關於下一步:從基本系統「斷開」正在工作的託管解釋器,如「回到特性」文章中所述。我在slang \ vmmaker上看到了很多註釋,這個包看起來就像準備好使用這個工具來完成第二步。 –

+0

我想到其他的東西 - 我想測試俚語作爲crosstranslator微型微控制器與幾KB的閃存/ RAM。在完整的smalltalk系統中調試代碼(不是用硬件硬件連線)看起來很有吸引力。 –

+0

@DmitryPonyatov我不明白在Smalltalk中你看起來有什麼吸引力,因爲你想用Slang來爲微控制器生成C語言。俚語部分是你幾乎不能使用完整的Smalltalk系統,現場編程和大部分工具的東西。俚語僅用於從Smalltalk的子集中生成C代碼。 –

0

您可以使用像海爾維自己的語言。 https://github.com/UMMISCO/Helvetia

對於CLI支持,有命令行處理程序,可以像秤DSL https://github.com/guillep/Scale

穆斯提供了做這樣的事情https://ummisco.github.io/kendrick/

現在的支持,我知道你可能會尋找俚語帶來的東西,這實際上是VMMaker的代碼生成器位。這是作爲一個單一的包在http://www.smalltalkhub.com/#!/~PavelKrivanek/CCodeGenerator

我認爲你可以得到這個調整使用任何編譯器。