Compilador (compiler): o que é?

Compilador (compiler). Se você é um entusiasta de tecnologia, já deve ter ouvido esta palavra ou suas variações, como: compilar, compilado, etc.

 

Veremos neste artigo o que é um compilador.

 

Basicamente o compilador é um programa que processa comandos escrito em uma linguagem de programação específica e o “traduz” em linguagem de máquina ou “código” que o processador utiliza.

 

Cada tipo/modelo de processador pode ter um compilador equivalente, pois as instruções/comandos podem variar.

Compilador: como funciona

 

O nome compilador vem da forma como ele funciona, observando o código-fonte inteiro e coletando e reorganizando suas instruções. Um compilador é diferente de um interpretador, que analisa e executa cada linha de código fonte em sequência, sem olhar para todo o programa. A vantagem dos interpretadores é que eles podem executar um programa imediatamente. Compiladores exigem uma etapa anterior: a criação de um programa executável. No entanto, os programas produzidos pelos compiladores são muito mais rápidos do que os mesmos programas executados por um interpretador.

 

Normalmente o programador escreve seu programa em uma linguagem como Visual Basic ou C# utilizando um editor. O arquivo criado desta forma também é chamado de código-fonte. O programador então executa o compilador específico sobre este arquivo.

 

Ao ser executado, o compilador primeiro analisa todas as instruções de linguagem sintaticamente uma após a outra e então, em uma ou mais etapas sucessivas ou “passagens“, constrói o código de saída, certificando-se de que as instruções que se referem a outras instruções são referidas corretamente no código final. Tradicionalmente, a saída da compilação tem sido chamada de objeto-código (object code) ou às vezes um módulo objeto (object module). O objeto é código de máquina que o processador pode executar, uma instrução de cada vez.

Evolução

 

A linguagem de programação Java (usada na programação orientada a objetos) introduziu a possibilidade de compilação de saída (chamada bytecode) que pode ser executada em qualquer plataforma de sistema de computador que possua uma máquina virtual Java ou intérprete de bytecode para converter o bytecode em instruções que podem ser executados pelo processador de hardware real. Usando esta máquina virtual, o bytecode pode opcionalmente ser recompilado na plataforma de execução por um compilador just-in-time.

 

Tradicionalmente, em alguns sistemas operacionais, era necessária uma etapa adicional após a compilação – a de resolver a localização relativa de instruções e dados quando mais de um módulo de objeto deveria ser executado ao mesmo tempo e eles se referiam mutuamente a sequências de instruções ou dados. Este processo foi às vezes chamado de edição de ligação (linkage editing) e a saída conhecida como um módulo de carga (load module).

 

Um compilador funciona com o que às vezes são chamados de 3GL e linguagens de nível superior (higher-level languages). Um assembler funciona em programas escritos usando a linguagem assembler do processador.

Lembrando que a fanpage do Celso no Facebook também tem conteúdo sobre empreendedorismo!

 

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!