Razlika između nejasne i nedvosmislene gramatike - Razlika Između

Razlika između nejasne i nedvosmislene gramatike

glavna razlika Između dvosmislenih i nedvosmislenih gramatika je da dvosmislena gramatika je gramatika bez konteksta za koju postoji niz koji može imati više od jedne krajnje lijeve izvedbe, dok je nedvosmislena gramatika gramatika bez konteksta za koju svaki važeći niz ima jedinstveni krajnji lijevi derivat.

Gramatika se odnosi na sintaktička pravila na prirodnim jezicima. Godine 1956. računalni su znanstvenici uveli matematički model gramatike za pisanje računalnog jezika. Ako je moguće izvući sve nizove jezika pomoću određene gramatike, onda se kaže da se jezik generira iz te gramatike. Gramatika bez konteksta je jedna vrsta gramatike. Ova gramatika generira jezik bez konteksta. Gramatika slobodnog konteksta može biti dvosmislena ili nedvosmislena. Za određeni niz, ako postoje dva ili više izvođenja, rečeno je da je gramatika dvosmislena. Za određeni niz, ako postoji jedina jedinstvena krajnja izvedba, za gramatiku se kaže da je nedvosmislena gramatika.

Pokrivena ključna područja

1. Što je dvosmislena gramatika
- Definicija, primjer
2. Što je jednoznačna gramatika
- Definicija, primjer
3. Razlika između nejasne i nedvosmislene gramatike
- Usporedba ključnih razlika

Ključni uvjeti

Nejasna gramatika, nedvosmislena gramatika


Što je dvosmislena gramatika

Za gramatiku se kaže da je dvosmislena ako postoje dva ili više izvedenica za niz.


Slika 1: Nejasna gramatika

Pretpostavimo da postoji gramatika definirana na sljedeći način.

G = ({S}, {a + b, +, *}, P, S}) Proizvodna pravila su sljedeća: S -> S + S | S * S | a | b. Pretpostavimo da je potrebno generira niz a + a * b.

Razmotrimo, S -> S + S

Zamjenom "a" za lijevu većinu S dat će sljedeće.

S-> a + S

Supstitucija S * S za S je kako slijedi.

S-> a + S * S

Zamjenom "a" za lijevu većinu S dat će se donji izlaz.

S -> a + a * S

Zamjenom "b" za S dat će se sljedeći rezultat.

S -> a + a * b

To je traženi niz koji treba generirati.

Kada se koristi drugo pravilo proizvodnje, ono će dati

S -> S * S

Primijenite S + S na lijevu većinu S će dati sljedeće.

S -> S + S * S

Zamijenite "a" za lijevu većinu S,

S -> a + S * S

Zamjena riječi "a" za lijevu većinu S,

S -> a + a * S

Zamjenom ‘b’ za S dat će se sljedeći rezultat.

S -> a + a * b

Opet je generirala traženi niz. Stoga postoji više od jednog izvoda za generiranje niza. Stoga je to dvosmislena gramatika.

Što je jednoznačna gramatika

U dvosmislenoj gramatici, određeni niz ima jedinstveni krajnji lijevi izvod. Pogledajte sljedeća pravila proizvodnje.

S -> L | a, L -> LS | S

Razmotrite pravilo S -> L. Zamijenite LS umjesto L.

S -> LS

Zamjena S, za prvu L.

S -> S S

Zamjenom "a" za krajnji lijevi S dat će se donji izlaz.

S -> S

Zamjenom „a“ za S dat će sljedeće.

S -> a

Stoga, niz ima jedinstveni krajnji lijevi izvod. Dakle, to je nedvosmislena gramatika.

Razlika između nejasne i nedvosmislene gramatike

definicija

Dvosmislena gramatika je gramatika bez konteksta za koju postoji niz koji može imati više od jedne krajnje lijeve ili stabla raščlanjivanja. Jednoznačna gramatika je gramatika slobodnog konteksta za koju svaki važeći niz ima jedinstveni krajnji lijevi derivat ili stablo raščlanjivanja.

Broj lijevih izvedenica

U dvosmislenoj gramatici, niz može imati dva ili više krajnjih lijevih derivacija, ali, u nedvosmislenoj gramatici, niz ima jedinstveni krajnji lijevi izvod.

Zaključak

Gramatika bez konteksta može biti nejasna ili nedvosmislena. Razlika između dvosmislenih i nedvosmislenih gramatika je da je dvosmislen gramatika gramatika bez konteksta za koju postoji niz koji može imati više od jedne krajnje lijeve derivacije, dok je nedvosmislena gramatika slobodna gramatika konteksta za koju svaki važeći niz ima jedinstvenu krajnju derivaciju ,

Referenca:

1. „Dvosmislena gramatika“. Wikipedija, Zaklada Wikimedije, 17. srpnja 2018.