10

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

4

5 回答 5

6

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

从一种语言翻译成另一种语言的总体思路并不是特别具有革命性,但它直到最近才在“现实世界”应用程序中获得普及/适用性。 GWT使用 Java(生成 Javascript)来实现这一点,并且还有一个用于将 Haskell 翻译成各种其他语言的库(称为YHC

于 2008-09-03T21:52:46.640 回答
3

如果您想要一些动手示例,PyPy 的入门文档中有一个标题为“试用翻译器”的部分。

于 2008-09-19T00:24:38.407 回答
3

PyPy 翻译器一般来说不适合更公开的使用。我们用它来翻译我们自己的 Python 解释器(包括 JIT 和 GC,都是用 RPython 编写的,这是 Python 的受限子集)。这个想法是,通过良好的 JIT 和 GC,即使不知道或不使用 PyPy 的翻译工具链(更重要的是,不限制自己使用 RPython),您也可以加速。

干杯,菲亚尔

于 2009-06-25T00:41:19.980 回答
2

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

于 2008-08-26T09:06:33.207 回答
1

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

据我所知,PyPy 是新颖的,因为它是第一个专门为实现语言而设计的系统。存在其他工具来帮助大部分前端,例如解析器生成器,或用于后端,例如代码生成,但连接两者的工具并不多。

于 2009-06-25T02:07:47.700 回答