Com mostrar una gramàtica és ambigua?

Taula de continguts:

Com mostrar una gramàtica és ambigua?
Com mostrar una gramàtica és ambigua?
Anonim

"Si una gramàtica produeix almenys 2 arbres d'anàlisi o derivacions diferents, aleshores la gramàtica és ambigua." Una altra regla: tots els CFG (sense símbols inútils) amb recursivitat esquerra i recursivitat dreta per al mateix no terminal també són ambigus.

Com saps si una gramàtica és ambigua?

Es diu que una gramàtica és ambigua si existeix més d'una derivació a l'esquerra o més d'una derivació a la dreta o més d'un arbre d'anàlisi per a la cadena d'entrada donada. Si la gramàtica no és ambigua, s'anomena inequívoca. Si la gramàtica té ambigüitat, no és bo per a la construcció del compilador.

Què és un exemple de gramàtica ambigua?

En informàtica, una gramàtica ambigua és una gramàtica sense context per a la qual existeix una cadena que pot tenir més d'una derivació a l'esquerra o un arbre d'anàlisi, mentre que una gramàtica sense ambigüitats és una gramàtica sense context per a la qual cada cadena vàlida té una derivació o arbre d'anàlisi únic a l'esquerra.

Com es demostra que una gramàtica sense context és ambigua?

3 respostes

  1. Tots els CFG sense símbols inútils i amb recursivitat esquerra i dreta per al mateix símbol, són ambigus. En general: …
  2. Per investigar l'ambigüitat, heu de trobar 2 derivacions més a l'esquerra per a la mateixa cadena (o 2 derivacions a la dreta o 2 arbres de derivacions).

Com resoleu la gramàtica ambigua?

Mètodes per eliminar l'ambigüitat-

  1. En arreglar la gramàtica.
  2. Afegiu regles d'agrupació.
  3. Usant la semàntica i escollint l'anàlisi que tingui més sentit.
  4. Afegiu les regles de precedència o altres regles d'anàlisi sensibles al context.

Recomanat: