跳转到主要内容

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

项目描述

这是什么?

此模块的目的是为pychecker、pyreverse、pylint等类似项目提供Python源代码的通用基础表示。实际上,此库的开发主要受pylint需求驱动。

它提供了一种兼容的表示,来源于_ast模块。通过递归遍历AST并构建扩展ast(让我们称其为astng;),它重新构建了内置_ast模块生成的树。新的节点类具有针对不同用途的额外方法和属性。它们包括对静态推理和局部名称作用域的支持。此外,astng通过检查活动对象来构建部分树。

主要模块包括

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

  • manager包含一个高级对象,用于从源文件和活动对象获取astng树。它维护之前构建的树的缓存,以实现快速访问。

安装

解压tarball,进入创建的目录,然后运行

python setup.py install

有关安装选项,请参阅

python setup.py install --help

如果您有任何问题,请向python-project@lists.logilab.org邮件列表发送邮件以获取支持。有关订阅信息和存档,请参阅http://lists.logilab.org/mailman/listinfo/python-projects

测试

测试在“test”子目录中。要一次性启动整个测试套件,您可以使用来自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 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面