Baixe o app para aproveitar ainda mais
Prévia do material em texto
5. Considere a seguinte especificação de tokens com sua descrição informal: SE fosse submetida ao Analisador a seguinte expressão: Soma = 0; Soma = A + B; O sétimo token reconhecido e seu lexema seriam respectivamente: TermCom e ; Id e Soma Errado OpArit e + NumInt e 0 Errado Id e A Data Resp.: 26/08/2022 14:34:12 Explicação: A resposta correta é: Id e A 6. Durante o processo de Análise o scanner lê os caracteres um por um e tenta associa-los ao padrão correspondente a algum token. Neste processo ele eventualmente pode encontrar algum padrão que não corresponda ao tokens. Nesse caso, ele deve: Tentar corrigir o erro reescrevendo a parte onde foi encontrado. Abortar a análise e reportar imediamente o erro. Passar o erro para o analisador sintático para que este o trate. Errado Ignorar totalmente o erro e prosseguir a análise como se nada tivesse acontecido. Errado Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. Data Resp.: 26/08/2022 14:34:15 Explicação: A resposta correta é: Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. ANÁLISE SINTÁTICA 7. Enade 2011 Considere a gramática a seguir, em que S, A e B são símbolos não terminais, 0 e 1 são terminais e Ɛ é a cadeia vazia. A respeito dessa gramática, analise as afirmações a seguir. I. Nas cadeias geradas por essa gramática, o último símbolo é 1. II. O número de zeros consecutivos nas cadeias geradas pela gramática é, no máximo, dois. III. O número de uns em cada cadeia gerada pela gramática é maior que o número de zeros. IV. Nas cadeias geradas por essa gramática, todos os uns estão à esquerda de todos os zeros. É correto apenas o que se afirma em Errado III e IV I I e III Errado II II e IV Data Resp.: 26/08/2022 14:34:18 Explicação: Resposta correta: II 8. Ao realizarmos a análise sintática, podem ser detectados erros que não foram vistos durante a análise léxica. Considerando a seguinte gramática L: [A-Z] D: [0-9] Op:["+""-"] At:["="] Id:{L} ({L}|{D})* Int:{D}+ Oper:{Op} Atrib:{At} Fc : ; ::= Id Atrib ; ::= | Id | Int; ::= Oper; Qual das opções abaixo possui apenas erro sintático. Errado d - 10 A = b + C; 10 * 5; Errado A := 7; A = C Data Resp.: 26/08/2022 14:34:22 Explicação: Resposta correta: A := 7; GERAÇÃO DE CÓDIGO 9. 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: Errado A primeira é verdadeira e a segunda falsa As duas são corretas e a segunda justifica a primeira As duas afirmativas são falsas A primeira é falsa e a segunda correta Errado As duas são corretas e a segunda não justifica a primeira Data Resp.: 26/08/2022 14:34:24 Explicação: Resposta correta: A primeira é verdadeira e a segunda falsa 10. 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: Errado As duas são corretas e a segunda justifica a primeira 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 Errado A primeira é verdadeira e a segunda falsa
Compartilhar