sourcecodegen é uma biblioteca Python que fornece um nível de módulo gerador de código-fonte que opera no AST do módulo interno de compiler.ast.
Note que este AST não é compatível com o novo módulo de ast em Python 2.6.
Uso:
O gerador funciona em árvores AST analisar.
& Nbsp; >>> from compilador importação parse
& Nbsp; >>> tree = parse ("" "
& Nbsp; ... print 'Olá, mundo! "
& Nbsp; ... "" ")
Nós agora podemos gerar Python código equivalente ao original usando o gerador de código-fonte.
& Nbsp; >>> from sourcecodegen importação ModuleSourceCodeGenerator
& Nbsp; >>> gerador = ModuleSourceCodeGenerator (árvore)
& Nbsp; >>> print generator.getSourceCode ()
& Nbsp; print 'Olá, mundo! "
O que é novo nesta versão:
- Corrigido problema onde um ast.Sliceobj fora do contexto de subscritos (esta é uma construção estranho que infelizmente é entendido por compilador AST legado de Python, mas não é possível reproduzir a partir do código fonte).
- O problema afeta pelo menos pacote RestrictedPython do Zope. [Malthe]
- Corrigido problema onde uma função com uma docstring e um corpo de função obteria recuo incorreta. [Malthe]
O que é novo na versão 0.6.13:
- Adicionado suporte para docstrings de função. [Malthe]
O que é novo na versão 0.6.12:
- Adicione o texto licença repoze em LICENSE.txt com permissão de autor. http://lists.repoze.org/pipermail/repoze-dev/2010-January/002554.html [jinty]
O que é novo na versão 0.6.11:
- Adicionado suporte para o operador ternário (Python 2.5+) . [Malthe]
O que é novo na versão 0.6.10:
- ordem fixa de nó e expressão para atribuição aumentada. [Malthe]
O que é novo na versão 0.6.9:
- Corrigido problema onde keyword-argumentos variáveis, às vezes, não ser manuseado corretamente. [Malthe]
- Corrigido problema onde operador de identidade não seria tratado corretamente. [Malthe]
O que é novo na versão 0.6.8:
- Corrigido problema onde o operador delete não seria tratada como uma declaração. [Malthe]
O que é novo na versão 0.6.7:
- Corrigido o problema onde os argumentos estrela e duplo-estrela faria ser impresso sem o "*" eo prefixo "**". [Malthe]
O que é novo na versão 0.6.6:
- Corrigido problema onde vários elementos descartados em um comunicado faria obter recuo errado. [Malthe]
Requisitos :
- Python
Comentários não encontrado