Buscar

QUESTIONARIO UNIDADE II Compiladores e Computabilidade

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

Prévia do material em texto

Revisar envio do teste: QUESTIONÁRIO UNIDADE II
COMPILADORES E COMPUTABILIDADE NOPE CONTEÚDO
Usuário NOPE
Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado NOPE
Enviado NOPE
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 15 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
Resposta Selecionada: c.
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 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 2
UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
← OK
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
1 of 7 9/5/22, 13:08
http://company.blackboard.com/
http://company.blackboard.com/
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_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/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#contextMenu
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_233931_1&content_id=_2821429_1&mode=reset
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#contextMenu
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_233931_1&content_id=_2821429_1&mode=reset
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_233931_1&content_id=_2821429_1&mode=reset
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_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=_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=_47_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_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
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83990892_1&course_id=_233931_1&content_id=_2835987_1&return_content=1&step=#
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
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. 
0,5 em 0,5 pontos
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
2 of 7 9/5/22, 13:08
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 4
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 5
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 herdadossã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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
3 of 7 9/5/22, 13:08
Resposta Selecionada: e.
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 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
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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
4 of 7 9/5/22, 13:08
Resposta Selecionada:
d.
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. 
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
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
5 of 7 9/5/22, 13:08
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
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
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
6 of 7 9/5/22, 13:08
NOPE
Resposta Selecionada:
a.
Revisar envio do teste: QUESTIONÁRIO UNIDADE II – ... https://ava.ead.unip.br/webapps/assessment/review/revie...
7 of 7 9/5/22, 13:08

Continue navegando