Buscar

COMPILADORES SIMULADO 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Meus
Simulados
Teste seu conhecimento acumulado
Disc.: COMPILADORES   
Aluno(a): PEDRO HENRIQUE CORREA TEIXEIRA 202104184271
Acertos: 8,0 de 10,0 29/06/2023
Acerto: 0,0  / 1,0
Um compilador está veri�cando se uma variável foi declarada somente uma vez, se foi declarada antes
do seu primeiro uso, se foi declarada e nunca foi usada e se os tipos de dados em uma expressão
aritmética são compatíveis. Essas veri�cações são realizadas na fase de:
otimização do código
 análise semântica.
geração do código.
análise léxica.
 análise sintática.
Respondido em 29/06/2023 10:06:22
Explicação:
A resposta correta é: análise semântica.
Acerto: 1,0  / 1,0
Os compiladores são responsáveis por abstrair a complexidade da programação e proporcionar uma vida mais
tranquila para os desenvolvedores. Sobre a análise léxica e sintática executadas pelos compiladores, assinale a
opção correta.
Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática. 
Os analisadores léxico e sintático somente se comunicam via tabela de simbolos.
 Um analisador léxico gera a entrada para o analisador sintático.
Um analisador léxico serve como o passo �nal de um analisador sintático.
O analisador sintático processa diretamente o programa fonte a procura de erros. 
Respondido em 29/06/2023 10:07:21
Explicação:
O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de suas responsabilidades é gerar
a entrada para o analisador sintático.
 Questão1
a
 Questão2
a
https://ead.estacio.br/alunos/inicio.asp
javascript:voltar();
Acerto: 1,0  / 1,0
(INSTITUTO AOCP/2019) Qual é o elemento de um compilador que lê um �uxo de entrada (caracteres) e
produz um �uxo de saída que contém palavras das quais cada uma é rotulada com sua categoria sintática,
equivalente a uma classe gramatical da palavra na linguagem natural?
Interface.
 Scanner.
Parsing.
Input.
Reader.
Respondido em 29/06/2023 10:09:21
Explicação:
O scanner, também conhecido como análise léxica, é o primeiro passo no processo de compilação. O scanner lê o
código fonte como um �uxo de entrada de caracteres e produz um �uxo de saída que consiste em tokens, que são
palavras rotuladas com sua categoria sintática. Essas categorias sintáticas correspondem às classes gramaticais
dessas palavras na linguagem natural, como palavras-chave, identi�cadores, números, símbolos, entre outros.
Acerto: 1,0  / 1,0
Considerando a ciência da criação de um compilador, há vários objetos que são importantes para o processo de
compilação. Esse é um componente importante para o processo e representa uma estrutura de dados que
contém um registro para cada nome de variável, com campos para os atributos do nome. Assinale a alternativa
que apresenta o nome desse componente.
Otimizador de código.
Ligador (Linker).
 Tabela de Símbolos.
Árvore de Sintaxe.
Fluxo de tokens.
Respondido em 29/06/2023 10:09:59
Explicação:
A tabela de símbolos é uma estrutura de dados utilizada pelo compilador para armazenar informações sobre nomes
de variáveis, constantes, funções, etc. presentes no código fonte. Ela é construída durante a fase de análise sintática e
mantida atualizada ao longo do processo de compilação. A tabela de símbolos é importante pois permite ao
compilador realizar veri�cações de semântica, alocação de memória, geração de código objeto, entre outras tarefas.
Acerto: 1,0  / 1,0
(CESGRANRIO/2012) Um compilador é um programa que executa vários passos, dentre os quais, o de analisar
uma sequência de entrada para determinar sua estrutura gramatical segundo uma determinada gramática
formal.
O resultado típico dessa análise é uma estrutura conhecida como:
 Questão3
a
 Questão4
a
 Questão5
a
árvore AVL
�uxo (stream) de tokens
gramática livre de contexto
gramática dirigida a sintaxe
 árvore sintática
Respondido em 29/06/2023 10:10:25
Explicação:
A Árvore Sintática é útil na análise sintática, pois permite veri�car a correta ordenação dos tokens e a estrutura da
sentença de forma visual e fácil de entender. Além disso, a Árvore Sintática pode ser usada como base para a geração
de código em outras etapas do processo de compilação.
Acerto: 1,0  / 1,0
(FCM/2018 - Adaptada) A Hierarquia de Chomsky é uma classi�cação das gramáticas formais, proposta pelo
linguista Noam Chomsky, que divide as gramáticas em 4 classes. Nesse sentido, Linguagens livres de contexto
são exatamente as linguagens que podem ser reconhecidas por:
expressões regulares.
autômatos �nitos determinísticos.
 autômatos com pilha.
