跳转到主要内容

基于`compiler.ast`抽象语法树的Python源代码生成器。

项目描述

概述

此包提供了一个模块级源代码生成器,它操作于内置的`compiler.ast`模块的AST。

请注意,此AST与Python 2.6中的新`ast`模块不兼容。

用法

生成器在AST解析树上工作。

>>> from compiler import parse
>>> tree = parse("""\
...     print 'Hello, world!'
... """)

现在我们可以使用源代码生成器生成与原始代码等效的Python代码。

>>> from sourcecodegen import ModuleSourceCodeGenerator
>>> generator = ModuleSourceCodeGenerator(tree)
>>> print generator.getSourceCode()
print 'Hello, world!'

作者

Malthe Borch <mborch@gmail.com>

变更日志

0.6.14(发布于2011年5月19日)

  • 修复了在子脚本上下文之外出现的ast.Sliceobj问题(这是一个不寻常的结构,不幸的是,Python的旧AST编译器可以理解它,但无法从源代码中重现)。

    此问题影响至少Zope的RestrictedPython包。[malthe]

  • 修复了具有文档字符串和函数体的函数会得到不正确缩进的问题。[malthe]

0.6.13(发布日期:2011年2月28日)

  • 增加了对函数文档字符串的支持。[malthe]

0.6.12(发布日期:2010年1月12日)

0.6.11(发布日期:2009年7月15日)

  • 增加了对三目运算符(Python 2.5+)的支持。[malthe]

0.6.10(发布日期:2009年7月6日)

  • 修复了赋值表达式中节点和表达式的顺序问题。[malthe]

0.6.9(发布日期:2009年5月19日)

  • 修复了有时变量关键字参数处理不正确的问题。[malthe]

  • 修复了身份运算符处理不正确的问题。[malthe]

0.6.8(发布日期:2009年5月18日)

  • 修复了删除运算符未被当作语句处理的问题。[malthe]

0.6.7(发布日期:2009年4月22日)

  • 修复了星号和双星号参数打印时没有带‘*’和‘**’前缀的问题。[malthe]

0.6.6(发布日期:2009年4月17日)

  • 修复了语句中多次丢弃元素会得到错误缩进的问题。[malthe]

0.6.5(发布日期:2009年2月19日)

  • 修复了模块文档字符串会导致不希望的缩进的问题。[malthe]

0.6.4(发布日期:2009年1月24日)

  • 添加了生成代码的便利方法。[malthe]

0.6.3(发布日期:2008年12月18日)

  • 允许在Python 2.4下正确运行(try/finally修复)。[chrism]

0.6.2(发布日期:2008年12月14日)

  • 修复了lambda块缩进错误的问题;现在函数体总是被正确清除。[malthe]

0.6.1(发布日期:2008年12月13日)

  • 修复了在某些情况下生成器不会被优先考虑的问题。[malthe]

0.6(发布日期:2008年12月13日)

  • 现在考虑了运算符优先级,这样我们可以避免不必要的括号使用。这不仅是出于美观考虑,更重要的是为了避免由于Python的嵌套限制而导致的解析错误。[malthe]

0.5(发布日期:2008年11月28日)

  • 添加了yield和一元运算符。[malthe]

0.4(发布日期:2008年11月28日)

  • 确保所有二元运算符周围都有括号;我们可能在将来能够在这方面做得更好(出于可读性考虑)。[malthe]

0.3(发布日期:2008年11月27日)

  • 添加了逻辑运算符。[malthe]

  • 修复了元组解包问题。[malthe]

  • 添加了for循环。[malthe]

0.2(发布日期:2008年11月27日)

  • 修复了元组和括号的问题。[malthe]

  • 修复了多重赋值问题。[malthe]

  • 添加了对not运算符的支持。[malthe]

  • 修复了如果没有非关键字参数时,默认参数会被错误书写的问题。[malthe]

  • 修复了语句不会被正确清除的问题。[malthe]

  • 赋值是语句,应该终止。[malthe]

0.1(发布日期:2008年11月26日)

  • 初始发布。

项目详情


下载文件

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

源代码分发

sourcecodegen-0.6.14.tar.gz (13.6 kB 查看哈希值)

上传时间

支持