Bağlama Duyarlı Diller

Slides:



Advertisements
Benzer bir sunumlar
KÜMELER BİRLEŞİM KESİŞİM FARK.
Advertisements

ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
BU KONUDA ÖĞRENECEKLERİMİZ
BAS-BIRAK OTOMATLARI (YIĞITLI ÖZDEVİNİRLER)
SONLU DURUM OTOMATLARI
SONLU DURUM OTOMATLARI
TURING MAKİNELERİ Yılmaz Kılıçaslan.
ÖĞRENCİNİN; ADI: SOYADI: ÖĞETMENİN;
ve Denklik İlişkileri Kümelerde Eşitlik HAZIRLAYANLAR:
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
SONLU DURUM OTOMATLARI
OTOMATA TEORİSİ SELÇUK KILINÇ
Sonlu Durum Makinesi M=(S, I, O, f, g, s0) S:durumlar kümesi
KÜMELER.
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
SONLU OTOMATLARIN PROGRAMLANMASI
Derleyici Teorisine Giriş
PROLOG PROGRAMLAMA DİLİNDE
DOĞAL SAYILAR VE TAM SAYILAR
KÜMELER İLERİ.
Ö.T.M.G Öğr. Gör. Özgür ŞİMŞEK Ozan Yusuf YILMAZ /B
DÜZENLİ İFADELER Regular Expressions Edip Serdar GÜNER.
DÜZENLİ GRAMERLER Yılmaz Kılıçaslan.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
BAĞLAMDAN BAĞIMSIZ GRAMERLER ÖZYİNELEMELİ GEÇİŞ AĞLARI (Chomsky Hiyerarşisi: Tip 2) Yılmaz Kılıçaslan.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
KÜMELER.
SONLU DURUM OTOMATLARININ PROGRAMLANMASI
KÜMELER GEZEGENİNE HOŞ GELDİNİZ
KÜMELER.
KÜME ÇEŞİTLERİ 2. Sonlu ve Sonsuz Küme 1.Boş Küme 3. Evrensel Küme
BOŞ KÜME DENK KÜME EVRENSEL KÜME EŞİT KÜME İÇİNDEKİLER.
MUSTAFA GÜLTEKİN Matematik A Şubesi.
KÜMELER.
KÜMELER.
DÜZENLİ İFADELER Regular Expressions.
Biçimsel Diller ve Soyut Makineler
KÜMELER KAZANIM:Bu konu 6. sınıf konusu olup bir kümeyi modelleri ile belirler, farklı temsil biçimleri ile gösterir.
KÜMELER.
SAYILAR.
SONLU OTOMATLAR Yılmaz Kılıçaslan.
Sentaks (Sözdizim) ve Semantik (Anlam)
Biçimsel Diller ve Soyut Makineler
Regüler İfadeler ve Regüler Diller
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Kümeler Küme, matematiksel anlamda tanımsız bir kavramdır. Bu kavram "nesneler topluluğu veya yığını" olarak yorumlanabilir. Bu tanımdaki "nesne" soyut.
Formel Diller ve Soyut Makineler
Formel Diller ve Soyut Makineler
Formel Diller ve Soyut Makineler
Turing Machines Turing Makineleri.
Formel Diller ve Soyut Makineler
DİL ÇEVRİMİ Yüksek düzeyli bir dilde yazılmış bir program ancak makine diline çevrilerek bir bilgisayarda çalıştırılabilir.
KÜMELR Kümelerin çeşitleri.
KÜMELER HAZIR MISIN?.
Özel Çakabey Anadolu Lisesi
Sentaks ve semantik tarifi
NİŞANTAŞI ÜNİVERSİTESİ
Ortam Bağımsız Dillerin Özellikleri
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İ
KÜMELER.
Altbasımlı Özdevinirler
Sunum transkripti:

Bağlama Duyarlı Diller Context-Sensitive Languages

