什么是开发爱好语言的好VM?

Pep*_*ijn 8 jvm language-design parrot osascript vm-implementation

我正在考虑写自己的小语言.

我找到了一些选择,但可以随意提出更多建议.

  • JVM
  • 鹦鹉
  • OSA

很多语言都在使用JVM,但除非你编写一个Java-ish语言,否则stdlib给你的所有功能都会让你感到难过; 它在动态的东西上也不是很好.

Parrot似乎是开发语言的好VM,但它有一点废弃/未完成/爱好项目的味道.

OSA是Applescript的推动力,而不是一个特别知名的虚拟机,但我使用的是Mac,它提供了良好的系统集成.

CLR + Mac似乎不是一个很好的组合......

我的语言将成为面向对象的功能并发数据流语言,具有强类型和Python和Lisp语法的混合.听起来不错,嗯?

[编辑]
我现在接受了Python,但我想更多地了解OSA和Parrot.

Gre*_*ill 5

我玩过的一种方法是使用Python ast模块构建一个表示要运行的代码的抽象语法树.Python compile函数可以将AST编译为Python字节码,然后exec可以运行.这比直接生成字节码要高一些,但是你必须处理一些Python语言的怪癖(例如,语句和表达式之间的根本区别).

在这样做的过程中,我还编写了一个"deparse"模块,试图将AST转换回等效的Python源代码,仅用于调试.如果您有兴趣,可以在psil存储库中找到代码.

  • 是不是更容易使用Parrot,它被设计为通用? (2认同)