Questões de Compilador (Arquitetura de Computadores)

Limpar Busca
As ferramentas de desenvolvimento são uma categoria especial de software, pois são utilizadas para produzir novos softwares. Relacionado a estes, é INCORRETO afirmar:
  • A Um compilador é um programa que, a partir de um código escrito em uma linguagem, o código fonte (source code), cria um programa semanticamente equivalente, porém, escrito em outra linguagem, código objeto (object code).
  • B Um compilador é um dos dois tipos mais gerais de tradutores, sendo que o segundo tipo que a ele deve ser comparado é um interpretador.
  • C Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração, e o código objeto é escrito em uma linguagem de baixo nível, como uma sequência de instruções a ser executada por um sistema operacional.
  • D O processo de compilação é composto de análise e síntese. A análise tem como objetivo entender o código fonte e representá-lo em uma estrutura intermediária. A síntese constrói o código objeto a partir desta representação intermediária. 
  • E Um compilador é chamado de Java Bytecode quando seu processo de compilação acontece apenas quando o código é chamado.

Assinale CORRETAMENTE a definição de uma variável constante:

  • A As constantes são valores imutáveis que são conhecidos no tempo de compilação e não são alterados durante a vida útil.
  • B As constantes são valores mutáveis que são conhecidos no tempo de compilação.
  • C As constantes são valores mutáveis que não são conhecidos no tempo de compilação.
  • D As constantes são valores imutáveis que não são conhecidos no tempo de compilação.

Considerando a compilação e a interpretação de programas, no contexto de arquitetura de máquinas reais, analise as afirmativas a seguir:
I. A compilação é o processo de análise de um programa escrito em linguagem de alto nível (código-fonte) e sua conversão em um programa equivalente, porém em linguagem binária de máquina (código-objeto). II. A interpretação consiste na possibilidade de certas partes do código de um programa-fonte (por exemplo, um loop) terem que ser interpretadas somente uma única vez; enquanto, no método de compilação, isso acontece tantas vezes quantas definidas no loop. III. A interpretação caracteriza-se por realizar as três fases (tradução, ligação e execução), comando a comando, de um programa-objeto (código-objeto). IV. O programa que realiza a tarefa de compilação é denominado de compilador e, inicialmente, o compilador realiza uma análise do código-fonte, dividido em três (3) partes: análise léxica, análise sintática e análise semântica.
Estão CORRETAS as afirmativas

  • A I e II, apenas.
  • B I e IV, apenas.
  • C II e IV, apenas.
  • D I, III e IV, apenas.
  • E I, II e III, apenas.

As principais tarefas dos compiladores podem ser definidas como:
I. O código fonte, em linguagem de alto nível, é analisado e buscam-se erros de sintaxe; macros ou definições são substituídos e processados.
II. O código fonte é transformado em um código muito próximo ao código de máquina, que utiliza mnemônicos.
III. O código gerado em II passa por um conversor para se tornar um código binário feito exclusivamente para o sistema no qual encontra-se o código sendo compilado.
IV. As bibliotecas, já compiladas, são adicionadas ao código binário, permitindo a criação de um arquivo binário executável.

Os itens I, II, III e IV correspondem, correta e respectivamente a:

  • A Análise sintática − Interpretação (Bytecode) − Compilação − Execução.
  • B Pré-processamento − Compilação − Montagem (Assembler) − Linkedição (Linker).
  • C Análise semântica − Tradução (Bytecode) − Compilação − Execução.
  • D Pré-processamento − Interpretação (Bytecode) − Tradução (Assembly) − Linkedição (Linker).
  • E Análise sintática − Compilação − Montagem (Bytecode) − Otimização.

Julgue o item subsequente, no que concerne a montadores, compiladores, ligadores e interpretadores.


Compilador é um software para criar aplicações que combinam ferramentas comuns de desenvolvimento em uma única interface gráfica de usuário. Esse programa ajuda os desenvolvedores na criação de novas aplicações de forma rápida, já que os vários utilitários não precisam ser ajustados e integrados manualmente durante a configuração.

  • Certo
  • Errado