Você está na página 1de 7

01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...

Estado de Conclusão da Pergunta:

UNIP CONTEÚDOS ACADÊMICOS BIBLIOTECAS MURAL DO ALUNO

?
COMPILADORES E COMPUTABILIDADE D571_13701_R_20222
CONTEÚDO
Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II

Informações do teste
Descrição
Instruções
Várias tentativas Este teste permite 3 tentativas. Esta é a tentativa número 3.
Término e envio Este teste pode ser salvo e retomado posteriormente.

Suas respostas foram salvas automaticamente.

PERGUNTA 1 0 pontos   Salvar resposta

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. 
a.
https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 1/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...


Estado de Conclusão da Pergunta:
b.

c.

d.

e.

PERGUNTA 2 0 pontos   Salvar resposta

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:

 
a. Construir uma tabela com todos os módulos objeto e registrar seus
respectivos comprimentos.
b. Atribuir um endereço de carga a cada módulo objeto, que
identificará sua posição dentro do módulo de carga.
c. Relocar todas as instruções que contêm um endereço, adicionando
ao seu endereço uma constante de relocação (que é o endereço
inicial de cada módulo).
d. Encontrar todas as instruções que referenciam outros
procedimentos e inserir nelas o endereço absoluto dos mesmos.
e. Copiar o módulo de carga para a memória principal, preparando o
programa para a sua execução.

PERGUNTA 3 0 pontos   Salvar resposta


https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 2/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...
p p


Estado de Conclusão da Pergunta:
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.

a.

b.

c.

d.

e.

PERGUNTA 4 0 pontos   Salvar resposta

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
https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 3/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...
caberá ao sistema resolver os problemas relacionados com

Estadoposicionamento
de Conclusão dado código quando colocar o programa na memória para
Pergunta:
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.

 
a. Apenas o item I é verdadeiro.
b. Apenas o item II é verdadeiro.
c. Os itens I e II são verdadeiros.
d. Os itens I e III são verdadeiros.
e. Todos itens são verdadeiros.

PERGUNTA 5 0 pontos   Salvar resposta

A respeito dos Carregadores (


Loaders) é incorreto afirmar:

 
a. Avaliar a quantidade de memória necessária ao programa e
solicitá-la ao SO.
b. Copiar o programa para a memória principal e preparar sua
execução.
c. Ajustar os endereços do código executável de acordo com a
posição base de carregamento.
d. Resolver os endereços de código dinamicamente em situações de
swapping, pois os processos não necessariamente retornam a
mesma posição.
e. Reunir os módulos objeto em um único elemento chamado de
módulo absoluto de carga.

PERGUNTA 6 0 pontos   Salvar resposta

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
https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 4/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...
absoluta ou relativa em termos do registrador PC (Program Counter) o
endereço de destino dos rótulos.


EstadoIIIde Conclusão
- Reservar da Pergunta:
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.

 
a. Apenas o item I é verdadeiro.

b. Apenas os itens I e II é verdadeiro.

c. Os itens I, II e III são verdadeiros.

d. Os itens II, III e IV são verdadeiros.

e. Todos itens são verdadeiros.

PERGUNTA 7 0 pontos   Salvar resposta

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.

 
a. Apenas o item I é verdadeiro.
b. Apenas o item II é verdadeiro.
c. Os itens I e II são verdadeiros.
d. Os itens I e III são verdadeiros.
e. Todos itens são verdadeiros.

PERGUNTA 8 0 pontos   Salvar resposta

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
https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 5/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...
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

Estado de Conclusão da Pergunta:
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.
a. Apenas o item I é verdadeiro.
b. Apenas o item II é verdadeiro.
c. Os itens I e II são verdadeiros.
d. Os itens I e III são verdadeiros.
e. Todos itens são verdadeiros.

PERGUNTA 9 0 pontos   Salvar resposta

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.

 
a. Apenas o item I é verdadeiro.
b. Apenas o item II é verdadeiro.
c. Os itens I e II são verdadeiros.
d. Os itens I e III são verdadeiros.
e. Todos itens são verdadeiros.

PERGUNTA 10 0 pontos   Salvar resposta

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

b.

https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 6/7
01/12/2022 09:39 Fazer teste: QUESTIONÁRIO PARA ESTUDO - UNIDADE II – ...


Estado de Conclusão da Pergunta:

c.

d.

e.

https://ava.ead.unip.br/webapps/assessment/take/launch.jsp?course_assessment_id=_1064761_1&course_id=_233931_1&new_attempt=1&cont… 7/7

Você também pode gostar