Buscar

QUESTIONÁRIO UNIDADE II COMPILADORES E COMPUTABILIDADE

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

Revisar envio do teste: QUESTIONÁRIO UNIDADE II
COMPILADORES E COMPUTABILIDADE D571_13701_R_20232 CONTEÚDO
Usuário JOHN FABENY ANDRADE COSTA
Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado 26/09/23 15:32
Enviado 26/09/23 16:54
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 1 hora, 21 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
Resposta Selecionada: e. 
Em uma Gramática de Atributos podemos classi�car cada um de seus atributos em duas
categorias, herdados e sintetizados, de acordo com o símbolo a quem estão associados durante o
seu cálculo. Os chamados atributos herdados são aqueles que aparecem ligados a elementos
posicionados a direita do sinal de derivação, ou seja, em uma regra na forma A→α, seriam os
atributos ligados a qualquer símbolo da sentença α. Por sua vez, os atributos ditos sintetizados são
aqueles que aparecem associados ao elemento da esquerda do sinal de derivação, isto é, para o
nosso exemplo, seriam aqueles que estiverem associados ao símbolo A. A respeito dos atributos
analise os itens a seguir e assinale a alternativa correta.
I) Entre outros aspectos, a categorização dos atributos é importante pois permite determinar o
sentido em que devemos percorrer a árvore sintática para calculá-lo. No caso dos atributos
herdados, como o próprio nome sugere, seu valor é calculado a partir de elementos
hierarquicamente superiores da árvore e dos quais este valor “deriva”.
II) Atributos sintetizados são computados a partir de nós inferiores da árvore sintática, assim os
sucessivos valores deste atributo podem ser calculados percorrendo a árvore de baixo para cima.
Esta categoria de atributos é especialmente interessante para a propagação de características
comuns a diferentes trechos do código, como por exemplo no trecho “int x, y, z;”, em que o tipo int
pode ser propagado para um nó superior comum a todas as variáveis (x, y e z) declaradas no
mesmo comando.
III) Gramáticas que utilizam apenas atributos sintetizados são chamadas de S-Atribuídas. Na
tradução dirigida pela sintaxe, assume‐se que os símbolos terminais tenham apenas atributos
sintetizados uma vez que as de�nições não providenciem quaisquer regras semânticas, apenas
ações para a geração de código.
 
Todos itens são verdadeiros.
Pergunta 2
UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
http://company.blackboard.com/
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_299236_1
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_299236_1&content_id=_3487325_1&mode=reset
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_27_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_47_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_1
https://ava.ead.unip.br/webapps/login/?action=logout
Resposta Selecionada: e. 
A sintaxe geralmente é de�nida por uma Gram. Livre de Contexto, mas estas não são capazes de
descrever aspectos sobre a compatibilidade de tipos ou regras de escopo de identi�cadores.
Analise as informações a seguir e assinale a alternativa correta.
I) Uma Gramática de Atributos é uma gramática livre de contexto estendida com regras de cálculo
e/ou ações semânticas de modo a fornecer sensitividade ao contexto através de elementos
chamados de atributos, que estão associados aos símbolos terminais e não terminais utilizados na
regra de produção.
II) Um atributo é qualquer propriedade da estrutura da linguagem que se deseja quanti�car ou
caracterizar, como por exemplo, o tipo e o escopo das variáveis, valores de expressões, etc.
III) O valor dos atributos é estabelecido tomando como base a árvore sintática explícita do
programa e podem ser calculados tanto em tempo de compilação quanto em tempo de execução,
de acordo com a propriedade que representam.
 
Todos itens são verdadeiros.
Pergunta 3
Resposta
Selecionada:
a.
A tabela de símbolos é uma estrutura de dados que tem por propósito armazenar todos os nomes
declarados pelo programador juntamente com os seus respectivos atributos. É considerada
fundamental para o processo de compilação, pois participa de várias etapas do processo inclusive
para a geração de código. Durante a análise semântica o compilador busca nesta tabela as
informações sobre os identi�cadores que participam de suas análises, como por exemplo, para
recuperar os tipos dos identi�cadores envolvidos no cálculo de uma expressão com o propósito de
veri�car a compatibilidade entre eles.
Sobre a tabela de símbolos e a análise semântica é incorreto a�rmar que:
Questões relacionadas a declaração prévia dos identi�cadores, escopo de
utilização e a veri�cação dos argumentos informados como parâmetro durante
a chamada de uma sub-rotina são aspectos pertinentes ao componente
semântico de tempo de execução.
Pergunta 4
Um analisador sintático dito ascendente é aquele que processa a cadeia de entrada e constrói sua
árvore de derivação de baixo para cima, ou seja, partindo dos símbolos do programa (as folhas da
árvore) em direção ao símbolo inicial da gramática (raiz). A esse respeito analise cada uma das
a�rmativas a seguir e marque a alternativa correta.
I - Por conta de sua forma peculiar de construção da árvore, os passos executados pelo analisador
correspondem ao processo de derivação conhecido como mais à direita (right-most) invertido. O
processo mais à direita é aquele em que sempre derivamos o símbolo não-terminal mais à direita
antes dos demais. E é dito invertido para que a entrada possa ser processada de maneira natural,
isto é, a leitura dos símbolos de entrada sendo feito do início para o �m do arquivo.
II - Analisadores deste tipo realizam duas operações básica: de empilhamento (ou deslocamento)
de s, em que o símbolo da entrada s é colocado na pilha; e a operação de redução pela regra A→α,
em que os símbolos correspondentes a cadeia α são retirados da pilha e substituídos pelo não-
terminal A.
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta Selecionada: c. 
III - A validação do programa acontece quando o analisador processa todos os símbolos da
entrada e alcança o �m de arquivo, independentemente do conteúdo da pilha de controle do
processo. Este momento é conhecido como validação por entrada vazia.
Apenas os itens I e II são verdadeiros.
Pergunta 5
Resposta Selecionada: c. 
Usualmente a geração de código acontece em duas etapas. Primeiramente ocorre a tradução da
estrutura do programa para um código em linguagem intermediária e em seguida, esse código
dado linguagem intermediária é então traduzido para a linguagem simbólica do processador-alvo.
A esse respeito julgue as a�rmativas a seguir e assinale a alternativa correta.
I - Permitir o reaproveitamento de código, facilitando a portabilidade de um compilador para
diversas plataformas, uma vez que apenas os módulos �nais precisam ser refeitos a cada nova
plataforma de hardware.
II - Permitir a utilização de um otimizador de código que analise aspectos independentemente de
máquina e melhore o código intermediário antes de uma tradução de�nitiva.
III - Permitir uma compilação portável para diferentes arquiteturas e sistemas operacionais
independente de qual seja a linguagem fonte.
 
