Buscar

comput e computabilidade 2

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

14/10/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_9386401_1&course_id=_21702_1&content_id=_337654_1&return_c… 1/5
 
Revisar envio do teste: QUESTIONÁRIO UNIDADE II
COMP COMP COMPILADORES E COMPUTABILIDADE D571_13701_A_R_20182 CONTEÚDO
Usuário FLAVIA MARIA DA SILVA
Curso COMP COMP COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado 13/10/18 01:13
Enviado 14/10/18 23:47
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 46 horas, 34 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
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 2
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
ASSOCIADA / COLIGADA BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
FLAVIA SILVA 1
14/10/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_9386401_1&course_id=_21702_1&content_id=_337654_1&return_c… 2/5
Resposta Selecionada: e. 
associado ao modo de endereçamento do operando. 
 
Todos itens são verdadeiros.
Pergunta 3
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 4
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. 
0,5 em 0,5 pontos
0,5 em 0,5 pontos
14/10/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_9386401_1&course_id=_21702_1&content_id=_337654_1&return_c… 3/5
Resposta Selecionada:
a. 
Pergunta 5
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 6
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�rmativas a 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,
0,5 em 0,5 pontos
0,5 em 0,5 pontos
14/10/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_9386401_1&course_id=_21702_1&content_id=_337654_1&return_c… 4/5
Resposta Selecionada: c. 
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.
Pergunta 7
Resposta Selecionada:
e. 
A respeito da de�nição e tarefas dos Montadores (Assemblers), Ligadores (Linkers) e
Carregadores (Loaders) analise as a�rmativas a seguire assinale a alternativa correta. 
I) Os montadores são encarregados da tradução do programa escrito em linguagem de
montagem (assembly) para um programa equivalente escrito em linguagem de máquina,
isto é, com o conjunto de instruções da arquitetura alvo (ISA – Instruction Set Architecture). 
II) Os ligadores, llinkers ou linkeditores são programas responsáveis por unir as diferentes
partes de um programa e construir um único executável. A sua existência é o que permite
a modularização de um programa e o uso de bibliotecas estáticas. 
III) O Loader: é responsável pela transferência de um programa do disco para a memória
principal, deixando-o pronto para a execução. Usualmente o carregador é parte do
Sistema Operacional. 
 
Todos itens são verdadeiros. 
 
Pergunta 8
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
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: 
0,5 em 0,5 pontos
0,5 em 0,5 pontos
14/10/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_9386401_1&course_id=_21702_1&content_id=_337654_1&return_c… 5/5
Domingo, 14 de Outubro de 2018 23h48min03s BRT
Resposta Selecionada:
d. 
 
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 9
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 10
Resposta Selecionada:
b. 
Supondo o comando: (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.
← OK
0,5 em 0,5 pontos
0,5 em 0,5 pontos

Outros materiais