Belirsiz ve Belirsiz Dilbilgisi Arasındaki Fark

İçindekiler:

Anonim

NS asıl fark belirsiz ve belirsiz olmayan dilbilgisi arasındaki fark, Belirsiz dilbilgisi, en soldan birden fazla türetmeye sahip olabilen bir dizenin bulunduğu bağlamdan bağımsız bir dilbilgisidir; belirsiz olmayan bir dilbilgisi, her geçerli dizenin benzersiz bir en sol türevine sahip olduğu bağlamdan bağımsız bir dilbilgisidir.

Dilbilgisi, doğal dillerdeki sözdizimsel kuralları ifade eder. 1956'da bilgisayar bilimcileri, bilgisayar dili yazmak için matematiksel bir dilbilgisi modeli tanıttılar. Bir dilin tüm dizelerini belirli bir dilbilgisi kullanarak türetmek mümkünse, o dilin o dilbilgisinden oluştuğu söylenir. Bağlamdan bağımsız dilbilgisi, bir tür dilbilgisidir. Bu dilbilgisi, bağlamdan bağımsız bir dil oluşturur. Bağlamdan bağımsız dilbilgisi belirsiz veya açık olabilir. Belirli bir dize için, iki veya daha fazla türetme varsa, bu dilbilgisinin belirsiz olduğu söylenir. Belirli bir dize için, yalnızca benzersiz bir en sol türetme varsa, bu dilbilgisinin belirsiz olmayan dilbilgisi olduğu söylenir.

Belirsiz Dilbilgisi, Belirsiz Dilbilgisi

Belirsiz Dilbilgisi Nedir?

Bir dize için iki veya daha fazla türev varsa, bir dilbilgisinin belirsiz olduğu söylenir.

Şekil 1: Belirsiz Dilbilgisi

Aşağıdaki gibi tanımlanmış bir dilbilgisi olduğunu varsayalım.

G= ({S}, {a+b, +, *}, P, S}. Üretim kuralları aşağıdaki gibidir. S -> S+S | S*S | a | b. a+ a*b dizesini oluşturun.

Düşünün, S -> S+S

En soldaki S yerine 'a' koymak aşağıdakileri verecektir.

S-> bir +S

S için S*S'yi değiştirmek aşağıdaki gibidir.

S-> bir + S*S

En soldaki S yerine 'a' koymak, aşağıdaki çıktıyı verecektir.

S -> bir+ bir*S

S yerine 'b' koymak aşağıdaki çıktıyı verecektir.

S -> a + a * b

Bu, üretilmesi gereken dizedir.

Diğer üretim kuralı kullanıldığında, S -> S* S

S+S'yi sola uygulayın, çoğu S aşağıdakileri verecektir.

S -> S+S * S

Soldaki çoğu S için 'a' yerine,

S -> bir + S*S

En soldaki S yerine 'a' koyarak,

S -> bir + bir * S

S yerine 'b' koymak aşağıdaki çıktıyı verecektir.

S -> a + a*b

Yine, gerekli dizeyi oluşturdu. Bu nedenle, dizeyi oluşturmak için birden fazla türetme vardır. Bu nedenle, belirsiz bir gramerdir.

Belirsiz Dilbilgisi Nedir?

Belirsiz bir dilbilgisinde, belirli bir dizenin benzersiz bir en sol türevi vardır. Aşağıdaki üretim kurallarına bakın.

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

S -> L kuralını göz önünde bulundurun. L yerine LS'yi değiştirin.

S -> LS

İlk L için S yerine.

S -> S S

En soldaki S yerine 'a' koymak aşağıdaki çıktıyı verecektir.

S -> bir S

S yerine 'a' koymak aşağıdakileri verecektir.

S -> bir

Bu nedenle, bir dizenin benzersiz bir en sol türevi vardır. Yani, açık bir gramerdir.

Belirsiz ve Belirsiz Dilbilgisi Arasındaki Fark

Tanım

Belirsiz bir dilbilgisi, en soldan birden fazla türetme veya ayrıştırma ağacına sahip olabilen bir dizenin bulunduğu bağlamdan bağımsız bir dilbilgisidir. Belirsiz dilbilgisi, her geçerli dizenin benzersiz bir en sol türetme veya ayrıştırma ağacına sahip olduğu, bağlamdan bağımsız bir dilbilgisidir.

En Soldaki Türevlerin Sayısı

Belirsiz dilbilgisinde, bir dizenin en soldan iki veya daha fazla türevi olabilir, ancak belirsiz olmayan dilbilgisinde bir dizenin en soldan benzersiz bir türevi vardır.

Çözüm

Bağlamdan bağımsız dilbilgisi belirsiz veya açık olabilir. Belirsiz ve belirsiz dilbilgisi arasındaki fark, belirsiz dilbilgisinin, en soldan birden fazla türetmeye sahip olabilen bir dizenin bulunduğu bağlamdan bağımsız bir dilbilgisi iken, belirsiz bir dilbilgisi, her geçerli dizenin benzersiz bir en sol türevine sahip olduğu bağlamdan bağımsız bir dilbilgisidir..

Referans:

1. "Belirsiz Dilbilgisi." Wikipedia, Wikimedia Foundation, 17 Temmuz 2018, Buradan ulaşılabilir.2. “Derleyici Tasarımı | Belirsiz Dilbilgisi.” GeeksforGeeks, 10 Şubat 2018, Buradan ulaşabilirsiniz.3. “Muğlak Dilbilgisi”, Neso Academy, 29 Mart 2017, Buradan ulaşabilirsiniz.

Görünüm inceliği:

1. “Leftmostderivations jaredwf” İngilizce Wikipedia'da Jaredwf tarafından - Commons Wikimedia aracılığıyla EdwardHades (Public Domain) tarafından en.wikipedia'dan Commons'a aktarılmıştır.

Belirsiz ve Belirsiz Dilbilgisi Arasındaki Fark