Questão de Tecnologia da Informação

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 G=({X,Y,Z},{a,b,c,d,e},P,X), em que P é composto pelas seguintes regras de produção: X o aZbXY \, | \, c Y o dX | Z o e Considere, ainda, a seguinte tabela LL(1), construída a partir da gramática G, sendo ext{ extdollar} o símbolo que representa o fim da cadeia. Essa tabela possui duas produções distintas na célula (Y, d), gerando, no analisador sintático, uma dúvida na escolha da regra de produção aplicada em determinados momentos de análise.

Considerando que o processo de construção dessa tabela LL(1), a partir da gramática G, foi seguido corretamente, a existência de duas regras de produção distintas na célula (Y,d), neste caso específico, resulta:

A
da ausência do símbolo de fim de cadeia ( ext{ extdollar}) nas regras de produção.
B
de um não determinismo causado por uma ambiguidade na gramática.
C
do uso incorreto do símbolo de cadeia vazia ( ext{ε}) nas regras de produção.
D
da presença de duas regras de produção com um único terminal no corpo.
E
da presença de duas regras de produção com o mesmo não terminal na cabeça.

Comentários

U

Ainda não há comentários para esta questão.

Seja o primeiro a comentar!