mva*_*een 7 python pypy cpython abstract-syntax-tree built-in
我正在研究Python的文档API我正在调用Python Docs,我注意到我的静态分析套件几乎无法访问所有内置函数,因为它们几乎都是C模块.据我所知,我不能想到这条规则有任何例外.
我的问题的第一部分很简单,是否内置模块预先假定是CPython中的C扩展?
假设可能是这种情况,我编译了一个新的pypy运行时,并尝试使用我的项目来反对pypy的内置函数.我惊讶地发现这也不起作用.
为什么PyPy模块不是AST对象,如果它们是纯Python?这是PyPy在JIT上托管的副作用吗?
PyPy 由两部分组成——Python 解释器和翻译工具链。
翻译工具链将解释器从 RPython 翻译/“编译”为机器代码。
因此,尽管 PyPy 是用 Python 子集的语言编写的,但当您使用它时,它并不是 Python。
您应该阅读PyPy Parser 文档的编译器部分以及这篇博客文章,其中描述了 PyPy 中的 AST 功能镜像了 CPython 中的功能。
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |