Baixe o app para aproveitar ainda mais
Prévia do material em texto
13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur… 1/6 Revisar envio do teste: QUESTIONÁRIO UNIDADE II COMPILADORES E COMPUTABILIDADE D571_13701_R_20202 CONTEÚDO Usuário STEPHANY MENDES OLIVEIRA Curso COMPILADORES E COMPUTABILIDADE Teste QUESTIONÁRIO UNIDADE II Iniciado 13/09/20 17:14 Enviado 13/09/20 17:20 Status Completada Resultado da tentativa 5 em 5 pontos Tempo decorrido 6 minutos Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente Pergunta 1 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 2 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=_101256_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_101256_1&content_id=_1367580_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 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur… 2/6 Resposta Selecionada: e. 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 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 3 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 4 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 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 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur… 3/6 Resposta Selecionada: e. 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 5 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 6 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. 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur…4/6 Resposta Selecionada: e. 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 quanto em tempo de execução, de acordo com a propriedade que representam. Todos itens são verdadeiros. 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 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 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur… 5/6 Resposta Selecionada: d. 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 9 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. Pergunta 10 Supondo o comando: (em C) assinale a alternativa que corresponde a uma das possíveis versões de código intermediário dado na 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE II – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44381314_1&course_id=_101256_1&content_id=_1374075_1&retur… 6/6 Domingo, 13 de Setembro de 2020 17h20min40s GMT-03:00 Resposta Selecionada: b. forma de quádruplas para este comando. ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_1367580_1&course_id=_101256_1&nolaunch_after_review=true');
Compartilhar