有Rust解释器吗?

时间:2019-05-16 22:23:22

标签: compilation rust computer-science interpreter

我只是从Rust入手,想知道:是Rust解释器吗?使用解释器,Rust编译器无需在每次调用时都编译所有源文件,而仅在代码更改时对其进行解释。这就是JavaScript和Python没有真正的编译时间的方式。

Rust有增量编译功能,但是对于大型项目仍然很慢。对于Web IMO来说,这将为GUI开发带来福音。

2 个答案:

答案 0 :(得分:3)

我认为最想看到的是Rust Language Server。具体来说,IDE使用此功能仅输入更改,从而使代码编译更快。

还有work on RLS 2.0,您可能有兴趣观看/贡献。

就UI / Web而言,这是另外一个蜡球,我还不太幸运。

答案 1 :(得分:2)

,当前没有Rust解释器可以简单地代替rustc进行编译。

miri,它是MIR的解释器,Rust是“中级中间表示形式”(基本上定义了控制流程图)。 Rust编译器生成MIR代码作为其常规管道的一部分。此MIR代码通常接下来会转换为LLVM-IR,然后再由LLVM转换为机器代码。 Miri允许直接解释该MIR代码。

但是,Miri并不是真正为程序员而设计的,而不是编译它们来解释他们的项目。至少还没有。相反,它主要用于检查不安全的代码是否存在未定义的行为:动态代码分析工具/清理工具。此外,Miri仍然受到显着限制。特别是,上次我检查时,不支持extern "C"个呼叫。

我还要说,Rust不像其他语言那样适合完全解释。 Rust编译器会对源代码执行大量繁重的分析,而这必须在某种程度上以某种方式进行。