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

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

hhhh

共收到 8 条回复
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的基础上开发,移植更合适

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