Skip to main content

从 Python 的 ast 重建一个新的抽象语法树

项目描述

这是什么 ?

这个模块的目的是为pychecker、pyreverse、pylint等项目提供python源代码的通用基础表示……嗯,实际上这个库的开发本质上是由pylint的需求决定的。

它提供了来自_ast模块的兼容表示。它通过递归地遍历 AST 并构建扩展的 ast(我们称之为 astng ;)来重建由内置 _ast 模块生成的树。新的节点类具有针对不同用途的附加方法和属性。它们包括对静态推理和本地名称范围的一些支持。此外,astng 通过检查活体来构建部分树。

主要模块有:

  • basesnode_classsesscoped_nodes包含树的不同类型节点的类。

  • 管理器包含一个高级对象,用于从源文件和活动对象中获取 astng 树。它维护先前构建的树的缓存以便快速访问

安装

解压tarball,跳转到创建的目录并运行

python setup.py install

有关安装选项,请参见

python setup.py install --help

如果您有任何问题,请发送邮件至 python- project @lists 逻辑实验室org邮件列表以获得支持。有关订阅信息和档案,请参见 http://lists.logilab.org/mailman/listinfo/python-projects

测试

测试位于“测试”子目录中。要立即启动整个测试套件,您可以使用 logilab-common 中的 'pytest' 实用程序(只需在此目录中输入 'pytest'),或者如果您正在运行 python >= 2.7,则使用 discover,例如:

python -m unittest discover -p "unittest*.py"

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

logilab-astng-0.24.3.tar.gz (106.7 kB 查看哈希

已上传 source