2017-04-06 48 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

我认为你可以得到这个调整使用任何编译器。