ExpertiDict

Python · Avançado · Inglês · Técnico

AST

/ˌeɪ ɛs ˈtiː/sigla

Árvore sintática abstrata: representação do código-fonte em objetos, obtida com ast.parse. Permite analisar, transformar e até compilar código sem executá-lo.

Onde usar

Base de linters, formatadores e ferramentas de análise estática, e de recursos como o pytest reescrever asserts. Em code review, aparece em scripts que procuram padrões no código.

Em código

import ast
arv = ast.parse('x = 1 + 2')
print(ast.dump(arv.body[0].value))
# saída: BinOp(left=Constant(value=1), ...)

Exemplos

The linter walks the AST looking for that pattern.

O linter percorre a AST procurando esse padrão.

ast.parse builds the tree without running the code.

O ast.parse monta a árvore sem executar o código.

Cuidado

Não confunda com bytecode: a AST descreve a estrutura do código-fonte, enquanto o bytecode é o que a máquina virtual executa depois.

Sinônimos

árvore sintática abstrata

Origem

Sigla de Abstract Syntax Tree, termo da teoria de compiladores.

Veja também

Todos os termos de Python