我一直很难理解 PyPy 的翻译。从简单的阅读描述来看,它看起来绝对是革命性的,但是我很难找到关于将现实世界的代码实际转换为 LLVM 等内容的良好文档。这样的事情存在吗?PyPy 的官方文档只是略读了其功能,而不是提供我可以自己尝试的任何内容。

有帮助吗?

解决方案

该文档似乎涉及相当多的细节(我认为完整的描述超出了 stackoverflow 答案的范围):

从一种语言翻译成另一种语言的总体想法并不是特别具有革命性,但它直到最近才在“现实世界”应用程序中变得流行/适用。 总吨位 使用 Java(生成 Javascript)来完成此操作,并且还有一个库可以将 Haskell 翻译成各种其他语言(称为 永华)

其他提示

如果你想要一些实际例子, PyPy 入门 文档中有一个标题为“试用翻译器”的部分。

PyPy 翻译器是一般性的,不适合更多公众使用。我们使用它来翻译自己的python解释器(包括用rpython编写的JIT和GCS,这是Python的受限子集)。这个想法是,凭借良好的JIT和GC,即使不知道或使用PYPY的翻译工具链,您也可以加速加速(更重要的是,不限于Rpython)。

欢呼,斐济

您是在寻找 Python 特定的翻译,还是只是一般的“如何将某些代码编译为字节码”?如果您属于后者,请检查 LLVM 教程. 。我特别发现第二章很有趣,它教你为自己的语言编写编译器。

从简单的描述来看,它看起来绝对是革命性的,

据我所知,PyPy 是新颖的,因为它是第一个专门为 实施 语言。还有其他工具可以帮助处理前端的大部分工作(例如解析器生成器)或后端(例如代码生成),但用于连接两者的工具并不多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top