Prévia do material em texto
Disciplina: COMPILADORES AV Aluno: Professor: Turma: Avaliação: 6,0 Av. Parcial.: Nota SIA: ENSINEME: ANÁLISE LÉXICA 1. Ref.: 3990674 Pontos: 0,00 / 1,00 Autômato Finito é formalmente definido por uma quíntupla como por exemplo esta: Q = número de estados = {S0, S1, S2, S3,S4,S5} = símbolos de entrada = {A,E,M,O,S} = transições = (S0,S) = S1 (S1,E) = S2 (S1,O) = S3 (S3,M)= S4 (S4,A) = S5 q0 = estado inicial = {S0} F = conjunto de estados finais = {S3,S5} Sabendo-se que os estados finais quando atingidos caracterizam que a palavra foi aceita, que palavras seriam aceitas por este autômato? "Se" e "Soma" "Som" e "Sema" "Mesa" e "So" "Mesa" e "Ema" "So" e "Sema" 2. Ref.: 3990678 Pontos: 1,00 / 1,00 O GALS além dos tokens permite a escrita de definição regulares que facilitam a Σ δ δ δ δ δ δ Educational Performace Solution EPS ® - Alunos javascript:voltar(); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990674.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.'); javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.') construção do tokens. Observe a figura abaixo: Ela faz a especificação de um token chamado ID, qual das opções abaixo apresenta o único lexema que atende a especificação: A3A AA. A3 3A AA3 ENSINEME: ANÁLISE SEMÂNTICA 3. Ref.: 3992184 Pontos: 1,00 / 1,00 As árvores como representações intermediárias gráficas são muito utilizadas para armazenar informações que auxiliam na execução dos passos da etapa de análise da compilação. Quanto a estes aspectos podemos afirmar que: Arvores de Derivação Anotadas prestam um auxílio valioso à Análise Semântica Porque Como seus nós possuem atributos associados podem ser validados quanto a vários aspectos, por exemplo, o tipo de variáveis. Com base nas afirmativas acima podemos concluir que: As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa As duas afirmativas são falsas 4. Ref.: 3992188 Pontos: 1,00 / 1,00 As representações intermediárias lineares são utilizadas para produzir o resultado da Análise Semântica. As respeito destas representações analise as seguintes afirmativas: I. Código de máquina de pilha é um exemplo de código de um endereço II. Códigos de um endereço utilizam nomes implícitos III. Códigos de dois endereços não utilizam operações destrutivas. IV. Código de três endereços possuem o formato básico r ← x op y Estão corretas apenas as afirmativas: II, III e IV {ε} II e III I, II e IV I e IV I, II e III Educational Performace Solution EPS ® - Alunos javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992188.'); javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.') ENSINEME: ANÁLISE SINTÁTICA 5. Ref.: 3992525 Pontos: 1,00 / 1,00 Enade 2008 Compiladores de linguagens de programação traduzem programas-fonte, em uma linguagem de entrada, para programas-objeto, em uma linguagem de saída. Durante o processo de tradução, o compilador deve verificar se as sentenças do programa-fonte estão sintaticamente corretas. Esse processo de análise sintática pode ser realizado construindo-se uma árvore de análise segundo duas principais abordagens: top-down, quando a árvore é investigada da raiz às folhas; ou bottom-up, das folhas à raiz. Acerca desse assunto, julgue os itens seguintes. I A análise top-down é adequada quando a linguagem de entrada é definida por uma gramática recursiva à esquerda. II Independentemente da abordagem adotada, top-down ou bottom-up, o analisador sintático utiliza informações resultantes da análise léxica. III Se os programas em uma linguagem podem ser analisados tanto em abordagem top-down como em bottom- up, a gramática dessa linguagem é ambígua. IV A análise bottom-up utiliza ações comumente conhecidas como deslocamentos e reduções sobre as sentenças do programa-fonte. Estão certos apenas os itens I e III I, III e IV II, III e IV II e IV I e II 6. Ref.: 3992520 Pontos: 0,00 / 1,00 Considere a seguinte gramática: E → +EE E → *EE E → a E → b Podemos afirmar que ela somente pode ser analisada por um Parser Descendente Preditivo Porque Ela está fatorada e sem recursão à Esquerda Como base nas afirmativas acima podemos concluir que: As duas são corretas e a segunda justifica a primeira A primeira é verdadeira e a segunda falsa A primeira é falsa e a segunda correta As duas são corretas e a segunda não justifica a primeira As duas afirmativas são falsas ENSINEME: GERAÇÃO DE CÓDIGO Educational Performace Solution EPS ® - Alunos javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992525.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992520.'); javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.') 7. Ref.: 3993093 Pontos: 0,00 / 1,00 A alocação de registradores junto com a seleção de instruções são atividades fundamentais na geração do código de montagem. Ela possui um impacto enorme no desempenho do programa já que ao se utilizar os registradores para minimizar o acesso a memória torna a execução mais eficiente. Considerando que temos uma máquina com dois registradores (r0 e r1) e com o conjunto de instruções do quadro abaixo Sub r0 bMove r0 a Move r1 c Add r1 r0 Move x r1 Move r1 d Mult r1 e Add r0 f Move y r1 Add x r1 Move x r1 Move z r0 Move w r1 Podemos afirmar que: A instrução Move y r1 foi necessária para derramar o conteúdo de r1 em Y Porque Era necessário liberar o um registrador para poder continuar a execução do programa da forma mais eficiente. Com base nas afirmativas acima podemos concluir que: As duas são corretas e a segunda justifica a primeira As duas são corretas e a segunda não justifica a primeira As duas afirmativas são falsas A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa Educational Performace Solution EPS ® - Alunos javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993093.'); javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.') 8. Ref.: 3993113 Pontos: 0,00 / 1,00 Computadores modernos fazem amplo uso do multiprocessamento , pois possuem vários núcleos o que permite a execução em paralelo de várias instruções de um mesmo programa. Este recurso pode ser utilizado na otimização do código para partir da diminuição da altura da árvore sintática e a alocação das operações nos vários núcleos. Dentro desta concepção analise a Árvore Sintática abaixo que se originou de outra árvore de altura maior Com base na análise podemos afirmar que: Está árvore é uma tentativa de utilizar o multiprocessamento para a sequência de operações Porém A otimização não irá funcionar já que ela possui operadores diferentes em seus nós internos Com base nas afirmativas acima podemos concluir que: As duas são corretas e a segunda não justifica a primeira A primeira é falsa e a segunda correta As duas afirmativas são falsas As duas são corretas e a segunda justifica a primeira A primeira é verdadeira e a segunda falsa ENSINEME: O COMPILADOR 9. Ref.: 7674284 Pontos: 1,00 / 1,00 (EMPREL/2019 - Adaptada) Qual é o componente de um compilador que lê um fluxo de entrada (caracteres) e produz um fluxo de saída que contém palavras das quais cada uma é rotulada com sua categoria sintática, equivalente a uma classe gramatical da palavra na linguagem do programa fonte? Analisador Léxico. Otimizador. Analisador Sintático. Gerador de CódigoIntermediário. Analisador Semântico. 10. Ref.: 3990553 Pontos: 1,00 / 1,00 Os compiladores, de um modo geral, são compostos de funções padronizadas, as quais compreendem a análise do programa fonte e então a síntese para a derivação do código objeto. O processo de compilação é comumente estruturado em passos que, eles são: reconhecimento dos tokens iniciais e finais, análise contextual, aplicação deEducational Performace Solution EPS ® - Alunos javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993113.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7674284.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553.'); javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.') algoritmo de escalonamento, geração de código intermediário e geração de código objeto. simplificação do programa fonte, aplicação de algoritmo de escalonamento, análise contextual, geração e otimização de código. análise léxica, análise sintática, análise semântica, geração de código intermediário, otimização de código e geração de código. análise da gramática, busca binária, geração de código intermediário, geração de objeto final. análise léxica, análise sintática, análise semântica, síntese do programa fonte e reutilização de tokens. Educational Performace Solution EPS ® - Alunos javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')