在Python中将Python AST/code转换为CFG

2024-09-30 02:37:00 发布

您现在位置:Python中文网/ 问答频道 /正文

根据我的研究,Python中Python代码的主要CFG生成器似乎是PyPy流模型(http://doc.pypy.org/en/latest/objspace.html#the-flow-model),但它似乎有使用RPython的局限性。大多数限制并不妨碍CFG生成,但也有少数限制会妨碍CFG生成,例如将for循环限制为内置类型和生成器限制。在

CPython似乎在compile.c中生成一个“complete”CFG,然后从中发出字节码。然而,这一切都是用C语言完成的,而我到目前为止的工作都是用Python完成的。从CPython中提取CFG似乎还需要一些黑客攻击。在

在Python中实现的Python代码是否没有“完整的”CFG生成器?在

我并不完全反对自己构建一个与ast模块相关联的想法,但我想在深入研究之前确保我知道所有的选择。在


Tags: the代码org模型httpdochtmlpypy

热门问题