| Módulo V - Interpretador X Compilador | pag. 3/7 | ||||
| O problema básico das linguagens de alto nível é como ser implementada em um computador cuja linguagem de máquina é bastante diferente, e de nível muito mais baixo. A solução encontrada foi “traduzir” essas linguagens usando a própria linguagem de máquina da CPU em questão. Os principais tipos de tradutores são o Interpretador e o Compilador. INTERPRETADOR Nesta solução, as ações indicadas pelos comandos da linguagem não são diretamente executadas. Em geral existe, para executar cada ação possível, um subprograma (escrito na linguagem de máquina do computador hospedeiro). Assim a interpretação de um programa é feita pela chamada àquele subprograma em uma seqüência apropriada. Mais precisamente, um interpretador é um programa que executa repetidamente a seguinte seqüência:
A grosso modo, é como conversarmos com uma pessoa que fala um idioma diferente do nosso com o auxílio de um intérprete. COMPILADOR Nesta solução, programas escritos em linguagem de alto nível são traduzidos em versões de linguagem de máquina, antes de serem executados. Essa tradução é feita em vários passos. Por exemplo, subprogramas podem ser inicialmente traduzidos para código de montagem (assembly), esse pode depois ser traduzido para código relocável em linguagem de máquina, em seguida, unidades de código relocável podem ser ligadas em uma única unidade relocável (Link), e finalmente, o programa inteiro é carregado na memória principal, como código executável de máquina. Os tradutores usados em cada um destes passos tem nomes especiais: compilador, montador, ligador e carregador, respectivamente. Bons exemplos de tradutores são :
CA Clipper 5.02, Visual Basic 5 em diante, Delphi, CC++, e outros. |
|||||
ICEA/EAD
© 2005 |
|||||