Prévia do material em texto
30/08/22, 18:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83375318_1&course_id=_233931_1&content_id=_2835982_1&outc… 1/5
Revisar envio do teste: QUESTIONÁRIO UNIDADE I
COMPILADORES E COMPUTABILIDADE D571_13701_R_20222 CONTEÚDO
Usuário BRUNO LIMA ALMEIDA
Curso COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE I
Iniciado 23/08/22 13:45
Enviado 23/08/22 14:18
Status Completada
Resultado da tentativa 4,5 em 5 pontos
Tempo decorrido 33 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
Resposta
Selecionada:
e.
No modelo de Análise e Síntese o processo é dividido em duas grandes etapas. Na
primeira, são realizadas todas as tarefas pertinentes a análise e compreensão do
código fonte, enquanto na segunda, as atividades de otimização e a geração do
código propriamente dito. Cada uma destas grandes etapas pode ser decompostas
em fases, de propósito especí�co e cujo resultado de seu processamento servirá
como dado de entrada para a próxima fase. Analise as alternativas a seguir e
assinale aquela cuja atividade não corresponde a nenhuma das subfases deste
modelo.
A fase de link edição, ou ligação, é responsável por criar o arquivo
executável combinando todos os arquivos objetos em um único
módulo de carga.
Pergunta 2
Para o desenvolvimento de um compilador é possível que se adote um dos
diferentes modelos de construção. Um destes é o que chamamos de modelo de
múltiplas passagens, em que as atividades relacionadas a tradução e a escrita do
código alvo são realizadas em etapas encadeadas. Cada fase realiza sua tarefa
percorrendo todo o código fonte e, após uma conclusão bem-sucedida, inicia-se a
etapa subsequente tendo como entrada o resultado da fase anterior. Acerca deste
UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
http://company.blackboard.com/
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_233931_1
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=_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=_25_1
https://ava.ead.unip.br/webapps/login/?action=logout
30/08/22, 18:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83375318_1&course_id=_233931_1&content_id=_2835982_1&outc… 2/5
Resposta
Selecionada:
a.
modelo analise as seguintes considerações.
- Trata-se de um modelo bastante didático, pois a modularização do processo
permite o desenvolvimento gradativo do compilador enquanto se estuda com mais
detalhes as atividades pertinentes a cada etapa.
- Por outro lado, uma desvantagem inerente ao modelo é que por exemplo um erro
semântico localizado nas primeiras linhas do código fonte somente seria detectado
após a conclusão das análises léxica e sintática de todas as linhas do programa.
Assinale a alternativa que representa o melhor juízo cabível sobre o que se a�rmou.
Ambas as assertivas são verdadeiras, sendo a segunda a
justi�cativa da primeira.
Pergunta 3
Resposta
Selecionada:
e.
Os diferentes elementos básicos que compõe uma linguagem, tais como as palavras
reservadas, identi�cadores, operadores e quaisquer outros lexemas estabelecidos
por ela, também possuem uma estrutura sintática e podem ser descritos
formalmente através de expressões regulares. Entretanto a tarefa de
reconhecimento dos lexemas é realizada pelo Analisador Léxico, acontecendo de
maneira separada da Análise Sintática do código.
Assim, um analisador léxico é antes de mais nada um elemento reconhecedor
destas estruturas e pode ser de�nido como um autômato �nito, dada a natureza
regular dos elementos da linguagem.
Julgue cada uma das a�rmativas a seguir e assinale a alternativa correta.
I) As gramáticas regulares não permitem a descrição de estruturas aninhadas e
portanto não são capazes de descrever simultaneamente os lexemas e também as
demais estruturas típicas nas linguagem de programação, tais como parênteses
balanceados e comandos aninhados.
II) A separação das etapas permite utilizar gramaticas regulares, que são mais
simples e mais e�cientes, para a descrição dos lexemas tornado a implementação
do reconhecedor mais fácil.
III) O analisador sintático �caria muito mais complexo, pois estaria a todo momento
preocupado em prever a ocorrência de símbolos irrelevantes, tais como espaços em
branco, que teriam sido eliminados pela análise léxica.
Todos itens são verdadeiros e os motivos apresentados justi�cam
a separação dos analisadores.
Pergunta 4
Analisadores sintáticos do tipo LL(k) realizam a veri�cação da sentença de modo
descendente, entretanto tem como restrição poderem ser aplicados apenas aos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
30/08/22, 18:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83375318_1&course_id=_233931_1&content_id=_2835982_1&outc… 3/5
Resposta Selecionada:
e.
casos em que a gramática da linguagem é LL(k). Considerando a produção S → S x K
| K qual, dentre as alternativas a seguir, poderia substituí-la de modo a eliminar a
recursão a esquerda e criar uma gramática equivalente? (Considere ε representando
a sentença vazia).
Pergunta 5
Resposta
Selecionada:
a.
Supondo a gramática a seguir e a sentença (a,(a),(a,a)), quais seriam os movimentos
realizados por um reconhecedor ascendente para esta cadeia?
G = ({L,S}, {“(“, ”)”, ”a”, ”,”}, L, P )
P. L → (S)
S → I,S | I
I → a | L
(a,(a),(a,a)) ⇒ (I,(a),(a,a)) ⇒ (I,(I),(a,a)) ⇒ (I,(S),(a,a)) ⇒ (I,L,(a,a)) ⇒ (I,I,
(a,a)) ⇒ (I,I,(I,a)) ⇒(I,I,(I,I)) ⇒ (I,I,(I,S)) ⇒ (I,I,(S)) ⇒ (I,I,L) ⇒ (I,I,I) ⇒ (I,I,S) ⇒
(I,S) ⇒ (S) ⇒ L.
Pergunta 6
Resposta
Selecionada:
a.
Uma das tarefas primordiais ao processo de compilação é que durante a veri�cação
da sintática do programa o compilador reporte ao programador todos os erros
detectados para que ele os corrija. Neste contexto, a adoção de uma estratégia que
permita o tratamento e eventual recuperação diante de erros é parte das decisões
que envolvem a construção dos analisadores. Assinale a alternativa que não
descreve de maneira apropriada essas estratégias.
O Modo Pânico é aquele em que o compilador exibe as mensagens
de erro e interrompe qualquer outra atividade do sistema
operacional, evitando problemas de gravação dos dados no disco e
a corrupção dos dados armazenados.
Pergunta 7
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
30/08/22, 18:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83375318_1&course_id=_233931_1&content_id=_2835982_1&outc… 4/5
Resposta
Selecionada:
c.
Assinale a alternativa que representa a principal tarefa realizada pela Análise léxica.
Varrer o arquivo fonte, lendo-o caractere por caractere e agrupá-los
em blocos de um ou mais elementos de acordo com o signi�cado
dentro da linguagem.
Pergunta 8
Resposta
Selecionada:
a.
Um analisador sintático descendente constrói a árvore de derivação do programa de
cima para baixo, isto é, partindo da raiz (símbolo inicial da gramática) e seguindo em
direção as folhas (símbolos do programa). Todos os métodos que adotam esta
estratégia seguem esta abordagem, variando pontualmente a forma como resolvem
o problema de selecionar a regra a ser aplicada em cada momento. Pode-se a�rmar
sobre o Analisador Descendente Recursivo:
É um reconhecedor obtido através da transcrição das regras de
produção da gramática na forma de um conjunto de sub-rotinas.
Assim, cada sub-rotina é responsável por veri�caros elementos
relativos a uma produção em particular. O processo de
reconhecimento se inicia com a chamada da sub-rotina equivalente
a regra que deriva o símbolo inicial da gramática. A partir disto,
chamadas subsequentes para outras sub-rotinas são realizadas
sempre que um símbolo não terminal é encontrado na produção.
Quando todos os elementos são consumidos, a chamada inicial
retorna sinalizando que se trata de uma sentença é válida.
Pergunta 9
Resposta
Selecionada:
d.
Um processo algorítmico tem o objetivo de instruir o executor quanto às ações que
deve realizar e a sua sequência. Para que isso ocorra é necessário que as instruções
sejam dadas num formato compreensível àquele que as realizará. A programação
de computadores é feita descrevendo o algoritmo em instruções de uma linguagem
de programação e que, quando ditas de alto nível, apresentam características mais
próximas à estrutura das linguagens humanas do que a das máquinas. Analise as
alternativas a seguir e assinale a que julgar incorreta.
0,5 em 0,5 pontos
0,5 em 0,5 pontos
30/08/22, 18:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_83375318_1&course_id=_233931_1&content_id=_2835982_1&outc… 5/5
Terça-feira, 30 de Agosto de 2022 18h55min53s GMT-03:00
Os conhecimentos relacionados à construção de compiladores
encerram-se estritamente nesta atividade, oferecendo pouco ou
mesmo nenhuma possibilidade de aplicação em outras áreas que
não seja a tradução para linguagem de máquina.
Pergunta 10
Resposta
Selecionada:
b.
Durante a varredura do código fonte pelo Scanner (Analisador Léxico) várias tarefas
ditas secundárias são realizadas. Assinale a alternativa cuja tarefa não corresponde
as atribuições esperadas para um analisador léxico.
Reconhecer a utilização de operadores e palavras reservadas da
linguagem, assim como a de qualquer outro elemento signi�cativo,
compondo uma sequência de tokens representativa do código para
as etapas subsequentes.
← OK
0 em 0,5 pontos