Guia Completo: Compiladores, Tradutores e Interpretadores

Computação3,62 KB

1. O que é um tradutor?

Um programa que traduz ou converte um texto ou programa escrito em uma língua de partida para um texto ou programa escrito em uma língua-alvo, emitindo mensagens de erro, se necessário.

3. Qual é a função de um tradutor?

Converter o resultado de uma determinada língua para outra, como, por exemplo, um tradutor de inglês para espanhol.

4. Como funciona um compilador?

Recebe como entrada uma sentença em linguagem formal e gera como saída um arquivo executável, realizando a tradução de alto nível para código de máquina.

5. Como funciona um intérprete?

Semelhante a um compilador, porém a saída é a execução imediata. O programa de entrada é interpretado e executado linha a linha.

6. O que são linguagens pseudointerpretadas?

São linguagens onde o código-fonte passa por um pseudocompilador que gera um pseudoejecutável. Este é processado por um mecanismo de execução, oferecendo a vantagem da portabilidade, permitindo rodar o motor em qualquer máquina.

7. Como funciona um pré-processador?

Permite modificar o programa de origem antes da compilação real, utilizando macros e diretivas.

8. Qual é a finalidade de um comando shell?

Traduz frases simples em chamadas para programas de biblioteca, sendo muito utilizado em sistemas operacionais (como DOS ou UNIX) para desencadear a execução de programas residentes na memória ou em disco.

9. O que são montadores (assemblers) e macroassemblers?

  • Assembler: Um compilador simples onde a linguagem de origem possui uma estrutura que permite a tradução de uma frase para uma instrução de código de máquina (correspondência um para um).
  • Macroassembler: Possui macros que são traduzidas em várias instruções de máquina, funcionando como um pré-processamento antes da montagem.

10. Qual é a diferença entre um montador e um macroassembler?

O assembler mantém uma correspondência de 1:1 entre instruções e código de máquina, enquanto o macroassembler geralmente traduz uma macro em várias instruções de máquina.

11. O que são conversores de linguagem?

Convertem uma linguagem de alto nível para outra linguagem de alto nível, visando maior portabilidade.

12. O que é um compilador cruzado (cross-compiler)?

É um compilador que gera código para ser executado em uma máquina diferente daquela em que o compilador roda. São usados no desenvolvimento de novos computadores.

13. Quais são as funções de um compilador?

Análise e compilação.

14. O que é um arquivo OBJ?

Um arquivo com estrutura de registros de comprimentos variados. Contém código de máquina, informações auxiliares e referências a objetos externos.

15. O que é a compilação multipassagem?

Refere-se ao número de vezes que o programa-fonte é lido. Em certas situações, uma única leitura do arquivo de origem não é suficiente para a compilação.

16. O que é a compilação incremental?

Compila um programa e, caso erros sejam descobertos, apenas as alterações são compiladas em vez de recompilar o programa inteiro. O objetivo é recompilar apenas as partes com erros e reinserir o código no arquivo OBJ gerado.

32. O que é um metacompilador?

É um programa que recebe como entrada as especificações de uma linguagem e gera como saída o compilador para essa linguagem. O desafio no desenvolvimento de metacompiladores é unir a geração de código com a análise.

Baixar

PDF Word HTML