Uma linguagem de programação é aquela criada para instruir u...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A resposta correta é a alternativa E.
A questão aborda o processo de transformação do código-fonte em linguagem de máquina, um tema fundamental no estudo de Sistemas Operacionais e Arquitetura de Software. Entender como o código é processado e executado é crucial para compreender o funcionamento de programas e sistemas computacionais.
Vamos analisar cada alternativa:
Alternativa A: Esta afirmação está incorreta. Uma linguagem de baixo nível, como Assembly, requer mais instruções para realizar tarefas, já que está mais próxima da linguagem de máquina e menos abstrata que linguagens de alto nível, como Python ou Java. Estas últimas permitem que o programador escreva menos código para realizar as mesmas tarefas, devido a seu nível de abstração maior.
Alternativa B: Esta opção também está incorreta. Um montador traduz programas escritos em linguagem de montagem (Assembly) para linguagem de máquina, não para uma linguagem de alto nível. A direção do processo está inversa ao descrito na alternativa.
Alternativa C: A função descrita é típica de um analisador sintático, e não apenas de um analisador semântico. O analisador semântico cuida da lógica e semântica do código, garantindo que as expressões sejam coerentes e que não haja erros semânticos, mas não é responsável pela criação das estruturas dos comandos, que é uma tarefa do analisador sintático.
Alternativa D: Esta afirmação não está correta. A análise léxica é responsável por dividir o código em tokens, ou seja, em unidades básicas como palavras-chave, identificadores e operadores. A coerência de tipos de dados é verificada mais adiante, durante a análise semântica.
Alternativa E: Esta é a alternativa correta. O método de interpretação realmente processa o código-fonte comando a comando. Cada instrução é lida, convertida em código executável e imediatamente executada, antes que o próximo comando seja processado. Isso é típico de interpretadores, diferentemente de compiladores, que traduzem todo o código-fonte de uma vez para depois executá-lo.
Espero que esta explicação tenha clarificado o tema e as alternativas. Desejo bons estudos e sucesso na sua preparação para concursos!
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
-Montador ou assembler(não confundir com Assembly): É um programa que cria o código objeto traduzindo as instruções da linguagem de montagem(Assembly) para codigo de máquina.
-Análise Lexica: Processo de analisar a entrada de linhas e caracteres (tal como o codigo fonte de um programa de um computador) e produzir uma sequencia de simbolos chamados de simbolos léxicos ou tokens.
-Linguagem de baixo nível: Segue as características da arquitetura do computador. Utiliza somente instruções que serão executadas pelo processador, diretamente relacionadas com a arquitetura do computador(linguagem de máquina).
Análise semântica: É a terceira fase da compilação onde se verificam os erros semânticos no codigo fonte e coletam-se as informações necessárias para a próxima fase de compilação que é a geraçao do código objeto.
Etapas:
-Análise de contexto e Geração de Código
-Verificação de errros que estão sintaticamente corretos.
SELVA!
O analisador semântico verifica o significado da estrutura dos comandos e não na criação destas, sendo que a função de criação das estruturas (formando tokens) é de responsabilidade da análise léxica.
E - no método de interpretação, as fases de compilação, ligação e execução do programa-fonte são realizadas comando a comando. Ou seja, cada comando é lido, é convertido em código executável e imediatamente executado, antes que o comando seguinte seja lido.
Interpretadores
-Processo de execução do código fonte é feita, instrução por instrução, sem a geração de um programa equivalente em linguagem de máquina.
- Cada comando em alto nível é examinado, convertido para código binário e executado imediatamente.
- Converte cada instrução do código-fonte em código-binário;
- Vantagem: mais fácil de depurar;
- Desvantagens: é necessário fornecer o código-fonte, execução lenta.
Compilador
-Traduz programas escritos em uma linguagem de programação de alto nível em código de máquina.
- O código-objeto não pode ser executado diretamente no SO.
- O compilador precisa ser adequado à LP e também à arquitetura de hardware onde o programa será executado.
- Toma todo o código fonte e o converte em código de máquina gerando o código-objeto;
- Vantagem: execução rápida
- Desvantagem: dificuldade para depuração
Montadores (assembler)
-Processo que converte um programa escrito em Assembly para outro, idêntico em termos de resultado, escrito na linguagem da máquina.
- A equivalência é de uma instrução de máquina para uma instrução binária.
Alternativa: E
a) uma linguagem de baixo nível permite que o programador especifique a realização de ações do computador com muito menos (mais) instruções.
b) montador é um programa que traduz outro programa em linguagem de montagem para seu equivalente em linguagem de alto nível (de máquina).
c) a função do analisador semântico (sintático) de um compilador consiste basicamente na criação das estruturas de cada comando, na verificação da correção dessas estruturas e na alimentação da tabela de símbolos com as informações geradas.
d) a análise léxica (semântica) obriga o tipo de dado de uma expressão a ser coerente com o que foi declarado.
e) no método de interpretação, as fases de compilação, ligação e execução do programa-fonte são realizadas comando a comando. Ou seja, cada comando é lido, é convertido em código executável e imediatamente executado, antes que o comando seguinte seja lido.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo