Compilador

Definição - o que significa compilador?

Um compilador é um programa de software que transforma o código-fonte de alto nível que é escrito por um desenvolvedor em uma linguagem de programação de alto nível em um código-objeto de baixo nível (código binário) em linguagem de máquina, que pode ser entendido pelo processador. O processo de conversão da programação de alto nível em linguagem de máquina é conhecido como compilação.

O processador executa o código-objeto, que indica quando os sinais binários alto e baixo são necessários na unidade lógica aritmética do processador.

Definirtec explica Compiler

Um compilador que converte a linguagem de máquina em linguagem natural de alto nível é chamado de descompilador. Compiladores que produzem o código-objeto destinado a ser executado em um sistema são chamados de compiladores cruzados. Por fim, um compilador que converte uma linguagem de programação em outra é chamado de tradutor de linguagem.

Um compilador executa quatro etapas principais:

  • Exploração: O scanner lê um caractere por vez do código-fonte e mantém o controle de qual caractere está presente em qual linha.
  • Análise Lexical: O compilador converte a sequência de caracteres que aparecem no código-fonte em uma série de cadeias de caracteres (conhecidas como tokens), que são associadas por uma regra específica por um programa chamado analisador léxico. Uma tabela de símbolos é usada pelo analisador léxico para armazenar as palavras no código-fonte que correspondem ao token gerado.
  • Análise Sintática: Nesta etapa, a análise de sintaxe é executada, o que envolve o pré-processamento para determinar se os tokens criados durante a análise lexical estão na ordem adequada de acordo com seu uso. A ordem correta de um conjunto de palavras-chave, que pode produzir um resultado desejado, é chamada de sintaxe. O compilador deve verificar o código-fonte para garantir a precisão sintática.
  • Análise Semântica: Esta etapa é composta de várias etapas intermediárias. Primeiro, a estrutura dos tokens é verificada, junto com sua ordem em relação à gramática em um determinado idioma. O significado da estrutura do token é interpretado pelo parser e analisador para finalmente gerar um código intermediário, denominado código-objeto. O código do objeto inclui instruções que representam a ação do processador para um token correspondente quando encontrado no programa. Finalmente, todo o código é analisado e interpretado para verificar se alguma otimização é possível. Depois que as otimizações podem ser realizadas, os tokens modificados apropriados são inseridos no código do objeto para gerar o código do objeto final, que é salvo dentro de um arquivo.