18.1.3 Interrogazioni su oggetti AST

Vengono fornite due funzioni che consentono ad un'applicazione di determinare se un AST sia stato creato come espressione o come suite. Nessuna di esse può venire impiegata per determinare se un AST sia stato creato da codice sorgente tramite expr() o suite() o da un albero di analisi mediante sequence2ast().

isexpr( ast)
Questa funzione restituisce vero quando ast rappresenta una forma 'eval', altrimenti assume come valore falso; cosa utile, visto che per ottenere queste informazioni non si possono interrogare gli oggetti codice tramite le funzioni built-in esistenti. Notate che non si possono interrogare così nemmeno oggetti codice creati da compileast(), uguali a quelli creati con la funzione built-in compile().

issuite( ast)
Questa funzione ricopia isexpr() nel riportare se un oggetto AST rappresenti un modello 'exec', comunemente noto come ``suite.'' Non è prudente supporre che questa funzione equivalga a "not isexpr(ast)", dato che in futuro potrebbero venire supportati dei frammenti sintattici aggiuntivi.

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