Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Revisar envio do teste: QUESTIONÁRIO UNIDADE II
COMPILADORES E COMPUTABILIDADE D571_13701_R_20192 CONTEÚDO
Usuário GABRIEL DE ANDRADE IASI
Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE II
Iniciado 26/08/19 13:56
Enviado 26/08/19 14:25
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 29 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
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.
Pergunta 2
Resposta 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:
UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
GABRIEL IASI
Selecionada: 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 3
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 4
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 programa e podem ser calculados tanto em tempo de compilação
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta Selecionada: e. 
quanto em tempo de execução, de acordo com a propriedade que representam. 
 
Todos itens são verdadeiros.
Pergunta 5
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 6
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
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 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 seguir e 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
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émdo 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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Resposta
Selecionada:
c.
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 9
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 10
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
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Segunda-feira, 26 de Agosto de 2019 14h25min47s BRT
Resposta Selecionada: e. 
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 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.
← OK

Mais conteúdos dessa disciplina