Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: COMPILADORES NC Aluno: ALBENIDES FERNANDES DE LIMA 201901298426 Professor: MARIA CLAUDIA ROENICK GUIMARAES Turma: 9001 CCT0838_NC_201901298426 (AG) 07/11/2023 10:20:40 (F) Avaliação: 9,00 pts de 10,00 Nota SIA: 7,00 pts Estação de trabalho liberada pelo CPF 07602463358 com o token 752134 em 07/11/2023 10:04:11. ENSINEME: ANÁLISE LÉXICA 1. Ref.: 3990675 Pontos: 1,00 / 1,00 Expressões regulares podem ser representadas por autômatos �nitos. Considere o autômato abaixo: Este autômato é não determinístico já que apresenta transições e corresponde a seguinte expressão regular: "b" "a" (ab)* "ab" "a|b" 2. Ref.: 3990678 Pontos: 1,00 / 1,00 O GALS além dos tokens permite a escrita de de�nição regulares que facilitam a construção do tokens. Observe a �gura abaixo: Ela faz a especi�cação de um token chamado ID, qual das opções abaixo apresenta o único lexema que atende a especi�cação: AA3 A3A AA. ∈ javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990675.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990675.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.'); A3 3A ENSINEME: ANÁLISE SEMÂNTICA 3. Ref.: 3992183 Pontos: 1,00 / 1,00 As árvores de sintaxe são a forma mais comum de representação intermediária grá�ca. Dentre estas árvores temos as de Derivação, Sintática e Derivação Anotada. Com relação a estas árvores avalie as a�rmativas abaixo: I. Decorar uma Árvore é colocar os atributos nos símbolos da Árvore Sintática II. A Árvore Sintática é obtida eliminando-se os nós referentes aos símbolos não terminais na árvore de derivação III. A árvore de Derivação possui em suas folhas apenas símbolos não terminais Podemos a�rmar que está correto o que se a�rma apenas em: II I e III I e II II e III III 4. Ref.: 7808680 Pontos: 1,00 / 1,00 (Transpetro/2012) Um compilador é um programa que executa vários passos, dentre os quais, o de analisar uma sequência de entrada para determinar sua estrutura gramatical segundo uma determinada gramática formal. O resultado típico dessa análise é uma estrutura conhecida como �uxo (stream) de tokens árvore sintática gramática dirigida a sintaxe gramática livre de contexto árvore AVL ENSINEME: ANÁLISE SINTÁTICA 5. Ref.: 7807510 Pontos: 1,00 / 1,00 (FCC/2012) Analise o texto: Na compilação, a análise consiste em três fases. Em uma das fases, os caracteres ou tokens são agrupados hierarquicamente em coleções aninhadas com signi�cado coletivo. Essa fase envolve o agrupamento dos tokens do programa fonte em frases gramaticais, que são usadas pelo compilador, a �m de sintetizar a saída. Usualmente, as frases gramaticais do programa fonte são representadas por uma árvore gramatical. A fase citada no texto é conhecida como análise: javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992183.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992183.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808680.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808680.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807510.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807510.'); binária. linear. sintática. léxica. semântica. 6. Ref.: 7807519 Pontos: 0,00 / 1,00 A Hierarquia de Chomsky é uma classi�cação de gramáticas formais desenvolvida pelo linguista Noam Chomsky. Ela divide as gramáticas em 4 classes, baseadas na complexidade da estrutura sintática que elas permitem representar. Nesse contexto, qual é a de�nição de uma gramática ambígua? Uma gramática que não tem regras de�nidas para determinados símbolos terminais. Uma gramática que tem mais de uma maneira de derivar a mesma palavra ou frase. Uma gramática que tem mais de uma maneira de interpretar a mesma palavra ou frase. Uma gramática que tem mais de uma maneira de combinar símbolos terminais. Uma gramática que tem mais de uma regra para o mesmo símbolo terminal. ENSINEME: GERAÇÃO DE CÓDIGO 7. Ref.: 3993018 Pontos: 1,00 / 1,00 As áreas em que se divide a memória do programa podem ser de tamanho �xo ou variável. As de tamanho �xo lidam normalmente com variáveis escalares e linhas de código, já as de tamanho variável são normalmente auxiliares para a execução do programa armazenando dados de tamanho variável etc. Dentre as áreas do programa duas delas crescem em direção uma da outra. Quais são elas? Memória livre e heap Pilha e memória livre Área de dados e pilha Área de dados e heap Pilha e heap 8. Ref.: 3993110 Pontos: 1,00 / 1,00 Para determinar qual código é mais otimizado podemos utilizar uma métrica que calcule o custo de cada opção e determinar qual é o mais otimizado, ou seja qual tem o menor custo. Considere um processador com o seguinte conjunto de instruções: javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807519.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807519.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993110.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993110.'); Sabendo que a métrica utilizada gera um custo de 1 para instruções que não acessam a memória RAM e um custo de 2 para as que não acessam analise os trechos de código abaixo Como base na análise podemos a�rmar que o código 2 é melhor que o código 1 Porque Seu custo é 12 enquanto o do código 1 é 12 Com base nas a�rmativas acima podemos concluir que: As duas são corretas e a segunda não justi�ca a primeira As duas a�rmativas são falsas As duas são corretas e a segunda justi�ca a primeira A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa ENSINEME: O COMPILADOR 9. Ref.: 3990557 Pontos: 1,00 / 1,00 Sobre análise léxica e sintática executadas pelos compiladores, assinale a opção correta. javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990557.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990557.'); O analisador sintático processa diretamente o programa fonte a procura de erros. Um analisador léxico serve como o passo �nal de um analisador sintático. Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática. Um analisador léxico gera a entrada para o analisador sintático. Os analisadores léxico e sintático somente se comunicam via tabela de simbolos. 10. Ref.: 3990556 Pontos: 1,00 / 1,00 Qual é o componente de um compilador que lê um �uxo de entrada (caracteres) e produz um �uxo 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. Analisador Sintático. Gerador de Código Intermediário. Analisador Semântico. Otimizador javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990556.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990556.');
Compartilhar