NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
SONLU DURUM OTOMATLARI
Advertisements

SONLU DURUM OTOMATLARI
YMT 222 SAYISAL ANALİZ (Bölüm 6a)
SONLU DURUM OTOMATLARI
OTOMATA TEORİSİ SELÇUK KILINÇ
Bağlama Duyarlı Diller
DÜZENLİ GRAMERLER Yılmaz Kılıçaslan.
BAĞLAMDAN BAĞIMSIZ GRAMERLER ÖZYİNELEMELİ GEÇİŞ AĞLARI (Chomsky Hiyerarşisi: Tip 2) Yılmaz Kılıçaslan.
=>CÜMLEDE ANLAM<=
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
Lineer Cebir Prof.Dr.Şaban EREN
Diferansiyel Denklemler
Diferansiyel Denklemler
SONLU OTOMATLAR Yılmaz Kılıçaslan.
Sentaks (Sözdizim) ve Semantik (Anlam)
Biçimsel Diller ve Soyut Makineler
Formel Diller ve Soyut Makineler
Bilgisayar Mühendisliği Bölümü
Lineer Vektör Uzayı ‘de iki
Bilgisayar ile Çeviri Sistemleri
Formel Diller ve Soyut Makineler
Turing Machines Turing Makineleri.
Formel Diller ve Soyut Makineler
Sentaks ve Semantiği tanımlama
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
BLGM471 Özdevinirler Kuramı
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
PROJE BAŞLIĞI NECMETTİN ERBAKAN ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ BİÇİMSEL DİLLER VE OTOMATLAR HAFTA 7 NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) 7. HAFTA BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) NİŞANTAŞI ÜNİVERSİTESİ ©

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) Bir (V,T,S,P) gramerinde tüm türetim kuralları (P) , A V, ve x E (V⋃T)* olmak üzere A x şeklinde ise bağlamdan bağımsızdır. Yani bağlamdan bağımsız her gramer kuralının sol tarafında tek bir değişken vardır. Bu koşulu karşılamayan gramer kuralları olabilir. Örneğin 1Z1 101 kuralında Z sadece sağında ve solunda 1 olması durumunda 0 olur. Bu tür gramer yapılarına context-sensitive (bağlama duyarlı) denmektedir. A x1 A x2 şeklindeki türetim kuralları A x3 şeklinde yazılabilir. : A xk A x1 | x2 |…..| xk NİŞANTAŞI ÜNİVERSİTESİ ©

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) Örneğin; E E+E|E*E|(E)| id türetim kuralları ile verilmiş bir G CFG’sinde; E => E*E => (E)*E => (E)*id => (E+E)*id => (E+id)*id => (id+id)*id Türetim α => β {β, α’dan tek bir türetim uygulanarak elde edilmiştir.} ∗ α => β {β, α’dan 0 veya daha fazla kere türetim uygulanarak else edilmiştir. NİŞANTAŞI ÜNİVERSİTESİ ©

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) Sonuç olarak tüm düzgün diller bağlamdan bağımsızdır. Çünkü bağlamdan bağımsız gramerlerde, her kuralın sol tarafında tek bir değişken vardır. Tüm düzgün diller de, her dilbilgisi kuralının sol tarafında tek bir değişken olan gramerler ile oluşturulur. Fakat Palindrome örneğinde olduğu gibi tüm Bağlamdan Bağımsız Gramerler düzgün değildir. Bu nedenle, düzgün diller bağlamdan bağımsız dillerin bir alt kümesidir. NİŞANTAŞI ÜNİVERSİTESİ ©

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) Lineer olmayan CFG’lerde, bir türetim birden fazla değişken ile farklı şekillerde elde edilebilir. Bu gibi durumlarda, hangi değişkeni hangi sırada kullanacağımızı kendimiz seçebiliriz. Örneğin; G=({A,B,S},{a,b},S,P) grameri için türetim kuralları: S AB A aaA A λ B Bb B λ olsun. Bu gramer L(G)={a2nbm: n ≥ 0, m ≥ 0} dilini oluşturur. aab dizgisi için iki türetim şu şekilde olabilir: S=>AB=>aaAB=>aaB=>aaBb=>aab S=>AB=>ABb=>aaABb=>aaAb=>aab Bunlar arasındaki tek fark kuralların farklı sırada uygulanmasıdır. Her ikisi de aynı kuralları kullanarak aynı cümleyi elde etmiştir. Bundan doğacak karışıklığı önlemek için değişkenleri belirli bir sırada yerleştiririz. NİŞANTAŞI ÜNİVERSİTESİ ©

BAGLAMDAN BAGIMSIZ DILBILGISI (CONTEXT-FREE GRAMMARS)(CFG) Tanım: Eğer her adımda en soldaki değişkeni yerleştirerek cümleyi elde ediyorsak buna «soldan türetme» (leftmost derivation ) denir. Her adımda en sağdaki değişken yerleştiriliyorsa «sağdan türetme» (rigthmost derivation) denir. Örnek: S aAB A bBb B A | λ türetim kurallarıyla verilmiş gramer için abbbb dizgisi; Soldan türetme: S=>aAB=>abBbB=>abAbB=>abbBbbB=>abbbbB=>abbbb Sağdan türetme: S=>aAB=>aA=>abBb=>abAb=>abbBbb=>abbbb NİŞANTAŞI ÜNİVERSİTESİ ©

Türetim Ağaçları (Ayrıştırma Ağaçları) Parse Trees (Derivation Trees) Türetim kurallarının kullanılma sırasından bağımsız bir şekilde türetimleri göstermenin diğer bir yolu da türetim ağaçları kullanmaktır. NİŞANTAŞI ÜNİVERSİTESİ ©

Türetim Ağaçları (Ayrıştırma Ağaçları) Parse Trees (Derivation Trees) Tanım: Bağlamdan bağımsız bir G=(V,T,S,P) grameri A E V, a E T, X E V* ve (A,a) çifti P’de en fazla bir kere olmak şartıyla tüm türetim kuralları A aX şeklinde ise basit gramerdir(s-grammar). Örneğin, S aS | bSS | c grameri s-gramerdir. S aS | bSS | aSS | c grameri s-gramer değildir. Çünkü (S, a) çifti iki tane vardır. Eğer G grameri bir s-gramer ise L(G) diline ait herhangi bir w dizgisi |w| adımda çözülebilir. Örneğin, S aS bSS c türetim kuralları ile verilen gramer, s-gramer olduğu için, tüm kurallar A aX şeklindedir. w=abcc dizgisini ele alalım. s-gramerin özelliğine göre (A,a) çifti P’de en fazla bir kere olma şartı ile, abcc dizgisindeki a’nın hangi kural ile türetilmesi gerektiğini biliriz. S aS Benzer şekilde, b ve cc’yi türetmenin sadece tek bir yolu vardır. Bu nedenle w dizgisini |w| adımdan daha fazla adımda elde edemeyiz. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © KAYNAKLAR An Introduction to Formal Languages and Automata, Peter Linz. Introduction to Automata Theory, Languages and Computation, John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. NİŞANTAŞI ÜNİVERSİTESİ ©