"Ako gramatika proizvodi najmanje 2 različita stabla raščlanjivanja ili derivacije, onda je gramatika dvosmislena." Drugo pravilo: svi CFG (bez beskorisnih simbola) s lijevom i desnom rekurzivnošću za isti neterminal također su dvosmisleni.
Kako znati je li gramatika dvosmislena?
Za gramatiku se kaže da je dvosmislena ako postoji više od jedne krajnje lijeve derivacije ili više od jedne krajnje desne derivacije ili više od jednog stabla raščlanjivanja za dani ulazni niz. Ako gramatika nije dvosmislena, onda se naziva nedvosmislenom. Ako gramatika ima dvosmislenost, onda nije dobra za konstrukciju prevoditelja.
Što je dvosmislena gramatika, navedite primjer?
U informatici, višeznačna gramatika je gramatika bez konteksta za koju postoji niz koji može imati više od jedne krajnje lijeve derivacije ili stabla raščlanjivanja, dok je jednoznačna gramatika je gramatika bez konteksta za koju svaki valjani niz ima jedinstvenu krajnju lijevu derivaciju ili stablo raščlanjivanja.
Kako dokazati da je gramatika bez konteksta dvosmislena?
3 odgovora
- Svi CFG bez beskorisnih simbola i s lijevom i desnom rekurzijom za isti simbol je dvosmislen. Općenito: …
- Da biste ispitali dvosmislenost, morate pronaći 2 krajnje lijeve derivacije za isti niz (ili 2 krajnje desne derivacije ili 2 stabla derivacije).
Kako riješiti dvosmislenu gramatiku?
Metode za uklanjanje dvosmislenosti-
- Popravljanjem gramatike.
- Dodavanjem pravila grupiranja.
- Upotrebom semantike i odabirom analize koja ima najviše smisla.
- Dodavanjem pravila prvenstva ili drugih kontekstno osjetljivih pravila raščlanjivanja.