Chomsky Hiyerarşisi a* anbn anbncn Tip Dil Makine Karmaşıklık Örnek 3 Düzenli Diller FSA Doğrusal a* 2 Bağlam-Bağımsız Diller PDA Polinomial anbn 1 Bağlama Duyarlı Diller LBA Üstel anbncn Özyinelemeli Sayılabilir Diller Turing Makinesi Karar verilemez Herhangi bir hesaplanabilir fonksiyon

Düzenli Diller Deterministik veya deterministik olmayan sonlu durum otomatlarıyla (FSA) modellenebilirler. Düzenli ifadeler, bu düzeyde yer alırlar. Derleyicilerde, düzenli ifadeler kullanılarak, sözlüksel çözümleme aşamasında tokenlar belirlenir. Eğer A bir düzenli ifade ise, L(A) bu ifade ile tanımlanan dildir.

Bağlam – Bağımsız Diller Sonlu sayıda terminal elemandan oluşan bir alfabe vardır (S). Sonlu sayıda terminal olmayan elemanları içeren bir küme vardır (N). S, N kümesinin elemanı olup, başlangıç sembolüdür. Dilin üretebileceği ifadeleri içeren kurallar kümesi vardır (R). Derleyicilerde, sözdizim çözümlemesi aşamasında bağlam bağımsız diller belirtilirken BNF notasyonu kullanılır. S = {a,b} N = {S} R = {S  aSb, S  }

Bağlama Duyarlı Diller G = (N, Σ, R, S) A bir terminal olmayan sembol olmak üzere (A є N), bağlama duyarlı bir gramere ait üretim kuralları şu şekilde ifade edilir αAβ → αγβ α ve β, terminal veya terminal olmayan dizgiler (string) olmak üzere, α,β є (N U Σ)* γ, terminal veya terminal olmayan sembollerin boş olmayan bir dizgisi olmak üzere, γ є (N U Σ)+ |u|≤|v| olduğu sürece, u → v şeklindeki her üretim kuralı bağlama duyarlı bir gramere dahildir. Bağlama duyarlılık kavramı, α ve β dizgileri A’nın bağlamını oluşturduğundan ve A’nın γ ile değiştirilip değiştirilemeyeceğini belirledikleri için ortaya çıkar. Bağlam-bağımsız gramerlerde, terminal olmayan bir sembolün bağlamı dikkate alınmaz. Deterministik olmayan Turing makineleri olan LBA’lar ile ayrıştırılabilirler.

Bağlama Duyarlı Diller S → ε S → aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC → cc Bu gramer, {anbncn | n ≥ 0} şeklindeki bir dili üretir. Bu dil karmaşıklık açısından bağlam-bağımsız düzeyden yukarıdadır. S → aSBc → aaSBcBc → aaabcBcBc → aaabBcBcc → aaabbBccc → aaabbbccc

Örnek aaabbbccc aaabbbbcc

Örnek (devam) {anbncn | n ≥ 0}

Örnek (devam) aaabbbccc

Anlamsal Çözümleme Programlama dilleri sadece bağlam-bağımsız yapılarla oluşturulamaz. Örneğin; bir değişkenin kullanımdan önce tanımlanmış olması veya ilerideki işlemlerde kullanılırken bu değişkenin tipinin bilinmesi gerekliliği yazılan kodda bağlamı oluşturur. Yazılan kodda belirli bir sözdizim kuralı sağlandığında, bu kuralın yorumlanması ve sonucunda neler yapılacağı da belirtilmelidir. Bu yorumlama işi de belirlenen bir yapının bağlamı içinde ne anlama geldiğinin çözümlenmesine bağlıdır. Derleyicilerde bağlama duyarlı bilgi kullanılarak analiz safhası tamamlanır.

Anlamsal Çözümleme ÜRETİM KURALI ANLAMSAL KURAL E: E ‘+’ E { $$ = $1 + $3; } E: E ‘*’ E { $$ = $1 * $3; } E: ‘(‘ E ‘)’ E { $$ = $2; } E: intcon { $$ = $1.val; }