Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/06/2023, 20:19 EPS https://simulado.estacio.br/alunos/ 1/4 Disciplina: COMPILADORES AVS Aluno: NATÁLIA CRISTINA CLAUDINO DA SILVA 202108421367 Professor: MAIARA HEIL CANCIAN Turma: 9004 CCT0838_AVS_202108421367 (AG) 25/06/2023 12:37:47 (F) Avaliação: 10,00 pts Nota SIA: 10,00 pts ENSINEME: ANÁLISE LÉXICA 1. Ref.: 7807542 Pontos: 1,00 / 1,00 (IDIB/2020 - Adaptado) As linguagens de programação que utilizamos para construção de aplicações são de fácil entendimento para um programador, pois são conhecidas como linguagens com alto nível de abstração. No entanto, este código não pode ser executado diretamente pelo computador, pois o mesmo reconhece apenas linguagem de máquina. Assinale a alternativa que indica corretamente o nome do programa que, durante sua execução, realiza operações de análise léxica, análise sintática, análise semântica e síntese. ligador editor compilador interpretador montador 2. Ref.: 3990674 Pontos: 1,00 / 1,00 Autômato Finito é formalmente de�nido 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 �nais = {S3,S5} Sabendo-se que os estados �nais quando atingidos caracterizam que a palavra foi aceita, que palavras seriam aceitas por este autômato? "Se" e "Soma" "Mesa" e "Ema" "Mesa" e "So" "So" e "Sema" "Som" e "Sema" Σ δ δ δ δ δ δ javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807542.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990674.'); 28/06/2023, 20:19 EPS https://simulado.estacio.br/alunos/ 2/4 ENSINEME: ANÁLISE SEMÂNTICA 3. Ref.: 7808675 Pontos: 1,00 / 1,00 (FCC/2019) Um compilador está veri�cando se uma variável foi declarada somente uma vez, se foi declarada antes do seu primeiro uso, se foi declarada e nunca foi usada e se os tipos de dados em uma expressão aritmética são compatíveis. Essas veri�cações são realizadas na fase de: análise semântica. otimização do código. análise léxica. análise sintática. geração do código. 4. Ref.: 7808676 Pontos: 1,00 / 1,00 (ABIN/2018 - Adaptada) Com relação a linguagens de programação e compiladores, avalie as assertivas a seguir: I. A análise semântica, por ser a primeira etapa do processo de compilação, não veri�ca a sintaxe do código-fonte. II. A análise semântica é responsável apenas por identi�car erros de lógica no código-fonte. A falta de indentação em um código é veri�cada nessa etapa. III. A etapa de análise semântica de um compilador tem como objetivo veri�car os inter-relacionamentos de um programa, validando tipologias, �uxos de controle e unicidade na declaração de variáveis. Marque a alternativa correta. I e II, apenas. I, II e III. I, apenas. II, apenas. III, apenas. ENSINEME: ANÁLISE SINTÁTICA 5. Ref.: 7807516 Pontos: 1,00 / 1,00 (IBADE/2018) Algumas linguagens exigem que o código fonte seja previamente traduzido para linguagem de máquina antes de ser executado. Chama-se esta fase de: Compilação. Interpretação. Linkedição. Tradução. Edição. 6. Ref.: 7807517 Pontos: 1,00 / 1,00 javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808675.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808676.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807516.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807517.'); 28/06/2023, 20:19 EPS https://simulado.estacio.br/alunos/ 3/4 (FCC/2016) A compilação é o processo de tradução de um programa escrito em uma linguagem fonte em um programa equivalente em linguagem de máquina. Nesse processo, o programa fonte normalmente passa pelas fases: I. Identi�cação de sequências de caracteres de entrada e produção de uma sequência de elementos de saída, os tokens. Nesta fase, veri�ca-se se cada caractere do programa fonte pertence ao alfabeto da linguagem, identi�cando os tokens e desprezando comentários e espaços em branco. Os tokens constituem classes de símbolos, tais como palavras reservadas, delimitadores, identi�cadores etc. II. Identi�cação de sequências de símbolos que constituem estruturas como expressões e comandos, através de uma varredura, ou parsing, da representação interna do programa fonte, produzindo uma estrutura em árvore, chamada árvore de derivação. III. Veri�cação das estruturas quanto ao sentido, ou seja, se o programa não possui erros de signi�cado. Por exemplo, veri�ca se um identi�cador declarado como variável é utilizado como tal, se existe compatibilidade entre operandos e operadores em expressões etc. Os itens I, II e III referem-se, correta e respectivamente, às fases: Classi�cação - Análise Léxica - Montagem. Análise Léxica - Análise Sintática - Análise Semântica. Identi�cação Inicial - Análise Estrutural - Geração de Código. Interpretação - Análise Sintática - Montagem. Busca Binária - Montagem Léxica - Análise Semântica. 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: III e IV II e IV I e II I e III II e III 8. Ref.: 7815537 Pontos: 1,00 / 1,00 Existem diferentes notações em programação, cada uma com sua �nalidade e aplicação especí�ca. Qual das alternativas abaixo descreve corretamente a notação pos�xa em programação? É uma notação matemática utilizada para representar números fracionários. javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993004.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 7815537.'); 28/06/2023, 20:19 EPS https://simulado.estacio.br/alunos/ 4/4 É uma notação que representa a expressão matemática de forma linear e sequencial. É uma notação que coloca os operadores após os operandos na expressão matemática. É uma notação que inverte a ordem dos operadores em relação aos operandos. É uma notação que expressa a precedência dos operadores através de parênteses. ENSINEME: O COMPILADOR 9. Ref.: 7674284 Pontos: 1,00 / 1,00 (EMPREL/2019 - Adaptada) 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 Semântico. Gerador de Código Intermediário. Otimizador. Analisador Sintático. Analisador Léxico. 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: 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. simpli�caçã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 �nal. javascript:alert('C%C3%B3digo da quest%C3%A3o: 7674284.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553.');
Compartilhar