Buscar

Passos da Compilação e Verificações Semânticas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Disc.: COMPILADORES 
Acertos: 8,0 de 10,0 03/09/2022
Acerto: 1,0  / 1,0
Considere os seguintes passos da compilação: 
I. Otimização 
II. Análise Léxica 
III. Geração de Código 
IV. Geração de Código Intermediário 
V. Análise Semântica 
VI. Análise Sintática 
A ordem correta dos passos durante a compilação é: 
III, IV, V, VI, I e II 
III, IV, VI, V, I e II
II, V, VI, IV, I e III 
III, V, VI, IV, I e II
 II, VI, V, IV, I e III 
Respondido em 03/09/2022 14:22:37
Explicação:
A resposta correta é: II, VI, V, IV, I e III.
Acerto: 1,0  / 1,0
Um compilador está verificando 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 verificações são realizadas na fase de:
otimização do código
análise léxica.
geração do código.
 análise semântica.
 Questão1a
 Questão2a
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
análise sintática.
Respondido em 03/09/2022 14:24:48
Explicação:
A resposta correta é: análise semântica.
Acerto: 1,0  / 1,0
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: 
OpArit e + 
NumInt e 0 
 Id e A 
TermCom e ; 
Id e Soma 
Respondido em 03/09/2022 14:26:01
Explicação:
A resposta correta é: Id e A 
Acerto: 1,0  / 1,0
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: 
Passar o erro para o analisador sintático para que este o trate.
Tentar corrigir o erro reescrevendo a parte onde foi encontrado. 
Ignorar totalmente o erro e prosseguir a análise como se nada tivesse acontecido.
 Questão3a
 Questão4a
 Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior.
Abortar a análise e reportar imediamente o erro.
Respondido em 03/09/2022 14:27:12
Explicação:
A resposta correta é: Continuar a análise após realizar a recuperação do erro e anotá-lo
para informação posterior.
Acerto: 1,0  / 1,0
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
I
 II
II e IV
I e III
III e IV
Respondido em 03/09/2022 14:29:00
Explicação:
Resposta correta: II
Acerto: 1,0  / 1,0
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}+
 Questão5a
 Questão6a
Oper:{Op}
Atrib:{At}
Fc : ;
::=  Id Atrib ;
::= | Id | Int;
::= Oper;
Qual das opções abaixo possui apenas erro sintático.
10 * 5;
 A := 7;
A = b + C;
d - 10
A = C
Respondido em 03/09/2022 14:30:13
Explicação:
Resposta correta: A := 7;
Acerto: 0,0  / 1,0
Por melhor que seja a fórmula de hashing adotada na implementação de uma tabela de símbolos usando uma tabela hash, as
colisões sempre irão ocorrer. 
Quando estas ocorrem se torna necessário fazer o seu tratamento. 
Este tratamento pode ser realizado de várias formas e uma preocupação constante deve ser o de minimizar o tempo de
resposta e poupar o espaço de armazenamento. 
Quanto a estes aspectos analise as afirmativas abaixo: 
I. no hash aberto os símbolos que colidem são encadeados em uma lista apontada pelo slot que a fórmula calculou 
II. no endereçamento aberto é realizado um rehashing para determinar o novo slot para o símbolo que causou a
colisão 
III. o hash de balde utiliza duas fórmulas de hashing para tratar a colisão 
IV. Para minimizar o espaço de armazenamento pode ser utilizada uma pilha para armazenar os símbolos que
colidiram no hash aberto 
É correto o que se afirma apenas em:
 II, III e IV
 I, II e IV
I e III
I e II
I, II e III
Respondido em 03/09/2022 14:32:13
Explicação:
Resposta correta: I, II e IV
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
 Questão7a
 Questão8a
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
 II e III
III
I e II
I e III
Respondido em 03/09/2022 14:34:42
Explicação:
Resposta correta: II e III
Acerto: 0,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:
As duas são corretas e a segunda não justifica a primeira
 A primeira é verdadeira e a segunda falsa
 As duas são corretas e a segunda justifica a primeira
A primeira é falsa e a segunda correta
As duas afirmativas são falsas
Respondido em 03/09/2022 14:35:22
Explicação:
Resposta correta: A primeira é verdadeira e a segunda falsa
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:
 Questão9a
 Questão10a
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:
 
 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
As duas são corretas e a segunda não justifica a primeira
Respondido em 03/09/2022 14:35:58
Explicação:
Respsota correta: A primeira é verdadeira e a segunda falsa
javascript:abre_colabore('38403','292242094','5611103151');

Outros materiais