基于LLVM架构为Python创建前端需要什么?

Pra*_*waj 5 python compiler-construction llvm

我是编译器设计的新手.我知道编译器设计的基础知识.我想开发一个以python程序作为输入并使用LLVM库和LLVM JIT编译器生成输出的前端.有人可以指出我正确的方向或提供阅读的一些链接?我必须编写哪些基本块才能执行此操作?

编辑:我选择这个作为我的项目.我有将近两个半月的时间来实现这一点.我想为python的一小部分实现它.

Dim*_*nek 1

你可以重新编译Python字节码,然后你可以保留Python语法。即语言前端本身。如果你想要很大的改进,你可能必须改变 libpython。

看看 pyastra 和 pymite 项目,它们执行 python 和本机执行的子集。

Cython 可以作为 python 和编译之间的中间方式很有用。

从更大的范围来看,可以看看 PyPy、Psyco 和 Unladen Swallow。