Prévia do material em texto
Disc.: COMPILADORES Aluno(a): Acertos: 8,0 de 10,0 05/05/2023 1a Questão Acerto: 1,0 / 1,0 O que faz a análise léxica? Tratar erros de tipo no programa fonte; Verifica se a estrutura gramatical do programa está correta; Lê caractere por caractere do texto encontrando sequências que constituem tokens; Verifica se as estruturas do programa irão fazer sentido 4 durante a execução; É 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; Respondido em 05/05/2023 14:40:48 Explicação: A resposta correta é: Lê caractere por caractere do texto encontrando sequências que constituem tokens; 2a Questão Acerto: 1,0 / 1,0 O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : Montador Compilador Carregador Ligador Interpretador Respondido em 05/05/2023 14:40:27 Explicação: A resposta correta é: Montador. 3a Questão Acerto: 0,0 / 1,0 Os Autômatos Finitos podem ter suas regras definidas a partir de expressões regulares. Qual das seguintes alternativas descreve o propósito de uma expressão regular? para definir regras de roteamento. para formatar números. para definir a estrutura de um documento HTML. para definir a lógica de uma função. para fazer buscas em texto. Respondido em 05/05/2023 15:17:27 Explicação: Uma Expressão Regular provê uma forma flexível e concisa de definir cadeias de caracteres de interesse, por exemplo, os tokens de uma linguagem de programação. 4a Questão Acerto: 1,0 / 1,0 Expressões regulares são utilizadas para especificar padrões de texto, e esses padrões podem ser usados para procurar e extrair informações de um texto. Qual das seguintes alternativas descreve o significado da expressão regular "[0-9]"? Corresponder a qualquer letra maiúscula. Corresponder a qualquer letra minúscula. Corresponder a qualquer símbolo. Corresponder a qualquer número de 0 a 9. Corresponder a qualquer número fracionário. Respondido em 05/05/2023 15:28:48 Explicação: A expressão regular "[0-9]" especifica um conjunto de caracteres, no caso, todos os números de 0 a 9. 5a Questão Acerto: 1,0 / 1,0 ANO: 2010 BANCA: CESPE ÓRGÃO: INMETRO PROVA: PESQUISADOR - CIÊNCIAS DA COMPUTAÇÃO Considere que, em uma linguagem de programação hipotética, um comando condicional IF exija o uso de THEN, representando a cláusula então. Nesse caso, se a instrução THEN não for usada no código fonte, uma resposta do compilador na identificação do erro de programação estará nos níveis sintático e semântico, ao mesmo tempo no nível sintático no nível semântico no nível léxico no nível lógico Respondido em 05/05/2023 14:51:12 Explicação: Resposta correta: no nível sintático 6a Questão Acerto: 0,0 / 1,0 Uma gramática é uma descrição formal de uma linguagem, composta por regras que determinam como as sentenças são formadas na linguagem. O que são símbolos terminais em uma gramática formal? Símbolos que representam conjuntos de regras da gramática. Símbolos que representam operações matemáticas ou lógicas. Símbolos que representam unidades sintáticas indivisíveis da linguagem descrita pela gramática. Símbolos que representam estruturas de dados como listas, árvores ou grafos. Símbolos que representam estruturas sintáticas compostas, formadas por outros símbolos. Respondido em 05/05/2023 15:31:16 Explicação: Em uma gramática formal, símbolos terminais são os símbolos que representam as unidades sintáticas indivisíveis da linguagem descrita pela gramática. Esses símbolos não podem ser derivados a partir de outros símbolos e são usados para formar as sentenças válidas da linguagem. Por exemplo, em uma gramática para a linguagem portuguesa, os símbolos terminais poderiam ser as palavras da linguagem, como "gato", "cachorro", "corre". 7a Questão Acerto: 1,0 / 1,0 As árvores de sintaxe são a forma mais comum de representação intermediária gráfica. Dentre estas árvores temos as de Derivação, Sintática e Derivação Anotada. Com relação a estas árvores avalie as afirmativas abaixo: I. Decorar uma árvore é o ato de, durante a fase de parser, realizar a associação dos símbolos aos seus atributos na árvore de derivação. 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 afirmar que está correto o que se afirma apenas em: I e III II e III III II I e II Respondido em 05/05/2023 14:45:12 Explicação: Resposta correta: I e II. A ideia básica é eliminar todos os nós com símbolos não terminais, mantendo apenas os nós com símbolos terminais. Na árvore de Derivação, cada nó é rotulado por um símbolo da gramática, sendo que os símbolos terminais aparecem nas folhas e os não terminais, nas raízes das subárvores. 8a Questão Acerto: 1,0 / 1,0 Apesar de ser considerada o terceiro passo da etapa de análise, a Análise Semântica é normalmente realizada de forma concomitante com a Análise Sintática, sendo que o parser vai executar as ações semânticas estabelecidas para as produções da gramática. A respeito da situação descrita podemos afirmar que: I. Quando um esquema de tradução não produz efeitos colaterais ele é chamado de Gramática de Atributos. II. O Esquema de Tradução corresponde a uma restrição aplicada a Gramática Livre de Contexto (GLC) que define a linguagem de programação. III. A Tradução Dirigida por Sintaxe é a técnica que permite realizar a Análise Semântica de forma concomitante com a análise sintática. É correto o que se afirma apenas em: I I e III III I e II II e III Respondido em 05/05/2023 14:45:30 Explicação: Resposta correta: II e III 9a Questão Acerto: 1,0 / 1,0 Um programa pode ter parte de sua funcionalidade implementada por um procedimento. Procedimentos são normalmente compilados a parte e depois ligados ao código principal. Quando um procedimento é chamado é criado para ele um Registro de Ativação que possui informações de contexto, suas variáveis locais, parâmetros etc. Com base nisso se um procedimento G chama um procedimento D que chama um procedimento E podemos afirmar que O registro de ativação de E estará no topo da pilha Porque Os registros de ativação dos diversos procedimento são empilhados na ordem inversa do retorno Com base nas afirmativas acima podemos concluir que: A primeira é verdadeira e a segunda falsa As duas afirmativas são falsas A primeira é falsa e a segunda correta As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira Respondido em 05/05/2023 14:54:10 Explicação: Resposta correta: A primeira é verdadeira e a segunda falsa 10a Questão Acerto: 1,0 / 1,0 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: 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 afirmar 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 afirmativas acima podemos concluir que: As duas afirmativas são falsas As duas são corretas e a segunda justifica a primeiraA 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 Respondido em 05/05/2023 14:55:23 Explicação: Respsota correta: A primeira é verdadeira e a segunda falsa