Portuguese, Brazilian subtitles

← 03-32 To The Rescue

03-32 O Resgate

Get Embed Code
3 Languages

Subtitles translated from English Showing Revision 2 created 01/25/2013 by Lucilia Figueiredo.

  1. Como o exemplo anterior sugere, podemos usar parênteses para controlar ambiguidade.
  2. Aqui, peguei nossa gramática de expressões anterior e introduzi uma nova regra de reescrita:
  3. exp -> ( exp ).
  4. Isso nos lembra a regra P -> ( P ) da nossa gramática de parênteses balanceados,
  5. e se comporta mais ou menos do mesmo modo.
  6. Com essa nova gramática, essas duas sentenças --
  7. `(1 - 2) + 3' e `1 - (2 + 3)' --
  8. estão ambas na linguagem desta gramática.
  9. Entretanto, embora ambas sejam ok, esta também é.
  10. A gramática não evita a ambigudade,
  11. apenas nos permite ter sentenças mais precisas.
  12. Resolvi apenas parte do problema.
  13. Se pensarmos bem, podemos usar parênteses, mas ainda podemos ter sentenças ambíguas.
  14. Escrevi aqui nossa sentença de antes -- 1 - 2 + 3 --
  15. e desenhei duas diferentes árvores de derivação para ela.
  16. Esta corresponde a `1 - (2 + 3)'.
  17. No topo, estamos substraindo, e depois `2 + 3' estão agrupados.
  18. Esta outra corresponde a `(1 -2) + 3'.
  19. No topo, estamos somando, e o `1 -2' é agrupado.
  20. Formalmente, dizemos que a gramática é ambígua se existe pelo menos um string nela --
  21. `1 - 2 + 3' seria esse string -- que tem mais de uma árvore de derivação.
  22. Desenhei aqui versões bem estilizadas das árvores de derivação.
  23. Se você puder encontrar um string para o qual isso seja verdadeiro,
  24. oficialmente toda a gramática é ambígua.