O que é um compilador, ou Como fazer um computador entender o que você quer dele?

Índice:

O que é um compilador, ou Como fazer um computador entender o que você quer dele?
O que é um compilador, ou Como fazer um computador entender o que você quer dele?

Vídeo: O que é um compilador, ou Como fazer um computador entender o que você quer dele?

Vídeo: O que é um compilador, ou Como fazer um computador entender o que você quer dele?
Vídeo: Compilador (O Programa Essencial de Todos os Programadores) // Dicionário do Programador 2024, Novembro
Anonim

A etapa final da criação de um programa é traduzir um algoritmo escrito em uma das linguagens de programação (C/C++, Pascal, etc.) para uma linguagem de máquina de baixo nível. Isso se deve ao fato de que, para realizar qualquer tarefa, os computadores precisam receber comandos em uma linguagem que eles entendam, próxima ao binário e operando com estruturas de dados primitivas (bit, byte ou word). O processo de tradução de declarações específicas de domínio de linguagens de alto nível em código binário é chamado de tradução. Existem dois métodos de tradução - compilação e interpretação.

compilador é
compilador é

Compilador - o que é?

A análise de muitas interpretações dos termos "compilador" e "compilação" nos permite destacar a seguinte definição. Um compilador é um programa projetado para traduzir o texto de um algoritmo de origem de uma linguagem de alto nível em um conjunto equivalente de instruções em uma linguagem orientada a máquina. Este é o chamado código objeto, para a montagem subsequente do código objeto resultante em um módulo de programa pronto para uso.

Compilador e interpretador - semelhanças e diferenças

Um interpretador é um utilitário quebem como um compilador, projetado para traduzir código-fonte em código de máquina. No entanto, ao contrário do compilador, o interpretador executa todas as vezes com o programa e executa a tradução linha por linha.

Você pode dizer que o compilador e o interpretador são processadores de linguagem que permitem ao computador reconhecer e executar comandos dados pelo programador.

Classificação do compilador

compilador é um programa
compilador é um programa

Os compiladores são classificados principalmente por características relacionadas às suas áreas de aplicação prática.

Compilador de vetorização é um utilitário que traduz código fonte em código objeto e é adaptado para computadores equipados com processadores vetoriais.

Um compilador flexível é programado em uma linguagem de alto nível de forma modular. Seu gerenciamento é realizado por meio de tabelas. Também é possível executá-lo usando o compilador de compiladores.

Compilador incremental é um processador de linguagem que retraduz fragmentos separados de código-fonte e adições a ele. No entanto, evita recompilar todo o aplicativo.

Um compilador interpretativo (stepping) é um utilitário que executa sequencialmente a compilação independente de cada instrução ou comando de um código-fonte de alto nível.

Um compilador de compiladores é um tradutor capaz de aceitar uma descrição formal para uma linguagem de programação e gerar independentemente um compilador para qualquer linguagem.

compilador e interpretador
compilador e interpretador

O compilador de depuração permite que você encontre e corrija alguns tipos de erros de sintaxe cometidos ao escrever o código-fonte

Um compilador residente ocupa um lugar permanente na RAM e, portanto, é reutilizável por uma ampla gama de tarefas.

O compilador autocompilado é escrito no mesmo idioma da tradução.

O compilador universal é baseado em uma descrição formal dos parâmetros semânticos e sintáticos da linguagem de entrada. Os principais componentes de tal utilitário são os carregadores centrais, sintáticos e semânticos.

Dispositivo do compilador

Um compilador e um linker estão no coração de qualquer compilador. Muitas vezes, ao compilar, um vinculador externo é usado e o próprio compilador executa apenas a função de tradução. Acontece também que o compilador é implementado como uma espécie de programa gerenciador que está associado ao tradutor (ou tradutores, caso tenham sido utilizadas linguagens de programação diferentes ao escrever o código fonte) e ao linker e inicia sua execução quando necessário.

Linguagens de programação e métodos de tradução

compilador de linguagem
compilador de linguagem

Apesar de um programa escrito em qualquer linguagem de programação poder ser compilado e interpretado, muitas linguagens de alto nível têm predisposição a um ou outro método de tradução. Assim, a linguagem C foi originalmente projetada para compilação e Java - para a interpretação do programa escrito. Estão sendo desenvolvidosCompiladores C são bastante fáceis, graças ao seu nível relativamente baixo e um pequeno número de elementos estruturais.

Vantagens e desvantagens de compiladores e interpretadores. Aplicações

Observe que as aplicações compiladas são mais rápidas que as interpretadas, mas ao mesmo tempo, o código de máquina obtido como resultado da compilação depende da plataforma de hardware. Portanto, um programa escrito e compilado para Windows não funcionará, por exemplo, no Linux. Portanto, no caso de aplicações de Internet, quando é impossível dizer antecipadamente em qual ambiente irão funcionar, elas utilizam interpretação ou bytecode (neste caso, o programa fonte é convertido em uma forma intermediária que pode ser executada em diversos hardwares). plataformas).

Recomendado: