瞎扯淡 用 Ruby 造个小语言的可能性如何?

zzz6519003 · 2019年09月10日 · 最后由 darren 回复于 2019年09月30日 · 3917 次阅读

hhhh

1 楼 已删除

ruby 解释 ruby?

这要分两种情况,你想实现的是编译型的语言还是解释型的语言。

  1. 编译型的语言并不在意母语言是什么,因为最终是需要将语言生成机器码,例如采用 llvm 作为编译器后端,那生成 llvm 的中间码就可以了。
  2. 解释型的语言又分为直接引用 ruby 进行解释,还是用 ruby 写一个高效的解释器来执行解释,如果直接生成 ast 用 ruby 解释的话,ruby 本身的性能并不高,再直接用 ruby 进行解释,性能就更差了。

顺带一提 Rubinius,就是以 C++ 为基础,其他大部分代码都是 ruby 实现的 ruby 解释器,核心那部分的性能还是需要 C++ 来支撑一波。

luoyou 回复

解释。。因为耐不住 c 编译的寂寞。。。

DSL? Rspec 这类?

qq2729877005 回复

dsl 教程推荐?

如果做语言的话,ruby 适合做 dsl, 如果要重新发明一个语言,不建议使用 ruby,因为效率太低 如果是从 ruby 到另一种语言,那就是语言的编译和移植

luoyou 回复

同意,真正做一门语言离不开 c 和 c++,因为需要和硬件交互,如果在 ruby 的基础上开发,移植更合适

需要 登录 后方可回复, 如果你还没有账号请 注册新账号