Python · Avançado · Inglês · Técnico
AST
Á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.