Buscar

Revisar envio do teste_ QUESTIONÁRIO UNIDADE II D571_ _

Prévia do material em texto

Revisar envio do teste: QUESTIONÁRIO UNIDADE IICOMPILADORES E COMPUTABILIDADE D571_13701_R_20192 CONTEÚDO
Usuário GUSTAVO SOUZA NAVI
Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado 10/09/19 22:00
Enviado 10/09/19 22:12
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 12 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
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
UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
GUSTAVO NAVI 1
Resposta Selecionada: e. 
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
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�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, 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 3
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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta Selecionada: e. 
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 4
Resposta
Selecionada:
c.
Aspectos como a obrigatoriedade de declaração antes do uso, compatibilidade de tipos durante atribuições ou mesmo a adequação as
regras de escopo na utilização dos identi�cadores, são exemplos de questões que estão além do domínio sintático de uma linguagem de
programação. Assim a análise semântica é responsável, fundamentalmente, por realizar três tarefas básicas: construir uma descrição dos
tipos e estruturas de dados de�nidas pelo programador; armazenar informações sobre os identi�cadores; e veri�car os tipos e demais
aspectos dependentes de contexto na estrutura do programa. 
Acerca da análise semântica de programas, assinale a alternativa correta. 
Há aspetos semânticos que estão ligados a execução do programa e referem-se a forma como o programa realiza suas
tarefas. Por exemplo, supondo o comando “SE (i<>0) E (K/I > 10) ...”, entende-se que, se concluirmos que a primeira parte é
falsa não há necessidade de avaliar a segunda (uma vez que para o operador E é impossível obter um resultado
verdadeiro nesta situação). Por outro lado, se o analisador semântico não considerar a relação que envolve estas duas
cláusulas, a falsidade da primeira implicará em um erro de divisão por zero durante a avaliação da segunda cláusula.
Pergunta 5
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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta Selecionada: c. 
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: 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 programae 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 7
Supondo a expressão dada pela árvore sintática abaixo, assinale a alternativa que corresponde ao código intermediário gerado na forma
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta Selecionada:
a. 
de quádruplas. 
Pergunta 8
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
0,5 em 0,5 pontos
Resposta Selecionada: e. 
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. 
 
Todos itens são verdadeiros.
Pergunta 9
Resposta Selecionada: c. 
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. 
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 10
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Terça-feira, 10 de Setembro de 2019 22h13min02s BRT
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.
← OK

Continue navegando