如何将Pharo VM用于我自己的编程语言实现? 我在哪里可以找到关于俚语的教程和/或从头开始制作我自己的.image?
答案 0 :(得分:1)
事实上,在Smalltalk中,您不会从头开始构建.image
。你所做的是在现有的Smalltalk方言中构建自己的编程语言,直到你获得能够独立运行的东西。其中一个例子是ForkJoin 2 BehaviorSubjects。另一个是Newspeak。此外,Cuis本身在从Pharo分叉时采用了这条路径。
当然,所有这些都是重大项目。如果您的动机是提供自己的语法和编程规则(例如,类型声明等),那么您不需要从头开始构建完整的.image
,而是构建您的语言(Compiler
和Pharo里面的用户界面,无论如何都是如此。
答案 1 :(得分:0)
关于SmallTalk中低级编译的一些介绍:
http://www.mirandabanda.org/cogblog/2011/03/01/build-me-a-jit-as-fast-as-you-can/
答案 2 :(得分:0)
您可以使用Helvetia之类的东西制作自己的语言。 https://github.com/UMMISCO/Helvetia
对于CLI支持,有一些命令行处理程序可以提供类似Scale DSL https://github.com/guillep/Scale
的功能Moose支持执行https://ummisco.github.io/kendrick/
之类的操作现在,我知道您可能正在寻找Slang,它实际上是VMMaker的代码生成器。这在http://www.smalltalkhub.com/#!/~PavelKrivanek/CCodeGenerator
作为单个包提供我认为你可以调整它以使用任何编译器。