Gui*_*nal 7 ruby compiler-construction interpreter
如果我采用ruby代码
puts "Hello World!"
Run Code Online (Sandbox Code Playgroud)
并使用Ruby的C API重写它
#include "ruby.h"
int main() {
ruby_init();
rb_funcall(Qnil, rb_intern("puts"), 1, rb_str_new2("Hello World!"));
ruby_finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
并编译它,这是一种编译Ruby代码的方法吗?
如果我创建一个Ripper用于解析Ruby代码并将其重写为C的程序,我可以将其称为"Ruby编译器"吗?有一些ruby代码不能以这种方式在Ruby中重写吗?有人曾尝试过编写这种"编译器"吗?
关于这个主题的几篇好文章:
您还听说过水晶吗?虽然不是真正的 Ruby,但它看起来很有趣:
Crystal 是一种编程语言,其目标如下:
- 与 Ruby 具有相同的语法,或者至少尽可能相似。
- 永远不必指定变量或方法参数的类型。
- 能够通过在 Crystal 中编写绑定来调用 C 代码。
- 具有编译时评估和代码生成,以避免样板代码。
- 编译为高效的本机代码。
关于它:有人尝试过 Crystal 编程语言(机器代码编译的 Ruby)吗?
另一个具有相同目的但主要针对嵌入式开发的(商业)项目:http ://foundry-lang.org/
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |