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

zzz6519003 · September 10, 2019 · Last by darren replied at September 30, 2019 · 3906 hits

hhhh

1 Floor has deleted

ruby 解释 ruby?

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

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

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

Reply to luoyou

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

DSL? Rspec 这类?

dsl 教程推荐?

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

Reply to luoyou

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

You need to Sign in before reply, if you don't have an account, please Sign up first.