Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/02/2022 17:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_75393085_1&course_id=_214337_1&content_id=_2644698_1&retur… 1/5 Revisar envio do teste: QUESTIONÁRIO UNIDADE I COMPILADORES E COMPUTABILIDADE D571_13701_R_20221 CONTEÚDO Usuário SILMARA GONCALVES DA CRUZ Curso COMPILADORES E COMPUTABILIDADE Teste QUESTIONÁRIO UNIDADE I Iniciado 24/02/22 17:46 Enviado 24/02/22 17:56 Status Completada Resultado da tentativa 4,5 em 5 pontos Tempo decorrido 9 minutos Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente Pergunta 1 Resposta Selecionada: d. Os métodos ligados a análise sintática se agrupam em ascendentes e descendentes, de acordo com a forma como derivam a estrutura sintática da sentença do programa. Assinale a alternativa incorreta a respeito dos analisadores sintáticos. Dentre a categoria de analisadores descendentes podemos citar os parses Descendentes Recursivos, de Cocke‐Younger‐Kasami e os analisadores do tipo LR(k). Pergunta 2 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 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=_214337_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_214337_1&content_id=_2633830_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 24/02/2022 17:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_75393085_1&course_id=_214337_1&content_id=_2644698_1&retur… 2/5 Resposta Selecionada: 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 3 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 4 Um analisador sintático LL(1) somente pode ser construído para uma classe restrita de gramáticas, que também recebem este mesmo nome. Uma de suas características é que suas produções não apresentem pre�xos comuns para cadeias distintas derivadas a partir de um mesmo não-terminal. Ou seja, se duas produções que começam com o mesmo símbolo ou conjunto de símbolos (pre�xo), por exemplo, como nas regras A→αβ e A→αδ e sendo First(α) ≠ ∅, implicará numa interseção entre os conjuntos First(αβ) e First(αδ) e o analisador não será capaz de decidir qual regra escolher utilizando um único símbolo da entrada. Usualmente o problema pode ser resolvido substituindo as produções da gramática que causam o problema por outras que acomodem essa restrição, mantendo a equivalência entre elas. Supondo a produção S → if E then S else S � | if E then S � | K e considerando ε como a sentença vazia, quais dentre as alternativas a seguir 0,5 em 0,5 pontos 0,5 em 0,5 pontos 24/02/2022 17:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_75393085_1&course_id=_214337_1&content_id=_2644698_1&retur… 3/5 Resposta Selecionada: a. representa uma substituição válida para resolver o problema apresentado e obter uma gramática equivalente que seja LL(1)?. S → if E then S R � | K R → else S | ε Pergunta 5 Resposta Selecionada: d. A gramática dada a seguir é LL(1). Nela os elementos +, *, (, ) e id con�guram como símbolos terminais, enquanto os E, T, F, E’ e T’ são considerados não-terminais. A tabela de movimentos M fornece ao reconhecedor o número da regra que deve ser aplicada durante a análise da sentença, sendo necessário apenas conhecer o não- terminal a ser derivado e o primeiro símbolo presente no restante da entrada. Sobre a construção de analisadores sintáticos deste tipo é incorreto a�rmar que: A aplicação da regra 8 deve ser feita antes da regra 7, segundo a interpretação que temos da tabela. Esse fato se comprova ao observarmos que o símbolo “(“ poderia ocorrer imediatamente após um “id” segundo o que determina as produções da gramática. Pergunta 6 Resposta Selecionada: e. 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 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). 0,5 em 0,5 pontos 0,5 em 0,5 pontos 24/02/2022 17:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_75393085_1&course_id=_214337_1&content_id=_2644698_1&retur… 4/5 Pergunta 7 Resposta Selecionada: e. 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. Detectar os marcadores de início e de �m de blocos para que os comandos possam ser agrupados em um único elemento e entregues para a fase de análise sintática com um comando único. Pergunta 8 Resposta Selecionada: b. O processo de programar um computador para realizar uma determinada tarefa, quando analisado em relação às atividades que são necessárias desde a codi�cação do algoritmo até a execução propriamente dita do programa, pode ser visto como um processo complexo e que envolve vários elementos, cada qual com propósito bastante especí�co. Nesse contexto, assinale a alternativa que descreve o propósito e a principal tarefa realizada pelos compiladores. Possibilitar a programação de computadoresutilizando linguagens de alto nível (que permitem descrever as ideias em termos mais abstratos e mais independentes da arquitetura da máquina), pois são responsáveis pela tradução do algoritmo em seu correspondente em um linguagem de baixo nível. Pergunta 9 Resposta Selecionada: a. Durante o processo de veri�cação da estrutura sintática de um programa, o analisador simula o processo de construção da árvore de derivação para o programa que está sendo compilado. Usualmente esse processo é realizado adotando-se uma dentre duas abordagens possíveis. a top-down, em que se parte do símbolo inicial da gramática e tenta-se alcançar os elementos que compõe o programa; e a botton-up, que segue o princípio contrário, partindo do código e realizado reduções na sentença até que se alcance o símbolo inicial que caracterize o elemento raiz da árvore. A respeito destas estratégias assinale a alternativa correta. 0,5 em 0,5 pontos 0,5 em 0,5 pontos 0,5 em 0,5 pontos 24/02/2022 17:56 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – ... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_75393085_1&course_id=_214337_1&content_id=_2644698_1&retur… 5/5 Quinta-feira, 24 de Fevereiro de 2022 17h56min32s BRT Os métodos descendentes são usualmente mais convenientes em casos de implementação manual, enquanto os métodos ascendentes (botton-up) são considerados mais favoráveis para construtores automáticos de analisadores. Pergunta 10 Resposta Selecionada: c. 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)) ⇒ (a,(a),(a,I)) ⇒ (a,(a),(I,I)) ⇒ (a,(a),(S)) ⇒ (a,(a),(S)) ⇒ (a,(a),L) ⇒ (a,(a),I) ⇒ (a,(a),S) ⇒ (a,(I),S) ⇒ (a,(S),S) ⇒ (a,L,S) ⇒ (a,I,S) ⇒ (a,S) ⇒ (I,S) ⇒ (S) ⇒ L. ← OK 0 em 0,5 pontos
Compartilhar