Buscar

COMPILADORES E COMPUTABILIDADE - QUESTIONÁRIO UNIDADE II

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 1/6
 
Revisar envio do teste: QUESTIONÁRIO UNIDADE II
COMP COMP COMPILADORES E COMPUTABILIDADE D571_13701_A_R_20232 CONTEÚDO
Usuário WANDSON ASSUNCAO LIMA
Curso COMP COMP COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado 17/09/23 18:21
Enviado 17/09/23 18:46
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 24 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
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 2
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.
ASSOCIADA / COLIGADA 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=_300155_1
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_300155_1&content_id=_3517900_1&mode=reset
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_63_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
17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 2/6
Resposta Selecionada: c. 
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.
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 3
Resposta Selecionada:
b. 
Supondo o comando:  delta = b * b – 4 * a * c; (em C) assinale a alternativa que
corresponde a uma das possíveis versões de código intermediário dado na forma de
quádruplas para este comando.
 
 
Pergunta 4
Um dos tipos de analisadores ascendentes é o conhecido como LR(1), que constrói a
árvore sintática do programa realizando reduções através das regras da gramática
geradora da linguagem. Considerando o estado corrente do mecanismo reconhecedor
(um autômato de pilha) e apenas um símbolo da entrada é possível determinar com
precisão qual a regra apropriada e que de ser aplicada em cada momento do processo de
análise do programa.
A construção desse autômato começa com uma ampliação das regras da gramática, as
quais acrescenta-se uma nova regra que sinalize o início do processo de derivação e
permita diferenciar qualquer ocorrência do símbolo inicial daquela que se con�gura
como raiz da árvore sintática.
Adicionalmente caracterizamos os diferentes momentos de derivação de uma regra
através de uma representação na forma de item. Num item dado por o marcador
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 3/6
Resposta Selecionada:
d. 
sinaliza os símbolos que já foram encontrados pelo parser (os símbolos de α) e também
aqueles que ainda faltam para que a regra tenha sido completamente derivada
. Quando todos os símbolos tiverem sido encontrados,
ou seja, tivermos um item na forma é possível então realizar a redução da
sequência correspondente por A.
Supondo a gramática dada a seguir:
Sabendo que já encontra-se aumentada pela inclusão da regra 0, assinale a alternativa
que corresponde ao primeiro estado (inicial) do autômato de reconhecimento deste
analisador. 
Pergunta 5
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.
0,5 em 0,5 pontos
17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 4/6
Pergunta 6
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 7
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 8
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.
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 5/6
Pergunta 9
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.
Pergunta 10
A memória é um recurso controlado pelo sistema operacional e um programa não deve
ter posições de memória �xas e pré-estabelecidas para que funcione corretamente.
Usualmente o programador desenvolve seu código despreocupado de qual será sua
localização na memória, pois caberá ao sistema resolver os problemas relacionados com
posicionamento do código quando colocar o programa na memória para execução. Este
processo de resolução de endereços é chamado de relocação.
A atividade de relocação é realizada conjuntamente por montadores e carregadores. Os
montadores são encarregados de marcar as posições no código-objeto passíveis de
alteração, enquanto os carregadores devem reservar espaço su�ciente na memória para
receber o código de máquina e atualizar suas posições a partir da localização base do
programa na memória.
A esse respeito analise as a�rmativas a seguir e assinale a alternativa correta.
I - As referências aos símbolos externos devem estar presentes no módulo-objeto e
podem ocorrer quanto um símbolo é referenciado no segmento, mas, de�nido, ocorre
em outro segmento (descrito como uma referência externa), ou ainda, quando um
símbolo é de�nido neste segmento e poderá ser referenciado em outro segmento
(descrito como uma de�nição local de um símbolo externamente referenciável).
II - O Dicionário de Símbolos Externos contém todos os símbolos que estão envolvidos no
processo de resolução de referências entre segmentos: símbolos associados a referências
externas, a de�nições locais ou a de�nições de segmentos.
III - O Diretório de Relocação e Ligação indica, para cada segmento, quais posições
deverão ter seus conteúdos atualizados, de acordo com o posicionamento em memória
deste e de outros segmentos.
 
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 18:46 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97561612_1&course_id=_300155_1&content_id=_3519155_1&retur… 6/6
Domingo, 17 de Setembro de 2023 18h46min31s GMT-03:00
Resposta Selecionada: e. Todos itens são verdadeiros.
← OK

Continue navegando