Baixe o app para aproveitar ainda mais
Prévia do material em texto
14/04/2023, 09:14 Estácio: Alunos https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=306149118&cod_prova=61790028… 1/5 Meus Simulados Teste seu conhecimento acumulado Disc.: COMPILADORES Aluno(a): TIAGO WALTER FAGUNDES 202203023209 Acertos: 10,0 de 10,0 14/04/2023 Acerto: 1,0 / 1,0 O que faz a análise léxica? Veri�ca se as estruturas do programa irão fazer sentido 4 durante a execução; Tratar erros de tipo no programa fonte; Veri�ca se a estrutura gramatical do programa está correta; É um sistema que aceita como entrada um programa escrito em uma linguagem de programação e produz como resultado um programa equivalente em outra linguagem; Lê caractere por caractere do texto encontrando sequências que constituem tokens; Respondido em 14/04/2023 09:09:45 Explicação: A resposta correta é: Lê caractere por caractere do texto encontrando sequências que constituem tokens; Acerto: 1,0 / 1,0 O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : Compilador Montador Carregador Ligador Interpretador Respondido em 14/04/2023 09:10:07 Explicação: A resposta correta é: Montador. Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 14/04/2023, 09:14 Estácio: Alunos https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=306149118&cod_prova=61790028… 2/5 Acerto: 1,0 / 1,0 (INSTITUTO AOCP/2019) A estrutura típica de um compilador possui 3 elementos. Assinale a alternativa que apresenta corretamente esses elementos. Front end, analisador, back end. Front end, interpretador, back end. Front end, otimizador, back end. Front end, compilador, base de dados. Front end, interpretador, base de dados. Respondido em 14/04/2023 09:10:48 Explicação: A Compilação abrange duas grandes etapas: A Análise (front-end) e a Síntese (back-end). A etapa de Análise implica em três passos internos: Análise Léxica, Análise Sintática e Análise Semântica. Já a etapa de Síntese é composta pela Geração de Código Intermediário, Otimização e Geração de Código de Montagem. Acerto: 1,0 / 1,0 (CESPE/CEBRASPE/2022 - Adaptada) Autômatos são estruturas matemáticas que representam uma máquina de estados �nitos. Eles são usados para modelar processos computacionais, como a validação de entradas de linguagens formais (por exemplo, veri�car se uma string é uma sentença válida em uma dada linguagem), e para implementar algoritmos em processamento de linguagem natural e inteligência arti�cial. Nesse sentido, o autômato �nito determinístico. corresponde à função de transição que recebe um estado ou um símbolo de entrada que sempre retorna um conjunto de estados como resultado. tem a capacidade de adivinhar algo sobre sua entrada ao testar valores. permite zero, uma ou n transições para os estados de entrada. consegue estar em vários estados ao mesmo tempo. pode, para cada entrada, transitar a partir do seu estado atual em um e somente um estado. Respondido em 14/04/2023 09:11:16 Explicação: Um Autômato Finito Determinístico é um autômato no qual para cada estado e para cada entrada só há zero ou uma transição possível. Existem vários tipos de autômatos, como autômatos �nitos determinísticos (DFA), autômatos �nitos não-determinísticos (NFA), autômatos de Pilha, autômatos de Estados Múltiplos (Mealy) e autômatos de Estados Moore. Cada tipo de autômato é adequado para uma tarefa especí�ca e é projetado para atender a determinadas restrições computacionais e de tempo de execução. Acerto: 1,0 / 1,0 (CESGRANRIO/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: Questão3 a Questão4 a Questão5 a 14/04/2023, 09:14 Estácio: Alunos https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=306149118&cod_prova=61790028… 3/5 gramática livre de contexto árvore sintática árvore AVL �uxo (stream) de tokens gramática dirigida a sintaxe Respondido em 14/04/2023 09:11:38 Explicação: A Árvore Sintática é útil na análise sintática, pois permite veri�car a correta ordenação dos tokens e a estrutura da sentença de forma visual e fácil de entender. Além disso, a Árvore Sintática pode ser usada como base para a geração de código em outras etapas do processo de compilação. Acerto: 1,0 / 1,0 (FCM/2018 - Adaptada) A Hierarquia de Chomsky é uma classi�cação das gramáticas formais, proposta pelo linguista Noam Chomsky, que divide as gramáticas em 4 classes. Nesse sentido, Linguagens livres de contexto são exatamente as linguagens que podem ser reconhecidas por: autômatos �nitos não determinísticos. máquinas de Turing. expressões regulares. autômatos �nitos determinísticos. autômatos com pilha. Respondido em 14/04/2023 09:11:47 Explicação: Autômatos com pilha (Pushdown Automata) são usados para reconhecer a linguagem livre de contexto, que é uma classe mais ampla de linguagens do que as reconhecidas pelos autômatos �nitos. A pilha permite que o autômato mantenha o contexto e faça escolhas não-determinísticas. Acerto: 1,0 / 1,0 (IBGE/2010) Ao realizar testes durante a elaboração de um compilador, um analista descobriu que havia, no compilador, um erro na checagem de tipos de variáveis em expressões, permitindo, por exemplo, a multiplicação entre tipos de dados que não poderiam ocorrer. Em compiladores, a checagem de tipos de variáveis em expressões é uma função do: otimizador de código. analisador léxico. linker. scanner. analisador semântico. Respondido em 14/04/2023 09:12:24 Explicação: A análise semântica é responsável por veri�car a validade da semântica do programa, incluindo a checagem de tipos de variáveis em expressões. Ela tem como objetivo identi�car erros de semântica, tais como operações inválidas com Questão6 a Questão7 a 14/04/2023, 09:14 Estácio: Alunos https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=306149118&cod_prova=61790028… 4/5 tipos de variáveis diferentes, declarações duplicadas de variáveis, etc. Por isso, é o analisador semântico que está responsável por detectar o erro mencionado na questão. Acerto: 1,0 / 1,0 (PC-DF/2012) Com relação aos softwares básicos envolvidos no processo de transformação de um programa escrito em linguagem de alto nível para um código executável ou interpretado, assinale a alternativa correta. Os link-editores são usados para resolver as referências aos símbolos internos de um programa, produzindo um código-objeto simpli�cado. Compilação e montagem são processos semelhantes; contudo, o processo de montagem é bem mais complexo. No processo de análise semântica da compilação, é veri�cada a consistência dos tipos de variáveis envolvidas em operações aritméticas. No processo de compilação, o analisador léxico e o sintático estão preocupados com a semântica e os signi�cados dos programas como um todo. Os montadores buscam referências externas em rotinas de bibliotecas e inserem-nas no código-objeto. Respondido em 14/04/2023 09:12:50 Explicação: A análise semântica é uma das etapas do processo de compilação. Ela tem como objetivo veri�car a correção semântica do código-fonte, incluindo a consistência dos tipos de variáveis envolvidos em operações aritméticas. Esse processo veri�ca se o código está sendo usado corretamente de acordo com as regras da linguagem. Acerto: 1,0 / 1,0 Procedimentos são rotinas que complementam as funcionalidades de um programa. Quando um procedimento é chamado um Registro de Ativação é criado e colocado na pilha. Neste registro são armazenadas a variáveis locais, o contexto e os parametrosdo procedimento. Com base nisso considere a seguinte expressão onde p1 e p2 são funções x = p1 (a,p2(b)); Sabendo-se que o código abaixo mostra a implementação do trecho em código intermediário em que ?1, ?2, ?3 e ?4 representam partes faltantes do código . param a param b _t1 := call ?1, ?2 param _t1 x := call ?3, ?4 Quais seriam os valores de ?1, ?2, ?3 e ?4 respectivamente? p2 - 2 - p1 - 1 p2 - 1 - p1 - 2 Questão8 a Questão9 a 14/04/2023, 09:14 Estácio: Alunos https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=306149118&cod_prova=61790028… 5/5 p2 - 2 - p1 - 2 p1 - 1 - p2 - 2 p1 - 2 - p2 - 1 Respondido em 14/04/2023 09:13:20 Explicação: Resposta correta: p2 - 1 - p1 - 2 Acerto: 1,0 / 1,0 Existem varios tipos de representações intermediárias tanto gra�cas como textuais. Durante a fase de síntese a Geração de Código Intermediário irá transformar o resultado da fase de análise em uma outra representação. Uma das formas de representação intermediária é a notação pos�xa. Considerando a seguinte expressão em notação in�xa (a+b)*(c+d) qual seria a notação pos�xa correspondente? a b * c d + + a b + c d + * a b * + c d + a b + c d * + a b + * c d + Respondido em 14/04/2023 09:13:54 Explicação: Resposta correta: a b + c d + * Questão10 a
Compartilhar