Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "NİŞANTAŞI ÜNİVERSİTESİ"— Sunum transkripti:

1 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

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

3 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İ ©

4 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İ ©

5 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İ ©

6 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İ ©

7 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İ ©

8 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İ ©

9 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İ ©

10 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İ ©


"NİŞANTAŞI ÜNİVERSİTESİ" indir ppt

Benzer bir sunumlar


Google Reklamları