máquinas de Turing.
autômatos �nitos não determinísticos.
Respondido em 29/06/2023 10:11:14
Explicação:
Autômatos com pilha (Pushdown Automata) são usados para reconhecer a linguagem livre de contexto, que é uma
classe mais ampla de linguagens do que as reconhecidas pelos autômatos �nitos. A pilha permite que o autômato
mantenha o contexto e faça escolhas não-determinísticas.
Acerto: 1,0  / 1,0
(IBGE/2010) Ao realizar testes durante a elaboração de um compilador, um analista descobriu que havia, no
compilador, um erro na checagem de tipos de variáveis em expressões, permitindo, por exemplo, a multiplicação
entre tipos de dados que não poderiam ocorrer. Em compiladores, a checagem de tipos de variáveis em
expressões é uma função do:
scanner.
linker.
analisador léxico.
otimizador de código.
 analisador semântico.
Respondido em 29/06/2023 10:11:39
Explicação:
A análise semântica é responsável por veri�car a validade da semântica do programa, incluindo a checagem de tipos
de variáveis em expressões. Ela tem como objetivo identi�car erros de semântica, tais como operações inválidas com
 Questão6
a
 Questão7
a
tipos de variáveis diferentes, declarações duplicadas de variáveis, etc. Por isso, é o analisador semântico que está
responsável por detectar o erro mencionado na questão.
Acerto: 1,0  / 1,0
(PC-DF/2012) Com relação aos softwares básicos envolvidos no processo de transformação de um programa
escrito em linguagem de alto nível para um código executável ou interpretado, assinale a alternativa correta.
 No processo de análise semântica da compilação, é veri�cada a consistência dos tipos de variáveis
envolvidas em operações aritméticas.
Os link-editores são usados para resolver as referências aos símbolos internos de um programa,
produzindo um código-objeto simpli�cado.
Compilação e montagem são processos semelhantes; contudo, o processo de montagem é bem mais
complexo.
No processo de compilação, o analisador léxico e o sintático estão preocupados com a semântica e os
signi�cados dos programas como um todo.
Os montadores buscam referências externas em rotinas de bibliotecas e inserem-nas no código-objeto.
Respondido em 29/06/2023 10:11:49
Explicação:
A análise semântica é uma das etapas do processo de compilação. Ela tem como objetivo veri�car a correção
semântica do código-fonte, incluindo a consistência dos tipos de variáveis envolvidos em operações aritméticas. Esse
processo veri�ca se o código está sendo usado corretamente de acordo com as regras da linguagem.
Acerto: 1,0  / 1,0
(UFAL/2016 - Adaptada) Considere as a�rmativas:
 
I. cria o código objeto traduzindo as instruções da linguagem de montagem (assembly) para código de máquina;
II. recebe como entrada um conjunto de arquivos objetos e bibliotecas, e produz como resultado um arquivo
objeto de saída;
III. traduz um programa descrito em uma linguagem de alto nível para um programa em linguagem simbólica ou
linguagem de máquina.
 
Nessa ordem, os itens de I a III referem-se a:
Ligador, montador e interpretador.
Interpretador, ligador e compilador.
Compilador, ligador e montador.
 Montador, ligador e compilador.
Ligador, montador e compilador.
Respondido em 29/06/2023 10:12:08
Explicação:
O montador cria o código objeto traduzindo as instruções da linguagem de montagem (assembly) para código de
máquina. O ligador recebe como entrada um conjunto de arquivosobjetos e bibliotecas, e produz como resultado um
 Questão8
a
 Questão9
a
arquivo objeto de saída. O compilador traduz um programa descrito em uma linguagem de alto nível para um
programa em linguagem simbólica ou linguagem de máquina.
Acerto: 0,0  / 1,0
(FGV/2009 - Adaptada) No contexto das estruturas de dados avançadas como listas, pilhas, �las e árvores é
comum se encontrar referência à notação polonesa reversa (notação pos�xa). Nesse sentido, a expressão X*
(Y+W)/(X-Y) é representada nessa notação, como:
XYW*+XY/-
 XYW+*XY-/
XYW+*XY/-
XYW+*/XY-
 XYW*+XY-/
Respondido em 29/06/2023 10:12:23
Explicação:
Nessa notação.:
1. Temos o primeiro operando: X
2. O segundo: Y+W -> YW+
3. Pos�xando o operador multiplicação: XYW+* 
4. Segundo operando da divisão:  X-Y -> XY-
5. Pos�xando o operador divisão: XY/ 
5. juntando os passos anteriores temos: XYW+* XY-/
 Questão10
a

Continue navegando