Os itens I e II são verdadeiros.
Pergunta 6
Resposta Selecionada: c. 
A tabela de movimentos de um analisador LR(1) é construída a partir de um autômato de pilha,
cujos estados representam o processo de derivação do programa em relação a gramática de
linguagem. As diferentes posições da tabela informam ao analisador qual a operação
(empilhamento, redução ou aceitação) deve ser realizada em cada instante do processo de análise,
tomando como referência apenas o estado corrente e o símbolo (token) dado na entrada. Acerca
desta tabela e de sua construção, analise cada uma das a�rmativasa seguir e selecione a
alternativa correta.
I - A operação de empilhamento equivale a retirada do símbolo da entrada e sua inserção na pilha
para processamento. A célula da tabela equivalente a esta ação é dada pelo número
correspondente ao estado que o autômato assume após a transição.
II - Durante uma ação de redução, os símbolos (estados) equivalentes a cadeia derivada, são
retirados da pilha e substituídos pelo não-terminal que os origina, realizando assim o processo
inverso ao da derivação pela regra em questão. Na tabela essa ação é colocada em cada célula cuja
linha corresponde ao estado que contém a regra completada e as colunas correspondentes aos
símbolos pertencentes ao conjunto de seguidos (Follow) do não-terminal associado à regra.
III - A aceitação da cadeia ocorre quando encontramos uma ocorrência do símbolo inicial da
gramática. Desta forma, preenchemos a coluna correspondente ao símbolo inicial com esta ação
para todas as linhas da tabela.
Os itens I e II são verdadeiros.
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Pergunta 7
Resposta Selecionada: e. 
São tarefas de responsabilidade de um montador Assembler:
I - A substituição dos mnemônicos pelos opcodes numéricos do conjunto ISA (Instruction Set of
Architecture), seguindo uma tabela de associações que relaciona o mnemônico com a instrução-
alvo.
II - A substituição dos endereços simbólicos que representam destinos de saltos e constantes por
endereços numéricos, determinando de maneira absoluta ou relativa em termos do registrador PC
(Program Counter) o endereço de destino dos rótulos.
III - Reservar espaço na memória para armazenamento de dados de acordo com o tipo associado a
cada variável declarada no programa.
IV - Gerar constantes em memória para variáveis e constantes, determinando o valor associado ao
modo de endereçamento do operando.
 
Todos itens são verdadeiros.
Pergunta 8
Resposta
Selecionada:
e.
A respeito dos Carregadores (Loaders) é incorreto a�rmar:
 
Reunir os módulos objeto em um único elemento chamado de módulo
absoluto de carga.
Pergunta 9
Resposta
Selecionada:
e.
O Linker tem a tarefa de reunir em um único programa os vários módulos objeto obtidos a partir
da tradução dos diferentes arquivos fontes que compõe o programa. Esse arquivo resultante,
dado por todas as partes devidamente encaixadas, damos o nome de Módulo Absoluto de Carga.
Durante esse processo o linker deve ser capaz de resolver as chamadas Referências Cruzadas, isto
é, referência a elementos externos ao módulo corrente e são conhecidos apenas após a ligação do
módulos. Tendo em mente estas atribuições, é incorreto a�rmar que cabe ao Linker:
 
Copiar o módulo de carga para a memória principal, preparando o
programa para a sua execução.
Pergunta 10
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Terça-feira, 26 de Setembro de 2023 16h54min29s GMT-03:00
Resposta Selecionada:
a. 
Supondo a expressão dada pela árvore sintática abaixo, assinale a alternativa que corresponde ao
código intermediário gerado na forma de quádruplas.
← OK

Continue navegando