Buscar

Na fase de análise sintática preditiva, uma abordagem para evitar o backtracking (retrocesso) de símbolos e regras é o uso de uma tabela preditiva ...

Na fase de análise sintática preditiva, uma abordagem para evitar o backtracking (retrocesso) de símbolos e regras é o uso de uma tabela preditiva LL(k) para identificar os símbolos terminais que iniciam cada regra de produção. É extremamente importante prever o próximo símbolo lido da entrada para otimizar a execução da gramática. Seja a seguinte gramática livre de contexto a seguir, onde ε representa o string vazio e $ representa um marcador de fim de entrada. Dada a seguinte gramática, onde ε representa a sentença vazia: S → AB | CD A → a | ε B → b | f C → c | g D → h | i Qual o conjunto de terminais que podem começar sentenças derivadas de S ?

a. {a, b, f, c, g}
b. {a, b, f}
c. {a, c, g}
d. {a, b, f, c, g, h, i}
e. {a, c, g, h, i}

Essa pergunta também está no material:

Questionário - Unidade 1
11 pág.

Compiladores Centro Universitário UniftecCentro Universitário Uniftec

💡 1 Resposta

User badge image

Ed Verified user icon

Para a gramática fornecida, o conjunto de terminais que podem começar sentenças derivadas de S é representado pela união dos primeiros conjuntos de todas as produções de S. Analisando as produções, temos: Primeiros(A) = {a, ε} Primeiros(C) = {c, g} Primeiros(B) = {b, f} Primeiros(D) = {h, i} Portanto, o conjunto de terminais que podem começar sentenças derivadas de S é a união desses conjuntos, que resulta em {a, b, f, c, g, h, i}. Assim, a alternativa correta é: d. {a, b, f, c, g, h, i}

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais