Python/Conceitos básicos/Compilador de Byte
Python é uma linguagem de muito alto-nível como já dito, mas ela também pode compilar seus programas para que a próxima vez que o executar não precise compilar novamente o programa, ganhando assim velocidade na execução.
Utilizando o interpretador interativo não é necessário a criação do arquivo de Python compilado, os comandos são executados interativamente. Mas ao chamarmos um programa ou um módulo, o interpretador irá verificar a análise léxica, sintática e irá compilar o código de alto-nível e executá-lo, esta é a máquina virtual Python.
O código de byte da linguagem também é de alto-nível, ou seja, é mais legível aos seres humanos que o código de byte do C, por exemplo. Para desassemblar um código de byte é utilizado o módulo dis da biblioteca padrão da linguagem.
Normalmente o Python trabalha com dois grupos de arquivos:
- Os módulos do núcleo da linguagem, sua biblioteca padrão e os módulos independentes, criados pelo usuário.
- No núcleo do interpretador existe o analisador léxico, o analisador sintático que utiliza Estruturas de Objetos (tempo de execução), o Compilador que aloca memória (tempo de execução) e depois do Avaliador de código que modifica o estado atual do programa (tempo de execução), mostrando resultado para o usuário.