[anterior] [seguinte]


Pergunta

Considere a gramática seguinte:
    S → if b then S else S
    S → if b then S
    S → a
a) mostre que a gramática é ambígua (por exemplo, encontre uma frase que tenha 2 árvores sintácticas);
b) rescreva a gramática de forma a torná-la não ambígua (das diversas soluções possíveis escolha apenas uma).


Resposta

a) a frase "if b then if b then a else a" podes ser construída de 2 modos diferentes, num o else pertence ao 1º if, no outro o else pertence ao último:

  

b) Para retirarmos a ambiguidade da gramática, temos várias alternativas das quais apresento 2:


[anterior] [seguinte]

Ultima alteração: terça-feira, 24 de Abril de 2007 às 23:35