Logo Passei Direto
Buscar

Algoritmos

ESTÁCIO
Prova AVS Compiladores 3 Marcar para revisao Enade 2017 Em um compilador, um analisador sintático descendente preditivo pode ser implementado com o auxílio de uma tabela construída a partir de uma gramática livre de contexto. Essa tabela, chamada tabela LL(k), indica a regra de produção a ser aplicada olhando-se o k-ésimo próximo símbolo lido, chamado lookahead(k). Por motivo de eficiência, normalmente busca-se utilizar k=1. Considere a gramática livre de contexto em que PP é composto pelas seguintes regras de produção: X-aZbXY|c Y-dX| Considere, ainda, a seguinte tabela LL(1), construída a partir da gramática GG, sendo $$ o símbolo que representa o fim da cadeia. Essa tabela possui duas produções distintas na célula (Y,d)(Y,d), gerando, no analisador sintático, uma dúvida na escolha da regra de produção aplicada em determinados momentos da análise. a b C d e $ X X aZbXY X C Y 1 dX Y - E Y E Feedback
User badge image
ISAQUE Marques

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

Para resolver essa questão, precisamos analisar a situação apresentada sobre o analisador sintático descendente preditivo e a tabela LL(1) mencionada. A tabela LL(1) é utilizada para determinar qual regra de produção aplicar com base no símbolo atual e no lookahead (k=1). No entanto, se há duas produções distintas na mesma célula da tabela, isso indica que a gramática não é LL(1) e, portanto, não pode ser analisada de forma preditiva sem ambiguidade. Dado que a questão menciona que a tabela possui duas produções distintas na célula (Y, d), isso gera uma ambiguidade na escolha da regra de produção. Isso significa que o analisador não saberá qual regra aplicar quando encontrar o símbolo 'd' após o não-terminal 'Y'. Portanto, a resposta correta para a situação apresentada é que a gramática não é LL(1) devido à ambiguidade na tabela. Se a pergunta fosse sobre qual é a implicação dessa ambiguidade, a resposta seria que o analisador sintático não pode decidir de forma determinística qual produção usar. Se precisar de mais detalhes ou de uma explicação sobre outro aspecto, é só avisar!

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina