Prévia do material em texto
Os compiladores são responsáveis por abstrair a complexidade da programação e proporcionar uma vida mais tranquila para os desenvolvedores. Sobre a análise léxica e sintática executadas pelos compiladores, assinale a opção correta.
O analisador sintático processa diretamente o programa fonte a procura de erros.
Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática.
Um analisador léxico serve como o passo final de um analisador sintático.
Os analisadores léxico e sintático somente se comunicam via tabela de simbolos.
Um analisador léxico gera a entrada para o analisador sintático.
Respondido em 26/05/2023 15:44:25
Explicação:
O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de suas responsabilidades é gerar a entrada para o analisador sintático.
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 :
Interpretador
Carregador
Montador
Compilador
Ligador
Respondido em 26/05/2023 15:45:51
Explicação:
A resposta correta é: Montador.
3a
Questão
Acerto: 1,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 a estrutura de um documento HTML.
para definir regras de roteamento.
para fazer buscas em texto.
para formatar números.
para definir a lógica de uma função.
Respondido em 26/05/2023 15:48:55
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 símbolo.
Corresponder a qualquer número de 0 a 9.
Corresponder a qualquer letra maiúscula.
Corresponder a qualquer número fracionário.
Corresponder a qualquer letra minúscula.
Respondido em 26/05/2023 15:49:38
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
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.
d - 10
A = C
A = b + C;
10 * 5;
A := 7;
Respondido em 26/05/2023 16:02:43
Explicação:
Resposta correta: A := 7;
6a
Questão
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
II
III e IV
I
I e III
II e IV
Respondido em 26/05/2023 15:52:34
Explicação:
Resposta correta: II
7a
Questão
Acerto: 1,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:
I, II e III
I e II
I, II e IV
I e III
II, III e IV
Respondido em 26/05/2023 15:58:18
Explicação:
Resposta correta: I, II e IV
8a
Questão
Acerto: 1,0 / 1,0
Uma tabela de simbolos pode ser organizada de várias formas diferentes, cada uma com suas vantagens e desvantagens.
Quanto as formas de organização da tabela, avalie as afirmativas abaixo:
I na Lista linear o algoritmo de busca exige O(n) sondagens por pesquisa, na média, onde n é o número de símbolos na tabela.
II Na Busca binária a pesquisa possui uma complexidade de O(n²)
III Na tabela de hash a complexidade de busca tende a ser, na média, O(1)
IV No hashing aberto a complexidade de busca é O(Log2n)
Com base nas afirmativas podemos concluir que estão corretas apenas
II e IV
I e III
I e II
II e III
III e IV
Respondido em 26/05/2023 15:58:57
Explicação:
Resposta correta: I e III
9a
Questão
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 - 2
p1 - 1 - p2 - 2
p2 - 1 - p1 - 2
p1 - 2 - p2 - 1
p2 - 2 - p1 - 1
Respondido em 26/05/2023 16:01:10
Explicação:
Resposta correta: p2 - 1 - p1 - 2
10a
Questão
Acerto: 1,0 / 1,0
Existem varios tipos de representações intermediárias tanto graficas 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 posfixa.
Considerando a seguinte expressão em notação infixa (a+b)*(c+d)
qual seria a notação posfixa correspondente?
a b * + c d +
a b + c d * +
a b + * c d +
a b * c d + +
a b + c d + *
Respondido em 26/05/2023 16:02:01
Explicação:
Resposta correta: a b + c d + *