Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 3

Capítulo 6

Estrutura geral
de compiladores
Informática 1 capítulo 6

Figura 170
IDE NetBeans.

N os primeiros sistemas computacionais, a programação era feita


por meio de painéis com fios e cabos. O programador precisava
possuir um conhecimento avançado sobre a arquitetura do com-
putador – cada uma de suas peças – para poder criar uma aplicação no sistema.
Atualmente, com as linguagens de programação, o processo de desenvolvimento
de softwares se tornou mais fácil, pois não exige que o profissional saiba, em
profundidade, como funciona o hardware, porque isso fica a critério do próprio Na maioria das vezes, para melhorar sua rotina o programador adota uma IDE
sistema operacional. (Integrated Development Environment), ou seja, um ambiente de desenvolvi-
mento integrado, onde há – além de um editor de textos, muitas vezes capaz de
O compilador é um software que tem a função de traduzir o código-fonte desen- corrigir e sugerir o código durante sua digitação – um depurador, um compi-
volvido pelo programador em um software que possa ser executado diretamente lador, um linker e uma interface facilitada para executar o software, depois de
pelo usuário, ou seja, você escreve todo o código-fonte e depois pede para o com- compilado. Exemplos de IDEs são o NetBeans, o Eclipse (Java) e o DevC++
pilador convertê-lo em um programa. Uma vez tendo o programa em mãos, você (C++), ilustrados nas figuras 170, 171 e 172.
pode distribuí-lo aos amigos, instalá-lo em uma empresa etc. O compilador é um
tipo de tradutor, como veremos adiante. Interpretador é um tipo de tradutor que não gera programas, simplesmente exe-
cuta as instruções no momento em que o usuário as solicita. Exemplos de lingua-
Quando um programador desenvolve um software por meio de um código- gens de programação interpretadas: PHP, Perl e Basic.
fonte, ele necessita converter esse código para uma linguagem de máquina, ou
seja, que a máquina entenda. Para isso, usa-se um tradutor, que é um utilitário A maior desvantagem, nesse caso, é que o código-fonte fica visível para o usuário,
com a função de facilitar a vida do programador, convertendo o código de- de maneira que qualquer pessoa poderá copiar o que você criou. Outra ressalva é
senvolvido em uma linguagem de alto nível (entendida mais facilmente pelo
programador) em uma linguagem de máquina (entendida pelo computador). Figura 171
Dependendo da linguagem utilizada pelo programador, o tradutor pode ser de Eclipse.
um destes dois tipos:

• Montador: traduz o código-fonte que foi desenvolvido em linguagem de


montagem, como por exemplo, a Assembly;
• Compilador: traduz o código-fonte que foi desenvolvido em linguagem de
alto nível, como C, C++, Pascal, Java etc.

Os compiladores são bastante utilizados. Nos cursos técnicos de informática e


nos de graduação da área de computação existem diversas disciplinas de pro-
gramação de computadores em que eles se constituem na principal ferramenta
utilizada, além da própria linguagem de programação. Confira dois exemplos de
softwares compiladores:

• Javac: compilador da linguagem Java;


• g++: compilador OpenSource da linguagem c++.

138 139
Informática 1 capítulo 6

Figura 172 Figura 174


Dev C++. O utilitário Linker.

o desempenho, já que toda vez que o programa for executado o processador terá
de processar as instruções linha a linha, algo que demora (figura 173).
sicas, agregam também as do linker, que, neste caso, se torna desnecessário, já
Linker (ou ligador) é o utilitário (figura 174) responsável por pegar um programa que o próprio compilador resolve também essas referências simbólicas a biblio-
que já foi traduzido e introduzir as bibliotecas necessárias para seu correto funcio- tecas externas. Se você já programa em alguma linguagem ou já se atreveu a
namento. Muitas vezes, quando desenvolvemos programas, precisamos adicionar escrever alguma linha de código em algum software de desenvolvimento, deve
bibliotecas externas com recursos úteis para o programa que estamos desenvolvendo. ter ouvido falar do depurador, também conhecido como debugger. Trata-se
de uma ferramenta muito útil para o programador. Imagine que você esteja
<?php desenvolvendo um programa e o resultado apresentado por ele não é o que
echo “Olá Mundo!”; você esperava. Da mesma forma, pode ocorrer que esse programa tenha muitas
?> linhas de código e você não tem a mínima ideia de onde está acontecendo o
problema. A utilidade do depurador está em sua função de permitir ao usuário
acompanhar a execução do programa, visualizando os resultados em tempo
O linker tem a responsabilidade de concretizar essa adição para a geração do real, em busca de possíveis erros de lógica. Com ele você pode seguir cada linha
programa final: software binário. Alguns compiladores, mais suas funções bá- de código, verificando a saída do programa para localizar onde o problema está
e podendo, assim, corrigi-lo (figura 175).
Figura 173
Site desenvolvido O depurador também pode ser utilizado em conjunto com o copilador para
em PHP. apresentar as linhas onde existem possíveis erros de codificação constatados
durante o processo de compilação.

Em IDEs, o depurador normalmente entra em execução durante o processo de


compilação, depois que o usuário executa essa ação, clicando no botão “Com-
pilar”. O debugger normalmente é apresentado na parte de baixo da janela e é
muito importante para quem pretenda desenvolver um bom software.

Figura 175
Resultados do
depurador do
compilador g++.

140 141

Você também pode gostar