19.1 L'interfaccia di base

Il livello più alto del package definisce quattro funzioni. Se si importa compiler, si avranno a disposizione queste funzioni ed un insieme di moduli contenuti all'interno del package.

parse( buf)
Restituisce un albero di sintassi astratta per il codice sorgente Python contenuto in buf. Se il codice sorgente presenta degli errori, la funzione solleva l'eccezione SyntaxError. Il valore restituito è un'istanza compiler.ast.Module che contiene l'albero.

parseFile( path)
Restituisce un albero di sintassi astratta per il codice sorgente Python contenuto nel file specificato dal percorso path. È equivalente a parse(open(path).read()).

walk( ast, visitor[, verbose])
Esegue un attraversamento anticipato (pre-order) dell'albero di sintassi astratta ast. Chiama il metodo appropriato sull'istanza visitor per ogni nodo che incontra.

compile( source, filename, mode, flags=None, dont_inherit=None)
Compila la source, che può essere una stringa, un modulo Python, un istruzione o espressione, creando un oggetto codice che può venire eseguito dall'istruzione exec() o eval(). Questa funzione è un rimpiazzo per la funzione built-in compile().

filename, ovvero il nome del file, viene usato per i messaggi di errore run-time.

La modalità mode può essere 'exec' per compilare un modulo, 'single' per compilare una singola istruzione (interattiva), o 'eval' per compilare un'espressione.

Gli argomenti flags e dont_inherit hanno effetto sulle dichiarazioni future, ma non vengono ancora supportati.

compileFile( source)
Compila il file sorgente source e genera un file .pyc.

Il package compiler contiene i seguenti moduli: ast, consts, future, misc, pyassem, pycodegen, symbols, transformer e visitor.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.