Você está na página 1de 6

01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

UNIP CONTEÚDOS ACADÊMICOS BIBLIOTECAS MURAL DO ALUNO

COMPILADORES E COMPUTABILIDADE D571_13701_R_20222


CONTEÚDO
Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II

Usuário GUILHERME BALTAZAR V DE SALES


Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO PARA ESTUDO - UNIDADE II
Iniciado 01/12/22 09:38
Enviado 01/12/22 09:52
Status Completada
Resultado da tentativa 0 em 0 pontos
 
Tempo decorrido 13 minutos
Autoteste O aluno responde e o resultado do aluno não é visível ao professor.
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente

Pergunta 1 0 em 0 pontos

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 configura 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:

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. 

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 1/6
01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

Resposta Selecionada:

c.

Pergunta 2 0 em 0 pontos

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 afirmar que
cabe ao Linker:

Resposta e.
Selecionada: Copiar o módulo de carga para a memória principal, preparando o
programa para a sua execução.

Pergunta 3 0 em 0 pontos

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.

Resposta Selecionada:

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 2/6
01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

a.

Pergunta 4 0 em 0 pontos

A memória é um recurso controlado pelo sistema operacional e um programa não


deve ter posições de memória fixas 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 suficiente 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 afirmativas 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, definido,
ocorre em outro segmento (descrito como uma referência externa), ou ainda,
quando um símbolo é definido neste segmento e poderá ser referenciado em outro
segmento (descrito como uma definiçã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 definições locais ou a definiçõ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.

Resposta Selecionada: e.
Todos itens são verdadeiros.

Pergunta 5 0 em 0 pontos

A respeito dos Carregadores (


Loaders) é incorreto afirmar:

Resposta e.
Selecionada:

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 3/6
01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

Reunir os módulos objeto em um único elemento chamado de


módulo absoluto de carga.

Pergunta 6 0 em 0 pontos

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.

Resposta Selecionada: e.
Todos itens são verdadeiros.

Pergunta 7 0 em 0 pontos

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 afirmativas 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 finais
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 definitiva.
III - Permitir uma compilação portável para diferentes arquiteturas e sistemas
operacionais independente de qual seja a linguagem fonte.

Resposta Selecionada: d.
Os itens I e III são verdadeiros.

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 4/6
01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

Pergunta 8 0 em 0 pontos

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 afirmativas 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, 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.

Resposta Selecionada: c.
Os itens I e II são verdadeiros.

Pergunta 9 0 em 0 pontos

A sintaxe geralmente é definida 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 identificadores. 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


quantificar 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.

Resposta Selecionada: e.
Todos itens são verdadeiros.

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 5/6
01/12/2022 09:52 Revisar envio do teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II ...

Pergunta 10 0 em 0 pontos

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.

Resposta Selecionada:

b.

Quinta-feira, 1 de Dezembro de 2022 09h52min36s GMT-03:00 ←


OK

https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_89153585_1&course_id=_233931_1&content_id=_2835990_1&retur… 6/6

Você também pode gostar