Baixe o app para aproveitar ainda mais
Prévia do material em texto
16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 1/6 Disciplina: COMPILADORES AV Aluno: PEDRO WINDSON DE MELO MATTOS 202002749873 Turma: 9001 ARA0201_AV_202002749873 (AG) 21/11/2022 15:52:50 (F) Avaliação: 6,00 pts Nota SIA: 7,50 pts ENSINEME: ANÁLISE LÉXICA 1. Ref.: 3990673 Pontos: 0,00 / 1,00 Autômatos Finitos são de�nidos por uma quíntupla (Q, , , q0, F) onde: Q é o conjunto �nito de estados, é o conjunto �nito de símbolos de entrada, é a função de transição, q0 é o estado inicial (q0 Q - o estado inicial é apontado por uma seta) F o conjunto de estados �nais ou de aceitação ( um estado inicial também pode ser �nal). E podem ser representados por grafos ou de forma tabular considere o seguinte grafo: Qual seria a sua representação tabular? Σ δ Σ δ ∈ javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990673.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990673.'); 16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 2/6 2. Ref.: 3990679 Pontos: 1,00 / 1,00 Diagramas de Sintaxe são forma grá�cas e alternativas para representar as especi�cações de tokens, sem precisa recorrer as Expressões Regulares ao BNF. Considere o diagrama de Sintaxe abaixo: Que expressão regular faria exatamente a mesma de�nição no GALS? Inteiro : [0-9]? Inteiro : [0-9]* Inteiro : [Digito]+ Inteiro : [Digito]* Inteiro : [0-9]+ ENSINEME: ANÁLISE SEMÂNTICA 3. Ref.: 3992184 Pontos: 0,00 / 1,00 javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990679.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990679.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184.'); 16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 3/6 As árvores como representações intermediárias grá�cas 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 a�rmar 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 a�rmativas acima podemos concluir que: As duas são corretas e a segunda justi�ca a primeira As duas a�rmativas são falsas A primeira é verdadeira e a segunda falsa A primeira é falsa e a segunda correta As duas são corretas e a segunda não justi�ca a primeira 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 a�rmativas: 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 a�rmativas: I e IV II, III e IV {ε} II e III I, II e III I, II e IV ENSINEME: ANÁLISE SINTÁTICA 5. Ref.: 3992515 Pontos: 1,00 / 1,00 Gramáticas Livres de Contexto se prestam à de�nição de Linguagens de programação. Porém, a existência de ambiguidade gera o problema do não determinismo para o parser, já que permite a criação de duas árvores sintáticas distintas para o mesmo comando. Considere as seguintes gramáticas I - A → A + A | A − A | a II -E → E + E | E → E * E | E → b III - S → S + T | S → T | T → T * F | F → c Existe ambiguidade: javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992188.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992188.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992515.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992515.'); 16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 4/6 Somente em I Em I e III Somente em II Em II e III Em I e II 6. Ref.: 3992462 Pontos: 1,00 / 1,00 ANO: 2012 BANCA: CESGRANRIO ÓRGÃO: TRANSPETRO PROVA: ANALISTA DE SISTEMAS - INFRAESTRUTURA DE TI 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: Árvore AVL Fluxo (stream) de tokens Gramática dirigida a sintaxe Gramática livre de contexto Árvore sintática ENSINEME: GERAÇÃO DE CÓDIGO 7. Ref.: 3993004 Pontos: 1,00 / 1,00 A alocação adequada de memória para a execução do programa é fundamental para que ele tenha um bom desempenho. A memória utilizada pelo programa é dividida em várias parte sendo cada uma delas mais adequada para um determinado uso. As áreas em que um programa é normalmente divido são I Área de Código Objeto II Área de Dados Estática III Heap IV Pilha Dentre estas a alocação estática é utilizada nas áreas: II e IV III e IV I e III I e II II e III 8. 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 javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992462.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992462.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993004.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993004.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.'); 16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 5/6 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? Pilha e memória livre Pilha e heap Memória livre e heap Área de dados e heap Área de dados e pilha ENSINEME: O COMPILADOR 9. Ref.: 3990558 Pontos: 0,00 / 1,00 Considere o extrato abaixo referente a especi�cação de um linguagem de programação ::= inteiro | real | string declaração_variavel::= [ {, } ]; ::= inteiro | real | string ::= + |- | * | / ::= {L} + {L}|{D} ::= {D}+ ::= {D} + [.{D}+] | .{D} ::= ´{C}´ L ::= A..Z a..z D ::= 0..9 Se a seguinte declaração fosse escrita que tipo de erro seria gerado Inteiro AB+, B, C Lógico Léxico Semântico Sintático Execução 10. Ref.: 3990553 Pontos: 0,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: javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990558.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990558.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553.'); 16/04/2024, 17:10 EPS https://simulado.estacio.br/alunos/ 6/6 análise léxica, análise sintática, análise semântica, síntese do programa fonte e reutilização de tokens. reconhecimento dos tokens iniciais e �nais, análise contextual, aplicação de algoritmo de escalonamento, geração de código intermediário e geração de código objeto. 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 �nal. simpli�cação do programa fonte, aplicação de algoritmo de escalonamento, análise contextual, geração e otimização de código.
Compartilhar