sourcecodegen è una libreria Python che fornisce un generatore di codice sorgente a livello di modulo che opera sul AST dal modulo incorporato compiler.ast.
Si noti che questo AST non è compatibile con il nuovo modulo AST in Python 2.6.
Utilizzo:
Il generatore funziona sugli alberi AST sintattici.
& Nbsp; >>> dal compilatore import parse
& Nbsp; >>> albero = parse ("" "
& Nbsp; ... print 'Ciao, mondo!'
& Nbsp; ... "" ")
Ora possiamo generare Python-codice equivalente all'originale utilizzando il generatore di codice sorgente.
& Nbsp; >>> da sourcecodegen importazione ModuleSourceCodeGenerator
& Nbsp; >>> generatore = ModuleSourceCodeGenerator (albero)
& Nbsp; >>> print generator.getSourceCode ()
& Nbsp; print 'Ciao, mondo!'
Cosa c'è di nuovo in questa versione:
- Risolto il problema per cui un ast.Sliceobj al di fuori del contesto di indici (si tratta di una costruzione dispari che purtroppo è compreso da compilatore AST eredità di Python, ma non è possibile riprodurre dal codice sorgente).
- Il problema riguarda almeno pacchetto RestrictedPython di Zope. [Malthe]
- Risolto il problema per cui una funzione con un docstring e corpo di una funzione otterrebbe rientro errato. [Malthe]
Cosa c'è di nuovo nella versione 0.6.13:
- Supporto di docstring funzione. [Malthe]
Cosa c'è di nuovo nella versione 0.6.12:
- Aggiungi Repoze testo della licenza in LICENSE.txt con il permesso di autore. http://lists.repoze.org/pipermail/repoze-dev/2010-January/002554.html [Jinty]
Cosa c'è di nuovo nella versione 0.6.11:
- Aggiunto il supporto per l'operatore ternario (Python 2.5+) . [Malthe]
Cosa c'è di nuovo nella versione 0.6.10:
- ordine fisso di nodi e di espressione per l'assegnazione aumentata. [Malthe]
Cosa c'è di nuovo nella versione 0.6.9:
- Risolto un problema di parole chiave-argomenti variabili a volte non essere gestite correttamente. [Malthe]
- Risolto il problema per cui l'operatore identità non sarebbe stata gestita correttamente. [Malthe]
Cosa c'è di nuovo nella versione 0.6.8:
- Risolto il problema per cui l'operatore delete sarebbe non essere trattati come una dichiarazione. [Malthe]
Cosa c'è di nuovo nella versione 0.6.7:
- Risolto problema dove argomenti stella e fare doppio stella sarebbe essere stampato senza l''*' e '**' prefisso. [Malthe]
Cosa c'è di nuovo nella versione 0.6.6:
- Risolto il problema per cui più elementi scartati in un comunicato sarebbe ottenere rientro sbagliato. [Malthe]
Requisiti
- Python
I commenti non trovato